add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
�

��Vc(%csH�ddlmZddlZddlZddlZddlZddlZddlZddlZddl	m
Z
gd�Zejdkp(e
ed��oe
ed��oe
ejd	��ZGd
�dej��ZejZd*d�Zejdkr*egd
�z
ZddlZd+dd�d�Zd�Zd�Zd�ZGd�de��Zn%egd�z
ZddlZejdkZd�Zd�Zd�Zd�Zd�Zd�ZGd�d��Z ee!e ��j"��e��d �Z#ee!e$j%��e#��ee!e&j'��e#��d!�Z(d"�Z)eej*e(��ejdkrd#�Z+d$�Z,eeje+��nd%�Z+d&�Z,eeje+��Gd'�d(e�)��Z-dS),�)�ABCMetaN�)�context)�send_handle�recv_handle�ForkingPickler�register�dump�win32ZCMSG_LEN�
SCM_RIGHTS�sendmsgcsn��eZdZ	iZejZ�fd�Zed���Z	edd���Z
ejZ�xZ
S)rcs���t��j|�|j���|_|j�|j��dS�N)Zsuper�__init__�_copyreg_dispatch_tableZcopy�dispatch_tableZupdate�_extra_reducers)�self�args�	__class__s  ��2/usr/lib64/python3.11/multiprocessing/reduction.pyr
zForkingPickler.__init__&sN��������$���"�:�?�?�A�A�����"�"�4�#7�8�8�8�8�8�cs�	||j|<dSr)r)�cls�typeZreduce�   rrzForkingPickler.register+s��4�$*���D�!�!�!rNcs��tj��}|||���|��|���Sr)�ioZBytesIOrZ	getbuffer)r�obj�protocolZbuf�    r�dumpszForkingPickler.dumps0s;���j�l�l����C�������$�$�$��}�}���rr)�__name__�
__module__�__qualname__r�copyregrrr
Zclassmethodrr�pickleZloadsZ
__classcell__)rs@rrr!s��������3��O�%�4��9�9�9�9�9�
�+�+��[�+������[��

�L�E�E�E�E�ErrcsN�	t||���|��dSr)rr)rZfilerrrrr:s)��=��4��"�"�'�'��,�,�,�,�,r)�	DupHandle�	duplicate�steal_handleF)�source_processcs��	tj��}|�|}|�|}tj|||d|tj��S)Nr)�_winapi�GetCurrentProcess�DuplicateHandle�DUPLICATE_SAME_ACCESS)�handleZtarget_processZinheritabler&Zcurrent_process�     rr$r$GsS��J�!�3�5�5���	-�,�N��	-�,�N��&��F�N�
�{�G�9�;�;�	;rc	s"�	tjtjd|��}	tj||tj��ddtjtjz��tj|��S#tj|��wxYw�NFr)r'�OpenProcess�PROCESS_DUP_HANDLEr)r(r*�DUPLICATE_CLOSE_SOURCE�CloseHandle)Z
source_pidr+Zsource_process_handlerrr%r%Ss���C� '� 3��&��z�!;�!;��	7��*�%�v��)�+�+�Q���-��0N�N�P�P�

�� 5�6�6�6�6��G�� 5�6�6�6�6���s�AA8�8Bcsh�	t|tj|��}|�|��dSr)r#r'r*�send)�connr+�destination_pidZdhrrrr_s,��4�
�v�w�<�o�
N�
N���	�	�"�
�
�
�
�
rcsP�	|������Sr)�recv�detach)r3� rrrds��7��y�y�{�{�!�!�#�#�#rcs�eZdZ	dd�Zd�ZdS)r#NcsH�|�tj��}tjtjd|��}	tjtj��|||dd��|_tj|��n#tj|��wxYw||_	||_
dSr-)�os�getpidr'r.r/r)r(�_handler1�_access�_pid)rr+ZaccessZpid�procr,rr
zDupHandle.__init__js����
"��i�k�k���&�w�'A�5�#�N�N�D�
*�&�6��-�/�/��D�&�%�� 4� 4����#�D�)�)�)�)���#�D�)�)�)�)����!�D�L��D�I�I�Is�/A;�;Bcsl�	|jtj��kr|jSt	jtjd|j��}	t	j||jt	j��|j	dtj
��t	j|��S#t	j|��wxYw�NF)r<r8r9r:r'r.r/r)r(r;r0r1)rr=�  rr6zDupHandle.detachys���C��y�B�I�K�K�'�
$��|�#��&�w�'A�5�'+�y�2�2�D�
*��.��$�,��(A�(C�(C��L�%��)G�I�I��#�D�)�)�)�)���#�D�)�)�)�)���s�=B�B3r)rrr r
r6�rrr#r#hs:������-�
	�
	�
	�
	�	*�	*�	*�	*�	*rr#)�DupFd�sendfds�recvfdsZdarwincs2�	tjd|��}tt|��dzg��}|�|gtjtj|fg��tr(|�d��dkrtd���dSdS)N�i�r�Az%did not receive acknowledgement of fd)
�arrayZbytes�lenr�socket�
SOL_SOCKETr
�ACKNOWLEDGEr5�RuntimeError)�sockZfds�msgrrrBrB�s���:��k�#�s�#�#���S��X�X��^�$�%�%�����c�U�f�/��1B�C�H�I�J�J�J��	H�4�9�9�Q�<�<�4�/�	H��F�G�G�G�	H�	H�	H�	Hrcs$�	tjd��}|j|z}|�dtj|����\}}}}|s	|st
�	tr|�d��t|��dkrtdt|��z���|d\}}	}
|tj
kr�|	tjkr�t|
��|jzdkrt�|�
|
��t|��dz|dkr6td�t|��|d�����t!|��Sn#tt"f$rYnwxYwtd���)	NrDrrFzreceived %d items of ancdatarrEz Len is {0:n} but msg[0] is {1!r}zInvalid data received)rGZitemsizeZrecvmsgrIZ
CMSG_SPACEZEOFErrorrKr2rHrLrJr
�
ValueErrorZ	frombytesZAssertionErrorZformat�listZ
IndexError)rMZsizeZaZ
bytes_sizerNZancdataZflagsZaddrZ
cmsg_levelZ	cmsg_typeZ	cmsg_datas           rrCrC�s���=��K������Z�$�&�
�$(�L�L��F�4E�j�4Q�4Q�$R�$R�!��W�e�T��	�7�	��N�	��
 ��	�	�$�����7�|�|�q� �
1�"�#A�#&�w�<�<�$0�1�1�1�/6�q�z�,�J�	�9��f�/�/�	
��V�.�.�	
��y�>�>�A�J�.�!�3�%�$�$����I�&�&�&��q�6�6�C�<�3�q�6�)�-�(�:�A�A���F�F�C��F�,�,�-�-�-��A�w�w�����J�'�	�	�	��D�	�����2�3�3�3s�DE,�,F�?Fcs��	tj|���tjtj��5}t||g��ddd��dS#1swxYwYdSr)rI�fromfd�fileno�AF_UNIX�SOCK_STREAMrB)r3r+r4�srrrr�s���4�
�]�4�;�;�=�=�&�.�&�:L�
M�
M�	!�QR��A��x� � � �	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!�	!����	!�	!�	!�	!�	!�	!s�A�A!�$A!cs��	tj|���tjtj��5}t|d��dcddd��S#1swxYwYdS)Nrr)rIrQrRrSrTrC)r3rUr?rrr�s���7�
�]�4�;�;�=�=�&�.�&�:L�
M�
M�	$�QR��1�a�=�=��#�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$�	$����	$�	$�	$�	$�	$�	$s�A!�!A%�(A%cs��	tj��}|�(|�|�|����Strddlm}|�|��Std���)Nr)�resource_sharerz&SCM_RIGHTS appears not to be available)rZget_spawning_popenrAZduplicate_for_child�HAVE_SEND_HANDLE�rVrO)�fdZ	popen_objrVrrrArA�sz��)��.�0�0�	��	G��?�?�9�#@�#@��#D�#D�E�E�E�
�	G�)�)�)�)�)�)�"�(�(��,�,�,��E�F�F�Frcsx�|j�t|j|jjffSt|j|jjffSr)Z__self__�getattrrZ__func__r�Zmr7r�_reduce_methodr\�s:���z�:����a�j�&9�:�:�:����Q�Z�%8�9�9�9rcs�eZdZd�ZdS)�_Ccs�dSrr@)rr7r�fz_C.f�s���rN)rrr r^r@rrr]r]�s#������
�
�
�
�
rr]cs,�t|j|jffSr)rZZ__objclass__rr[r7r�_reduce_method_descriptorr_�s���Q�^�Q�Z�0�0�0rcs<�t|j|j|jpiffSr)�_rebuild_partial�funcr�keywords)Zpr7r�_reduce_partialrc�s���a�f�a�f�a�j�.>�B�?�?�?rcs,�tj|g|�Ri|��Sr)�	functools�partial)rarrbrrr`r`�s#����T�5�D�5�5�5�H�5�5�5rcs4�ddlm}t||��ffS)Nr)�	DupSocket)rVrf�_rebuild_socket)rUrfr?r�_reduce_socketrh�s)��.�.�.�.�.�.����1����/�/rcs*�|���Sr)r6)Zdsr7rrgrg�s���y�y�{�{�rcs|�t|�����}t||j|j|jffSr)rArRrg�familyr�proto)rU�dfr?rrhrh�s1��
�1�8�8�:�:�
�
����Q�X�q�v�q�w� ?�?�?rcsZ�|���}tj||||���S)N)rR)r6rI)rkrirrjrYr,rrgrg�s(��
�Y�Y�[�[���}�V�T�5��<�<�<�<rcsn�eZdZ	eZeZeZeZeZej	dkre
Z
eZeZne
Z
eZeZeZeZeZeZeZd�ZdS)�AbstractReducerr	cs��ttt��j��t��ttt
j��t��tttj	��t��ttjt��ttj
t��dSr)rrr]r^r\rP�appendr_�int�__add__rdrercrIrh)rrr?rr
zAbstractReducer.__init__s����b�d�d�f���~�.�.�.���d�k�"�"�$=�>�>�>���c�k�"�"�$=�>�>�>���"�O�4�4�4�����/�/�/�/�/rN)rrr rrrrr�sys�platformr%r$r#rBrCrAr\r_r`rhrgr
r@rrrlrl�s������� �$�N��H��D��K��K�
�|�w���#���	��	�	�������#�N� 9��'��#�N�%�O�0�0�0�0�0rrl)Z	metaclassrr>).Zabcrr!rdrr8r"rIrprXrZ__all__rqZhasattrrWZPicklerrrrr'r$r%rrZobjectr#rGrKrBrCrAr\r]rr^r_rPrmrnrorcr`rerhrgrlr@rr�<module>rrs�����������������	�	�	�	�	�	�	�	�
�
�
�
�
�
�
�
�
�
�
�
�������
N�
N�
N���L�G�+�8��W�V�Z�0�0�7��W�V�\�2�2�7��W�V�]�I�6�6�������V�^����.�"��-�-�-�-��<�7��FG��9�9�9�9�G��N�N�N�
;�$(�
;�
;�
;�
;�
;�
7�
7�
7����
$�$�$�*�*�*�*�*�F�*�*�*�*�F�.�.�.�.�G��L�L�L��,�(�*�K�H�H�H�4�4�4�8!�!�!�
$�$�$�
	G�	G�	G�:�:�:�

�
�
�
�
�
�
�
�	����b�b�d�d�f���~�&�&�&�1�1�1�����d�k�	�	�5�6�6�6�����c�k�	�	�5�6�6�6�@�@�@�6�6�6����	�O�,�,�,��<�7��,�0�0�0�����H�V�]�N�+�+�+�+�@�@�@�=�=�=�
�H�V�]�N�+�+�+�0�0�0�0�0��0�0�0�0�0�0r