
    he                     ^    d dl Z d dlmZmZmZ  edd      Z G d de j                        Zy)    N)AnyTypeTypeVarTIntEnumIntEnum)boundc                       e Zd Zed        Zed        Zedee   dedefd       Z	edee   de
defd       Zedee   de
ez  defd	       Zed
        Zed        Zedefd       Zedededz  fd       Zed        Zedee   fd       Zy)r   c                     | j                  |       t        j                  | |      }| j                  |d       xs | j	                          | |_        ||_        |S N)_check_valueint__new___extra_to_text_prefix_name__value_)clsvaluevals      F/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/dns/enum.py	_missing_zIntEnum._missing_   sT    kk#u%''t4Q3;;=/%8Q

    c                     | j                         }t        |t              st        |dk  s||kD  r | j	                         }t        | d|       y )Nr   z$ must be an int between >= 0 and <= )_maximum
isinstancer   	TypeError_short_name
ValueError)r   r   maxnames       r   r   zIntEnum._check_value!   sQ    lln%%O19??$Dv%I#OPP $r   r   textreturnc                 p   |j                         }	 | |   S # t        $ r Y nw xY w| j                  |      }|r|S | j                         }|j	                  |      rL|t        |      d  j                         r0t        |t        |      d        }| j                  |        | |      S | j                         r   )
upperKeyError_extra_from_textr   
startswithlenisdigitr   r   _unknown_exception_class)r   r!   r   prefixs       r   	from_textzIntEnum.from_text*   s    zz|	t9 		$$T*L??6"tCKM':'B'B'DS[]+,EU#u:**,,s    	##r   c                     | j                  |       	  | |      j                  }| j                  ||      }|| j	                          | }|S # t        $ r d }Y 7w xY wr   )r   r    r   r   r   )r   r   r!   s      r   to_textzIntEnum.to_text;   sj    	u:??D !!%.<kkm_UG,D  	D	s   A AAc                 v    t        |t              r| j                  |      S | j                  |        | |      S )a  Convert text or a value into an enumerated type, if possible.

        *value*, the ``int`` or ``str`` to convert.

        Raises a class-specific exception if a ``str`` is provided that
        cannot be converted.

        Raises ``ValueError`` if the value is out of range.

        Returns an enumeration from the calling class corresponding to the
        value, if one is defined, or an ``int`` otherwise.
        )r   strr,   r   )r   r   s     r   makezIntEnum.makeG   s5     eS!==''5zr   c                     t         r   )NotImplementedErrorr   s    r   r   zIntEnum._maximum[   s    !!r   c                 6    | j                   j                         S r   )__name__lowerr4   s    r   r   zIntEnum._short_name_   s    ||!!##r   c                      y)N  r4   s    r   r   zIntEnum._prefixc   s    r   Nc                      y r   r:   )r   r!   s     r   r&   zIntEnum._extra_from_textg   s    r   c                     |S r   r:   )r   r   current_texts      r   r   zIntEnum._extra_to_textk   s    r   c                     t         S r   )r   r4   s    r   r*   z IntEnum._unknown_exception_classo   s    r   )r6   
__module____qualname__classmethodr   r   r   r   r0   r,   r   r.   r1   r   r   r   r   r&   r   	Exceptionr*   r:   r   r   r   r      sQ     Q Q -tH~ -S -X - -  	T(^ 	C 	C 	 	 $x. s x  & " " $ $    C C$J     i  r   )enumtypingr   r   r   r   r   r:   r   r   <module>rE      s.   $  % %:Y/Ydll Yr   