Вход Регистрация
Файл: sngine-v2.8/Script/includes/libs/Smarty/sysplugins/smarty_internal_templateparser.php
Строк: 1885
<?php

class TP_yyStackEntry
{
    public 
$stateno;       /* The state-number */
    
public $major;         /* The major token value.  This is the code
                     ** number for the token at this stack level */
    
public $minor/* The user-supplied minor token value.  This
                     ** is the value of the token  */
}

// line 11 "../smarty/lexer/smarty_internal_templateparser.y"

/**
 * Smarty Template Parser Class
 *
 * This is the template parser.
 * It is generated from the smarty_internal_templateparser.y file
 *
 * @author Uwe Tews <uwe.tews@googlemail.com>
 */
class Smarty_Internal_Templateparser
{
    
// line 23 "../smarty/lexer/smarty_internal_templateparser.y"
    
const ERR1                      'Security error: Call to private object member not allowed';
    const 
ERR2                      'Security error: Call to dynamic object member not allowed';
    const 
ERR3                      'PHP in template not allowed. Use SmartyBC to enable it';
    const 
TP_VERT                   1;
    const 
TP_COLON                  2;
    const 
TP_PHP                    3;
    const 
TP_TEXT                   4;
    const 
TP_STRIPON                5;
    const 
TP_STRIPOFF               6;
    const 
TP_LITERALSTART           7;
    const 
TP_LITERALEND             8;
    const 
TP_LITERAL                9;
    const 
TP_SIMPELOUTPUT           10;
    const 
TP_SIMPLETAG              11;
    const 
TP_SMARTYBLOCKCHILDPARENT 12;
    const 
TP_LDEL                   13;
    const 
TP_RDEL                   14;
    const 
TP_DOLLARID               15;
    const 
TP_EQUAL                  16;
    const 
TP_ID                     17;
    const 
TP_PTR                    18;
    const 
TP_LDELMAKENOCACHE        19;
    const 
TP_LDELIF                 20;
    const 
TP_LDELFOR                21;
    const 
TP_SEMICOLON              22;
    const 
TP_INCDEC                 23;
    const 
TP_TO                     24;
    const 
TP_STEP                   25;
    const 
TP_LDELFOREACH            26;
    const 
TP_SPACE                  27;
    const 
TP_AS                     28;
    const 
TP_APTR                   29;
    const 
TP_LDELSETFILTER          30;
    const 
TP_CLOSETAG               31;
    const 
TP_LDELSLASH              32;
    const 
TP_ATTR                   33;
    const 
TP_INTEGER                34;
    const 
TP_COMMA                  35;
    const 
TP_OPENP                  36;
    const 
TP_CLOSEP                 37;
    const 
TP_MATH                   38;
    const 
TP_UNIMATH                39;
    const 
TP_ISIN                   40;
    const 
TP_QMARK                  41;
    const 
TP_NOT                    42;
    const 
TP_TYPECAST               43;
    const 
TP_HEX                    44;
    const 
TP_DOT                    45;
    const 
TP_INSTANCEOF             46;
    const 
TP_SINGLEQUOTESTRING      47;
    const 
TP_DOUBLECOLON            48;
    const 
TP_NAMESPACE              49;
    const 
TP_AT                     50;
    const 
TP_HATCH                  51;
    const 
TP_OPENB                  52;
    const 
TP_CLOSEB                 53;
    const 
TP_DOLLAR                 54;
    const 
TP_LOGOP                  55;
    const 
TP_SLOGOP                 56;
    const 
TP_TLOGOP                 57;
    const 
TP_SINGLECOND             58;
    const 
TP_ARRAYOPEN              59;
    const 
TP_QUOTE                  60;
    const 
TP_BACKTICK               61;
    const 
YY_NO_ACTION              516;
    const 
YY_ACCEPT_ACTION          515;
    const 
YY_ERROR_ACTION           514;
    const 
YY_SZ_ACTTAB              2071;
    const 
YY_SHIFT_USE_DFLT         = -31;
    const 
YY_SHIFT_MAX              230;
    const 
YY_REDUCE_USE_DFLT        = -91;
    const 
YY_REDUCE_MAX             178;
    const 
YYNOCODE                  110;
    const 
YYSTACKDEPTH              500;
    const 
YYNSTATE                  327;
    const 
YYNRULE                   187;
    const 
YYERRORSYMBOL             62;
    const 
YYERRSYMDT                'yy0';
    const 
YYFALLBACK                0;

    public static 
$yy_action        = array(
        
2512342371144127428184199212,
        
105419175282215109389428428,
        
2243212233032033891338928143,
        
3894284140266225389213389194,
        
389524308301383342092223,
        
501532512342371199131383198,
        
305212105438316199428109385,
        
132182243212232222211232428,
        
116433852624140266225385233,
        
951941652413130125218265,
        
164350324251234237123130,
        
229198150212105432611170284,
        
1094222239224321223193221261,
        
1352157433012864140266225,
        
205233519496524263301301,
        
99349963501992512342371,
        
2381302411813492121054382240,
        
34936109185104256224321223132,
        
19138213499143123824140,
        
266225257233152194457524457,
        
301301228457282350285251234,
        
23713011314411982382121054,
        
34944132517510930349273224321,
        
22320221295322114573916649,
        
41402662258723320519427952,
        
42430120420028099350199,
        
25123423713113096198205212,
        
1054350552932071092839996,
        
2243212231991803501313423043,
        
2223504140266225104233316194,
        
27952424301165284280853,
        
50252512342371131129210198,
        
142121054269270301116109295,
        
216211224321223171221951328,
        
2194332394140266225151233,
        
3241945252430130130282302,
        
17835072512342371136130,
        
304179238212105427917528224,
        
109238429280224321223177221270,
        
1325528143429494140266225,
        
27523331819449524276301163,
        
2619983501192512342371,
        
1193291511072121054226428,
        
206201109148178322224321223441,
        
221428132829434411154140,
        
266225167233227194457524457,
        
30196158457101350271251234,
        
23712821302351861352121054,
        
19937119315109165284176224321,
        
2231042211491328114643281300,
        
4140266225302332891942152,
        
427230121118301161350110,
        
2512342371137128282198268212,
        
10542221695159210917228431,
        
2243212232922123862605343,
        
2321394140266225154233178194,
        
1685242143011459933493,
        
5024520821132028290111311183,
        
987030929723617895319142258,
        
247267249264250195231199246324,
        
317253254259126137133251234237,
        
1326290105143156212105488,
        
848348410932228237224321223,
        
2452082113202819011129818298,
        
5624529821117895103147258197,
        
1027514125019523195246324258,
        
2792428924250195231280246324,
        
29829829829829829829816298192,
        
27729829818294444538298298,
        
2512342372298296298298298212,
        
1054310312313314109162298298,
        
22432122329829829829428229842,
        
222392512342372298296298298,
        
2982121054298159298298109298,
        
298172243212232822984222239,
        
298298245298211278298103111298,
        
183987029829829829895298298,
        
25829829217298250195231279246,
        
32424298395245280211298298103,
        
298298197102751629814029895,
        
29818258298298298298250195231,
        
298246324298298298298428298395,
        
395395202277298245298211298428,
        
10329829819712069395395395395,
        
95298298258298298298160250195,
        
2318624632424516211282298103,
        
196181971206929844453895,
        
298298258298298298178250195231,
        
298246324310312313314298298190,
        
245298211298298103298298197102,
        
7529829829829895298298258298,
        
298298298250195231298246324298,
        
298298245298211298199100298288,
        
1971204729810629829895298353,
        
258155298218298250195231298246,
        
32428216422223929824518211,
        
29842810329829819712069298298,
        
29829895428298258298298298298,
        
250195231298246324245298211298,
        
29810018929819712059245207211,
        
2989510329825819712081298250,
        
19523195246324258298298298298,
        
250195231298246324298245298211,
        
29829810329829819712080298298,
        
29829895298298258298298298298,
        
250195231298246324245298211298,
        
29810329829819712067245298211,
        
2989510329825819712057298250,
        
19523195246324258298298298298,
        
250195231298246324298245298211,
        
29829810329829819712058298298,
        
29829895298298258298298298298,
        
250195231298246324245298211298,
        
29810329829819712082245298211,
        
298951032982581979776298250,
        
19523195246324258298298298298,
        
250195231298246324298245298211,
        
29829810329829819712071298298,
        
29829895298298258298298298298,
        
250195231298246324245298211298,
        
29810329829818712061245298211,
        
2989510329825819712063298250,
        
19523195246324258298298298298,
        
250195231298246324298245298211,
        
2982981032982981979479298298,
        
29829895298298258298298298298,
        
250195231298246324245298211298,
        
29810329829819712059245298211,
        
2989510329825819712077298250,
        
19523195246324258298298298298,
        
250195231298246324298245298211,
        
29829810329829818810864298298,
        
29829895298298258298298298298,
        
250195231298246324245298211298,
        
29810329829819712065245298211,
        
298951032982581979766298250,
        
19523195246324258298298298298,
        
250195231298246324298245298211,
        
29829810329829819712068298298,
        
29829895298298258298298298298,
        
250195231298246324245298211298,
        
29810329829819712062245298211,
        
2989510329825819712060298250,
        
19523195246324258298298298298,
        
250195231298246324298245298211,
        
29829810329829819712074298298,
        
29829895298298258298298298298,
        
250195231298246324245298211298,
        
29810329829819712072245298211,
        
2989510329825819712048298250,
        
19523195246324258298298298298,
        
250195231298246324298245298211,
        
29829810329829819712046298298,
        
29829895298298258298298298298,
        
250195231298246324245298211298,
        
29810329829819712078245298211,
        
2989510329825819712073298250,
        
19523195246324258298298298298,
        
250195231298246324298245298211,
        
298298103298298197125298298298,
        
29829895298298298298298298244,
        
250195231298246324245298211298,
        
298103298298197114298245298211,
        
29895103298298197122298243250,
        
19523195246324298298298298298,
        
250195231298246324298245298211,
        
298298103298298197117298298298,
        
29829895298298298298298298298,
        
250195231298246324245298211298,
        
298103298298197121298245298211,
        
29895103298298197124298298250,
        
19523195246324298298298298298,
        
250195231298246324298245298211,
        
298298103298298197118298298298,
        
29829895298298298298298298298,
        
250195231298246324245298211298,
        
298103298298197123298245298211,
        
29895103298298197113298298250,
        
19523195246324298298298298298,
        
2501952312202463242982729816,
        
2984572982984571829826457441,
        
444538217444538298298298,
        
298298298298298298298310312313,
        
314310312313314298441298298441,
        
298457220441457298298457298298,
        
457457441457298298220457441298,
        
298298298298457298298457298298,
        
5457441298298298298298298441,
        
298298441298457441441298441298,
        
457298441306298298298298298441,
        
298298441298457220441298298298,
        
29829829845729829845729829815,
        
45744135274444538457298298,
        
457298298298457441298298298298,
        
298310312313314298298298441298,
        
2984412984572984412872984445,
        
38298441298298441298457298441,
        
248298298298298310312313314298,
        
444538298298112298444538,
        
298173298298444538310312313,
        
314444538310312313314298298,
        
299310312313314444538310312,
        
313314174298298298138298298298,
        
298298310312313314444538298,
        
298298444538298444538298,
        
444538310312313314307298310,
        
312313314310312313314310312313,
        
314,
    );

    public static 
$yy_lookahead     = array(
        
1011121374153617119,
        
202129103844526144836,
        
30313253342236249839,
        
27484243444533473549,
        
37515253541416164559,
        
6096101112131152717,
        
5319202133271362614,
        
45333031324534523648,
        
72392775424344453347,
        
82492751521554173391,
        
83596095101112131315,
        
151717192021973599100,
        
26868788303132663449,
        
36519639545342434445,
        
72471649185152795454,
        
8214185960110111213,
        
23151517271920211417,
        
33132615481730313245,
        
34273646833952334243,
        
44453447744910515213,
        
54545017845960141011,
        
12135415451723192021,
        
2752100103263533373031,
        
32223467366950398346,
        
42434445354772491051,
        
5213547980178259601,
        
10111213161518177219,
        
2021141071087926718218,
        
3031321342736155039,
        
45334243444548475349,
        
105152135499100173659,
        
60291011121315151717,
        
131920218954722667,
        
75693031327834823624,
        
50391736424344457447,
        
95495151525454358437,
        
103596036101112137415,
        
1081723192021101038413,
        
262336173031327349,
        
36179839484642434445,
        
17475349465152935478,
        
16136596010110111213,
        
35153717481920211836,
        
6566267410310430313245,
        
34483684363952174243,
        
44451547174910515213,
        
54187417825960341011,
        
12138415931715192021,
        
121011012699100173031,
        
32483496369896399871,
        
42434445354737492751,
        
52675469335474596017,
        
10111213961584173419,
        
202145786364269910016,
        
30313216342336171739,
        
235142434445724710349,
        
78515217547482414659,
        
60676869708472735375,
        
767753611510382145185,
        
143717890919219495,
        
345679682101112,
        
13978481967419202178,
        
8282126104842303132,
        
676869709872731097576,
        
7767109691038272968575,
        
76779690919282949585,
        
10149613909192179495,
        
10910910910910910910927109105,
        
106109109334383940109109,
        
101112131091510910910919,
        
2021555657582674109109,
        
30313210910910948410986,
        
87881011121310915109109,
        
1091920211097410910926109,
        
606130313284109868788,
        
1091096710969701097273109,
        
75767710910910910982109109,
        
8510960611099091921094,
        
9513109267176910910972,
        
109109757677271092910982,
        
1093385109109109109909192,
        
10994951091091091093610938,
        
3940105106109671096910948,
        
7210910975767755565758,
        
8210910985109109109749091,
        
927894956727698410972,
        
1023375767710938394082,
        
10910985109109109103909192,
        
109949555565758109109102,
        
6710969109109721091097576,
        
771091091091098210910985109,
        
1091091099091921099495109,
        
1091096710969109172109106,
        
757677109791091098210914,
        
85741091810990919210994,
        
958427868788109673369,
        
1093672109109757677109109,
        
109109824810985109109109109,
        
90919210994956710969109,
        
10972102109757677677969,
        
10982721098575767710990,
        
919282949585109109109109,
        
90919210994951096710969,
        
10910972109109757677109109,
        
1091098210910985109109109109,
        
90919210994956710969109,
        
109721091097576776710969,
        
10982721098575767710990,
        
919282949585109109109109,
        
90919210994951096710969,
        
10910972109109757677109109,
        
1091098210910985109109109109,
        
90919210994956710969109,
        
109721091097576776710969,
        
10982721098575767710990,
        
919282949585109109109109,
        
90919210994951096710969,
        
10910972109109757677109109,
        
1091098210910985109109109109,
        
90919210994956710969109,
        
109721091097576776710969,
        
10982721098575767710990,
        
919282949585109109109109,
        
90919210994951096710969,
        
10910972109109757677109109,
        
1091098210910985109109109109,
        
90919210994956710969109,
        
109721091097576776710969,
        
10982721098575767710990,
        
919282949585109109109109,
        
90919210994951096710969,
        
10910972109109757677109109,
        
1091098210910985109109109109,
        
90919210994956710969109,
        
109721091097576776710969,
        
10982721098575767710990,
        
919282949585109109109109,
        
90919210994951096710969,
        
10910972109109757677109109,
        
1091098210910985109109109109,
        
90919210994956710969109,
        
109721091097576776710969,
        
10982721098575767710990,
        
919282949585109109109109,
        
90919210994951096710969,
        
10910972109109757677109109,
        
1091098210910985109109109109,
        
90919210994956710969109,
        
109721091097576776710969,
        
10982721098575767710990,
        
919282949585109109109109,
        
90919210994951096710969,
        
10910972109109757677109109,
        
1091098210910985109109109109,
        
90919210994956710969109,
        
109721091097576776710969,
        
10982721098575767710990,
        
919282949585109109109109,
        
90919210994951096710969,
        
109109721091097576109109109,
        
1091098210910910910910910989,
        
90919210994956710969109,
        
1097210910975761096710969,
        
109827210910975761098990,
        
9192829495109109109109109,
        
90919210994951096710969,
        
109109721091097576109109109,
        
10910982109109109109109109109,
        
90919210994956710969109,
        
1097210910975761096710969,
        
1098272109109757610910990,
        
9192829495109109109109109,
        
90919210994951096710969,
        
109109721091097576109109109,
        
10910982109109109109109109109,
        
90919210994956710969109,
        
1097210910975761096710969,
        
1098272109109757610910990,
        
9192829495109109109109109,
        
909192294951092510927,
        
109101091091333109161718,
        
38394037383940109109109,
        
109109109109109109109555657,
        
58555657581094510910948,
        
109502521010910913109109,
        
1017181310910921718109,
        
1091091091091010910913109109,
        
16171810910910910910910945,
        
1091094810950455210948109,
        
50109525310910910910910945,
        
1091094810950252109109109,
        
10910910910109109131091092,
        
171823738394010109109,
        
131091091091718109109109109,
        
1095556575810910910945109,
        
109481095010952141093839,
        
4010945109109481095010952,
        
1410910910910955565758109,
        
38394010910922109383940,
        
10914109109383940555657,
        
5838394055565758109109,
        
61555657583839405556,
        
57581410910910928109109109,
        
10910955565758383940109,
        
109109383940109383940109,
        
383940555657585310955,
        
56575855565758555657,
        
58,
    );

    public static 
$yy_shift_ofst    = array(
        -
3140640645845894510949494,
        
510458, -109494354146949494,
        
9414694949494250949494,
        
9494943029494941984242,
        
424242424242177282882880,
        
712925301652726801942192018861776,
        
647194919772008200419631998195620122012,
        
2012201220122012201220122012201220122012,
        
2012201220127686502726527265134,
        
12647959718541542909555258366,
        
24836628244343738384377481,
        
41038461621596596261596596261,
        
596596596596596, -31, -31184017911917,
        
190318341582383944463825147169,
        
1472516925383825253825,
        
3073838255273838253838,
        
383838596624261624327596596,
        
261596261, -31, -31, -31, -31, -31, -31781,
        
331193137, -30186, -17522349469,
        
3223082316346376190358393152,
        
209380385245315523585554576575,
        
537573569529525546500526531325,
        
530487494502470433430408383327,
        
374,
    );

    public static 
$yy_reduce_ofst   = array(
        
471504563717574685919890787758,
        
85582312401199114011001070112911701210,
        
1269128013101339135013801409142014501479,
        
1490105910301000930960989152015491700,
        
1619168916601630159015606336618678,
        
16677325554117426235353535,
        
35353535353535353535,
        
35353535353535353535,
        
353535294, -701961206827419,
        
206331444428257400382257257400,
        
386397257386381388359314257442,
        
482491484257257455386257257438,
        
257257257257257257365509509509,
        
509509524536509509528514539551,
        
538514556514528528514514528514,
        
518528528514532528528514528528,
        
528528528, -90520122520566, -90, -90,
        
122, -90122, -45361551016117,
    );

    public static 
$yyExpectedTokens = array(
        array(),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152535459,
            
60,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
            
101112131517192021263031323436394243444547495152545960,
        ),
        array(
25273338394055565758,),
        array(
273338394055565758,),
        array(
273338394055565758,),
        array(
1517495154,),
        array(
41011121315192021263031326061,),
        array(
1141827333648,),
        array(
15175154,),
        array(
12733,),
        array(
153654,),
        array(
41011121315192021263031326061,),
        array(
1438394055565758,),
        array(
238394055565758,),
        array(
3738394055565758,),
        array(
3738394055565758,),
        array(
1438394055565758,),
        array(
3839405556575861,),
        array(
1438394055565758,),
        array(
1438394055565758,),
        array(
3839405355565758,),
        array(
2238394055565758,),
        array(
2838394055565758,),
        array(
1438394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
38394055565758,),
        array(
101317272933,),
        array(
1013172733,),
        array(
153654,),
        array(
12733,),
        array(
153654,),
        array(
12733,),
        array(
184552,),
        array(
161848,),
        array(
12,),
        array(
345671011121319202126303132,),
        array(
2101316171845485052,),
        array(
1142733,),
        array(
10131750,),
        array(
13151754,),
        array(
1142733,),
        array(
1142733,),
        array(
101317,),
        array(
161848,),
        array(
101317,),
        array(
129,),
        array(
1848,),
        array(
1517,),
        array(
2733,),
        array(
2733,),
        array(
1517,),
        array(
153,),
        array(
2733,),
        array(
118,),
        array(
2733,),
        array(
1554,),
        array(
1,),
        array(
1,),
        array(
1,),
        array(
18,),
        array(
1,),
        array(
1,),
        array(
18,),
        array(
1,),
        array(
1,),
        array(
1,),
        array(
1,),
        array(
1,),
        array(),
        array(),
        array(
2101317184548505253,),
        array(
2101316171845485052,),
        array(
21013171845485052,),
        array(
21013171845485052,),
        array(
1013171845485052,),
        array(
1315173454,),
        array(
10131750,),
        array(
164552,),
        array(
101317,),
        array(
2733,),
        array(
4552,),
        array(
1554,),
        array(
4552,),
        array(
1554,),
        array(
4552,),
        array(
4552,),
        array(
4552,),
        array(
2733,),
        array(
2733,),
        array(
4552,),
        array(
4552,),
        array(
2733,),
        array(
4552,),
        array(
1336,),
        array(
2733,),
        array(
2733,),
        array(
4552,),
        array(
1623,),
        array(
2733,),
        array(
2733,),
        array(
4552,),
        array(
2733,),
        array(
2733,),
        array(
2733,),
        array(
2733,),
        array(
2733,),
        array(
1,),
        array(
2,),
        array(
18,),
        array(
2,),
        array(
36,),
        array(
1,),
        array(
1,),
        array(
18,),
        array(
1,),
        array(
18,),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(),
        array(
2363839404855565758,),
        array(
1422242733353745,),
        array(
141627333648,),
        array(
1423273346,),
        array(
1423273346,),
        array(
36454853,),
        array(
10131750,),
        array(
293648,),
        array(
234661,),
        array(
234653,),
        array(
3537,),
        array(
3537,),
        array(
1645,),
        array(
3553,),
        array(
89,),
        array(
3648,),
        array(
3648,),
        array(
3537,),
        array(
2346,),
        array(
3648,),
        array(
1750,),
        array(
2235,),
        array(
79,),
        array(
3537,),
        array(
4553,),
        array(
24,),
        array(
16,),
        array(
8,),
        array(
37,),
        array(
14,),
        array(
17,),
        array(
51,),
        array(
14,),
        array(
15,),
        array(
53,),
        array(
53,),
        array(
17,),
        array(
51,),
        array(
41,),
        array(
17,),
        array(
17,),
        array(
17,),
        array(
45,),
        array(
34,),
        array(
17,),
        array(
17,),
        array(
34,),
        array(
17,),
        array(
36,),
        array(
17,),
        array(
36,),
        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(),
        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(),
        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(),
    );

    public static 
$yy_default       = array(
        
338514514499499514514476476476,
        
514514514514514514514514514514,
        
514514514514514514514514514514,
        
514514514514514514514514514514,
        
514514514514514514379358379514,
        
514415514379514514351514514514,
        
514514514514514514384514399475,
        
351403390474500502384501363381,
        
404386391379379514379514379489,
        
431370327430393441514393393441,
        
431441393431514379360514393379,
        
373379514406402375431396398486,
        
393408397407406483336430430430,
        
430430514443457441367438514436,
        
514435434466368348439437361467,
        
441356354468514366355469362359,
        
352369365371478463477441374376,
        
490424487441441482482336482415,
        
411415405405415442415405405514,
        
514411514514425514514405415514,
        
514334514411387514514514514514,
        
514514514420514514514417514514,
        
514411413514514514514488514457,
        
514421364420340422357341409400,
        
480457462401485423426342447380,
        
416339428329330444445446394331,
        
395429419388332418410392412333,
        
335414337472417479427497347461,
        
460459378346464510495511498473,
        
377496503506513512509507504508,
        
345458471448505454452455456450,
        
491449492493494470451328453343,
        
344372481432433465440,
    );

    public static 
$yyFallback       = array();

    public static 
$yyRuleName       = array(
        
'start ::= template',
        
'template ::= template PHP',
        
'template ::= template TEXT',
        
'template ::= template STRIPON',
        
'template ::= template STRIPOFF',
        
'template ::= template LITERALSTART literal_e2 LITERALEND',
        
'literal_e2 ::= literal_e1 LITERALSTART literal_e1 LITERALEND',
        
'literal_e2 ::= literal_e1',
        
'literal_e1 ::= literal_e1 LITERAL',
        
'literal_e1 ::=',
        
'template ::= template smartytag',
        
'template ::=',
        
'smartytag ::= SIMPELOUTPUT',
        
'smartytag ::= SIMPLETAG',
        
'smartytag ::= SMARTYBLOCKCHILDPARENT',
        
'smartytag ::= LDEL tagbody RDEL',
        
'smartytag ::= tag RDEL',
        
'tagbody ::= outattr',
        
'tagbody ::= DOLLARID eqoutattr',
        
'tagbody ::= varindexed eqoutattr',
        
'eqoutattr ::= EQUAL outattr',
        
'outattr ::= output attributes',
        
'output ::= variable',
        
'output ::= value',
        
'output ::= expr',
        
'tag ::= LDEL ID attributes',
        
'tag ::= LDEL ID',
        
'tag ::= LDEL ID modifierlist attributes',
        
'tag ::= LDEL ID PTR ID attributes',
        
'tag ::= LDEL ID PTR ID modifierlist attributes',
        
'tag ::= LDELMAKENOCACHE DOLLARID',
        
'tag ::= LDELIF expr',
        
'tag ::= LDELIF expr attributes',
        
'tag ::= LDELIF statement',
        
'tag ::= LDELIF statement attributes',
        
'tag ::= LDELFOR statements SEMICOLON expr SEMICOLON varindexed foraction attributes',
        
'foraction ::= EQUAL expr',
        
'foraction ::= INCDEC',
        
'tag ::= LDELFOR statement TO expr attributes',
        
'tag ::= LDELFOR statement TO expr STEP expr attributes',
        
'tag ::= LDELFOREACH SPACE expr AS varvar attributes',
        
'tag ::= LDELFOREACH SPACE expr AS varvar APTR varvar attributes',
        
'tag ::= LDELFOREACH attributes',
        
'tag ::= LDELSETFILTER ID modparameters',
        
'tag ::= LDELSETFILTER ID modparameters modifierlist',
        
'smartytag ::= CLOSETAG',
        
'tag ::= LDELSLASH ID',
        
'tag ::= LDELSLASH ID modifierlist',
        
'tag ::= LDELSLASH ID PTR ID',
        
'tag ::= LDELSLASH ID PTR ID modifierlist',
        
'attributes ::= attributes attribute',
        
'attributes ::= attribute',
        
'attributes ::=',
        
'attribute ::= SPACE ID EQUAL ID',
        
'attribute ::= ATTR expr',
        
'attribute ::= ATTR value',
        
'attribute ::= SPACE ID',
        
'attribute ::= SPACE expr',
        
'attribute ::= SPACE value',
        
'attribute ::= SPACE INTEGER EQUAL expr',
        
'statements ::= statement',
        
'statements ::= statements COMMA statement',
        
'statement ::= DOLLARID EQUAL INTEGER',
        
'statement ::= DOLLARID EQUAL expr',
        
'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 ::= expr tlop value',
        
'expr ::= expr lop expr',
        
'expr ::= expr scond',
        
'expr ::= expr ISIN array',
        
'expr ::= expr ISIN value',
        
'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',
        
'value ::= variable INCDEC',
        
'value ::= HEX',
        
'value ::= INTEGER',
        
'value ::= INTEGER DOT INTEGER',
        
'value ::= INTEGER DOT',
        
'value ::= DOT INTEGER',
        
'value ::= ID',
        
'value ::= function',
        
'value ::= OPENP expr CLOSEP',
        
'value ::= variable INSTANCEOF ns1',
        
'value ::= variable INSTANCEOF variable',
        
'value ::= SINGLEQUOTESTRING',
        
'value ::= doublequoted_with_quotes',
        
'value ::= varindexed DOUBLECOLON static_class_access',
        
'value ::= smartytag',
        
'value ::= value modifierlist',
        
'value ::= NAMESPACE',
        
'value ::= arraydef',
        
'value ::= ns1 DOUBLECOLON static_class_access',
        
'ns1 ::= ID',
        
'ns1 ::= NAMESPACE',
        
'variable ::= DOLLARID',
        
'variable ::= varindexed',
        
'variable ::= varvar AT ID',
        
'variable ::= object',
        
'variable ::= HATCH ID HATCH',
        
'variable ::= HATCH ID HATCH arrayindex',
        
'variable ::= HATCH variable HATCH',
        
'variable ::= HATCH variable HATCH arrayindex',
        
'varindexed ::= DOLLARID arrayindex',
        
'varindexed ::= varvar arrayindex',
        
'arrayindex ::= arrayindex indexdef',
        
'arrayindex ::=',
        
'indexdef ::= DOT DOLLARID',
        
'indexdef ::= DOT varvar',
        
'indexdef ::= DOT varvar AT ID',
        
'indexdef ::= DOT ID',
        
'indexdef ::= DOT INTEGER',
        
'indexdef ::= DOT LDEL expr RDEL',
        
'indexdef ::= OPENB ID CLOSEB',
        
'indexdef ::= OPENB ID DOT ID CLOSEB',
        
'indexdef ::= OPENB SINGLEQUOTESTRING CLOSEB',
        
'indexdef ::= OPENB INTEGER CLOSEB',
        
'indexdef ::= OPENB DOLLARID CLOSEB',
        
'indexdef ::= OPENB variable CLOSEB',
        
'indexdef ::= OPENB value CLOSEB',
        
'indexdef ::= OPENB expr CLOSEB',
        
'indexdef ::= OPENB CLOSEB',
        
'varvar ::= DOLLARID',
        
'varvar ::= DOLLAR',
        
'varvar ::= varvar varvarele',
        
'varvarele ::= ID',
        
'varvarele ::= SIMPELOUTPUT',
        
'varvarele ::= LDEL expr RDEL',
        
'object ::= varindexed objectchain',
        
'objectchain ::= objectelement',
        
'objectchain ::= objectchain objectelement',
        
'objectelement ::= PTR ID arrayindex',
        
'objectelement ::= PTR varvar arrayindex',
        
'objectelement ::= PTR LDEL expr RDEL arrayindex',
        
'objectelement ::= PTR ID LDEL expr RDEL arrayindex',
        
'objectelement ::= PTR method',
        
'function ::= ns1 OPENP params CLOSEP',
        
'method ::= ID OPENP params CLOSEP',
        
'method ::= DOLLARID OPENP params CLOSEP',
        
'params ::= params COMMA expr',
        
'params ::= expr',
        
'params ::=',
        
'modifierlist ::= modifierlist modifier modparameters',
        
'modifierlist ::= modifier modparameters',
        
'modifier ::= VERT AT ID',
        
'modifier ::= VERT ID',
        
'modparameters ::= modparameters modparameter',
        
'modparameters ::=',
        
'modparameter ::= COLON value',
        
'modparameter ::= COLON UNIMATH value',
        
'modparameter ::= COLON array',
        
'static_class_access ::= method',
        
'static_class_access ::= method objectchain',
        
'static_class_access ::= ID',
        
'static_class_access ::= DOLLARID arrayindex',
        
'static_class_access ::= DOLLARID arrayindex objectchain',
        
'lop ::= LOGOP',
        
'lop ::= SLOGOP',
        
'tlop ::= TLOGOP',
        
'scond ::= SINGLECOND',
        
'arraydef ::= OPENB arrayelements CLOSEB',
        
'arraydef ::= ARRAYOPEN arrayelements CLOSEP',
        
'arrayelements ::= arrayelement',
        
'arrayelements ::= arrayelements COMMA arrayelement',
        
'arrayelements ::=',
        
'arrayelement ::= value APTR expr',
        
'arrayelement ::= ID APTR expr',
        
'arrayelement ::= expr',
        
'doublequoted_with_quotes ::= QUOTE QUOTE',
        
'doublequoted_with_quotes ::= QUOTE doublequoted QUOTE',
        
'doublequoted ::= doublequoted doublequotedcontent',
        
'doublequoted ::= doublequotedcontent',
        
'doublequotedcontent ::= BACKTICK variable BACKTICK',
        
'doublequotedcontent ::= BACKTICK expr BACKTICK',
        
'doublequotedcontent ::= DOLLARID',
        
'doublequotedcontent ::= LDEL variable RDEL',
        
'doublequotedcontent ::= LDEL expr RDEL',
        
'doublequotedcontent ::= smartytag',
        
'doublequotedcontent ::= TEXT',
    );

    public static 
$yyRuleInfo       = array(
        array(
=> 63=> 1),
        array(
=> 64=> 2),
        array(
=> 64=> 2),
        array(
=> 64=> 2),
        array(
=> 64=> 2),
        array(
=> 64=> 4),
        array(
=> 65=> 4),
        array(
=> 65=> 1),
        array(
=> 66=> 2),
        array(
=> 66=> 0),
        array(
=> 64=> 2),
        array(
=> 64=> 0),
        array(
=> 67=> 1),
        array(
=> 67=> 1),
        array(
=> 67=> 1),
        array(
=> 67=> 3),
        array(
=> 67=> 2),
        array(
=> 68=> 1),
        array(
=> 68=> 2),
        array(
=> 68=> 2),
        array(
=> 71=> 2),
        array(
=> 70=> 2),
        array(
=> 73=> 1),
        array(
=> 73=> 1),
        array(
=> 73=> 1),
        array(
=> 69=> 3),
        array(
=> 69=> 2),
        array(
=> 69=> 4),
        array(
=> 69=> 5),
        array(
=> 69=> 6),
        array(
=> 69=> 2),
        array(
=> 69=> 2),
        array(
=> 69=> 3),
        array(
=> 69=> 2),
        array(
=> 69=> 3),
        array(
=> 69=> 8),
        array(
=> 81=> 2),
        array(
=> 81=> 1),
        array(
=> 69=> 5),
        array(
=> 69=> 7),
        array(
=> 69=> 6),
        array(
=> 69=> 8),
        array(
=> 69=> 2),
        array(
=> 69=> 3),
        array(
=> 69=> 4),
        array(
=> 67=> 1),
        array(
=> 69=> 2),
        array(
=> 69=> 3),
        array(
=> 69=> 4),
        array(
=> 69=> 5),
        array(
=> 74=> 2),
        array(
=> 74=> 1),
        array(
=> 74=> 0),
        array(
=> 84=> 4),
        array(
=> 84=> 2),
        array(
=> 84=> 2),
        array(
=> 84=> 2),
        array(
=> 84=> 2),
        array(
=> 84=> 2),
        array(
=> 84=> 4),
        array(
=> 80=> 1),
        array(
=> 80=> 3),
        array(
=> 79=> 3),
        array(
=> 79=> 3),
        array(
=> 79=> 3),
        array(
=> 79=> 3),
        array(
=> 77=> 1),
        array(
=> 77=> 1),
        array(
=> 77=> 3),
        array(
=> 77=> 3),
        array(
=> 77=> 3),
        array(
=> 77=> 3),
        array(
=> 77=> 3),
        array(
=> 77=> 2),
        array(
=> 77=> 3),
        array(
=> 77=> 3),
        array(
=> 85=> 7),
        array(
=> 85=> 7),
        array(
=> 76=> 1),
        array(
=> 76=> 2),
        array(
=> 76=> 2),
        array(
=> 76=> 2),
        array(
=> 76=> 2),
        array(
=> 76=> 1),
        array(
=> 76=> 1),
        array(
=> 76=> 3),
        array(
=> 76=> 2),
        array(
=> 76=> 2),
        array(
=> 76=> 1),
        array(
=> 76=> 1),
        array(
=> 76=> 3),
        array(
=> 76=> 3),
        array(
=> 76=> 3),
        array(
=> 76=> 1),
        array(
=> 76=> 1),
        array(
=> 76=> 3),
        array(
=> 76=> 1),
        array(
=> 76=> 2),
        array(
=> 76=> 1),
        array(
=> 76=> 1),
        array(
=> 76=> 3),
        array(
=> 91=> 1),
        array(
=> 91=> 1),
        array(
=> 75=> 1),
        array(
=> 75=> 1),
        array(
=> 75=> 3),
        array(
=> 75=> 1),
        array(
=> 75=> 3),
        array(
=> 75=> 4),
        array(
=> 75=> 3),
        array(
=> 75=> 4),
        array(
=> 72=> 2),
        array(
=> 72=> 2),
        array(
=> 96=> 2),
        array(
=> 96=> 0),
        array(
=> 97=> 2),
        array(
=> 97=> 2),
        array(
=> 97=> 4),
        array(
=> 97=> 2),
        array(
=> 97=> 2),
        array(
=> 97=> 4),
        array(
=> 97=> 3),
        array(
=> 97=> 5),
        array(
=> 97=> 3),
        array(
=> 97=> 3),
        array(
=> 97=> 3),
        array(
=> 97=> 3),
        array(
=> 97=> 3),
        array(
=> 97=> 3),
        array(
=> 97=> 2),
        array(
=> 82=> 1),
        array(
=> 82=> 1),
        array(
=> 82=> 2),
        array(
=> 98=> 1),
        array(
=> 98=> 1),
        array(
=> 98=> 3),
        array(
=> 95=> 2),
        array(
=> 99=> 1),
        array(
=> 99=> 2),
        array(
=> 100=> 3),
        array(
=> 100=> 3),
        array(
=> 100=> 5),
        array(
=> 100=> 6),
        array(
=> 100=> 2),
        array(
=> 90=> 4),
        array(
=> 101=> 4),
        array(
=> 101=> 4),
        array(
=> 102=> 3),
        array(
=> 102=> 1),
        array(
=> 102=> 0),
        array(
=> 78=> 3),
        array(
=> 78=> 2),
        array(
=> 103=> 3),
        array(
=> 103=> 2),
        array(
=> 83=> 2),
        array(
=> 83=> 0),
        array(
=> 104=> 2),
        array(
=> 104=> 3),
        array(
=> 104=> 2),
        array(
=> 93=> 1),
        array(
=> 93=> 2),
        array(
=> 93=> 1),
        array(
=> 93=> 2),
        array(
=> 93=> 3),
        array(
=> 87=> 1),
        array(
=> 87=> 1),
        array(
=> 86=> 1),
        array(
=> 88=> 1),
        array(
=> 94=> 3),
        array(
=> 94=> 3),
        array(
=> 105=> 1),
        array(
=> 105=> 3),
        array(
=> 105=> 0),
        array(
=> 106=> 3),
        array(
=> 106=> 3),
        array(
=> 106=> 1),
        array(
=> 92=> 2),
        array(
=> 92=> 3),
        array(
=> 107=> 2),
        array(
=> 107=> 1),
        array(
=> 108=> 3),
        array(
=> 108=> 3),
        array(
=> 108=> 1),
        array(
=> 108=> 3),
        array(
=> 108=> 3),
        array(
=> 108=> 1),
        array(
=> 108=> 1),
    );

    public static 
$yyReduceMap      = array(
        
0   => 0,
        
1   => 1,
        
2   => 2,
        
3   => 3,
        
4   => 4,
        
5   => 5,
        
6   => 6,
        
7   => 7,
        
22  => 7,
        
23  => 7,
        
24  => 7,
        
37  => 7,
        
57  => 7,
        
58  => 7,
        
66  => 7,
        
67  => 7,
        
78  => 7,
        
83  => 7,
        
84  => 7,
        
89  => 7,
        
93  => 7,
        
94  => 7,
        
98  => 7,
        
99  => 7,
        
101 => 7,
        
106 => 7,
        
170 => 7,
        
175 => 7,
        
8   => 8,
        
9   => 9,
        
10  => 10,
        
12  => 12,
        
13  => 13,
        
14  => 14,
        
15  => 15,
        
16  => 16,
        
17  => 17,
        
18  => 18,
        
19  => 19,
        
20  => 20,
        
21  => 21,
        
25  => 25,
        
26  => 26,
        
27  => 27,
        
28  => 28,
        
29  => 29,
        
30  => 30,
        
31  => 31,
        
32  => 32,
        
34  => 32,
        
33  => 33,
        
35  => 35,
        
36  => 36,
        
38  => 38,
        
39  => 39,
        
40  => 40,
        
41  => 41,
        
42  => 42,
        
43  => 43,
        
44  => 44,
        
45  => 45,
        
46  => 46,
        
47  => 47,
        
48  => 48,
        
49  => 49,
        
50  => 50,
        
51  => 51,
        
60  => 51,
        
148 => 51,
        
152 => 51,
        
156 => 51,
        
158 => 51,
        
52  => 52,
        
149 => 52,
        
155 => 52,
        
53  => 53,
        
54  => 54,
        
55  => 54,
        
56  => 56,
        
133 => 56,
        
59  => 59,
        
61  => 61,
        
62  => 62,
        
63  => 62,
        
64  => 64,
        
65  => 65,
        
68  => 68,
        
69  => 69,
        
70  => 69,
        
71  => 71,
        
72  => 72,
        
73  => 73,
        
74  => 74,
        
75  => 75,
        
76  => 76,
        
77  => 77,
        
79  => 79,
        
81  => 79,
        
82  => 79,
        
113 => 79,
        
80  => 80,
        
85  => 85,
        
86  => 86,
        
87  => 87,
        
88  => 88,
        
90  => 90,
        
91  => 91,
        
92  => 91,
        
95  => 95,
        
96  => 96,
        
97  => 97,
        
100 => 100,
        
102 => 102,
        
103 => 103,
        
104 => 104,
        
105 => 105,
        
107 => 107,
        
108 => 108,
        
109 => 109,
        
110 => 110,
        
111 => 111,
        
112 => 112,
        
114 => 114,
        
172 => 114,
        
115 => 115,
        
116 => 116,
        
117 => 117,
        
118 => 118,
        
119 => 119,
        
120 => 120,
        
128 => 120,
        
121 => 121,
        
122 => 122,
        
123 => 123,
        
124 => 123,
        
126 => 123,
        
127 => 123,
        
125 => 125,
        
129 => 129,
        
130 => 130,
        
131 => 131,
        
176 => 131,
        
132 => 132,
        
134 => 134,
        
135 => 135,
        
136 => 136,
        
137 => 137,
        
138 => 138,
        
139 => 139,
        
140 => 140,
        
141 => 141,
        
142 => 142,
        
143 => 143,
        
144 => 144,
        
145 => 145,
        
146 => 146,
        
147 => 147,
        
150 => 150,
        
151 => 151,
        
153 => 153,
        
154 => 154,
        
157 => 157,
        
159 => 159,
        
160 => 160,
        
161 => 161,
        
162 => 162,
        
163 => 163,
        
164 => 164,
        
165 => 165,
        
166 => 166,
        
167 => 167,
        
168 => 168,
        
169 => 168,
        
171 => 171,
        
173 => 173,
        
174 => 174,
        
177 => 177,
        
178 => 178,
        
179 => 179,
        
180 => 180,
        
183 => 180,
        
181 => 181,
        
184 => 181,
        
182 => 182,
        
185 => 185,
        
186 => 186,
    );

    
/**
     * result status
     *
     * @var bool
     */
    
public $successful true;

    
/**
     * return value
     *
     * @var mixed
     */
    
public $retvalue 0;

    
/**
     * @var
     */
    
public $yymajor;

    
/**
     * last index of array variable
     *
     * @var mixed
     */
    
public $last_index;

    
/**
     * last variable name
     *
     * @var string
     */
    
public $last_variable;

    
/**
     * root parse tree buffer
     *
     * @var Smarty_Internal_ParseTree_Template
     */
    
public $root_buffer;

    
/**
     * current parse tree object
     *
     * @var Smarty_Internal_ParseTree
     */
    
public $current_buffer;

    
/**
     * lexer object
     *
     * @var Smarty_Internal_Templatelexer
     */
    
public $lex;

    
/**
     * {strip} status
     *
     * @var bool
     */
    
public $strip false;

    
/**
     * compiler object
     *
     * @var Smarty_Internal_TemplateCompilerBase
     */
    
public $compiler null;

    
/**
     * smarty object
     *
     * @var Smarty
     */
    
public $smarty null;

    
/**
     * template object
     *
     * @var Smarty_Internal_Template
     */
    
public $template null;

    
/**
     * block nesting level
     *
     * @var int
     */
    
public $block_nesting_level 0;

    
/**
     * security object
     *
     * @var Smarty_Security
     */
    
public $security null;

    
/**
     * template prefix array
     *
     * @var Smarty_Internal_ParseTree[]
     */
    
public $template_prefix = array();

    
/**
     * template prefix array
     *
     * @var Smarty_Internal_ParseTree[]
     */
    
public $template_postfix = array();

    public 
$yyTraceFILE;

    public 
$yyTracePrompt;

    public 
$yyidx;

    public 
$yyerrcnt;

    public 
$yystack          = array();

    public 
$yyTokenName      = array(
        
'$''VERT''COLON''PHP',
        
'TEXT''STRIPON''STRIPOFF''LITERALSTART',
        
'LITERALEND''LITERAL''SIMPELOUTPUT''SIMPLETAG',
        
'SMARTYBLOCKCHILDPARENT''LDEL''RDEL''DOLLARID',
        
'EQUAL''ID''PTR''LDELMAKENOCACHE',
        
'LDELIF''LDELFOR''SEMICOLON''INCDEC',
        
'TO''STEP''LDELFOREACH''SPACE',
        
'AS''APTR''LDELSETFILTER''CLOSETAG',
        
'LDELSLASH''ATTR''INTEGER''COMMA',
        
'OPENP''CLOSEP''MATH''UNIMATH',
        
'ISIN''QMARK''NOT''TYPECAST',
        
'HEX''DOT''INSTANCEOF''SINGLEQUOTESTRING',
        
'DOUBLECOLON''NAMESPACE''AT''HATCH',
        
'OPENB''CLOSEB''DOLLAR''LOGOP',
        
'SLOGOP''TLOGOP''SINGLECOND''ARRAYOPEN',
        
'QUOTE''BACKTICK''error''start',
        
'template''literal_e2''literal_e1''smartytag',
        
'tagbody''tag''outattr''eqoutattr',
        
'varindexed''output''attributes''variable',
        
'value''expr''modifierlist''statement',
        
'statements''foraction''varvar''modparameters',
        
'attribute''ternary''tlop''lop',
        
'scond''array''function''ns1',
        
'doublequoted_with_quotes''static_class_access''arraydef''object',
        
'arrayindex''indexdef''varvarele''objectchain',
        
'objectelement''method''params''modifier',
        
'modparameter''arrayelements''arrayelement''doublequoted',
        
'doublequotedcontent',
    );

    
/**
     * internal error flag
     *
     * @var bool
     */
    
private $internalError false;                    /* Index of top element in stack */
    
private $_retvalue;                 /* Shifts left before out of the error */
    /**
     * constructor
     *
     * @param Smarty_Internal_Templatelexer        $lex
     * @param Smarty_Internal_TemplateCompilerBase $compiler
     */
    
public function __construct(Smarty_Internal_Templatelexer $lexSmarty_Internal_TemplateCompilerBase $compiler)
    {
        
$this->lex $lex;
        
$this->compiler $compiler;
        
$this->template $this->compiler->template;
        
$this->smarty $this->template->smarty;
        
$this->security = isset($this->smarty->security_policy) ? $this->smarty->security_policy false;
        
$this->current_buffer $this->root_buffer = new Smarty_Internal_ParseTree_Template();
    }  
/* The parser's stack */
    
public static function yy_destructor($yymajor$yypminor)
    {
        switch (
$yymajor) {
            default:
                break;   
/* If no destructor action specified: do nothing */
        
}
    }

    
/**
     * insert PHP code in current buffer
     *
     * @param string $code
     */
    
public function insertPhpCode($code)
    {
        
$this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Tag($this$code));
    }

    
/**
     * error rundown
     *
     */
    
public function errorRunDown()
    {
        while (
$this->yystack !== array()) {
            
$this->yy_pop_parser_stack();
        }
        if (
is_resource($this->yyTraceFILE)) {
            
fclose($this->yyTraceFILE);
        }
    }

    
/**
     *  merge PHP code with prefix code and return parse tree tag object
     *
     * @param string $code
     *
     * @return Smarty_Internal_ParseTree_Tag
     */
    
public function mergePrefixCode($code)
    {
        
$tmp '';
        foreach (
$this->compiler->prefix_code as $preCode) {
            
$tmp .= $preCode;
        }
        
$this->compiler->prefix_code = array();
        
$tmp .= $code;
        return new 
Smarty_Internal_ParseTree_Tag($this$this->compiler->processNocacheCode($tmptrue));
    }

    public function 
Trace($TraceFILE$zTracePrompt)
    {
        if (!
$TraceFILE) {
            
$zTracePrompt 0;
        } elseif (!
$zTracePrompt) {
            
$TraceFILE 0;
        }
        
$this->yyTraceFILE $TraceFILE;
        
$this->yyTracePrompt $zTracePrompt;
    }

    public function 
PrintTrace()
    {
        
$this->yyTraceFILE fopen('php://output''w');
        
$this->yyTracePrompt '<br>';
    }

    public function 
tokenName($tokenType)
    {
        if (
$tokenType === 0) {
            return 
'End of Input';
        }
        if (
$tokenType && $tokenType count($this->yyTokenName)) {
            return 
$this->yyTokenName$tokenType ];
        } else {
            return 
'Unknown';
        }
    }

    public function 
yy_pop_parser_stack()
    {
        if (empty(
$this->yystack)) {
            return;
        }
        
$yytos array_pop($this->yystack);
        if (
$this->yyTraceFILE && $this->yyidx >= 0) {
            
fwrite($this->yyTraceFILE,
                
$this->yyTracePrompt 'Popping ' $this->yyTokenName$yytos->major ] .
                
"n");
        }
        
$yymajor $yytos->major;
        
self::yy_destructor($yymajor$yytos->minor);
        
$this->yyidx--;
        return 
$yymajor;
    }

    public function 
__destruct()
    {
        while (
$this->yystack !== array()) {
            
$this->yy_pop_parser_stack();
        }
        if (
is_resource($this->yyTraceFILE)) {
            
fclose($this->yyTraceFILE);
        }
    }

    public function 
yy_get_expected_tokens($token)
    {
        static 
$res3 = array();
        static 
$res4 = array();
        
$state $this->yystack$this->yyidx ]->stateno;
        
$expected self::$yyExpectedTokens$state ];
        if (isset(
$res3$state ][ $token ])) {
            if (
$res3$state ][ $token ]) {
                return 
$expected;
            }
        } else {
            if (
$res3$state ][ $token ] = in_array($tokenself::$yyExpectedTokens$state ], true)) {
                return 
$expected;
            }
        }
        
$stack $this->yystack;
        
$yyidx $this->yyidx;
        do {
            
$yyact $this->yy_find_shift_action($token);
            if (
$yyact >= self::YYNSTATE && $yyact self::YYNSTATE self::YYNRULE) {
                
// reduce action
                
$done 0;
                do {
                    if (
$done++ === 100) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        
// too much recursion prevents proper detection
                        // so give up
                        
return array_unique($expected);
                    }
                    
$yyruleno $yyact self::YYNSTATE;
                    
$this->yyidx -= self::$yyRuleInfo$yyruleno ][ ];
                    
$nextstate $this->yy_find_reduce_action(
                        
$this->yystack$this->yyidx ]->stateno,
                        
self::$yyRuleInfo$yyruleno ][ ]);
                    if (isset(
self::$yyExpectedTokens$nextstate ])) {
                        
$expected array_merge($expectedself::$yyExpectedTokens$nextstate ]);
                        if (isset(
$res4$nextstate ][ $token ])) {
                            if (
$res4$nextstate ][ $token ]) {
                                
$this->yyidx $yyidx;
                                
$this->yystack $stack;
                                return 
array_unique($expected);
                            }
                        } else {
                            if (
$res4$nextstate ][ $token ] =
                                
in_array($tokenself::$yyExpectedTokens$nextstate ], true)) {
                                
$this->yyidx $yyidx;
                                
$this->yystack $stack;
                                return 
array_unique($expected);
                            }
                        }
                    }
                    if (
$nextstate self::YYNSTATE) {
                        
// we need to shift a non-terminal
                        
$this->yyidx++;
                        
$x = new TP_yyStackEntry;
                        
$x->stateno $nextstate;
                        
$x->major self::$yyRuleInfo$yyruleno ][ ];
                        
$this->yystack$this->yyidx ] = $x;
                        continue 
2;
                    } elseif (
$nextstate === self::YYNSTATE self::YYNRULE 1) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        
// the last token was just ignored, we can't accept
                        // by ignoring input, this is in essence ignoring a
                        // syntax error!
                        
return array_unique($expected);
                    } elseif (
$nextstate === self::YY_NO_ACTION) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        
// input accepted, but not shifted (I guess)
                        
return $expected;
                    } else {
                        
$yyact $nextstate;
                    }
                } while (
true);
            }
            break;
        } while (
true);
        
$this->yyidx $yyidx;
        
$this->yystack $stack;
        return 
array_unique($expected);
    }

    public function 
yy_is_expected_token($token)
    {
        static 
$res = array();
        static 
$res2 = array();
        if (
$token === 0) {
            return 
true// 0 is not part of this
        
}
        
$state $this->yystack$this->yyidx ]->stateno;
        if (isset(
$res$state ][ $token ])) {
            if (
$res$state ][ $token ]) {
                return 
true;
            }
        } else {
            if (
$res$state ][ $token ] = in_array($tokenself::$yyExpectedTokens$state ], true)) {
                return 
true;
            }
        }
        
$stack $this->yystack;
        
$yyidx $this->yyidx;
        do {
            
$yyact $this->yy_find_shift_action($token);
            if (
$yyact >= self::YYNSTATE && $yyact self::YYNSTATE self::YYNRULE) {
                
// reduce action
                
$done 0;
                do {
                    if (
$done++ === 100) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        
// too much recursion prevents proper detection
                        // so give up
                        
return true;
                    }
                    
$yyruleno $yyact self::YYNSTATE;
                    
$this->yyidx -= self::$yyRuleInfo$yyruleno ][ ];
                    
$nextstate $this->yy_find_reduce_action(
                        
$this->yystack$this->yyidx ]->stateno,
                        
self::$yyRuleInfo$yyruleno ][ ]);
                    if (isset(
$res2$nextstate ][ $token ])) {
                        if (
$res2$nextstate ][ $token ]) {
                            
$this->yyidx $yyidx;
                            
$this->yystack $stack;
                            return 
true;
                        }
                    } else {
                        if (
$res2$nextstate ][ $token ] =
                            (isset(
self::$yyExpectedTokens$nextstate ]) &&
                             
in_array($tokenself::$yyExpectedTokens$nextstate ], true))) {
                            
$this->yyidx $yyidx;
                            
$this->yystack $stack;
                            return 
true;
                        }
                    }
                    if (
$nextstate self::YYNSTATE) {
                        
// we need to shift a non-terminal
                        
$this->yyidx++;
                        
$x = new TP_yyStackEntry;
                        
$x->stateno $nextstate;
                        
$x->major self::$yyRuleInfo$yyruleno ][ ];
                        
$this->yystack$this->yyidx ] = $x;
                        continue 
2;
                    } elseif (
$nextstate === self::YYNSTATE self::YYNRULE 1) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        if (!
$token) {
                            
// end of input: this is valid
                            
return true;
                        }
                        
// the last token was just ignored, we can't accept
                        // by ignoring input, this is in essence ignoring a
                        // syntax error!
                        
return false;
                    } elseif (
$nextstate === self::YY_NO_ACTION) {
                        
$this->yyidx $yyidx;
                        
$this->yystack $stack;
                        
// input accepted, but not shifted (I guess)
                        
return true;
                    } else {
                        
$yyact $nextstate;
                    }
                } while (
true);
            }
            break;
        } while (
true);
        
$this->yyidx $yyidx;
        
$this->yystack $stack;
        return 
true;
    }

    public function 
yy_find_shift_action($iLookAhead)
    {
        
$stateno $this->yystack$this->yyidx ]->stateno;
        
/* if ($this->yyidx < 0) return self::YY_NO_ACTION;  */
        
if (!isset(self::$yy_shift_ofst$stateno ])) {
            
// no shift actions
            
return self::$yy_default$stateno ];
        }
        
$i self::$yy_shift_ofst$stateno ];
        if (
$i === self::YY_SHIFT_USE_DFLT) {
            return 
self::$yy_default$stateno ];
        }
        if (
$iLookAhead === self::YYNOCODE) {
            return 
self::YY_NO_ACTION;
        }
        
$i += $iLookAhead;
        if (
$i || $i >= self::YY_SZ_ACTTAB ||
            
self::$yy_lookahead$i ] != $iLookAhead) {
            if (
count(self::$yyFallback) && $iLookAhead count(self::$yyFallback)
                && (
$iFallback self::$yyFallback$iLookAhead ]) != 0) {
                if (
$this->yyTraceFILE) {
                    
fwrite($this->yyTraceFILE$this->yyTracePrompt 'FALLBACK ' .
                                               
$this->yyTokenName$iLookAhead ] . ' => ' .
                                               
$this->yyTokenName$iFallback ] . "n");
                }
                return 
$this->yy_find_shift_action($iFallback);
            }
            return 
self::$yy_default$stateno ];
        } else {
            return 
self::$yy_action$i ];
        }
    }

    public function 
yy_find_reduce_action($stateno$iLookAhead)
    {
        
/* $stateno = $this->yystack[$this->yyidx]->stateno; */
        
if (!isset(self::$yy_reduce_ofst$stateno ])) {
            return 
self::$yy_default$stateno ];
        }
        
$i self::$yy_reduce_ofst$stateno ];
        if (
$i === self::YY_REDUCE_USE_DFLT) {
            return 
self::$yy_default$stateno ];
        }
        if (
$iLookAhead === self::YYNOCODE) {
            return 
self::YY_NO_ACTION;
        }
        
$i += $iLookAhead;
        if (
$i || $i >= self::YY_SZ_ACTTAB ||
            
self::$yy_lookahead$i ] != $iLookAhead) {
            return 
self::$yy_default$stateno ];
        } else {
            return 
self::$yy_action$i ];
        }
    }

    
// line 234 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_shift($yyNewState$yyMajor$yypMinor)
    {
        
$this->yyidx++;
        if (
$this->yyidx >= self::YYSTACKDEPTH) {
            
$this->yyidx--;
            if (
$this->yyTraceFILE) {
                
fprintf($this->yyTraceFILE"%sStack Overflow!n"$this->yyTracePrompt);
            }
            while (
$this->yyidx >= 0) {
                
$this->yy_pop_parser_stack();
            }
            
// line 221 "../smarty/lexer/smarty_internal_templateparser.y"
            
$this->internalError true;
            
$this->compiler->trigger_template_error('Stack overflow in template parser');
            return;
        }
        
$yytos = new TP_yyStackEntry;
        
$yytos->stateno $yyNewState;
        
$yytos->major $yyMajor;
        
$yytos->minor $yypMinor;
        
$this->yystack[] = $yytos;
        if (
$this->yyTraceFILE && $this->yyidx 0) {
            
fprintf($this->yyTraceFILE"%sShift %dn"$this->yyTracePrompt,
                
$yyNewState);
            
fprintf($this->yyTraceFILE"%sStack:"$this->yyTracePrompt);
            for (
$i 1$i <= $this->yyidx$i++) {
                
fprintf($this->yyTraceFILE" %s",
                    
$this->yyTokenName$this->yystack$i ]->major ]);
            }
            
fwrite($this->yyTraceFILE"n");
        }
    }

    
// line 242 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r0()
    {
        
$this->root_buffer->prepend_array($this$this->template_prefix);
        
$this->root_buffer->append_array($this$this->template_postfix);
        
$this->_retvalue $this->root_buffer->to_smarty_php($this);
    }

    
// line 251 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r1()
    {
        
$code =
            
$this->compiler->compileTag('private_php',
                array(array(
'code' => $this->yystack$this->yyidx ]->minor), array('type' => $this->lex->phpType)),
                array());
        if (
$this->compiler->has_code && !empty($code)) {
            
$tmp '';
            foreach (
$this->compiler->prefix_code as $code) {
                
$tmp .= $code;
            }
            
$this->compiler->prefix_code = array();
            
$this->current_buffer->append_subtree($this,
                new 
Smarty_Internal_ParseTree_Tag($this$this->compiler->processNocacheCode($tmp $codetrue)));
        }
    }

    
// line 255 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r2()
    {
        
$text $this->yystack$this->yyidx ]->minor;

        if ((string)
$text == '') {
            
$this->current_buffer->append_subtree($thisnull);
        }

        
$this->current_buffer->append_subtree($this, new Smarty_Internal_ParseTree_Text($text$this->strip));
    }

    
// line 259 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r3()
    {
        
$this->strip true;
    }

    
// line 264 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r4()
    {
        
$this->strip false;
    }

    
// line 269 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r5()
    {
        
$this->current_buffer->append_subtree($this,
            new 
Smarty_Internal_ParseTree_Text($this->yystack$this->yyidx + -]->minor));
    }

    
// line 272 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r6()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor $this->yystack$this->yyidx + -]->minor;
    }

    
// line 276 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r7()
    {
        
$this->_retvalue $this->yystack$this->yyidx ]->minor;
    }

    
// line 281 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r8()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor $this->yystack$this->yyidx ]->minor;
    }

    
// line 285 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r9()
    {
        
$this->_retvalue '';
    }

    
// line 297 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r10()
    {
        if (
$this->compiler->has_code) {
            
$this->current_buffer->append_subtree($this,
                
$this->mergePrefixCode($this->yystack$this->yyidx ]->minor));
        }
        
$this->compiler->has_variable_string false;
        
$this->block_nesting_level count($this->compiler->_tag_stack);
    }

    
// line 307 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r12()
    {
        
$var =
            
trim(substr($this->yystack$this->yyidx ]->minor$this->compiler->getLdelLength(),
                -
$this->compiler->getRdelLength()), ' $');
        if (
preg_match('/^(.*)(s+nocache)$/'$var$match)) {
            
$this->_retvalue =
                
$this->compiler->compileTag('private_print_expression', array('nocache'),
                    array(
'value' => $this->compiler->compileVariable(''' . $match[ 1 ] . ''')));
        } else {
            
$this->_retvalue =
                
$this->compiler->compileTag('private_print_expression', array(),
                    array(
'value' => $this->compiler->compileVariable(''' . $var . ''')));
        }
    }

    
// line 328 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r13()
    {
        
$tag =
            
trim(substr($this->yystack$this->yyidx ]->minor$this->compiler->getLdelLength(),
                -
$this->compiler->getRdelLength()));
        if (
$tag == 'strip') {
            
$this->strip true;
            
$this->_retvalue null;
        } else {
            if (
defined($tag)) {
                if (
$this->security) {
                    
$this->security->isTrustedConstant($tag$this->compiler);
                }
                
$this->_retvalue =
                    
$this->compiler->compileTag('private_print_expression', array(), array('value' => $tag));
            } else {
                if (
preg_match('/^(.*)(s+nocache)$/'$tag$match)) {
                    
$this->_retvalue $this->compiler->compileTag($match], array(''nocache''));
                } else {
                    
$this->_retvalue $this->compiler->compileTag($tag, array());
                }
            }
        }
    }

    
// line 339 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r14()
    {
        
$j strrpos($this->yystack$this->yyidx ]->minor'.');
        if (
$this->yystack$this->yyidx ]->minor$j ] == 'c') {
            
// {$smarty.block.child}
            
$this->_retvalue =
                
$this->compiler->compileTag('child', array(), array($this->yystack$this->yyidx ]->minor));
        } else {
            
// {$smarty.block.parent}
            
$this->_retvalue =
                
$this->compiler->compileTag('parent', array(), array($this->yystack$this->yyidx ]->minor));
        }
    }

    
// line 343 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r15()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor;
    }

    
// line 347 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r16()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor;
    }

    
// line 356 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r17()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('private_print_expression'$this->yystack$this->yyidx ]->minor],
                array(
'value' => $this->yystack$this->yyidx ]->minor]));
    }

    
// line 360 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r18()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('assign'array_merge(array(
                array(
'value' => $this->yystack$this->yyidx ]->minor]),
                array(
'var' => ''' . substr($this->yystack[ $this->yyidx + -1 ]->minor, 1) . ''')
            ), 
$this->yystack$this->yyidx ]->minor]));
    }

    
// line 364 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r19()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('assign'array_merge(array(
                array(
'value' => $this->yystack$this->yyidx ]->minor]),
                array(
'var' => $this->yystack$this->yyidx + -]->minor'var' ])
            ), 
$this->yystack$this->yyidx ]->minor]), array(
                
'smarty_internal_index' => $this->yystack$this->yyidx +
                                                           -
]->minor'smarty_internal_index' ]
            ));
    }

    
// line 368 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r20()
    {
        
$this->_retvalue $this->yystack$this->yyidx ]->minor;
    }

    
// line 383 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r21()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + -]->minor$this->yystack$this->yyidx ]->minor);
    }

    
// line 393 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r25()
    {
        if (
defined($this->yystack$this->yyidx + -]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx + -]->minor$this->compiler);
            }
            
$this->_retvalue =
                
$this->compiler->compileTag('private_print_expression'$this->yystack$this->yyidx ]->minor,
                    array(
'value' => $this->yystack$this->yyidx + -]->minor));
        } else {
            
$this->_retvalue =
                
$this->compiler->compileTag($this->yystack$this->yyidx + -]->minor,
                    
$this->yystack$this->yyidx ]->minor);
        }
    }

    
// line 406 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r26()
    {
        if (
defined($this->yystack$this->yyidx ]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx ]->minor$this->compiler);
            }
            
$this->_retvalue =
                
$this->compiler->compileTag('private_print_expression', array(),
                    array(
'value' => $this->yystack$this->yyidx ]->minor));
        } else {
            
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx ]->minor, array());
        }
    }

    
// line 418 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r27()
    {
        if (
defined($this->yystack$this->yyidx + -]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx + -]->minor$this->compiler);
            }
            
$this->_retvalue =
                
$this->compiler->compileTag('private_print_expression'$this->yystack$this->yyidx ]->minor,
                    array(
                        
'value'        => $this->yystack$this->yyidx + -]->minor,
                        
'modifierlist' => $this->yystack$this->yyidx + -]->minor
                    
));
        } else {
            
$this->_retvalue =
                
$this->compiler->compileTag($this->yystack$this->yyidx + -]->minor,
                    
$this->yystack$this->yyidx ]->minor,
                    array(
'modifierlist' => $this->yystack$this->yyidx + -]->minor));
        }
    }

    
// line 423 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r28()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag($this->yystack$this->yyidx + -]->minor,
                
$this->yystack$this->yyidx ]->minor,
                array(
'object_method' => $this->yystack$this->yyidx + -]->minor));
    }

    
// line 428 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r29()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag($this->yystack$this->yyidx + -]->minor,
                
$this->yystack$this->yyidx ]->minor, array(
                    
'modifierlist'  => $this->yystack$this->yyidx + -]->minor,
                    
'object_method' => $this->yystack$this->yyidx + -]->minor
                
));
    }

    
// line 433 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r30()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('make_nocache',
                array(array(
'var' => ''' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . ''')));
    }

    
// line 438 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r31()
    {
        
$tag trim(substr($this->yystack$this->yyidx + -]->minor$this->compiler->getLdelLength()));
        
$this->_retvalue =
            
$this->compiler->compileTag(($tag === 'else if') ? 'elseif' $tag, array(),
                array(
'if condition' => $this->yystack$this->yyidx ]->minor));
    }

    
// line 443 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r32()
    {
        
$tag trim(substr($this->yystack$this->yyidx + -]->minor$this->compiler->getLdelLength()));
        
$this->_retvalue =
            
$this->compiler->compileTag(($tag === 'else if') ? 'elseif' $tag,
                
$this->yystack$this->yyidx ]->minor,
                array(
'if condition' => $this->yystack$this->yyidx + -]->minor));
    }

    
// line 454 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r33()
    {
        
$tag trim(substr($this->yystack$this->yyidx + -]->minor$this->compiler->getLdelLength()));
        
$this->_retvalue =
            
$this->compiler->compileTag(($tag === 'else if') ? 'elseif' $tag, array(),
                array(
'if condition' => $this->yystack$this->yyidx ]->minor));
    }

    
// line 458 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r35()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('for'array_merge($this->yystack$this->yyidx ]->minor, array(
                array(
'start' => $this->yystack$this->yyidx + -]->minor),
                array(
'ifexp' => $this->yystack$this->yyidx + -]->minor),
                array(
'var' => $this->yystack$this->yyidx + -]->minor),
                array(
'step' => $this->yystack$this->yyidx + -]->minor)
            )), 
1);
    }

    
// line 466 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r36()
    {
        
$this->_retvalue '=' $this->yystack$this->yyidx ]->minor;
    }

    
// line 470 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r38()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('for'array_merge($this->yystack$this->yyidx ]->minor, array(
                array(
'start' => $this->yystack$this->yyidx + -]->minor),
                array(
'to' => $this->yystack$this->yyidx + -]->minor)
            )), 
0);
    }

    
// line 475 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r39()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('for'array_merge($this->yystack$this->yyidx ]->minor, array(
                array(
'start' => $this->yystack$this->yyidx + -]->minor),
                array(
'to' => $this->yystack$this->yyidx + -]->minor),
                array(
'step' => $this->yystack$this->yyidx + -]->minor)
            )), 
0);
    }

    
// line 479 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r40()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('foreach'array_merge($this->yystack$this->yyidx ]->minor, array(
                array(
'from' => $this->yystack$this->yyidx + -]->minor),
                array(
'item' => $this->yystack$this->yyidx + -]->minor)
            )));
    }

    
// line 482 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r41()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('foreach'array_merge($this->yystack$this->yyidx ]->minor, array(
                array(
'from' => $this->yystack$this->yyidx + -]->minor),
                array(
'item' => $this->yystack$this->yyidx + -]->minor),
                array(
'key' => $this->yystack$this->yyidx + -]->minor)
            )));
    }

    
// line 487 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r42()
    {
        
$this->_retvalue $this->compiler->compileTag('foreach'$this->yystack$this->yyidx ]->minor);
    }

    
// line 491 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r43()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('setfilter', array(), array(
                
'modifier_list' => array(
                    
array_merge(array($this->yystack$this->yyidx + -]->minor),
                        
$this->yystack$this->yyidx ]->minor)
                )
            ));
    }

    
// line 497 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r44()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag('setfilter', array(), array(
                
'modifier_list' => array_merge(array(
                    
array_merge(array(
                        
$this->yystack$this->yyidx +
                                        -
]->minor
                    
), $this->yystack$this->yyidx + -]->minor)
                ), 
$this->yystack$this->yyidx ]->minor)
            ));
    }

    
// line 506 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r45()
    {
        
$tag =
            
trim(substr($this->yystack$this->yyidx ]->minor$this->compiler->getLdelLength(),
                -
$this->compiler->getRdelLength()), ' /');
        if (
$tag === 'strip') {
            
$this->strip false;
            
$this->_retvalue null;
        } else {
            
$this->_retvalue $this->compiler->compileTag($tag 'close', array());
        }
    }

    
// line 510 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r46()
    {
        
$this->_retvalue $this->compiler->compileTag($this->yystack$this->yyidx ]->minor 'close', array());
    }

    
// line 515 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r47()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag($this->yystack$this->yyidx + -]->minor 'close', array(),
                array(
'modifier_list' => $this->yystack$this->yyidx ]->minor));
    }

    
// line 519 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r48()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag($this->yystack$this->yyidx + -]->minor 'close', array(),
                array(
'object_method' => $this->yystack$this->yyidx ]->minor));
    }

    
// line 527 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r49()
    {
        
$this->_retvalue =
            
$this->compiler->compileTag($this->yystack$this->yyidx + -]->minor 'close', array(), array(
                
'object_method' => $this->yystack$this->yyidx + -]->minor,
                
'modifier_list' => $this->yystack$this->yyidx ]->minor
            
));
    }

    
// line 533 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r50()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor;
        
$this->_retvalue[] = $this->yystack$this->yyidx ]->minor;
    }

    
// line 538 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r51()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx ]->minor);
    }

    
// line 543 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r52()
    {
        
$this->_retvalue = array();
    }

    
// line 554 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r53()
    {
        if (
defined($this->yystack$this->yyidx ]->minor)) {
            if (
$this->security) {
                
$this->security->isTrustedConstant($this->yystack$this->yyidx ]->minor$this->compiler);
            }
            
$this->_retvalue =
                array(
$this->yystack$this->yyidx + -]->minor => $this->yystack$this->yyidx ]->minor);
        } else {
            
$this->_retvalue =
                array(
                    
$this->yystack$this->yyidx + -]->minor => ''' .
                                                                  $this->yystack[ $this->yyidx + 0 ]->minor .
                                                                  '''
                
);
        }
    }

    
// line 562 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r54()
    {
        
$this->_retvalue =
            array(
                
trim($this->yystack$this->yyidx + -]->minor" =nrt") => $this->yystack$this->yyidx +
                                                                                                
]->minor
            
);
    }

    
// line 574 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r56()
    {
        
$this->_retvalue ''' . $this->yystack[ $this->yyidx + 0 ]->minor . ''';
    }

    
// line 587 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r59()
    {
        
$this->_retvalue =
            array(
$this->yystack$this->yyidx + -]->minor => $this->yystack$this->yyidx ]->minor);
    }

    
// line 592 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r61()
    {
        
$this->yystack$this->yyidx + -]->minor[] = $this->yystack$this->yyidx ]->minor;
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor;
    }

    
// line 599 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r62()
    {
        
$this->_retvalue =
            array(
                
'var'   => ''' . substr($this->yystack[ $this->yyidx + -2 ]->minor, 1) . ''',
                
'value' => $this->yystack$this->yyidx ]->minor
            
);
    }

    
// line 603 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r64()
    {
        
$this->_retvalue =
            array(
                
'var'   => $this->yystack$this->yyidx + -]->minor,
                
'value' => $this->yystack$this->yyidx ]->minor
            
);
    }

    
// line 623 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r65()
    {
        
$this->_retvalue $this->yystack$this->yyidx + -]->minor;
    }

    
// line 628 "../smarty/lexer/smarty_internal_templateparser.y"
    
public function yy_r68()
    {
        
$this->_retvalue =
            
'$_smarty_tpl->getStreamVariable('' .
            substr($this->yystack[ $this->yyidx + -2 ]->minor, 1) .
            '
://' .
            
$this->yystack$this->yyidx ]->minor .
            
'')';
    }

    // line 638 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r69()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + -2 ]->minor .
            trim($this->yystack[ $this->yyidx + -1 ]->minor) .
            $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 642 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r71()
    {
        $this->_retvalue =
            $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 646 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r72()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + -2 ]->minor .
            $this->yystack[ $this->yyidx + -1 ]->minor .
            $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 650 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r73()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor . $this->yystack[ $this->yyidx + -1 ]->minor . '
)';
    }

    // line 654 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r74()
    {
        $this->_retvalue =
            '
in_array(' .
            $this->yystack[ $this->yyidx + -2 ]->minor .
            '
,' .
            $this->yystack[ $this->yyidx + 0 ]->minor .
            '
)';
    }

    // line 662 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r75()
    {
        $this->_retvalue =
            '
in_array(' .
            $this->yystack[ $this->yyidx + -2 ]->minor .
            '
,(array)' .
            $this->yystack[ $this->yyidx + 0 ]->minor .
            '
)';
    }

    // line 666 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r76()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + -5 ]->minor .
            ' 
' .
            $this->compiler->compileVariable(''' 
substr($this->yystack$this->yyidx + -]->minor1) . ''') .
            ' 
' .
            $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 676 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r77()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + -5 ]->minor .
            ' 
' .
            $this->yystack[ $this->yyidx + -2 ]->minor .
            ' 
' .
            $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 681 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r79()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 702 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r80()
    {
        $this->_retvalue = '
!' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 706 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r85()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -2 ]->minor . '
.' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 710 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r86()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . '
.';
    }

    // line 715 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r87()
    {
        $this->_retvalue = '
.' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 732 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r88()
    {
        if (defined($this->yystack[ $this->yyidx + 0 ]->minor)) {
            if ($this->security) {
                $this->security->isTrustedConstant($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler);
            }
            $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
        } else {
            $this->_retvalue = ''' 
$this->yystack$this->yyidx ]->minor ''';
        }
    }

    // line 736 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r90()
    {
        $this->_retvalue = '
(' . $this->yystack[ $this->yyidx + -1 ]->minor . ')';
    }

    // line 754 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r91()
    {
        $this->_retvalue =
            $this->yystack[ $this->yyidx + -2 ]->minor .
            $this->yystack[ $this->yyidx + -1 ]->minor .
            $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 765 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r95()
    {
        $prefixVar = $this->compiler->getNewPrefixVariable();
        if ($this->yystack[ $this->yyidx + -2 ]->minor[ '
var' ] === ''smarty'') {
            $this->compiler->appendPrefixCode("<?php {$prefixVar} = " .
                                              $this->compiler->compileTag('
private_special_variable', array(),
                                                  $this->yystack[ $this->yyidx +
                                                                  -2 ]->minor[ '
smarty_internal_index' ]) .
                                              '
;?>');
        } else {
            $this->compiler->appendPrefixCode("<?php  {$prefixVar} = " .
                                              
$this->compiler->compileVariable($this->yystack$this->yyidx +
                                                                                               -2 ]->minor[ 'var' ]) .
                                              
$this->yystack$this->yyidx + -2 ]->minor[ 'smarty_internal_index' ] .
                                              ';?>');
        }
        
$this->_retvalue =
            
$prefixVar .
            '::' .
            
$this->yystack$this->yyidx + 0 ]->minor[ 0 ] .
            
$this->yystack$this->yyidx + 0 ]->minor[ 1 ];
    }

    // line 772 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r96()
    {
        
$prefixVar = $this->compiler->getNewPrefixVariable();
        
$tmp = $this->compiler->appendCode('<?php ob_start();?>', $this->yystack$this->yyidx + 0 ]->minor);
        
$this->compiler->appendPrefixCode($this->compiler->appendCode($tmp, "<?php {$prefixVar} = ob_get_clean();?>"));
        $this->_retvalue = $prefixVar;
    }

    // line 785 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r97()
    {
        $this->_retvalue =
            $this->compiler->compileTag('private_modifier', array(), array(
                'value'        => $this->yystack[ $this->yyidx + -1 ]->minor,
                'modifierlist' => $this->yystack[ $this->yyidx + 0 ]->minor
            ));
    }

    // line 804 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r100()
    {
        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))) {
            if (isset($this->smarty->registered_classes[ $this->yystack[ $this->yyidx + -2 ]->minor ])) {
                $this->_retvalue =
                    $this->smarty->registered_classes[ $this->yystack[ $this->yyidx + -2 ]->minor ] .
                    '::' .
                    $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
                    $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
            } else {
                $this->_retvalue =
                    $this->yystack[ $this->yyidx + -2 ]->minor .
                    '::' .
                    $this->yystack[ $this->yyidx + 0 ]->minor[ 0 ] .
                    $this->yystack[ $this->yyidx + 0 ]->minor[ 1 ];
            }
        } else {
            $this->compiler->trigger_template_error('static class '' .
                                                    $this->yystack[ $this->yyidx + -2 ]->minor .
                                                    '' is undefined or not allowed by security setting');
        }
    }

    // line 815 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r102()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 818 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r103()
    {
        $this->_retvalue =
            $this->compiler->compileVariable(''' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . ''');
    }

    // line 831 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r104()
    {
        if ($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ] === ''smarty'') {
            $smarty_var =
                $this->compiler->compileTag('private_special_variable', array(),
                    $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ]);
            $this->_retvalue = $smarty_var;
        } else {
            // used for array reset,next,prev,end,current
            $this->last_variable = $this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ];
            $this->last_index = $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
            $this->_retvalue =
                $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor[ 'var' ]) .
                $this->yystack[ $this->yyidx + 0 ]->minor[ 'smarty_internal_index' ];
        }
    }

    // line 841 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r105()
    {
        $this->_retvalue =
            '$_smarty_tpl->tpl_vars[' .
            $this->yystack[ $this->yyidx + -2 ]->minor .
            ']->' .
            $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 845 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r107()
    {
        $this->_retvalue =
            $this->compiler->compileConfigVariable(''' . $this->yystack[ $this->yyidx + -1 ]->minor . ''');
    }

    // line 849 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r108()
    {
        $this->_retvalue =
            '(is_array($tmp = ' .
            $this->compiler->compileConfigVariable(''' . $this->yystack[ $this->yyidx + -2 ]->minor . ''') .
            ') ? $tmp' .
            $this->yystack[ $this->yyidx + 0 ]->minor .
            ' :null)';
    }

    // line 853 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r109()
    {
        $this->_retvalue = $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + -1 ]->minor);
    }

    // line 857 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r110()
    {
        $this->_retvalue =
            '(is_array($tmp = ' .
            $this->compiler->compileConfigVariable($this->yystack[ $this->yyidx + -2 ]->minor) .
            ') ? $tmp' .
            $this->yystack[ $this->yyidx + 0 ]->minor .
            ' : null)';
    }

    // line 860 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r111()
    {
        $this->_retvalue =
            array(
                'var'                   => ''' . substr($this->yystack[ $this->yyidx + -1 ]->minor, 1) . ''',
                'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor
            );
    }

    // line 873 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r112()
    {
        $this->_retvalue =
            array(
                'var'                   => $this->yystack[ $this->yyidx + -1 ]->minor,
                'smarty_internal_index' => $this->yystack[ $this->yyidx + 0 ]->minor
            );
    }

    // line 879 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r114()
    {
        return;
    }

    // line 882 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r115()
    {
        $this->_retvalue =
            '[' .
            $this->compiler->compileVariable(''' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . ''') .
            ']';
    }

    // line 886 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r116()
    {
        $this->_retvalue = '[' . $this->compiler->compileVariable($this->yystack[ $this->yyidx + 0 ]->minor) . ']';
    }

    // line 890 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r117()
    {
        $this->_retvalue =
            '[' .
            $this->compiler->compileVariable($this->yystack[ $this->yyidx + -2 ]->minor) .
            '->' .
            $this->yystack[ $this->yyidx + 0 ]->minor .
            ']';
    }

    // line 894 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r118()
    {
        $this->_retvalue = '['' . $this->yystack[ $this->yyidx + 0 ]->minor . '']';
    }

    // line 899 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r119()
    {
        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + 0 ]->minor . ']';
    }

    // line 904 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r120()
    {
        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + -1 ]->minor . ']';
    }

    // line 908 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r121()
    {
        $this->_retvalue =
            '[' .
            $this->compiler->compileTag('private_special_variable', array(),
                '['section']['' . $this->yystack[ $this->yyidx + -1 ]->minor . '']['index']') .
            ']';
    }

    // line 911 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r122()
    {
        $this->_retvalue =
            '[' .
            $this->compiler->compileTag('private_special_variable', array(), '['section']['' .
                                                                             $this->yystack[ $this->yyidx +
                                                                                             -3 ]->minor .
                                                                             '']['' .
                                                                             $this->yystack[ $this->yyidx +
                                                                                             -1 ]->minor .
                                                                             '']') .
            ']';
    }

    // line 917 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r123()
    {
        $this->_retvalue = '[' . $this->yystack[ $this->yyidx + -1 ]->minor . ']';
    }

    // line 933 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r125()
    {
        $this->_retvalue =
            '[' .
            $this->compiler->compileVariable(''' . substr($this->yystack[ $this->yyidx + -1 ]->minor, 1) . ''') .
            ']';
    }

    // line 943 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r129()
    {
        $this->_retvalue = '[]';
    }

    // line 947 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r130()
    {
        $this->_retvalue = ''' . substr($this->yystack[ $this->yyidx + 0 ]->minor, 1) . ''';
    }

    // line 952 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r131()
    {
        $this->_retvalue = '''';
    }

    // line 960 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r132()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . '.' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 966 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r134()
    {
        $var =
            trim(substr($this->yystack[ $this->yyidx + 0 ]->minor, $this->compiler->getLdelLength(),
                -$this->compiler->getRdelLength()), ' $');
        $this->_retvalue = $this->compiler->compileVariable(''' . $var . ''');
    }

    // line 973 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r135()
    {
        $this->_retvalue = '(' . $this->yystack[ $this->yyidx + -1 ]->minor . ')';
    }

    // line 982 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r136()
    {
        if ($this->yystack[ $this->yyidx + -1 ]->minor[ 'var' ] === ''smarty'') {
            $this->_retvalue =
                $this->compiler->compileTag('private_special_variable', array(),
                    $this->yystack[ $this->yyidx + -1 ]->minor[ 'smarty_internal_index' ]) .
                $this->yystack[ $this->yyidx + 0 ]->minor;
        } else {
            $this->_retvalue =
                $this->compiler->compileVariable($this->yystack[ $this->yyidx + -1 ]->minor[ 'var' ]) .
                $this->yystack[ $this->yyidx + -1 ]->minor[ 'smarty_internal_index' ] .
                $this->yystack[ $this->yyidx + 0 ]->minor;
        }
    }

    // line 987 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r137()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 992 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r138()
    {
        $this->_retvalue = $this->yystack[ $this->yyidx + -1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 999 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r139()
    {
        if ($this->security && substr($this->yystack[ $this->yyidx + -1 ]->minor, 0, 1) === '_') {
            $this->compiler->trigger_template_error(self::ERR1);
        }
        $this->_retvalue =
            '->' . $this->yystack[ $this->yyidx + -1 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 1006 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r140()
    {
        if ($this->security) {
            $this->compiler->trigger_template_error(self::ERR2);
        }
        $this->_retvalue =
            '->{' .
            $this->compiler->compileVariable($this->yystack[ $this->yyidx + -1 ]->minor) .
            $this->yystack[ $this->yyidx + 0 ]->minor .
            '}';
    }

    // line 1013 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r141()
    {
        if ($this->security) {
            $this->compiler->trigger_template_error(self::ERR2);
        }
        $this->_retvalue =
            '->{' . $this->yystack[ $this->yyidx + -2 ]->minor . $this->yystack[ $this->yyidx + 0 ]->minor . '}';
    }

    // line 1021 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r142()
    {
        if ($this->security) {
            $this->compiler->trigger_template_error(self::ERR2);
        }
        $this->_retvalue =
            '->{'' .
            $this->yystack[ $this->yyidx + -4 ]->minor .
            ''.' .
            $this->yystack[ $this->yyidx + -2 ]->minor .
            $this->yystack[ $this->yyidx + 0 ]->minor .
            '}';
    }

    // line 1029 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r143()
    {
        $this->_retvalue = '->' . $this->yystack[ $this->yyidx + 0 ]->minor;
    }

    // line 1037 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r144()
    {
        $this->_retvalue =
            $this->compiler->compilePHPFunctionCall($this->yystack[ $this->yyidx + -3 ]->minor,
                $this->yystack[ $this->yyidx + -1 ]->minor);
    }

    // line 1044 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r145()
    {
        if ($this->security && substr($this->yystack[ $this->yyidx + -3 ]->minor, 0, 1) === '_') {
            $this->compiler->trigger_template_error(self::ERR1);
        }
        $this->_retvalue =
            $this->yystack[ $this->yyidx + -3 ]->minor .
            '(' .
            implode(',', $this->yystack[ $this->yyidx + -1 ]->minor) .
            ')';
    }

    // line 1055 "../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r146()
    {
        if ($this->security) {
            $this->compiler->trigger_template_error(self::ERR2);
        }
        $prefixVar = $this->compiler->getNewPrefixVariable();
        $this->compiler->appendPrefixCode("<?php {$prefixVar} = " .
                                          
$this->compiler->compileVariable(''' .
                                                                           substr(
$this->yystack$this->yyidx +
                                                                                                  -3 ]->minor, 1) .
                                                                           ''') .
                                          ';?>');
        
$this->_retvalue = $prefixVar . '(' . implode(',', $this->yystack$this->yyidx + -1 ]->minor) . ')';
    }

    // line 1072 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r147()
    {
        
$this->_retvalue =
            array_merge(
$this->yystack$this->yyidx + -2 ]->minor, array($this->yystack$this->yyidx + 0 ]->minor));
    }

    // line 1076 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r150()
    {
        
$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 1084 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r151()
    {
        
$this->_retvalue =
            array(array_merge(
$this->yystack$this->yyidx + -1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor));
    }

    // line 1092 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r153()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + 0 ]->minor);
    }

    // line 1105 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r154()
    {
        
$this->_retvalue =
            array_merge(
$this->yystack$this->yyidx + -1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor);
    }

    // line 1114 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r157()
    {
        
$this->_retvalue =
            array(trim(
$this->yystack$this->yyidx + -1 ]->minor) . $this->yystack$this->yyidx + 0 ]->minor);
    }

    // line 1119 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r159()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + 0 ]->minor, '', 'method');
    }

    // line 1124 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r160()
    {
        
$this->_retvalue =
            array(
$this->yystack$this->yyidx + -1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor, 'method');
    }

    // line 1129 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r161()
    {
        
$this->_retvalue = array($this->yystack$this->yyidx + 0 ]->minor, '');
    }

    // line 1134 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r162()
    {
        
$this->_retvalue =
            array(
$this->yystack$this->yyidx + -1 ]->minor, $this->yystack$this->yyidx + 0 ]->minor, 'property');
    }

    // line 1140 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r163()
    {
        
$this->_retvalue =
            array(
                
$this->yystack$this->yyidx + -2 ]->minor,
                
$this->yystack$this->yyidx + -1 ]->minor . $this->yystack$this->yyidx + 0 ]->minor, 'property'
            );
    }

    // line 1144 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r164()
    {
        
$this->_retvalue = ' ' . trim($this->yystack$this->yyidx + 0 ]->minor) . ' ';
    }

    // line 1163 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r165()
    {
        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 1176 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r166()
    {
        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 1190 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r167()
    {
        static 
$scond = array(
            'iseven'    => '!(1 & ',
            'isnoteven' => '(1 & ',
            'isodd'     => '(1 & ',
            'isnotodd'  => '!(1 & ',
        );
        
$op = strtolower(str_replace(' ', '', $this->yystack$this->yyidx + 0 ]->minor));
        
$this->_retvalue = $scond[ $op ];
    }

    // line 1201 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r168()
    {
        
$this->_retvalue = 'array(' . $this->yystack$this->yyidx + -1 ]->minor . ')';
    }

    // line 1209 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r171()
    {
        
$this->_retvalue = $this->yystack$this->yyidx + -2 ]->minor . ',' . $this->yystack$this->yyidx + 0 ]->minor;
    }

    // line 1213 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r173()
    {
        
$this->_retvalue =
            
$this->yystack$this->yyidx + -2 ]->minor . '=>' . $this->yystack$this->yyidx + 0 ]->minor;
    }

    // line 1229 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r174()
    {
        
$this->_retvalue =
            ''' . 
$this->yystack$this->yyidx + -2 ]->minor . ''=>' . $this->yystack$this->yyidx + 0 ]->minor;
    }

    // line 1235 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r177()
    {
        
$this->compiler->leaveDoubleQuote();
        
$this->_retvalue = $this->yystack$this->yyidx + -1 ]->minor->to_smarty_php($this);
    }

    // line 1240 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r178()
    {
        
$this->yystack$this->yyidx + -1 ]->minor->append_subtree($this$this->yystack$this->yyidx + 0 ]->minor);
        
$this->_retvalue = $this->yystack$this->yyidx + -1 ]->minor;
    }

    // line 1244 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r179()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Dq($this$this->yystack$this->yyidx + 0 ]->minor);
    }

    // line 1248 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r180()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Code('(string)' . $this->yystack$this->yyidx + -1 ]->minor);
    }

    // line 1252 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r181()
    {
        
$this->_retvalue =
            new Smarty_Internal_ParseTree_Code('(string)(' . 
$this->yystack$this->yyidx + -1 ]->minor . ')');
    }

    // line 1264 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r182()
    {
        
$this->_retvalue =
            new Smarty_Internal_ParseTree_Code('(string)
$_smarty_tpl->tpl_vars['' .
                                               substr(
$this->yystack$this->yyidx + 0 ]->minor, 1) .
                                               '']->value');
    }

    // line 1268 "
../smarty/lexer/smarty_internal_templateparser.y"
    public function yy_r185()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_Tag($this$this->yystack$this->yyidx + 0 ]->minor);
    }

    public function yy_r186()
    {
        
$this->_retvalue = new Smarty_Internal_ParseTree_DqContent($this->yystack$this->yyidx + 0 ]->minor);
    }

    public function yy_reduce(
$yyruleno)
    {
        if (
$this->yyTraceFILE && $yyruleno >= 0
            && 
$yyruleno < count(self::$yyRuleName)) {
            fprintf(
$this->yyTraceFILE, "%sReduce (%d) [%s].n",
                
$this->yyTracePrompt$yyruleno,
                self::
$yyRuleName[ $yyruleno ]);
        }
        
$this->_retvalue = $yy_lefthand_side = null;
        if (isset(self::
$yyReduceMap[ $yyruleno ])) {
            // call the action
            
$this->_retvalue = null;
            
$this->{'yy_r' . self::$yyReduceMap[ $yyruleno ]}();
            
$yy_lefthand_side = $this->_retvalue;
        }
        
$yygoto = self::$yyRuleInfo[ $yyruleno ][ 0 ];
        
$yysize = self::$yyRuleInfo[ $yyruleno ][ 1 ];
        
$this->yyidx -= $yysize;
        for (
$i = $yysize$i$i--) {
            // pop all of the right-hand side parameters
            array_pop(
$this->yystack);
        }
        
$yyact = $this->yy_find_reduce_action($this->yystack$this->yyidx ]->stateno, $yygoto);
        if (
$yyact < self::YYNSTATE) {
            if (!
$this->yyTraceFILE && $yysize) {
                
$this->yyidx++;
                
$x = new TP_yyStackEntry;
                
$x->stateno = $yyact;
                
$x->major = $yygoto;
                
$x->minor = $yy_lefthand_side;
                
$this->yystack$this->yyidx ] = $x;
            } else {
                
$this->yy_shift($yyact$yygoto$yy_lefthand_side);
            }
        } elseif (
$yyact === self::YYNSTATE + self::YYNRULE + 1) {
            
$this->yy_accept();
        }
    }

    public function yy_parse_failed()
    {
        if (
$this->yyTraceFILE) {
            fprintf(
$this->yyTraceFILE, "%sFail!n", $this->yyTracePrompt);
        }
        while (
$this->yyidx >= 0) {
            
$this->yy_pop_parser_stack();
        }
    }

    public function yy_syntax_error(
$yymajor$TOKEN)
    {
        // line 214 "
../smarty/lexer/smarty_internal_templateparser.y"
        
$this->internalError = true;
        
$this->yymajor = $yymajor;
        
$this->compiler->trigger_template_error();
    }

    public function yy_accept()
    {
        if (
$this->yyTraceFILE) {
            fprintf(
$this->yyTraceFILE, "%sAccept!n", $this->yyTracePrompt);
        }
        while (
$this->yyidx >= 0) {
            
$this->yy_pop_parser_stack();
        }
        // line 207 "
../smarty/lexer/smarty_internal_templateparser.y"
        
$this->successful = !$this->internalError;
        
$this->internalError = false;
        
$this->retvalue = $this->_retvalue;
    }

    public function doParse(
$yymajor$yytokenvalue)
    {
        
$yyerrorhit = 0;   /* True if yymajor has invoked an error */
        if (
$this->yyidx === null || $this->yyidx < 0) {
            
$this->yyidx = 0;
            
$this->yyerrcnt = -1;
            
$x = new TP_yyStackEntry;
            
$x->stateno = 0;
            
$x->major = 0;
            
$this->yystack = array();
            
$this->yystack[] = $x;
        }
        
$yyendofinput = ($yymajor == 0);
        if (
$this->yyTraceFILE) {
            fprintf(
$this->yyTraceFILE, "%sInput %sn",
                
$this->yyTracePrompt$this->yyTokenName$yymajor ]);
        }
        do {
            
$yyact = $this->yy_find_shift_action($yymajor);
            if (
$yymajor < self::YYERRORSYMBOL &&
                !
$this->yy_is_expected_token($yymajor)) {
                // force a syntax error
                
$yyact = self::YY_ERROR_ACTION;
            }
            if (
$yyact < self::YYNSTATE) {
                
$this->yy_shift($yyact$yymajor$yytokenvalue);
                
$this->yyerrcnt--;
                if (
$yyendofinput && $this->yyidx >= 0) {
                    
$yymajor = 0;
                } else {
                    
$yymajor = self::YYNOCODE;
                }
            } elseif (
$yyact < self::YYNSTATE + self::YYNRULE) {
                
$this->yy_reduce($yyact - self::YYNSTATE);
            } elseif (
$yyact === self::YY_ERROR_ACTION) {
                if (
$this->yyTraceFILE) {
                    fprintf(
$this->yyTraceFILE, "%sSyntax Error!n",
                        
$this->yyTracePrompt);
                }
                if (self::YYERRORSYMBOL) {
                    if (
$this->yyerrcnt < 0) {
                        
$this->yy_syntax_error($yymajor$yytokenvalue);
                    }
                    
$yymx = $this->yystack$this->yyidx ]->major;
                    if (
$yymx === self::YYERRORSYMBOL || $yyerrorhit) {
                        if (
$this->yyTraceFILE) {
                            fprintf(
$this->yyTraceFILE, "%sDiscard input token %sn",
                                
$this->yyTracePrompt$this->yyTokenName$yymajor ]);
                        }
                        
$this->yy_destructor($yymajor$yytokenvalue);
                        
$yymajor = self::YYNOCODE;
                    } else {
                        while (
$this->yyidx >= 0 &&
                               
$yymx !== self::YYERRORSYMBOL &&
                               (
$yyact = $this->yy_find_shift_action(self::YYERRORSYMBOL)) >= self::YYNSTATE
                        ) {
                            
$this->yy_pop_parser_stack();
                        }
                        if (
$this->yyidx < 0 || $yymajor == 0) {
                            
$this->yy_destructor($yymajor$yytokenvalue);
                            
$this->yy_parse_failed();
                            
$yymajor = self::YYNOCODE;
                        } elseif (
$yymx !== self::YYERRORSYMBOL) {
                            
$u2 = 0;
                            
$this->yy_shift($yyact, self::YYERRORSYMBOL, $u2);
                        }
                    }
                    
$this->yyerrcnt = 3;
                    
$yyerrorhit = 1;
                } else {
                    if (
$this->yyerrcnt <= 0) {
                        
$this->yy_syntax_error($yymajor$yytokenvalue);
                    }
                    
$this->yyerrcnt = 3;
                    
$this->yy_destructor($yymajor$yytokenvalue);
                    if (
$yyendofinput) {
                        
$this->yy_parse_failed();
                    }
                    
$yymajor = self::YYNOCODE;
                }
            } else {
                
$this->yy_accept();
                
$yymajor = self::YYNOCODE;
            }
        } while (
$yymajor !== self::YYNOCODE && $this->yyidx >= 0);
    }
}
Онлайн: 2
Реклама