
    ,hI
                         d Z ddlZddlmZmZ ddlZddlZdeeef   deej                  j                  ej                  j                  f   fdZdeej                  j                  ef   deeef   fdZy)	zA place to store TSIG keys.    N)AnyDicttextringreturnc                 F   i }| j                         D ]  \  }}t        j                  j                  |      }t	        |t
              r.t        j                  j                  ||      j                  ||<   c|\  }}t        j                  j                  |||      ||<    |S )a7  Convert a dictionary containing (textual DNS name, base64 secret)
    pairs into a binary keyring which has (dns.name.Name, bytes) pairs, or
    a dictionary containing (textual DNS name, (algorithm, base64 secret))
    pairs into a binary keyring which has (dns.name.Name, dns.tsig.Key) pairs.
    @rtype: dict)	itemsdnsname	from_text
isinstancestrtsigKeysecret)r   keyringr
   valuekname	algorithmr   s          Q/var/www/html/Resume-Scraper/venv/lib/python3.12/site-packages/dns/tsigkeyring.pyr   r      s     G~~' De""4(eS! XX\\%7>>GEN"'Y XX\\%CGEND N    r   c                 Z   i }d }| j                         D ]  \  }}|j                         }t        |t              r ||      ||<   2t        |j                  t              r ||j                        }nt        |j                        }|j                  j                         |f||<    |S )a;  Convert a dictionary containing (dns.name.Name, dns.tsig.Key) pairs
    into a text keyring which has (textual DNS name, (textual algorithm,
    base64 secret)) pairs, or a dictionary containing (dns.name.Name, bytes)
    pairs into a text keyring which has (textual DNS name, base64 secret) pairs.
    @rtype: dictc                 d    t        j                  |       j                         j                         S )N)base64encodebytesdecoderstrip)r   s    r   	b64encodezto_text.<locals>.b64encode6   s%    !!&)00299;;r   )r   to_textr   bytesr   r   r   )r   r   r   r
   keytnametext_secrets          r   r   r   -   s     H< ]]_ 
E	cc5!'nHUO#**e,'

3!#**o"}}446DHUO
E Or   )__doc__r   typingr   r   dns.namer	   dns.tsigr   r
   Namer   r   r   r    r   r   <module>r)      sx   $ "    S#X 4sxx||0K+L $T#((--,- $sCx. r   