
    hU                        S r SSKJrJr  SSKrSSKr " S S\R                  R                  5      r	 " S S\R                  R                  5      rS\S	\	4S
 jrS\S\S	\	4S jrS\	S	\\\4   4S jrSS\	S\S	\4S jjr\	R(                  r\	R*                  r\	R,                  r\	R.                  r\	R0                  r\	R2                  r\	R4                  r\	R6                  r\	R8                  r\	R:                  r\	R<                  r\	R>                  r\	R@                  r \	RB                  r!\	RD                  r"\	RF                  r#\	RH                  r$\	RJ                  r%\	RL                  r&\	RN                  r'\	RP                  r(g)zDNS Result Codes.    )TupleTypeNc                       \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrSrSrSrSrSrSrSrSrSrSr\S 5       r\S\\   4S j5       rSrg)Rcode   r                           	   
                              c                     g)N   clss    ^C:\Users\ROHAN GUPTA\OneDrive\Desktop\mathbuddy-assessment\venv\Lib\site-packages\dns/rcode.py_maximumRcode._maximumF   s        returnc                     [         $ )N)UnknownRcoder   s    r    _unknown_exception_classRcode._unknown_exception_classJ   s    r#   r   N)__name__
__module____qualname____firstlineno__NOERRORFORMERRSERVFAILNXDOMAINNOTIMPREFUSEDYXDOMAINYXRRSETNXRRSETNOTAUTHNOTZONE	DSOTYPENIBADVERSBADSIGBADKEYBADTIMEBADMODEBADNAMEBADALGBADTRUNC	BADCOOKIEclassmethodr!   r   	Exceptionr'   __static_attributes__r   r#   r    r   r      s    GGHHFGHGGGGIGFFGGGFHI  i  r#   r   c                       \ rS rSrSrSrg)r&   O   zA DNS rcode is unknown.r   N)r)   r*   r+   r,   __doc__rD   r   r#   r    r&   r&   O   s    !r#   r&   textr$   c                 ,    [         R                  U 5      $ )zConvert text into an rcode.

*text*, a ``str``, the textual rcode or an integer in textual form.

Raises ``dns.rcode.UnknownRcode`` if the rcode mnemonic is unknown.

Returns a ``dns.rcode.Rcode``.
)r   	from_text)rH   s    r    rJ   rJ   S   s     ??4  r#   flags	ednsflagsc                 H    U S-  US-	  S-  -  n[         R                  U5      $ )zReturn the rcode value encoded by flags and ednsflags.

*flags*, an ``int``, the DNS flags field.

*ednsflags*, an ``int``, the EDNS flags field.

Raises ``ValueError`` if rcode is < 0 or > 4095

Returns a ``dns.rcode.Rcode``.
   r     )r   make)rK   rL   values      r    
from_flagsrR   `   s*     V^bE 9:E::er#   rQ   c                 P    U S:  d  U S:  a  [        S5      eU S-  nU S-  S-  nX4$ )zReturn a (flags, ednsflags) tuple which encodes the rcode.

*value*, a ``dns.rcode.Rcode``, the rcode.

Raises ``ValueError`` if rcode is < 0 or > 4095.

Returns an ``(int, int)`` tuple.
r   r   zrcode must be >= 0 and <= 4095rN   rO   r   )
ValueError)rQ   vevs      r    to_flagsrW   p   s;     qyEDL9::A
%-B	B7Nr#   tsigc                 d    U(       a  U [         R                  :X  a  g[         R                  U 5      $ )zConvert rcode into text.

*value*, a ``dns.rcode.Rcode``, the rcode.

Raises ``ValueError`` if rcode is < 0 or > 4095.

Returns a ``str``.
r:   )r   r9   to_text)rQ   rX   s     r    rZ   rZ      s$     &==r#   )F))rG   typingr   r   dns.enumdnsdns.exceptionenumIntEnumr   	exceptionDNSExceptionr&   strrJ   intrR   rW   boolrZ   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   r   r#   r    <module>rf      sa  $    2CHH 2j"3==-- "
!C 
!E 
!c c e  E eCHo " 5      " --
-->>>>	
-->>
--
--
--
--OO	
--		
--
--
--	>>OO	r#   