HEX
Server: Apache
System: Linux p102.lithium.hosting 4.18.0-553.141.1.el8_10.x86_64 #1 SMP Fri Jul 10 17:48:02 UTC 2026 x86_64
User: bvzmoamr (9955)
PHP: 8.1.34
Disabled: syslog
Upload Files
File: //usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyo
�
1�3\c@@s�ddlmZddlZddlZddlZddlZddlmZddlm	Z	m
Z
mZddlm
Z
mZmZmZddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZ m!Z!dd	l"m#Z#e!j$d
dTfd
dUfddVff�Z&dd�Z'd�Z(dd�Z)de*fd��YZ+de+fd��YZ,d�Z-ddd�Z.d�Z/d�Z0dd �Z1dd!�Z2d"�Z3d#�Z4d$�Z5d%�Z6d&�Z7d'�Z8d(�Z9e
d)�Z:e
d*�Z;dd+�Z<d,�Z=d-�Z>d.�Z?d/�Z@d0�ZAd1�ZBd2�ZCd3�ZDd4d5heD_Ed6�ZFd7�ZGd4d5heG_Ed8�ZHd9�ZId:�ZJd;�ZKd<�ZLd=�ZMd>�ZNd?�ZOd@�ZPdA�ZQdB�ZRddCdD�ZSdE�ZTdF�ZUdG�ZVdH�ZWdI�ZXdJ�ZYdK�ZZdL�Z[dM�Z\dNej]fdO��YZ^dPe jfdQ��YZ_dR�Z`dS�ZadS(Wi(tabsolute_importNi(t_(thextnullidtshorti(t
ErrorResponsetHTTP_BAD_REQUESTtHTTP_NOT_FOUNDt	paritygen(tcontexttdiffutilterrortmatchtmdifftobsutiltpatchtpathutiltpycompattscmutilttemplatefilterst
templatekwttemplateutiltuitutil(t
stringutiltzipsapplication/zips.ziptgzsapplication/x-gzipttgzs.tar.gztbz2sapplication/x-bzip2ttbz2s.tar.bz2cC@s�|jdddt�}g}xrtj�D]d\}}||ks_|jdd|dt�r+|ji|d6|dd6|d6|d	6�q+q+Wtj|�S(
Ntwebs
allow-archivet	untrustedtallowttypeit	extensiontnodeturl(t
configlisttTruetarchivespecst	iteritemst
configbooltappendRtmappinglist(RtnodeidR$tallowedtarchivesttyptspec((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytarchivelist6s		cC@sg|dd!dkr d|}n|ddkr=|d }ntjj|�}|dkr_dS|dS(Niit/i����(tostpathtdirname(tptup((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR7Fs

cc@s~|rQ|V|dkr1|dkr1d}|Vnx||krM|d9}q4Wnx&tryd|Vd|V|d9}qTWdS(Nii(i2i
ii(R&(tstept	firststep((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt_navseqPs			trevnavcB@s;eZd�Zd�ZeZd�Zd�Zd�ZRS(cC@s|j|_dS(sUNavigation generation object

        :repo: repo object we generate nav for
        N(t	changelogt_revlog(tselftrepo((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt__init__ascC@s|j�dk	S(s,return True if any revision to navigate overN(t_firsttNone(R>((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt__nonzero__iscC@s0ytt|j��SWntk
r+dSXdS(s1return the minimum non-filtered changeset or NoneN(tnexttiterR=t
StopIterationRB(R>((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyRAos
cC@st|jj|��S(N(RR=R#(R>trev((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyRvsc
C@s�|s6tjitjg�d6tjg�d6g�Sg}xItd|�D]8}||krbPn|j||�|j||�qLW|j�|j�}id|d6|j|�d6g}g}x�|D]�}	|	|jkr�q�n||	ko|knr;|jidt|	|�d6|j|	�d6�nd|	koR|knr�|jid	t|	|�d6|j|	�d6�q�q�W|jid
d6d
d6�tjitj|�d6tj|�d6g�S(s�computes label and revision id for navigation link

        :pos: is the revision relative to which we generate navigation.
        :pagelen: the size of each navigation page
        :limit: how far shall we link

        The return is:
            - a single element mappinglist
            - containing a dictionary with a `before` and `after` key
            - values are dictionaries with `label` and `node` keys
        tbeforetafteris(%i)tlabelR#s+%dis-%dttip(	RR+R:R*tsortRARR=tabs(
R>tpostpagelentlimitttargetstftfirstt	navbeforetnavafterRG((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytgenys6
$
(t__name__t
__module__R@RCt__bool__RARRV(((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR;_s				t
filerevnavcB@seZd�Zd�ZRS(cC@s(|j�j|_|j|�|_dS(s�Navigation generation object

        :repo: repo object we generate nav for
        :path: path of the file we generate nav for
        N(t
unfilteredR<t
_changelogtfileR=(R>R?R4((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR@�scC@s"t|jj|jj|���S(N(RR\R#R=tlinkrev(R>RG((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR�s(RWRXR@R(((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyRZ�s	cc@s�x�|D]�}i|j�d6|j�d6|j�d6|j�d6|j�d6|j�d6}tj|d�r�|j�|d<n|VqWdS(	NR#RGtusertdatetdescriptiontbranchR4R](	RRGR_R`RaRbRtsafehasattrR4(R	tctxststd((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt_ctxsgen�s





cC@s�|dkrg}ng|D]}|j�tkr|^q}t|�dkrq|dj�|krqg}ntjtd|f�S(Niitargs(RBR#RtlenRGRtmappinggeneratorRg(tsiblingsthiderevRe((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt	_siblings�s	+(	cC@s�tj|dtd|dt�}x`dD]X}|jj|�}|dk	r(tj|�}t|||dk	rv|nt�q(q(W|S(	NRtsectiont
whitespacetignorewstignorewsamounttignorewseoltignoreblanklines(RpRqRrRs(	R
tdifffeatureoptsR&tqsparamstgetRBRt	parsebooltsetattr(treqRRntdiffoptstktv((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyRt�s
)cC@s(t||d�}|jdtd|�S(NtannotatetfollowRz(RtR}R&(RytfctxRRz((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR}�scC@sft|tj�rS|j�}|j�j�|krSt|j�|g|�Snt|j�|�S(N(	t
isinstanceR	tbasefilectxtintrorevt	changectxRGRmR?tparents(tctxthideR�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��s
cC@st|j�|�S(N(Rmtchildren(R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��scC@sK|j�}|r>tji|dd6t|d�d6g�Stjg�S(NiR]iR#(trenamedRR+R(Rtr((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt
renamelink�s,cC@stj|j|�dd�S(Ntname(Rt
hybridlisttnodetags(R?R#((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytnodetagsdict�scC@stj|j|�dd�S(NR�(RR�t
nodebookmarks(R?R#((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytnodebookmarksdict�scC@swg}|j�}y|j|�}Wntjk
rAd}nX||j�krd|j|�ntj|dd�S(NR�(	Rbt	branchtipRtRepoLookupErrorRBR#R*RR�(R?R�tbranchesRbt
branchnode((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytnodebranchdict�s
cC@s�g}|j�}y|j|�}Wntjk
rAd}nX|dkrp||j�krp|j|�ntj|dd�S(NtdefaultR�(	RbR�RR�RBR#R*RR�(R?R�R�RbR�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytnodeinbranchs
cC@sAg}|j�}|dkr.|j|�ntj|dd�S(NR�R�(RbR*RR�(R�R�Rb((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytnodebranchnodefaults
cc@s'x ||�D]}i||6Vq
WdS(N((R	RRR#R�tt((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt
_nodenamesgenscC@s+|j|df}tjtd|d|�S(NttagRhR�(R�RRjR�(R?tt1R#Rh((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytshowtagscC@s+|j|df}tjtd|d|�S(NtbookmarkRhR�(R�RRjR�(R?R�R#Rh((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytshowbookmarksc@sRg��j��t|��d��������fd�}tj|�S(NcS@s|d|dj�fS(Nii(RG(titem((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt<lambda>&tc3@sd}�sOx@�j�j�D])\}}}}�j�||f�qWnx�t�d�dt�D]�\}}�dkr�|�kr�dS|d7}|r�d}n!|j��kr�d}nd}it��d6|j�d	6|d
6|j�d6|j	�d6VqhWdS(
NitkeytreverseitclosedtinactivetopentparityRbtstatusR#R`(
t	branchmaptiterbranchesR*tsortedR&R#RDRbRR`(R	tcountR�thsRKR�R�R�(theadsRPR�R?tsortkeyttips(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytentries(s&%%
		


(R�RRRj(R?tstripecountRPR�((R�RPR�R?R�R�s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt
branchentries"s	cC@sC|jd�}tj|jdt�}tj|jd|d|�S(NR2trealfsR�tauditor(tlstripRtpathauditortroottFalset	canonpath(R?R4R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt	cleanpathAscC@sad}d|jkrQ|jd}|jd�}|dkrQ||d}qQntj||�S(NRKR#t:i����i(RutfindRt	revsymbol(R?Rytchangeidtipos((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR�Fs
cC@sXd|jkrT|jd}|jd�}|dkrT|| }tj||�SndS(NR#R�i����(RuR�RR�RB(R?RyR�R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt
basechangectxPs

cC@s�d|jkr!ttd��nt||jd�}d|jkrV|jd}n.d|jkru|jd}nttd��ytj||�|}Wn)tjk
r�|j|d|�}nX|S(NR]sfile not givenR#tfilenodesnode or filenode not giventfileid(	RuRRR�RR�Rt	RepoErrortfilectx(R?RyR4R�R((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR�ZscC@s�|jjd�}|sdSt|�dkr@ttd��ny)tt|djdd��\}}Wn t	k
r�ttd��nXyt
j||�SWn.tj
k
r�}tttj|���nXdS(Nt	linerangeisredundant linerange parameteriR�sinvalid linerange parameter(RutgetallRBRiRRtmaptinttsplitt
ValueErrorRtprocesslinerangeRt
ParseErrorRtbytestr(RyR�tfromlinettolinetexc((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR�ks)

cC@sd|d|fS(Ns%d:%di((R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytformatlinerange|sc#@sn|j|d��tj||�}xC|j||�D]/}t�fd�|dD��|d<|Vq7WdS(NR?c3@s|]}�|VqdS(N((t.0t	successor(R?(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pys	<genexpr>�st
successors(tresourceRtshowsuccsandmarkersttovalueRm(R	tmappingtitemmappingsR�((R?s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt_succsandmarkersgenscC@stjtd|f�S(NRh(RRjR�(R	R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytsuccsandmarkers�sR?R�cc@sv|j|d�}|j|d�}tj||�}x9|D]1}|jd�rit|d�|d<n|Vq=WdS(NR?R�tdivergentnodes(R�RtwhyunstableRvRm(R	R�R?R�R�tentry((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt_whyunstablegen�s
cC@stjtd|f�S(NRh(RRjR�(R	R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��scC@s
d|_|S(N((t	_requires(RR((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt_kwfunc�s	c@s%tj��}i�d6�j�d6t|�d6�j�d6�j�d6�j�d6�j�d6�j�d6�j	�d	6t
d
6tj�j
�dd�d
6td6t��d6t|��d6t|��d6t||�d6t||�d6t�fd��d6t�fd��d6S(NR�RGR#tauthortdescR`textratphasetobsoleteR�R�tinstabilityt
instabilitiesR�RbtinbranchR�ttagst	bookmarksc@s
t��S(N(R�(R	R�(R�(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��R�tparentc@s
t��S(N(R�(R	R�(R�(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��R�tchild(RtbinnodeRGRR_RaR`R�tphasestrR�R�RR�R�R�R�R�R�R�R�R�(R?R�R#((R�s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytcommonentry�s,









c@s�|j}�j��tj��}t|d|�}t�j�||j�}t|��}|j	dt
�fd��dt
��fd��dt
��fd��d|d|�|S(	s�Obtain a dictionary to be used for entries in a changelist.

    This function is called when producing items for the "entries" list passed
    to the "shortlog" and "changelog" templates.
    tchangelogtagt
allparentsc@s
t��S(N(R�(R	R�(R�(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��R�R�c@st��d�S(Ni(R�(R	R�(R�RG(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��R�R�c@st��d�S(Ni(R�(R	R�(R�RG(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��R�tfiles(R?RGRR�R�t
listfilediffsR�tmaxfilesR�tupdateR�(RR�R?tntshowtagsR�R�((R�RGs=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytchangelistentry�s		cc@sf|j}d}xP|D]H}||kr,Pn|d7}t|||�}t|�|d<|VqWdS(s2Emit up to N records for an iterable of revisions.iiR�N(R?R�RD(RtrevstmaxcounttparityfnR?R�RGR�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytchangelistentries�s	

cC@s:d|jkr#tj|jd�Sttj|��SdS(NR#(RuRt	revescapeRRR�(RyR�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytsymrevorshortnode�scc@s�t|�}xut|j��D]a\}}||kr=dnd}|j|i|j�d6|d6|dd6t|�d6�VqWdS(Ntfilenodelinkt
filenolinkR#R]itblocknoR�(Rt	enumerateR�tprocessRRD(R	R�R�R�RRRttemplate((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt
_listfilesgen�s
c
@s�t|jdtj|��}t|jdtj|��}t|�}t|j|j�}|dkrx|j	�}n|j
dd�}d|jjkr�|jjd}nt|||d|�}t
|j�}t|jj||��t|�|�}	td|dt|j|�d|j�d|d|d|d	tjtd
||jf�dt�fd��d
|	d|j|j��tjt|j|���
S(sBObtain a dictionary to be used to render the "changeset" template.tchangesettagtchangesetbookmarkRtstyletdifftsymrevtbasenodetchangesetbranchR�Rhtdiffsummaryc@s
t��S(N(R(R	R�(tdiffstatsgen(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR�R�tdiffstatR.N(R�R?RR�R�R�R�RyRBtp1tconfigRutdiffsRR�tdiffstatgenRRtdictRRRtmappedgeneratorRR�R1Rt	strkwargsR�(
RR�R�t
showbookmarkst
showbranchtbasectxRRR�t	diffstats((Rs=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytchangesetentry�s6cc@sdx7|| D]+}|jdit|�d6|d6�VqWt|�|kr`|jdi�VndS(NtfiledifflinkR#R]tfileellipses(RRRi(R	R�R#tmaxRR((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt_listfilediffsgens)cC@stjtd|||f�S(NRh(RRR"(R�R#R!((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR�scc@s�x�t|d�D]�\}}d||f}|jd�rDd}n6|jd�r\d}n|jd�rtd}nd	}|j|i|d
6|d6|d|d
6d|d6�VqWdS(Nis%d.%dt+tdifflineplust-t
difflineminust@t
difflineattdifflinetlinetlinenosl%stlineids% 8st
linenumber(Rt
startswithR(R	tlinesRtlineidprefixR+tlt
difflinenotltype((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt_prettyprintdifflines#s			c	c@s�|r'tj|j|j�|�}	ntj|j|j��}	tj|jdt�}
|j	�}|j	�}t
|�}
tj||||	d|
�}xt|d�D]\}\}}}}|dkr�|d}ng|D]}|d^q�}xl|D]d\}}|dk	rX|dk	rX|\}}}}tj||f|�sXqqXn|j|�qW|r�tjtd|||f�}it|
�d6|d6|d	6Vq�q�WdS(
NRtoptsitraws
RhR�RR/(RtexactR�tgetcwdtalwaysRRzRR&R#Rt	diffhunksRRBR
thunkinrangetextendRRR4RD(R	R?R�RR�RR�R�R0tmRztnode1tnode2R�R:Rtfctx1tfctx2theaderthunksthR/t	hunkranget	hunklinests1tl1ts2tl2R1((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt	_diffsgen5s4!(
	
R�cC@s=|j|||||j||f}tjtd|dd�S(NRhR�t	diffblock(R?R�RRjRK(RR�RR�RR�R0Rh((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyRVscC@s�|rd|pd}||r)d|p,d7}|r@d|nd}|rVd|nd}i|d6|d6|d6d|d	6|p�dd
6|d6d|d6|p�dd
6S(Nsl%dR�sr%ds%dR!R,t
leftlinenos% 6stleftlinenumbertleftlinetrightlinenotrightlinenumbert	rightline((R!RMRORPRRR,tllnotrlno((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt	_compline[s
c
c@srxk|D]c\}}}}}tj|�}||}	||}
t|	|
�}x]tj|�D]L}td|d||dd|||d||dd|||�Vq^W|	|
krx�tj|||�D]4}td|d|dd||dddd�Vq�Wq|
|	krxOtj|||�D]4}td|ddddd|dd||�Vq/WqqWdS(NR!RMiRORPRR(RtsysbytestmintxrangeRURB(
R	t	leftlinest
rightlinestopcodesR!tllotlhitrlotrhitlen1tlen2R�ti((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt_getcompblockgenks2




cC@s(|||f}tjtd|dd�S(NRhR�tcomparisonline(RRjRc(RYRZR[Rh((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt
_getcompblock�scc@s�tjd||�}|dkrHt|||j��}i|d6Vn;x8|jd|�D]$}t|||�}i|d6Vq[WdS(s>Generator function that provides side-by-side comparison data.iR/R�N(tdifflibtSequenceMatcherRBRetget_opcodestget_grouped_opcodes(R	t
contextnumRYRZReR1toc((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt_comparegen�scC@s(|||f}tjtd|dd�S(NRhR�tcomparisonblock(RRjRl(RjRYRZRh((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytcompare�sc
c@s�tj|itd6�}tjtj|j|d|���}tj|�\}}}}}	x!tr�||||||	fVqaWdS(s3Generator function that provides the diffstat data.tnoprefixR5N(	RRzR�tdiffstatdataRt	iterlinesRtdiffstatsumR&(
RR�RRztstatstmaxnametmaxtotaltaddtotaltremovetotaltbinary((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR�s!	cC@s;t|�\}}}}}}td�t|�||fS(s#Return a short summary of the diff.s5 %d files changed, %d insertions(+), %d deletions(-)
(RDRRi(tstatgenRsRtRuRvRwRx((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR�s	c#@s�t|�\}}�}}}|j�}	�fd�}
d}x�|D]�\}}
}}||	krjdnd}|
|}|d7}|j|i|j�d6|d6|d6|d	6|
|
�d
6|
|�d6t|�d6�VqFWdS(
Nc@s"�dkrdSt|��dS(Niid(tfloat(Rb(Ru(s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytpct�sitdiffstatlinktdiffstatnolinkiR#R]tfilenottotaltaddpctt	removepctR�(RDR�RR(R	R�RyR�RsRtRvRwRxR�R{R~tfilenametaddstremovestisbinaryRR((Rus=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt_diffstattmplgen�s 




cC@s"|||f}tjtd|�S(s5Return a diffstat template for each file in the diff.Rh(RRR�(R�RyR�Rh((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR�stsessionvarscB@s�eZdd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d	�Z
d
�Zd�Zd�Z
d
�Zd�ZRS(t?cC@s||_||_dS(N(t_startt_vars(R>tvarststart((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR@�s	cC@s|j|S(N(R�(R>R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt__getitem__�scC@s||j|<dS(N(R�(R>R�tvalue((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt__setitem__�scC@sttj|j�|j�S(N(R�tcopyR�R�(R>((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt__copy__�scC@s"tj|||�}||jkS(N(RtunwrapvalueR�(R>R	R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytcontains�scC@s%tj|||�}|jj|�S(N(RR�R�Rv(R>R	R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt	getmember�scC@stjtd���dS(Nsnot comparable(RR�R(R>R	R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytgetmin�scC@stjtd���dS(Nsnot comparable(RR�R(R>R	R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytgetmax�scC@stjtd���dS(Nsnot filterable(RR�R(R>R	R�tselect((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytfilter�scc@s\|j}xLt|jj��D]5\}}i|d6tj|�d6|d6Vd}qWdS(NR�R�t	separatort&(R�R�R�R(RR�(R>R	R�R�R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytitermaps�s	"
	cC@stjtd���dS(Ns not displayable without template(RR�R(R>R	R�tsep((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytjoin�scC@s|j|d�S(NR�(R�(R>R	R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytshow�scC@s
t|j�S(N(tboolR�(R>R	R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyttobool�scC@s|jS(N(R�(R>R	R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��s(RWRXR@R�R�R�R�R�R�R�R�R�R�R�R�R�(((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��s													twsgiuicB@seZd�ZRS(cC@sdS(NiP((R>((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt	termwidths(RWRXR�(((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyR��scC@s�g}|jjd�}||jjd�7}xj|D]b\}}|dd!}tj|�}tjd|||f|�}|s�|jjtd�||f�q5ntjd|�}|j	||j
d��}	|j	||j
d��}
|j
d�}d	}|r7x(|j�D]}
|tj|
O}qWny)tj|	|�}	|j
|	|
f�Wq5tjk
r�|jjtd
�||	f�q5Xq5W|S(Ntwebsubtinterhgiis1^s%s(.+)(?:(?<=\\\\)|(?<!\\))%s(.*)%s([ilmsux])*$s#websub: invalid pattern for %s: %s
s(?<!\\)\\%siis"websub: invalid regexp for %s: %s
(RtconfigitemsRtreescapetreRtwarnRtcompiletsubtgrouptuppert__dict__R*R(R?twebsubtablet
websubdefsR�tpatterntunesctdelimRtdelim_retregexptformattflagintflagstflag((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt
getwebsubss8
cC@stj||�tj|�S(N(Rtgetgraphnodecurrenttgetgraphnodesymbol(R?R�((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pytgetgraphnode-s(sapplication/zipRs.zipN(sapplication/x-gzipRs.tar.gzN(sapplication/x-bzip2Rs.tar.bz2N(bt
__future__RR�RfR3R�ti18nRR#RRRtcommonRRRRR�R	R
RRR
RRRRRRRRRtuimodRtutilsRtsortdictRBR'R1R7R:tobjectR;RZRgRmRtR}R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�RRRR"R�R4RKRRURcReRlRnRRR�RtwrappedR�R�R�R�(((s=/usr/lib64/python2.7/site-packages/mercurial/hgweb/webutil.pyt<module>	s�"d			
J							
					
	
						
								$				!						
			6	)