smarty_internal_templateparser.php 166 KB

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