403Webshell
Server IP : 74.208.236.52  /  Your IP : 216.73.216.240
Web Server : Apache
System : Linux infong527 4.4.400-icpu-115 #2 SMP Mon Jul 6 08:15:05 UTC 2026 x86_64
User : u44043973 ( 5404757)
PHP Version : 8.4.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /kunden/kunden/usr/lib/python3/dist-packages/mercurial/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /kunden/kunden/usr/lib/python3/dist-packages/mercurial/__pycache__/templatefuncs.cpython-313.pyc
�

6�h�x���SSKJr SSKrSSKrSSKJr SSKJr SSKJ	r	J
r
JrJrJ
r
JrJrJrJrJrJrJrJrJrJrJr SSKJrJr \R:r\R<r\R>r\R@r \RBr!\RDr"\RFr#\RHr$0r%\RL"\%5r&\&"S5S	5r'\&"S
SS9S
5r(\&"SSS1S9S5r)\&"SSSS1S9S5r*\&"SS1S9S5r+\&"S5S5r,\&"S5S5r-\&"SS1S9S5r.\&"S S!S1S9S"5r/\&"S#S$S9S%5r0\&"S&5S'5r1\&"S(5S)5r2\&"S*S1S9S+5r3\&"S,S1S9S-5r4\&"S.S1S9S/5r5S0r6\&"S15S25r7\&"S35S45r8\&"S55S65r9\&"S75S85r:\&"S9S1S9S:5r;\&"S;5S<5r<\&"S=5S>5r=\&"S?5S@5r>\&"SA5SB5r?\&"SC5SD5r@\&"SE5SF5rA\&"SG5SH5rB\&"SI5SJ5rC\&"SK5SL5rD\&"SMS!1S9SN5rE\&"SOS!S1S9SP5r\&"SQ5SR5rF\&"SS5ST5rG\&"SUSVS9SW5rH\&"SXS!S1S9SY5rI\&"SZ5S[5rJ\&"S\5S]5rK\&"S^5S_5rL\&"S`SaS!S1S9Sb5rM\&"Sc5Sd5rNSerO\%R�5rQg)f�)�annotationsN�)�_)�bin)�color�dagop�diffutil�encoding�error�minirst�obsutil�pycompat�	registrar�revset�
revsetlang�scmutil�templatefilters�
templatekw�templateutil�util)�dateutil�
stringutilsdate(date[, fmt])c�B�S[U5s=::aS::d!O [R"[S55e[	UUUS[S55nSn[U5S:Xa[XUS5nUc[R"U5$[R"X45$)z�Format a date. The format string uses the Python strftime format.
The default is a Unix date format, including the timezone:
"Mon Sep 04 15:13:13 2006 0700".r�s!date expects one or two argumentsrsdate expects a date informationN)�lenr�
ParseErrorr�evaldate�
evalstringr�datestr)�context�mapping�args�date�fmts     �9/usr/lib/python3/dist-packages/mercurial/templatefuncs.pyr#r#4s���

��T���a�����q�!E�F�G�G�����Q��	�
,�-��D��C�
�4�y�A�~���4��7�3��
�{�����%�%�����*�*�sdict([[key=]value...])s*args **kwargs)�argspecc��^^�[R"5nUSH}n[R"U5nU(d[R
"[
S55eXS;dXRS;a"[R
"[
S5U-5e[TTU5X5'M URUU4SjUSR555 [R"U5$)zrConstruct a dict from key-value pairs. A key may be omitted if
a value expression can provide an unambiguous name.�argssdict key cannot be inferredskwargss!duplicated dict key '%s' inferredc3�F># �UHupU[TTU54v� M g7f�N)�evalfuncarg)�.0�k�vr r!s   ��r%�	<genexpr>�dict_.<locals>.<genexpr>[s(�����+�D�A�
�K���!�,�-�+�s�!)r�sortdictr�findsymbolicnamerrrr,�update�items�
hybriddict)r r!r"�datar/r.s``    r%�dict_r8Ms�����=�=�?�D�
�'�]���)�)�!�,����"�"�1�%C�#D�E�E��9��)�_�,��"�"�1�%I�#J�Q�#N�O�O��g�w��2���
�	�K�K����O�)�)�+����"�"�4�(�(r&s)diff([includepattern [, excludepattern]])�ctx�ui)�requiresc	�d^^^�[T5S:�a[R"[S55eUUU4SjnTR	TS5nTR	TS5n[
R"U5nURUR/U"S5U"S55US9nS	RU5$)
z?Show a diff, optionally
specifying files to include or exclude.rs(diff expects zero, one, or two argumentsc�v>�U[T5:a([TTTU5R5nU(aU/$/$r+)rr�strip)�i�sr"r r!s  ���r%�getpatterns�diff.<locals>.getpatternsls8����s�4�y�=��7�G�T�!�W�5�;�;�=�A���s�
��	r&r9r:rr)�match�optsr&)
rrrr�resourcer	�diffallopts�diffrC�join)r r!r"rA�ctx�ui�diffopts�chunkss```     r%rGrGbs�����4�y�1�}����q�!L�M�N�N���
�
�7�F�
+�C�	�	�	�'�5�	)�B��#�#�B�'�H�
�X�X��i�i��K��N�K��N�;�(���F��8�8�F��r&sextdata(source)�source�cache)r'r;c�X�SU;a[R"[S55e[XUS5nU(di[R
"US5nU(a*[R"[S5[S5U-S9e[R"[S55eUR
US5RS05nUR
US5nX5;aXSnO)[R"UR5U5=ouU'URUR5S	5$)
zBShow a text read from the specified extdata source. (EXPERIMENTAL)rMsextdata expects one argumentsempty data source specifiedsdid you mean extdata('%s')?��hintrNsextdatar9r&)
rrrrrr3rE�
setdefaultr�
extdatasource�repo�get�rev)r r!r"�source�sym�cacherIr7s        r%�extdatarZ}s��
������q�!@�A�B�B�
��$�y�/�
:�F���+�+�D��O�<����"�"��0�1��5�6��<��
�
�"�"�1�%C�#D�E�E����W�h�/�:�:�:�r�J�E�
�
�
�7�F�
+�C�
���}��&�4�4�S�X�X�Z��H�H��V�}��8�8�C�G�G�I�s�#�#r&sfiles(pattern)c�(�[U5S:Xd[R"[S55e[	XUS5nURUS5nUR
U/5n[URU55n[R"XSU5$)zQAll files of the current changeset matching the pattern. See
:hg:`help patterns`.rsfiles expects one argumentrr9sfile)rrrrrrErC�list�matchesr�compatfileslist)r r!r"�rawrI�m�filess       r%rara�s���t�9��>����q�!>�?�@�@�
�W�t�A�w�
/�C�
�
�
�7�F�
+�C��	�	�3�%��A�����Q�� �E��'�'��'�5�I�Ir&s1fill(text[, width[, initialident[, hangindent]]])c��S[U5s=::aS::d!O [R"[S55e[	XUS5nSnSnSnS[U5s=::aS::a<O O9[UUUS[S55n[	XUS5n[	XUS	5n[R"X4XV5$![a N#f=f)
zFFill many
paragraphs with optional indentation. See the "fill" filter.r�s"fill expects one to four argumentsr�Lr&rsfill expects an integer width�)	rrrrr�evalinteger�
IndexErrorr�fill)r r!r"�text�width�
initindent�
hangindents       r%rhrh�s���
��T���a�����q�!F�G�H�H��g��Q��0�D��E��J��J��C��I���������G�
�.�/�
��	�#�G�d�1�g�>�J�#�G�d�1�g�>�J�����Z�D�D���	��	�s�B6�6
C�Csfilter(iterable[, expr])c�^^^�S[T5s=::aS::d!O [R"[S55e[	TTTS5n[T5S:XaUU4SjnOUUU4SjnURTTU5$)zoRemove empty elements from a list or a dict. If expr specified, it's
applied to each element to test emptiness.rrs#filter expects one or two argumentsrc�(>�URTT5$r+)�tobool)�wr r!s ��r%�select�filter_.<locals>.select�s����8�8�G�W�-�-r&c��>�[U[R5(d[R"[S55eTR
TURT55n[TUTS5$)Nsnot filterable by expressionr)	�
isinstancer�mappablerrr�
overlaymap�tomap�evalboolean)rp�lmr"r r!s  ���r%rqrr�s[����a��!6�!6�7�7��&�&�q�)H�'I�J�J��#�#�G�Q�W�W�W�-=�>�B��w��D��G�4�4r&)rrrr�evalwrapped�filter)r r!r"�iterablerqs```  r%�filter_r}�si���
��T���a�����q�!G�H�I�I��7�G�T�!�W�5�H�
�4�y�A�~�	.�
	5��?�?�7�G�V�4�4r&sformatnode(node)c���[U5S:wa[R"[S55eUR	US5n[XUS5nUR(aU$[R"U5$)z;Obtain the preferred form of a changeset hash. (DEPRECATED)rsformatnode expects one argumentr:r)	rrrrrEr�	debugflagr�short)r r!r"rJ�nodes     r%�
formatnoder��se���4�y�A�~����q�!C�D�E�E�	�	�	�'�5�	)�B��g��Q��0�D�	�|�|���� � ��&�&r&smailmap(author)�repoc�l�[U5S:wa[R"[S55e[	XUS5nURUS5nURUS5nSU;a4URRS5n[R"U5US'[R"USU5$)zJReturn the author, updated according to the value
set in the .mailmap filersmailmap expects one argumentrrNr�smailmaps.mailmap)rrrrrrE�wvfs�tryreadr�parsemailmap�mapname)r r!r"�authorrYrTr7s       r%�mailmapr��s����4�y�A�~����q�!@�A�B�B�
��$�q�'�
2�F����W�h�/�E����G�W�-�D�����y�y� � ��-��&�3�3�D�9��j�����e�J�/��8�8r&s@pad(text, width[, fillchar=' '[, left=False[, truncate=False]]])s!text width fillchar left truncatec��SU;dSU;a[R"[S55e[UUUS[S55n[	XUS5nSnSnSnSU;aQ[	XUS5n[[R"U55S:wa[R"[S	55eS
U;a[XUS
5nSU;a[XUS5nU[R"[R"U55-
nUS:a0U(a)[R"[R"U5X6S
9$US::aU$U(aXx-U-$XGU--$)zPad text with a
fill character.stextswidths#pad() expects two to four argumentsspad() expects an integer widthF� sfillcharrs%pad() expects a single fill charactersleftstruncater)�leftside)rrrrfrrr�stripeffectsrxr
�colwidth�trim)	r r!r"rjri�truncate�left�fillchar�	fillwidths	         r%�padr��sS���d��h�d�2����q�!G�H�I�I�����X��	�
+�,�
�E��g��W�
�6�D��H��D��H��d���g��[�0A�B���u�!�!�(�+�,��1��"�"�1�%M�#N�O�O��$���7�T�'�]�;���d���w��k�1B�C����)�)�%�*<�*<�T�*B�C�C�I��1�}���}�}�U�/�/��5�u�L�L��A�~�����#�d�*�*���*�*�*r&s&indent(text, indentchars[, firstline])c��S[U5s=::aS::d!O [R"[S55e[	XUS5n[	XUS5nUn[U5S:Xa[	XUS5n[
R"X4US9$)z�Indents all non-empty lines
with the characters given in the indentchars string. An optional
third parameter will override the indent for the first line only
if present.rres'indent() expects two or three argumentsrr)�	firstline)rrrrrr�indent)r r!r"rir�r�s      r%r�r�+s��
��T���a�����q�!K�L�M�M��g��Q��0�D�
��$�q�'�
2�F��I�
�4�y�A�~��w��a��9�	��!�!�$�)�D�Dr&sget(dict, key)c�J�[U5S:wa[R"[S55e[	XUS5n[XUS5nUR
XU5$![Ra.n[S5n[R"[U5US9eSnAff=f)z�Get an attribute/key from an object. Some keywords
are complex types. This function allows you to obtain the value of an
attribute on these types.rsget() expects two argumentsrrs&get() expects a dict as first argumentrPN)rrrrrz�
evalrawexp�	getmember�bytes)r r!r"�dictarg�key�errrQs       r%rUrU?s���
�4�y�A�~����q�!?�@�A�A��'�D��G�4�G�
�W�t�A�w�
/�C�6�� � ��3�7�7�����6��:�;�����u�S�z��5�5��6�s�A � B"�4)B�B"s config(section, name[, default])c�\�URUS5Rn[XX#[5$)z5Returns the requested hgrc config option as a string.r:)rE�config�_configr�r r!r"�fns    r%r�r�Rs+��
�	�	�'�5�	)�	0�	0�B��7�T�z�:�:r&s$configbool(section, name[, default])c�\�URUS5Rn[XX#[5$)z6Returns the requested hgrc config option as a boolean.r:)rE�
configboolr�rxr�s    r%r�r�Ys+��
�	�	�'�5�	)�	4�	4�B��7�T�{�;�;r&s#configint(section, name[, default])c�\�URUS5Rn[XX#[5$)z7Returns the requested hgrc config option as an integer.r:)rE�	configintr�rfr�s    r%r�r�`s+��
�	�	�'�5�	)�	3�	3�B��7�T�{�;�;r&c��S[U5s=::aS::d!O [R"[S55e[	XUS5n[	XUS5n[U5S:XaU"XUS5nU"XVU5$U"XV5$)Nrres%config expects two or three argumentsrr)rrrr�evalstringliteral)r r!r"�configfn�	defaultfn�section�name�defaults        r%r�r�gs��
��T���a�����q�!I�J�K�K�
 ��$�q�'�:�G��W�t�A�w�7�D�
�4�y�A�~��G�d�1�g�6����w�/�/���&�&r&sif(expr, then[, else])c��S[U5s=::aS::d!O [R"[S55e[	XUS5nU(a[XUS5$[U5S:Xa[XUS5$g)z;Conditionally execute based on the result of
an expression.rres!if expects two or three argumentsrrN)rrrrrxr�)r r!r"�tests    r%�if_r�wsq��
��T���a�����q�!E�F�G�G��w��a��1�D���'�D��G�4�4�	�T��a���'�D��G�4�4�
r&s*ifcontains(needle, haystack, then[, else])c�t�S[U5s=::aS::d!O [R"[S55e[	XUS5n[XUS5nUR
XU5nU(a[XUS5$[U5S:Xa[XUS5$g![Ra SnNMf=f)	zJConditionally execute based
on whether the item "needle" is in "haystack".rercs*ifcontains expects three or four argumentsrrFrN)rrrrrzr��contains)r r!r"�haystack�needle�founds      r%�
ifcontainsr��s���
��T���a�����q�!N�O�P�P��7�T�!�W�5�H���G�d�1�g�6���!�!�'�F�;��
��'�D��G�4�4�	�T��a���'�D��G�4�4�
���������s�!B�B7�6B7s ifeq(expr1, expr2, then[, else])c��S[U5s=::aS::d!O [R"[S55e[	XUS5n[	XUS5nX4:Xa[XUS5$[U5S:Xa[XUS5$g)z>Conditionally execute based on
whether 2 items are equivalent.rercs$ifeq expects three or four argumentsrrrN)rrrrrr�)r r!r"r�rCs     r%�ifeqr��s���
��T���a�����q�!H�I�J�J��g��Q��0�D��w��a��1�E��}��'�D��G�4�4�	�T��a���'�D��G�4�4�
r&sjoin(list, sep)c���S[U5s=::aS::d!O [R"[S55e[	XUS5nSn[U5S:�a[XUS5nUR
XU5$)z&Join items in a list with a delimiter.rrs!join expects one or two argumentsrr�)rrrrrzrrH)r r!r"�joinset�joiners     r%rHrH�sm��
��T���a�����q�!E�F�G�G��'�D��G�4�G�
�F�
�4�y�1�}��G�d�1�g�6���<�<��&�1�1r&slabel(label, expr)c���[U5S:wa[R"[S55eUR	US5n[XUS5n[
XUS5nURXE5$)z�Apply a label to generated content. Content with a label
applied can result in additional post-processing, such as
automatic colorization. In order to receive effects, labels must
have a dot, such as `log.secret` or `branch.active`.rslabel expects two argumentsr:rr)rrrrrErr��label)r r!r"rJ�thingr�s      r%r�r��si���4�y�A�~����q�!?�@�A�A�	�	�	�'�5�	)�B��w��a��1�E�
�g��Q��8�E�
�8�8�E�!�!r&slatesttag([pattern])c���[U5S:�a[R"[S55eSn[U5S:Xa[	XUS5n[
R"XU5$)z�The global tags matching the given pattern on the
most recent globally tagged ancestor of this changeset.
If no such tags exist, the "{tag}" template resolves to
the string "null". See :hg:`help revisions.patterns` for the pattern
syntax.
rs&latesttag expects at most one argumentNr)rrrrrr�showlatesttags)r r!r"�patterns    r%�	latesttagr��sY���4�y�1�}����q�!J�K�L�L��G�
�4�y�A�~��W�t�A�w�7���$�$�W�w�?�?r&slocaldate(date[, tz])c�>�S[U5s=::aS::d!O [R"[S55e[	UUUS[S55n[U5S:�aXSn[XUS5n[
U[5(a![R"U5upFU(aSnUc
[U5nOO[R"5Sn[R"USU45$![[4a  [R"[S55ef=f)zEConverts a date to the specified timezone.
The default is local date.rrs&localdate expects one or two argumentsrs$localdate expects a date informationNslocaldate expects a timezone)rrrrrr,rtr�r�
parsetimezone�int�	TypeError�
ValueError�makedaterr#)r r!r"r#�tzoffset�tz�	remainders       r%�	localdater��s��
��T���a�����q�!J�K�L�L�����Q��	�
1�2��D��4�y�A�~���
��4��7�
3���b�%� � �"*�"8�"8��"<��H������
K��r�7����$�$�&�q�)�����d�1�g�x�0�1�1���z�*�
K��&�&�q�)H�'I�J�J�
K�s�,C,�,0Ds
max(iterable)c�*�[U5S:wa[R"[S55e[	XUS5nURX5$![Ra.n[S5n[R"[
U5US9eSnAff=f)zReturn the max of an iterablersmax expects one argumentrs(max first argument should be an iterablerPN)rrrrrz�getmaxr��r r!r"�kwargsr|r�rQs       r%�max_r������4�y�A�~����q�!<�=�>�>��7�T�!�W�5�H�6����w�0�0�����6��<�=�����u�S�z��5�5��6���A�B�$)B
�
Bs
min(iterable)c�*�[U5S:wa[R"[S55e[	XUS5nURX5$![Ra.n[S5n[R"[
U5US9eSnAff=f)zReturn the min of an iterablersmin expects one argumentrs(min first argument should be an iterablerPN)rrrrrz�getminr�r�s       r%�min_r�r�r�s	mod(a, b)c��[U5S:Xd[R"[S55eSn[R
"XX2SUS45$)z0Calculate a mod b such that a / b + a mod b == arsmod expects two argumentsc�
�X-$r+�)�a�bs  r%�<lambda>�mod.<locals>.<lambda>&s���r&rr)rrrrr�
runarithmetic)r r!r"�funcs    r%�modr�sP���t�9��>����q�!=�>�?�?��D��%�%��4�a��$�q�'�2��r&sobsfateoperations(markers)c�>�[U5S:wa[R"[S55e[	XUS5n[
R"U5n[R"USS9$![[4a" [S5n[R"U5ef=f)�CCompute obsfate related information based on markers (EXPERIMENTAL)rs&obsfateoperations expects one argumentrs	operation�r�s6obsfateoperations first argument should be an iterable)rrrrr,r
�markersoperationsr�
hybridlistr��KeyError�r r!r"�markersr7�errmsgs      r%�obsfateoperationsr�,s����4�y�A�~����q�!J�K�L�L��'�D��G�4�G�'��(�(��1���&�&�t�,�?�?���x� �'��L�M�����v�&�&�'�s�*A*�*2Bsobsfatedate(markers)c�@�[U5S:wa[R"[S55e[	XUS5n[
R"U5n[R"USSS9$![[4a" [S5n[R"U5ef=f)r�rs obsfatedate expects one argumentrsdates%d %d)r�r$s0obsfatedate first argument should be an iterable)rrrrr,r
�markersdatesrr�r�r�r�s      r%�obsfatedater�>s����4�y�A�~����q�!D�E�F�F��'�D��G�4�G�'��#�#�G�,���&�&�t�'�x�H�H���x� �'��F�G�����v�&�&�'�s�+A+�+2Bsobsfateusers(markers)c�H�[U5S:wa[R"[S55e[	XUS5n[
R"U5n[R"USS9$![[[4a" [S5n[R"U5ef=f)r�rs!obsfateusers expects one argumentrsuserr�s>obsfateusers first argument should be an iterable of obsmakers)rrrrr,r
�markersusersrr�r�r�r�)r r!r"r�r7�msgs      r%�obsfateusersr�Qs����4�y�A�~����q�!E�F�G�G��'�D��G�4�G�	$��#�#�G�,���&�&�t�'�:�:���x��,�$��
�
�����s�#�#�
$�s�*A*�*7B!s obsfateverb(successors, markers)c�&�[U5S:wa[R"[S55e[	XUS5n[	XUS5n[
R"X45$![a" [S5n[R"U5ef=f)zFCompute obsfate related information based on successors (EXPERIMENTAL)rs!obsfateverb expects two argumentsrrs.obsfateverb first argument should be countable)rrrrr,r
�obsfateverbr�)r r!r"�
successorsr�r�s      r%r�r�fs����4�y�A�~����q�!E�F�G�G��W�t�A�w�7�J��'�D��G�4�G�'��"�"�:�7�7���'��D�E�����v�&�&�'�s�A$�$,Bs
relpath(path)c���[U5S:wa[R"[S55eUR	US5n[XUS5nUR
U5$)zdConvert a repository-absolute path into a filesystem path relative to
the current working directory.rsrelpath expects one argumentr�r)rrrrrEr�pathto)r r!r"rT�paths     r%�relpathr�xsW���4�y�A�~����q�!@�A�B�B����G�W�-�D��g��Q��0�D��;�;�t��r&srevset(query[, formatargs...])c�^�[U5S:�d[R"[S55e[	XUS5nURUS5mU4Sjn[U5S:�a?SnUSSVs/sHn[
XU5PM nnU"[R"U/UQ765nO<URUS5n	U	RS05n
UnXZ;aX�nOU"U5nX�U'[R"TUS	US
9$s snf)z4Execute a revision set query. See
:hg:`help revset`.rs$revset expects one or more argumentsr�c�|>�[R"TRU[R"T5S9nU"T5$)N)�lookup)�	revsetmodrCrJ�lookupfn)�exprr`rTs  �r%�query�revset.<locals>.query�s-����O�O�D�G�G�T�)�2D�2D�T�2J�K����w�r&rNrNsrevsetcachesrevision)r��cachekey)rrrrrrEr,r�
formatspecrRr�revslist)r r!r"r_rr�r��
formatargs�revsrY�revsetcacherTs           @r%rr�s����t�9�q�=����q�!H�I�J�J�
�W�t�A�w�
/�C����G�W�-�D���4�y�1�}���@D�Q�R��I��1�k�'�A�6��
�I��Z�*�*�3�<��<�=��� � ��(�3���&�&�~�r�:�������#�D���:�D�#���� � ��t�+��L�L��Js�/C8srstdoc(text, style)c���[U5S:wa[R"[S55e[	XUS5n[	XUS5n[
R"X4S/S9$)zFormat reStructuredText.rsrstdoc expects two argumentsrrsverbose)�style�keep)rrrrrr�format)r r!r"rir
s     r%�rstdocr
�sY���4�y�A�~����q�!@�A�B�B��g��Q��0�D��w��a��1�E��>�>�$�:�,�?�?r&ssearch(pattern, text)c	��[U5S:wa[R"[S55e[	XUS5n[	XUS5n[
R"U5nUR5[[R"UR55-nU(aD[R"[S5SRS[U555US	.-5eURU5nU(d[R "5$S
UR#S50nUR%S['UR)5S555 UR%[R"UR+555 [R,"USS
9$![
Ra# [R"[S5U-5ef=f)z�Look for the first text matching the regular expression pattern.
Groups are accessible as ``{1}``, ``{2}``, ... in %-mapped template.rssearch expects two argumentsrrs!search got an invalid pattern: %ss2invalid group %(group)s in search pattern: %(pat)ss, c3�,# �UH
nSU-v� M g7f)s'%s'Nr�)r-�gs  r%r0�search.<locals>.<genexpr>�s���$L�:K�Q�W�q�[�:K�s�)sgroupspat�0c3�4# �UHupSU-U4v� M g7f)s%dNr�)r-r?r/s   r%r0r�s���
F�)E���u�q�y�!�n�)E�s�s{0})�tmpl)rrrrr�re�compile�knownresourcekeys�setr�byteskwargs�
groupindexrH�sorted�searchr�mappingnone�groupr4�	enumerate�groups�	groupdict�mappingdict)	r r!r"�pat�src�patre�	badgroupsrCrys	         r%rr�s����4�y�A�~����q�!@�A�B�B�
�W�t�A�w�
/�C�
�W�t�A�w�
/�C�N��
�
�3���
�)�)�+�c����U�-�-�.�/��I�����
�C�D��*�*�$L�&��:K�$L�L���
�
�	
�
�L�L���E���'�'�)�)�
����A��	�B��I�I�
F��5�<�<�>�1�)E�
F�F��I�I�h�"�"�5�?�?�#4�5�6��#�#�B�V�4�4��1�8�8�N����q�!E�F��L�M�M�N�s�F!�!7Gsseparate(sep, args...)s	sep *argsc#��# �SU;a[R"[S55e[XUS5nSnUSH*n[XU5nU(dMU(aSnOUv� Uv� M, g7f)z,Add a separator between non-empty arguments.sseps&separate expects at least one argumentTr)FN)rrrr)r r!r"�sep�first�arg�argstrs       r%�separater,�sm����T�����q�!J�K�L�L�
�W�t�F�|�
4�C��E��G�}���G�c�2������E��I����s�A+A-sshortest(node, minlength=4)c�&�S[U5s=::aS::d!O [R"[S55e[	XUS5nSn[U5S:�a[UUUS[S55nUR
US5nSURR-n[U5U:�aU$[U5U:Xa
[U5nO [R"XS5nU(dU$UR
US5n[R""XWXH5$![Ra Us$f=f![Ra URRnN{[R a Us$f=f![R$a Us$f=f)	z-Obtain the shortest representation of
a node.rrs'shortest() expects one or two argumentsrrcs'shortest() expects an integer minlengthr�rN)rrrrrrfrE�
nodeconstants�nodelenr�binascii�Errorr�resolvehexnodeidprefix�WdirUnsupported�wdirid�LookupError�shortesthexnodeidprefix�RepoLookupError)	r r!r"�hexnode�	minlengthrT�
hexnodelenr�rYs	         r%�shortestr;�sy��
��T���a�����q�!K�L�M�M���4��7�3�G��I�
�4�y�1�}������G�
�8�9�
�	����G�W�-�D��T�'�'�/�/�/�J�
�7�|�j� ���	�W���	#�	��w�<�D�	��1�1�$�@�D�
��N����W�h�/�E���.�.�t�9�L�L���~�~�	��N�	��
�$�$�	-��%�%�,�,�D�� � �	��N�	��� � �����s<�>D�D0�=E7�D-�,D-�0*E4�E4�3E4�7F�Fsstrip(text[, chars])c��S[U5s=::aS::d!O [R"[S55e[	XUS5n[U5S:Xa [	XUS5nURU5$UR5$)zWStrip characters from a string. By default,
strips all leading and trailing whitespace.rrs"strip expects one or two argumentsr)rrrrrr>)r r!r"ri�charss     r%r>r>sr��
��T���a�����q�!F�G�H�H��g��Q��0�D�
�4�y�A�~��7�T�!�W�5���z�z�%� � ��:�:�<�r&s%sub(pattern, replacement, expression)c#�# �[U5S:wa[R"[S55e[	XUS5n[	XUS5n[	XUS5n[
R"U5nURXE5v� g![
Ra# [R"[S5U-5ef=f![
Ra# [R"[S5U-5ef=f7f)	z4Perform text substitution
using regular expressions.ressub expects three argumentsrrrssub got an invalid pattern: %ss"sub got an invalid replacement: %sN)rrrrrrr�sub)r r!r"r#�rplr$r%s       r%r?r?(s�����4�y�A�~����q�!?�@�A�A�
�W�t�A�w�
/�C�
�W�t�A�w�
/�C�
�W�t�A�w�
/�C�K��
�
�3���O��i�i��!�!��	�8�8�K����q�!B�C�c�I�J�J�K��
�8�8�O����q�!F�G�#�M�N�N�O�s0�AC>�B
�6C�	C>�
7C�C>�7C;�;C>sstartswith(pattern, text)c���[U5S:wa[R"[S55e[	XUS5n[	XUS5nURU5(aU$g)zeReturns the value from the "text" argument
if it begins with the content from the "pattern" argument.rs startswith expects two argumentsrrr&)rrrrr�
startswith)r r!r"�patnris     r%rBrB?s]���4�y�A�~����q�!D�E�F�F��g��Q��0�D��g��Q��0�D����t�����r&ssubsetparents(rev, revset)s
rev revsetc��SU;dSU;a[R"[S55eURUS5n[R
"XUS5n[R"XUS5n[U[R5(d[R"[S55eURX5nURnU(aIURUS5nURS05n	Xy;aX�n
O0[R"X65n
X�U'O[R"X6US9n
[R"X:RU55$)	z@Look up parents of the rev in the sub graph given by the revset.srevsrevsets#subsetparents expects two argumentsr�s&subsetparents expects a queried revsetrNssubsetparentswalker)�startrev)rrrrErrfrzrtr�tovaluerrRr�subsetparentswalker�
parentsset)r r!r"rTrV�q�subsetr�rY�walkercache�walkers           r%�
subsetparentsrMNs)���T��Y�d�2����q�!G�H�I�I����G�W�-�D�
�
"�
"�7�T�&�\�
B�C�	� � ��4�	�?�C�A��a��.�.�/�/����q�!J�K�L�L�
�Y�Y�w�
(�F�
�*�*�C�
�� � ��(�3���&�&�'=�r�B���� �%�F��.�.�t�<�F�%����*�*�4�#�F��� � ��'8�'8��'=�>�>r&sword(number, text[, separator])c��S[U5s=::aS::d-O [R"[S5[U5-5e[	UUUS[S55n[XUS5n[U5S:Xa[XUS5nOSnUR
U5nU[U5:�dU[U5*:agXc$)	z"Return the nth word from a string.rres+word expects two or three arguments, got %drsword expects an integer indexrNr&)rrrrrfr�split)r r!r"�numri�splitter�tokenss       r%�wordrSus���
��T���a�����
�<�=��D�	�I�
�	
�����Q��	�
*�+��C��g��Q��0�D�
�4�y�A�~��g��Q��8����
�Z�Z��
!�F�
�c�&�k��S�C��K�<�/���{�r&c�\�URR5Hup4U[U'M g)z2Load template function from specified registrarobjN)�_tabler5�funcs)rJ�extname�registrarobjr�r�s     r%�loadfunctionrY�s&��"�)�)�/�/�1�
����d��2r&)R�
__future__rr0r�i18nrr�r�rrr	r
rrr
rrrr�rrrrrr�utilsrrr�rzr,rxrrfrr�rV�templatefuncr#r8rGrZrarhr}r�r�r�r�rUr�r�r�r�r�r�r�rHr�r�r�r�r�r�r�r�r�r�r�r
rr,r;r>r?rBrMrSrY�values�
i18nfunctionsr�r&r%�<module>rasB��#��	��������$�
�
$�
$�
��&�&���&�&���&�&��� � ���&�&��
�
$�
$�
� �2�2��	���%�%�e�,���"�#�+�$�+�0�'�1B�C�)�D�)�(�0�F�E�?�����0��	�V�X�4F��$��$�2��6�(�3�J�4�J��B�C�E�D�E�8�)�*�5�+�5�.�!�U�G�4�
'�5�
'�� �G�X�+>�?�9�@�9�$�I�0��&+�	�&+�R�7�8�E�9�E�&�� �6�!�6�$�1�U�G�D�;�E�;��5���H�<�I�<��4��w�G�<�H�<�
'� �'�(�5�)�5��;�<�5�=�5�(�1�2�5�3�5�� �!�
2�"�
2��#�u�g�6�"�7�"�$�%�&�@�'�@�"�&�'�2�(�2�@���6� �6����6� �6��l��	��	��+�,�'�-�'�"�%�&�'�'�'�$�&�'�$�(�$�(�1�2�'�3�'�"��'��3�	�4�	��/�7�H�:M�N�M�O�M�<�$�%�	@�&�	@��&�'�#5�(�#5�L�'��>��?��&�,���7J�K�)�L�)�X�%�&��'���6�7�O�8�O�,�*�+��,���!���x�
 ��
?��
?�D�0�1��2��8�����
r&

Youez - 2016 - github.com/yon3zu
LinuXploit