
    g
                        S r SSKrSSKJr   " S S\R                  5      r " S S\R                  5      rS\S	\S
\4S jr	S\S	\S
\4S jr
S\S
\4S jrS\S
\4S jrS\S
\4S jrS\S
\4S jr\R                  r\R                   r\R"                  r\R$                  r\R&                  r\R(                  r\R*                  r\R,                  rg)zDNS Message Flags.    N)Anyc                   0    \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)Flag      i   i                 N)__name__
__module____qualname____firstlineno__QRAATCRDRAADCD__static_attributes__r       B/home/matz/Project1/venv/lib/python3.13/site-packages/dns/flags.pyr   r      s%    	B	B	B	B	B	B	Br   r   c                       \ rS rSrSrSrg)EDNSFlag.   r   r   N)r   r   r   r   DOr   r   r   r   r   r   .   s    	Br   r   text
enum_classreturnc                 f    SnU R                  5       nU H  nX!UR                  5          -  nM     U$ )Nr   )splitupper)r   r    flagstokensts        r   
_from_textr(   3   s4    EZZ\FAGGI&& Lr   r%   c                     / nUR                   R                  5        H   u  p4X-  S:w  d  M  UR                  U5        M"     SR                  U5      $ )Nr    )__members__itemsappendjoin)r%   r    
text_flagskvs        r   _to_textr2   ;   sJ    J&&,,.9>a  / 88Jr   c                 "    [        U [        5      $ )z[Convert a space-separated list of flag text values into a flags
value.

Returns an ``int``
)r(   r   r   s    r   	from_textr5   C   s     dD!!r   c                 "    [        U [        5      $ )z[Convert a flags value into a space-separated list of flag text
values.

Returns a ``str``.
)r2   r   r%   s    r   to_textr8   M   s     E4  r   c                 "    [        U [        5      $ )zeConvert a space-separated list of EDNS flag text values into a EDNS
flags value.

Returns an ``int``
)r(   r   r4   s    r   edns_from_textr:   W   s     dH%%r   c                 "    [        U [        5      $ )zfConvert an EDNS flags value into a space-separated list of EDNS flag
text values.

Returns a ``str``.
)r2   r   r7   s    r   edns_to_textr<   a   s     E8$$r   )__doc__enumtypingr   IntFlagr   r   strintr(   r2   r5   r8   r:   r<   r   r   r   r   r   r   r   r   r   r   r   <module>rC      s   $   
4<< (t|| 
S c c  C  S  S  "C "C "!3 !3 !& & &% % % 
WW	WW	WW	WW	WW	WW	WW [[r   