o
    i
                     @   s   d Z ddlZddlmZ G dd dejZG dd dejZded	ed
efddZ	ded	ed
efddZ
ded
efddZded
efddZded
efddZded
efddZejZejZejZejZejZejZejZejZdS )zDNS Message Flags.    N)Anyc                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	Flag   i   i                N)
__name__
__module____qualname__QRAATCRDRAADCD r   r   O/var/www/html/karishye-ai-python/venv/lib/python3.10/site-packages/dns/flags.pyr      s    r   c                   @   s   e Zd ZdZdS )EDNSFlagr   N)r	   r
   r   DOr   r   r   r   r   .   s    r   text
enum_classreturnc                 C   s*   d}|   }|D ]
}|||  O }q|S )Nr   )splitupper)r   r   flagstokenstr   r   r   
_from_text3   s
   r   r   c                 C   s8   g }|j  D ]\}}| |@ dkr|| qd|S )Nr    )__members__itemsappendjoin)r   r   
text_flagskvr   r   r   _to_text;   s   

r(   c                 C   
   t | tS )zgConvert a space-separated list of flag text values into a flags
    value.

    Returns an ``int``
    )r   r   r   r   r   r   	from_textC      
r+   c                 C   r)   )zgConvert a flags value into a space-separated list of flag text
    values.

    Returns a ``str``.
    )r(   r   r   r   r   r   to_textM   r,   r.   c                 C   r)   )zqConvert a space-separated list of EDNS flag text values into a EDNS
    flags value.

    Returns an ``int``
    )r   r   r*   r   r   r   edns_from_textW   r,   r/   c                 C   r)   )zrConvert an EDNS flags value into a space-separated list of EDNS flag
    text values.

    Returns a ``str``.
    )r(   r   r-   r   r   r   edns_to_texta   r,   r0   )__doc__enumtypingr   IntFlagr   r   strintr   r(   r+   r.   r/   r0   r   r   r   r   r   r   r   r   r   r   r   r   <module>   s&   



