Files
loustique-home/venv/lib/python3.11/site-packages/jinja2/__pycache__/compiler.cpython-311.pyc

620 lines
110 KiB
Plaintext
Raw Normal View History

2026-03-21 10:53:02 +01:00
<EFBFBD>
<00><><EFBFBD>i<EFBFBD>!<00><00><><00>dZddlZddlmZddlmZddlmZddl m
Z
ddl m Z ddlmZdd lmZd
d lmZd
d lmZd
d lmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlmZd
dlm Z d
dl!m"Z"ej#r
ddl$Z%d
dl&m'Z'ej(dej)dej*f<00><1A><00>Z+dddddd d!d"d#<23>Z,d$e+d%e+fd&<26>Z-d'e.d%ej)d(ej/d)gdffd*<2A>Z0d'e.d%ej)d(ej1d)gdffd+<2B>Z2 dHd.ej3d/d0d1ej4e.d2ej4e.d3ej4ej5d4e6d5e6d%ej4e.fd6<64>Z7d7ej*d%e6fd8<64>Z8d9ej9ej:d:ej9e.d%ej;e.fd;<3B>Z<Gd<<3C>d=<3D><00>Z=Gd><3E>d)<29><00>Z>Gd?<3F>d@e?<3F><00>Z@GdA<64>dBe"<22><00>ZAGdC<64>dDe"<22><00>ZBGdE<64>dFeC<65><00>ZDGdG<64>d(e"<22><00>ZEdS)Iz0Compiles nodes from the parser into Python code.<2E>N)<01>contextmanager)<01>update_wrapper)<01>StringIO)<01>chain)<01> iskeyword)<01>escape)<01>Markup<75>)<01>nodes)<01>TemplateAssertionError)<01>Symbols)<01>VAR_LOAD_ALIAS)<01>VAR_LOAD_PARAMETER)<01>VAR_LOAD_RESOLVE)<01>VAR_LOAD_UNDEFINED)<01> EvalContext)<01> Optimizer)<01>_PassArg)<01>concat)<01> NodeVisitor)<01> Environment<6E>F.)<01>boundz==z!=<3D>>z>=<3D><z<=<3D>inznot in)<08>eq<65>ne<6E>gt<67>gteq<65>lt<6C>lteqr<00>notin<69>f<>returnc
<00><><00><00>dddtjdddtjdtjf
<EFBFBD>fd<08> }t |<01><00><00>S) N<>self<6C> CodeGenerator<6F>node<64>frame<6D>Frame<6D>kwargsr%c<00><><00><01>|j<00>H|jjs<|j<00>||j<00><00>}||kr|<00>||<02><00>S<00>|||fi|<03><01>S<00>N)<04> optimizer<65>eval_ctx<74>volatile<6C>visit)r'r)r*r,<00>new_noder$s <20><>[/home/maxime/Documents/loustiques-home/venv/lib/python3.11/site-packages/jinja2/compiler.py<70>new_funczoptimizeconst.<locals>.new_func.sk<00><><00> <10>><3E> %<25>e<EFBFBD>n<EFBFBD>.E<> %<25><1B>~<7E>+<2B>+<2B>D<EFBFBD>%<25>.<2E>A<>A<>H<EFBFBD><17>4<EFBFBD><1F><1F><1B>z<EFBFBD>z<EFBFBD>(<28>E<EFBFBD>2<>2<>2<><10>q<EFBFBD><14>t<EFBFBD>U<EFBFBD>-<2D>-<2D>f<EFBFBD>-<2D>-<2D>-<2D>)r <00>Expr<70>t<>Anyr)r$r5s` r4<00> optimizeconstr:-sa<00><><00>
.<2E><1D>
.<2E>%*<2A>Z<EFBFBD>
.<2E>8?<3F>
.<2E>KL<4B>5<EFBFBD>
.<2E>
<EFBFBD><15>
.<2E>
.<2E>
.<2E>
.<2E>
.<2E>
.<2E> <1A>(<28>A<EFBFBD> &<26> &<26>&r6<00>opr(r+c <00>\<00><00>tdddtjdtddf<08>fd<06> <0C><00>}|S)Nr'r(r)r*r%c<00><><00><01>|jjrs<72>|jjvre|<00>d<01><03>d<02><03><00>|<00>|j|<02><00>|<00>d<02><00>|<00>|j|<02><00>nd|<00>d<03><00>|<00>|j|<02><00>|<00>d<04><03>d<04><03><00>|<00>|j|<02><00>|<00>d<05><00>dS)Nz environment.call_binop(context, <20>, <20>(<28> <20>))<07> environment<6E> sandboxed<65>intercepted_binops<70>writer2<00>left<66>right<68>r'r)r*r;s <20>r4<00>visitorz_make_binop.<locals>.visitor>s<><00><><00> <11> <1C> &<26> *<2A>+-<2D><14>1A<31>1T<31>+T<>+T<> <10>J<EFBFBD>J<EFBFBD>B<>"<22>B<>B<>B<> C<> C<> C<> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>%<25> (<28> (<28> (<28> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <1C> <1C> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>z<EFBFBD>5<EFBFBD> )<29> )<29> )<29> )<29> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>%<25> (<28> (<28> (<28> <10>J<EFBFBD>J<EFBFBD>y<EFBFBD>2<EFBFBD>y<EFBFBD>y<EFBFBD>y<EFBFBD> !<21> !<21> !<21> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>z<EFBFBD>5<EFBFBD> )<29> )<29> )<29> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><0F>r6)r:r <00>BinExprr+<00>r;rIs` r4<00> _make_binoprL=sP<00><><00><12><18>o<EFBFBD><18>U<EFBFBD>]<5D><18>5<EFBFBD><18>T<EFBFBD><18><18><18><18><18><13>]<5D><18> <13>Nr6c <00>\<00><00>tdddtjdtddf<08>fd<06> <0C><00>}|S)Nr'r(r)r*r%c<00>6<00><01>|jjrC<72>|jjvr5|<00>d<01><03>d<02><03><00>|<00>|j|<02><00>n3|<00>d<03>z<00><00>|<00>|j|<02><00>|<00>d<04><00>dS)Nzenvironment.call_unop(context, r>r?rA)rBrC<00>intercepted_unopsrEr2r)rHs <20>r4rIz_make_unop.<locals>.visitorUs<><00><><00> <11> <1C> &<26> )<29>+-<2D><14>1A<31>1S<31>+S<>+S<> <10>J<EFBFBD>J<EFBFBD>A<><12>A<>A<>A<> B<> B<> B<> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>%<25> (<28> (<28> (<28> (<28> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>R<EFBFBD>x<EFBFBD> <20> <20> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>%<25> (<28> (<28> (<28> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><0F>r6)r:r <00> UnaryExprr+rKs` r4<00>
_make_unoprQRsR<00><><00><13>
<18>o<EFBFBD>
<18>U<EFBFBD>_<EFBFBD>
<18>U<EFBFBD>
<18>t<EFBFBD>
<18>
<18>
<18>
<18>
<18><13>]<5D>
<18> <13>Nr6FTr)rBr<00>name<6D>filename<6D>stream<61>
defer_init<EFBFBD> optimizedc<00><><00>t|tj<00><00>std<01><00><00>|<01>||||||<06><00>}|<07>|<00><00>|<04>|j<00><00><00>SdS)z+Generate the python source for a node tree.z Can't compile non template nodesN)<08>
isinstancer <00>Template<74> TypeError<6F>code_generator_classr2rT<00>getvalue)r)rBrRrSrTrUrV<00> generators r4<00>generater^es|<00><00> <16>d<EFBFBD>E<EFBFBD>N<EFBFBD> +<2B> +<2B><<3C><17>:<3A>;<3B>;<3B>;<3B><1B>0<>0<><13>T<EFBFBD>8<EFBFBD>V<EFBFBD>Z<EFBFBD><19><06><06>I<EFBFBD><0E>O<EFBFBD>O<EFBFBD>D<EFBFBD><19><19><19> <0A>~<7E><18><1F>(<28>(<28>*<2A>*<2A>*<2A> <0F>4r6<00>valuec<00><><00>|<00>|tus |turdSt|<00><00>ttt
t ttthvrdSt|<00><00>tttthvrtd<03>|D<00><00><00><00>St|<00><00>tur+td<04>|<00><00><00>D<00><00><00><00>SdS)z)Does the node have a safe representation?NTc3<00>4K<00>|]}t|<01><00>V<00><00>dSr.<00><01> has_safe_repr)<02>.0<EFBFBD>vs r4<00> <genexpr>z has_safe_repr.<locals>.<genexpr><3E>s*<00><00><00><00>3<>3<><01>=<3D><11>#<23>#<23>3<>3<>3<>3<>3<>3r6c3<00>XK<00>|]%\}}t|<01><00>ot|<02><00>V<00><00>&dSr.rb<00>rd<00>kres r4rfz has_safe_repr.<locals>.<genexpr><3E>s;<00><00><00><00>S<>S<>T<EFBFBD>Q<EFBFBD><01>=<3D><11>#<23>#<23>8<> <0A>a<EFBFBD>(8<>(8<>S<>S<>S<>S<>S<>Sr6F)<11>NotImplemented<65>Ellipsis<69>type<70>bool<6F>int<6E>float<61>complex<65>range<67>strr <00>tuple<6C>list<73>set<65> frozenset<65>all<6C>dict<63>items<6D>r_s r4rcrc}s<><00><00> <0C>}<7D><05><1E>/<2F>/<2F>5<EFBFBD>H<EFBFBD>3D<33>3D<33><13>t<EFBFBD> <0B>E<EFBFBD>{<7B>{<7B>t<EFBFBD>S<EFBFBD>%<25><17>%<25><13>f<EFBFBD>E<>E<>E<><13>t<EFBFBD> <0B>E<EFBFBD>{<7B>{<7B>u<EFBFBD>d<EFBFBD>C<EFBFBD><19>3<>3<>3<><12>3<>3<>U<EFBFBD>3<>3<>3<>3<>3<>3<> <0B>E<EFBFBD>{<7B>{<7B>d<EFBFBD><1A><1A><12>S<>S<>U<EFBFBD>[<5B>[<5B>]<5D>]<5D>S<>S<>S<>S<>S<>S<> <10>5r6r <00>namesc<00><><00>t|<01><00>} |D]}|<02>|<03><00><00>n#t$rYnwxYw|jS)z<>Check if the names passed are accessed undeclared. The return value
is a set of all the undeclared names from the sequence of names found.
)<04>UndeclaredNameVisitorr2<00> VisitorExit<69>
undeclared)r r{rIr)s r4<00>find_undeclaredr<64><00>sh<00><00> $<24>E<EFBFBD>*<2A>*<2A>G<EFBFBD> <0A><19> <20> <20>D<EFBFBD> <13>M<EFBFBD>M<EFBFBD>$<24> <1F> <1F> <1F> <1F> <20><> <16> <0A> <0A> <0A> <0C><04> <0A><><EFBFBD><EFBFBD> <12> <1D>s <00>,<00>
9<03>9c<00>L<00>eZdZdejejejfddfd<04>ZdS)<05>MacroRefr)r%Nc<00>><00>||_d|_d|_d|_dS<00>NF)r)<00>accesses_caller<65>accesses_kwargs<67>accesses_varargs<67>r'r)s r4<00>__init__zMacroRef.__init__<5F>s'<00><00><18><04> <09>$<24><04><1C>$<24><04><1C> %<25><04><1D><1D>r6) <09>__name__<5F>
__module__<EFBFBD> __qualname__r8<00>Unionr <00>Macro<72> CallBlockr<6B><00>r6r4r<>r<><00>sF<00><00><00><00><00><00>&<26>Q<EFBFBD>W<EFBFBD>U<EFBFBD>[<5B>%<25>/<2F>%A<>B<>&<26>t<EFBFBD>&<26>&<26>&<26>&<26>&<26>&r6r<>c <00><><00>eZdZdZ ddedejddejeddfd<07>Zdd <09>Z dd e
ddfd <0C>Z dd <0A>Z e Z dS)r+z&Holds compile time information for us.Nr0<00>parent<6E>levelr%c<00>@<00>||_||_|<02>+t|<03><01><00>|_d|_d|_d|_n?t|j|<03><01><00>|_|j|_|j|_|j|_d|_d|_d|_ d|_
d|_ dS)N<>r<>F) r0r<>r <00>symbols<6C>require_output_check<63>buffer<65>block<63>toplevel<65> rootlevel<65>
loop_frame<EFBFBD> block_frame<6D>
soft_frame)r'r0r<>r<>s r4r<>zFrame.__init__<5F>s<><00><00> !<21><04> <0A><1D><04> <0B> <11>><3E>"<22><15>/<2F>/<2F>/<2F>D<EFBFBD>L<EFBFBD>).<2E>D<EFBFBD> %<25> ,0<>D<EFBFBD>K<EFBFBD>+/<2F>D<EFBFBD>J<EFBFBD>J<EFBFBD>#<23>6<EFBFBD>><3E><15>?<3F>?<3F>?<3F>D<EFBFBD>L<EFBFBD>(.<2E>(C<>D<EFBFBD> %<25> <20>-<2D>D<EFBFBD>K<EFBFBD><1F><1C>D<EFBFBD>J<EFBFBD><1E><04> <0A>
<1F><04><0E> <20><04><0F> <20><04><18>
 <20><04><0F><0F>r6<00>te.Selfc<00><><00>t<00>|j<00><00>}|j<00>|j<00><00>|j<00><00><00>|_|S)z!Create a copy of the current one.)<07>object<63>__new__<5F> __class__<5F>__dict__<5F>updater<65><00>copy<70>r'<00>rvs r4r<>z
Frame.copy<70>sG<00><00> <13>^<5E>^<5E>D<EFBFBD>N<EFBFBD> +<2B> +<2B><02>
<EFBFBD> <0B><1A><1A>4<EFBFBD>=<3D>)<29>)<29>)<29><19>\<5C>&<26>&<26>(<28>(<28><02>
<EFBFBD><11> r6F<>isolatedc<00>v<00>|r#t|j|jjdz<00><02><00>St|j|<00><00>S)zReturn an inner frame.r
r<>)r+r0r<>r<>)r'r<>s r4<00>innerz Frame.inner<65>s<<00><00> <13> F<01><18><14><1D>d<EFBFBD>l<EFBFBD>.@<40>1<EFBFBD>.D<>E<>E<>E<> E<><14>T<EFBFBD>]<5D>D<EFBFBD>)<29>)<29>)r6c<00>J<00>|<00><00><00>}d|_d|_|S)a&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.
This is only used to implement if-statements and conditional
expressions.
FT)r<>r<>r<>r<>s r4<00>softz
Frame.soft<66>s$<00><00><12>Y<EFBFBD>Y<EFBFBD>[<5B>[<5B><02><1C><02> <0C><1C><02> <0A><11> r6)NN)r%r<><00>F)r<>r<>r<><00>__doc__rr8<00>Optionalrnr<>r<>rmr<>r<><00>__copy__r<5F>r6r4r+r+<00>s<><00><00><00><00><00><00>0<>0<>
'+<2B>!%<25> 1 <20>1 <20><1D>1 <20><12>
<EFBFBD>7<EFBFBD>#<23>1 <20><11>z<EFBFBD>#<23><EFBFBD> 1 <20>
<0E> 1 <20>1 <20>1 <20>1 <20>f<12><12><12><12>*<2A>*<2A>d<EFBFBD>*<2A>w<EFBFBD>*<2A>*<2A>*<2A>*<2A> <12> <12> <12> <12><14>H<EFBFBD>H<EFBFBD>Hr6c<00><00>eZdZdZdS)r~z?Exception used by the `UndeclaredNameVisitor` to signal a stop.N<>r<>r<>r<>r<>r<>r6r4r~r~<00>s<00><00><00><00><00><00>I<>I<>I<>Ir6r~c<00>h<00>eZdZdZd d<04>Zdejddfd<06>Zdejddfd<07>Z dej
ddfd<08>Z dS)
<EFBFBD>DependencyFinderVisitorz.A visitor that collects filter and test calls.r%Nc<00>R<00>t<00><00>|_t<00><00>|_dSr.)ru<00>filters<72>tests<74>r's r4r<>z DependencyFinderVisitor.__init__<5F>s<00><00>#&<26>5<EFBFBD>5<EFBFBD><04> <0C>!$<24><15><15><04>
<EFBFBD>
<EFBFBD>
r6r)c<00>n<00>|<00>|<01><00>|j<00>|j<00><00>dSr.)<04> generic_visitr<74><00>addrRr<>s r4<00> visit_Filterz$DependencyFinderVisitor.visit_Filters4<00><00> <0C><1A><1A>4<EFBFBD> <20> <20> <20> <0C> <0C><18><18><14><19>#<23>#<23>#<23>#<23>#r6c<00>n<00>|<00>|<01><00>|j<00>|j<00><00>dSr.)r<>r<>r<>rRr<>s r4<00>
visit_Testz"DependencyFinderVisitor.visit_Tests2<00><00> <0C><1A><1A>4<EFBFBD> <20> <20> <20> <0C>
<EFBFBD><0E><0E>t<EFBFBD>y<EFBFBD>!<21>!<21>!<21>!<21>!r6c<00><00>dS)zStop visiting at blocks.Nr<4E>r<>s r4<00> visit_Blockz#DependencyFinderVisitor.visit_Block <00><00><00><00>r6<00>r%N) r<>r<>r<>r<>r<>r <00>Filterr<72><00>Testr<74><00>Blockr<6B>r<>r6r4r<>r<><00>s<><00><00><00><00><00><00>8<>8<>'<27>'<27>'<27>'<27>$<24><15><1C>$<24>$<24>$<24>$<24>$<24>$<24>"<22>u<EFBFBD>z<EFBFBD>"<22>d<EFBFBD>"<22>"<22>"<22>"<22>'<27><05> <0B>'<27><04>'<27>'<27>'<27>'<27>'<27>'r6r<>c<00>l<00>eZdZdZdejeddfd<05>Zdej ddfd<07>Z
dej ddfd<08>Z dS) r}z<>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.
r{r%Nc<00>T<00>t|<01><00>|_t<00><00>|_dSr.)rur{r)r'r{s r4r<>zUndeclaredNameVisitor.__init__s<00><00><18><15>Z<EFBFBD>Z<EFBFBD><04>
<EFBFBD>&)<29>e<EFBFBD>e<EFBFBD><04><0F><0F>r6r)c<00><><00>|jdkrM|j|jvr?|j<00>|j<00><00>|j|jkrt <00><00><00>dS|j<00>|j<00><00>dS)N<>load)<07>ctxrRr{rr<>r~<00>discardr<64>s r4<00>
visit_Namez UndeclaredNameVisitor.visit_Namesv<00><00> <0F>8<EFBFBD>v<EFBFBD> <1D> <1D>$<24>)<29>t<EFBFBD>z<EFBFBD>"9<>"9<> <10>O<EFBFBD> <1F> <1F><04> <09> *<2A> *<2A> *<2A><13><EFBFBD>$<24>*<2A>,<2C>,<2C>!<21>m<EFBFBD>m<EFBFBD>#<23>-<2D>,<2C> <11>J<EFBFBD> <1E> <1E>t<EFBFBD>y<EFBFBD> )<29> )<29> )<29> )<29> )r6c<00><00>dS)zStop visiting a blocks.Nr<4E>r<>s r4r<>z!UndeclaredNameVisitor.visit_Block!r<>r6) r<>r<>r<>r<>r8<00>Iterablerrr<>r <00>Namer<65>r<>r<>r<>r6r4r}r}s<><00><00><00><00><00><00><08><08>
,<2C>a<EFBFBD>j<EFBFBD><13>o<EFBFBD>,<2C>$<24>,<2C>,<2C>,<2C>,<2C>*<2A>u<EFBFBD>z<EFBFBD>*<2A>d<EFBFBD>*<2A>*<2A>*<2A>*<2A>&<26><05> <0B>&<26><04>&<26>&<26>&<26>&<26>&<26>&r6r}c<00><00>eZdZdZdS)<03> CompilerExitz<74>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.
Nr<4E>r<>r6r4r<>r<>%s<00><00><00><00><00><00><08><08><08>r6r<>c<00><> <00>eZdZU d<>dddejedejedejejd ed
ed dfd <0C>Ze d efd <0A><04><00>Z
dede d dfd<11>Z d efd<12>Z ded dfd<14>Z d<>deded dfd<16>Zd<>d<17>Zd<>de d dfd<1A>Zd<>dedejejd dfd<1C>Zded dfd<1D>Z d<>dededejejd dfd<1F>Zd ejejded dfd!<21>Zd"ed dfd#<23>Z d<>d"edejejd%e d dfd&<26>Zd<>dejejd%e d dfd'<27>Z d<>dejejejej fded(ejej!eej"fd dfd)<29>Z#d ejejd dfd*<2A>Z$ded dfd+<2B>Z%d<>ded,ed dfd-<2D>Z&d<>d0ed1ed efd2<64>Z'ded efd3<64>Z(dejej)ej*fded ej+ee,ffd4<64>Z-d5e,ded dfd6<64>Z.dejd efd7<64>Z/ded efd8<64>Z0d<30>d9<64>Z1ded dfd:<3A>Z2d<32>d;<3B>Z3d<ed dfd=<3D>Z4d<ed dfd><3E>Z5d<35>d?<3F>Z6d efd@<40>Z7d efdA<64>Z8ded efdB<64>Z9d<ed efdC<64>Z:d<>dD<64>Z;ded dfdE<64>Z< d<>dej=dejed dfdF<64>Z>dej?ded dfdG<64>Z@dejAded dfdH<64>ZBdejCded dfdI<64>ZDdejejEejFfded dfdJ<64>ZGdejEded dfdK<64>ZHdejFded dfdL<64>ZIdejJded dfdM<64>ZKdejLded dfdN<64>ZMdej)ded dfdO<64>ZNdej*ded dfdP<64>ZOdejPded dfdQ<64>ZQdejRded dfdR<64>ZSdejTded dfdS<64>ZUGdT<64>dUejV<00><00>ZWeXdVej"d ej"fdW<64><04><00>ZYdZZejeWe[dX<d eWfdY<64>Z\dZejej"d efd[<5B>Z]dej^ded\eWd efd]<5D>Z_dej^ded\eWd dfd^<5E>Z`dej^ded\eWd dfd_<64>Zadejbded dfd`<60>Zcdejdded dfda<64>Zedejfded dfdb<64>Zgdejhded dfdc<64>Zidejjded dfdd<64>Zkdejlded dfde<64>Zmdejnded dfdf<64>Zodej+ded dfdg<64>Zpdejqded dfdh<64>Zrdejsded dfdi<64>Zteudj<64><00>Zveudk<64><00>Zweudl<64><00>Zxeudm<64><00>Zyeudn<64><00>Zzeudo<64><00>Z{eudp<64><00>Z|eudq<64><00>Z}eudr<64><00>Z~edj<64><00>Z<>edk<64><00>Z<>eds<64><00>Z<>e<EFBFBD>dej<>ded dfdt<64><04><00>Z<>e<EFBFBD>dej<>ded dfdu<64><04><00>Z<>dej<>ded dfdv<64>Z<>e<EFBFBD>dej<>ded dfdw<64><04><00>Z<>e<EFBFBD>dej<>ded dfdx<64><04><00>Z<>dej<>ded dfdy<64>Z<>e<EFBFBD>dejejej fdedzed ej<>dfd{<7B><04><00>Z<>e<EFBFBD>dejded dfd|<7C><04><00>Z<>e<EFBFBD>dej ded dfd}<7D><04><00>Z<>e<EFBFBD>dej<>ded dfd~<7E><04><00>Z<>e<EFBFBD> d<>dejdeded dfd<><64><05><00>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dej<>ded dfd<><64>Z<>dS)<29>r(NFTrBrrRrSrTrUrVr%c<00><><00>|<04>t<00><00>}||_||_||_||_d|_||_d|_|rt|<01><00>|_i|_ i|_
d|_ d|_ d|_ i|_i|_g|_d|_d|_d|_d|_d|_d|_g|_g|_dg|_dS)NFrr
T<>context)rrBrRrSrT<00>created_block_contextrUr/r<00>import_aliases<65>blocks<6B>extends_so_far<61>has_known_extends<64> code_linenor<6F>r<><00>
debug_info<EFBFBD>_write_debug_info<66>
_new_lines<EFBFBD>
_last_line<EFBFBD> _first_write<74>_last_identifier<65> _indentation<6F> _assign_stack<63>_param_def_block<63>_context_reference_stack)r'rBrRrSrTrUrVs r4r<>zCodeGenerator.__init__-s<00><00> <12>><3E><1D>Z<EFBFBD>Z<EFBFBD>F<EFBFBD>&<26><04><18><18><04> <09> <20><04> <0A><1C><04> <0B>%*<2A><04>"<22>$<24><04><0F>04<30><04><0E> <14> 4<>&<26>{<7B>3<>3<>D<EFBFBD>N<EFBFBD>13<31><04><1B>13<31><04> <0B> <20><04><1B>
"'<27><04><1E><1D><04><18>(*<2A><04>
<EFBFBD>)+<2B><04> <0C>68<36><04><0F>26<32><04><1E><1C><04><0F><1C><04><0F>!<21><04><19>!"<22><04><1D><1E><04><19>24<32><04><1A>57<35><04><1D>*3<> <0B><04>%<25>%<25>%r6c<00><00>|jduSr.)r/r<>s r4rVzCodeGenerator.optimizedvs<00><00><13>~<7E>T<EFBFBD>)<29>)r6<00>msg<73>linenoz te.NoReturnc<00>:<00>t|||j|j<00><00><00>)z*Fail with a :exc:`TemplateAssertionError`.)r rRrS)r'r<>r<>s r4<00>failzCodeGenerator.fail|s<00><00>$<24>S<EFBFBD>&<26>$<24>)<29>T<EFBFBD>]<5D>K<>K<>Kr6c<00>6<00>|xjdz c_d|j<00><00>S)zGet a new unique identifier.r
<00>t_)r<>r<>s r4<00>temporary_identifierz"CodeGenerator.temporary_identifier<65>s'<00><00> <0C><1D><1D><11>"<22><1D><1D>+<2B>D<EFBFBD>)<29>+<2B>+<2B>+r6r*c<00>r<00>|<00><00><00>|_|<00>|j<00>d<01><02><00>dS)z7Enable buffering for the frame from that point onwards.z = []N)r<>r<><00> writeline<6E>r'r*s r4r<>zCodeGenerator.buffer<65>s8<00><00><1B>0<>0<>2<>2<><05> <0C> <0C><0E><0E>%<25>,<2C>-<2D>-<2D>-<2D>.<2E>.<2E>.<2E>.<2E>.r6<00>force_unescapedc<00>&<00>|s<>|jjr<>|<00>d<01><00>|<00><00><00>|<00>d|j<00>d<03><03><00>|<00><00><00>|<00>d<04><00>|<00><00><00>|<00>d|j<00>d<06><03><00>|<00><00><00>dS|jjr |<00>d|j<00>d<03><03><00>dS|<00>d|j<00>d<06><03><00>dS)z(Return the buffer contents of the frame.zif context.eval_ctx.autoescape:zreturn Markup(concat(<28>))<29>else:zreturn concat(rAN)r0r1r<><00>indentr<74><00>outdent<6E>
autoescape)r'r*r<>s r4<00>return_buffer_contentsz$CodeGenerator.return_buffer_contents<74>s<00><00><1F> <17><14>~<7E>&<26> <17><14><0E><0E>@<40>A<>A<>A<><14> <0B> <0B> <0A> <0A> <0A><14><0E><0E>G<>u<EFBFBD>|<7C>G<>G<>G<>H<>H<>H<><14> <0C> <0C><0E><0E><0E><14><0E><0E>w<EFBFBD>'<27>'<27>'<27><14> <0B> <0B> <0A> <0A> <0A><14><0E><0E>?<3F><05> <0C>?<3F>?<3F>?<3F>@<40>@<40>@<40><14> <0C> <0C><0E><0E><0E><16><06><16><1E>*<2A> <17><14><0E><0E>G<>u<EFBFBD>|<7C>G<>G<>G<>H<>H<>H<><16><06> <0C><0E><0E>7<><05> <0C>7<>7<>7<>8<>8<>8<>8<>8r6c<00>&<00>|xjdz c_dS)zIndent by one.r
N<>r<>r<>s r4r<>zCodeGenerator.indent<6E>s<00><00> <0C><19><19>Q<EFBFBD><1E><19><19><19>r6r
<00>stepc<00>&<00>|xj|zc_dS)zOutdent by step.Nr<4E>)r'r<>s r4r<>zCodeGenerator.outdent<6E>s<00><00> <0C><19><19>T<EFBFBD>!<21><19><19><19>r6r)c<00><><00>|j<00>|<00>d|<02><00>dS|<00>|j<00>d<03>|<02><00>dS)z%Yield or write into the frame buffer.N<>yield <20>.append()r<>r<>)r'r*r)s r4<00> start_writezCodeGenerator.start_write<74>sI<00><00> <10><<3C> <1F> <10>N<EFBFBD>N<EFBFBD>8<EFBFBD>T<EFBFBD> *<2A> *<2A> *<2A> *<2A> *<2A> <10>N<EFBFBD>N<EFBFBD>e<EFBFBD>l<EFBFBD>4<>4<>4<>d<EFBFBD> ;<3B> ;<3B> ;<3B> ;<3B> ;r6c<00>B<00>|j<00>|<00>d<02><00>dSdS)z1End the writing process started by `start_write`.NrA)r<>rEr<>s r4<00> end_writezCodeGenerator.end_write<74>s%<00><00> <10><<3C> #<23> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD> $<24> #r6<00>sc<00><><00>|<00>||<03><00>|<00>|<01><00>|<00>|<02><00>dS)z4Simple shortcut for start_write + write + end_write.N)rrEr)r'rr*r)s r4<00> simple_writezCodeGenerator.simple_write<74>sA<00><00> <0A><18><18><15><04>%<25>%<25>%<25> <0C>
<EFBFBD>
<EFBFBD>1<EFBFBD> <0A> <0A> <0A> <0C><0E><0E>u<EFBFBD><1D><1D><1D><1D>r6r c<00><><00> |<00>d<01><00>|D]}|<00>||<02><00><00>dS#t$rYdSwxYw)z<>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.
<20>passN)r<>r2r<>)r'r r*r)s r4<00>
blockvisitzCodeGenerator.blockvisit<69>sk<00><00> <11> <10>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22> "<22> "<22><1D> (<28> (<28><04><14>
<EFBFBD>
<EFBFBD>4<EFBFBD><15>'<27>'<27>'<27>'<27> (<28> (<28><><1B> <11> <11> <11> <10>D<EFBFBD>D<EFBFBD> <11><><EFBFBD>s<00>04<00>
A<03>A<03>xc<00><><00>|jr<>|jsk|j<00>d|jz<00><00>|xj|jz c_|j<00>-|j<00>|j|jf<02><00>d|_d|_|j<00>d|jz<00><00>d|_|j<00>|<01><00>dS)z&Write a string into the output stream.<2E>
NFz r) r<>r<>rTrEr<>r<>r<><00>appendr<64>)r'r s r4rEzCodeGenerator.write<74>s<><00><00> <0F>?<3F> <20><17>$<24> 2<><14> <0B>!<21>!<21>$<24><14><1F>"8<>9<>9<>9<><14> <20> <20>D<EFBFBD>O<EFBFBD>3<> <20> <20><17>)<29>5<><18>O<EFBFBD>*<2A>*<2A>D<EFBFBD>,B<>D<EFBFBD>DT<44>+U<>V<>V<>V<>-1<>D<EFBFBD>*<2A> %<25>D<EFBFBD> <1D> <10>K<EFBFBD> <1D> <1D>f<EFBFBD>t<EFBFBD>'8<>8<> 9<> 9<> 9<><1F>D<EFBFBD>O<EFBFBD> <0C> <0B><19><19>!<21><1C><1C><1C><1C>r6r<00>extrac<00>\<00>|<00>||<03><00>|<00>|<01><00>dS)z!Combination of newline and write.N)<02>newlinerE)r'r r)r s r4r<>zCodeGenerator.writeline<6E>s+<00><00> <0A> <0C> <0C>T<EFBFBD>5<EFBFBD>!<21>!<21>!<21> <0C>
<EFBFBD>
<EFBFBD>1<EFBFBD> <0A> <0A> <0A> <0A> r6c<00><><00>t|jd|z<00><00>|_|<01>*|j|jkr|j|_|j|_dSdSdS)z/Add one or more newlines before the next write.r
N)<05>maxr<78>r<>r<>r<>)r'r)r s r4rzCodeGenerator.newline<6E>sR<00><00><1D>d<EFBFBD>o<EFBFBD>q<EFBFBD>5<EFBFBD>y<EFBFBD>9<>9<><04><0F> <0F> <1B><04> <0B>t<EFBFBD><EFBFBD> ><3E> ><3E>%)<29>[<5B>D<EFBFBD> "<22>"<22>k<EFBFBD>D<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD> <1C> <1B> ><3E> >r6<00> extra_kwargsc<00><><00>td<01>td<02>|jD<00><00>|pd<03><00>D<00><00><00><00>}|jD]-}|<00>d<04><00>|<00>||<02><00><00>.|sl|jD]-}|<00>d<04><00>|<00>||<02><00><00>.|<03>5|<03><00><00>D] \}}|<00>d|<07>d|<08><00><04><00><00>!|jr0|<00>d<07><00>|<00>|j|<02><00>|<04>r%|j<00>|<00>d<08><00>n|<00>d <09><00>|jD]O}|<00>|j <00>d
<EFBFBD><02><00>|<00>|j
|<02><00>|<00>d<04><00><00>P|<03>5|<03><00><00>D] \}}|<00>|<07>d
|<08>d<04><04><00><00>!|j<00>G|<00>d <0B><00>|<00>|j|<02><00>|<00>d <0C><00>dS|<00>d <0A><00>dS|j<00>2|<00>d<0E><00>|<00>|j|<02><00>dSdS)a+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 occur. The extra keyword arguments should be given
as python dict.
c3<00>dK<00>|]+}ttjt|<01><00><00><00>V<00><00>,dSr.)<04>is_python_keywordr8<00>castrr)rdris r4rfz*CodeGenerator.signature.<locals>.<genexpr><3E>sH<00><00><00><00>
<EFBFBD>
<EFBFBD><11> <1E>a<EFBFBD>f<EFBFBD>S<EFBFBD>!<21>n<EFBFBD>n<EFBFBD> -<2D> -<2D>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
r6c3<00>$K<00>|] }|jV<00><00> dSr.)<01>key<65>rdr s r4rfz*CodeGenerator.signature.<locals>.<genexpr><3E>s$<00><00><00><00>7<>7<>a<EFBFBD>A<EFBFBD>E<EFBFBD>7<>7<>7<>7<>7<>7r6r<>r>N<>=z, *z
, **dict({z, **{<7B>: z}, **rA<00>}z, **) <0B>anyrr,<00>argsrEr2ry<00>dyn_args<67>
dyn_kwargsrr_) r'r)r*r<00>kwarg_workaround<6E>arg<72>kwargrr_s r4<00> signaturezCodeGenerator.signature<72>s<><00><00><1F>
<EFBFBD>
<EFBFBD><1A>7<>7<>4<EFBFBD>;<3B>7<>7<>7<><1C>9K<39><12>L<>L<>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD><18>
<18>9<EFBFBD> #<23> #<23>C<EFBFBD> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <1C> <1C> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>E<EFBFBD> "<22> "<22> "<22> "<22><1F> 3<><1D><1B> )<29> )<29><05><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20> <20> <20><14>
<EFBFBD>
<EFBFBD>5<EFBFBD>%<25>(<28>(<28>(<28>(<28><1B>'<27>".<2E>"4<>"4<>"6<>"6<>3<>3<>J<EFBFBD>C<EFBFBD><15><18>J<EFBFBD>J<EFBFBD>1<>C<EFBFBD>1<>1<>%<25>1<>1<>2<>2<>2<>2<> <0F>=<3D> -<2D> <10>J<EFBFBD>J<EFBFBD>u<EFBFBD> <1D> <1D> <1D> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>}<7D>e<EFBFBD> ,<2C> ,<2C> ,<2C> <1B> /<2F><13><EFBFBD>*<2A><14>
<EFBFBD>
<EFBFBD><<3C>(<28>(<28>(<28>(<28><14>
<EFBFBD>
<EFBFBD>7<EFBFBD>#<23>#<23>#<23><1D><1B> !<21> !<21><05><14>
<EFBFBD>
<EFBFBD>e<EFBFBD>i<EFBFBD>-<2D>-<2D>-<2D>.<2E>.<2E>.<2E><14>
<EFBFBD>
<EFBFBD>5<EFBFBD>;<3B><05>.<2E>.<2E>.<2E><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20> <20> <20> <20><1B>'<27>".<2E>"4<>"4<>"6<>"6<>6<>6<>J<EFBFBD>C<EFBFBD><15><18>J<EFBFBD>J<EFBFBD>#<23>4<>4<>5<EFBFBD>4<>4<>4<>5<>5<>5<>5<><13><EFBFBD>*<2A><14>
<EFBFBD>
<EFBFBD>7<EFBFBD>#<23>#<23>#<23><14>
<EFBFBD>
<EFBFBD>4<EFBFBD>?<3F>E<EFBFBD>2<>2<>2<><14>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><0F><0F><14>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><0F><0F> <11>_<EFBFBD> (<28> <10>J<EFBFBD>J<EFBFBD>v<EFBFBD> <1E> <1E> <1E> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD><EFBFBD><05> .<2E> .<2E> .<2E> .<2E> .<2E>)<29> (r6c
<00>><00>t<00><00>}|D]}|<02>|<03><00><00>|j|jdf|j|jdffD<00>]T\}}}t |<05><00>D<00>]<}||vr|<00><00><00>||<|<00>d<03><00>|<00><00><00>|<00>||<00>d|<06>d|<07>d<06><06><00>|<00><00><00>|<00>d<07><00>|<00><00><00>|<00>d<08><00>|<00>d ||<00>d
<EFBFBD><03><00>|<00><00><00>|<00>d |d d <0A><00>d|<07>d<0F><05><00>|<00><00><00>|<00><00><00><00><01>><3E><01>Vd S)a<>Find all filter and test names used in the template and
assign them to variables in the compiled namespace. Checking
that the names are registered with the environment is done when
compiling the Filter and Test nodes. If the node is in an If or
CondExpr node, the check is done at runtime instead.
.. versionchanged:: 3.0
Filters and tests in If and CondExpr nodes are checked at
runtime instead of compile time.
r<>r<><00>try:z = environment.<2E>[<5B>]zexcept KeyError:z @internalcode<64>def z
(*unused):zraise TemplateRuntimeError("No N<><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD> named z found.")) r<>r2r<>r<><00>sortedr<64>r<>r<>r<>)r'r rIr)<00>id_mapr{<00>
dependencyrRs r4<00>pull_dependencieszCodeGenerator.pull_dependenciess<><00><00>*<2A>+<2B>+<2B><07><19> <20> <20>D<EFBFBD> <13>M<EFBFBD>M<EFBFBD>$<24> <1F> <1F> <1F> <1F><12>\<5C>7<EFBFBD>?<3F>I<EFBFBD> 6<><14>
<EFBFBD><17> <0A><17> <0E>*
<EFBFBD> <1F> <1F> %<25>F<EFBFBD>E<EFBFBD>:<3A><1F>u<EFBFBD> <0A> <0A> <1F> <1F><04><17>v<EFBFBD>%<25>%<25>#'<27>#<<3C>#<<3C>#><3E>#><3E>F<EFBFBD>4<EFBFBD>L<EFBFBD><15><0E><0E>v<EFBFBD>&<26>&<26>&<26><14> <0B> <0B> <0A> <0A> <0A><14><0E><0E>&<26><14>,<2C>U<>U<>z<EFBFBD>U<>U<>D<EFBFBD>U<>U<>U<>V<>V<>V<><14> <0C> <0C><0E><0E><0E><14><0E><0E>1<>2<>2<>2<><14> <0B> <0B> <0A> <0A> <0A><14><0E><0E><EFBFBD>/<2F>/<2F>/<2F><14><0E><0E>><3E>f<EFBFBD>T<EFBFBD>l<EFBFBD>><3E>><3E>><3E>?<3F>?<3F>?<3F><14> <0B> <0B> <0A> <0A> <0A><14><0E><0E>0<>j<EFBFBD><13>"<22><13>o<EFBFBD>0<>0<>"<22>0<>0<>0<><12><12><12><15> <0C> <0C><0E><0E><0E><14> <0C> <0C><0E><0E><0E><0E>) <1F> <1F> r6c <00><><00>g}|jj<00><00><00>D]<5D>\}\}}|tkr<01>|tkr1|<00>|<03>d|<00><00><00><00>d|<05>d<03><06><00><00>P|tkr|<00>|<03>d|<05><00><03><00><00>v|tkr|<02> |<03><00><00><>td<04><00><00>|r-|<00>d<01> |<02><00><00>d<05><02><00>dSdS)N<> = r?rAzunknown load instruction<6F>
= missing) r<><00>loadsryrrr<><00>get_resolve_funcrrr <00>NotImplementedError<6F>join)r'r*<00>undefs<66>target<65>action<6F>params r4<00> enter_framezCodeGenerator.enter_frameHs$<00><00><13><06>',<2C>}<7D>':<3A>'@<40>'@<40>'B<>'B<>
F<01>
F<01> #<23>F<EFBFBD>O<EFBFBD>V<EFBFBD>U<EFBFBD><15>+<2B>+<2B>+<2B><14><17>+<2B>+<2B>+<2B><14><0E><0E>&<26>Q<>Q<>T<EFBFBD>-B<>-B<>-D<>-D<>Q<>Q<>u<EFBFBD>Q<>Q<>Q<>R<>R<>R<>R<><17>><3E>)<29>)<29><14><0E><0E>&<26>4<>4<>U<EFBFBD>4<>4<>5<>5<>5<>5<><17>-<2D>-<2D>-<2D><16> <0A> <0A>f<EFBFBD>%<25>%<25>%<25>%<25>)<29>*D<>E<>E<>E<> <11> ><3E> <10>N<EFBFBD>N<EFBFBD>e<EFBFBD>j<EFBFBD>j<EFBFBD><16>0<>0<><<3C><<3C><<3C> =<3D> =<3D> =<3D> =<3D> =<3D> ><3E> >r6<00>with_python_scopec<00><><00>|sUg}|jjD]}|<03>|<04><00><00>|r/|<00>d<01>|<03><00><00>d<02><02><00>dSdSdS)Nr1r2)r<>r3r r<>r6)r'r*r<r7r8s r4<00> leave_framezCodeGenerator.leave_frameXs<><00><00> <20> B<01><17>F<EFBFBD><1F>-<2D>-<2D> &<26> &<26><06><16> <0A> <0A>f<EFBFBD>%<25>%<25>%<25>%<25><15> B<01><14><0E><0E>%<25>*<2A>*<2A>V<EFBFBD>"4<>"4<>@<40>@<40>@<40>A<>A<>A<>A<>A<>  B<01> B<01> B<01> Br6<00>async <20><00> async_value<75>
sync_valuec<00>"<00>|jjr|n|Sr.)rB<00>is_async)r'rArBs r4<00> choose_asynczCodeGenerator.choose_async`s<00><00>"<22>.<2E>7<>G<>{<7B>{<7B>Z<EFBFBD>Gr6c<00>4<00>|<00><00><00><00>d|<01><00>S)Nr))rE)r'rRs r4<00>funczCodeGenerator.funccs"<00><00><16>#<23>#<23>%<25>%<25>1<>1<>4<EFBFBD>1<>1<>1r6c
<00>P<00>|<02><00><00>}|j<00>|<01><00>t|<01><00>}d}t <00><00>}g}t |j<00><00>D]g\}}|jdkr|}|jdvr|<05>|j<00><00>|<06> |j<00>
|j<00><00><00><00><00>ht|j d<04><00>} d| vr<>|<04>O |j |t|j<00><00>z
nX#t$r|<00>d|j<00><00>Yn1wxYw|<06> |j<00>d<02><00><00><00>d|_d| vr8d|vr4|<06> |j<00>d<07><00><00><00>d|_d| vr8d|vr4|<06> |j<00>d<08><00><00><00>d|_d |_|j<00>|<01><00>|<00>|<00>d
<EFBFBD><00><00>d d <0C>|<06><00><00>d <0A>|<01><00>|<00><00><00>|<00>|<02><00>|<00>|<02><00>|<00>|<02><00>t |j<00><00>D<00>]\}}|j<00>
|j<00><00>}
|<00>d|
<EFBFBD>d<0F><03><00>|<00><00><00> |j |t|j<00><00>z
} |<00>|
<EFBFBD>d<10><02><00>|<00>| |<02><00>n8#t$r+|<00>|
<EFBFBD>d|j<00>d|j<00>d<13><06><00>YnwxYw|<00>|
<EFBFBD><00>|<00> <00><00><00><01>|<00>!<00><00>|<00>"|j |<02><00>|<00>#|d<06><14><00>|<00>$|d<06><15><00>|<00> <00><00>||fS)z/Dump the function def of a macro or call block.N<>caller)r,<00>varargs)rIr,rJzhWhen defining macros or call blocks the special "caller" argument must be omitted or be given a default.Tr,rJF<>macror?r><00>):<3A>if <20> is missing:r1z = undefined("parameter z was not provided", name=rA)r<><00>r<)%r<>r<><00> analyze_noder<65>ru<00> enumeraterrRr<>r <00>refr<66><00>body<64>defaults<74>len<65>
IndexErrorr<EFBFBD>r<><00>declare_parameterr<72>r<>r<>r<>r<>rGr6r<>r<>r;<00>push_parameter_definitionsr2<00>mark_parameter_storedr<64><00>pop_parameter_definitionsrr<>r>) r'r)r*<00> macro_ref<65>explicit_caller<65>skip_special_paramsr<00>idxr"rrR<00>defaults r4<00>
macro_bodyzCodeGenerator.macro_bodyfsM<00><00><16> <0B> <0B> <0A> <0A><05> <0A> <0A>"<22>"<22>4<EFBFBD>(<28>(<28>(<28><1C>T<EFBFBD>N<EFBFBD>N<EFBFBD> <09><1E><0F>!<21>e<EFBFBD>e<EFBFBD><1B><11><04>!<21>$<24>)<29>,<2C>,<2C> 5<> 5<>H<EFBFBD>C<EFBFBD><13><12>x<EFBFBD>8<EFBFBD>#<23>#<23>"%<25><0F><12>x<EFBFBD>0<>0<>0<>#<23>'<27>'<27><03><08>1<>1<>1<> <10>K<EFBFBD>K<EFBFBD><05> <0A>)<29>)<29>#<23>(<28>3<>3<> 4<> 4<> 4<> 4<>$<24>T<EFBFBD>Y<EFBFBD>0O<30>P<>P<>
<EFBFBD> <13>z<EFBFBD> !<21> !<21><1F>*<2A><16><18>M<EFBFBD>/<2F>C<EFBFBD><04> <09>N<EFBFBD>N<EFBFBD>"B<>C<>C<>C<><43>!<21><16><16><16><18>I<EFBFBD>I<EFBFBD>1<><1D> <0B> <16><16><16><16><16><16><><EFBFBD><EFBFBD><15> <0B> <0B>E<EFBFBD>M<EFBFBD>;<3B>;<3B>H<EFBFBD>E<>E<>F<>F<>F<>(,<2C>I<EFBFBD> %<25> <13>z<EFBFBD> !<21> !<21>h<EFBFBD>6I<36>&I<>&I<> <10>K<EFBFBD>K<EFBFBD><05> <0A>7<>7<><08>A<>A<> B<> B<> B<>(,<2C>I<EFBFBD> %<25> <14>
<EFBFBD> "<22> "<22>y<EFBFBD>8K<38>'K<>'K<> <10>K<EFBFBD>K<EFBFBD><05> <0A>7<>7<> <09>B<>B<> C<> C<> C<>)-<2D>I<EFBFBD> &<26>&+<2B><05>"<22> <0A> <0A>"<22>"<22>4<EFBFBD>(<28>(<28>(<28> <0C><0E><0E>$<24>)<29>)<29>G<EFBFBD>,<2C>,<2C>B<>B<>t<EFBFBD>y<EFBFBD>y<EFBFBD><14><EFBFBD><EFBFBD>B<>B<>B<>D<EFBFBD>I<>I<>I<> <0C> <0B> <0B> <0A> <0A> <0A> <0C> <0B> <0B>E<EFBFBD><1A><1A><1A> <0C><18><18><15><1F><1F><1F> <0C>'<27>'<27><05>.<2E>.<2E>.<2E>!<21>$<24>)<29>,<2C>,<2C> <1B> <1B>H<EFBFBD>C<EFBFBD><13><17>-<2D>#<23>#<23>C<EFBFBD>H<EFBFBD>-<2D>-<2D>C<EFBFBD> <10>N<EFBFBD>N<EFBFBD>2<><13>2<>2<>2<> 3<> 3<> 3<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> +<2B><1E>-<2D><03>c<EFBFBD>$<24>)<29>n<EFBFBD>n<EFBFBD>(<<3C>=<3D><07><15><0E><0E>#<23>{<7B>{<7B>{<7B>+<2B>+<2B>+<2B><14>
<EFBFBD>
<EFBFBD>7<EFBFBD>E<EFBFBD>*<2A>*<2A>*<2A>*<2A><><1E> <12> <12> <12><14><0E><0E><1A>+<2B>+<2B>C<EFBFBD>H<EFBFBD>+<2B>+<2B> <20>X<EFBFBD>+<2B>+<2B>+<2B><12><12><12><12><12> <12><><EFBFBD><EFBFBD> <11> &<26> &<26>s<EFBFBD> +<2B> +<2B> +<2B> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <0C>&<26>&<26>(<28>(<28>(<28> <0C><0F><0F><04> <09>5<EFBFBD>)<29>)<29>)<29> <0C>#<23>#<23>E<EFBFBD>4<EFBFBD>#<23>@<40>@<40>@<40> <0C><18><18><15>$<24><18>7<>7<>7<> <0C> <0C> <0C><0E><0E><0E><14>i<EFBFBD><1F>s$<00>("D <00> %D3<03>2D3<03>?"M<02>2N<05>Nr[c <00>0<00>d<01>d<02>|jjD<00><00><00><00>}t|jdd<04><00>}t |jj<00><00>dkr|dz }|<00>d|<04>d|<03>d |j<00>d|j<00>d|j<00>d
<EFBFBD> <0B><00>dS) z<Dump the macro definition for the def created by macro_body.r>c3<00>>K<00>|]}t|j<00><00>V<00><00>dSr.)<02>reprrRrs r4rfz*CodeGenerator.macro_def.<locals>.<genexpr><3E>s*<00><00><00><00>H<>H<>q<EFBFBD>d<EFBFBD>1<EFBFBD>6<EFBFBD>l<EFBFBD>l<EFBFBD>H<>H<>H<>H<>H<>Hr6rRNr
<00>,zMacro(environment, macro, z, (z), z, context.eval_ctx.autoescape)) r6r)r<00>getattrrUrEr<>r<>r<>)r'r[r*<00> arg_tuplerRs r4<00> macro_defzCodeGenerator.macro_def<65>s<><00><00><18>I<EFBFBD>I<EFBFBD>H<>H<>I<EFBFBD>N<EFBFBD>4G<34>H<>H<>H<>H<>H<> <09><16>y<EFBFBD>~<7E>v<EFBFBD>t<EFBFBD>4<>4<><04> <0E>y<EFBFBD>~<7E>"<22> #<23> #<23>q<EFBFBD> (<28> (<28> <15><13> <1C>I<EFBFBD> <0C>
<EFBFBD>
<EFBFBD> L<01><14> L<01> L<01>I<EFBFBD> L<01> L<01><19>)<29> L<01> L<01>/8<>/I<> L<01> L<01><19>)<29> L<01> L<01> L<01>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
r6c<00>@<00>d|j<00><00>}|j<00> |<02>d|j<00><02>}|S)z.Return a human readable position for the node.zline N<> in )r<>rR)r'r)r<>s r4<00>positionzCodeGenerator.position<6F>s3<00><00> "<22>T<EFBFBD>[<5B> "<22> "<22><02> <0F>9<EFBFBD> <20><16>)<29>)<29>D<EFBFBD>I<EFBFBD>)<29>)<29>B<EFBFBD><11> r6c<00><><00>d<01>d<02>|j<00><00><00><00><00><00>D<00><00><00><00>}d|<02>d<04>S)Nr>c3<00>*K<00>|]\}}|<01>d|<02><00>V<00><00>dS<00>rNr<4E>)rdrRr8s r4rfz3CodeGenerator.dump_local_context.<locals>.<genexpr><3E>sH<00><00><00><00>
<EFBFBD>
<EFBFBD><1C><04>f<EFBFBD><14> !<21> !<21><16> !<21> !<21>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
r6<00>{r)r6r<><00> dump_storesry)r'r*<00>items_kvs r4<00>dump_local_contextz CodeGenerator.dump_local_context<78>s^<00><00><17>9<EFBFBD>9<EFBFBD>
<EFBFBD>
<EFBFBD> %<25> <0A> 9<> 9<> ;<3B> ;<3B> A<> A<> C<> C<>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD>
<EFBFBD><08>!<21>H<EFBFBD> <20> <20> <20> r6c<00><><00>|<00>d<01><00>|<00>d<02><00>|<00>d<03><00>|<00>d<04><00>|<00>d<05><00>dS)z<>Writes a common preamble that is used by root and block functions.
Primarily this sets up common local helpers and enforces a generator
through a dead branch.
z$resolve = context.resolve_or_missingz!undefined = environment.undefinedzconcat = environment.concatzcond_expr_undefined = Undefinedzif 0: yield NoneN<65>r<>r<>s r4<00> write_commonszCodeGenerator.write_commons<6E>sk<00><00>
<0A><0E><0E>=<3D>><3E>><3E>><3E> <0C><0E><0E>:<3A>;<3B>;<3B>;<3B> <0C><0E><0E>4<>5<>5<>5<> <0A><0E><0E>8<>9<>9<>9<> <0C><0E><0E>)<29>*<2A>*<2A>*<2A>*<2A>*r6c<00>h<00>|j<00>|j<00><00><00><00><00>dS)aQPushes all parameter targets from the given frame into a local
stack that permits tracking of yet to be assigned parameters. In
particular this enables the optimization from `visit_Name` to skip
undefined expressions for parameters in macros as macros can reference
otherwise unbound parameters.
N)r<>r r<><00>dump_param_targetsr<73>s r4rXz(CodeGenerator.push_parameter_definitions<6E>s/<00><00> <0A><1D>$<24>$<24>U<EFBFBD>]<5D>%E<>%E<>%G<>%G<>H<>H<>H<>H<>Hr6c<00>8<00>|j<00><00><00>dS)z+Pops the current parameter definitions set.N)r<><00>popr<70>s r4rZz'CodeGenerator.pop_parameter_definitions<6E>s<00><00> <0C><1D>!<21>!<21>#<23>#<23>#<23>#<23>#r6r8c<00>X<00>|jr"|jd<00>|<01><00>dSdS)z<>Marks a parameter in the current parameter definitions as stored.
This will skip the enforced undefined checks.
r*N)r<>r<><00>r'r8s r4rYz#CodeGenerator.mark_parameter_stored<65>s;<00><00> <10> <20> 6<> <10> !<21>"<22> %<25> -<2D> -<2D>f<EFBFBD> 5<> 5<> 5<> 5<> 5<> 6<> 6r6c<00>:<00>|j<00>|<01><00>dSr.)r<>r rzs r4<00>push_context_referencez$CodeGenerator.push_context_reference<63>s<00><00> <0C>%<25>,<2C>,<2C>V<EFBFBD>4<>4<>4<>4<>4r6c<00>8<00>|j<00><00><00>dSr.)r<>rxr<>s r4<00>pop_context_referencez#CodeGenerator.pop_context_reference<63>s<00><00> <0C>%<25>)<29>)<29>+<2B>+<2B>+<2B>+<2B>+r6c<00><00>|jdS)Nr*<00>r<>r<>s r4<00>get_context_refzCodeGenerator.get_context_ref<65>s<00><00><13>,<2C>R<EFBFBD>0<>0r6c<00>6<00>|jd}|dkrdS|<01>d<04>S)Nr*r<><00>resolvez.resolver<65>rzs r4r4zCodeGenerator.get_resolve_func<6E>s.<00><00><15>.<2E>r<EFBFBD>2<><06> <11>Y<EFBFBD> <1E> <1E><1C>9<EFBFBD><18>"<22>"<22>"<22>"r6c<00>\<00>|<00><00><00><00>d|<00>|<01><00><00>d<02>S)Nz .derived(rA)r<>rqr<>s r4<00>derive_contextzCodeGenerator.derive_contexts3<00><00><16>&<26>&<26>(<28>(<28>T<>T<>4<EFBFBD>3J<33>3J<33>5<EFBFBD>3Q<33>3Q<33>T<>T<>T<>Tr6c<00>2<00>|jsdS||jdvS)z4Checks if a given target is an undeclared parameter.Fr*)r<>rzs r4<00>parameter_is_undeclaredz%CodeGenerator.parameter_is_undeclareds%<00><00><13>$<24> <19><18>5<EFBFBD><15><14>.<2E>r<EFBFBD>2<>2<>2r6c<00>R<00>|j<00>t<00><00><00><00>dS)z+Pushes a new layer for assignment tracking.N)r<>r rur<>s r4<00>push_assign_trackingz"CodeGenerator.push_assign_tracking s#<00><00> <0C><1A>!<21>!<21>#<23>%<25>%<25>(<28>(<28>(<28>(<28>(r6c<00><><00>|j<00><00><00>}|js|js|jr|sdSd<02>|D<00><00>}t |<02><00>dkr<>t t|<02><00><00><00>}|j<00> |<04><00>}|jr|<00>
d|<04>d|<05><00><04><00>dS|jr|<00>
d|<04>d|<05><00><04><00>dS|<00>
d|<04>d|<05><00><04><00>n<>|jr|<00>
d<08><00>n2|jr|<00>
d <09><00>n|<00>
d
<EFBFBD><00>tt|<02><00><00><00>D]P\}}|r|<00> d <0B><00>|j<00> |<04><00>}|<00> |<04>d |<05><00><03><00><00>Q|<00> d <0A><00>|js<>|js<>|r<>t |<03><00>dkr!|<00>
d|d<00>d<10><03><00>dSd <0B>tt t|<03><00><00><00><00><00>}|<00>
d|<07>d<12><03><00>dSdSdSdS)zoPops the topmost level for assignment tracking and updates the
context variables if necessary.
Nc<00>.<00>g|]}|dd<01>dk<00>|<01><02>S)Nr
<00>_r<5F>rs r4<00>
<listcomp>z5CodeGenerator.pop_assign_tracking.<locals>.<listcomp>s%<00><00>8<>8<>8<>a<EFBFBD>1<EFBFBD>R<EFBFBD>a<EFBFBD>R<EFBFBD>5<EFBFBD>C<EFBFBD><<3C><<3C><01><<3C><<3C><r6r
z _loop_vars[<5B>] = z _block_vars[<5B> context.vars[z_loop_vars.update({z_block_vars.update({<7B>context.vars.update({r>r<00>})<29>context.exported_vars.add(rrAzcontext.exported_vars.update((r<>)r<>rxr<>r<>r<>rU<00>next<78>iterr<72>rRr<>rQr,rEr6<00>maprc)r'r*<00>vars<72> public_namesrRrRr^<00> names_strs r4<00>pop_assign_trackingz!CodeGenerator.pop_assign_trackings<><00><00><14>!<21>%<25>%<25>'<27>'<27><04><15>!<21> <13><19>$<24> <13><1A>N<EFBFBD> <13><18>  <13> <13>F<EFBFBD>8<>8<>4<EFBFBD>8<>8<>8<> <0C> <0E>t<EFBFBD>9<EFBFBD>9<EFBFBD><01>><3E>><3E><17><04>T<EFBFBD>
<EFBFBD>
<EFBFBD>#<23>#<23>D<EFBFBD><17>-<2D>#<23>#<23>D<EFBFBD>)<29>)<29>C<EFBFBD><14><1F> <17><14><0E><0E>><3E>T<EFBFBD>><3E>><3E><13>><3E>><3E>?<3F>?<3F>?<3F><16><06><14> <20> <17><14><0E><0E>?<3F>d<EFBFBD>?<3F>?<3F>#<23>?<3F>?<3F>@<40>@<40>@<40><16><06> <10>N<EFBFBD>N<EFBFBD><<3C>4<EFBFBD><<3C><<3C>s<EFBFBD><<3C><<3C> =<3D> =<3D> =<3D> =<3D><14><1F> 8<><14><0E><0E>4<>5<>5<>5<>5<><16>"<22> 8<><14><0E><0E>5<>6<>6<>6<>6<><14><0E><0E>6<>7<>7<>7<>&<26>v<EFBFBD>d<EFBFBD>|<7C>|<7C>4<>4<> /<2F> /<2F> <09><03>T<EFBFBD><16>%<25><18>J<EFBFBD>J<EFBFBD>t<EFBFBD>$<24>$<24>$<24><1B>m<EFBFBD>'<27>'<27><04>-<2D>-<2D><03><14>
<EFBFBD>
<EFBFBD>d<EFBFBD>-<2D>-<2D><03>-<2D>-<2D>.<2E>.<2E>.<2E>.<2E> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <1C> <1C><14> <20> O<01><15>)9<> O<01>l<EFBFBD> O<01><12><<3C> <20> <20>A<EFBFBD>%<25>%<25><14><0E><0E>P<>L<EFBFBD><11>O<EFBFBD>P<>P<>P<>Q<>Q<>Q<>Q<>Q<> <20>I<EFBFBD>I<EFBFBD>c<EFBFBD>$<24><06>|<7C>0D<30>0D<30>&E<>&E<>F<>F<> <09><14><0E><0E>M<> <09>M<>M<>M<>N<>N<>N<>N<>N<>  O<01> O<01> O<01> O<01> O<01> Or6c <00><> <00>|<02>
Jd<01><00><00>t|j|j<00><00>}ddlm}ddlm}|jjrt||z<00><00>}nt|<05><00>}|<00>dd<06> |<06><00>z<00><00>|j
rdnd}|<01> tj <00><00>du}|<01>tj<00><00>D]C} | j|jvr$|<00>d | j<00>d
<EFBFBD>| j<00><00>| |j| j<<00>D|<01>tj<00><00>D]<5D>}
|
j|jvr||
j} |<00><00><00>x|j| <} d | vr8| <0B>d d<02><00>\} }|<00>d | <0A>d |<0E>d| <0C><00><06><00><00>q|<00>d| <0B>d| <0C><00><04><00><00><>|<00>d|j<00><02><02><00>|<00>|<00>d<11><00><00>d|<07>d<13>d<02><14><00>|<00><00><00>|<00><00><00>t7|<03><00>}dt9|jd<16><00>vr2|j<00>d<15><00>}|<00>|<0F>d<17><02><00>|j<00> |<01><00>dx|_!|_"|o|j# |_$|r|<00>d<19><00>|<00>%|<02><00>|<00>&|j<00><00>|<00>'|j|<02><00>|<00>(|d<18><1A><00>|<00>)<00><00>|<08>r=|j#s)|<00><00><00>|<00>d<1B><00>|<00><00><00>|jjs|<00>d<1C><00>n<>|<00>d<1D><00>|<00>d<1E><00>|<00><00><00>|<00>d<1F><00>|<00><00><00>|<00>d <20><00>|<00>)<00><00>|<00>)<00><00>|<00>d!<21><00>|<00>)d|j# z<00><00>|j<00>*<00><00>D<00>]<5D>\}} |<00>|<00>d"|z<00><00><00>d|<07>d<13>| d<02><00>|<00><00><00>|<00><00><00>t7|<03><00>}d|_+t9| jd#<23><00>}d|vr2|j<00>d<15><00>}|<00>|<0F>d<17><02><00>d$|vr8|j<00>d$<24><00>}|<00>|<0F>d%|<10>d&|<10>d'<27><06><00>|j<00> | <09><00>||_,|<00>d(<28><00>|<00>%|<11><00>|<00>&| j<00><00>|<00>'| j|<11><00>|<00>(|d<18><1A><00>|<00>)<00><00><00><01><>d<06> d)<29>|jD<00><00><00><00>}|<00>d*|<13>d+<2B>d<02><14><00>d,<2C> d-<2D>|j-D<00><00><00><00>}|<00>d.|<14><02><02><00>dS)/Nzno root frame allowedr
)<01>async_exported)<01>exportedzfrom jinja2.runtime import r>r@z, environment=environmentzblock z defined twice<63>.zfrom z import z as zimport zname = <20>rootz(context, missing=missingrL)r r'r<>z = TemplateReference(context)Tzparent_template = NonerO<00>if parent_template is not None:z4yield from parent_template.root_render_func(context)z0agen = parent_template.root_render_func(context)r&zasync for event in agen:z yield eventzfinally: await agen.aclose()<29>block_)r'<00>superr<72>z = context.super(z, block_rAz_block_vars = {}c3<00>$K<00>|] }|<01>d|<01><00>V<00><00> dS)z: block_Nr<4E>rs r4rfz/CodeGenerator.visit_Template.<locals>.<genexpr><3E>s0<00><00><00><00>!K<>!K<>!<21>Q<EFBFBD>"5<>"5<>!<21>"5<>"5<>!K<>!K<>!K<>!K<>!K<>!Kr6z
blocks = {r<00>&c3<00>*K<00>|]\}}|<01>d|<02><00>V<00><00>dS)rNr<4E>rhs r4rfz/CodeGenerator.visit_Template.<locals>.<genexpr><3E>s0<00><00><00><00>G<>G<>t<EFBFBD>q<EFBFBD>!<21>1<EFBFBD>
<EFBFBD>
<EFBFBD>q<EFBFBD>
<EFBFBD>
<EFBFBD>G<>G<>G<>G<>G<>Gr6z debug_info = ).rrBrR<00>runtimer<65>r<>rDr,r<>r6rU<00>findr <00>Extends<64>find_allr<6C>r<>r<>r<><00> ImportedName<6D>
importnamer<EFBFBD>r<><00>rsplitrGr<>rtr+r<>rSr<>rWrPr<>r<>r<>r<>r;r/rr>r<>ryr<>r<>r<>)r'r)r*r0r<>r<><00>exported_names<65>envenv<6E> have_extendsr<73><00>import_<74>imp<6D>alias<61>module<6C>objrRrRr<>r<00> blocks_kv_str<74> debug_kv_strs r4<00>visit_TemplatezCodeGenerator.visit_Template=s<><00><00><15>}<7D>}<7D>5<>}<7D>}<7D>}<7D><1E>t<EFBFBD>/<2F><14><19>;<3B>;<3B><08>+<2B>+<2B>+<2B>+<2B>+<2B>+<2B>%<25>%<25>%<25>%<25>%<25>%<25> <0F> <1B> $<24> .<2E>#<23>H<EFBFBD>~<7E>$=<3D>><3E>><3E>N<EFBFBD>N<EFBFBD>#<23>H<EFBFBD>-<2D>-<2D>N<EFBFBD> <0C><0E><0E>4<>t<EFBFBD>y<EFBFBD>y<EFBFBD><1E>7P<37>7P<37>P<>Q<>Q<>Q<><1C><EFBFBD>G<><12><12>,G<><06><1C>y<EFBFBD>y<EFBFBD><15><1D>/<2F>/<2F>t<EFBFBD>;<3B> <0C><1A>]<5D>]<5D>5<EFBFBD>;<3B>/<2F>/<2F> ,<2C> ,<2C>E<EFBFBD><14>z<EFBFBD>T<EFBFBD>[<5B>(<28>(<28><14> <09> <09>?<3F>5<EFBFBD>:<3A>?<3F>?<3F>?<3F><15><1C>N<>N<>N<>&+<2B>D<EFBFBD>K<EFBFBD><05>
<EFBFBD> #<23> #<23><1C>}<7D>}<7D>U<EFBFBD>%7<>8<>8<> ?<3F> ?<3F>G<EFBFBD><16>!<21><14>)<<3C><<3C><<3C><1D>(<28><03>37<33>3L<33>3L<33>3N<33>3N<33>N<><04>#<23>C<EFBFBD>(<28>5<EFBFBD><16>#<23>:<3A>:<3A>"%<25>*<2A>*<2A>S<EFBFBD>!<21>"4<>"4<>K<EFBFBD>F<EFBFBD>C<EFBFBD><18>N<EFBFBD>N<EFBFBD>#K<>6<EFBFBD>#K<>#K<>3<EFBFBD>#K<>#K<>E<EFBFBD>#K<>#K<>L<>L<>L<>L<><18>N<EFBFBD>N<EFBFBD>#=<3D>S<EFBFBD>#=<3D>#=<3D>e<EFBFBD>#=<3D>#=<3D>><3E>><3E>><3E><> <0A><0E><0E>.<2E><14><19>.<2E>.<2E>/<2F>/<2F>/<2F> <0A><0E><0E><13>y<EFBFBD>y<EFBFBD><16> <20> <20> E<> E<>6<EFBFBD> E<> E<> E<>Q<EFBFBD> <17>
<EFBFBD>
<EFBFBD>
<EFBFBD> <0A> <0B> <0B> <0A> <0A> <0A> <0C><1A><1A><1C><1C><1C><16>h<EFBFBD><0F><0F><05> <11>_<EFBFBD>T<EFBFBD>Y<EFBFBD> <09>:<3A>:<3A> :<3A> :<3A><17>-<2D>1<>1<>&<26>9<>9<>C<EFBFBD> <10>N<EFBFBD>N<EFBFBD>c<EFBFBD>@<40>@<40>@<40> A<> A<> A<> <0A> <0A>"<22>"<22>4<EFBFBD>(<28>(<28>(<28>+/<2F>/<2F><05><0E><15><1F>%1<>%P<>$<24>:P<>6P<36><05>"<22> <17> 5<> <10>N<EFBFBD>N<EFBFBD>3<> 4<> 4<> 4<> <0C><18><18><15><1F><1F><1F> <0C><1E><1E>t<EFBFBD>y<EFBFBD>)<29>)<29>)<29> <0C><0F><0F><04> <09>5<EFBFBD>)<29>)<29>)<29> <0C><18><18><15>$<24><18>7<>7<>7<> <0C> <0C> <0C><0E><0E><0E> <18> ;<3B><17>)<29> B<01><14> <0B> <0B> <0A> <0A> <0A><14><0E><0E>@<40>A<>A<>A<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD><17>#<23>,<2C> ?<3F><14><0E><0E>U<>V<>V<>V<>V<><14><0E><0E>Q<>R<>R<>R<><14><0E><0E>v<EFBFBD>&<26>&<26>&<26><14> <0B> <0B> <0A> <0A> <0A><14><0E><0E>9<>:<3A>:<3A>:<3A><14> <0B> <0B> <0A> <0A> <0A><14><0E><0E>}<7D>-<2D>-<2D>-<2D><14> <0C> <0C><0E><0E><0E><14> <0C> <0C><0E><0E><0E><14><0E><0E>=<3D>><3E>><3E>><3E> <10>L<EFBFBD>L<EFBFBD><11>$<24>"8<>8<>9<> :<3A> :<3A> :<3A> <20>;<3B>,<2C>,<2C>.<2E>.<2E> <1B> <1B>K<EFBFBD>D<EFBFBD>%<25> <10>N<EFBFBD>N<EFBFBD><17>9<EFBFBD>9<EFBFBD>X<EFBFBD><04>_<EFBFBD>-<2D>-<2D>R<>R<><06>R<>R<>R<><15><11> <0E> <0E> <0E>
<11>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10> <1E> <1E> <20> <20> <20> <20><08>/<2F>/<2F>K<EFBFBD>&*<2A>K<EFBFBD> #<23>(<28><15><1A>5F<35>G<>G<>J<EFBFBD><15><1A>#<23>#<23>!<21>)<29>;<3B>;<3B>F<EFBFBD>C<>C<><03><14><0E><0E>#<23>D<>D<>D<>E<>E<>E<><16>*<2A>$<24>$<24>!<21>)<29>;<3B>;<3B>G<EFBFBD>D<>D<><03><14><0E><0E>#<23>O<>O<><04>O<>O<><04>O<>O<>O<>P<>P<>P<> <17> <1F> ,<2C> ,<2C>U<EFBFBD> 3<> 3<> 3<> $<24>K<EFBFBD> <1D> <10>N<EFBFBD>N<EFBFBD>-<2D> .<2E> .<2E> .<2E> <10> <1C> <1C>[<5B> )<29> )<29> )<29> <10> "<22> "<22>5<EFBFBD>:<3A> .<2E> .<2E> .<2E> <10>O<EFBFBD>O<EFBFBD>E<EFBFBD>J<EFBFBD> <0B> 4<> 4<> 4<> <10> <1C> <1C>[<5B>D<EFBFBD> <1C> A<> A<> A<> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD><1C> <09> <09>!K<>!K<>t<EFBFBD>{<7B>!K<>!K<>!K<>K<>K<> <0A> <0C><0E><0E>6<>]<5D>6<>6<>6<>a<EFBFBD><0E>@<40>@<40>@<40><1A>x<EFBFBD>x<EFBFBD>G<>G<>t<EFBFBD><EFBFBD>G<>G<>G<>G<>G<> <0C> <0C><0E><0E>7<>|<7C>7<>7<>8<>8<>8<>8<>8r6c<00>T<00>d}|jrB|jrdS|jdkr.|<00>d<03><00>|<00><00><00>|dz }|jr|<00>|<02><00>}n|<00><00><00>}|jrf|<00>d|j <00>d<06>|<01><00>|<00><00><00>|<00>d|j <00>d<08>|<01><00>|<00>
<00><00>|j j s*|j <00>#|<00>d |j <00>d
|<04>d <0B>|<01><00>n<>|<00>d |j <00>d
|<04>d <0B><05><00>|<00>d <0A><00>|<00><00><00>|<00>|<00><00><00><00>d<0E>|<01><00>|<00><00><00>|<00>d|<02><00>|<00>
<00><00>|<00>
<00><00>|<00>d|<00>dd<12><00><00><00><02><00>|<00>
|<03><00>dS)z.Call a block and register it for the template.rN<>if parent_template is None:r
zif len(context.blocks[z]) <= 1:z+raise TemplateRuntimeError("Required block z not found")zyield from context.blocks[z][0](rAzgen = context.blocks[r&<00>for event in gen:<3A>event<6E> finally: <20>await gen.aclose()<29> gen.close())r<>r<>r<>r<>r<><00>scopedr<64>r<><00>requiredrRr<>rBrDr<>rEr)r'r)r*r<>r<>s r4r<>zCodeGenerator.visit_Block<63>sJ<00><00><11><05> <10>><3E> <1B><14>%<25> <17><16><06><13>"<22>Q<EFBFBD>&<26>&<26><14><0E><0E><<3C>=<3D>=<3D>=<3D><14> <0B> <0B> <0A> <0A> <0A><15><11>
<EFBFBD><05> <0F>;<3B> -<2D><1A>)<29>)<29>%<25>0<>0<>G<EFBFBD>G<EFBFBD><1A>*<2A>*<2A>,<2C>,<2C>G<EFBFBD> <0F>=<3D> <1B> <10>N<EFBFBD>N<EFBFBD>I<>D<EFBFBD>I<EFBFBD>I<>I<>I<>4<EFBFBD> P<> P<> P<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>W<>d<EFBFBD>i<EFBFBD>W<>W<>W<><14> <0E> <0E> <0E> <11>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD><13><1F>(<28> <0E>U<EFBFBD>\<5C>-A<> <10>N<EFBFBD>N<EFBFBD>I<>T<EFBFBD>Y<EFBFBD>I<>I<>w<EFBFBD>I<>I<>I<>4<EFBFBD> <0E> <0E> <0E> <0E> <11>N<EFBFBD>N<EFBFBD>O<>4<EFBFBD>9<EFBFBD>O<>O<>W<EFBFBD>O<>O<>O<> P<> P<> P<> <10>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22> "<22> "<22> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD><17>$<24>$<24>&<26>&<26>9<>9<>9<><14> <0E> <0E> <0E> <11>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10> <1D> <1D>g<EFBFBD>u<EFBFBD> -<2D> -<2D> -<2D> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <10>N<EFBFBD>N<EFBFBD>T<>D<EFBFBD>-<2D>-<2D>.B<>M<EFBFBD>R<>R<>T<>T<> <0E> <0E> <0E> <0A> <0C> <0C>U<EFBFBD><1B><1B><1B><1B>r6c<00><><00>|js|<00>d|j<00><00>|jdkrn|js)|<00>d<03><00>|<00><00><00>|<00>d<04><00>|jrt<00><00><00>|<00><00><00>|<00>d|<01><00>|<00> |j
|<02><00>|<00> d|j <00>d<07><03><00>|<00>d<08><00>|<00><00><00>|<00>d <09><00>|<00><00><00>|j rd
|_|xjd z c_d S) zCalls the extender.z,cannot use extend from a non top-level scoperr<>z5raise TemplateRuntimeError("extended multiple times")z+parent_template = environment.get_template(r>rAz9for name, parent_block in parent_template.blocks.items():z8context.blocks.setdefault(name, []).append(parent_block)Tr
N)r<>r<>r<>r<>r<>r<>r<>r<>r<>r2<00>templaterErRr<><00>r'r)r*s r4<00> visit_ExtendszCodeGenerator.visit_Extends<64>sS<00><00><14>~<7E> S<01> <10>I<EFBFBD>I<EFBFBD>D<>d<EFBFBD>k<EFBFBD> R<> R<> R<>
<10> <1E><11> "<22> "<22>
<18>)<29> <1E><14><0E><0E>@<40>A<>A<>A<><14> <0B> <0B> <0A> <0A> <0A> <10>N<EFBFBD>N<EFBFBD>R<> S<> S<> S<><14>%<25> <1F>"<22>n<EFBFBD>n<EFBFBD>$<24><14> <0C> <0C><0E><0E><0E> <0C><0E><0E>D<>d<EFBFBD>K<>K<>K<> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>=<3D>%<25>(<28>(<28>(<28> <0C>
<EFBFBD>
<EFBFBD>&<26><04> <09>&<26>&<26>&<26>'<27>'<27>'<27> <0C><0E><0E>R<>S<>S<>S<> <0C> <0B> <0B> <0A> <0A> <0A> <0C><0E><0E>Q<>R<>R<>R<> <0C> <0C> <0C><0E><0E><0E>
<11>?<3F> *<2A>%)<29>D<EFBFBD> "<22> <0A><1B><1B>q<EFBFBD> <20><1B><1B><1B>r6c<00><><00><00><02>|jr)<29><00>d<01><00><00><00><00><00>d}t|jt
j<00><00>rKt|jjt<00><00>rd}nVt|jjttf<02><00>rd}n-t|jt
j t
j f<02><00>rd}<03><00>d|<03>d<06>|<01><00><00><00> |j<00><02><00><00><00>d<07>j<00>d<08><03><00>|jr<><72><00><00><00><00><00>d <09><00><00><00><00><00><00><00>d
<EFBFBD><00><00><00><00><00><00><00>d <0B><00><00><00><00><00>d<17><02>fd<0E> }|j<00>d<0F><00><00><02><00><00>d<10><03><00><00><00>d<01><00><00><00><00><00><00><00><00><00><00><00><00>d<11><02><00>|<04><00><00><00><00><00><00><00>d<12><00>dd<14><00><00><00><02><00>nA<6E>jjr <20><00>d<15><00>|<04><00>n<15><00>d<16><00>|jr<16><00><00><00>d Sd S)zHandles includes.r&<00>get_or_select_template<74> get_template<74>select_templateztemplate = environment.r?r>rAzexcept TemplateNotFound:rr<>r%Nc<00><><00><02><00><01><00><00><00><01>d<01><00><00><00><01><00><00>dS)Nr<4E>)r<>rr<>)r*r's<00><>r4<00> loop_bodyz.CodeGenerator.visit_Include.<locals>.loop_body-s7<00><><00> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10> <1D> <1D>g<EFBFBD>u<EFBFBD> -<2D> -<2D> -<2D> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>Nr6zNgen = template.root_render_func(template.new_context(context.get_all(), True, r<>r<>r<>r<>r<>zGfor event in (await template._get_default_module_async())._body_stream:z6yield from template._get_default_module()._body_streamr<6D>)<16>ignore_missingr<67>r<>rXr<>r <00>Constr_rrrsrt<00>Tuple<6C>Listr2rErRr<><00> with_contextrqrErBrD)r'r)r*<00> func_namer<65>s` ` r4<00> visit_IncludezCodeGenerator.visit_Includes<><00><><EFBFBD><00> <0F> <1E> <1A> <10>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22> "<22> "<22> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD>,<2C> <09> <15>d<EFBFBD>m<EFBFBD>U<EFBFBD>[<5B> 1<> 1<> *<2A><19>$<24>-<2D>-<2D>s<EFBFBD>3<>3<> .<2E>*<2A> <09> <09><1B>D<EFBFBD>M<EFBFBD>/<2F>%<25><14><1D>?<3F>?<3F> .<2E>-<2D> <09><> <17><04> <0A><05> <0B>U<EFBFBD>Z<EFBFBD>'@<40> A<> A<> *<2A>)<29>I<EFBFBD> <0C><0E><0E>=<3D><19>=<3D>=<3D>=<3D>t<EFBFBD>D<>D<>D<> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>=<3D>%<25>(<28>(<28>(<28> <0C>
<EFBFBD>
<EFBFBD>&<26><04> <09>&<26>&<26>&<26>'<27>'<27>'<27> <0F> <1E> <1A> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <10>N<EFBFBD>N<EFBFBD>5<> 6<> 6<> 6<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22> "<22> "<22> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <10>N<EFBFBD>N<EFBFBD>7<EFBFBD> #<23> #<23> #<23> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <1B> <1B> <1B> <1B> <1B> <1B> <1B>
<10> <1C> U<01> <10>N<EFBFBD>N<EFBFBD>7<><18>+<2B>+<2B>E<EFBFBD>2<>2<>7<>7<>7<> <0E> <0E> <0E>
<11>N<EFBFBD>N<EFBFBD>6<EFBFBD> "<22> "<22> "<22> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>d<EFBFBD>/<2F>/<2F>1<>1<>D<>D<>D<> E<> E<> E<> <15>I<EFBFBD>K<EFBFBD>K<EFBFBD>K<EFBFBD> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <10>N<EFBFBD>N<EFBFBD>T<>D<EFBFBD>-<2D>-<2D>.B<>M<EFBFBD>R<>R<>T<>T<> <0E> <0E> <0E> <0E><12> <1D> &<26> U<01> <10>N<EFBFBD>N<EFBFBD>!<21> <0E> <0E> <0E> <16>I<EFBFBD>K<EFBFBD>K<EFBFBD>K<EFBFBD>K<EFBFBD> <10>N<EFBFBD>N<EFBFBD>S<> T<> T<> T<> <0F> <1E> <1B> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <1B> r6c<00><><00>|<00>|<00>d<01><00><00>d<02><02><00>|<00>|j|<02><00>|<00>d|j<00>d<04><03><00>|jrHd|<00>d<06><00><00><00>}|<00>|<03>d|<00>|<02><00><00>d<08><04><00>dS|<00>d |<00>d<06><00><00>d
<EFBFBD><03><00>dS) N<>await zenvironment.get_template(r>z).<2E> make_module<6C>_asyncz(context.get_all(), True, rA<00>_get_default_modulez (context))rErEr2r<>rRr<>rq)r'r)r*<00>f_names r4<00>_import_commonzCodeGenerator._import_commonLs<00><00> <0A>
<EFBFBD>
<EFBFBD>d<EFBFBD>'<27>'<27><08>1<>1<>L<>L<>L<>M<>M<>M<> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>=<3D>%<25>(<28>(<28>(<28> <0C>
<EFBFBD>
<EFBFBD>'<27><04> <09>'<27>'<27>'<27>(<28>(<28>(<28> <0F> <1C> U<01>@<40>4<EFBFBD>#4<>#4<>X<EFBFBD>#><3E>#><3E>@<40>@<40>F<EFBFBD> <10>J<EFBFBD>J<EFBFBD><19>V<>V<>T<EFBFBD>5L<35>5L<35>U<EFBFBD>5S<35>5S<35>V<>V<>V<> <0E> <0E> <0E> <0E> <0E> <11>J<EFBFBD>J<EFBFBD>S<>T<EFBFBD>-><3E>-><3E>x<EFBFBD>-H<>-H<>S<>S<>S<> T<> T<> T<> T<> Tr6c<00>n<00>|<00>|j<00>|j<00><00><00>d<01>|<01><00>|jr|<00>d|j<00>d<03><03><00>|<00>||<02><00>|jr:|j<00>d<04><00>s"|<00>d|j<00>d<06><03><00>dSdSdS)zVisit regular imports.r1r<>r<>r<><00>context.exported_vars.discard(rAN)r<>r<>rRr8r<>rEr<><00>
startswithr<EFBFBD>s r4<00> visit_ImportzCodeGenerator.visit_Import[s<><00><00> <0C><0E><0E>%<25>-<2D>+<2B>+<2B>D<EFBFBD>K<EFBFBD>8<>8<>=<3D>=<3D>=<3D>t<EFBFBD>D<>D<>D<> <10>><3E> <<3C> <10>J<EFBFBD>J<EFBFBD>:<3A>t<EFBFBD>{<7B>:<3A>:<3A>:<3A> ;<3B> ;<3B> ;<3B> <0C><1B><1B>D<EFBFBD>%<25>(<28>(<28>(<28> <10>><3E> N<01>$<24>+<2B>"8<>"8<><13>"=<3D>"=<3D> N<01> <10>N<EFBFBD>N<EFBFBD>L<>D<EFBFBD>K<EFBFBD>L<>L<>L<> M<> M<> M<> M<> M<> N<01> N<01> N<01> Nr6c <00><><00><02>|<00>|<01><00>|<00>d<01><00>|<00>|<01><02><00>g}g}|jD<00>]m}t |t
<00><00>r|\}}n|}|<00><00>j<00>|<06><00><00>d|<05>d<03><04><00>|<00>d<04>j<00>|<06><00><00>d<05><03><00>|<00> <00><00>|<00>
|<01><00><00> dd<07><00><00> dd <09><00>}d
|<07>d |<05><02>}|<00><00>j<00>|<06><00><00>d |<08>d |<05>d<0E><06><00>|<00> <00><00><00>j r?|<03>|<06><00>|<06>d<0F><00>s|<04>|<06><00><00><01>o|r<>t!|<03><00>dkr<|d}|<00>d|<05>d<13>j<00>|<05><00><00><00><04><00>n:d<14><00>fd<15>|D<00><00><00><00>} |<00>d| <09>d<17><03><00>|rwt!|<04><00>dkr!|<00>d|d<00>d<0E><03><00>dSd<14>t%t&|<04><00><00><00>}
|<00>d|
<EFBFBD>d<1A><03><00>dSdS)zVisit named imports.zincluded_template = z = getattr(included_template, z
, missing)rMrNrnz{{rz}}z9the template {included_template.__name__!r} (imported on z%) does not export the requested name z = undefined(fz, name=rAr<>r
rr<>r<>r>c3<00>V<00>K<00>|]#}|<01>d<00>j<00>|<01><00><00><00>V<00><00>$dSrm)r<>rR)rdrRr*s <20>r4rfz1CodeGenerator.visit_FromImport.<locals>.<genexpr><3E>sR<00><><00><00><00>%<12>%<12>?C<>t<EFBFBD>:<3A>:<3A><15><1D>!2<>!2<>4<EFBFBD>!8<>!8<>:<3A>:<3A>%<12>%<12>%<12>%<12>%<12>%r6r<>r<>r<>z)context.exported_vars.difference_update((r<>N)rrEr<>r{rXrsr<>r<>rRr<>rj<00>replacer<65>r<>r r<>rUr6r<>rc) r'r)r*<00> var_names<65>discarded_namesrRr<>rj<00>message<67>names_kvr<76>s ` r4<00>visit_FromImportzCodeGenerator.visit_FromImportfsD<00><><00> <0C> <0C> <0C>T<EFBFBD><1A><1A><1A> <0C>
<EFBFBD>
<EFBFBD>)<29>*<2A>*<2A>*<2A> <0C><1B><1B>D<EFBFBD>%<25>(<28>(<28>(<28><16> <09><1C><0F><18>J<EFBFBD> 2<> 2<>D<EFBFBD><19>$<24><05>&<26>&<26> <1D>"<22> <0B><04>e<EFBFBD>e<EFBFBD><1C><05> <10>N<EFBFBD>N<EFBFBD><18>=<3D>$<24>$<24>U<EFBFBD>+<2B>+<2B>B<01>B<01>/3<>B<01>B<01>B<01> <0E> <0E> <0E> <11>N<EFBFBD>N<EFBFBD>G<><15><1D>!2<>!2<>5<EFBFBD>!9<>!9<>G<>G<>G<> H<> H<> H<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD>
<1C>}<7D>}<7D>T<EFBFBD>*<2A>*<2A>2<>2<>3<EFBFBD><04>=<3D>=<3D>E<>E<>c<EFBFBD>4<EFBFBD>P<>P<>H<EFBFBD>@<01>!)<29>@<01>@<01>7;<3B>@<01>@<01> <14>
<11>N<EFBFBD>N<EFBFBD><18>=<3D>$<24>$<24>U<EFBFBD>+<2B>+<2B>V<>V<>7<EFBFBD>V<>V<>T<EFBFBD>V<>V<>V<> <0E> <0E> <0E> <11>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD><14>~<7E> 2<><19> <20> <20><15>'<27>'<27>'<27><1C>'<27>'<27><03>,<2C>,<2C>2<>#<23>*<2A>*<2A>5<EFBFBD>1<>1<>1<><31> <14> G<01><12>9<EFBFBD>~<7E>~<7E><11>"<22>"<22> <20><11>|<7C><04><14><0E><0E>T<>t<EFBFBD>T<>T<>5<EFBFBD>=<3D>;L<>;L<>T<EFBFBD>;R<>;R<>T<>T<>U<>U<>U<>U<><1F>9<EFBFBD>9<EFBFBD>%<12>%<12>%<12>%<12>GP<47>%<12>%<12>%<12><12><12><08><15><0E><0E>E<><08>E<>E<>E<>F<>F<>F<> <1A> <12><12>?<3F>#<23>#<23>q<EFBFBD>(<28>(<28><14><0E><0E>W<><0F>PQ<50>@R<>W<>W<>W<>X<>X<>X<>X<>X<> <20>I<EFBFBD>I<EFBFBD>c<EFBFBD>$<24><0F>&@<40>&@<40>A<>A<> <09><14><0E><0E>M<> <09>M<>M<>M<><12><12><12><12><12>  <12> r6c<00><><00>|<02><00><00>}d|_|<02><00><00>}|<02><00><00>}|jp[dt|<01>d<03><04><00>d<05><00>vp5t d<06>|<01>tj<00><00>D<00><00><00><00>}d}|r|j <00>
d<02><00>}|j <00> |d<07><08><00>|j r|j <00> |d <09><08><00>|j <00>r<>|<00><00><00>}|j <00> |d
<EFBFBD><08><00>|<00>|<00>|<08><00><00>d <0B>|j <00><00>|<00><00><00>|<00>|<04><00>|<00>|<00>d d <0A><00><00><00>|<00>|j|<03><00>|<00>d<0E><00>|<00>|<00>dd<10><00><00><00>|<00>d<11><00>|<00><00><00>|<00>d|j <00><00>|<00>|j |<04><00>|<00>d<11><00>|<00><00><00>|<00>d<13><00>|<00>|j|<03><00>|<00>d<14><00>|<00>|d<01><15><00>|jra|<00>|<00>d<02><00><00>d<16>|<01><00>|<00><00><00>|<00>|<03><00>|j|_|r|<00>|<07>d<17><02><00>|<01>tj<00><00>D]3} | jdkr&| jdkr|<00>d| j<00><00><00>4|j r,|<00><00><00>}
|<00>|
<EFBFBD>d<1A><02><00>|<00>|<00>d d <0A><00>|<01><00>|<00>|j|<03><00>|r0|<00>d|<07>d|<00>d<1C><00><00>d<1D><05><00>n|<00>d<0E><00>|j r|<00>|<08>d<1E><02><00>|jr|<00>d<1F><00>na|jj r|s|<00>d <20><00>|<00>|j!|<02><00>|jj r|s|<00>d!<21><00>|j r|<00>d!<21><00>|jr|<00>d"<22><00>n|<00>|rd#nd<11><00>|<00><00><00>|<00>|<03><00>|<00>d$<24><00>|<00>"|j#|<03><00>|j r|<00>|
<EFBFBD>d%<25><02><00>|<00><00><00>|<00>||jo|j <00><15><00>|j r<>|<00>d|
<EFBFBD>d<11><03><00>|<00><00><00>|<00>|<05><00>|<00>"|j |<05><00>|<00>|<05><00>|<00><00><00>|jr<>|<00>$|<03><00>|<00><00><00>|<00>%||<01><00>|<00>|<00>d&<26><00><00>d'<27><02><00>|jj r|<00>d <20><00>|<00>|j!|<02><00>|jj r|<00>d!<21><00>|<00>d(<28><00>|<00>&|<02><00>|j'r,|j'd)<00>(|j j)<00><00>dSdS)*NT<4E>loop)rS)<01>only)r<>c3<00>$K<00>|] }|jV<00><00> dSr.)r<>)rdr<>s r4rfz*CodeGenerator.visit_For.<locals>.<genexpr><3E>s$<00><00><00><00>H<>H<>E<EFBFBD>5<EFBFBD><<3C>H<>H<>H<>H<>H<>Hr6rS)<01>
for_branch<EFBFBD>else<73>testz(fiter):z
async for zfor rizauto_aiter(fiter)<29>fiter<65>:rMr<><00>rOz%(reciter, loop_render_func, depth=0):r2<00>storez8Can't assign to special loop variable in for-loop targetz = 1r><00>Asyncz LoopContext(r?<00>reciterz auto_aiter(rAz&, undefined, loop_render_func, depth):z , undefined):z_loop_vars = {}z = 0r<30>zloop(z, loop)r*)*r<>r<><00> recursiver<65><00>iter_child_nodesrr<>r r<>r<>rWrP<00>else_r<5F>r<>r<>rGr<>r;rEr2r8rEr<>r>r<>r<>r<>rRr<>r<>rBrDr<>rrSr<>rrr<><00>difference_update<74>stores) r'r)r*r<><00>
test_frame<EFBFBD>
else_frame<EFBFBD> extended_loop<6F>loop_ref<65>loop_filter_funcrR<00>iteration_indicators r4<00> visit_ForzCodeGenerator.visit_For<6F>s<><00><00><1A>[<5B>[<5B>]<5D>]<5D>
<EFBFBD> $<24>
<EFBFBD><1D><1A>[<5B>[<5B>]<5D>]<5D>
<EFBFBD><1A>[<5B>[<5B>]<5D>]<5D>
<EFBFBD> <11>N<EFBFBD> I<01><15><1E>t<EFBFBD>4<>4<>)<29>4<>D<>D<>i<EFBFBD>P<>P<>Q<01> I<01><13>H<>H<>T<EFBFBD>]<5D>]<5D>5<EFBFBD>;<3B>-G<>-G<>H<>H<>H<>H<>H<> <16><18><08> <18> D<01>!<21>)<29>;<3B>;<3B>F<EFBFBD>C<>C<>H<EFBFBD><12><1A>'<27>'<27><04><16>'<27>@<40>@<40>@<40> <0F>:<3A> E<01> <16> <1E> +<2B> +<2B>D<EFBFBD>V<EFBFBD> +<2B> D<> D<> D<> <0F>9<EFBFBD> A<01>#<23>8<>8<>:<3A>:<3A> <1C> <16> <1E> +<2B> +<2B>D<EFBFBD>V<EFBFBD> +<2B> D<> D<> D<> <10>N<EFBFBD>N<EFBFBD>d<EFBFBD>i<EFBFBD>i<EFBFBD>(8<>9<>9<>C<>C<>C<>T<EFBFBD>Y<EFBFBD> O<> O<> O<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10> <1C> <1C>Z<EFBFBD> (<28> (<28> (<28> <10>N<EFBFBD>N<EFBFBD>4<EFBFBD>,<2C>,<2C>\<5C>6<EFBFBD>B<>B<> C<> C<> C<> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>{<7B>J<EFBFBD> /<2F> /<2F> /<2F> <10>J<EFBFBD>J<EFBFBD>v<EFBFBD> <1E> <1E> <1E> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>(<28>(<28>)<<3C>g<EFBFBD>F<>F<> G<> G<> G<> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>5<EFBFBD>$<24>)<29> ,<2C> ,<2C> ,<2C> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>*<2A> -<2D> -<2D> -<2D> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>8<EFBFBD> $<24> $<24> $<24> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>{<7B>J<EFBFBD> /<2F> /<2F> /<2F> <10>L<EFBFBD>L<EFBFBD><11>O<EFBFBD>O<EFBFBD>O<EFBFBD> <10> <1C> <1C>Z<EFBFBD>4<EFBFBD> <1C> @<40> @<40> @<40>
<10>><3E> 2<> <10>N<EFBFBD>N<EFBFBD><17>9<EFBFBD>9<EFBFBD>V<EFBFBD>$<24>$<24>K<>K<>K<>T<EFBFBD> <0E> <0E> <0E> <11>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10>K<EFBFBD>K<EFBFBD>
<EFBFBD> #<23> #<23> #<23>!+<2B> 1<>J<EFBFBD> <1D> <19> 4<> <10>N<EFBFBD>N<EFBFBD>h<EFBFBD>2<>2<>2<> 3<> 3<> 3<><18>M<EFBFBD>M<EFBFBD>%<25>*<2A>-<2D>-<2D> <12> <12>D<EFBFBD><13>x<EFBFBD>7<EFBFBD>"<22>"<22>t<EFBFBD>y<EFBFBD>F<EFBFBD>':<3A>':<3A><14> <09> <09>N<><18>K<EFBFBD><12><12><12><>
<10>:<3A> 9<>"&<26>";<3B>";<3B>"=<3D>"=<3D> <1F> <10>N<EFBFBD>N<EFBFBD>1<>7<>7<>7<> 8<> 8<> 8<> <0C><0E><0E>t<EFBFBD>(<28>(<28><1C>v<EFBFBD>><3E>><3E><04>E<>E<>E<> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>;<3B>
<EFBFBD>+<2B>+<2B>+<2B> <18> <1F> <10>J<EFBFBD>J<EFBFBD>R<>H<EFBFBD>R<>R<>$<24>*;<3B>*;<3B>G<EFBFBD>*D<>*D<>R<>R<>R<> S<> S<> S<> S<> <10>J<EFBFBD>J<EFBFBD>v<EFBFBD> <1E> <1E> <1E> <0F>9<EFBFBD> /<2F> <10>J<EFBFBD>J<EFBFBD>*<2A>-<2D>-<2D>-<2D> .<2E> .<2E> .<2E> <0F>><3E> <20> <10>J<EFBFBD>J<EFBFBD>y<EFBFBD> !<21> !<21> !<21> !<21><13><1F>(<28> *<2A><1D> *<2A><14>
<EFBFBD>
<EFBFBD>=<3D>)<29>)<29>)<29> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>%<25> (<28> (<28> (<28><13><1F>(<28> <20><1D> <20><14>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F> <0F>9<EFBFBD> <1C> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD> <0F>><3E> B<01> <10>J<EFBFBD>J<EFBFBD>?<3F> @<40> @<40> @<40> @<40> <10>J<EFBFBD>J<EFBFBD>-<2D>@<40><EFBFBD><EFBFBD>S<EFBFBD> A<> A<> A<> <0C> <0B> <0B> <0A> <0A> <0A> <0C><18><18><1A>$<24>$<24>$<24> <0C><0E><0E>(<28>)<29>)<29>)<29> <0C><0F><0F><04> <09>:<3A>.<2E>.<2E>.<2E> <0F>:<3A> 9<> <10>N<EFBFBD>N<EFBFBD>1<>7<>7<>7<> 8<> 8<> 8<> <0C> <0C> <0C><0E><0E><0E> <0C><18><18> <16>$<24>.<2E>*K<><14><1A>^<5E> <19>
<EFBFBD>
<EFBFBD>
<EFBFBD> <10>:<3A> <1B> <10>N<EFBFBD>N<EFBFBD>7<>!4<>7<>7<>7<> 8<> 8<> 8<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10> <1C> <1C>Z<EFBFBD> (<28> (<28> (<28> <10>O<EFBFBD>O<EFBFBD>D<EFBFBD>J<EFBFBD>
<EFBFBD> 3<> 3<> 3<> <10> <1C> <1C>Z<EFBFBD> (<28> (<28> (<28> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <10>><3E> "<22> <10> '<27> '<27>
<EFBFBD> 3<> 3<> 3<> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <10> <1C> <1C>U<EFBFBD>D<EFBFBD> )<29> )<29> )<29> <10>J<EFBFBD>J<EFBFBD>$<24>+<2B>+<2B>H<EFBFBD>5<>5<><<3C><<3C><<3C> =<3D> =<3D> =<3D><13><1F>(<28> *<2A><14>
<EFBFBD>
<EFBFBD>=<3D>)<29>)<29>)<29> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>%<25> (<28> (<28> (<28><13><1F>(<28> <20><14>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F> <10>J<EFBFBD>J<EFBFBD>y<EFBFBD> !<21> !<21> !<21> <10>N<EFBFBD>N<EFBFBD>5<EFBFBD> !<21> !<21> !<21> <10> <1D> P<01> <10> <1E>r<EFBFBD> "<22> 4<> 4<>Z<EFBFBD>5G<35>5N<35> O<> O<> O<> O<> O<> P<01> Pr6c<00>(<00>|<02><00><00>}|<00>d|<01><00>|<00>|j|<03><00>|<00>d<02><00>|<00><00><00>|<00>|j|<03><00>|<00><00><00>|j D]<5D>}|<00>d|<04><00>|<00>|j|<03><00>|<00>d<02><00>|<00><00><00>|<00>|j|<03><00>|<00><00><00><00><>|j
rZ|<00>d<04><00>|<00><00><00>|<00>|j
|<03><00>|<00><00><00>dSdS)NrMr<>zelif r<>) r<>r<>r2r<>rEr<>rrSr<><00>elif_r<5F>)r'r)r*<00>if_framer<65>s r4<00>visit_IfzCodeGenerator.visit_If(sN<00><00><18>:<3A>:<3A><<3C><<3C><08> <0C><0E><0E>u<EFBFBD>d<EFBFBD>#<23>#<23>#<23> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>h<EFBFBD>'<27>'<27>'<27> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F> <0C> <0B> <0B> <0A> <0A> <0A> <0C><0F><0F><04> <09>8<EFBFBD>,<2C>,<2C>,<2C> <0C> <0C> <0C><0E><0E><0E><19>Z<EFBFBD> <1B> <1B>E<EFBFBD> <10>N<EFBFBD>N<EFBFBD>7<EFBFBD>E<EFBFBD> *<2A> *<2A> *<2A> <10>J<EFBFBD>J<EFBFBD>u<EFBFBD>z<EFBFBD>8<EFBFBD> ,<2C> ,<2C> ,<2C> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10>O<EFBFBD>O<EFBFBD>E<EFBFBD>J<EFBFBD><08> 1<> 1<> 1<> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <0F>:<3A> <1B> <10>N<EFBFBD>N<EFBFBD>7<EFBFBD> #<23> #<23> #<23> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10>O<EFBFBD>O<EFBFBD>D<EFBFBD>J<EFBFBD><08> 1<> 1<> 1<> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>  <1B> r6c<00><><00>|<00>||<02><00>\}}|<00><00><00>|jrV|j<00>d<01><00>s|<00>d|j<00>d<03><03><00>|<00>d|j<00>d<05><03><00>|<00>|j<00>|j<00><00><00>d<06><02><00>|<00> ||<03><00>dS)Nr<4E>r<>rAr<>r<>r1)
r`rr<>rRr<>rEr<>r<>rRrg)r'r)r*<00> macro_framer[s r4<00> visit_MacrozCodeGenerator.visit_Macro=s<><00><00>!%<25><1F><1F><14>u<EFBFBD>!=<3D>!=<3D><1E> <0B>Y<EFBFBD> <0C> <0C> <0C><0E><0E><0E> <10>><3E> ><3E><17>9<EFBFBD>'<27>'<27><03>,<2C>,<2C> H<01><14>
<EFBFBD>
<EFBFBD>F<><04> <09>F<>F<>F<>G<>G<>G<> <10>N<EFBFBD>N<EFBFBD><<3C>4<EFBFBD>9<EFBFBD><<3C><<3C><<3C> =<3D> =<3D> =<3D> <0C>
<EFBFBD>
<EFBFBD>e<EFBFBD>m<EFBFBD>'<27>'<27><04> <09>2<>2<>7<>7<>7<>8<>8<>8<> <0C><0E><0E>y<EFBFBD>+<2B>.<2E>.<2E>.<2E>.<2E>.r6c<00><00>|<00>||<02><00>\}}|<00>d<01><00>|<00>||<03><00>|<00>||<01><00>|<00>|j|d<02><03><00>|<00>|<02><00>dS)Nz caller = T)<01>forward_caller)r`r<>rgr<00>
visit_Call<EFBFBD>callr)r'r)r*<00>
call_framer[s r4<00>visit_CallBlockzCodeGenerator.visit_CallBlockGs<><00><00> $<24><0F><0F><04>e<EFBFBD> <<3C> <<3C><1D>
<EFBFBD>I<EFBFBD> <0C><0E><0E>{<7B>#<23>#<23>#<23> <0C><0E><0E>y<EFBFBD>*<2A>-<2D>-<2D>-<2D> <0C><18><18><15><04>%<25>%<25>%<25> <0C><0F><0F><04> <09>5<EFBFBD><14><0F>><3E>><3E>><3E> <0C><0E><0E>u<EFBFBD><1D><1D><1D><1D>r6c<00><><00>|<02><00><00>}|j<00>|<01><00>|<00>|<03><00>|<00>|<03><00>|<00>|j|<03><00>|<00>||<01><00>|<00>|j |<03><00>|<00>
|<02><00>|<00> |<03><00>dSr.) r<>r<>rPr;r<>rrSrr<><00>filterrr>)r'r)r*<00> filter_frames r4<00>visit_FilterBlockzCodeGenerator.visit_FilterBlockOs<><00><00><1C>{<7B>{<7B>}<7D>}<7D> <0C><14><1C>)<29>)<29>$<24>/<2F>/<2F>/<2F> <0C><18><18><1C>&<26>&<26>&<26> <0C> <0B> <0B>L<EFBFBD>!<21>!<21>!<21> <0C><0F><0F><04> <09><<3C>0<>0<>0<> <0C><18><18><15><04>%<25>%<25>%<25> <0C><19><19>$<24>+<2B>|<7C>4<>4<>4<> <0C><0E><0E>u<EFBFBD><1D><1D><1D> <0C><18><18><1C>&<26>&<26>&<26>&<26>&r6c<00><><00>|<02><00><00>}|j<00>|<01><00>|<00>|<03><00>t |j|j<00><00>D]Z\}}|<00><00><00>|<00>||<03><00>|<00> d<01><00>|<00>||<02><00><00>[|<00>
|j |<03><00>|<00> |<03><00>dS)Nr1) r<>r<>rPr;<00>zip<69>targets<74>valuesrr2rErrSr>)r'r)r*<00>
with_framer8<00>exprs r4<00>
visit_WithzCodeGenerator.visit_WithZs<><00><00><1A>[<5B>[<5B>]<5D>]<5D>
<EFBFBD><12><1A>'<27>'<27><04>-<2D>-<2D>-<2D> <0C><18><18><1A>$<24>$<24>$<24><1F><04> <0C>d<EFBFBD>k<EFBFBD>:<3A>:<3A> $<24> $<24>L<EFBFBD>F<EFBFBD>D<EFBFBD> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <10>J<EFBFBD>J<EFBFBD>v<EFBFBD>z<EFBFBD> *<2A> *<2A> *<2A> <10>J<EFBFBD>J<EFBFBD>u<EFBFBD> <1D> <1D> <1D> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>U<EFBFBD> #<23> #<23> #<23> #<23> <0C><0F><0F><04> <09>:<3A>.<2E>.<2E>.<2E> <0C><18><18><1A>$<24>$<24>$<24>$<24>$r6c<00>f<00>|<00>|<01><00>|<00>|j|<02><00>dSr.)rr2r)r<>s r4<00>visit_ExprStmtzCodeGenerator.visit_ExprStmtfs0<00><00> <0C> <0C> <0C>T<EFBFBD><1A><1A><1A> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>e<EFBFBD>$<24>$<24>$<24>$<24>$r6c<00>j<00>eZdZUejejdefed<ejeed<dS)<05>CodeGenerator._FinalizeInfo.<2E>const<73>srcN)r<>r<>r<>r8r<><00>Callablerr<00>__annotations__r<5F>r6r4<00> _FinalizeInforjsB<00><00><00><00><00><00><00><10>z<EFBFBD>!<21>*<2A>S<EFBFBD>#<23>X<EFBFBD>.<2E>/<2F>/<2F>/<2F>/<2F> <0E>Z<EFBFBD><03>_<EFBFBD><1C><1C><1C><1C>r6rr_c<00> <00>t|<00><00>S)z<>The default finalize function if the environment isn't
configured with one. Or, if the environment has one, this is
called on that function's output for constants.
)rrrzs r4<00>_default_finalizezCodeGenerator._default_finalizens<00><00> <13>5<EFBFBD>z<EFBFBD>z<EFBFBD>r6<00> _finalizec<00><><00><00><04><05><00>j<00><07>jS<00>jx}<01>d}<02>jjr<>d}<02>jj<00>tjdtjdtjdi<03>t j<00><05><00><00><00>}d}|<03> dtj
dtj
f<04><04>fd<08> }n-|<02>|<03>d <09>}|dkr dtj
dtj
f<04><04><05>fd
<EFBFBD> }<01><00> ||<02><00><00>_<00>jS) a<>Build the finalize function to be used on constants and at
runtime. Cached so it's only created once for all output nodes.
Returns a ``namedtuple`` with the following attributes:
``const``
A function to finalize constant data at compile time.
``src``
Source code to output around nodes to be evaluated at
runtime.
Nzenvironment.finalize(r<><00>context.eval_ctxrBr_r%c<00>,<00><02><00><00>|<00><00><00><00>Sr.r<>)r_r_<00> env_finalizes <20><>r4<00>finalizez.CodeGenerator._make_finalize.<locals>.finalize<7A>s<00><><00>"<22>7<EFBFBD><<3C><<3C><05>#6<>#6<>7<>7<>7r6r>c<00>8<00><03><00><00><02>j|<00><00><00><00>Sr.)rB)r_r_r$r's <20><><EFBFBD>r4r%z.CodeGenerator._make_finalize.<locals>.finalize<7A>s"<00><><00>&<26>w<EFBFBD>|<7C>|<7C>D<EFBFBD>4D<34>e<EFBFBD>'L<>'L<>M<>M<>Mr6) r rrBr%rr<><00> eval_context<78>get<65>from_objr8r9r)r'r%r<00>pass_argr_r$s` @@r4<00>_make_finalizezCodeGenerator._make_finalizexsX<00><><EFBFBD><EFBFBD><00> <10>><3E> %<25><17>><3E> !<21>"<22>3<>3<><08>7<EFBFBD><12><03> <0F> <1B> $<24> N<01>)<29>C<EFBFBD><1F>+<2B>4<>L<EFBFBD><18> <20>)<29><18>%<25>'9<><18>$<24>m<EFBFBD><0E><12>c<EFBFBD><18>!<21>,<2C>/<2F>/<2F><0E><0E> <15><1C>H<EFBFBD><17><1F>8<>A<EFBFBD>E<EFBFBD>8<>a<EFBFBD>e<EFBFBD>8<>8<>8<>8<>8<>8<>8<>8<><1D>*<2A>h<EFBFBD>*<2A>*<2A>*<2A><03><1B>}<7D>,<2C>,<2C>N<01><01><05>N<01>!<21>%<25>N<01>N<01>N<01>N<01>N<01>N<01>N<01>N<01><1E>+<2B>+<2B>H<EFBFBD>c<EFBFBD>:<3A>:<3A><04><0E><13>~<7E>r6<00>groupc<00>:<00>tt|<01><00><00><00>S)z<>Given a group of constant values converted from ``Output``
child nodes, produce a string to write to the template module
source.
)rcr)r'r,s r4<00>_output_const_reprz CodeGenerator._output_const_repr<70>s<00><00>
<14>F<EFBFBD>5<EFBFBD>M<EFBFBD>M<EFBFBD>"<22>"<22>"r6r%c<00><><00>|<01>|j<00><00>}|jjrt|<04><00>}t |t
j<00><00>rt|<04><00>S|<03>|<04><00>S)aCTry to optimize a child of an ``Output`` node by trying to
convert it to constant, finalized data at compile time.
If :exc:`Impossible` is raised, the node is not constant and
will be evaluated at runtime. Any other exception will also be
evaluated at runtime for easier debugging.
) <09>as_constr0r<>rrXr <00> TemplateDatarrr)r'r)r*r%rs r4<00>_output_child_to_constz$CodeGenerator._output_child_to_const<73>sd<00><00><15> <0A> <0A>e<EFBFBD>n<EFBFBD>-<2D>-<2D><05> <10>><3E> $<24> "<22><1A>5<EFBFBD>M<EFBFBD>M<EFBFBD>E<EFBFBD> <16>d<EFBFBD>E<EFBFBD>.<2E> /<2F> /<2F> <1E><16>u<EFBFBD>:<3A>:<3A> <1D><17>~<7E>~<7E>e<EFBFBD>$<24>$<24>$r6c<00><><00>|jjr|<00>d<01><00>n7|jjr|<00>d<02><00>n|<00>d<03><00>|j<00>|<00>|j<00><00>dSdS)zXOutput extra source code before visiting a child of an
``Output`` node.
z1(escape if context.eval_ctx.autoescape else str)(zescape(zstr(N)r0r1rEr<>r<00>r'r)r*r%s r4<00>_output_child_prezCodeGenerator._output_child_pre<72>s<><00><00> <11>><3E> "<22> <1F> <10>J<EFBFBD>J<EFBFBD>J<> K<> K<> K<> K<> <12>^<5E> &<26> <1F> <10>J<EFBFBD>J<EFBFBD>y<EFBFBD> !<21> !<21> !<21> !<21> <10>J<EFBFBD>J<EFBFBD>v<EFBFBD> <1E> <1E> <1E> <13><<3C> #<23> <10>J<EFBFBD>J<EFBFBD>x<EFBFBD>|<7C> $<24> $<24> $<24> $<24> $<24> $<24> #r6c<00>l<00>|<00>d<01><00>|j<00>|<00>d<01><00>dSdS)zWOutput extra source code after visiting a child of an
``Output`` node.
rAN)rErr4s r4<00>_output_child_postz CodeGenerator._output_child_post<73>s6<00><00> <0A>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F> <13><<3C> #<23> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD> $<24> #r6c<00><><00>|jr2|jrdS|<00>d<01><00>|<00><00><00>|<00><00><00>}g}|jD]<5D>} |js-t|t
j<00><00>st j <00><00><00>|<00>
|||<03><00>}n1#t
j tf$r|<04> |<05><00>Y<00>|wxYw|r7t|dt<00><00>r|d<00> |<06><00><00><>|<04> |g<01><00><00><>|j<00>bt|<04><00>dkr|<00>|j<00>d<04><02><00>n|<00>|j<00>d<05><02><00>|<00><00><00>|D]<5D>}t|t<00><00>rN|<00>|<07><00>}|j<00>|<00>d|z<00><00><00>L|<00>|dz<00><00><00>e|j<00>|<00>d|<07><00>n|<00>|<07><00>|<00>|||<03><00>|<00>||<02><00>|<00>|||<03><00>|j<00>|<00>d<07><00><00><>|j<00>>|<00><00><00>|<00>t|<04><00>dkrdnd <09><00>|jr|<00><00><00>dSdS)
Nr<EFBFBD>r*r
r<>z .extend((r<>rdrAr<>)r<>r<>r<>r<>r+r rrXr1<00>
Impossibler2<00> Exceptionr rtr<>rUr.rr5r2r7rEr<>) r'r)r*r%rS<00>childr<00>item<65>vals r4<00> visit_OutputzCodeGenerator.visit_Output<75>s<00><00> <10> %<25> <1A><13>%<25> <17><16><06> <10>N<EFBFBD>N<EFBFBD>8<> 9<> 9<> 9<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD><17>&<26>&<26>(<28>(<28><08>;=<3D><04>
<1A>Z<EFBFBD> %<25> %<25>E<EFBFBD> <19><1D>N<EFBFBD>-<2D> "<22>%<25><15>);<3B><<3C><<3C> -<2D> <20>*<2A>,<2C>,<2C>,<2C><1C>3<>3<>E<EFBFBD>5<EFBFBD>(<28>K<>K<><05><05><><19>$<24>i<EFBFBD>0<> <19> <19> <19><15> <0B> <0B>E<EFBFBD>"<22>"<22>"<22><18><08>  <19><><EFBFBD><EFBFBD><14> %<25>
<EFBFBD>4<EFBFBD><02>8<EFBFBD>T<EFBFBD>2<>2<> %<25><14>R<EFBFBD><08><0F><0F><05>&<26>&<26>&<26>&<26><14> <0B> <0B>U<EFBFBD>G<EFBFBD>$<24>$<24>$<24>$<24> <10><<3C> #<23><12>4<EFBFBD>y<EFBFBD>y<EFBFBD>A<EFBFBD>~<7E>~<7E><14><0E><0E>%<25>,<2C>8<>8<>8<>9<>9<>9<>9<><14><0E><0E>%<25>,<2C>9<>9<>9<>:<3A>:<3A>:<3A> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD><18> $<24> $<24>D<EFBFBD><19>$<24><04>%<25>%<25> $<24><1A>-<2D>-<2D>d<EFBFBD>3<>3<><03><18><<3C>'<27><18>N<EFBFBD>N<EFBFBD>8<EFBFBD>c<EFBFBD>><3E>2<>2<>2<>2<><18>N<EFBFBD>N<EFBFBD>3<EFBFBD><13>9<EFBFBD>-<2D>-<2D>-<2D>-<2D><18><<3C>'<27><18>N<EFBFBD>N<EFBFBD>8<EFBFBD>T<EFBFBD>2<>2<>2<>2<><18>L<EFBFBD>L<EFBFBD><14>&<26>&<26>&<26><15>&<26>&<26>t<EFBFBD>U<EFBFBD>H<EFBFBD>=<3D>=<3D>=<3D><14>
<EFBFBD>
<EFBFBD>4<EFBFBD><15>'<27>'<27>'<27><14>'<27>'<27><04>e<EFBFBD>X<EFBFBD>><3E>><3E>><3E><18><<3C>+<2B><18>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD><4F> <10><<3C> #<23> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <10>N<EFBFBD>N<EFBFBD>#<23>d<EFBFBD>)<29>)<29>q<EFBFBD>.<2E>.<2E>3<EFBFBD>3<EFBFBD>d<EFBFBD> ;<3B> ;<3B> ;<3B> <10> %<25> <1B> <10>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <1B> s<00>A B&<02>&+C<05>Cc<00><><00>|<00><00><00>t<00><00>}|<01>tj<00><00>D]<5D>}|j|vr<01> |<03>|j<00><00>|j<00>|j<00><00>}|<00> d|<05>d<02><03><00>|<00>
<00><00>|<00> d<03><00>|<00> <00><00><00><>|<00> |<01><00>|<00> |j|<02><00>|<00>d<04><00>|<00> |j|<02><00>|<00>|<02><00>dS)Nzif not isinstance(z , Namespace):zMraise TemplateRuntimeError("cannot assign attribute on non-namespace object")r1)r<>rur<>r <00>NSRefrRr<>r<>rRr<>r<>r<>rr2r8rEr)r<>)r'r)r*<00> seen_refs<66>nsrefrRs r4<00> visit_AssignzCodeGenerator.visit_Assign.s;<00><00> <0C>!<21>!<21>#<23>#<23>#<23> !$<24><05><05> <09><19>]<5D>]<5D>5<EFBFBD>;<3B>/<2F>/<2F> <1B> <1B>E<EFBFBD><14>z<EFBFBD>Y<EFBFBD>&<26>&<26><19> <15>M<EFBFBD>M<EFBFBD>%<25>*<2A> %<25> %<25> %<25><17>-<2D>#<23>#<23>E<EFBFBD>J<EFBFBD>/<2F>/<2F>C<EFBFBD> <10>N<EFBFBD>N<EFBFBD>B<><03>B<>B<>B<> C<> C<> C<> <10>K<EFBFBD>K<EFBFBD>M<EFBFBD>M<EFBFBD>M<EFBFBD> <10>N<EFBFBD>N<EFBFBD>F<01> <0E> <0E> <0E> <11>L<EFBFBD>L<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD>N<EFBFBD> <0C> <0C> <0C>T<EFBFBD><1A><1A><1A> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>;<3B><05>&<26>&<26>&<26> <0C>
<EFBFBD>
<EFBFBD>5<EFBFBD><19><19><19> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>e<EFBFBD>$<24>$<24>$<24> <0C> <20> <20><15>'<27>'<27>'<27>'<27>'r6c<00><><00>|<00><00><00>|<02><00><00>}d|_|j<00>|<01><00>|<00>|<03><00>|<00>|<03><00>|<00>|j|<03><00>|<00> |<01><00>|<00>
|j |<02><00>|<00> d<02><00>|j <00>|<00>|j |<03><00>n|<00> d|j<00>d<04><03><00>|<00> d<04><00>|<00>|<02><00>|<00>|<03><00>dS)NFz9 = (Markup if context.eval_ctx.autoescape else identity)(<28>concat(rA)r<>r<>r<>r<>rPr;r<>rrSrr2r8rEr r<>r<>r>)r'r)r*r<>s r4<00>visit_AssignBlockzCodeGenerator.visit_AssignBlockMs:<00><00> <0C>!<21>!<21>#<23>#<23>#<23><1B>k<EFBFBD>k<EFBFBD>m<EFBFBD>m<EFBFBD> <0B>,1<> <0B>(<28><13><1B>(<28>(<28><14>.<2E>.<2E>.<2E> <0C><18><18><1B>%<25>%<25>%<25> <0C> <0B> <0B>K<EFBFBD> <20> <20> <20> <0C><0F><0F><04> <09>;<3B>/<2F>/<2F>/<2F> <0C> <0C> <0C>T<EFBFBD><1A><1A><1A> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>;<3B><05>&<26>&<26>&<26> <0C>
<EFBFBD>
<EFBFBD>N<>O<>O<>O<> <0F>;<3B> "<22> <10> <1D> <1D>d<EFBFBD>k<EFBFBD>;<3B> 7<> 7<> 7<> 7<> <10>J<EFBFBD>J<EFBFBD>6<><1B>!3<>6<>6<>6<> 7<> 7<> 7<> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F> <0C> <20> <20><15>'<27>'<27>'<27> <0C><18><18><1B>%<25>%<25>%<25>%<25>%r6c <00><><00>|jdkrA|js|js|jr,|jr%|jd<00>|j<00><00>|j<00>|j<00><00>}|jdkrh|j<00> |<03><00>}|<04>&|dtkr|<00> |<03><00>r&|<00> d|j<00>d|<03>d|<03>d<08><07><00>dS|<00> |<03><00>dS) Nr<4E>r*r<>rz(undefined(name=z) if z is missing else rA) r<>r<>r<>r<>r<>r<>rRr<>rR<00> find_loadrr<>rE)r'r)r*rRr<>s r4r<>zCodeGenerator.visit_Namees<00><00> <0F>8<EFBFBD>w<EFBFBD> <1E> <1E> <11>N<EFBFBD> <1F>#<23>.<2E> <1F>27<32>2C<32> <1F><14>!<21> 6<><14>"<22>2<EFBFBD>&<26>*<2A>*<2A>4<EFBFBD>9<EFBFBD>5<>5<>5<><13>m<EFBFBD><1F><1F><04> <09>*<2A>*<2A><03>
<10>8<EFBFBD>v<EFBFBD> <1D> <1D><18>=<3D>*<2A>*<2A>3<EFBFBD>/<2F>/<2F>D<EFBFBD><14> <20><18><11>G<EFBFBD>1<>1<>1<><1C>4<>4<>S<EFBFBD>9<>9<>2<><15>
<EFBFBD>
<EFBFBD>U<>t<EFBFBD>y<EFBFBD>U<>U<><13>U<>U<>s<EFBFBD>U<>U<>U<><12><12><12><17><06> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><0F>r6c<00><><00>|j<00>|j<00><00>}|<00>|<03>d|j<00>d<02><04><00>dS)Nr'r()r<>rRrRr<><00>attr)r'r)r*rRs r4<00> visit_NSRefzCodeGenerator.visit_NSRef~sF<00><00>
<14>m<EFBFBD><1F><1F><04> <09>*<2A>*<2A><03> <0C><0E><0E>#<23>.<2E>.<2E><04> <09>.<2E>.<2E>.<2E>/<2F>/<2F>/<2F>/<2F>/r6c<00><><00>|<01>|j<00><00>}t|t<00><00>r$|<00>t |<03><00><00><00>dS|<00>t |<03><00><00><00>dSr.)r0r0rXrorErrrc)r'r)r*r=s r4<00> visit_ConstzCodeGenerator.visit_Const<73>sc<00><00><12>m<EFBFBD>m<EFBFBD>E<EFBFBD>N<EFBFBD>+<2B>+<2B><03> <15>c<EFBFBD>5<EFBFBD> !<21> !<21> "<22> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>3<EFBFBD>x<EFBFBD>x<EFBFBD> <20> <20> <20> <20> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>C<EFBFBD>y<EFBFBD>y<EFBFBD> !<21> !<21> !<21> !<21> !r6c<00><><00> |<00>t|<01>|j<00><00><00><00><00><00>dS#tj$r"|<00>d|j<00>d<02><03><00>YdSwxYw<01>Nz6(Markup if context.eval_ctx.autoescape else identity)(rA)rErcr0r0r r9<00>datar<61>s r4<00>visit_TemplateDataz CodeGenerator.visit_TemplateData<74>s<><00><00> <0E> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>D<EFBFBD>M<EFBFBD>M<EFBFBD>%<25>.<2E>9<>9<>:<3A>:<3A> ;<3B> ;<3B> ;<3B> ;<3B> ;<3B><><14><1F> <0E> <0E> <0E> <10>J<EFBFBD>J<EFBFBD>W<><14><19>W<>W<>W<> <0E> <0E> <0E> <0E> <0E> <0E> <0E><><EFBFBD>s<00>:><00>-A/<03>.A/c<00><><00>|<00>d<01><00>d}t|j<00><00>D]2\}}|r|<00>d<03><00>|<00>||<02><00><00>3|<00>|dkrdnd<06><00>dS)Nr?r*r>rz,)rA<00>rErQryr2<00>r'r)r*r^r<s r4<00> visit_TuplezCodeGenerator.visit_Tuple<6C>s<><00><00> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><10><03>"<22>4<EFBFBD>:<3A>.<2E>.<2E> $<24> $<24>I<EFBFBD>C<EFBFBD><14><12> !<21><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20> <20> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>U<EFBFBD> #<23> #<23> #<23> #<23> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD>!<21>8<EFBFBD>8<EFBFBD>4<EFBFBD>4<EFBFBD><13>-<2D>-<2D>-<2D>-<2D>-r6c<00><><00>|<00>d<01><00>t|j<00><00>D]2\}}|r|<00>d<02><00>|<00>||<02><00><00>3|<00>d<03><00>dS)Nr'r>r(rSrTs r4<00>
visit_ListzCodeGenerator.visit_List<73>sr<00><00> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F>"<22>4<EFBFBD>:<3A>.<2E>.<2E> $<24> $<24>I<EFBFBD>C<EFBFBD><14><12> !<21><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20> <20> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>U<EFBFBD> #<23> #<23> #<23> #<23> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><0F>r6c<00>R<00>|<00>d<01><00>t|j<00><00>D]g\}}|r|<00>d<02><00>|<00>|j|<02><00>|<00>d<03><00>|<00>|j|<02><00><00>h|<00>d<04><00>dS)Nrnr>rr)rErQryr2rr_rTs r4<00>
visit_DictzCodeGenerator.visit_Dict<63>s<><00><00> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F>"<22>4<EFBFBD>:<3A>.<2E>.<2E> *<2A> *<2A>I<EFBFBD>C<EFBFBD><14><12> !<21><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20> <20> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>x<EFBFBD><15> '<27> '<27> '<27> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <1C> <1C> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>z<EFBFBD>5<EFBFBD> )<29> )<29> )<29> )<29> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><0F>r6<00>+<2B>-<2D>*<2A>/z//z**<2A>%<25>and<6E>orznot c<00>
<00>|jjrd}n|jjrd}nd}|<00>|<03>d<04><02><00>|jD]-}|<00>||<02><00>|<00>d<05><00><00>.|<00>d<06><00>dS)Nz8(markup_join if context.eval_ctx.volatile else str_join)<29> markup_join<69>str_joinz((r>r<>)r0r1r<>rEr r2)r'r)r*r<>r"s r4<00> visit_ConcatzCodeGenerator.visit_Concat<61>s<><00><00> <10>><3E> "<22> #<23>R<>I<EFBFBD>I<EFBFBD> <12>^<5E> &<26> #<23>%<25>I<EFBFBD>I<EFBFBD>"<22>I<EFBFBD> <0C>
<EFBFBD>
<EFBFBD>i<EFBFBD>#<23>#<23>#<23>$<24>$<24>$<24><17>:<3A> <1D> <1D>C<EFBFBD> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>E<EFBFBD> "<22> "<22> "<22> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <1C> <1C> <1C> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD><18><18><18><18>r6c<00><><00>|<00>d<01><00>|<00>|j|<02><00>|jD]}|<00>||<02><00><00>|<00>d<02><00>dS)Nr?rA)rEr2r<00>opsrHs r4<00> visit_ComparezCodeGenerator.visit_Compare<72>sb<00><00> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>e<EFBFBD>$<24>$<24>$<24><16>(<28> "<22> "<22>B<EFBFBD> <10>J<EFBFBD>J<EFBFBD>r<EFBFBD>5<EFBFBD> !<21> !<21> !<21> !<21> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><0F>r6c<00><><00>|<00>dt|j<00>d<01><03><00>|<00>|j|<02><00>dS)Nr@)rE<00> operatorsr;r2rr<>s r4<00> visit_OperandzCodeGenerator.visit_Operand<6E>sC<00><00> <0C>
<EFBFBD>
<EFBFBD>,<2C>y<EFBFBD><14><17>)<29>,<2C>,<2C>,<2C>-<2D>-<2D>-<2D> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>e<EFBFBD>$<24>$<24>$<24>$<24>$r6c<00>*<00>|jjr|<00>d<01><00>|<00>d<02><00>|<00>|j|<02><00>|<00>d|j<00>d<04><03><00>|jjr|<00>d<05><00>dSdS)N<>(await auto_await(zenvironment.getattr(r>rAr<>)rBrDrEr2r)rJr<>s r4<00> visit_GetattrzCodeGenerator.visit_Getattr<74>s<><00><00> <0F> <1B> $<24> -<2D> <10>J<EFBFBD>J<EFBFBD>+<2B> ,<2C> ,<2C> ,<2C> <0C>
<EFBFBD>
<EFBFBD>)<29>*<2A>*<2A>*<2A> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>e<EFBFBD>$<24>$<24>$<24> <0C>
<EFBFBD>
<EFBFBD>&<26><04> <09>&<26>&<26>&<26>'<27>'<27>'<27> <0F> <1B> $<24> <1D> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <1C> <1C> <1C> <1C> <1D> r6c<00>z<00>t|jtj<00><00>rb|<00>|j|<02><00>|<00>d<01><00>|<00>|j|<02><00>|<00>d<02><00>dS|jjr|<00>d<03><00>|<00>d<04><00>|<00>|j|<02><00>|<00>d<05><00>|<00>|j|<02><00>|<00>d<06><00>|jjr|<00>d<07><00>dSdS)Nr'r(rlzenvironment.getitem(r>rAr<>) rXr"r <00>Slicer2r)rErBrDr<>s r4<00> visit_GetitemzCodeGenerator.visit_Getitem<65>s<00><00> <16>d<EFBFBD>h<EFBFBD><05> <0B> ,<2C> ,<2C> !<21> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>%<25> (<28> (<28> (<28> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>x<EFBFBD><15> '<27> '<27> '<27> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD><13><1F>(<28> 1<><14>
<EFBFBD>
<EFBFBD>/<2F>0<>0<>0<> <10>J<EFBFBD>J<EFBFBD>-<2D> .<2E> .<2E> .<2E> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>%<25> (<28> (<28> (<28> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <1C> <1C> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>x<EFBFBD><15> '<27> '<27> '<27> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD><13><1F>(<28> !<21><14>
<EFBFBD>
<EFBFBD>4<EFBFBD> <20> <20> <20> <20> <20> !<21> !r6c<00>*<00>|j<00>|<00>|j|<02><00>|<00>d<01><00>|j<00>|<00>|j|<02><00>|j<00>2|<00>d<01><00>|<00>|j|<02><00>dSdS)Nr<4E>)<05>startr2rE<00>stopr<70>r<>s r4<00> visit_SlicezCodeGenerator.visit_Slice<63>s<><00><00> <0F>:<3A> !<21> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>z<EFBFBD>5<EFBFBD> )<29> )<29> )<29> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F> <0F>9<EFBFBD> <20> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>%<25> (<28> (<28> (<28> <0F>9<EFBFBD> <20> <10>J<EFBFBD>J<EFBFBD>s<EFBFBD>O<EFBFBD>O<EFBFBD>O<EFBFBD> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>%<25> (<28> (<28> (<28> (<28> (<28> !<21> r6<00> is_filterc#<00>\K<00>|jjr|<00>d<01><00>|rM|<00>|j|j<00>d<02><02><00>|jj<00>|j<00><00>}nL|<00>|j|j<00>d<02><02><00>|jj<00>|j<00><00>}|<04>4|js-|rdnd}|<00>d|<05>d|j<00>d<07>|j <00><00>tj dtj d tjd
i<03>tj |<04><00><00><00>}|<06>|<00>|<06>d <0B><02><00>dV<00>|<00>||<02><00>|<00>d <0C><00>|jjr|<00>d <0A><00>dSdS)Nrlr?r r<>zNo r+r<>r<>r"rBr>rAr<>)rBrDrEr<>rRr(r<>r<>r<>r<>rr<>r'r)r$)r'r)r*rurG<00> type_namer*s r4<00>_filter_test_commonz!CodeGenerator._filter_test_commons<><00><00><00><00> <10> <1B> $<24> -<2D> <10>J<EFBFBD>J<EFBFBD>+<2B> ,<2C> ,<2C> ,<2C> <14> 9<> <10>J<EFBFBD>J<EFBFBD>$<24>,<2C>t<EFBFBD>y<EFBFBD>1<>4<>4<>4<> 5<> 5<> 5<><17>#<23>+<2B>/<2F>/<2F><04> <09>:<3A>:<3A>D<EFBFBD>D<EFBFBD> <10>J<EFBFBD>J<EFBFBD>$<24>*<2A>T<EFBFBD>Y<EFBFBD>/<2F>2<>2<>2<> 3<> 3<> 3<><17>#<23>)<29>-<2D>-<2D>d<EFBFBD>i<EFBFBD>8<>8<>D<EFBFBD>
<10><<3C><05> 0<><<3C>$-<2D>9<><08><08>6<EFBFBD>I<EFBFBD> <10>I<EFBFBD>I<EFBFBD><<3C>I<EFBFBD><<3C><<3C>d<EFBFBD>i<EFBFBD><<3C><<3C><<3C>d<EFBFBD>k<EFBFBD> J<> J<> J<> <15> <1C>i<EFBFBD> <14> !<21>#5<> <14> <20>-<2D>
<EFBFBD> <0E>#<23> <14> <1D>d<EFBFBD> #<23> #<23>
<EFBFBD>
<EFBFBD> <11> <14> <1F> <10>J<EFBFBD>J<EFBFBD>(<28><EFBFBD><EFBFBD><EFBFBD> '<27> '<27> '<27> <0E><05><05><05> <0C><0E><0E>t<EFBFBD>U<EFBFBD>#<23>#<23>#<23> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F> <0F> <1B> $<24> <1D> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <1C> <1C> <1C> <1C> <1D> r6c<00><><00>|<00>||d<01><00>5|j<00>|<00>|j|<02><00>n||jjr'|<00>d|j<00>d|j<00>d<04><05><00>nI|jjr|<00>d|j<00>d<04><03><00>n|<00>d|j<00>d<07><03><00>ddd<00><00>dS#1swxYwYdS)NTz(Markup(concat(z.)) if context.eval_ctx.autoescape else concat(r<>zMarkup(concat(rErA)rxr)r2r0r1rEr<>r<>r<>s r4r<>zCodeGenerator.visit_Filter,sH<00><00> <11> %<25> %<25>d<EFBFBD>E<EFBFBD>4<EFBFBD> 8<> 8<> 6<> 6<><14>y<EFBFBD>$<24><14>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>e<EFBFBD>,<2C>,<2C>,<2C>,<2C><16><1E>(<28> 6<><14>
<EFBFBD>
<EFBFBD>T<01>e<EFBFBD>l<EFBFBD>T<01>T<01>CH<43><<3C>T<01>T<01>T<01><12><12><12><12><17><1E>*<2A> 6<><14>
<EFBFBD>
<EFBFBD><<3C>E<EFBFBD>L<EFBFBD><<3C><<3C><<3C>=<3D>=<3D>=<3D>=<3D><14>
<EFBFBD>
<EFBFBD>4<>U<EFBFBD>\<5C>4<>4<>4<>5<>5<>5<> 6<> 6<> 6<> 6<> 6<> 6<> 6<> 6<> 6<> 6<> 6<> 6<><36><EFBFBD><EFBFBD> 6<> 6<> 6<> 6<> 6<> 6s<00>B C<03>C <07> C c<00><><00>|<00>||d<01><00>5|<00>|j|<02><00>ddd<00><00>dS#1swxYwYdSr<>)rxr2r)r<>s r4r<>zCodeGenerator.visit_Test=s<><00><00> <11> %<25> %<25>d<EFBFBD>E<EFBFBD>5<EFBFBD> 9<> 9<> )<29> )<29> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD>y<EFBFBD>%<25> (<28> (<28> (<28> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29> )<29><><EFBFBD><EFBFBD> )<29> )<29> )<29> )<29> )<29> )s<00>A<03>A<07>Ac<00>l<00><00><01><02><00><02><00><00><00>d<07><02><01>fd<02> }<03><00>d<03><00><00><00><00>j<00><02><00><00><00>d<04><00><00><00><00>j<00><02><00><00><00>d<05><00>|<03><00><00><00>d<06><00>dS)Nr%c<00><><00><03><00>j<00><1D><02><00>j<00><00><00>dS<00><02>d<01><02><00><01><00><00>d<02><03><00>dS)Nz1cond_expr_undefined("the inline if-expression on z6 evaluated to false and no else section was defined."))<04>expr2r2rErj)r*r)r's<00><><EFBFBD>r4<00> write_expr2z1CodeGenerator.visit_CondExpr.<locals>.write_expr2Fsi<00><><00><13>z<EFBFBD>%<25><14>
<EFBFBD>
<EFBFBD>4<EFBFBD>:<3A>u<EFBFBD>-<2D>-<2D>-<2D><16><06> <10>J<EFBFBD>J<EFBFBD>+<2B><18>M<EFBFBD>M<EFBFBD>$<24>'<27>'<27>+<2B>+<2B>+<2B> <0E> <0E> <0E> <0E> r6r?z if z else rAr<>)r<>rEr2<00>expr1r<31>)r'r)r*r~s``` r4<00>visit_CondExprzCodeGenerator.visit_CondExprBs<><00><><EFBFBD><EFBFBD><00><15>
<EFBFBD>
<EFBFBD> <0C> <0C><05> <0E> <0E> <0E> <0E> <0E> <0E> <0E> <0E> <0A>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>:<3A>u<EFBFBD>%<25>%<25>%<25> <0C>
<EFBFBD>
<EFBFBD>6<EFBFBD><1A><1A><1A> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>e<EFBFBD>$<24>$<24>$<24> <0C>
<EFBFBD>
<EFBFBD>8<EFBFBD><1C><1C><1C><13> <0B> <0A> <0A> <0A> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><0F>r6rc<00><00>|jjr|<00>d<01><00>|jjr|<00>d<02><00>n|<00>d<03><00>|<00>|j|<02><00>|rddind}|jrddini}|jrddini}|r|j|fi|<06><01>n|s|r t|fi|<06><01>}|<00>
|||<04><00>|<00>d<07><00>|jjr|<00>d<08><00>dSdS) Nrlzenvironment.call(context, z context.call(rI<00>
_loop_vars<EFBFBD> _block_varsrAr<>) rBrDrErCr2r)r<>r<>r<>rxr$)r'r)r*rr<00> loop_kwargs<67> block_kwargss r4rzCodeGenerator.visit_CallYsS<00><00> <10> <1B> $<24> -<2D> <10>J<EFBFBD>J<EFBFBD>+<2B> ,<2C> ,<2C> ,<2C> <0F> <1B> %<25> (<28> <10>J<EFBFBD>J<EFBFBD>3<> 4<> 4<> 4<> 4<> <10>J<EFBFBD>J<EFBFBD><EFBFBD> '<27> '<27> '<27> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>e<EFBFBD>$<24>$<24>$<24>/=<3D>G<><08>(<28>+<2B>+<2B>4<EFBFBD> <0C>6;<3B>6F<36>N<>|<7C>\<5C>2<>2<>B<EFBFBD> <0B>9><3E>9J<39>R<> <0A>}<7D>5<>5<>PR<50> <0C> <17> =<3D> <1F>L<EFBFBD> <1F> <0B> <<3C> <<3C>|<7C> <<3C> <<3C> <<3C> <<3C> <18> =<3D>L<EFBFBD> =<3D><1F> <0B><<3C><<3C>|<7C><<3C><<3C>L<EFBFBD> <0C><0E><0E>t<EFBFBD>U<EFBFBD>L<EFBFBD>1<>1<>1<> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F> <0F> <1B> $<24> <1D> <10>J<EFBFBD>J<EFBFBD>t<EFBFBD> <1C> <1C> <1C> <1C> <1C> <1D> r6c<00>v<00>|<00>|jdz<00><00>|<00>|j|<02><00>dS)Nr)rErr2r_r<>s r4<00> visit_KeywordzCodeGenerator.visit_Keywordps6<00><00> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>8<EFBFBD>c<EFBFBD>><3E>"<22>"<22>"<22> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>:<3A>u<EFBFBD>%<25>%<25>%<25>%<25>%r6c<00><><00>|<00>d<01><00>|<00>|j|<02><00>|<00>d<02><00>dS)NzMarkup(rA<00>rEr2rr<>s r4<00>visit_MarkSafezCodeGenerator.visit_MarkSafevs=<00><00> <0C>
<EFBFBD>
<EFBFBD>9<EFBFBD><1D><1D><1D> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>e<EFBFBD>$<24>$<24>$<24> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><0F>r6c<00><><00>|<00>d<01><00>|<00>|j|<02><00>|<00>d<02><00>dSrOr<>r<>s r4<00>visit_MarkSafeIfAutoescapez(CodeGenerator.visit_MarkSafeIfAutoescape{s@<00><00> <0A>
<EFBFBD>
<EFBFBD>K<>L<>L<>L<> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD>e<EFBFBD>$<24>$<24>$<24> <0C>
<EFBFBD>
<EFBFBD>3<EFBFBD><0F><0F><0F><0F>r6c<00>@<00>|<00>d|jz<00><00>dS)Nz environment.<2E>rErRr<>s r4<00>visit_EnvironmentAttributez(CodeGenerator.visit_EnvironmentAttribute<74>s#<00><00> <0A>
<EFBFBD>
<EFBFBD>><3E>D<EFBFBD>I<EFBFBD>-<2D>.<2E>.<2E>.<2E>.<2E>.r6c<00>P<00>|<00>d|j<00>d|j<00><00><04><00>dS)Nzenvironment.extensions[z].)rE<00>
identifierrRr<>s r4<00>visit_ExtensionAttributez&CodeGenerator.visit_ExtensionAttribute<74>s1<00><00> <0A>
<EFBFBD>
<EFBFBD>M<>T<EFBFBD>_<EFBFBD>M<>M<>$<24>)<29>M<>M<>N<>N<>N<>N<>Nr6c<00>P<00>|<00>|j|j<00><00>dSr.)rEr<>r<>r<>s r4<00>visit_ImportedNamez CodeGenerator.visit_ImportedName<6D>s$<00><00> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>&<26>t<EFBFBD><EFBFBD>7<>8<>8<>8<>8<>8r6c<00>:<00>|<00>|j<00><00>dSr.r<>r<>s r4<00>visit_InternalNamez CodeGenerator.visit_InternalName<6D>s<00><00> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD>9<EFBFBD><1D><1D><1D><1D>r6c<00>0<00>|<00>d<01><00>dS)Nr<4E>)rEr<>s r4<00>visit_ContextReferencez$CodeGenerator.visit_ContextReference<63>s<00><00> <0A>
<EFBFBD>
<EFBFBD>9<EFBFBD><1D><1D><1D><1D>r6c<00>V<00>|<00>|<00>|<02><00><00><00>dSr.)rEr<>r<>s r4<00>visit_DerivedContextReferencez+CodeGenerator.visit_DerivedContextReference<63>s*<00><00> <0A>
<EFBFBD>
<EFBFBD>4<EFBFBD>&<26>&<26>u<EFBFBD>-<2D>-<2D>.<2E>.<2E>.<2E>.<2E>.r6c<00>2<00>|<00>d|<01><00>dS)N<>continuersr<>s r4<00>visit_ContinuezCodeGenerator.visit_Continue<75>s<00><00> <0C><0E><0E>z<EFBFBD>4<EFBFBD>(<28>(<28>(<28>(<28>(r6c<00>2<00>|<00>d|<01><00>dS)N<>breakrsr<>s r4<00> visit_BreakzCodeGenerator.visit_Break<61>s<00><00> <0C><0E><0E>w<EFBFBD><04>%<25>%<25>%<25>%<25>%r6c<00><><00>|<02><00><00>}|j<00>|<01><00>|<00>|<03><00>|<00>|j|<03><00>|<00>|<03><00>dSr.)r<>r<>rPr;rrSr>)r'r)r*<00> scope_frames r4<00> visit_ScopezCodeGenerator.visit_Scope<70>sj<00><00><1B>k<EFBFBD>k<EFBFBD>m<EFBFBD>m<EFBFBD> <0B><13><1B>(<28>(<28><14>.<2E>.<2E>.<2E> <0C><18><18><1B>%<25>%<25>%<25> <0C><0F><0F><04> <09>;<3B>/<2F>/<2F>/<2F> <0C><18><18><1B>%<25>%<25>%<25>%<25>%r6c<00>*<00>|<00><00><00>}|<00>|<03>d|<00>|<02><00><00><00><03><00>|<00>|<03>d<02><02><00>|<00>|j|<02><00>|<00>|<03><00>|<02>d<03><04><00>}|j<00>|<01><00>|<00> |<04><00>|<00>
|j |<04><00>|<00> |<04><00>|<00> <00><00>dS)Nr1z.vars = T)r<>)r<>r<>r<>r2r<>r|r<>r<>rPr;rrSr>r~)r'r)r*r<>r<>s r4<00>visit_OverlayScopez CodeGenerator.visit_OverlayScope<70>s<00><00><12>'<27>'<27>)<29>)<29><03> <0C><0E><0E>#<23>><3E>><3E>$<24>"5<>"5<>e<EFBFBD>"<<3C>"<<3C>><3E>><3E>?<3F>?<3F>?<3F> <0C><0E><0E>#<23>'<27>'<27>'<27>(<28>(<28>(<28> <0C>
<EFBFBD>
<EFBFBD>4<EFBFBD><<3C><15>'<27>'<27>'<27> <0C>#<23>#<23>C<EFBFBD>(<28>(<28>(<28><1B>k<EFBFBD>k<EFBFBD>4<EFBFBD>k<EFBFBD>0<>0<> <0B><13><1B>(<28>(<28><14>.<2E>.<2E>.<2E> <0C><18><18><1B>%<25>%<25>%<25> <0C><0F><0F><04> <09>;<3B>/<2F>/<2F>/<2F> <0C><18><18><1B>%<25>%<25>%<25> <0C>"<22>"<22>$<24>$<24>$<24>$<24>$r6c<00>D<00>|jD]<5D>}|<00>d|j<00>d<02><03><00>|<00>|j|<02><00> |j<00>|j<00><00>}t|j|j|<04><00><00>w#tj $rd|j_
Y<00><>wxYwdS)Nzcontext.eval_ctx.r1T) <0B>optionsr<73>rr2r_r0r0<00>setattrr r9r1)r'r)r*<00>keywordr=s r4<00>visit_EvalContextModifierz'CodeGenerator.visit_EvalContextModifier<65>s<><00><00><1C>|<7C> :<3A> :<3A>G<EFBFBD> <10>N<EFBFBD>N<EFBFBD>?<3F>w<EFBFBD>{<7B>?<3F>?<3F>?<3F> @<40> @<40> @<40> <10>J<EFBFBD>J<EFBFBD>w<EFBFBD>}<7D>e<EFBFBD> ,<2C> ,<2C> ,<2C> :<3A><1D>m<EFBFBD>,<2C>,<2C>U<EFBFBD>^<5E><<3C><<3C><03><18><05><0E><07> <0B>S<EFBFBD>9<>9<>9<>9<><39><19>#<23> /<2F> /<2F> /<2F>*.<2E><05><0E>'<27>'<27>'<27> /<2F><><EFBFBD><EFBFBD>  :<3A> :s<00>A?<02>?B<05>Bc<00>b<00>|<00><00><00>}|j<00><00><00>}|<00>|<03>d<01><02><00>|<00>||<02><00>|jD]}|<00>||<02><00><00>|j<00>|<04><00>|<00>d|<03>d<03><03><00>dS)Nz = context.eval_ctx.save()zcontext.eval_ctx.revert(rA)r<>r0<00>saver<65>r<>rSr2<00>revert)r'r)r*<00> old_ctx_name<6D> saved_ctxr;s r4<00>visit_ScopedEvalContextModifierz-CodeGenerator.visit_ScopedEvalContextModifier<65>s<><00><00><1C>0<>0<>2<>2<> <0C><19>N<EFBFBD>'<27>'<27>)<29>)<29> <09> <0C><0E><0E>,<2C>B<>B<>B<>C<>C<>C<> <0C>&<26>&<26>t<EFBFBD>U<EFBFBD>3<>3<>3<><19>Y<EFBFBD> %<25> %<25>E<EFBFBD> <10>J<EFBFBD>J<EFBFBD>u<EFBFBD>e<EFBFBD> $<24> $<24> $<24> $<24> <0A><0E><1D><1D>i<EFBFBD>(<28>(<28>(<28> <0C><0E><0E>A<>,<2C>A<>A<>A<>B<>B<>B<>B<>Br6<00>NFTr<54>r<>)r
r.)Nr)r?r@)<29>r<EFBFBD>r<>r<>r8r<>rr<00>TextIOrmr<><00>propertyrVrnr<>r<>r+r<>r<>r<>r<>r <00>Noderrrr<>rrEr<>rr<><00>Callr<6C>r<><00>Mappingr9r$r/r;r>rErGr<>r<>r<>r<>r`rgrjrqrtrXrZrYr|r~r<>r4r<>r<>r<>r<>rYr<>r<>r<>r<>r<><00>Includer<65><00>Import<72>
FromImportr<EFBFBD>r<>r<><00>Forr<72><00>Ifrrr <00> FilterBlockr <00>Withr<00>ExprStmtr<00>
NamedTupler<00> staticmethodrr rr+r.r7r2r5r7<00>Outputr><00>AssignrC<00> AssignBlockrFr<>r<>r@rKr<>rMr1rQrUr<>rW<00>DictrYrL<00> visit_Add<64> visit_Sub<75> visit_Mul<75> visit_Div<69>visit_FloorDiv<69> visit_Pow<6F> visit_Mod<6F> visit_And<6E>visit_OrrQ<00> visit_Pos<6F> visit_Neg<65> visit_Notr:<00>Concatrd<00>Comparerg<00>Operandrj<00>Getattrrm<00>Getitemrprortr<00>Iteratorrxr<>r<><00>CondExprr<72>r<00>Keywordr<64><00>MarkSafer<65><00>MarkSafeIfAutoescaper<65><00>EnvironmentAttributer<65><00>ExtensionAttributer<65>r<>r<><00> InternalNamer<65><00>ContextReferencer<65><00>DerivedContextReferencer<65><00>Continuer<65><00>Breakr<6B><00>Scoper<65><00> OverlayScoper<65><00>EvalContextModifierr<72><00>ScopedEvalContextModifierr<72>r<>r6r4r(r(,s,<00><00><00><00><00><00><00> (,<2C> <20><1E>G4<>G4<>"<22>G4<><10>j<EFBFBD><13>o<EFBFBD>G4<><14>*<2A>S<EFBFBD>/<2F> G4<>
<12>
<EFBFBD>1<EFBFBD>8<EFBFBD>$<24> G4<> <19> G4<><18>G4<>
<0E>G4<>G4<>G4<>G4<>R<0E>*<2A>4<EFBFBD>*<2A>*<2A>*<2A><0E>X<EFBFBD>*<2A>
L<01><03>L<01>S<EFBFBD>L<01>]<5D>L<01>L<01>L<01>L<01>,<2C>c<EFBFBD>,<2C>,<2C>,<2C>,<2C>
/<2F>E<EFBFBD>/<2F>d<EFBFBD>/<2F>/<2F>/<2F>/<2F> 5:<3A>9<>9<><1A>9<>-1<>9<> <0A>9<>9<>9<>9<>(<1F><1F><1F><1F>"<22>"<22>C<EFBFBD>"<22><04>"<22>"<22>"<22>"<22><<3C><<3C><15><<3C>a<EFBFBD>j<EFBFBD><15><1A>.D<><<3C>PT<50><<3C><<3C><<3C><<3C><1C>u<EFBFBD><1C><14><1C><1C><1C><1C> DH<01><1E><1E><14><1E>"<22><1E>*+<2B>*<2A>U<EFBFBD>Z<EFBFBD>*@<40><1E> <0A><1E><1E><1E><1E> <11><01>
<EFBFBD>5<EFBFBD>:<3A> 6<> <11>u<EFBFBD> <11><14> <11> <11> <11> <11> <1D>s<EFBFBD> <1D>t<EFBFBD> <1D> <1D> <1D> <1D>IJ<01><16><16><14><16><1D>J<EFBFBD>u<EFBFBD>z<EFBFBD>2<><16>BE<42><16> <0A><16><16><16><16>*<2A>*<2A>A<EFBFBD>J<EFBFBD>u<EFBFBD>z<EFBFBD>2<>*<2A>#<23>*<2A>d<EFBFBD>*<2A>*<2A>*<2A>*<2A>;?<3F> 7/<2F>7/<2F><0F>g<EFBFBD>e<EFBFBD>j<EFBFBD>%<25>,<2C><05>
<EFBFBD>:<3A>;<3B>7/<2F><15>7/<2F><18>j<EFBFBD><11><19>3<EFBFBD><01><05>:<3A>!6<>7<> 7/<2F>
<0E> 7/<2F>7/<2F>7/<2F>7/<2F>r,<1F>q<EFBFBD>z<EFBFBD>%<25>*<2A>'=<3D>,<1F>$<24>,<1F>,<1F>,<1F>,<1F>\><3E><15>><3E>4<EFBFBD>><3E>><3E>><3E>><3E> B<01>B<01><15>B<01>4<EFBFBD>B<01>D<EFBFBD>B<01>B<01>B<01>B<01>H<01>H<01><03>H<01>C<EFBFBD>H<01>QT<51>H<01>H<01>H<01>H<01>2<><13>2<><13>2<>2<>2<>2<>Q <20><15>G<EFBFBD>E<EFBFBD>K<EFBFBD><15><1F>8<>9<>Q <20>BG<42>Q <20>
<EFBFBD><17><15><08><1F> !<21>Q <20>Q <20>Q <20>Q <20>f

<EFBFBD>8<EFBFBD>

<EFBFBD>E<EFBFBD>

<EFBFBD>d<EFBFBD>

<EFBFBD>

<EFBFBD>

<EFBFBD>

<EFBFBD><12>U<EFBFBD>Z<EFBFBD><12>C<EFBFBD><12><12><12><12>!<21><05>!<21>#<23>!<21>!<21>!<21>!<21> +<2B> +<2B> +<2B> +<2B>I<01><05>I<01>$<24>I<01>I<01>I<01>I<01>$<24>$<24>$<24>$<24>6<>C<EFBFBD>6<>D<EFBFBD>6<>6<>6<>6<>5<>S<EFBFBD>5<>T<EFBFBD>5<>5<>5<>5<>,<2C>,<2C>,<2C>,<2C>1<><13>1<>1<>1<>1<>#<23>#<23>#<23>#<23>#<23>#<23> U<01>E<EFBFBD>U<01>c<EFBFBD>U<01>U<01>U<01>U<01>3<>c<EFBFBD>3<>d<EFBFBD>3<>3<>3<>3<> )<29>)<29>)<29>)<29>)O<01><15>)O<01>4<EFBFBD>)O<01>)O<01>)O<01>)O<01>\@D<01>x9<>x9<><19>N<EFBFBD>x9<>+,<2C>:<3A>e<EFBFBD>+<<3C>x9<> <0A>x9<>x9<>x9<>x9<>t/<1C><05> <0B>/<1C>E<EFBFBD>/<1C>d<EFBFBD>/<1C>/<1C>/<1C>/<1C>b(!<21>%<25>-<2D>(!<21><05>(!<21>$<24>(!<21>(!<21>(!<21>(!<21>T8<1B>%<25>-<2D>8<1B><05>8<1B>$<24>8<1B>8<1B>8<1B>8<1B>t U<01><15>G<EFBFBD>E<EFBFBD>L<EFBFBD>%<25>*:<3A>:<3A>;<3B> U<01>DI<44> U<01> <0A> U<01> U<01> U<01> U<01> N<01><15><1C> N<01>e<EFBFBD> N<01><04> N<01> N<01> N<01> N<01>5<12>U<EFBFBD>%5<>5<12>e<EFBFBD>5<12><04>5<12>5<12>5<12>5<12>nIP<01>e<EFBFBD>i<EFBFBD>IP<01><05>IP<01>$<24>IP<01>IP<01>IP<01>IP<01>V<1B>U<EFBFBD>X<EFBFBD><1B>e<EFBFBD><1B><04><1B><1B><1B><1B>*/<2F><05> <0B>/<2F>E<EFBFBD>/<2F>d<EFBFBD>/<2F>/<2F>/<2F>/<2F><1E>E<EFBFBD>O<EFBFBD><1E>E<EFBFBD><1E>d<EFBFBD><1E><1E><1E><1E> '<27>e<EFBFBD>&7<> '<27><05> '<27>$<24> '<27> '<27> '<27> '<27>
%<25>u<EFBFBD>z<EFBFBD>
%<25>%<25>
%<25>D<EFBFBD>
%<25>
%<25>
%<25>
%<25>%<25>5<EFBFBD>><3E>%<25>%<25>%<25>D<EFBFBD>%<25>%<25>%<25>%<25><1D><1D><1D><1D><1D><01> <0C><1D><1D><1D><12><1A><11><15><1A>1<EFBFBD>5<EFBFBD><1A><1A><1A><12>\<5C><1A>,0<>I<EFBFBD>q<EFBFBD>z<EFBFBD>-<2D>(<28>/<2F>/<2F>/<2F>.<1E> <0A>.<1E>.<1E>.<1E>.<1E>`#<23><01>
<EFBFBD>1<EFBFBD>5<EFBFBD>(9<>#<23>c<EFBFBD>#<23>#<23>#<23>#<23>%<25><19>J<EFBFBD>%<25>',<2C>%<25>8E<38>%<25> <0C>%<25>%<25>%<25>%<25>*%<25><19>J<EFBFBD>%<25>',<2C>%<25>8E<38>%<25> <0A>%<25>%<25>%<25>%<25> <1C><19>J<EFBFBD> <1C>',<2C> <1C>8E<38> <1C> <0A> <1C> <1C> <1C> <1C>M<1B><15><1C>M<1B>e<EFBFBD>M<1B><04>M<1B>M<1B>M<1B>M<1B>^(<28><15><1C>(<28>e<EFBFBD>(<28><04>(<28>(<28>(<28>(<28>>&<26>e<EFBFBD>&7<>&<26><05>&<26>$<24>&<26>&<26>&<26>&<26>0<18>u<EFBFBD>z<EFBFBD><18>%<25><18>D<EFBFBD><18><18><18><18>20<><05> <0B>0<>E<EFBFBD>0<>d<EFBFBD>0<>0<>0<>0<>"<22><05> <0B>"<22>E<EFBFBD>"<22>d<EFBFBD>"<22>"<22>"<22>"<22><0E>u<EFBFBD>'9<><0E>%<25><0E>D<EFBFBD><0E><0E><0E><0E>.<2E><05> <0B>.<2E>E<EFBFBD>.<2E>d<EFBFBD>.<2E>.<2E>.<2E>.<2E><18>u<EFBFBD>z<EFBFBD><18>%<25><18>D<EFBFBD><18><18><18><18><18>u<EFBFBD>z<EFBFBD><18>%<25><18>D<EFBFBD><18><18><18><18><1C> <0B>C<EFBFBD> <20> <20>I<EFBFBD><1B> <0B>C<EFBFBD> <20> <20>I<EFBFBD><1B> <0B>C<EFBFBD> <20> <20>I<EFBFBD><1B> <0B>C<EFBFBD> <20> <20>I<EFBFBD> <20>[<5B><14>&<26>&<26>N<EFBFBD><1B> <0B>D<EFBFBD>!<21>!<21>I<EFBFBD><1B> <0B>C<EFBFBD> <20> <20>I<EFBFBD><1B> <0B>E<EFBFBD>"<22>"<22>I<EFBFBD><1A>{<7B>4<EFBFBD> <20> <20>H<EFBFBD><1A>
<EFBFBD>3<EFBFBD><0F><0F>I<EFBFBD><1A>
<EFBFBD>3<EFBFBD><0F><0F>I<EFBFBD><1A>
<EFBFBD>6<EFBFBD>"<22>"<22>I<EFBFBD><12> <19><15><1C> <19>e<EFBFBD> <19><04> <19> <19> <19><13>]<5D> <19><13><18>%<25>-<2D><18><05><18>$<24><18><18><18><13>]<5D><18>%<25>%<25>-<2D>%<25><05>%<25>$<24>%<25>%<25>%<25>%<25><13> <1D>%<25>-<2D> <1D><05> <1D>$<24> <1D> <1D> <1D><13>]<5D> <1D><13>!<21>%<25>-<2D>!<21><05>!<21>$<24>!<21>!<21>!<21><13>]<5D>!<21>()<29><05> <0B>)<29>E<EFBFBD>)<29>d<EFBFBD>)<29>)<29>)<29>)<29><14>'<1D><15>G<EFBFBD>E<EFBFBD>L<EFBFBD>%<25>*<2A>4<>5<>'<1D>>C<>'<1D>PT<50>'<1D>
<EFBFBD><1A>D<EFBFBD> <19>'<1D>'<1D>'<1D><14>^<5E>'<1D>R<13>6<><15><1C>6<>e<EFBFBD>6<><04>6<>6<>6<><13>]<5D>6<> <13>)<29>u<EFBFBD>z<EFBFBD>)<29>%<25>)<29>D<EFBFBD>)<29>)<29>)<29><13>]<5D>)<29><13><18>5<EFBFBD>><3E><18>%<25><18>D<EFBFBD><18><18><18><13>]<5D><18>,<13>EJ<45><1D><1D><19>J<EFBFBD><1D>',<2C><1D>>B<><1D> <0A><1D><1D><1D><13>]<5D><1D>,&<26>%<25>-<2D>&<26><05>&<26>$<24>&<26>&<26>&<26>&<26> <18>5<EFBFBD>><3E><18>%<25><18>D<EFBFBD><18><18><18><18>
<18><19>.<2E><18>7<<3C><18> <0A><18><18><18><18>/<2F><19>.<2E>/<2F>7<<3C>/<2F> <0A>/<2F>/<2F>/<2F>/<2F>
O<01><19>,<2C>O<01>5:<3A>O<01> <0A>O<01>O<01>O<01>O<01>
9<>u<EFBFBD>'9<>9<>%<25>9<>D<EFBFBD>9<>9<>9<>9<><1E>u<EFBFBD>'9<><1E>%<25><1E>D<EFBFBD><1E><1E><1E><1E><1E><19>*<2A><1E>38<33><1E> <0A><1E><1E><1E><1E>
/<2F><19>1<>/<2F>:?<3F>/<2F> <0A>/<2F>/<2F>/<2F>/<2F>
)<29>5<EFBFBD>><3E>)<29>%<25>)<29>D<EFBFBD>)<29>)<29>)<29>)<29>&<26><05> <0B>&<26>E<EFBFBD>&<26>d<EFBFBD>&<26>&<26>&<26>&<26>&<26><05> <0B>&<26>E<EFBFBD>&<26>d<EFBFBD>&<26>&<26>&<26>&<26> %<25>u<EFBFBD>'9<> %<25>%<25> %<25>D<EFBFBD> %<25> %<25> %<25> %<25> :<3A><19>-<2D> :<3A>6;<3B> :<3A> <0A> :<3A> :<3A> :<3A> :<3A>
C<01><19>3<>
C<01><A<>
C<01> <0A>
C<01>
C<01>
C<01>
C<01>
C<01>
Cr6r<>)Fr<46><00>typingr8<00>
contextlibr<00> functoolsr<00>ior<00> itertoolsrr<>rr<00>
markupsaferr r@r <00>
exceptionsr <00>
idtrackingr rrrrrr/r<00>utilsrrrIr<00> TYPE_CHECKING<4E>typing_extensions<6E>terBr<00>TypeVarrr9rrir:rrrJrLrPrQrYr<>r<>rmr^rcr<>r<><00>Setr<74>r<>r+<00> RuntimeErrorr~r<>r}r:r<>r(r<>r6r4<00><module>r<>s<><00><01>6<>6<><12><12><12><12>%<25>%<25>%<25>%<25>%<25>%<25>$<24>$<24>$<24>$<24>$<24>$<24><17><17><17><17><17><17><1B><1B><1B><1B><1B><1B>2<>2<>2<>2<>2<>2<><1D><1D><1D><1D><1D><1D><1D><1D><1D><1D><1D><1D><13><13><13><13><13><13>.<2E>.<2E>.<2E>.<2E>.<2E>.<2E><1F><1F><1F><1F><1F><1F>&<26>&<26>&<26>&<26>&<26>&<26>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A>(<28>(<28>(<28>(<28>(<28>(<28>*<2A>*<2A>*<2A>*<2A>*<2A>*<2A><1E><1E><1E><1E><1E><1E> <20> <20> <20> <20> <20> <20><1B><1B><1B><1B><1B><1B><19><19><19><19><19><19> <20> <20> <20> <20> <20> <20><04>?<3F>)<29>"<22>"<22>"<22>"<22>(<28>(<28>(<28>(<28>(<28>(<28> <0A>A<EFBFBD>I<EFBFBD>c<EFBFBD><11><1A>C<EFBFBD><11><15>J<EFBFBD>/<2F>0<>0<>0<><01> <0F>
<0E>
<0A> <10>
<0A> <10>
<0E> <15> <02> <02> <09> '<27>Q<EFBFBD> '<27>1<EFBFBD> '<27> '<27> '<27> '<27> <13>C<EFBFBD><13>A<EFBFBD>J<EFBFBD><0F><15><1D><07>'P<>RV<52>'V<>W<><13><13><13><13>*<13> <0B><13><06>Z<EFBFBD><1F>%<25>/<2F>7<EFBFBD>;<3B>T<EFBFBD>A<>B<><13><13><13><13>0$(<28><1C><1A><10><10>
<0F>.<2E><10><1E><10> <0C>*<2A>S<EFBFBD>/<2F><10><10>j<EFBFBD><13>o<EFBFBD> <10>
<0E>J<EFBFBD>q<EFBFBD>x<EFBFBD> <20> <10> <15> <10><14><10><07>Z<EFBFBD><03>_<EFBFBD><10><10><10><10>0<11><11><15><11>4<EFBFBD><11><11><11><11>" <1E> <0C>:<3A>e<EFBFBD>j<EFBFBD> !<21> <1E>*+<2B>*<2A>S<EFBFBD>/<2F> <1E><06>U<EFBFBD>3<EFBFBD>Z<EFBFBD> <1E> <1E> <1E> <1E>&<26>&<26>&<26>&<26>&<26>&<26>&<26>&<26>P<14>P<14>P<14>P<14>P<14>P<14>P<14>P<14>fJ<01>J<01>J<01>J<01>J<01>,<2C>J<01>J<01>J<01>'<27>'<27>'<27>'<27>'<27>k<EFBFBD>'<27>'<27>'<27>&&<26>&<26>&<26>&<26>&<26>K<EFBFBD>&<26>&<26>&<26>,<08><08><08><08><08>9<EFBFBD><08><08><08>bC<01>bC<01>bC<01>bC<01>bC<01>K<EFBFBD>bC<01>bC<01>bC<01>bC<01>bCr6