� !A?h�6��B�ddlZddlZddlmZmZddlmZddl m Z gd�Z dxZ xZ xZxZZGd�de��ZGd�d e��Zd �Zd �Zd �Zd �Zd�Zd�Zd�Zd�Zd�ZdCd�Zd�ZGd�d��Ze��ZGd�d��Z Gd�de��Z!Gd�d��Z"Gd�de#��Z$Gd�d e%��Z&e&Z'Gd!�d"e&�#��Z Gd$�d%e ��ZGd&�d'e(e��Z)Gd(�d)e*e��Z+d*�Z,e,Z-d+�Z.Gd,�d-e+��Z/e/\Z0Z1ZZ2Gd.�d/e e0�0��Z Gd1�d2e(ee e2�0��Z3d3�Z4d4�Z5d5�Z6d6�Z7d7�Z8d8�Z9dDd:�Z:e fddd;�d<�Z;e;e+��Gd=�d>����ZZ?Gd?�d@��Z@dA�ZAdCdd0�dB�ZBe)e+e3fZdS)E�N)�MappingProxyType�DynamicClassAttribute)�or_)�reduce)�EnumType�EnumMeta�Enum�IntEnum�StrEnum�Flag�IntFlag�ReprEnum�auto�unique�property�verify�member� nonmember� FlagBoundary�STRICT�CONFORM�EJECT�KEEP�global_flag_repr�global_enum_repr� global_str� global_enum� EnumCheck� CONTINUOUS� NAMED_FLAGS�UNIQUE�pickle_by_global_name�pickle_by_enum_namec��eZdZ d�ZdS)rc��||_dS�N��value��selfr(s �1/opt/alt/python-internal/lib64/python3.11/enum.py�__init__znonmember.__init__� ���� � � �N��__name__� __module__� __qualname__r,�r.r+rr�(�����������r.rc��eZdZ d�ZdS)rc��||_dSr&r'r)s r+r,zmember.__init__#r-r.Nr/r3r.r+rrr4r.rc�d� t|d��pt|d��pt|d��S)N�__get__�__set__� __delete__)�hasattr)�objs r+�_is_descriptorr=&s?��� �C�� #� #� '� �C�� #� #� '� �C�� &� &�r.c�� t|��dko7|dd�|dd�cxkodknco|ddko |ddkS)N��������__�_�������len��names r+� _is_dunderrI0sq��� ��I�I��M� � ��!��H��R�S�S� � )� )� )� )�T� )� )� )� )� � ��G�s�N� � ��H��O� r.c�� t|��dko7|d|dcxkodknco|dd�dko |dd�dkS)Nr@r�����rC�rArErGs r+� _is_sunderrM;ss��� ��I�I��M� � ��G�t�B�x� &� &� &� &�3� &� &� &� &� � ��1��I�� � � ��B��K�3� � r.c���t|t��sdSt|dd��}|dzt|dd��z}d|z}||kp|�|��S)NFr2��.r0)� isinstance�type�getattr�endswith)�cls_namer<�qualname� s_pattern� e_patterns r+�_is_internal_classrYFsk�� �c�4� � ���u��s�N�B�/�/�H��3����j�"�!=�!=�=�I��i��I� �y� � @�H�$5�$5�i�$@�$@�@r.c���d|�d�}t|��}t|��|krA|�|��r,|||dz�dgkr|ddks |ddkrdSdS)NrCrBrLrKrATF)rF� startswith)rUrH�pattern�pat_lens r+� _is_privater^Os~���!���$�G��'�l�l�G� ��I�I�� � �����(�(� ��W�W�Q�Y�&�'�C�5�0�0��b��S���D��H��O�O��t��ur.c�0� |dkrdS||dz z}|dkS)NrFrLr3)�nums r+�_is_single_bitra]s-��� �a�x�x��u��3��7�N�C� �!�8�Or.c�� d�}t|t��r ||d<d|d<dSt|d|��t|dd��dS)Nc�&�td|z���)Nz%r cannot be pickled)� TypeError�r*�protos r+�_break_on_call_reducez6_make_class_unpicklable.._break_on_call_reducels���.��5�6�6�6r.� __reduce_ex__z r1)rQ�dict�setattr)r<rgs r+�_make_class_unpicklablerkfsm��� 7�7�7��#�t���0�4��O��'��L������_�&;�<�<�<���\�;�/�/�/�/�/r.c#�K�|}t|t��r|j}|dkrtd|z���|r||dzz}|V�||z}|�dSdS)Nrz%r is not a positive integerrL)rQr r(� ValueError)r`�original�bs r+�_iter_bits_lsbrpus������H��#�t�����i�� �Q�w�w��7�(�B�C�C�C� �� �C�4�!�8� ������ �q��� �����r.c�:�tt|����Sr&)�listrpr's r+�show_flag_valuesrs�s�� ��u�%�%� &� &�&r.c�b� d|���z}|dkr-tj||z���ddd��}ntj||dz |zz ��}|dd�}|dd�}|�*t |��|kr|d|z|z| d�}|�d|��S) Nr@r�1�0rL�rK� )� bit_length�bltns�bin�replacerF)r`�max_bits�ceiling�s�sign�digitss r+r{r{�s��� ��C�#�#�%�%�%�G� �a�x�x� �I�c�G�m� $� $� ,� ,�S�#�q� 9� 9��� �I�s�d�g��k�W�4�4� 5� 5�� �R�a�R�5�D� �q�r�r�U�F��� �v�;�;�� !� !��2�h��)�F�2�X�I�J�J�?�F��d�d�F�F� #�#r.c��� |�d��}d}t|d��D] \}}|dkrn�t|��D]\}}||d�||<�d�|��S)N� rrx)�split� enumerate�join)�text�lines�blanks�i�ch�j�ls r+�_dedentr��s���� �J�J�t� � �E� �F��5��8�$�$�����2� ��9�9� �E� ��%� � �����1��Q�R�R�5��a��� �9�9�U� � �r.c��eZdZd�ZdS)� _auto_nullc��dS)Nr�r3�r*s r+�__repr__z_auto_null.__repr__�s���|r.N)r0r1r2r�r3r.r+r�r��s#����������r.r�c� �eZdZ efd�Zd�ZdS)rc��||_dSr&r'r)s r+r,z auto.__init__�r-r.c��d|jzS)Nzauto(%r)r'r�s r+r�z auto.__repr__�s���D�J�&�&r.N)r0r1r2r�r,r�r3r.r+rr�sA�������(�����'�'�'�'�'r.rc�*�eZdZ dd�Zd�Zd�Zd�ZdS)rNc�(�|�: |j|jS#t$rt|�d|j�����wxYw|j�; |j|jS#t$rt|�d|j����d�wxYw|�|��S)Nz has no attribute )� _member_map_rH�KeyError�AttributeError�fget)r*�instance� ownerclasss r+r8zproperty.__get__�s��� � � �!�.�t�y�9�9��� � � �$�4>�J�J�� � �J���� ���� �y� �(�%�2�4�9�=�=���(�(�(�(�8B� � �D�I�I�N���#'�(�(���� �y�y��*�*�*s��$:�A�%A<c�z�|j�td|j�d|j�����|�||��S)N� cannot set attribute )�fsetr��clsnamerH)r*r�r(s r+r9zproperty.__set__�sF�� �9� � �.�;?�<�<�<����S��� ��9�9�X�u�-�-� -r.c�x�|j�td|j�d|j�����|�|��S)Nr�z> cannot delete attribute )�fdelr�r�rH)r*r�s r+r:zproperty.__delete__�sD�� �9� � �.�>B�l�l�l�D�I�I�V��� ��9�9�X�&�&� &r.c�,�||_|j|_dSr&)rHr0r�)r*r�rHs r+� __set_name__zproperty.__set_name__�s���� �!�*�� � � r.r&)r0r1r2r8r9r:r�r3r.r+rr�sZ�������+�+�+�+�(.�.�.�'�'�'�+�+�+�+�+r.rc��eZdZ d�Zd�ZdS)� _proto_memberc��||_dSr&r'r)s r+r,z_proto_member.__init__�r-r.c�� t||��|j}t|t��s|f}n|}|jtur|f}|js|�|��}n|j|g|�R�}t|d��sQ|jtur||_ n; |j|�|_ n*#t$r}td��}||_ |�d}~wwxYw|j }||_ ||_|j|�t!|j��|_t&�}t)|t&��rht|t*��r/|xj|zc_t/|��r|xj|zc_d|j���zdz |_ |j|}nE#t$r8|j���D]\}} | j |kr| }n�t<�YnwxYwn�#t<$r�t&�t)|t&��s|j�|��nZt&�St)|t&��r>t|t*��r)t/|��r|j�|��YnwxYwd} |j dd�D]q} | j!�"|��} | �St| tFtHf��r| } n4t| d��r#t| d��rt| d��r| } �q�r| ratG��} || _%| �&||��| j'| _'| j(| _(| j)| _)tU||| ��ntU|||��||j|< |j�+||��dS#t$r|j,�|��YdSwxYw)N�_value_z/_value_ not set in __new__, unable to create itr@rLr�r�r�)-�delattrr(rQ�tuple� _member_type_� _use_args_� _new_member_r;�objectr�� Exceptionrd� __cause__�_name_� __objclass__r,rF�_member_names_� _sort_order_r � issubclass�int� _flag_mask_ra�_singles_mask_ry� _all_bits_�_value2member_map_r��itemsr��append�__mro__�__dict__�getrrrr�r�r�r�rj� setdefault�_unhashable_values_)r*� enum_class� member_namer(�args� enum_member�exc�new_excrH�canonical_member�found_descriptor�base� descriptor�redirects r+r�z_proto_member.__set_name__�s��� � � �K�(�(�(�� ���%��'�'� ��9�D�D��D� � #�u� ,� ,��8�D��$� E�$�1�1�*�=�=�K�K�1�*�1�*�D�t�D�D�D�K��{�I�.�.� "��'�6�1�1�&+� �#�#�"�*B�*�*B�D�*I�K�'�'�� �"�"�"�'�M���G�),�G�%�!�M����� "���� �#��(� ��#-� � �� ��d�#�#�#&�z�'@�#A�#A� � � � � �:�t� <� <� ��%��%�%� 7��&�&�%�/�&�&�!�%�(�(�7��-�-��6�-�-�$%�:�+A�*M�*M�*O�*O�$P�ST�$T�J� !� >� #�(�;�E�B� � ��� #� #� #�.8�.E�.K�.K�.M�.M�#�#�*�D�*�'�/�5�8�8�&6� ���9�#�N���  #������� >� >� >��L�%�j�$�7�7�!��)�0�0��=�=�=�=��$�"�:�t�4�4�%�"�5�#�.�.�%�'�u�-�-�%� �)�0�0��=�=�=���! >����$ ���&�q�r�r�*� � �D���*�*�;�7�7�J��%��j�8�5J�*K�L�L� �'1�$��E�� �F�3�3��� �F�3�3�� � �F�3�3�� (2�$��� � :��z�z�H�)�H�O� � !� !�*�k� :� :� :�,�1�H�M�,�1�H�M�,�1�H�M� �J� �X� 6� 6� 6� 6� �J� �[� 9� 9� 9�/:� �� �,� 9� � )� 4� 4�U�K� H� H� H� H� H��� 9� 9� 9� � *� 1� 1�%� 8� 8� 8� 8� 8� 8� 9���s[�B'�' C�1C � C� F�G#�?G�G#�G�G#�#BJ�J�N#�#$O � O N)r0r1r2r,r�r3r.r+r�r��s<����������l9�l9�l9�l9�l9r.r�c�0��eZdZ �fd�Z�fd�Zd�Z�xZS)� _EnumDictc���t�����i|_g|_g|_d|_dS)NF)�superr,� _member_names� _last_values�_ignore� _auto_called)r*� __class__s �r+r,z_EnumDict.__init__hs>��� ���������������� �!����r.c ��� t|j|��r!ddl}|�dtd���t |j|��r�n�t |��r�|dvrtd|�d����|dkrG|jrtd ���t|t��r|j n|}t|d |���nx|d kr�t|t��r)|�d d �����}nt#|��}||_t'|��t'|j��z}|rtd|������n�t+|��r |dkrd}�n�||jvrt|�d||�����||jvr�n�t|t,��r |j}�nt1|��r�nn||vrt|�d||�����t|t2��r|j}d}d}t|t4��rd}|f}t7|��t8ur�t;d�|D����r�g}|D]�} t| t4��rvd}| jt<krC|�|dtA|j��|j!dd���| _d|_| j} |j!�"| ��|�"| ����|r |d}nt9|��}d|j|<|r|j!�"|��tG���$||��dS)NrzzIn 3.13 classes created inside an enum will not become a member. Use the `member` decorator to keep the current behavior.r@�� stacklevel)�_order_�_generate_next_value_�_numeric_repr_� _missing_�_ignore_� _iter_member_�_iter_member_by_value_�_iter_member_by_def_z_sunder_ names, such as z", are reserved for future Enum user�z4_generate_next_value_ must be defined before members�_generate_next_valuer��,rxz+_ignore_ cannot specify already set names: � __order__r�z already defined as TFc3�@K�|]}t|t��V��dSr&)rQr)�.0�vs r+� z(_EnumDict.__setitem__..�s,����+O�+O�A�J�q�$�,?�,?�+O�+O�+O�+O�+O�+Or.rL)%rY� _cls_name�warnings�warn�DeprecationWarningr^rMrmr�rdrQ� staticmethod�__func__rj�strr|r�rrr��setr�rIrr(r=rrrRr��anyr�r�rFr�r�r�� __setitem__) r*�keyr(r��_gnv�already�non_auto_store�single� auto_valuedr�r�s �r+r�z_EnumDict.__setitem__os���� � �d�n�e� 4� 4� � �O�O�O� �M�M�O�&� � � � � � �t�~�s� +� +�Q 0� � ��_�_�N 0����� !�j��3�3�"�����-�-�-��$�\�#�$Z�[�[�[�)3�E�<�)H�)H�S�u�~�~�e����4�d�;�;�;�;�� �"�"��e�S�)�)�(�!�M�M�#�c�2�2�8�8�:�:�E�E� ��K�K�E�$�� ��e�*�*�s�4�+=�'>�'>�>����$�*�&�w�*�������_�_�2 0��k�!�!���� �D�&� &� &��#�#�#�t�C�y�y�I�J�J� J� �D�L� � � � ��y� )� )�* 0��K�E�E� �E� "� "�' 0� � �d�{�{��c�c�c�4��9�9� M�N�N�N��E�6�*�*� $�� ��!�N��F��%��&�&� "���� ���E�{�{�e�#�#��+O�+O��+O�+O�+O�(O�(O�#�!� �� *� *�A�!�!�T�*�*�4�).���7�j�0�0�&*�&?�&?�$'��C��0B�,C�,C�T�EV�WX�WX�WX�EY�'&�'&�A�G�15�D�-��G���)�0�0��3�3�3��&�&�q�)�)�)�)��/�'��N�E�E�!�+�.�.�E�&*�D� �s� #�� 0��!�(�(��/�/�/� �����C��'�'�'�'�'r.c ��� |���D] }||||<�n#t$r|D] \}}|||<� YnwxYw|���D] \}}|||<� dSr&)�keysr�r�)r*�members� more_membersrHr(s r+�updatez_EnumDict.update�s��� #�� � ��� +� +��$�T�]��T� � � +��� #� #� #�&� #� #� ��e�"��T� � � #� #� #����(�-�-�/�/� � �K�D�%��D��J�J� � s �"%�?�?)r0r1r2r,r�r�� __classcell__�r�s@r+r�r�ask�������� "�"�"�"�"�c(�c(�c(�c(�c(�J������r.r�c�P��eZdZ ed���Zddd��fd� Zd�Zddddddd�d �Zd �Z�fd �Z d �Z d �Z d�Z d�Z d�Zejd���Zd�Zd�Z�fd�Zdddddd�d�Zdddd�d�Zed���Zed���Zed���Zed���Zed���Z�xZS)rc ��|�||��t��}||_|�||��\}}|�t |dd��|d<|S)Nr�)�_check_for_existing_members_r�r�� _get_mixins_rS)�metacls�cls�bases�kwds� enum_dict� member_type� first_enums r+� __prepare__zEnumType.__prepare__�sp�� �,�,�S�%�8�8�8��K�K� �!� ��")�"6�"6�s�E�"B�"B�� �Z� � !�18�� 7��2�2�I�-� .��r.NF��boundary�_simplec �2 ���|rt��j||||fi|��S|�dg���d��|d}|D]}|�|d���|j} t | ��ddhz} | r/tdd�d�| D����z���|�dd��} t|� ����}|� ||��\} } |� || | ��\}}}||d<||d <| D]}||}t|��||<�g|d <i|d <i|d <g|d <| |d<|�||��|d<|pt| dd��|d<d|d<d|d<d|d<d|d< d}t��j||||fi|���n #t $r}|jp|}Yd}~nd}~wwxYw|�|�|��j��t(�lt(|vrc| t*urt-d���d|vr| j�_�j|d<d|vr-| j}|t*jur| j}|�_�j|d<dD]b}||vr\t| |��}t�|��}tt*|��}t| |��}|||fvrt5�||���ct6�It9�t6��r4dD]1}||vr+tt6|��}t5�||��|||<�2t:�|r|�_t:j�_| �=t?| t@��r(| �!dd���"��} t6�|dkst6�ft9�t6��sQtG�d��tG�d��tG�d��tG�d��tG�d��nWt6�Pt9�t6��r;d��D��}|tI|��kr �j%�_&| r�fd�| D��} | r3�fd�| D��} | �j'krt-d �j'�d!| ������S)"Nr��mrorOzinvalid enum member name(s) %sr�c3�4K�|]}t|��V��dSr&)�repr)r��ns r+r�z#EnumType.__new__.. s(����<�<��T�!�W�W�<�<�<�<�<�z$EnumType.__new__..����9�9�9��1�9�9�9�9r.c�Z��g|]'}|�jvst�|j���%|��(Sr3)r�rar��r��or�s �r+r'z$EnumType.__new__..�sF��������J�$;�;�;�~�j�YZ�m�Nc�?d�?d�;��;�;�;r.c�J��g|]}|�jvs|�jv�|�jv�|�� Sr3)r�r�r*s �r+r'z$EnumType.__new__..�sO���������!8�8�8��j�5�5�5�!�z�?X�:X�:X� � ;Y�:X�:Xr.z'member order does not match _order_: z )(r��__new__r�r��popr�r�rmr�rir�r� _find_new_r��_find_data_repr_rS� RuntimeErrorr�r�r�rr�rdrrr�rjr r�r �__new_member__rQr�r|r�r��sortedr�r�r�)rrr� classdictrrr �ignorer�� member_names� invalid_namesr�r r r-�save_new�use_argsrHr(r��e�method� enum_method� found_method� object_method�data_type_method� member_listr�r�s @�r+r-zEnumType.__new__�s����� � K�"�5�7�7�?�7�C�� �J�J�T�J�J� J� ���Z��,�,�3�3�J�?�?�?��:�&��� %� %�C� �M�M�#�t� $� $� $� $�!�.� ��L�)�)�U�B�K�7� � � ��=��H�H�<�<�m�<�<�<�<�<���� � �-�-� �4�0�0������*�*�+�+� �#*�"6�"6�s�E�"B�"B�� �Z�&-�&8�&8��;� �'�'�#���8�%,� �.�!�"*� �,��!� 3� 3�D��d�O�E�+�E�2�2�I�d�O�O�')� �"�#�$&� �.�!�*,� �&�'�+-� �'�(�%0� �/�"�$+�$<�$<�S�%�$H�$H� �.�!��;��:�|�T�:�:� �,��$%� �-� �&'� �"�#�"#� �,��"&� �,�� #��C�(������#�u�i�P�P�4�P�P�J�J��� #� #� #��+�"��C�C�C�C�C�C����� #���� �?��I� ����,�-�-�-� � �H��$5�$5��f�$�$��2�����9�,�,�(3�(>� �%�*4�*?� �,�'�� �)�)�$�,���V�^�+�+�)�1�F�%+� �"�'1�'9� �)�$�J� ;� ;�D��9�$�$�%�j�$�7�7� �&�z�4�8�8� � '��� 5� 5� �#*�;��#=�#=� ��$4�m�#D�D�D��J��k�:�:�:�� � � �:�t� <� <� �� 2� 2�� �y�(�(�")�$��"5�"5�K��J��k�:�:�:�&1�I�d�O�� � �� 4�,3� �)�!%��J� � � ��'�3�'�'� <�!�/�/�#�s�3�3�9�9�;�;��� ������#�J�z�4�,H�,H�#� �J� � -� -� -� �J� � .� .� .� �J� 0� 1� 1� 1� �J� � -� -� -� �J� � -� -� -� -� � �*�Z��">�">� �9�9�j�9�9�9�K��f�[�1�1�1�1�+5�+J� �(�� �����!(����� � �����$����G��*�3�3�3��i�%�4�4�4�g�g�?���� �s�+G � G(� G#�#G(c�� dS)NTr3�rs r+�__bool__zEnumType.__bool__�s�� ��tr.rL��modulerVrR�startrc �l� |�|�||��S|�|||||||���S)NrD)r-�_create_)rr(�namesrErVrRrFrs r+�__call__zEnumType.__call__�sR�� �0 �=��;�;�s�E�*�*� *��|�|����!���!���� r.c�� t|t��sSddl}|�dtd���t dt |��j�d|jj�d����t||��o |j |j vS)Nrz�in 3.12 __contains__ will no longer raise TypeError, but will return True or False depending on whether the value is a member or the value of a memberr@r�z'unsupported operand type(s) for 'in': 'z' and '�') rQr r�r�r�rdrRr2r�r�r�)rrr�s r+� __contains__zEnumType.__contains__�s��� ��&�$�'�'� L� �O�O�O� �M�M�`�&� � � � � � �)���L�L�-�-�-�s�}�/I�/I�/I�K�L�L� L��&�#�&�&�L�6�=�C�� 1� 1� �O�O�I� &� &� &� � ��(@� @� @� �O�O�/� 0� 0� 0� � �� &� &��+�&�&� &��#�c�#�"3�4�4�5�5� �C�D�D� Dr.c�� t|��rt|��� |j|S#t$rt|��d�wxYwr&)rIr�r�r��rrHs r+� __getattr__zEnumType.__getattr__se�� � �d� � � '� ��&�&� &� 1��#�D�)� )��� 1� 1� 1� ��&�&�D� 0� 1���s � .�A c�� |j|Sr&�r�r]s r+rSzEnumType.__getitem__s�� ����%�%r.c�,�� �fd��jD��S)Nc3�2�K�|]}�j|V��dSr&r`�r�rHrs �r+r�z$EnumType.__iter__..s+�����F�F�4�� ��&�F�F�F�F�F�Fr.)r�rBs`r+rTzEnumType.__iter__s(��� �G�F�F�F�3�3E�F�F�F�Fr.c�,� t|j��Sr&)rFr�rBs r+rUzEnumType.__len__ s�� ��3�%�&�&�&r.c�,� t|j��Sr&)rr�rBs r+rVzEnumType.__members__&s�� �  �� 0�1�1�1r.c�b�t�t|t��r d|jzSd|jzS)Nz z )r r�r0rBs r+r�zEnumType.__repr__0s1�� � � �3�� 5� 5� ����-� -����-� -r.c�F�� �fd�t�j��D��S)Nc3�2�K�|]}�j|V��dSr&r`rcs �r+r�z(EnumType.__reversed__..:s+�����P�P�4�� ��&�P�P�P�P�P�Pr.)�reversedr�rBs`r+� __reversed__zEnumType.__reversed__6s0��� �Q�P�P�P�8�C� tj d��jd}n#tt t"f$rYnwxYw|�t%| ��n|| d<|�|| d<|�||| | |� ��S) Nr�rxrr3r@r0r1r2�r)r�rr rQr�r|r�r�rrr�r�r��sys� _getframe� f_globalsr�rmr�rkr-)r� class_namerIrErVrRrFrrrrCr r4�original_names� last_values�countrHr(�itemr�� member_values r+rHzEnumType._create_Is�� ��-���<����d�C�[���(�(��U�;�;� ��:��'�'� �E�:�:� � �e�S� !� !� 4��M�M�#�s�+�+�1�1�3�3�E� �e�e�T�]� +� +� ,�� ,�*�U�1�X�s�:S�:S� ,�$)�2�E�N��K�(��8�8� ,� ,� ��t�"�8�8��u�e�[�YZ�YZ�YZ�^�\�\���"�"�5�)�)�)�� � �d�E�]�+�+�+�+� �=��E�� 2� 2�D��$��$�$� 1�,0�%��+�\� � �,0�)� �\�%1�I�k� "� "� �>� ���q�)�)�3�J�?����"�J��9� � � ��� ���� �>� #�I� .� .� .� .�&,�I�l� #� � �(0�I�n� %����w� �E�9�x��X�X�Xs�E4�4F� F)r� as_globalc�8�� tj|j}|r|j}n|}�fd�|���D��} |�d����n'#t $r|�d����YnwxYwd�|D��} || d<t |tf| ��} t||pt���| ��}|rt|��n4tj|j j� |j ��|||<|S)Nc�4��g|]\}}�|���||f��Sr3r3�r�rHr(�filters �r+r'z&EnumType._convert_..�s?���!�!�!��D�%��6�$�<�<�!��u� �!�!�!r.c�"�|d|dfS�NrLrr3��ts r+�z$EnumType._convert_..�s���!��a��d�|�r.�r�c��|dS�Nrr3r�s r+r�z$EnumType._convert_..�s ��q��t�r.c�,�i|]}|d|d��S)rrLr3)r�r�s r+� z&EnumType._convert_..�s"��,�,�,�q��!��a��d�,�,�,r.r1)�etyper)rp�modulesr�r��sortrdrRr�� _simple_enumrrr1r�rV) rrHrEr}�sourcerry�module_globalsr��body�tmp_clss ` r+� _convert_zEnumType._convert_sT��� ���V�,�5�� � $��_�F�F�#�F�!�!�!�!�#)�<�<�>�>�!�!�!�� -� �L�L�3�3�L� 4� 4� 4� 4��� -� -� -� �L�L�^�^�L� ,� ,� ,� ,� ,� -����-�,�G�,�,�,��#��\���t�f�Z��.�.��@�l��x�/?�4�@�@�@��I�I�� � I� �� � � � � �K��� '� 0� 7� 7��� H� H� H�"��t��� ��A�!B�Bc��|D]=}|jD]3}t|t��r|jrt d|�d|������4�>dS)Nr�z> cannot extend )r�rQrr�rd��mclsrsr�chainr�s r+rz%EnumType._check_for_existing_members_�sr��� � �E�� � � ���d�H�-�-��$�2E��#�)�)�z�z�4�4�1����� � � r.c��� |sttfS|�||��|d}t|t��st d���|�||��pt}||fS)NrKzZnew enumerations should be created as `EnumName([mixin_type, ...] [data_type,] enum_type)`)r�r rrQrrd�_find_data_type_)r�rsrr r s r+rzEnumType._get_mixins_�s��� � � ��4�<� � �)�)�*�e�<�<�<��2�Y� ��*�h�/�/� L��K�L�L� L��+�+�J��>�>�H�&� ��J�&�&r.c��|D]P}|jD]F}|tur� t|t��r |jccSd|jvr|jdccS�G�QdS)Nr�)r�r�rQrrr�r�s r+r0zEnumType._find_data_repr_�s���� 5� 5�E�� � 5� 5���6�>�>����h�/�/�5��,�,�,�,�,�,��4�=�0�0��=��4�4�4�4�4�4�1�  5��tr.c�$�t��}t��}|D]�}d}|jD]�}|�|��|tur�!t |t ��r+|jtur|�|j��nG�ad|jvs d|jvr/t |t ��r��|�|p|��n|p|}����t|��dkrtd|�d|�����|r|� ��SdS)Nr-�__dataclass_fields__rLztoo many data types for �: ) r�r�rXr�rQrr�r�rFrdr.)r�rsr� data_types� base_chainr�� candidater�s r+r�zEnumType._find_data_type_�s;���U�U� ��U�U� �� 2� 2�E��I�� � 2� 2�����t�$�$�$��6�>�>����h�/�/� 2��)��7�7�"���t�'9�:�:�:���8��$�-�/�/�3I�T�]�3Z�3Z�!�$��1�1�!� ��N�N�9�#4��5�5�5��E� )� 1�T�I�I�� �z�?�?�Q� � ��)� � � �J�J�W�X�X� X� � ��>�>�#�#� #��4r.c�4� |�dd��}|duo|du}|�RdD]C}||fD]8}t||d��}|ddjtjtjhvr|}n�9|�n �Dtj}|�|tjtjfvrd} nd} ||| fS)Nr-)r2r-FT)r�rSr-r�r ) r�r4r r r-r8r;�possible�targetr9s r+r/zEnumType._find_new_�s��� ��-�-� �4�0�0���T�)�A�g�T�.A�� �?�8� )� )��!,�j� 9� � �H�$�X�v�t�<�<�F�� � �L�"�N� �L� &��� #)������&��E�'�!�.�� � ��T�\�6�>�,J�!J�!J��H�H��H���(�*�*r.r&)r0r1r2� classmethodr r-rCrJrMrOr[r^rSrTrUrzrrVr�rjrlrHr�rrr0r�r/rrs@r+rr�sX��������� � ��[� �=A�%�u�u�u�u�u�u�u�n��� $�4�$�T�YZ�ei�$�$�$�$�$�LM�M�M�*"�"�"�"�"�E�E�E�$1�1�1� &�&�&� G�G�G� '�'�'�  �^�2�2��^�2�.�.�.� Q�Q�Q� )� )� )� )� )�48�$�T�YZ�ei�4Y�4Y�4Y�4Y�4Y�l$�d�V[�$�$�$�$�$�L����[���'�'��[�'�*� � ��[� �����[��8�*+�*+��[�*+�*+�*+�*+�*+r.rc��eZdZ d�Zd�Zd�Zed���Zd�Zd�Z d�Z d�Z d �Z d �Z d �Zd �Zed ���Zed���ZdS)r c���t|��|ur|S |j|S#t$rYnt|t��r)|j turt|t��r|d}d}St|�d|j����}|�|�|�|�td|j�d|�d���}t|t��s||_|�#d}d}wxYw)Nz%r has no members defined� is not a valid z error in z._missing_: returned z" instead of None or a valid member)rRr�r�rdr��valuesr�r�r�rQr r�rrr�rmr2r0� __context__)rr(rr��resultr:�ve_excs r+r-z Enum.__new__Gs�� ��;�;�#� � ��L� "��)�%�0� 0��� � � � �D�� "� "� "��*�1�1�3�3� "� "���>�U�*�*�!�M�M�M�M�M�+� "� "� "������ ?��7�#�=�>�>� >� ��C��]�]�5�)�)�F�F��� � � ��C��F�F�F�F�F�F����� ���� ��&�#�&�&� ��(�C��F�F�'�$��C��)>�)>�$���%�/�/�J�v�s�4K�4K�/���C��F�F�$�e�e�e�S�EU�EU�$V�W�W���>�c�k� �L��[�#�)�"�|�|�|�V�V�V�5���C�"�#�z�2�2�-�&,�C�O�� ���C��F�M�M�M�MsL� "� A'�3A'�#A'�&A'�B� B4�&B/�/B4�8E-�AE-�AE-�-E3c��dSr&r3)r*r�r s r+r,z Enum.__init__s�� �r.c�2� |s|S |d}|���||dkr|dzSt�#t$rQddl}|�dtd���t |��D]} |dzccYS#t$rY�wxYw|cYSwxYw)NrKrLrz�In 3.13 the default `auto()`/`_generate_next_value_` will require all values to be sortable and support adding +1 and the value returned will be the largest value in the enum incremented by 1rwr�)r�rdr�r�r�ri)rHrFrvru�lastr�r�s r+r�zEnum._generate_next_value_�s��� �� ��L� ��r�?�D� � � � � � ��{�2��&�&��a�x�� ���� � � � �O�O�O� �M�M�d�&� � � � � � �k�*�*� � ����q�5�L�L�L�L�L�� �����D������L�L�L� ���s7�,;�;�)r�rrr0r�r�)r*�v_reprs r+r�z Enum.__repr__�sC����,�4���� $�� 7� 7� 7�����f�f�T�\�FZ�FZ�FZ�FZ�[�[r.c�.�|jj�d|j��S)NrP)r�r0r�r�s r+rz Enum.__str__�s���.�1�1�1�4�;�;�A�Ar.c��� t��}|jjtur'tt�|����}t |dg��D],}|ddkr||jvr|�|���-|j���D]�}|j � ��D]�\}}|ddkr�t|t��r<|j � ||jvr|�|���M|�|���c||jvr|�|������ttgd���|z��}|S)Nr�rrC)r�rR�__eq__�__hash__r1)r�r�r�r�r[rSr�rXrr�r�rQrr��discardr3)r*rZrHrr<rIs r+r[z Enum.__dir__�s~�� ��e�e� � �>� '�v� 5� 5��f�n�n�T�2�2�3�3�K��D�*�b�1�1� &� &�D��A�w�#�~�~�$�d�.?�"?�"?�����%�%�%���>�%�%�'�'� *� *�C� �\�/�/�1�1� *� *� ��c���7�c�>�>���c�8�,�,�*��x�+�t�4�;L�/L�/L�#����-�-�-�-�$�+�+�D�1�1�1�1���!2�2�2��O�O�D�)�)�)�� *���P�P�P�Q�Q������� r.c�R�t�t|��|��Sr&)r�r)r*� format_specs r+rzEnum.__format__�s���~�~�c�$�i�i��5�5�5r.c�*�t|j��Sr&)�hashr�r�s r+r�z Enum.__hash__�s���D�K� � � r.c� �|j|jffSr&)r�r�res r+rhzEnum.__reduce_ex__�s���~�� �/�/�/r.c��|Sr&r3)r*�memos r+� __deepcopy__zEnum.__deepcopy__����� r.c��|Sr&r3r�s r+�__copy__z Enum.__copy__�r�r.c�� |jSr&�r�r�s r+rHz Enum.name�s ��*��{�r.c�� |jSr&r$r�s r+r(z Enum.value�s ��+��|�r.N)r0r1r2r-r,r�r�r�r�rr[rr�rhr�r�rrHr(r3r.r+r r s������%�N6�6�6�p � � �!�!�!�F����[��\�\�\�B�B�B����:6�6�6�!�!�!�0�0�0�����������X������X���r.r )� metaclassc��eZdZdS)rN�r0r1r2r3r.r+rr���������r.rc��eZdZdS)r Nr�r3r.r+r r �r�r.r c��eZdZ d�Zd�ZdS)r c�L� t|��dkrtd|�����t|��dkr3t|dt��st|d�d����t|��dkr3t|dt��std|d�����t|��dkr3t|dt��std|dz���t|�}t�||��}||_|S) Nrwztoo many arguments for str(): rLrz is not a stringr@zencoding must be a string, not zerrors must be a string, not %r)rFrdrQr�r-r�)rr�r(rs r+r-zStrEnum.__new__s��.� �v�;�;��?�?��)�&�&�K�L�L� L� �v�;�;�!� � ��f�Q�i��-�-� F���q� � � � D�E�E�E� �v�;�;�!� � ��f�Q�i��-�-� U��i�v�a�y�y� S�T�T�T� �v�;�;�!� � ��f�Q�i��-�-� Q�� A�V�A�Y� O�P�P�P��V� �����S�%�(�(������ r.c�,� |���Sr&)�lower)rHrFrvrus r+r�zStrEnum._generate_next_value_s�� ��z�z�|�|�r.N)r0r1r2r-r�r3r.r+r r �s7����������*����r.r c��|jSr&rGres r+r"r"s �� �9�r.c�,�t|j|jffSr&)rSr�r�res r+r#r#!s�� �T�^�T�[�1� 1�1r.c�`�eZdZ e��Ze��Ze��Ze��ZdS)rN)r0r1r2rrrrrr3r.r+rr%sA��������T�V�V�F��d�f�f�G� �D�F�F�E� �4�6�6�D�D�Dr.rc��eZdZ eZd�Zed���ZeZed���Z ed���Z d�Z d�Z d�Z d�Zd �Zd �Zd �Zd �Zd �Zd�Zd�ZeZeZeZdS)r c�� |s|�|ndSt|��} t|��}n!#t$rtd|z��d�wxYwd|dzzS)NrLzinvalid flag value %rr@)�max� _high_bitr�rd)rHrFrvru� last_value�high_bits r+r�zFlag._generate_next_value_;s��� �� 5�!�-�5�5�1� 4���%�%� � L� ��,�,�H�H��� L� L� L��3�j�@�A�A�t� K� L�����X�a�Z� � s �*�Ac#�xK� t||jz��D]}|j�|��V��dSr&)rpr�r�r�)rr(�vals r+r�zFlag._iter_member_by_value_MsU���� �"�%�#�/�"9�:�:� 2� 2�C��(�,�,�S�1�1� 1� 1� 1� 1� 2� 2r.c#�bK� t|�|��d����Ed{V��dS)Nc��|jSr&)r�)r&s r+r�z+Flag._iter_member_by_def_..^s��a�n�r.r�)r3r�r�s r+r�zFlag._iter_member_by_def_Wsc���� ���*�*�5�1�1�,�,���� � � � � � � � � r.c ��� t|t��st|�d|j�����|j}|j}|j}d}||cxkr|kr nn|||z zr�|jturjt|� ��|� ����}t|�d|�dt||���dt||�������|jtur||z}ni|jtur|S|jtur2|dkr+t|dzd|� ��z��|z}nt|�d|j�����|dkr |}|dz|z}||z}||z}||z} |r;|jtur-t|j�d |�d |�d t|���d ����|jt"urt"�|��} n|j�||��} t'| d ��s|| _| s|�rg} d} |�| ��D]!} | �| ��| | jz} �"|ra| |z}|j���D]B\}}|| vr9|jr2|j|z|jkr| �|��| |jz} �C|| z }d�d�| D����| _| sd| _nT|r"|jturt|�d|�����|r&| xjd|�|��zz c_nd| _|j�|| ��} |� | |j|<| S)Nr�z invalid value z given z allowed rrLr@z unknown flag boundary �(z) --> unknown values z [�]r��|c��g|] }|j�� Sr3r�r%s r+r'z"Flag._missing_..�s��,G�,G�,G�!�Q�X�,G�,G�,Gr.z: no members with value z|%s)rQr�rmr2r�r�r�rrr�ryr{rrrr0r�r�r-r;r�r�r�r�r�r�r�r�r�r�)rr(� flag_mask� singles_mask�all_bits� neg_valuer}�unknown�aliasesrx� pseudo_memberr��combined_valuer&r�pms r+r�zFlag._missing_as1�� � �%��%�%� ��.3�e�e�S�5E�5E�F��� ��O� ��)� ��>��� ��I��2�2�2�2�(�2�2�2�2�2��H�y�0�1�3��~��'�'��u�/�/�1�1�9�3G�3G�3I�3I�J�J�� ��C�C�����E�8�(<�(<�(<�(<�c�)�X�>V�>V�>V�������7�*�*�� �)�����5�(�(�� ���4�'�'��1�9�9���� �A��0@�0@�0B�0B�,C�D�D�#�$��� !�9<���c�n�n�O���� �1�9�9��I��q�L�5�(�E��9�*�$���<�-�'���|�+� � � �s�~�T�1�1���|�|�|�U�U�U�G�G�G�S��\�\�\�\�C��� � � �� &� &�"�N�N�3�/�/�M�M��-�5�5�c�5�A�A�M��}�i�0�0� *�$)�M� !� � (�7� (��G��N��&�&�|�4�4� ,� ,�����q�!�!�!��!�)�+���� 5�$�w�.�� �-�3�3�5�5�5�5�E�A�r���(�(�R�Z�(�B�J���*����,�4��� �;� � �!)���6�6�$�,�+?�+?�+?�+?�@� @� �%-�H�H�d�k�k�k�6�6�$�,�;O�;O�;O�;O�P� Pr.c�Z�|jj}|j� |�d|j�d�S|�d|j��S)Nr��)rP)r�r0r�r��r*rUs r+rz Flag.__str__�s<���>�*�� �;� �'�x�x�����6� 6�&�h�h�� � �4� 4r.c�*�t|j��Sr&)�boolr�r�s r+rCz Flag.__bool__�s���D�L�!�!�!r.c��t||j��r|jS|jturt||j��r|St Sr&)rQr�r�r�r��NotImplemented)r*�flags r+� _get_valuezFlag._get_value�sI�� �d�D�N� +� +� ��<� � � �v� -� -�*�T�4�CU�2V�2V� -��K��r.c���|�|��}|turtS||fD]*}|�|���td|�d�����+|j}|�||z��S)NrLz,' cannot be combined with other flags with |�r�r�rdr�r��r*r�� other_valuer�r(s r+rz Flag.__or__�����o�o�e�,�,� � �.� (� (�!� !��%�K� X� X�D����t�$�$�,�� V�D� V� V� V�W�W�W�-�� ���~�~�e�k�1�2�2�2r.c���|�|��}|turtS||fD]*}|�|���td|�d�����+|j}|�||z��S)NrLz,' cannot be combined with other flags with &r�r�s r+rz Flag.__and__�r�r.c���|�|��}|turtS||fD]*}|�|���td|�d�����+|j}|�||z ��S)NrLz,' cannot be combined with other flags with ^r�r�s r+rz Flag.__xor__r�r.c�*�|�|���td|�d����|j�^|jtt fvr!|�|j��|_n(|�|j|jz��|_|jS)NrLz' cannot be inverted) r�rdrrrrr�r�r�r�s r+r"zFlag.__invert__ s��� �?�?�4� � � (��:��:�:�:�;�;� ;� �?� "���5�$�-�/�/�"&�.�.�$�,��"?�"?����"&�.�.��1D�� �}�1T�"U�"U�����r.N)r0r1r2rr�r�r�r�r�r�r�rMrTrUr�rrCr�rrrr"r rr!r3r.r+r r 4s<��������N�!�!�!�$�2�2��[�2�+�M�����[���Z�Z��[�Z�x=�=�=�4�4�4� (�(�(�Q�Q�Q�5�5�5�"�"�"���� 3� 3� 3� 3� 3� 3� 3� 3� 3� � � ��H��G��H�H�Hr.r roc��eZdZdS)r Nr�r3r.r+r r r�r.r c�2� |���dz S)NrL)ryr's r+r�r�!s ��� � � � � �� !�!r.c�� g}|j���D],\}}||jkr|�||jf���-|r4d�d�|D����}t d|�d|�����|S)N�, c�"�g|] \}}|�d|���� S�z -> r3�r��aliasrHs r+r'zunique..1s'��L�L�L� ���u�u�u�d�d�+�L�L�Lr.zduplicate values found in r�)rVr�rHr�r�rm)� enumeration� duplicatesrHr� alias_detailss r+rr's�����J�#�/�5�5�7�7�3�3� ��f� �6�;� � � � � �t�V�[�1� 2� 2� 2���.�� � �L�L��L�L�L�N�N� ��j����m�m�-�.�.� .� �r.c�>�|dkrdS|dt|��zkS)NrLFr@)r�r's r+� _power_of_twor6s(�� �q�y�y��u� �A��5�)�)�)� )�)r.c�f� |jj�d��d}|�d|j��S)NrPrK)r�r1r�r�)r*rEs r+rr;s9��� �^� &� ,� ,�S� 1� 1�"� 5�F��f�f�d�k�k� *�*r.c�j�� |jj�d��d�|jj}|j���d|�d|j�d�St |j��r ��d|j��S|jtj ur9d� �fd�|j �d��D����Sg}|j�d��D]L}|d� ��r|� |���2|� ��d|�����Md� |��S)NrPrKr�r�r�c���g|] }��d|���� S)rPr3)r�rHrEs �r+r'z$global_flag_repr..Qs$���S�S�S�d�F�F�F�D�D�1�S�S�Sr.r)r�r1r�r0r�r�rarrrr�rH�isdigitr�)r*rUrHrrEs @r+rrDs7���� �^� &� ,� ,�S� 1� 1�"� 5�F��~�&�H� �{��$�f�f�h�h�h�� � � �=�=��d�l�#�#�/� �&�&�$�+�+�.�.� ��l�/�/�/��x�x�S�S�S�S�d�i�o�o�c�>R�>R�S�S�S�T�T�T�����"�"�3�'�'� 3� 3�A���t�|�|�~�~� 3�� � �A������ � �v�v�v�q�q�1�2�2�2�2��x�x��~�~�r.c�R� |j�|jj}|�d|j�d�S|jS)Nr�r�)r�r�r0r�r�s r+rr[s8��� �{���>�*��#�8�8�T�\�\�\�2�2��{�r.Fc�� t|t��r t|_n t|_t|t ��r|r t |_tj |j j � |j ��|Sr&)r�r rr�rrrrrpr�r1r�r�rV)r� update_strs r+rresr��� �#�t���(�'�� � �'�� � �c�8� $� $�!� �!� �� ��K����(�/�/���@�@�@� �Jr.)rr9c����� ���fd�}|S)Nc�� ��|j}���j�|j�d��}|�|j}n �jj}i}i}|�||d<||d<�|d<�jx|d<}gx|d<}ix|d<}ix|d<} g|d <�jx|d <} �j|d <t�t��r��p�j |d <d|d <d|d<d|d<d|d<tj |d<tj |d<tj|d<tj|d<tj|d<tj|d<tj|d<|j���D]R\} } | dvr� t)| ��s.t+|| ��st-| ��st/| ��r| || <�M| || <�S|j�d���d|d<t1|�f|�d���} dD]b} | |vr\t3�| ��}t3| | ��}t3t4| ��}t3| | ��}|||fvrt7| | |���cg}t| t���rdx}}|���D�]�\} }t9|t:��r.t:jt>ur|| dtA|��|��}|| vrAtC��}|�"| | ��t7| | |��| ||| <���r*t9|tF��s|f}|| g|�R�}|d}n || ��}|�||_$| |_%| |_&|�'|��tC��}|�"| | ��t7| | |��||| <tA|��|_(|| |<tS|��r|�*| ��||z}n||z}|�*|�����||z| _+|| _,d ||z�-��zdz | _.d!�| D��}|t_|��kr | j0| _1�n�|���D�]u\} }t9|t:��r5|jt>ur || dtA|��|��|_|j}|| vrAtC��}|�"| | ��t7| | |��| ||| <���r*t9|tF��s|f}|| g|�R�}|d}n || ��}|�||_$| |_%| |_&|�'|��tA|��|_(tC��}|�"| | ��t7| | |��||| <|| |<|�*| ��|�*|����wd|vr | j| _2tfj| _| S)"Nr-r2r�r�r�r�r�r�r�r�rrr�r�r�rrrrrr!r r")r�� __weakref__rRzAn enumeration.TrrrrLr@c��g|] }|j�� Sr3r$r%s r+r'z7_simple_enum..convert_class..�r(r.)4r0r�r�r�r�r�r-r�rr�r rrrrrr!r r"r�rIr^rMr=rRrSr�rjrQrr(r�rFrr�r�r�r�r�r,r�rar�r�r�ryr�r3r�r�r2r )rrUr-� new_member�attrsr��gnvr6rm�value2member_mapr rHr<r�r<r=r>r?�gnv_last_values� single_bits� multi_bitsr(r�rr@rr�r9s ���r+� convert_classz#_simple_enum..convert_class�s�����<�� � ��'�H��,�"�"�9�-�-�� � � �)�J�J��,�4�J����� � �%/�D�!� "�)��^��%��\��.3�.I�I�� $�%��02�2�� ���,.�.��^��z�8:�:�� !�"�%5�&(�� "�#�.3�.A�A��_�� �$�1��^�� �e�T� "� "� 1�!)�!=�U�-=�D�� �"&�D�� �!%�D�� �%)�D�!� "�!%�D�� �!�[�D��N�"�l�D��O�"�l�D��O�"�l�D��O�#�}�D�� �#�}�D�� �!%��D�� ���+�+�-�-� "� "�I�D�#��2�2�2���$��� "�;�x��#>�#>� "�*�T�BR�BR� "�Vd�eh�Vi�Vi� "� ��T� � �!��d� � � �<� � �I� &� &� .�/�D��O� �(�U�I�t�h�PT�U�U�U� �J� ;� ;�D��4���%�e�T�2�2� �&�z�4�8�8� � '��� 5� 5� �#*�;��#=�#=� ��$4�m�#D�D�D��J��k�:�:�:���� �j�$� '� '�P 2�'(� (�K�*�$�{�{�}�}�# 2�# 2� ��e��e�T�*�*�M�t�z�Z�/G�/G��C��a��\�):�):�O�L�L�E��,�,�,�'�z�z�H��)�)�*�d�;�;�;��J��h�7�7�7�'7��'>�J�t�$�$� �8�)�%��7�7�.�%*�I�E�!+��J�!?��!?�!?�!?�� %�a����!+��J�!7�!7����).���$(�F�M�*4�F�'��O�O�E�*�*�*�'�z�z�H��)�)�*�d�;�;�;��J��h�7�7�7�'-�J�t�$�*-�l�*;�*;�F�'�.4�$�U�+�%�e�,�,�,�$�+�+�D�1�1�1�#�u�,� � �"�e�+� �#�*�*�5�1�1�1�1�%0�:�%=�J� "�(3�J� %�$%�;�z�+A�*M�*M�*O�*O�$P�ST�$T�J� !�9�9�j�9�9�9�K��f�[�1�1�1�1�+5�+J� �(�� %�{�{�}�}� 2� 2� ��e��e�T�*�*�(��{�j�0�0�&)�c�$��3�|�3D�3D�o�&V�&V�� �!�K�E��,�,�,�'�z�z�H��)�)�*�d�;�;�;��J��h�7�7�7�'7��'>�J�t�$�$� �8�)�%��7�7�.�%*�I�E�!+��J�!?��!?�!?�!?�� %�a����!+��J�!7�!7����).���$(�F�M�*4�F�'��O�O�E�*�*�*�*-�l�*;�*;�F�'�'�z�z�H��)�)�*�d�;�;�;��J��h�7�7�7�'-�J�t�$�.4�$�U�+� �'�'��-�-�-�#�*�*�5�1�1�1�1� �� � �(2�(:�J� %�!�\� ���r.r3)r�rr9r!s``` r+r�r�ts=������Q�Q�Q�Q�Q�Q�Q�d �r.c��eZdZ dZdZdZdS)rzno skipped integer valuesz0multi-flag aliases may not contain unnamed flagszone name per valueN)r0r1r2rr r!r3r.r+rrs$�������-�J�D�K� !�F�F�Fr.rc��eZdZ d�Zd�ZdS)rc��||_dSr&)�checks)r*r%s r+r,zverify.__init__'s ���� � � r.c ���|j}|j}t�t|t��rd}n't|t��rd}nt d���|D�]�}|t urg}|j���D],\}}||j kr|� ||j f���-|r4d� d�|D����} td|�d| �������|tu�r,td�|D����} t| ��d kr��t!| ��t#| ��} } g} |dkrPt%t'| ��d zt'| ����D]!}d |z| vr| � d |z���"nH|dkr0t%| d z| ��D]}|| vr| � |���nt)d |z���| r=td |�d |�dd� d�| D������dd�������|t*u�r#|j}d�|D���g}d}|j���D]t\}}||vr� |jdkr�t3t5|j����} �fd�| D��}|r-|� |��|t7t8|��z}�u|r|t|��d kr d|dz}n*dd� |dd����d|d�d�}t;|��rd|z}nd|z}td|�d|�d |�d�������|S)Nr��enumz4the 'verify' decorator only works with Enum and Flagrc�"�g|] \}}|�d|���� Srr3rs r+r'z#verify.__call__..;s'��X�X�X�M�U�D�5�5�5�$�$�7�X�X�Xr.zaliases found in r�c3�$K�|] }|jV�� dSr&r')r�r:s r+r�z"verify.__call__..?s$����:�:��Q�W�:�:�:�:�:�:r.r@rLzverify: unknown type %rzinvalid rxz: missing values c3�4K�|]}t|��V��dSr&)r�r%s r+r�z"verify.__call__..Rs(����;T�;T�q�C��F�F�;T�;T�;T�;T�;T�;Tr.�c��g|] }|j�� Sr3r'r%s r+r'z#verify.__call__..Xs�� >� >� >�Q��� >� >� >r.rc���g|]}|�v�|�� Sr3r3)r�r�� member_valuess �r+r'z#verify.__call__..cs#���J�J�J�A�1�M�3I�3I�a�3I�3I�3Ir.zalias %s is missingzaliases rKr�z are missingz value 0x%xzcombined values of 0x%xz invalid Flag z/ [use enum.show_flag_values(value) for details])r%r0r r�r rdr!rVr�rHr�r�rmrr�rF�minr��ranger�r�r r�r�r(rrrpr�_or_ra)r*r r%rU� enum_type�checkr rHrr r��low�high�missingr�r6� missing_names� missing_valuer �missedr(r.s @r+rJzverify.__call__)s"�������'�� � � �;�� =� =� ��I�I� � �T� *� *� T��I�I��R�S�S� S��C �C �E������ �$/�$;�$A�$A�$C�$C�?�?�L�D�&��v�{�*�*�"�)�)�4���*=�>�>�>���:�$(�I�I�X�X�Z�X�X�X�%Z�%Z�M�$�*�(�[�[�-�-�&9�:�:�:�:� �*�$�$��:�:�k�:�:�:�:�:���v�;�;��?�?����K�K��V���T������&�&�"�9�S�>�>�!�#3�Y�t�_�_�E�E�1�1���a�4�v�-�-�#�N�N�1�a�4�0�0�0��1��&�(�(�"�3�q�5�$�/�/�.�.���F�?�?�#�N�N�1�-�-�-��.�$�$=� �$I�J�J�J��%�$�*�%�I�I�x�x�x����;T�;T�G�;T�;T�;T�1U�1U�1U�'W�"�s�d�&$�%�%�%�%� �+�%�%�*�9� � >� >�+� >� >� >� � "� � !� �#.�#;�#A�#A�#C�#C� >� >�K�D�%��|�+�+� ��{�Q��� �!�.���"=�"=�>�>�F�J�J�J�J��J�J�J�F��>�%�,�,�T�2�2�2�%���f�)=�)=�=� �� ���=�)�)�Q�.�.� 5� �a�8H� H���/�!%� � �-����*<� =� =� =� =�}�R�?P�?P�?P�!"��&�m�4�4�J� ,�}� <��� 9�M� I��$�*�'�x�x�������7������r.N)r0r1r2r,rJr3r.r+rr#s<����������M�M�M�M�Mr.rc �D� g}|j|jk�r�|j}t|�����}|j}t|�����}tt|j�����t|j�����z��}t||z��D�]/}|dvr�||vr� ||vr|�d|�����*||vr|�d|�����G||} ||} t | ��st| tj ��r��|dkr| � dd��� dd��} | � dd��� dd��} | | kr#|�|�dd | ���d d | ��������| | kr#|�|�dd | ���d d | ��������1|� ��|D�]^} g}| |vr|�d | z���n | |vr|�d | z��n�|| j}t|�����}|| j}t|�����}t||z��D]�}|dvr�||vr|�d|�d| �����'||vr|�d|�d| �����G||} ||} | | kr#|�|�dd| ���d d| ��������|r-|�| �dd� |��������`dD]~}||vr||vr� ||vro||vrkt||d��}t||d��}t|d��r|j}|j}||kr$|�|�dd |��d�dd|�������~�|r%t!dd� |��z���dS)N)r1r�r�rRz missing key: z extra key: rRrxrO� z : z checked -> z z simple -> z#missing member from simple enum: %rzextra member in simple enum: %r)r1r�rz missing key z not in the simple enum member z extra key z in simple enum member zchecked member -> zsimple member -> z member mismatch: z )rr�rhr�__getnewargs_ex__�__getnewargs__rh� __reduce__r�z: �30z simple -> zenum mismatch: %sz )r�rrr�r�r�r��callablerQrzrr|r�r�rSr;r�rd)� checked_enum� simple_enum�failed� checked_dict� checked_keys� simple_dict� simple_keysr6r�� checked_value� simple_value�compressed_checked_value�compressed_simple_valuerH� failed_member�checked_member_dict�checked_member_keys�simple_member_dict�simple_member_keysr;�checked_method� simple_methods r+�_test_simple_enumrSxsi���$�F��� � 4�4�4�#�,� ��L�-�-�/�/�0�0� �!�*� ��;�+�+�-�-�.�.� ���\�.�3�3�5�5�6�6��{�/�4�4�6�6�7�7�8��� ��|�k�1�2�2� � �C��U�U�U��� �$�$���K�'�'�� � � �3�3�9�:�:�:�:��L�(�(�� � � �3�3�9�:�:�:�:� ,�S� 1� �*�3�/� ��M�*�*��j����.W�.W����)�#�#�/<�/D�/D�S��/L�/L�/T�/T�UY�Z\�/]�/]�,�.:�.B�.B�3�r�.J�.J�.R�.R�SW�XZ�.[�.[�+�/�3J�J�J�� � � #����3@�=� C� C� C� C�3?�<� B� B�'"�#�#�#�� #�l�2�2��M�M��C�C�C�/<�}�?�?�?�?�/;�|�>�>�#����� � � � � � � � � �D��M��;�&�&�� � �C�d�J�K�K�K�K��\�)�)�� � �?�$�F�G�G�G�G�&2�4�&8�&A�#�&*�+>�+C�+C�+E�+E�&F�&F�#�%0��%6�%?�"�%)�*<�*A�*A�*C�*C�%D�%D�"��2�5G�G�H�H�'�'�C��J�J�J� ��$6�6�6�%�,�,�,�be�be�be�gk�gk�-l�m�m�m�m��$7�7�7�%�,�,�,�X[�X[�X[�]a�]a�-b�c�c�c�c�(;�C�(@� �'9�#�'>� �(�L�8�8�)�0�0�$'�C�C�C�>K�m�$N�$N�$N�$N�>J�l�$M�$M�2&�'�'�'�� � �� � ����j�o�o�m�<�<�<������� � �F���$�$��<�)?�)?���{�*�*�v�\�/I�/I�!(��v�t�!D�!D�� '� �V�T� B� B� ��>�:�6�6�;�%3�%<�N�$1�$:�M�!�]�2�2��M�M�"�F�F�F�/=�~�@�@�@�@�@�.;�m�>�>�#������ �H��/�'�,�,�v�2F�2F�F�G�G�G�H�Hr.c�<�� tj|j}|r|j}n|}�fd�|���D��} |�d����n'#t $r|�d����YnwxYw|||||pt ���}|S)Nc�4��g|]\}}�|���||f��Sr3r3r|s �r+r'z!_old_convert_..s?��������e��v�d�|�|�� �5�M���r.c�"�|d|dfSrr3r�s r+r�z_old_convert_..s��A�a�D�!�A�$�<�r.r�c��|dSr�r3r�s r+r�z_old_convert_.. s ��1�Q�4�r.)rEr)rpr�r�r�r�rdr) r�rHrEr}r�rr�r�rs ` r+� _old_convert_rX�s������[��(�1�N� � �����������%�|�|�~�~����G�)�� � �/�/� �0�0�0�0�� �)�)�)�� � ��� �(�(�(�(�(�)���� �%��g�f�x�7G�4� H� H� H�C� �Jr�r&)F)Crp�builtinsrz�typesrr�operatorrr1� functoolsr�__all__r r r� _stdlib_enumsrr�rrr=rIrMrYr^rarkrprsr{r�r�rrr�rir�rRrrr�r r�r r"�_reduce_ex_by_global_namer#rrrrr r�rrrrrrr�rrr r!rrSrXr3r.r+�r`s��� � � � �����9�9�9�9�9�9�9�9� � � � � � ������� � � ��26�5��5�t�5�e�5�m�h���������������V������� � � � � � �A�A�A� � � ���� 0� 0� 0� � � �'�'�'�$�$�$�$�0 � � ����������Z�\�\� �'�'�'�'�'�'�'�'�/+�/+�/+�/+�/+�$�/+�/+�/+�dt9�t9�t9�t9�t9�t9�t9�t9�n{�{�{�{�{��{�{�{�||+�|+�|+�|+�|+�t�|+�|+�|+�z ��M�M�M�M�M�X�M�M�M�M�`�����t���� �����c�8���� �����c�8����B���2��2�2�2� � � � � �7� � � � ,������d�d�d�d�d�4�&�d�d�d�d�N�����c�8�T�D����� "�"�"� � � �*�*�*� +�+�+����.��� � � � ��b���b�b�b�b�b�H��g���"�"�"�"�"�"�"���"�#,�� �K��S�S�S�S�S�S�S�S�jwH�wH�wH�r�������<��'�)� � � r.