python (3.11.7)

(root)/
lib/
python3.11/
re/
__pycache__/
_parser.cpython-311.opt-1.pyc

edZddlTdZdZedZedZedZedZed	Z	ee
eehZ
eeeeeeehZeed
feedfeedfeed
feedfeedfeedfeedfdZeefeefeefeeefgfeeefgfeeefgfeeefgfeeefgfeee fgfee!fd
Z"e#e$e%e&e'e(e)e*dZ+e(e$ze*zZ,e-e)zZ.dZ/GddZ0GddZ1GddZ2dZ3dZ4dZ5dZ6d)d!Z7d"Z8d#Z9d*d&Z:d'Z;d(Z<d%S)+zInternal support module for sre)*z.\[{()*+?^$|z*+?{
0123456789012345670123456789abcdefABCDEF4abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZz 	



	\)z\a\bz\fz\nz\rz\tz\vz\\)
z\Arz\Bz\dz\Dz\sz\Sz\wz\Wz\Z)iLmsxatulcDeZdZdZedZddZdZdZdZ	dS)	StatecNd|_i|_dg|_d|_i|_dS)N)flags	groupdictgroupwidthslookbehindgroupsgrouprefposselfs >/BuggyBox/python/3.11.7/bootstrap/lib/python3.11/re/_parser.py__init__zState.__init__Ms0
 6 $c*t|jSN)lenrr"s r$groupszState.groupsSs4#$$$r&Nc|j}|jd|jtkrt	d|<|j|d}|t	d|||fz||j|<|S)Nztoo many groupsz7redefinition of group name %r as group %d; was group %d)r*rappend	MAXGROUPSerrorrget)r#namegidogids    r$	opengroupzState.opengroupVsk%%%;"")***>%%dD11D+.2C$-?@AAA#&DN4 
r&c>||j|<dSr()getwidthr)r#r1ps   r$
closegroupzState.closegroupbs !

r&c6||jko|j|duSr()r*r)r#r1s  r$
checkgroupzState.checkgroupds!T[ FT%5c%:$%FFr&c|jJ||s|d||jkr|ddSdS)Ncannot refer to an open groupz?cannot refer to group defined in the same lookbehind subpattern)r r9r.)r#r1sources   r$checklookbehindgroupzState.checklookbehindgroupgsl ,??3''
Dll#BCCCd+++ll$;<<<	-,,+r&r()
__name__
__module____qualname__r%propertyr*r3r7r9r=r&r$rrKs%%X%---GGG<<<<<r&rcNeZdZd
dZddZdZdZdZdZd	Z	d
Z
dZdZdS)
SubPatternNc8||_|g}||_d|_dSr()statedatawidth)r#rFrGs   r$r%zSubPattern.__init__qs%
<D	


r&rc`ttf}|jD]\}}t|dzt	|zd|t
ur=t|D]+\}}t|dzdzt	|z|,p|turYtt|dD]4\}}|rt|dzdz||dz5|tur_|\}}}	td|||dz|	r-t|dzdz|	|dz:t|tr(t||dzwt||rd}
|D]h}t|tr+|
st||dzd}
B|
std	dt|dd}
i|
sttd|dS)
Nz  )endrORELSEFT )tuplelistrGprintstrINBRANCH	enumeratedumpGROUPREF_EXISTS
isinstancerD)r#levelseqtypesopavrr	condgroupitem_yesitem_nonls           r$rVzSubPattern.dumpxsi4=i'	'	FB%*s2ww&B////Rxx77EB57D.3r772A66667v%be,,$$DAq1eDj4/000FF57OOOO$&&/1,	8Wb)$$$

eAg&&&*%*v-...LLq)))B
++
a    B))

#
#A!!Z00	#!$!GGGuQw!!/!#2....aR(((("GGGb"



O'	'	r&c*t|jSr()reprrGr"s r$__repr__zSubPattern.__repr__sDIr&c*t|jSr()r)rGr"s r$__len__zSubPattern.__len__s49~~r&c|j|=dSr(rGr#indexs  r$__delitem__zSubPattern.__delitem__sIer&ct|tr t|j|j|S|j|Sr()rXslicerDrFrGrhs  r$__getitem__zSubPattern.__getitem__s:eU##	<dj$)E*:;;;yr&c||j|<dSr(rgr#ricodes   r$__setitem__zSubPattern.__setitem__s	%r&c<|j||dSr()rGinsertros   r$rszSubPattern.inserts 	%%%%%r&c:|j|dSr()rGr,)r#rps  r$r,zSubPattern.appends	r&cn|j|jSdx}}|jD]\}}|turVt}d}|dD]9}|\}}t||}t
||}:||z}||z}e|tur"|\}}||z}||z}|tur(|d\}}||z}||z}|tvrW|d\}}|||dzz}|dtkr|r	t}|||dzz}!|tvr|dz}|dz}6|tur!|j
j|\}}||z}||z}`|turq|d\}}|d>|d\}}t||}t
||}nd}||z}||z}|t urnt|tt|tf|_|jS)Nrr)rHrGrTMAXWIDTHr5minmaxATOMIC_GROUP
SUBPATTERN_REPEATCODES	MAXREPEAT
_UNITCODESGROUPREFrFrrWSUCCESS)	r#lohir[r\rjlhs	         r$r5zSubPattern.getwidths`:!:Ri+	+	FBV||Q%""B;;==DAqAq		AAq		AA!V!V|##{{}}1!V!Vz!!"v((1!V!V|##!u~~''1!be)^a5I%%!%!BBa"Q%iBBz!!!V!Vxz-b11!V!V&&!u~~''1a5$a5>>++DAqAq		AAq		AAA!V!VwX&&B(9(99
zr&r(r)
r>r?r@r%rVrcrerjrmrqrsr,r5rBr&r$rDrDos))))T      &&&22222r&rDcbeZdZdZdZdZdZdZdZe	dZ
dZd	ZddZ
dZd
S)	Tokenizerct|t|_||_|jst|d}||_d|_d|_|dS)Nlatin1r)rXrRistextstringdecoded_stringrinext_Tokenizer__next)r#rs  r$r%zTokenizer.__init__sZ --{	+**F$
	




r&c2|j}	|j|}n#t$rd|_YdSwxYw|dkrQ|dz
}	||j|z
}n:#t$r-t	d|jt
|jdz
dwxYw|dz|_||_dS)Nrrzbad escape (end of pattern))rir
IndexErrorrr.rr))r#richars   r$__nextzTokenizer.__nexts
	&u-DD			DIFF	4<<QJE
I+E22
I
I
I9 KT[)9)9A)=??DHI
IQY
			s
,,A7BcH||jkr|dSdS)NTFrr)r#rs  r$matchzTokenizer.matchs&49KKMMM4ur&c<|j}||Sr(r)r#thiss  r$r/z
Tokenizer.getsy


r&czd}t|D](}|j}||vrn||z
}|)|SNrJ)rangerr)r#ncharsetresult_cs      r$getwhilezTokenizer.getwhile	sPq		A	AaKFKKMMMM
r&cd}	|j}||@|s|d|z|d|zt|||kr|s|d|zdn||z
}|S)NrJTzmissing zmissing %s, unterminated namer)rrr.r))r#
terminatorr0rrs     r$getuntilzTokenizer.getuntils		AKKMMMy8**Z$%6777jj!@:!M!$V...J;**Z$%6:::aKF	
r&c>|jt|jpdz
Srrir)rr"s r$posz
Tokenizer.pos"szC	R0000r&c>|jt|jpdz
Srrr"s r$tellzTokenizer.tell%szC	R0000r&c<||_|dSr()rirrhs  r$seekzTokenizer.seek's





r&rc|js)|ddd}t||j||z
S)Nasciibackslashreplace)rencodedecoder.rr)r#msgoffsets   r$r.zTokenizer.error+sP{	J**W&899@@IICS$+tyy{{V';<<<r&c^|s+d|z}||t||z|jsd|sRddl}|d||t|z
|z
fzt|dzdSdSdS)Nbad character in group name %rrz-bad character in group name %a at position %d
stacklevel)	isidentifierr.r)risasciiwarningswarnrDeprecationWarning)r#r0rnestedrrs      r$checkgroupnamezTokenizer.checkgroupname0s  ""	62T9C**S#d))f"4555	t||~~	OOOMM?tyy{{SYY.789"vz





				r&Nr)r>r?r@r%rrr/rrrArrrr.rrBr&r$rrs 
 11X1111====





r&rct|}|r|St|}|r|dtur|S	|dd}|dkrv||dt
z
}t
|dkr&|d|zt
|tt|dddfS|dkr}|j
rv||dt
z
}t
|d	kr&|d|zt
|tt|dddfS|d
kr|j
r||dt
z
}t
|dkr&|d|zt
|t|ddd}t|t|fS|d
kr|j
rddl}|
ds|d|dd}	t||}nL#t"t$f$r8|d|zt
|t
dzdwxYwt|fS|t&vrk||dt&z
}t|ddd}|dkr&|d|zt
|t|fS|t(vrt*t
|dkrK|t,vr&|d|zt
|tt|dfSn#t*$rYnwxYw|d|zt
|)Nrrrwrincomplete escape %srU
N{	missing {}character nameundefined character name %r\N{}.octal escape value %s outside of range 0-0o377
bad escape %s)ESCAPESr/
CATEGORIESrSr	HEXDIGITSr)r.LITERALintrchrunicodedatarrordlookupKeyError	TypeError	OCTDIGITSDIGITS
ValueErrorASCIILETTERS)r<escaperprrcharnames      r$
_class_escaper<s;;vD>>&!!DQ2

1
1Q3K88fooa333F6{{all#9F#BCKKPPPCqrr
B////
#XX&-Xfooa333F6{{all#9F#BCKKPPPCqrr
B////
#XX&-Xfooa333F6{{b  ll#9F#BCKKPPPF122J##AFFFA:
#XX&-X<<$$
0ll;///s,<==H
K**84455i(
K
K
Kll#@8#K#&x==3w<<#?AAFJK
KA:
)^^fooa333FF122J""A5yyll$35;$<=@[[JJJA:
&[[v;;!L  ll?V#;S[[IIICq	NN**



,,/V
=
==sO
BNBNBN*AN<"INA	J((N4A3N(A-N
N$#N$c	t|}|r|St|}|r|S	|dd}|dkrv||dtz
}t|dkr&|d|zt|tt|dddfS|dkr}|j	rv||dtz
}t|dkr&|d|zt|tt|dddfS|d	kr|j	r||d
tz
}t|dkr&|d|zt|t|ddd}t|t|fS|dkr|j	rd
dl}|ds|d|
dd}	t||}nL#t t"f$r8|d|zt|tdzdwxYwt|fS|dkr=||dt$z
}tt|ddd
fS|t&vrW|jt&vr||z
}|dt$vr|dt$vrr|jt$vrd||z
}t|ddd
}|dkr&|d|zt|t|fSt|dd}||jkrW||s#|dt||||t0|fS|d|zt|dz
t|dkrK|t2vr&|d|zt|tt|dfSn#t4$rYnwxYw|d|zt|)Nrrwrrrrrrrrrrrrrrrrr0rrr;invalid group reference %dr)rr/rrrr)r.rrrrrrrrrrrrrrr*r9r=rrr)r<rrFrprrrgroups        r$_escaperxs>>&!!D;;vDB
1Q3K88fooa333F6{{all#9F#BCKKPPPCqrr
B////
#XX&-Xfooa333F6{{all#9F#BCKKPPPCqrr
B////
#XX&-Xfooa333F6{{b  ll#9F#BCKKPPPF122J##AFFFA:
#XX&-X<<$$
0ll;///s,<==H
K**84455i(
K
K
Kll#@8#K#&x==3w<<#?AAFJK
KA:
#XXfooa333FCqrr
A....
&[[{f$$&**,,&1I**vayI/E/EK9,,fjjll*FF122J**A5yy$ll,;=C,D+.v;;888#A:%qrr
OOEu|##''..4 ,,'F'*6{{444**5&999&,,;eCS[[ST_UUUv;;!L  ll?V#;S[[IIICq	NN**



,,/V
=
==s\BR(BR(BR(AR(-"IR(A	JR(%AR((B>R('A8R( BR((
R54R5cPtt|Sr()rPdictfromkeys)itemss r$_uniqrs

e$$%%%r&c	:g}|j}|j}|}	|t||||dz|o||dsn|s|jt
z}At
|dkr|dSt|}	d}	|D]}
|
sn8|		|
d}	|
d|	krn |D]}
|
d=||	C	g}|D]x}
t
|
dkrn|
d\}}
|tur|||
fC|tur+|
ddtur||
wn+|tt|f|S|td|ff|S)NTr|r)r,rr_parserSRE_FLAG_VERBOSEr)rDrrSNEGATEextendrrT)r<rFverboserritemsappendsourcematchstart
subpatternprefixitemsetr[r\s              r$
_parse_subrs
E,K,KKKMME5F65'6A:%:3e)55	6	6	6{3		5k$44G
55zzQQxE""J
	
	D
~aaF""#


GGf%%%

Ct99>>EaB
==JJBx    
2XX"Q%(&00JJrNNNNE	2uSzz*+++ve}-...r&Fct|}|j}|j}|j}t}	t
}
	|j}|nZ|dvrnT||r&|tvr(|dkr	|}||dkrnD|ddkrt|||}||n|tvr|t|
|fn|dkr|dz
}
g}|j}|jdkr9ddl}|
d	|zt|d
z|d}	|}|+|d
||
z
|dkr|rn|ddkrt!||}ny|re|dvra|j|krVddl}|
d|dkrdn|dkrdn	|dkrdnd|dz
fzt|d
zt|
|f}|dr|}|+|d
||
z
|dkrE|dt"ur|dd}|||t|
dfnd|ddkrt!||}nT|dkr<ddl}|
d|dz
zt|d
zt|
|f}|dtks|dtkr>d|d|}||t	|dzt	|z|d}|d}||kr>d|d|}||t	|dzt	|z|t$||ffn(|dt"ur|dd}||t'|}|	|dkrJ|ddtur5|r |t(|ddfn;||dn(|r|dt,df|t"|f
n|t.vr|}
|dkrd\}}n|dkrdt0}}n|dkrdt0}}ns|dkrZ|jd kr|t|
|fdt0}}d!x}}|jt2vr||z
}|jt2v|d"r*|jt2vr||z
}|jt2vn|}|d s2|t|
|f||
|r)t7|}|t0krt9d#|rZt7|}|t0krt9d#||kr+|d$||
z
nt;d%||r|d&d}nd}|r|ddt<ur;|d'||
z
t	|z|ddt>vr;|d(||
z
t	|z|ddt@ur|dd\}}}}||s|s|}|drtB|||ff|d&<n8|drtD|||ff|d&<ntF|||ff|d&<n|d)kr|tHdfn|d*kr|dz
} d}!d+}"d}#d}d}|drf|}||d,|d-krh|d.r/|%d/d0}#|&|#d|n|d1r|%d2d0}#|&|#d||j'|#}$|$+d3|#z}||t	|#dz|(|$s&|d4t	|#dz|)|$||tT|$f|}||d,|d5|zt	|dz|d6krd+}!n|dkrE	|j+|d7|| z
|d2krnB	|d8vrd}%|d.kre|}||d,|d9vr)|d:|zt	|dzd&}%|j+}&|&|j,|_+t[||||dz}|%dkr	|&d|_+|d2s+|d;|| z
|d1kr|t\|%|ffn|t^|%|ff
|d*kr|%d2d0}'|'0r`|&|'d||j'|'}(|(+d3|'z}||t	|'dzn	t7|'}(|(dkrtbn:#tb$r-d<|'z}||t	|'dzdwxYw|(s&|d=t	|'dz|(tdkr+d>|(z}||t	|'dz|(|j3vr/|t	|'z
dz
|j3|(<|'4r|'5sqddl}|
d?|j6rto|'ntq|'|t	|'z
dz
fztr|d
z|)|(|tu||||dz})|d@r6tu||||dz}*|jd@kr|dAnd}*|d2s+|d;|| z
|tv|(|)|*ff
o|d/krd+}!d}"n|txvs|dkr[t{|||}+|+@|r|r+|dB|| z
|j>t~z}
|+\}}d+}!n)|dC|zt	|dz|!rU	|@|#}n@#t$r1},||,jAt	|#dzdd},~,wwxYwd}|s
|t~zo
|t~z}-t[|||-|dz}|d2s+|d;|| z
||B|||"r|t|fne|t@||||ffnN|dkr|t<tfn0|dDkr|t<tfnt;dE|ett	|ddd&D]-}.||.\}/}0|/t@ur|0\}}}}||s|s
|||.|.dz<.|S)FNTz|)#rrr[rz"Possible nested set at position %drr^zunterminated character set]z-&~|zPossible set %s at position %d-
difference&intersection~zsymmetric differenceunionz&Possible set difference at position %drwzbad character range ?)rrr+rrrJ,z"the repetition number is too largez"min repeat greater than max repeatzunsupported quantifier rvznothing to repeatzmultiple repeat.(Fzunexpected end of patternP<>
group name=)unknown group name %rr;zunknown extension ?P:zmissing ), unterminated commentz=!<z=!zunknown extension ?<z"missing ), unterminated subpatternrzbad group numberr-bad character in group name %s at position %drz/conditional backref with more than two branchesz/global flags not at the start of the expressionzunknown extension ?$zunsupported special character )GrDr,r/rr)rr
WHITESPACEr
SPECIAL_CHARSrrrr
FutureWarningr.rrSRANGErNOT_LITERALrsrREPEAT_CHARSr~rrr
OverflowErrorAssertionErrorATr}r|
MIN_REPEATPOSSESSIVE_REPEAT
MAX_REPEATANYrrrr9r=rr r*rASSERT
ASSERT_NOTrrr-r!	isdecimalrrrbrrrrWFLAGS_parse_flagsrrr3rr7r{AT_BEGINNINGAT_ENDr)1r<rFrrfirstrsubpatternappend	sourcegetr_len_ordrrpherer	setappendrnegatecode1thatcode2rrrryrzrrr	add_flags	del_flagsr6rcaptureatomicr0r1dirr condnamer]r^r_rerrsub_verboserr[r\s1                                                 r$rrsE""J"(
I,KDDlO{<4<<			z!!s{{$9;;D|tt||7d??64//DT""""

&
&gttDzz23333
S[[;;==1$DC
I{c!!

86;;==H!fqj![%%F9
% y{{< ,,'C'-{{}}t';===3;;3;!W__)&$77EE
tv~~&+2E2E' 

<0426#++:>#++ 6 6 ' &

 1@33*fqj&$TT$ZZ/E;s###%$9;;D|$ll+G+1;;==4+?AAAs{{ 8r>>$)!HQKE!	%(((!	7DDII"6777Aw$ -fd ; ;3;;+OOO$MM H$*KKMMA$5!7 -&1**
!(d 3Qx7**eAh'.A.A=ATT44H$ll3D		A
D		0IJJJqBqBBwww=ATT44H$ll3D		A
D		0IJJJIur2h/0000Qx2~~ %aIe$$$s9
%v**CtCyyA~~#a&)w"6"6-$$k3q6!9%=>>>>$$SV,,,,2JJq64.111! "c++++
\
!
!;;==Ds{{SSiSiS;#%%$$gttDzz%:;;;iSRkV++))++%BkV++;s## +//iikk)!+//B"{3''$$gttDzz%:;;;KK%%%Rb''Ci''+,PQQQAb''Ci''+,PQQQSyy$ll+O+1;;==4+?AAA%nDD%JKKK
!"##
E471:++ll#6#);;==4#7#d))#CEEEAwqz\))ll#4#);;==4#7#d))#CEEEAwqzZ''15a.y)Q==9=D{3
@",sC.>!?
2S!!
@"3c35E!F
2#-sC.>!?
2
S[[c4[))))
S[[KKMMA%EGFDII{3L
6 y{{< ,,'BCCC3;;"{3'':%sLAA--dAv>>>>$S)):%sLAA--dAv>>>#o11$77;"9D"@C"(,,sCIIM"B"BB$//44>"(,,/N/24yy1}#>#>>223???(((C999  )y{{<"(,,/J"K"KK$ll+AD+H+.t99q=:::S[[#GGS[["!;."(,,/P/5{{}}u/D#F#FF$9;;#--!"U]]Cs{{(y{{<"(,,/J"K"KKt++"(,,/E/L/24yy1}#>#>> +0+A(+35:\E2"65'6A:FFAQww+359E2&;s++B$ll+O+1;;==5+@BBBs{{((&3();<<<<((*sAh)?@@@S[[%sLAAH,,..--h6BBB$)O$7$7$A$A	$,"9H"DC"(,,sCMMA4E"F"FF-Q(+H

I(1}}&0 0 -)QQQ"BX"MC"(,,sCMMA4E"F"FDPQ )B"(,,/A/28}}q/@#B#BB$	11">"JC"(,,sCMMA4E"F"FF$E,=== &

H

 = A"-i8!) 2 2 4 49I9I9K9K+OOO$MM O39=!UheHoo!'X!>!B!D!D!3vz	*..y&AAA%feWfqjIIH||C(('"(!"L"L!;#--"(,,/`"a"aa.#'!<<,,B$ll+O+1;;==5+@BBB$$o	8W7U%VWWWS[[#G!FFU]]dckk(==E}$F
F"(,,0C/5{{}}u/D#F#FF#(+0@"@ +0(Iy#GG ,,'<t'C'*4yy1}666
I!OOD11EEIII ,,swD		A
>>DHI#E	4D(D> ),< <=
65+vzBBA<<$$
:ll#G#);;==5#8:::   ***
Q  ,!23333  *uiA.N!OPPPP
S[[b,/0000
S[[b&\****!.tt!MNNNYlO^3z??
#
#DDbD
)''AB
-/*E9i}Y}y}%&
1ac6"s$
m**7n!y
z#,zzc
|j}d}d}|dkr	t|}|jr|dkrd}||n|dkrd}||||z}|tzr%|tz|krd}|||}||d	|d
vrnE|tvr;|rdnd	}||t
||dkr|xj|zc_dS|tzr|d
d|dkr|}||d|tvr;|rdnd}||t
|	t|}|tzrd}||||z}|}||d|dkrnE|tvr;|rdnd}||t
||tzr|dd||zr|dd||fS)NrrTrz8bad inline flags: cannot use 'L' flag with a str patternrz:bad inline flags: cannot use 'u' flag with a bytes patternz9bad inline flags: flags 'a', 'u' and 'L' are incompatiblezmissing -, : or )z)-:zunknown flagrz,bad inline flags: cannot turn on global flagrzmissing flagz8bad inline flags: cannot turn off flags 'a', 'u' and 'L'z	missing :rz-bad inline flags: cannot turn off global flagz(bad inline flags: flag turned on and off)	r/r'rr.
TYPE_FLAGSisalphar)rGLOBAL_FLAGS)r<rFrr-r6r7flagrs        r$r(r(s
IIIs{{	3;D}
,3;;TC ,,s+++3;;VC ,,s+++Iz!
(	J(>4'G'GQll3'''9;;D|ll#6777u}}5  (,Onn<Oll3D		222+	3,s{{
y t<NllI1MMMs{{y{{<,,~...u$(LLNNF..C,,sCII...
	3;Dj 
(Pll3'''I9;;D|ll;///s{{5  (,GnnKll3D		222
	3<OllJANNN9JllEqIIIir&c8t|trH|tzrtd|tzs|t
z}nV|t
zrtdn<|t
zrtd|tzr|tzrtd|S)Nz)cannot use LOCALE flag with a str patternz(ASCII and UNICODE flags are incompatiblez,cannot use UNICODE flag with a bytes patternz'ASCII and LOCALE flags are incompatible)rXrRSRE_FLAG_LOCALErSRE_FLAG_ASCIISRE_FLAG_UNICODE)srcrs  r$	fix_flagsrHs#sH?"	JHIII~%	I%%EE
%
%	IGHHH	I##	MKLLL?"	Hu~'=	HFGGGLr&rNct|}|t}||_||_t	|||t
zd}t
||jj|j_|j|	d|jj
D]8}||jjkr&d|z}t|||jj
|9|tzr|
|S)Nrzunbalanced parenthesisr)rrrrRrrrHrFrr.r!r*SRE_FLAG_DEBUGrV)rRrrFr<r6grs       r$parserLss^^F}EKEI65%*:":A>>Ac17=11AGM
{ll3444
W
 ::.2CS!'"5a"8999
~	Hr&c	
t|j}ggg

j}
fd}j}	|}|n|ddkr|d}|dkrՉdsdd	d
}|rC|dd	||}	nA#t$rtd|zdwxYw	t|}	|	dkrtn8#t$r+d
|zt|dzdwxYw|	tkr)d|	zt|dz|r|snddl}
|
djrt)|nt+|t|z
dz
fzt.d||	t|dzn|dkrijt2vr(||z
}jt2vr
||z
}|t5t|ddddznd|t6vrd}jt6vr||z
}|t2vr|dt2vryjt2vrk||z
}d}t|ddd}|dkr&d|zt||t5||s1|t|ddt|dz
ny	t5t8|d}n@#t$r3|t:vr'd|zt|dYnwxYw||n||ԉ
r(d
t?|t@sdDfS)Nc |jkrd|z|r-ddd=t	|fddS)NrrJ)r*r.r,joinr))rirr*literalliteralsrrFs  r$addgroupz parse_template.<locals>.addgroups5<''6>DDD	OOBGGG,,---


s8}}e,---r&TrrrrKrz	missing <rrrvrrrrrrrrFrwrrrJc@g|]}|dn|dS)Nzlatin-1)r).0rs  r$
<listcomp>z"parse_template.<locals>.<listcomp>Hs,QQQ1AIDD188I+>+>QQQr&)!rr/r,
groupindexrr.rrrrrrrr)r-r&rrrrrbrrrrrrrrrrOrXrR)r<rFsgetlappendrRrWrrr0ririsoctalr*rPrQrs `          @@@@r$parse_templater[s	&A5D
FHGnG!JBtvv<7d??QACxxwws||/''+...zz#|44$$&&$$T1b111S *4 0#SSS()@4)GHHdRS? #D		 199",,%%???gg&F&M&)$ii!m55:>??	))gg&BU&J&)$ii!m555 NN,,' 

K+,8DT$ZZZtVVXXD		1A577/1	&D		A
....c6Y&&DDFFNDv**CQRR!,,t3445555f6V##DDFFNDY47i+?+?)++"&QRR!,,u99"#''+:<@+ABEd))#M#MMA;HSabb]]CIIM:::Swt}Q/00DDSSSL((ggo&<c$iiHHdR)(S



GDMMMEBF*(()))fc""RRQQQQ8s*CC8<D5E N55:O21O2c|j}|jdd}|\}}|dd}	|D]\}}||p|||<n!#t$rtd|zdwxYw||S)Nrr)rrrr.rO)templaterrKemptyr*rQrirs        r$expand_templater_Ks
AL!EFH{HD"	0	0LE5ahh/%HUOO	0DDD05899tCD::hsAA)F)rN)=__doc__
_constantsrr	frozensetrrrrrr r"r!r}r#rrSrrCATEGORYrrrrAT_BEGINNING_STRINGAT_BOUNDARYAT_NON_BOUNDARYCATEGORY_DIGITCATEGORY_NOT_DIGITCATEGORY_SPACECATEGORY_NOT_SPACE
CATEGORY_WORDCATEGORY_NOT_WORD
AT_END_STRINGrSRE_FLAG_IGNORECASErDSRE_FLAG_MULTILINESRE_FLAG_DOTALLrrESRE_FLAG_TEMPLATErFr'r?rJrArxrrDrrrrrrr(rHrLr[r_rBr&r$<module>rrsT&%
	<	 	 Ij!!	I.//	yOPP
Y}
%
%
y*j2CDEE
YUBhG
H
H

SSYYSSYYSSYYSSYYSSYYSSYYSSYYSSYY		
#$ (N+,-(./01(N+,-(./01(M*+,(-./0


									o
-0@
@
 11"<"<"<"<"<"<"<"<HuuuuuuuunTTTTTTTTl:>:>:>xK>K>K>Z&&&:::xAAAAF: : : x 



6[[[z
 
 
 
 
 r&