HEX
Server: Apache
System: Linux ns517114.ip-158-69-26.net 6.12.0-124.55.3.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Thu May 7 16:54:02 EDT 2026 x86_64
User: urgentelectrical (1063)
PHP: 8.2.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib64/python3.12/site-packages/setools/diff/__pycache__/bool.cpython-312.opt-1.pyc
�

���i[
����UddlmZddlmZddlmZmZddlmZddl	m
Z
mZmZddl
mZee�Zeeed	<ed
d
��Gd�d
e��Zdededeefd�ZGd�de
�Zy)�)�defaultdict)�	dataclass�)�
SELinuxPolicy�Boolean�)�DiffResultDescriptor)�
Difference�DifferenceResult�
SymbolWrapper)�SymbolCache�_bool_cacheT)�frozen�orderc�0�eZdZUdZeed<eed<eed<y)�ModifiedBooleanz*Difference details for a modified Boolean.�boolean�added_state�
removed_stateN)�__name__�
__module__�__qualname__�__doc__r�__annotations__�bool���8/usr/lib64/python3.12/site-packages/setools/diff/bool.pyrrs��5�
�����rr�policyr�returnc�l�	t||S#t$rt|�}|t||<|cYSwxYw)z
    Wrap booleans from the specified policy.

    This caches results to prevent duplicate wrapper
    objects in memory.
    )r�KeyErrorr)rr�bs   r�boolean_wrapperr$sD����6�"�7�+�+�����'�"��'(��F��G�$����s��"3�3c�b�eZdZdZdd�Zeee�Zeee�Zee	e�Z
dd�Zy)�BooleansDifferencezADetermine the difference in type attributes between two policies.Nc��|jjd|j�d|j���|j	d�|jj�D�d�|jj�D��\|_|_}tt�|_
|D]Y\}}|j|jk7s� |jjt||j|j���[y)z@Generate the difference in type attributes between the policies.z$Generating Boolean differences from z to c3�2K�|]}t|����y�w�N�r��.0r#s  r�	<genexpr>z3BooleansDifference.diff_booleans.<locals>.<genexpr>8s����D�+C�a��q�!�+C���c3�2K�|]}t|����y�wr)r*r+s  rr-z3BooleansDifference.diff_booleans.<locals>.<genexpr>9s����E�+D�a��q�!�+D�r.N)
�log�info�left_policy�right_policy�	_set_diff�bools�added_booleans�removed_booleans�listr�modified_booleans�state�append)�self�matched_booleans�left_boolean�
right_booleans    r�
diff_booleansz BooleansDifference.diff_booleans0s���	
���
�
�2�4�3C�3C�2D�D��IZ�IZ�H[�\�	^�
�N�N�D�4�+;�+;�+A�+A�+C�D�E�4�+<�+<�+B�+B�+D�E�
G�	E���T�2�4D�
"&�o�!6�!8���+;�'�L�-��!�!�]�%8�%8�8��&�&�-�-�o�l�>K�>Q�>Q�>J�>P�>P�/R�S�	,<rc�F�|jjd�|`|`|`y)z%Reset diff results on policy changes.zResetting Boolean differencesN)r0�debugr6r7r9)r<s r�_reset_diffzBooleansDifference._reset_diffLs%�������6�7����!��"r)r N)rrrrr@r	rr6r7rr9rCrrrr&r&,sJ��K�S�*3�)�'�2�=�A�N�4�+�G�4�]�C��=�,�_�=�m�L��
#rr&N)�collectionsr�dataclassesr�	policyreprr�descriptorsr	�
differencer
rr�typingr
�dictrrrr$r&rrr�<module>rKs���$�!�.�-�C�C��%0��$5��[��
!�5��$�d�#��&��$���M��G��
�g�@V��%#��%#r