
    3Tf                    (   d dl mZ d dlZd dlZd dlZd dlZd dlZ G d de      ZeZ	eZ
eZeZddZddZdddZddZ G d	 d
e      Z G d d      Z G d dej(                        Z	 d	 	 	 	 	 	 	 	 	 	 	 ddZddZ G d dej0                        Zy)    )annotationsNc                      e Zd Zy)CryptographyDeprecationWarningN__name__
__module____qualname__     4/usr/lib/python3/dist-packages/cryptography/utils.pyr   r          r   r   c                @    t        |t              st        |  d      y )Nz must be bytes)
isinstancebytes	TypeErrornamevalues     r   _check_bytesr      s#    eU#4&/00 $r   c                R    	 t        |       y # t        $ r t        |  d      w xY w)Nz must be bytes-like)
memoryviewr   r   s     r   _check_bytesliker   "   s1    65 64& 34556s    &c                ^    | j                  |xs | j                         dz   dz  xs dd      S )N         big)to_bytes
bit_length)integerlengths     r   int_to_bytesr"   )   s7    67%%'!+16Q r   c                    ddl m} |j                  j                  |       }|t	        |j                  j                  d|            fS )Nr   )_openssl	uintptr_t)"cryptography.hazmat.bindings._rustr$   ffifrom_bufferintcast)objr$   bufs      r   _extract_buffer_lengthr-   /   s:    ;
,,
"
"3
'CHLL%%k37888r   c                      e Zd Zy)InterfaceNotImplementedNr   r
   r   r   r/   r/   6   r   r   r/   c                      e Zd ZddZy)_DeprecatedValuec                .    || _         || _        || _        y N)r   messagewarning_class)selfr   r4   r5   s       r   __init__z_DeprecatedValue.__init__;   s    
*r   N)r   objectr4   str)r   r   r	   r7   r
   r   r   r1   r1   :   s    +r   r1   c                  @     e Zd Zd fdZddZddZd	dZd
dZ xZS )_ModuleWithDeprecationsc                V    t         |   |j                         || j                  d<   y N_module)superr7   r   __dict__)r6   module	__class__s     r   r7   z _ModuleWithDeprecations.__init__B   s"    )#)i r   c                    t        | j                  |      }t        |t              r8t	        j
                  |j                  |j                  d       |j                  }|S N   )
stacklevel)	getattrr>   r   r1   warningswarnr4   r5   r   r6   attrr+   s      r   __getattr__z#_ModuleWithDeprecations.__getattr__F   sE    dllD)c+,MM#++s'8'8QG))C
r   c                2    t        | j                  ||       y r3   )setattrr>   )r6   rK   r   s      r   __setattr__z#_ModuleWithDeprecations.__setattr__M   s    dE*r   c                    t        | j                  |      }t        |t              r,t	        j
                  |j                  |j                  d       t        | j                  |       y rD   )	rG   r>   r   r1   rH   rI   r4   r5   delattrrJ   s      r   __delattr__z#_ModuleWithDeprecations.__delattr__P   sE    dllD)c+,MM#++s'8'8QGd#r   c                4    dgt        | j                        z   S r=   )dirr>   r6   s    r   __dir__z_ModuleWithDeprecations.__dir__W   s    {S...r   )rA   ztypes.ModuleType)rK   r9   returnr8   )rK   r9   r   r8   rW   None)rK   r9   rW   rX   )rW   ztyping.Sequence[str])	r   r   r	   r7   rL   rO   rR   rV   __classcell__)rB   s   @r   r;   r;   A   s    *+$/r   r;   c                    t         j                  |   }t        |t              st        |      xt         j                  |<   }t	        | ||      }|t        |||       |S r3   )sysmodulesr   r;   r1   rN   )r   module_namer4   r5   r   rA   dvs          r   
deprecatedr_   [   sZ     [[%Ff56,CF,KKK 6	%-	8Bb!Ir   c                L     d  t               d fd}t        |      S )N_cached_c                X    t        |       }|ur|S  |       }t        | |       |S r3   )rG   rN   )instancecacheresultcached_namefuncsentinels      r   innerzcached_property.<locals>.innerp   s8    +x8 Lh+v.r   )rc   r8   )r8   property)rg   ri   rf   rh   s   ` @@r   cached_propertyrk   l   s'    TF#KxH E?r   c                      e Zd ZddZddZy)Enumc                j    d| j                   j                   d| j                   d| j                  dS )N<.z: >)rB   r   _name__value_rU   s    r   __repr__zEnum.__repr__~   s1    4>>**+1T[[MDLL;K1MMr   c                L    | j                   j                   d| j                   S )Nrp   )rB   r   rr   rU   s    r   __str__zEnum.__str__   s"    ..))*!DKK=99r   N)rW   r9   )r   r   r	   rt   rv   r
   r   r   rm   rm   }   s    N:r   rm   )r   r9   r   r   rW   rX   r3   )r    r)   r!   ztyping.Optional[int]rW   r   )r+   z
typing.AnyrW   ztyping.Tuple[typing.Any, int])r   r8   r]   r9   r4   r9   r5   ztyping.Type[Warning]r   ztyping.Optional[str]rW   r1   )rg   ztyping.CallablerW   rj   )
__future__r   enumr[   typestypingrH   UserWarningr   DeprecatedIn36DeprecatedIn37DeprecatedIn40DeprecatedIn41r   r   r"   r-   	Exceptionr/   r1   
ModuleTyper;   r_   rk   rm   r
   r   r   <module>r      s   
 #  
   
	[ 	 0///1
69	i 	+ +/e.. /> "&  (	
  "":499 :r   