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: //proc/thread-self/root/lib64/python2.7/site-packages/mercurial/templatekw.pyc
�
1�3\c@@sYddlmZddlmZddlmZmZmZmZddl	m
Z
mZmZm
Z
mZmZmZmZmZmZmZmZddlmZejZejZejZejZejZejZd�d�Zd�d�Z d	�Z!id
d6dd
6dd6dd6dd6Z"e"de"d<iZ#ej$e#�Z$e$dddh�d��Z%e$ddddh�d��Z&e$dddh�d��Z'e$dddh�d��Z(e$d dddh�d!��Z)e$d"ddh�d#��Z*e$d$dddh�d%��Z+e$d&dddh�d'��Z,e$d(ddh�d)��Z-e$d*ddh�d+��Z.e$d,dd-dh�d.��Z/e$d/dd-h�d0��Z0e$d1ddh�d2��Z1e2d3�Z3e2d4�Z4d5�Z5e$d6ddd7h�d8��Z6e$d9dddd:d7h�d;��Z7e$d<dd7h�d=��Z8e$d>ddd7h�d?��Z9e$d@ddd7h�dA��Z:e$dBddh�dC��Z;e$dDdddh�dE��Z<dF�Z=dG�Z>dH�Z?e$dIdd��dJ��Z@e$dKdd��dL��ZAe$dMdddd:h�dN��ZBdO�ZCe$dPdddd:h�dQ��ZDe$dRdddd:h�dS��ZEdT�ZFddheF_Ge$d
dddh�dU��ZHe$dVdd-ddh�dW��ZIdX�ZJe$dYdddh�dZ��ZKe$d[ddh�d\��ZLe$d]ddh�d^��ZMe$d_dd`h�da��ZNe$dbddh�dc��ZOe$dddddh�de��ZPe$dfddh�dg��ZQe$dhdd`h�di��ZRe$djddd`d7h�dk��ZSe$dldddh�dm��ZTe$dndddh�do��ZUe$dpddh�dq��ZVe$drddh�ds��ZWe$dtddh�du��ZXe$dvddh�dw��ZYe$dxdddh�dy��ZZe$dzddh�d{��Z[e$d|ddh�d}��Z\e$d~ddh�d��Z]d��Z^e$d�ddh�d���Z_e$d�dddh�d���Z`e$d�dd-h�d���Zae$d�ddh�d���Zbe$d�ddh�d���Zce$d�dd-h�d���Zde$d�dddh�d���Zed��Zfe#jg�Zhd�S(�i(tabsolute_importi(t_(thextnullidtwdiridtwdirrev(tdiffutiltencodingterrorthbisectti18ntobsutiltpatchtpycompatt	registrartscmutilttemplateutiltutil(t
stringutilc@s�|j|d��|j|d��|j|d�}d}|dk	rl|d|7}tj|�d}n	tj}||kr�idddgfd	6||<n||}�j�}|g}x�|r�|j�}||kr�q�n�|�g�j�D]<}	�j	|	�r��j	|	�d
kr�||	�r�|	^q�}
|
r��j
�ddgt|
�D]}	|	^qcf||<q�ny�g�j�D]}||j�^q�}t
|�dkr$|dd|ddkr�t|�\}
}}q7��fd�}t|d
|�\}
}}n|d\}
}}Wn>tk
rx|j|�|jd��j�D��q�nX|
|d|f||<q�W||S(s8return date, distance and name for the latest tag of revtrepotctxtcachet
latesttagst-iitnulli����tlocalic@s8t�jd�j�|dd��}||dgS(Nsonly(%d, %s)ii(tlentrevstrev(txtchangessincetag(RR(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytkeySsRcs@s|]}|j�VqdS(N(R(t.0tp((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pys	<genexpr>_sN(tresourcetNoneRt
stringmatcherRtalwaysRtpopttagsttagtypetdatetsortedtparentsRtmaxtKeyErrortappendtextend(tcontexttmappingtpatternRt	cachenametmatchRRttodottR'R!tptagstpdatetpdisttptagR((RRs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
getlatesttags+sL	 
		
$6)

c@s:i��dkr!t���n���fd�}|S(Nc@s�|�kr�i�|<�j|�}x`|D]U}|j|�}|j|j|��}|of|d�||<|�kr,Pq,q,Wn|�|kr��||Sy&�||j�}|o�|dSWntjk
r�dSXdS(s�looks up all renames for a file (up to endrev) the first
        time the file is given. It indexes on the changerev and only
        parses the manifest if linkrev != changerev.
        Returns rename info for fn at changerev rev.iN(tfiletlinkrevtrenamedtnodeRtLookupErrorR#(tfnRtfltitlrR>(tendrevtrcacheR(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
getrenamedis 

(R#R(RRERG((RERFRs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytgetrenamedfnds
cC@sctj}|d�}ttg|j�D]}|jdd�d^q(tj|�jt���S(s"Return a dict of log column labelssbookmark:    %s
branch:      %s
changeset:   %s
copies:      %s
date:        %s
extra:       %s=%s
files+:      %s
files-:      %s
files:       %s
instability: %s
manifest:    %s
obsolete:    %s
parent:      %s
phase:       %s
summary:     %s
tag:         %s
user:        %s
t:ii(	R
tidentitytdicttzipt
splitlinestsplitR
RtTrue(Rtcolumnsts((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
getlogcolumns�s	2s{rev}:{node|formatnode} tparents{rev}:{node|formatnode}tmanifests{name} ({source})t	file_copys
{key}={value}tenvvars{key}={value|stringescape}textratfilecopytauthortrequiresRcC@s
t||�S(sAlias for ``{user}``(tshowuser(R0R1((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showauthor�stbisectRcC@s:|j|d�}|j|d�}tj||j��S(s'String. The changeset bisection status.RR(R"R	tlabelR?(R0R1RR((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showbisect�stbranchcC@s|j|d�}|j�S(sMString. The name of the branch on which the changeset was
    committed.
    R(R"R`(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showbranch�stbranchescC@s_|j|d�}|j�}|dkrFt||d|gdd�St||dgdd�S(s�List of strings. The name of the branch on which the
    changeset was committed. Will be empty if the branch name was
    default. (DEPRECATED)
    RtdefaultR`tpluralRb(R"R`t
compatlist(R0R1RR`((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowbranches�st	bookmarksc@ss|j|d�}|j|d�}|j�}|j��fd�}t||d|�}t|||tj�S(s{List of strings. Any bookmarks associated with the
    changeset. Also sets 'active', the name of the active bookmark.
    RRc@si|d6�d6�d6S(Ntbookmarktactivetcurrent((tv(Ri(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt<lambda>�tRh(R"Rgt_activebookmarkt_showcompatlistt_hybridR
RJ(R0R1RRRgtmakemaptf((Ris:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showbookmarks�s	tchildrencC@sZ|j|d�}g|j�D]}d|j�|f^q}t||d|dd�S(s/List of strings. The children of the changeset.Rs%d:%sRttelementtchild(R"RtRRe(R0R1Rtcctxt	childrevs((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowchildren�s/tcurrentbookmarkcC@s
t||�S(sUString. The active bookmark, if it is associated with the changeset.
    (DEPRECATED)(tshowactivebookmark(R0R1((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowcurrentbookmark�stactivebookmarkcC@sM|j|d�}|j|d�}|j}|rI||j�krI|SdS(sDString. The active bookmark, if it is associated with the changeset.RRRm(R"RnRg(R0R1RRRi((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyR{�s	R)cC@s+|j|d�}tj|j�dd�S(s<Date information. The date when the changeset was committed.Rtshowfmts%d.0%d(R"RR)(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowdate�stdesccC@s|j|d�}|j�}t|tj�rLtjtj|�j��St|tj�rqtj|j��S|j�SdS(s.String. The text of the changeset description.RN(	R"tdescriptiont
isinstanceRtlocalstrttolocalt	fromlocaltstriptsafelocalstr(R0R1RRQ((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowdescription�stdiffstattuicC@s�|j|d�}|j|d�}tj|itd6�}|jd|�}tjtj|��}tj	|�\}}}	}
}dt
|�|	|
fS(siString. Statistics of changes with the following format:
    "modified files: +added/-removed lines"
    R�Rtnoprefixtoptss%d: +%d/-%d(R"RtdiffalloptstFalsetdiffRtdiffstatdataRt	iterlinestdiffstatsumR(R0R1R�RtdiffoptsR�tstatstmaxnametmaxtotaltaddstremovestbinary((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowdiffstatstenvvarsc@s\|j|d�}|j��tj�fd�t��D���t||d�dd�S(s5A dictionary of environment variables. (EXPERIMENTAL)R�c3@s|]}|�|fVqdS(N((R tk(tenv(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pys	<genexpr>sRVRdR�(R"texportableenvironRtsortdictR*t
compatdict(R0R1R�((R�s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowenvvarss%textrasc@s�|j|d�}|j��tj�fd�t��D����fd�}g�D]}||�^qY}t||d|dd�}t|�|�fd��S(sRList of dicts with key, value entries of the 'extras'
    field of this changeset.Rc3@s|]}|�|fVqdS(N((R R�(R�(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pys	<genexpr>!sc@si|d6�|d6S(NRtvalue((R�(R�(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl"RmRWRdR�c@sd|tj�|�fS(Ns%s=%s(Rt	escapestr(R�(R�(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl&Rm(R"RWRR�R*RoRp(R0R1RRqR�tcRr((R�s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showextrass%cC@s�|j|d�}|j|d�}d|ks@|d|kr~|j�j|d|d|d|�}||d<||d<n|dS(NRtrevcachet
filestatust
filestatusalltlistignoredt	listcleantlistunknown(R"tp1tstatus(R0R1tlistallRR�tstat((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt_getfilestatus(s	

c@s�|j|d�}d|ks.|d|kr�t||d|�}i|d<}xFttjd�|�D])\�}|j�fd�|D��qjWn|dS(NR�t
filestatusmapR�R�sMAR!?ICc3@s|]}|�fVqdS(N((R Rr(tchar(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pys	<genexpr>8s(R"R�RLR
titerbytestrtupdate(R0R1R�R�R�tstatmaptfiles((R�s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt_getfilestatusmap2s%$cC@s/t||�}||}tj||||�S(N(R�Rtcompatfileslist(R0R1tnametindexR�R�((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt_showfilesbystat;s
t	file_addsR�cC@st||dd�S(s/List of strings. Files added by this changeset.tfile_addi(R�(R0R1((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowfileadds@stfile_copiesRc	C@s�|j|d�}|j|d�}|j|d�}|j|d�jd�}|dkr�d|kr|t|�|d<ng}|d}xH|j�D]7}|||j��}|r�|j||f�q�q�Wntj||d|�S(	sLList of strings. Files copied in this changeset with
    their sources.
    RRRR�tcopiesRGRUN(	R"tgetR#RHR�RR.Rtcompatfilecopiesdict(	R0R1RRRR�RGRAtrename((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowfilecopiesEs
tfile_copies_switchcC@s7|j|d�jd�pg}tj||d|�S(s^List of strings. Like "file_copies" but displayed
    only if the --copied switch is set.
    R�R�RU(R"R�RR�(R0R1R�((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowfilecopiesswitch^s!t	file_delscC@st||dd�S(s1List of strings. Files removed by this changeset.tfile_deli(R�(R0R1((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowfiledelsgst	file_modscC@st||dd�S(s2List of strings. Files modified by this changeset.tfile_modi(R�(R0R1((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowfilemodslsR�cC@s.|j|d�}tj||d|j��S(sRList of strings. All files modified, added, or removed by this
    changeset.
    RR<(R"RR�R�(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt	showfilesqst	graphnodecC@s1|j|d�}|j|d�}t||�S(sUString. The character representing the changeset node in an ASCII
    revision graph.RR(R"tgetgraphnode(R0R1RR((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showgraphnodeyscC@st||�pt|�S(N(tgetgraphnodecurrenttgetgraphnodesymbol(RR((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyR��scC@sJ|jj�}|dtkr,|d }n|j�|krBdSdSdS(Nit@Rm(tdirstateR+RR?(RRtwpnodes((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyR��s
cC@s8|j�rdS|j�r dS|j�r0dSdSdS(NRt*Rto(tobsoletet
isunstabletclosesbranch(R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyR��st
graphwidthcC@sdS(s?Integer. The width of the graph drawn by 'log --graph' or zero.i((R0R1((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowgraphwidth�sR�cC@stjtd���dS(s7Integer. The current iteration of the loop. (0 indexed)scan't use index in this contextN(RtAbortR(R0R1((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt	showindex�st	latesttagcC@st||d�S(s�List of strings. The global tags on the most recent globally
    tagged ancestor of this changeset.  If no such tags exist, the list
    consists of the single string "null".
    N(tshowlatesttagsR#(R0R1((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showlatesttag�sc@s\t|||���fd�}�d}t||d|dd�}t|||tj�S(s4helper method for the latesttag keyword and functionc@s$itd6�dd6|d6|d6S(NtchangesitdistanceR�ttag(t_showchangessincetag(Rk(R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl�siR�t	separatorRI(R;RoRpR
RJ(R0R1R2RqR'Rr((Rs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyR��s

tlatesttagdistancecC@st||�dS(s(Integer. Longest path to the latest tag.i(R;(R0R1((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowlatesttagdistance�stchangessincelatesttagcC@s=t||�dd}|j|i|d6�}t||�S(s-Integer. All ancestors not in the latest tag.iiR�(R;t
overlaymapR�(R0R1R�((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowchangessincelatesttag�scC@s�|j|d�}|j|d�}d}|j�g}|j|d�}|j�dkr�d}g|j�D]}|j�^qp}nt|jd||��|S(NRRiR�is
only(%ld, %s)(R"RtsymbolR#R+RR(R0R1RRtoffsetRR�R!((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyR��s(c@s�|j|d�}|j|d�}|j�}|dkrKt}t�n|jj|��t|��|j|i�d6�d6�}|j	d|�}t
j|d|��fd��S(NRRRR?RTc@si�d6�d6S(NRR?((R(tmhextmrev(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl�Rm(R"tmanifestnodeR#RRtmanifestlogRRR�tprocessRt
hybriditem(R0R1RRtmnodeRr((R�R�s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowmanifest�s	 tobsfatecC@s�t||�}|j|d�}|j|d�}g}xM|j||�D]9}tj|||d|dtj�}|j|�qLWt||d|�S(NR�Rt
successorstmarkerstfate(	tshowsuccsandmarkersR"ttovalueRtobsfateprinterRtformatchangeidR.Re(R0R1tsuccsandmarkersR�RtvaluesRRk((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowobsfate�scC@se|j|d�}|j|d�}|j|}|j||j��}t|||j|d|�S(s<helper method to generate a template keyword for a namespaceRRRd(R"tnamesR?Rettemplatename(R0R1t	namespaceRRtnsR((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt	shownames�s
t
namespacesc	@s�|j|d��|j|d�}tj��d�}xl�jj�D][\}}|j�|j��}t||d|�}t||||�tj	��|<qIWt||dt
���}��fd�}t|�|tj	�S(sBDict of lists. Names attached to this changeset per
    namespace.RRc@s
�fd�S(Nc@si|d6|�j6S(NR�(R(Rk(R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRlRm((R((Rs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytmakensmapfnsR�Rc@s8i|d6�|d6�j|jd6�j|jd6S(NRRtbuiltint	colorname(RR	R
(R(RR(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRqs
(R"RR�Rt	iteritemsR?RoRpR
RJtlist(	R0R1RRR�RRRrRq((RRs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshownamespacess	&R?cC@s|j|d�}|j�S(sUString. The changeset identification hash, as a 40 hexadecimal
    digit string.
    R(R"R(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshownode#sR�cC@s&|j|d�}|j�r"dSdS(s9String. Whether the changeset is obsolete. (EXPERIMENTAL)RR�Rm(R"R�(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowobsolete+stpathtfctxcC@s|j|d�}|j�S(sDString. Repository-absolute path of the current file. (EXPERIMENTAL)R(R"R(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowpath3stpeerurlsc@sn|j|d�}|jj�tjd�t�j��D����fd�}td�|�fd��S(scA dictionary of repository locations defined in the [paths] section
    of your configuration file.Rcs@s$|]\}}||jfVqdS(N(trawloc(R R�R!((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pys	<genexpr>@sc@sK�|}i|d6|jd6}|jd�t|jj��D��|S(NR�turlcs@s!|]\}}||fVqdS(N((R R�Rk((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pys	<genexpr>Ds(RR�R*t
suboptionsR(R�R!td(tpaths(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRqAs
&c@sd|�|fS(Ns%s=%s((R�(turls(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRlFRmN(	R"R�RRR�R*RRpR#(R0R1RRq((RRs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowpeerurls9s
%tpredecessorsc@sy|j|d��|j|d�}ttj�|j���}tjt|�}td|�fd��fd��S(sBReturns the list of the closest visible successors. (EXPERIMENTAL)RRc@si�|d6S(NR((R(R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRlQRmc@stj�|�S(N(RR�(R(R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRlRRmN(
R"R*RtclosestpredecessorsR?R
tmaplistRRpR#(R0R1RR((Rs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowpredecessorsHs	treporootcC@s|j|d�}|jS(s5String. The root directory of the current repository.R(R"troot(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowreporootTstsizecC@s|j|d�}|j�S(s:Integer. Size of the current file in bytes. (EXPERIMENTAL)R(R"R"(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowsizeZsR�cC@sttj||d�}tj|||�}|s4dSt||�}||krgt||dt�}n|j|�S(s7String. Status code of the current file. (EXPERIMENTAL)RNR�(Rt	runsymbolt	stringifyR�ROR�(R0R1RR�((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showstatusastsuccessorssetsc	@s�j�d���j�d�}|j�s4dStj�|j�dt�}g|D]%}g|D]}t|�^qf^qY}g}xB|D]:}td
|�fd��fd��}|j	|�q�W��fd���fd�}t||�|d	�t
j�S(s�Returns a string of sets of successors for a changectx. Format used
    is: [ctx1, ctx2], [ctx3] if ctx has been split into ctx1 and ctx2
    while also diverged into ctx3. (EXPERIMENTAL)RRRmtclosestc@si�|d6S(NR((R(R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl|Rmc@stj�|�S(N(RR�(R(R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl}Rmc@stj��|�S(N(RR%(R(R0R1(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytrender�sc3@s"dj�fd�|D��VdS(Ns; c3@s|]}�|�VqdS(N((R R(R)(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pys	<genexpr>�s(tjoin(tdata(R)(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytgen�scS@si|d6S(Ntsuccessorset((R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl�RmN(R"R�RR'R?RORRpR#R.R
RJ(	R0R1RtssetstsstnR+thR,((R0R1R)Rs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowsuccessorssetsms2
R�c@s�|j|d��|j|d�}tj�|�}|dkrKg}ng}x$|D]}|d}g|D]}t|�^qo}td|�fd��fd��}g}x�|dD]�}	t|	d�}
td�|	d	D��}d}|	d
dk	r"td�|	d
D��}n|
|f|	dd
!|f|	d
}
|j|
�q�W|ji|d6|d6�qXWtj	|�S(s�Returns a list of dict for each final successor of ctx. The dict
    contains successors node id in "successors" keys and the list of
    obs-markers from ctx to the set of successors in "markers".
    (EXPERIMENTAL)
    RRR�c@si�|d6S(NR((R(R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl�Rmc@stj�|�S(N(RR�(R(R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl�RmR�ics@s|]}t|�VqdS(N(R(R R0((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pys	<genexpr>�siics@s|]}t|�VqdS(N(R(R R0((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pys	<genexpr>�siiN(
R"RtsuccessorsandmarkersR#RRpttupleR.Rtmappinglist(R0R1RRR+RCR�R0tfinalmarkerstmthexprecthexsucst
hexparentst	newmarker((Rs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyR��s.	

	&tp1revcC@s"|j|d�}|j�j�S(syInteger. The repository-local revision number of the changeset's
    first parent, or -1 if the changeset has no parents.R(R"R�R(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt	showp1rev�stp2revcC@s"|j|d�}|j�j�S(s�Integer. The repository-local revision number of the changeset's
    second parent, or -1 if the changeset has no second parent.R(R"tp2R(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt	showp2rev�stp1nodecC@s"|j|d�}|j�j�S(s�String. The identification hash of the changeset's first parent,
    as a 40 digit hexadecimal string. If the changeset has no parents, all
    digits are 0.R(R"R�R(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showp1node�stp2nodecC@s"|j|d�}|j�j�S(s�String. The identification hash of the changeset's second
    parent, as a 40 digit hexadecimal string. If the changeset has no second
    parent, all digits are 0.R(R"R?R(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showp2node�sR+c@s�|j|d��|j|d�}tj�|�}g|D]}|j�^q=}g|D]9}d|j�fd|j�fd|j�fg^q\}t||d|�}t||�fd��fd�d	t�S(
s�List of strings. The parents of the changeset in "rev:node"
    format. If the changeset has only one "natural" parent (the predecessor
    revision) nothing is shown.RRRR?tphaseRSc@si�|d6S(NR((R(R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl�Rmc@stj�|�S(N(RR�(R(R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl�Rmtkeytype(	R"RtmeaningfulparentsRRtphasestrRoRptint(R0R1RtpctxsR!tprevsR+Rr((Rs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowparents�sCREcC@s|j|d�}|j�S(s!String. The changeset phase name.R(R"RH(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt	showphase�stphaseidxcC@s|j|d�}|j�S(s.Integer. The changeset phase index. (ADVANCED)R(R"RE(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowphaseidx�sRcC@s|j|d�}tj|�S(s8Integer. The repository-local changeset revision number.R(R"Rtintrev(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowrev�sc@sf|j|d��t||�g|D]}d|^q%�}t||��fd�tjdt�S(sWhelper to generate a list of revisions in which a mapped template will
    be evaluatedRs%dc@si|�6�|d6S(NR((R(R�R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRl�RmRF(R"RoRpR
RJRI(R0R1R�RtrRr((R�Rs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowrevslist�s
,	tsubreposcC@s�|j|d�}|j}|s4t||dg�S|j�djpJi}g}x>|D]6}||ks�||||krZ|j|�qZqZWx*|D]"}||kr�|j|�q�q�Wt||dt|��S(s:List of strings. Updated subrepositories in the changeset.Rtsubrepoi(R"tsubstateReR+R.R*(R0R1RRVt	psubstateRTtsub((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowsubrepos�s	
 
R'cC@st||d�S(s8List of strings. Any tags associated with the changeset.R'(R(R0R1((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowtagsst	termwidthcC@s|j|d�}|j�S(s+Integer. The width of the current terminal.R�(R"R[(R0R1R�((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showtermwidthstusercC@s|j|d�}|j�S(s/String. The unmodified author of the changeset.R(R"R](R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyR[st
instabilitiescC@s1|j|d�}t||d|j�dd�S(sYList of strings. Evolution instabilities affecting the changeset.
    (EXPERIMENTAL)
    RtinstabilityRdR^(R"ReR^(R0R1R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowinstabilities"st	verbositycC@s=|j|d�}|jrdS|jr,dS|jr9dSdS(sOString. The current output verbosity in 'debug', 'quiet', 'verbose',
    or ''.R�tdebugtquiettverboseRm(R"t	debugflagRcRd(R0R1R�((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
showverbosity+s			twhyunstablec	@s�|j|d��|j|d�}d��tj�|�}xw|D]o}|jd�rF|d}tdg|D]}|j�^qr�fd���fd��}||d<qFqFWd}tj|d|d	d
�S(sRList of dicts explaining all instabilities of a changeset.
    (EXPERIMENTAL)
    RRcS@sdtj|�|j�fS(Ns%s (%s)(RR�RH(R((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt
formatnodeAstdivergentnodesc@si�|d6S(NR((R(R(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRlJRmc@s��|�S(N((R(RhR(s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyRlKRmsM{instability}:{if(divergentnodes, " ")}{divergentnodes} {reason} {node|short}ttmpltseps
N(	R"RRgR�RpR#RRR5(	R0R1RtentriestentrytdnodestdnodetdnhybridRj((RhRs:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytshowwhyunstable9s	

"cC@s.x'|jj�D]\}}|t|<qWdS(s6Load template keyword from specified registrarobj
    N(t_tableRtkeywords(R�textnametregistrarobjR�tfunc((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pytloadkeywordRsN(((it
__future__RR
RR?RRRRRmRRRR	RRR
RRRRtutilsRthybridRpt
hybriddictt
hybridlistR�ReRoR#R;RHRRtdefaulttemplRsttemplatekeywordR\R_RaRfRsRyR|R{RR�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�R�t	_requiresR�RRR
RRRRRR!R#R&R2R�R=R@RBRDRLRMRORQRSRYRZR\R[R`RfRqRwRt
i18nfunctions(((s:/usr/lib64/python2.7/site-packages/mercurial/templatekw.pyt<module>s�"R						9 	
!
!
!!

!


		!		!!!				
$	$$	!$		!!$!!)!		!	!