grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|j—›ã@sêddlZddlmZmZgd¢Zdd„Zdd„Zdd „Zd d „Zd d „Z e ƒZ Gdd„dƒZ Gdd„de ƒZdZGdd„deƒZGdd„ded�ZGdd„deeƒZdd„ZGdd„deƒZGdd„deeƒZdd „Zd!d"„Zd#d$„ZdS)%éN)ÚMappingProxyTypeÚDynamicClassAttribute)ÚEnumMetaÚEnumÚIntEnumÚFlagÚIntFlagÚautoÚuniquecCs t|dƒpt|dƒpt|dƒS)NÚ__get__Ú__set__Ú __delete__)Úhasattr)Úobj©rú+/opt/alt/python310/lib64/python3.10/enum.pyÚ_is_descriptor s  ÿýrcCsN t|ƒdko&|dd…|dd…kodkno&|ddko&|ddkS)NéééþÿÿÿÚ__Ú_éýÿÿÿ©Úlen©ÚnamerrrÚ _is_dunders &ÿ þ ürcCsN t|ƒdko&|d|dkodkno&|dd…dko&|dd…dkS)NrréÿÿÿÿrérrrrrrÚ _is_sunder!s ÿþür cCs^d|f}t|ƒ}t|ƒ|kr-| |¡r-|||d…dgkr-|ddks+|ddkr-dSdS)Nz_%s__rrrrTF)rÚ startswith)Úcls_namerÚpatternÚpat_lenrrrÚ _is_private,s  ÿr%cCs dd„}||_d|_dS)NcSs td|ƒ‚)Nz%r cannot be pickled)Ú TypeError©ÚselfÚprotorrrÚ_break_on_call_reduce>s z6_make_class_unpicklable.._break_on_call_reducez )Ú __reduce_ex__Ú __module__)Úclsr*rrrÚ_make_class_unpicklable:s r.c@seZdZ eZdS)r N)Ú__name__r,Ú __qualname__Ú _auto_nullÚvaluerrrrr Dsr cs*eZdZ ‡fdd„Z‡fdd„Z‡ZS)Ú _EnumDictcs&tƒ ¡g|_g|_g|_d|_dS)NF)ÚsuperÚ__init__Ú _member_namesÚ _last_valuesÚ_ignoreÚ _auto_called©r(©Ú __class__rrr5Rs  z_EnumDict.__init__csˆ t|j|ƒrddl}|jd|ftdd�t|ƒr`|dvr"tdƒ‚|dkr4|jr-tdƒ‚t |d |ƒn‡|d kr_t |t ƒrF|  d d ¡  ¡}nt|ƒ}||_t|ƒt|jƒ@}|r_td |fƒ‚n[t|ƒrk|dkrjd}nP||jvrvtd|ƒ‚||jvr|n?t|ƒs»||vrŽtd|||fƒ‚t |tƒr¯|jtkr¬| |dt|jƒ|jdd…¡|_d|_|j}|j |¡|j |¡tƒ ||¡dS)Nrz@private variables, such as %r, will be normal attributes in 3.11r©Ú stacklevel)Ú_order_Ú_create_pseudo_member_Ú_generate_next_value_Ú _missing_Ú_ignore_z(_names_ are reserved for future Enum userAz4_generate_next_value_ must be defined before membersÚ_generate_next_valuerCú,ú z-_ignore_ cannot specify already set names: %rÚ __order__r?zAttempted to reuse key: %rz%r already defined as: %rrT)r%Ú _cls_nameÚwarningsÚwarnÚDeprecationWarningr Ú ValueErrorr9r&ÚsetattrÚ isinstanceÚstrÚreplaceÚsplitÚlistr8Úsetr6rrr r2r1rDrr7Úappendr4Ú __setitem__)r(Úkeyr2rIÚalreadyr;rrrUYsl ÿü ÿÿ€€      ü  z_EnumDict.__setitem__)r/r,r0r5rUÚ __classcell__rrr;rr3Ks r3csîeZdZ edd„ƒZ‡fdd„Zdd„Zd,ddddd œd d „Zd d „Z‡fdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zedd„ƒZdd„Zdd„Z‡fd d!„Zddddd œd"d#„Zd,d$d%„Zed&d'„ƒZed(d)„ƒZed*d+„ƒZ‡ZS)-rcKsD| ||¡tƒ}||_| ||¡\}}|dur t|ddƒ|d<|S)NrA)Ú_check_for_existing_membersr3rHÚ _get_mixins_Úgetattr)Úmetaclsr-ÚbasesÚkwdsÚ enum_dictÚ member_typeÚ first_enumrrrÚ __prepare__¥s ÿzEnumMeta.__prepare__c s†ˆ dg¡ d¡ˆd}|D]}ˆ |d¡q| ||¡\‰}| ˆˆ|¡\}} } ‡fdd„ˆjDƒ} ˆjD]} ˆ| =q7ˆ dd¡} t| ƒddh@}|rWtd d  |¡¡ƒ‚d ˆvr_d ˆd <t ƒj |||ˆfi|¤Ž}g|_ i|_ ˆ|_d d „| ¡Dƒ}i|_d ˆvrÕˆturÕd}t‡fdd„|DƒƒsÕdˆvrŸt|ƒn6d}|D]+}|jD]‰ˆtur¯q¨t‡fdd„|Dƒƒr¾d}n dˆjvrÇd}nq¨|durÎnq£|rÕt|ƒˆjD]Ž}| |}t|tƒsç|f}n|}ˆturð|f}| sÿ||ƒ}t|dƒsþ||_n||g|¢RŽ}t|dƒ�sˆtu�r||_nˆ|Ž|_|j}||_||_|j|Ž|j  ¡D]\} }|j|jk�r=|}n�q.|j  |¡||v�rPt|||ƒ||j |<z||j|<WqØt�yfYqØwdD]+} | ˆv�rr�qit || ƒ}t ˆ| dƒ}t || dƒ}|du�r“||u�r“t|| |ƒ�qit!du�r¤| �r ||_"t!j |_ | du�rÁt| t#ƒ�r·|  $dd¡ %¡} | |j k�rÁtdƒ‚|S)NrCcsi|]}|ˆ|“qSrr)Ú.0Úk)Ú classdictrrÚ Æsz$EnumMeta.__new__..r?ÚmroÚzInvalid enum member name: {0}rEÚ__doc__zAn enumeration.cSs.h|]}|j ¡D] \}}t|tƒr |’q qSr)Ú__dict__ÚitemsrNr)rcÚcrdÚvrrrÚ Þsþýÿz#EnumMeta.__new__..r+)Ú__getnewargs_ex__Ú__getnewargs__r+Ú __reduce__c3ó�|]}|ˆjvVqdS©N©rj©rcÚm)r`rrÚ õó€z#EnumMeta.__new__..Ú__new__c3rrrsrtru)ÚbaserrrwrxFTÚ_value_)Ú__repr__Ú__str__Ú __format__r+rFz#member order does not match _order_)&Ú setdefaultrTÚpoprZÚ _find_new_r6rSrLÚformatÚjoinr4ryÚ_member_names_Ú _member_map_Ú _member_type_rgÚ_value2member_map_ÚobjectÚanyr.Ú__mro__rjrNÚtuplerr{Ú_name_Ú __objclass__r5rkrMr&r[rÚ__new_member__rOrPrQ)r\r-r]rer^ÚignorerVraryÚsave_newÚuse_argsÚ enum_membersrr?Ú invalid_namesÚ enum_classÚdynamic_attributesÚmethodsÚsabotageÚchainÚ member_namer2ÚargsÚ enum_memberÚcanonical_memberÚ class_methodÚ obj_methodÚ enum_methodr;)rzrer`rry´sÐ ÿ  ÿÿ    ýÿ   €    þ    ÿ     €    zEnumMeta.__new__cCs dS)NTrr:rrrÚ__bool__aszEnumMeta.__bool__Nr©ÚmoduleÚqualnameÚtypeÚstartcCs, |dur | ||¡S|j||||||d�S)Nr¡)ryÚ_create_)r-r2Únamesr¢r£r¤r¥rrrÚ__call__gs úzEnumMeta.__call__cCsRt|tƒsddl}|jdtdd�tdt|ƒj|jjfƒ‚t||ƒo(|j |j vS)Nrzpin 3.12 __contains__ will no longer raise TypeError, but will return True if obj is a member or a member's valuerr=ú3unsupported operand type(s) for 'in': '%s' and '%s') rNrrIrJrKr&r¤r0r<rŒr…)r-rrIrrrÚ __contains__Œs üÿÿzEnumMeta.__contains__cs(||jvr td|jƒ‚tƒ |¡dS)Nz%s: cannot delete Enum member.)r…ÚAttributeErrorr/r4Ú __delattr__)r-Úattrr;rrr¬šs zEnumMeta.__delattr__cCsgd¢|jS)N)r<riÚ __members__r,©r„r:rrrÚ__dir__¡sÿÿzEnumMeta.__dir__cCs8 t|ƒr t|ƒ‚z|j|WStyt|ƒd‚wrs)rr«r…ÚKeyError©r-rrrrÚ __getattr__§s   ÿzEnumMeta.__getattr__cCs |j|Srs©r…r²rrrÚ __getitem__·ó zEnumMeta.__getitem__cs ‡fdd„ˆjDƒS)Nc3ó�|]}ˆj|VqdSrsr´©rcr©r-rrrw¾rxz$EnumMeta.__iter__..r¯r¹rr¹rÚ__iter__ºszEnumMeta.__iter__cCó t|jƒSrs)rr„r¹rrrÚ__len__Àr¶zEnumMeta.__len__cCs t|jƒSrs)rr…r¹rrrr®Ãs zEnumMeta.__members__cCs d|jS)Nz )r/r¹rrrr|Ír¶zEnumMeta.__repr__cs ‡fdd„tˆjƒDƒS)Nc3r·rsr´r¸r¹rrrwÔrxz(EnumMeta.__reversed__..)Úreversedr„r¹rr¹rÚ __reversed__ÐszEnumMeta.__reversed__cs2 |j di¡}||vrtdƒ‚tƒ ||¡dS)Nr…zCannot reassign members.)rjÚgetr«r4Ú __setattr__)r-rr2Ú member_mapr;rrrÀÖs zEnumMeta.__setattr__c Csh |j}|dur |fn||f}| ||¡\} } | ||¡} t|tƒr*| dd¡ ¡}t|ttfƒrb|rbt|dtƒrb|g} }g} t | ƒD]\}}|   |||| dd…¡}|   |¡|  ||f¡qE|D]}t|tƒrs|||}}n|\}}|| |<qd|  |||| ¡}|durŸz t  d¡jd}Wn tttfyžYnw|dur¨t|ƒn||_|dur²||_|S)NrErFrrr/)r<rZrbrNrOrPrQr‹rRÚ enumeraterArTryÚsysÚ _getframeÚ f_globalsr«rLr±r.r,r0)r-Ú class_namer§r¢r£r¤r¥r\r]rrareÚoriginal_namesÚ last_valuesÚcountrr2Úitemr™Ú member_valuer”rrrr¦ãs@        ÿ zEnumMeta._create_csœ ttj|ƒ}|rt|ƒ}n|}‡fdd„| ¡Dƒ}z |jdd„d�Wnty7|jdd„d�Ynw||||d�}t|_| |j ¡|||<|S)Ncs g|] \}}ˆ|ƒr||f‘qSrr)rcrr2©ÚfilterrrÚ )s ýÿz&EnumMeta._convert_..cSs|d|dfS)Nrrr©ÚtrrrÚ/sz$EnumMeta._convert_..)rVcSs|dS©NrrrÏrrrrÑ2s)r¢) ÚvarsrÃÚmodulesrkÚsortr&Ú_reduce_ex_by_namer+Úupdater®)r-rr¢rÍÚsourceÚmodule_globalsÚmembersrrÌrÚ _convert_s$  þ þ zEnumMeta._convert_cCs<|D]}|jD]}t|tƒr|jrtd||jfƒ‚qqdS)Nz %s: cannot extend enumeration %r)rŠÚ issubclassrr„r&r/)rÆr]r˜rzrrrrY9s ÿÿ€þÿz$EnumMeta._check_for_existing_memberscsV |sttfS‡fdd„}|d}t|tƒstdƒ‚||ƒpt}|jr'tdƒ‚||fS)Ncs¬tƒ}|D]:}d}|jD]2}|turq t|tƒr&|jtur%| |j¡nq d|jvr:t|tƒr1q | |p6|¡n|p=|}q qt|ƒdkrNt dˆ|fƒ‚|rT|  ¡SdS)Nryrz%r: too many data types: %r) rSrŠrˆrÜrr†Úaddrjrr&r€)r]Ú data_typesr˜Ú candidaterz©rÆrrÚ_find_data_typeNs.    þ   € z.EnumMeta._get_mixins_.._find_data_typerzZnew enumerations should be created as `EnumName([mixin_type, ...] [data_type,] enum_type)`zCannot extend enumerations)rˆrrÜr&r„)rÆr]rárar`rràrrZCs   zEnumMeta._get_mixins_c Cs� | dd¡}|du}|dur9dD]$}||fD]}t||dƒ}|ddjtjtjhvr.|}nq|dur5nqtj}|tjurAd}nd}|||fS)Nry)rŽryFT)r¿r[ryrˆr) rer`raryr�ÚmethodÚpossibleÚtargetr‘rrrr�rs0   üùÿ  zEnumMeta._find_new_rs)r/r,r0Ú classmethodrbryr r¨rªr¬r°r³rµrºr¼Úpropertyr®r|r¾rÀr¦rÛÚ staticmethodrYrZr�rXrrr;rr¡s8  .%     5!  .rc@sreZdZ dd„Zdd„Zedd„ƒZdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z e dd„ƒZe dd„ƒZdS)rc Cst|ƒ|ur|Sz|j|WStyYnty2|j ¡D] }|j|kr/|YSq"Ynwz d}| |¡}WntyR}z |}d}WYd}~nd}~wwz6t ||ƒr`|Wd}d}St d||j fƒ}|durs|durs|‚|dur€td|j |fƒ}t |t ƒsˆ||_ |‚d}d}w)Nú%r is not a valid %szDerror in %s._missing_: returned %r instead of None or a valid member)r¤r‡r±r&r…Úvaluesr{rBÚ ExceptionrNrLr0r/Ú __context__)r-r2ÚmemberÚexcÚresultÚeÚve_excrrrry¦sP      ÿÿþ€þ òÿÿ z Enum.__new__c Cs4 t|ƒD]}z|dWStyYqw|S©Nr)r½r&)rr¥rÉrÈÚ last_valuerrrrAÔs  ÿzEnum._generate_next_value_cCsdSrsr)r-r2rrrrBåszEnum._missing_cCsd|jj|j|jfS)Nú <%s.%s: %r>)r<r/rŒr{r:rrrr|ésÿz Enum.__repr__cCsd|jj|jfS)Nú%s.%s)r<r/rŒr:rrrr}ísz Enum.__str__cs6 ‡fdd„ˆj ¡Dƒdd„ˆjDƒ}gd¢|S)Ncs2g|]}|jD]}|ddkr|ˆjvr|‘qqS©rr)rjr…)rcr-rvr:rrrÎôsýýz Enum.__dir__..cSsg|] }|ddkr|‘qSrõrrurrrrÎùó)r<rir,)r<rgrj)r(Úadded_behaviorrr:rr°ðs þû z Enum.__dir__cCsL t|ƒjtjtjfv}|jtus|rt}t|ƒ}n|j}|j}| ||¡Srs) r¤r}rrr†rˆrOr{r~)r(Ú format_specÚstr_overriddenr-Úvalrrrr~üs  zEnum.__format__cCr»rs)ÚhashrŒr:rrrÚ__hash__r¶z Enum.__hash__cCs|j|jffSrs©r<r{r'rrrr+szEnum.__reduce_ex__cCó |jSrs)rŒr:rrrróz Enum.namecCrþrs©r{r:rrrr2!rÿz Enum.valueN)r/r,r0ryrArårBr|r}r°r~rür+rrr2rrrrr s .   r)Ú metaclassc@s eZdZdS)rN)r/r,r0rrrrr'srcCó|jSrsrr'rrrrÖ+srÖc@sneZdZ dd„Zedd„ƒZedd„ƒZdd„Zd d „Zd d „Z d d„Z dd„Z dd„Z dd„Z dd„ZdS)rc CsZ |s |dur |SdSt|ƒD]}zt|ƒ}Wnty&td|ƒd‚wd|dS)NrzInvalid Flag value: %rr)r½Ú _high_bitrêr&)rr¥rÉrÈròÚhigh_bitrrrrA3s  ÿ zFlag._generate_next_value_cCs0 |}|dkr |}| |¡}|dkr|}|SrÒ)r@)r-r2Úoriginal_valueÚpossible_memberrrrrBFs zFlag._missing_cCsd |j |d¡}|dur0t||ƒ\}}|rtd||jfƒ‚t |¡}d|_||_|j  ||¡}|S©Nrè) r‡r¿Ú _decomposerLr0rˆryrŒr{r)r-r2Ú pseudo_memberrÚ extra_flagsrrrr@Ss zFlag._create_pseudo_member_cCs: t||jƒstdt|ƒj|jjfƒ‚|j|j@|jkS)Nr©)rNr<r&r¤r0r{©r(Úotherrrrrªgs ÿÿzFlag.__contains__cCsV|j}|jdurd|j|j|jfSt||jƒ\}}d|jd dd„|Dƒ¡|jfS)Nróú|cSóg|] }t|jp |jƒ‘qSr©rOrŒr{rurrrrÎxröz!Flag.__repr__..)r<rŒr/r{rrƒ©r(r-rÚÚ uncoveredrrrr|qs ýz Flag.__repr__cCs||j}|jdurd|j|jfSt||jƒ\}}t|ƒdkr/|djdur/d|j|djfSd|jd dd„|Dƒ¡fS)Nrôrrz%s.%rr cSrrrrurrrrΆröz Flag.__str__..)r<rŒr/rr{rrƒrrrrr}|s þz Flag.__str__cCr»rs)Úboolr{r:rrrr ‰r¶z Flag.__bool__cCs"t||jƒstS| |j|jB¡Srs©rNr<ÚNotImplementedr{r rrrÚ__or__Œó z Flag.__or__cCs"t||jƒstS| |j|j@¡Srsrr rrrÚ__and__‘rz Flag.__and__cCs"t||jƒstS| |j|jA¡Srsrr rrrÚ__xor__–rz Flag.__xor__cCsNt|j|jƒ\}}| d¡}|jD]}||vr!|j|j@s!||B}q| |¡SrÒ)rr<r{)r(rÚrÚinvertedrvrrrÚ __invert__›s  € zFlag.__invert__N)r/r,r0rArårBr@rªr|r}r rrrrrrrrr.s      rc@sReZdZ edd„ƒZedd„ƒZdd„Zdd„Zd d „ZeZ eZ eZ d d „Z d S)rcCs, t|tƒstd||jfƒ‚| |¡}|Sr)rNÚintrLr0r@)r-r2Ú new_memberrrrrB©s   zIntFlag._missing_cCs° |j |d¡}|durV|g}t||ƒ\}}|r %sr)rcÚaliasrrrrrÎýrözunique..z duplicate values found in %r: %s)r®rkrrTrƒrL)Ú enumerationÚ duplicatesrrìÚ alias_detailsrrrr ós € ÿÿr c Csì |}|dk}g}|D]}|j}|r"||@|kr"| |¡||M}q |sH|}|rHdt|ƒ}||jvrA| |j|¡||M}||M}|s)|sW||jvrW| |j|¡|jdd„dd�t|ƒdkrr|dj|krr| d¡||fS)NrrcSrrsr)rvrrrrÑsz_decompose..T)rVÚreverser)r2rTrr‡rÕrr€) Úflagr2Ú not_coveredÚnegativerÚrìrËÚtmprrrrrs2  €    û r)rÃÚtypesrrÚ__all__rrr r%r.rˆr1r Údictr3rr¤rrrrÖrrrr rrrrrÚs4    TvI