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__/pvec.cpython-313.pyc
�

6�h����SrSSKJr SSKJr SSKJrJr Sr\S-r	Sr
\
S-r\	\-
r\S-r
\
S	-
S
-rSrSSjrS
rSrSr\"S5Vs/sHn\"U5PM
 snrSrSrSrSr"SS5rgs snf)a3
A "pvec" is a changeset property based on the theory of vector clocks
that can be compared to discover relatedness without consulting a
graph. This can be useful for tasks like determining how a
disconnected patch relates to a repository.

Currently a pvec consist of 448 bits, of which 24 are 'depth' and the
remainder are a bit vector. It is represented as a 70-character base85
string.

Construction:

- a root changeset has a depth of 0 and a bit vector based on its hash
- a normal commit has a changeset where depth is increased by one and
  one bit vector bit is flipped based on its hash
- a merge changeset pvec is constructed by copying changes from one pvec into
  the other to balance its depth

Properties:

- for linear changes, difference in depth is always <= hamming distance
- otherwise, changes are probably divergent
- when hamming distance is < 200, we can reliably detect when pvecs are near

Issues:

- hamming distance ceases to work over distances of ~ 200
- detecting divergence is less accurate when the common ancestor is very close
  to either revision or total distance is high
- this could probably be improved by modeling the relation between
  delta and hdist

Uses:

- a patch pvec can be used to locate the nearest available common ancestor for
  resolving conflicts
- ordering of patches can be established without a DAG
- two head pvecs can be compared to determine whether push/pull/merge is needed
  and approximately how many changesets are involved
- can be used to find a heuristic divergence measure between changesets on
  different branches
�)�annotations�)�nullrev)�pycompat�utili�����c�>�SnUHnUS-[U5-nM U$)zconvert a bytestring to a longr�)�ord)�bs�v�bs   �0/usr/lib/python3/dist-packages/mercurial/pvec.py�_binrDs(��	�A�
��
��G�c�!�f�����H�c�p�Sn[U5H$n[R"US-5U-nUS-nM& U$)Nr�r)�ranger�bytechr)r�lr�ps    r�_strrLs>��	�B�
�1�X��
�
�
�a�#�g�
&��
+��	�a�����Irc�J�[US[5[U[S54$)zdepth and bitvecN)r�_depthbytes)rs r�_splitrTs#����,�;�� �$�q����"7�7�7rc�D�[U[5[U[5-$�N)rr�	_vecbytes)�depth�bitvecs  r�_joinr$Ys����{�#�d�6�9�&=�=�=rc�R�SnU(aUS-(aUS-
nUS-nU(aMU$)Nrr�)�x�cs  r�_hweightr)]s1��	�A�
��q�5�
��F�A�	�a����!�
�Hrr
c�Z�X-nSnU(aU[US--
nUS-nU(aMU$)z+find the hamming distance between two longsrrr)�_htab)�ar�dr(s    r�_hammingr.is:��	��A�	�A�
�	�U�1�t�8�_���	�a����!�
�Hrc��Uup4UupVX5:aXSXd4up5pF[XF5nX5-
nUn	XF-n
SnXx:�aXx-
S-S-nOSnX<-n
U
(a*U(a X�-(a	X�-n	US-nUS-nU(aM X�4$[X�5n	X�4$)Nrr)r.�_flipbit)r'�yr(�d1�v1�d2�v2�hdist�ddistr�m�i�changesr"s              r�	_mergevecr;ss���
�F�B�
�F�B�	�w��������R��E��G�E�
�A�
��A�	�A��}��=�1�$��*�����L�E�	���u�����1���
�!�G�A�	�g��8�O�
�Q�N���8�Orc�<�[U5S-[-nUSU--$)Nl��r)�hash�_vecbits)r�node�bits   rr0r0�s#����:�
�"�h�
.�C���S��>�rc�l�UR5n[US5(d0UlURnUR5U;a�URn[UR5S-5H�nXB;dM
UR
U5nURU5upgU[:XaS[US-S[54X$'MSU[:XaX&up�US-[X�54X$'Mw[X&X'U5X$'M� [X R56n
[[R "U
55$)z3construct a pvec for ctx while filling in the cache�
_pveccacherr�N)�repo�hasattrrB�rev�	changelogrr?�
parentrevsrrr!r0r;r$�pvecr�	b85encode)�ctx�r�pvc�cl�nr?�p1�p2r-rrs           r�ctxpvecrR�s�����
�A��1�l�#�#����
�,�,�C�
�w�w�y���
�[�[���s�w�w�y�1�}�%�A��|��w�w�q�z�����q�)�����=���t�a�x��)�&<�!=�>�C�F��7�]��7�D�A��!�e�X�a�%6�7�C�F�&�s�w����>�C�F�&�
��G�G�I��	�B�����r�"�#�#rc�J�\rSrSrSrSrSrSrSrSr	Sr
S	rS
rSr
g)
rI�c��[U[5(a3Xl[[R
"U55uUlUlg[U5Ulgr )	�
isinstance�bytes�_bsrr�	b85decode�_depth�_vecrR)�self�	hashorctxs  r�__init__�
pvec.__init__�s<���i��'�'� �H�%+�D�N�N�9�,E�%F�"�D�K����	�*�D�Irc��UR$r )rX)r\s r�__str__�pvec.__str__�s���x�x�rc�t�URUR:H=(a URUR:H$r )r[rZ�r\rs  r�__eq__�pvec.__eq__�s'���y�y�A�F�F�"�>�t�{�{�a�h�h�'>�>rc��URUR-
nUS:ag[URUR5U:�agg)NrFT)rZr.r[�r\r�deltas   r�__lt__�pvec.__lt__�s;�����4�;�;�&���1�9���D�I�I�q�v�v�&��.��rc�
�X:$r r&rds  r�__gt__�pvec.__gt__�s	���x�rc��[URUR-
5n[URUR5U::agg)NFT)�absrZr.r[rhs   r�__or__�pvec.__or__�s6���A�H�H�t�{�{�*�+���D�I�I�q�v�v�&�%�/��rc�\�X-(a[S5eURUR-
$)Nsconcurrent pvecs)�
ValueErrorrZrds  r�__sub__�pvec.__sub__�s&���8��0�1�1��{�{�Q�X�X�%�%rc��[URUR-
5n[URUR5n[	X#5$r )rprZr.r[�max)r\rr-�hs    r�distance�
pvec.distance�s7������4�;�;�&�'���T�Y�Y����'���1�y�rc��[URUR-
5nU[:�d([	UR
UR
5[:�agg)NF)rpr"rZ�_radiusr.r[)r\r�dists   r�near�	pvec.near�s?���1�7�7�T�[�[�(�)���'�>�X�d�i�i����8�7�B��Cr)rXrZr[N)�__name__�
__module__�__qualname__�__firstlineno__r^rarerjrmrqrurzr�__static_attributes__r&rrrIrI�s/��+��?����&�
�
rrIN)r�intrr��returnrW)�__doc__�
__future__rr?r�rr�_size�_bytes�
_depthbitsrr!r>r}rrrr$r)rr+r.r;r0rRrI)r's0r�<module>r�s���)�V#���
	��	�!���
�
��A�o���[� �	��q�=���b�=�Q�
��
��8�
>�
�$�C�j�)�j���!��j�)��
�#�L�$�0,�,��c	*s�A>

Youez - 2016 - github.com/yon3zu
LinuXploit