a
àMÒek ã @ s> d dl Z d dlmZmZmZ eddd�ZG dd„ de jƒZdS )é N)ÚTypeÚTypeVarÚUnionÚTIntEnumÚIntEnum)Úboundc @ s e Zd Zedd„ ƒZedd„ ƒZeee eedœdd„ƒZ eee e
edœd d
„ƒZeee ee
ef edœdd„ƒZ
ed
d„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZdS )r c C s> | |¡ t | |¡}| |d ¡p0| ¡ › |› �|_||_|S ©N)Ú_check_valueÚintÚ__new__Ú_extra_to_textÚ_prefixÚ_name_Ú_value_)ÚclsÚvalueÚval© r ú,/usr/lib/python3.9/site-packages/dns/enum.pyÚ _missing_ s
zIntEnum._missing_c C sD | ¡ }t|tƒst‚|dk s&||kr@| ¡ }t|› d|› �ƒ‚d S )Nr z$ must be an int between >= 0 and <= )Ú_maximumÚ
isinstancer
Ú TypeErrorÚ_short_nameÚ
ValueError)r r ÚmaxÚnamer r r r ! s
zIntEnum._check_value)r ÚtextÚreturnc C sª | ¡ }z
| | W S ty$ Y n0 | |¡}|r8|S | ¡ }| |¡rž|t|ƒd … ¡ ržt|t|ƒd … ƒ}| |¡ z
| |ƒW S t yœ | Y S 0 |
¡ ‚d S r )ÚupperÚKeyErrorÚ_extra_from_textr
Ú
startswithÚlenÚisdigitr
r r Ú_unknown_exception_class)r r r Úprefixr r r Ú from_text* s"
zIntEnum.from_text)r r r c C sX | |¡ z| |ƒj}W n ty. d }Y n0 | ||¡}|d u rT| ¡ › |› �}|S r )r r r r r
)r r r r r r Úto_text> s
zIntEnum.to_textc C s&