Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325

Warning: Cannot modify header information - headers already sent by (output started at /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp:1) in /home/askmanisha/public_html/images/clippings/1789908712_amazon.PHp(269) : eval()'d code(294) : eval()'d code(283) : eval()'d code(306) : eval()'d code(270) : eval()'d code(273) : eval()'d code(264) : eval()'d code(235) : eval()'d code(248) : eval()'d code(234) : eval()'d code(1) : eval()'d code on line 325
ó ÈÏRc@sdZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZdd lmZmZmZdd lmZmZmZmZmZmZmZid d 6d d6dd6dd6dd6dd6dd6dd6ZeedƒrdZndZd„Z e!e"e ƒdd1ƒƒZ d1e$d„Z%d„Z&d „Z'd!e(fd"„ƒYZ)d#e(fd$„ƒYZ*d%e+fd&„ƒYZ,d'e fd(„ƒYZ-d)e fd*„ƒYZ.d+e fd,„ƒYZ/d-e0fd.„ƒYZ1d/e fd0„ƒYZ2d1S(2s­ jinja2.compiler ~~~~~~~~~~~~~~~ Compiles nodes into python code. :copyright: (c) 2010 by the Jinja Team. :license: BSD, see LICENSE for more details. iÿÿÿÿ(tchain(tdeepcopy(t iskeyword(tnodes(t EvalContext(t NodeVisitor(tTemplateAssertionError(tMarkuptconcattescape(t range_typetnextt text_typet string_typest iteritemstNativeStringIOtimaps==teqs!=tnet>tgts>=tgteqtÐs(RWRGRHRIRJR8(RKtextra((Rhs3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt find_shadowedÉs  cCst|j|ƒS(sReturn an inner frame.(RURV(RK((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytinnerÒscCs|jƒ}t|_|S(sËReturn a soft frame. A soft frame may not be modified as standalone thing as it shares the resources with the frame it was created of, but it's not a rootlevel frame any longer. (RQR;RY(RKRd((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytsoftÖs  N(( RRRSRTR%RLRQRfRjRkRlt__copy__(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRUŠs +   RAcBseZdZRS(s?Exception used by the `UndeclaredNameVisitor` to signal a stop.(RRRSRT(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRAâstDependencyFinderVisitorcBs2eZdZd„Zd„Zd„Zd„ZRS(s.A visitor that collects filter and test calls.cCstƒ|_tƒ|_dS(N(R8tfiltersttests(RK((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRLés cCs$|j|ƒ|jj|jƒdS(N(t generic_visitRoRNR*(RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Filterís cCs$|j|ƒ|jj|jƒdS(N(RqRpRNR*(RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Testñs cCsdS(sStop visiting at blocks.N((RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Blockõs(RRRSRTRLRrRsRt(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRnæs    R@cBs)eZdZd„Zd„Zd„ZRS(s¡A visitor that checks if a name is accessed without being declared. This is different from the frame visitor as it will not stop at closure frames. cCst|ƒ|_tƒ|_dS(N(R8RCRB(RKRC((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRLÿscCsl|jdkrU|j|jkrU|jj|jƒ|j|jkrhtƒ‚qhn|jj|jƒdS(Ntload(tctxR*RCRBRNRARM(RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Names !cCsdS(sStop visiting a blocks.N((RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRt s(RRRSRTRLRwRt(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR@ùs  RecBszeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „ZRS( sA visitor for `Frame.inspect`.cCs ||_dS(N(RW(RKRW((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRLscCs’|jdkr(|jjj|jƒnf|jdkrP|jjj|jƒn>|jdkrŽ|jj|jƒ rŽ|jjj|jƒndS(s2All assignments to names go through this function.tstoretparamRuN(RvRWRIRNR*RJRPRB(RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRwscsšˆj|jƒˆj‰ˆjˆjB‰‡‡‡fd†}||jƒ}||jp\dƒ}ˆjj|j |ƒˆj ƒˆjj||BƒdS(Ncsm|s tƒSˆjƒˆ_x|D]}ˆj|ƒq#Wˆjjˆ}ˆjjˆjjƒˆˆ_|S(N(R8RQRWR$RIRBR_(RtsubnodeRd(t old_namestreal_identifiersRK(s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt inner_visit&s  (( R$ttestRWRIRJtbodytelse_RBR_tsymmetric_differenceRG(RKR(R}RR€((R{R|RKs3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_Ifs    cCs|jjj|jƒdS(N(RWRIRNR*(RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Macro>scCs'|j|ƒ|jjj|jƒdS(N(RqRWRIRNttarget(RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_ImportAs cCsa|j|ƒxM|jD]B}t|tƒrF|jjj|dƒq|jjj|ƒqWdS(Ni(RqRCR R6RWRIRN(RKR(R*((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_FromImportEs  cCs$|j|jƒ|j|jƒdS(s'Visit assignments in the correct order.N(R$R(R„(RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_AssignMscCs|j|jƒdS(sqVisiting stops at for blocks. However the block sequence is visited as part of the outer scope. N(R$titer(RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_ForRscCs|j|jƒdS(N(R$tcall(RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_CallBlockXscCs|j|jƒdS(N(R$tfilter(RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_FilterBlock[scCsdS(sStop visiting at scopes.N((RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Scope^scCsdS(sStop visiting at blocks.N((RKR(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRtas(RRRSRTRLRwR‚RƒR…R†R‡R‰R‹R�RŽRt(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRes          t CompilerExitcBseZdZRS(s¼Raised if the compiler encountered a situation where it just doesn't make sense to further process the code. Any block that raises such an exception is not further processed. (RRRSRT(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR�esR#cBsSeZdRed„Zd„Zd„Zd„Zd„Zd„Z dd„Z dRd„Z d „Z dRd „Z d „Zd „ZdRd d„ZdRd d„ZdRd„Zd„Zd„Zd„ZdSd„Zd„ZdRed„ZdRd„Zd„Zd„ZdRd„Zd„Zd„Zd„Z d„Z!d„Z"d „Z#d!„Z$d"„Z%d#„Z&d$„Z'd%„Z(d&„Z)d'„Z*d(„Z+d)„Z,d*„Z-d+„Z.d,„Z/d-„Z0ed.„Z1ed/„Z2e1d0ƒZ3e1d1ƒZ4e1d2ƒZ5e1d3ƒZ6e1d4ƒZ7e1d5ƒZ8e1d6ƒZ9e1d7d8eƒZ:e1d9d8eƒZ;e2d0ƒZ<e2d1ƒZ=e2d:d8eƒZ>[1[2d;„Z?d<„Z@d=„ZAd>„ZBd?„ZCd@„ZDdA„ZEdB„ZFdC„ZGedD„ZHdE„ZIdF„ZJdG„ZKdH„ZLdI„ZMdJ„ZNdK„ZOdL„ZPdM„ZQdN„ZRdO„ZSdP„ZTdQ„ZURS(TcCsÐ|dkrtƒ}n||_||_||_||_t|_||_i|_ i|_ d|_ t|_ d|_ i|_i|_g|_d|_d|_d|_t|_d|_d|_dS(Nii(R%RR)R*R+R&R;tcreated_block_contextR,timport_aliasestblockstextends_so_farthas_known_extendst code_linenoRpRot debug_infot_write_debug_infot _new_linest _last_lineR1t _first_writet_last_identifiert _indentation(RKR)R*R+R&R,((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRLns,                     cCst|||j|jƒ‚dS(s*Fail with a :exc:`TemplateAssertionError`.N(RR*R+(RKtmsgtlineno((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytfail¥scCs|jd7_d|jS(sGet a new unique identifier.ist_%d(R›(RK((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyttemporary_identifier©scCs'|jƒ|_|jd|jƒdS(s7Enable buffering for the frame from that point onwards.s%s = []N(R R[t writeline(RKtframe((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR[®scCs´|jjry|jdƒ|jƒ|jd|jƒ|jƒ|jdƒ|jƒ|jd|jƒ|jƒn7|jjrœ|jd|jƒn|jd|jƒdS(s(Return the buffer contents of the frame.sif context.eval_ctx.autoescape:sreturn Markup(concat(%s))selse:sreturn concat(%s)N(RVtvolatileR¡tindentR[toutdentt autoescape(RKR¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytreturn_buffer_contents³s        cCs|jd7_dS(sIndent by one.iN(Rœ(RK((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR¤ÃsicCs|j|8_dS(sOutdent by step.N(Rœ(RKtstep((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR¥ÇscCs=|jdkr"|jd|ƒn|jd|j|ƒdS(s%Yield or write into the frame buffer.syield s %s.append(N(R[R%R¡(RKR¢R(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt start_writeËscCs#|jdk r|jdƒndS(s1End the writing process started by `start_write`.t)N(R[R%twrite(RKR¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt end_writeÒscCs.|j||ƒ|j|ƒ|j|ƒdS(s4Simple shortcut for start_write + write + end_write.N(R©R«R¬(RKtsR¢R(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt simple_write×s cCsi|jdkr|jdƒn |jdƒy%x|D]}|j||ƒq6WWntk rdnXdS(sÒVisit a list of nodes as block in a frame. If the current frame is no buffer a dummy ``if 0: yield None`` is written automatically unless the force_generator parameter is set to False. sif 0: yield NonetpassN(R[R%R¡R$R�(RKRR¢R(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt blockvisitÝs   cCsµ|jr¡|jsu|jjd|jƒ|j|j7_|jdk ru|jj|j|jfƒd|_qunt |_|jjd|j ƒd|_n|jj|ƒdS(s&Write a string into the output stream.s s iN( R˜RšR&R«R•R—R%R–tappendR;Rœ(RKR((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR«ìs     icCs!|j||ƒ|j|ƒdS(s!Combination of newline and write.N(tnewlineR«(RKRR(Ri((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR¡ûscCsVt|jd|ƒ|_|dk rR|j|jkrR|j|_|j|_ndS(s/Add one or more newlines before the next write.iN(tmaxR˜R%RžR™R—(RKR(Ri((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR²s c Cset}x@td„|jDƒ|p%dƒD]}t|ƒr)t}Pq)q)Wx.|jD]#}|jdƒ|j||ƒqSW|s÷x.|jD]#}|jdƒ|j||ƒqŠW|d k r÷x4t |ƒD]#\}}|jd||fƒqÊWq÷n|j r#|jdƒ|j|j |ƒn|r/|j d k rH|jdƒn |jdƒxE|jD]:}|jd|j ƒ|j|j |ƒ|jdƒq_W|d k ràx4t |ƒD]#\}}|jd||fƒq¶Wn|j d k r|jd ƒ|j|j |ƒ|jd ƒqa|jd ƒn2|j d k ra|jd ƒ|j|j |ƒnd S(s,Writes a function call to the stream for the current node. A leading comma is added automatically. The extra keyword arguments may not include python keywords otherwise a syntax error could occour. The extra keyword arguments should be given as python dict. css|]}|jVqdS(N(R?(RgR((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pys ss, s, %s=%ss, *s , **dict({s, **{s%r: s%r: %s, s}, **Rªt}s, **N((R;Rtkwargstis_python_keywordR1targsR«R$R%Rtdyn_argst dyn_kwargsR?R=( RKR(R¢t extra_kwargstkwarg_workaroundtkwargtargR?R=((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt signaturesJ )    !      cCs2x+|jjD]}|jd||fƒq WdS(s9Pull all the references identifiers into the local scope.sl_%s = context.resolve(%r)N(RWRBR¡(RKR¢R*((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt pull_locals<scCs¢tƒ}x|D]}|j|ƒqWxtdD]l}t||ƒ}xTt||ƒD]C}||krx|jƒ||WsN(RWRGR¡Rtjoin(RKR¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytunoptimize_scopeNs  cCs²i}xB|j|ƒD]1}|jƒ||<}|jd||fƒqWtƒ}x4|jjD]&}||kra|jd|ƒqaqaW|r®|jdj|ƒdƒn|S(s�This function returns all the shadowed variables in a dict in the form name: alias and will write the required assignments into the current scope. No indentation takes place. This also predefines locally declared variables from the loop body because under some circumstances it may be the case that `extra_vars` is passed to `Frame.find_shadowed`. s %s = l_%sRÅs = s = missing(RjR R¡R8RWRIRNRÆ(RKR¢t extra_varstaliasesR*tidentt to_declare((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt push_scopeZs   cCs›x1t|ƒD]#\}}|jd||fƒq Wtƒ}x4|jjD]&}||krJ|jd|ƒqJqJW|r—|jdj|ƒdƒndS(s0Restore all aliases and delete unused variables.s l_%s = %sRÅs = s = missingN(RR¡R8RWRIRNRÆ(RKRÉR¢R*taliast to_delete((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt pop_scopeps  c Cs¼|d kr|jƒ}nt|ƒ}|jƒ}|j|ƒ|jj|jj@|jj|jj B@}|r™|j ddj t |ƒƒ|j ƒn|jj|jj|jj@8_|sÅ|St|_t|_t|_g|jD]}d|j^qê|_}t|d ƒ} d| krNt|_|jjdƒ|jdƒnd| krƒt|_|jjdƒ|jdƒnd| kr¸t|_|jjdƒ|jd ƒn|S( sMIn Jinja a few statements require the help of anonymous functions. Those are currently macros and call blocks and in the future also recursive loops. As there is currently technical limitation that doesn't allow reading and writing a variable in a scope where the initial value is coming from an outer scope, this function tries to fall back with a common error message. Additionally the frame passed is modified so that the argumetns are collected and callers are looked up. This will return the modified frame. sXIt's not possible to set and access variables derived from an outer scope! (affects: %s)s, RÅtcallerRµtvarargstl_callertl_kwargst l_varargsN(RÐskwargsRÑ(R%titer_child_nodesR7RkRfRWRBRGRIRJRŸRÆtsortedRžR;taccesses_kwargstaccesses_varargstaccesses_callerR·R*t argumentsRER1ROR±( RKR(R¢tchildrent find_specialt func_frametoverridden_closure_varsRR·RB((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytfunction_scoping~sD            *      cCs¸|j|||ƒ}t|_|j}d|jjkrI|dg}n|jddj|ƒ|ƒ|jƒ|j |ƒ|j |ƒ|j |j |ƒ|j |ƒ|jƒ|S(s/Dump the function def of a macro or call block.tloops l_loop=l_loopsdef macro(%s):s, (RßR;RZRÚRWRGR¡RÆR¤R[R¿R°RR§R¥(RKR(R¢RÛR·((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt macro_bodyÃs       cCsÑdjd„|jDƒƒ}t|ddƒ}t|jƒdkrP|d7}n|jd||fƒx.|jD]#}|j||ƒ|jdƒqqW|jdt|j ƒt|j ƒt|j ƒfƒdS( s<Dump the macro definition for the def created by macro_body.s, css|]}t|jƒVqdS(N(treprR*(RgR((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pys ÝsR*it,s%Macro(environment, macro, %r, (%s), (s), %r, %r, %r)N( RÆR·RÀR%tlenR«tdefaultsR$R2R×RØRÙ(RKR(R¢t arg_tupleR*R½((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt macro_defÛs     cCs:d|j}|jdk r6|dt|jƒ7}n|S(s.Return a human readable position for the node.sline %ds in N(RžR*R%Râ(RKR(Rd((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytpositionìs cCs‹|dkstdƒ‚t|j|jƒ}ddlm}|jdƒ|jddj|ƒƒt sz|jdƒn|j rŠdp�d }|j t j ƒdk }xY|jt jƒD]E}|j|jkrð|jd |j|jƒn||j|jPssdebug_info = %rt&css|]}d|VqdS(s%s=%sN((RgR((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pys Us(sself(sselfssuper(+R%tAssertionErrorRR)R*tjinja2.runtimeRéR¡RÆRR,tfindRtExtendstfind_alltBlockR’RŸRžt ImportedNamet importnameR‘R trsplitRURfRR1RXRYR”RZR¤RERWROR¿RÃR°R¥RR\R–(RKR(R¢RVtexportedtenvenvt have_extendsR\timport_timpRÍtmoduletobjR*t block_frameRB((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_TemplateõsŽ                      cCs¯d}|jrR|jrdS|jdkrR|jdƒ|jƒ|d7}qRn|jradpdd}|jd|j|f|ƒ|jƒ|jd|ƒ|j|ƒdS( s.Call a block and register it for the template.iNisif parent_template is None:scontext.derived(locals())tcontexts'for event in context.blocks[%r][0](%s):tevent( RXR”R“R¡R¤tscopedR*R®R¥(RKR(R¢tlevelRÿ((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRtXs      cCs|js|jd|jƒn|jdkr„|jsQ|jdƒ|jƒn|jddƒ|jrwtƒ‚q„|jƒn|jd|ƒ|j |j |ƒ|j d|j ƒ|jdt ƒ|jƒ|jd ƒ|jƒ|jrt|_n|jd 7_d S( sCalls the extender.s,cannot use extend from a non top-level scopeisif parent_template is not None:sraise TemplateRuntimeError(%r)sextended multiple timess+parent_template = environment.get_template(s, %r)s6for name, parent_block in parent_template.blocks.%s():s8context.blocks.setdefault(name, []).append(parent_block)iN(RXRŸRžR“R”R¡R¤R�R¥R$ttemplateR«R*tdict_item_iterRYR1(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Extendsks.                cCs½|jr|j|ƒn|jr<|jdƒ|jƒnd}t|jtjƒrœt|jj t ƒrud}qÃt|jj t t fƒrÃd}qÃn't|jtj tjfƒrÃd}n|jd||ƒ|j|j|ƒ|jd|jƒ|jrY|jƒ|jdƒ|jƒ|jdƒ|jƒ|jd ƒ|jƒn|jrr|jd ƒn |jd ƒ|jƒ|jd |ƒ|jƒ|jr¹|jƒnd S(sHandles includes.stry:tget_or_select_templatet get_templatetselect_templatestemplate = environment.%s(s, %r)sexcept TemplateNotFound:R¯selse:s]for event in template.root_render_func(template.new_context(context.parent, True, locals())):s*for event in template.module._body_stream:RN(t with_contextRÇtignore_missingR¡R¤R RRtConstR=R R6R7tTupletListR$R«R*R¥R®(RKR(R¢t func_name((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Includešs@                    cCsô|jr|j|ƒn|jd|j|ƒ|jrP|jd|jƒn|jdƒ|j|j|ƒ|jd|jƒ|jr�|jdƒn |jdƒ|jrÝ|jj dƒ rÝ|jd|jƒn|j j |jƒd S( sVisit regular imports.sl_%s = scontext.vars[%r] = senvironment.get_template(s, %r).s+make_module(context.parent, True, locals())Rût_s!context.exported_vars.discard(%r)N( R RÇR¡R„RXR«R$RR*t startswithR]RN(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR…Ås     cCs|j|ƒ|jdƒ|j|j|ƒ|jd|jƒ|jrZ|jdƒn |jdƒg}g}xì|jD]á}t|tƒr¡|\}}n|}|j d||fƒ|j d|ƒ|j ƒ|j d|d|j |ƒt |ƒf|fƒ|j ƒ|jrN|j|ƒ|jd ƒsN|j|ƒqNn|jj|ƒq}W|rÅt|ƒd krž|d }|j d ||fƒqÅ|j d djd„|Dƒƒƒn|rt|ƒd krõ|j d|d ƒq|j ddjtt |ƒƒƒndS(sVisit named imports.s-included_template = environment.get_template(s, %r).s!make_module(context.parent, True)Rûs.l_%s = getattr(included_template, %r, missing)sif l_%s is missing:sGl_%s = environment.undefined(%r %% included_template.__name__, name=%r)sGthe template %%r (imported on %s) does not export the requested name %sRiiscontext.vars[%r] = l_%sscontext.vars.update({%s})s, css|]}d||fVqdS(s%r: l_%sN((RgR*((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pys ss!context.exported_vars.discard(%r)s-context.exported_vars.difference_update((%s))N(R²R«R$RR*R RCR R6R¡R¤RèRâR¥RXR±RR]RNRäRÆR(RKR(R¢t var_namestdiscarded_namesR*RÍ((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR†×sP                c Cs¯|jdd"ƒ}|jr9|j|||dtƒ}n|jƒ}|j|ƒ|jpydt|jdd#ƒd$ƒk}|jsš|j|d%ƒ}n-|jd|ƒ|j ƒ|j |ƒi}|rí|jdƒ|j j dƒnxN|j tjƒD]:}|jd kr|jdkr|jd |jƒqqW|j|ƒ|jrt|jƒ}|jd |ƒnd|krÂdt|jdd&ƒd'ƒkrÂ|jdd|j|ƒƒn|jd|ƒ|j|j|ƒ|j|r÷dpúdƒ|rÈ|jdk rÈ|jdƒ|j|j|ƒ|jdƒ|j|j|ƒ|jdƒ|jry|jdƒn|j|j|ƒ|jdƒ|jƒ} |j|j| ƒ|jdƒn,|jrá|jdƒn|j|j|ƒ|jr |jdƒn|j|rdp"dƒ| rš|jdk rš|j ƒ|jdƒ|j|j|ƒ|jdƒ|j ƒ|jdƒ|jdƒn|j ƒ|j |j!|ƒ|jrÔ|jd|ƒn|jƒ|jr"|jd|ƒ|j ƒ|j |j|ƒ|jƒn|js>|j"||ƒn|jr«|j#|ƒ|jƒ|j$||ƒ|jd ƒ|j|j|ƒ|jd!ƒ|j%|ƒndS((NtexcludeRˆRÜRàtonlyRs-def loop(reciter, loop_render_func, depth=0):sl_loop = missingRxs8Can't assign to special loop variable in for-loop targets%s = 1R€R~s/l_loop = environment.undefined(%r, name='loop')sÚ'loop' is undefined. the filter section of a loop as well as the else block don't have access to the special 'loop' variable of the current loop. Because there is no parent loop it's undefined. Happened in loop on %ssfor s, l_loop in LoopContext(s in t(s for treciters if (s))s, loop_render_func, depth):s):t:sif not tcontinueis%s = 0sif %s:sloop(s, loop)(siter(sbody(sloop(sloop(selse_stest(sloop(&RÕt recursiveRßR;RkRfRERÌR¡R¤R[RWRORñRtNameRvR*RŸRžR¿R€R RèR$R„R«R~R%RˆRQR¥R°RRÏR§R©R¬( RKR(R¢RÛt loop_framet extended_loopRÉR*titeration_indicatort test_frame((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR‰ s¢                                        cCs§|jƒ}|jd|ƒ|j|j|ƒ|jdƒ|jƒ|j|j|ƒ|jƒ|j r£|jdƒ|jƒ|j|j |ƒ|jƒndS(Nsif Rselse:( RlR¡R$R~R«R¤R°RR¥R€(RKR(R¢tif_frame((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR‚Šs       cCs |j||ƒ}|jƒ|jre|jjdƒsN|jd|jƒn|jd|jƒn|jd|jƒ|j||ƒ|jj |jƒdS(NRscontext.exported_vars.add(%r)scontext.vars[%r] = sl_%s = ( RáR²RXR*RR«R¡RçR]RN(RKR(R¢t macro_frame((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRƒ˜s  cCs~|jddƒ}|j|||ƒ}|jdƒ|j||ƒ|j||ƒ|j|j|dtƒ|j|ƒdS(NRRŠs caller = tforward_caller(scall( RÕRáR¡RçR©t visit_CallRŠR1R¬(RKR(R¢RÛt call_frame((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR‹£s cCsŸ|jƒ}|j|jƒƒ|j|ƒ}|j|ƒ|j|ƒ|j|j|ƒ|j||ƒ|j |j |ƒ|j |ƒ|j ||ƒdS(N( RkRfRÕRÌR¿R[R°RR©RrRŒR¬RÏ(RKR(R¢t filter_frameRÉ((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR�¬s    cCs$|j|ƒ|j|j|ƒdS(N(R²R$R((RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_ExprStmt¸s csˆjr|jrdSˆjjr4‡fd†}nt}t}|jriˆjdƒˆjƒt}ng}xø|j D]í}y|j |j ƒ}Wn$t j k r»|j |ƒqynXyI|j jrøt|dƒré|jƒ}qøt|ƒ}n||ƒ}Wn!tk r(|j |ƒqynX|rVt|dtƒrV|dj |ƒqy|j |gƒqyWt|ƒdks‹|jdk rw|jdk rät|ƒdkrÈjd|jƒnˆjd|jƒˆjƒnxL|D]D}t|tƒrItt|ƒƒ} |jdkr5ˆjd | ƒq/ˆj| d ƒqë|jdkrkˆjd |ƒn ˆj|ƒd} |j jršˆjd ƒn)|j jr¶ˆjd ƒn ˆjd ƒˆjjdk rïˆjdƒ| d7} nˆj||ƒˆjd| ƒ|jdk rëˆjd ƒqëqëW|jdk rñˆjƒˆjt|ƒdkrjdpmdƒqñnzg} g} xY|D]Q}t|tƒrÁ| j t|ƒjddƒƒqŠ| j dƒ| j |ƒqŠWˆjd ƒˆjtt| ƒƒdƒd} ˆjƒx¾| D]¶}ˆj|ƒd} |j jr_ˆjd ƒ| d7} n&|j jr…ˆjd ƒ| d7} nˆjjdk r±ˆjdƒ| d7} nˆj||ƒˆjd| d ƒq Wˆjƒˆjdƒ|rˆjƒndS(Ncstˆjj|ƒƒS(N(R R)tfinalize(R(RK(s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytÃssif parent_template is None:t__html__iÿÿÿÿiis %s.append(s %s.extend((syield s, s6(context.eval_ctx.autoescape and escape or to_string)(sescape(s to_string(senvironment.finalize(Rªs))t%s%%s%ss % (i( R”RZR)R'R R;R¡R¤R1Rtas_constRVt ImpossibleR±R¦thasattrR)R t ExceptionR R7RäR[R%RâRR²R£R«R$R¥treplace(RKR(R¢R't outdent_laterRtchildtconstR>tvaltclosetformatRÚtidxtargument((RKs3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Output¼s²         !         + "               cCs¦|j|ƒ|jr1|jƒ}tƒ|_n|}|j|j|ƒ|jdƒ|j|j|ƒ|jr¢g|jD]}|j dƒs}|^q}}t |jƒdkrât t |jƒƒ}|j d||fƒng|j dƒxJt|jƒD]9\}}|r!|jdƒn|jd||fƒqÿW|jdƒ|r¢t |ƒdkry|j d |d ƒqŸ|j d djtt|ƒƒƒq¢ndS( Ns = Riscontext.vars[%r] = l_%sscontext.vars.update({s, s%r: l_%ss})scontext.exported_vars.add(%r)is"context.exported_vars.update((%s))(R²RXRQR8ttoplevel_assignmentsR$R„R«R(RRäR RˆR¡t enumerateRÆRRâ(RKR(R¢tassignment_frameRt public_namesR*R6((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR‡7s4         cCsY|jdkr.|jr.|jj|jƒn|jd|jƒ|jj|jƒdS(NRxRÅ(RvRXR9RNR*R«R](RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRw^scCsE|j}t|tƒr.|jt|ƒƒn|jt|ƒƒdS(N(R=R R4R«tstrRâ(RKR(R¢R3((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Constds cCsRy#|jt|j|jƒƒƒWn(tjk rM|jd|jƒnXdS(Ns8(context.eval_ctx.autoescape and Markup or identity)(%r)(R«RâR+RVRR,tdata(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_TemplateDataks # cCs||jdƒd}xCt|jƒD]2\}}|rE|jdƒn|j||ƒq#W|j|dkrqdptdƒdS(NRiÿÿÿÿs, is,)Rª(R«R:RR$(RKR(R¢R6R>((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Tuplers cCsd|jdƒxCt|jƒD]2\}}|r?|jdƒn|j||ƒqW|jdƒdS(Nt[s, t](R«R:RR$(RKR(R¢R6R>((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_List{s  cCs‡|jdƒxft|jƒD]U\}}|r?|jdƒn|j|j|ƒ|jdƒ|j|j|ƒqW|jdƒdS(Nt{s, s: R´(R«R:RR$R?R=(RKR(R¢R6R>((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Dictƒs  cs‡fd†}|S(Ncsº|jjreˆ|jjkre|jdˆƒ|j|j|ƒ|jdƒ|j|j|ƒnD|jdƒ|j|j|ƒ|jdˆƒ|j|j|ƒ|jdƒdS(Ns$environment.call_binop(context, %r, s, Rs %s Rª(R)t sandboxedtintercepted_binopsR«R$tlefttright(RKR(R¢(toperator(s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRDŽs   ((RKt interceptableRD((RKs3/usr/lib/python2.7/site-packages/jinja2/compiler.pytbinop�s cs‡fd†}|S(Ncsz|jjrEˆ|jjkrE|jdˆƒ|j|j|ƒn$|jdˆƒ|j|j|ƒ|jdƒdS(Ns#environment.call_unop(context, %r, RRª(R)RGtintercepted_unopsR«R$R((RKR(R¢(RK(s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRDžs ((RKRLRD((RKs3/usr/lib/python2.7/site-packages/jinja2/compiler.pytuaop�s t+t-t*t/s//s**R*tandRLtorsnot cCsƒ|jjrd}n|jjr*d}nd}|jd|ƒx.|jD]#}|j||ƒ|jdƒqKW|jdƒdS(Ns;(context.eval_ctx.volatile and markup_join or unicode_join)t markup_joint unicode_joins%s((s, s))(RVR£R¦R«RR$(RKR(R¢RR½((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Concat·s    cCs;|j|j|ƒx!|jD]}|j||ƒqWdS(N(R$texprtops(RKR(R¢top((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_CompareÅscCs/|jdt|jƒ|j|j|ƒdS(Ns %s (R«t operatorsR[R$RY(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_OperandÊscCs8|jdƒ|j|j|ƒ|jd|jƒdS(Nsenvironment.getattr(s, %r)(R«R$R(tattr(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_GetattrÎs cCs©t|jtjƒrX|j|j|ƒ|jdƒ|j|j|ƒ|jdƒnM|jdƒ|j|j|ƒ|jdƒ|j|j|ƒ|jdƒdS(NRBRCsenvironment.getitem(s, Rª(R R½RtSliceR$R(R«(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_GetitemÓs   cCs�|jdk r%|j|j|ƒn|jdƒ|jdk rW|j|j|ƒn|jdk r‰|jdƒ|j|j|ƒndS(NR(tstartR%R$R«tstopR¨(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Sliceás  cCsk|j|j|jdƒ|jjj|jƒ}|dkr\|jd|j|jƒnt|dt ƒr~|jdƒnDt|dt ƒr |jdƒn"t|dt ƒrÂ|jdƒn|j dk rç|j |j |ƒnc|j j r|jd |j|jfƒn7|j jr6|jd |jƒn|jd |jƒ|j||ƒ|jd ƒdS( NRsno filter named %rt contextfilters context, tevalcontextfilterscontext.eval_ctx, tenvironmentfilters environment, sB(context.eval_ctx.autoescape and Markup(concat(%s)) or concat(%s))sMarkup(concat(%s))s concat(%s)Rª(R«RoR*R)tgetR%RŸRžRÀR;R(R$RVR£R[R¦R¾(RKR(R¢tfunc((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRrës(    cCs�|j|j|jdƒ|j|jjkrM|jd|j|jƒn|j|j|ƒ|j||ƒ|jdƒdS(NRsno test named %rRª( R«RpR*R)RŸRžR$R(R¾(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRss csz‡‡‡fd†}ˆjdƒˆjˆjˆƒˆjdƒˆjˆjˆƒˆjdƒ|ƒˆjdƒdS(NcsDˆjdk r"ˆjˆjˆƒSˆjddˆjˆƒƒdS(Nsenvironment.undefined(%r)sRthe inline if-expression on %s evaluated to false and no else section was defined.(texpr2R%R$R«Rè((R¢R(RK(s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt write_expr2s Rs if s else Rª(R«R$texpr1R~(RKR(R¢Rl((R¢R(RKs3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_CondExprs   cCsy|jjr|jdƒn |jdƒ|j|j|ƒ|rOidd6pRd}|j|||ƒ|jdƒdS(Nsenvironment.call(context, s context.call(RÐRª(R)RGR«R$R(R%R¾(RKR(R¢R"Rº((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR#s  cCs+|j|jdƒ|j|j|ƒdS(Nt=(R«R?R$R=(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_Keyword(scCs1|jdƒ|j|j|ƒ|jdƒdS(NsMarkup(Rª(R«R$RY(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_MarkSafe.s cCs1|jdƒ|j|j|ƒ|jdƒdS(Ns5(context.eval_ctx.autoescape and Markup or identity)(Rª(R«R$RY(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_MarkSafeIfAutoescape3s cCs|jd|jƒdS(Ns environment.(R«R*(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_EnvironmentAttribute8scCs!|jd|j|jfƒdS(Nsenvironment.extensions[%r].%s(R«t identifierR*(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_ExtensionAttribute;scCs|j|j|jƒdS(N(R«R‘Rô(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_ImportedName>scCs|j|jƒdS(N(R«R*(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_InternalNameAscCs|jdƒdS(NRÿ(R«(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_ContextReferenceDscCs|jd|ƒdS(NR(R¡(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_ContinueGscCs|jd|ƒdS(Ntbreak(R¡(RKR(R¢((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt visit_BreakJscCsb|jƒ}|j|jƒƒ|j|ƒ}|j|ƒ|j|j|ƒ|j||ƒdS(N(RkRfRÕRÌR¿R°RRÏ(RKR(R¢t scope_frameRÉ((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyRŽMs   cCs‘xŠ|jD]}|jd|jƒ|j|j|ƒy|jj|jƒ}Wn tjk rrt |j_ q Xt |j|j|ƒq WdS(Nscontext.eval_ctx.%s = ( toptionsR¡R?R$R=R+RVRR,R1R£tsetattr(RKR(R¢tkeywordR3((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_EvalContextModifierUscCs…|jƒ}|jjƒ}|jd|ƒ|j||ƒx!|jD]}|j||ƒqFW|jj|ƒ|jd|ƒdS(Ns%s = context.eval_ctx.save()scontext.eval_ctx.revert(%s)(R RVtsaveR¡R€RR$trevert(RKR(R¢t old_ctx_namet safed_ctxR1((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pytvisit_ScopedEvalContextModifier`s N((VRRRSR%R;RLRŸR R[R§R¤R¥R©R¬R®R°R«R¡R²R¾R¿RÃRÇRÌRÏR1RßRáRçRèRþRtRRR…R†R‰R‚RƒR‹R�R&R8R‡RwR>R@RARDRFRMROt visit_Addt visit_Subt visit_Mult visit_Divtvisit_FloorDivt visit_Powt visit_Modt visit_Andtvisit_Ort visit_Post visit_Negt visit_NotRXR\R^R`RbReRrRsRnR#RpRqRrRsRuRvRwRxRyR{RŽR€R…(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyR#ls¨ 6            5    D   c  / +  5 ~   { '                                  N(3RTt itertoolsRRQRRRR¶tjinja2Rt jinja2.nodesRtjinja2.visitorRtjinja2.exceptionsRt jinja2.utilsRRR tjinja2._compatR R R R RRRR]R-R<RRR2RÀR%R;R.R:RER`RFRUt RuntimeErrorRARnR@ReR.R�R#(((s3/usr/lib/python2.7/site-packages/jinja2/compiler.pyt sH4     %XV