File: //proc/self/root/opt/alt/python35/lib64/python3.5/__pycache__/hmac.cpython-35.opt-2.pyc
���]�  �               @   s�   d  d l  Z d  d l m Z d  d l Z e d d �  e d � D� � Z	 e d d �  e d � D� � Z
 d Z Gd d �  d � Z d d d	 d
 � Z
 d S)�    N)�_compare_digestc             c   s   |  ] } | d  AVq d S)�\   N� )�.0�xr   r   �)/opt/alt/python35/lib64/python3.5/hmac.py�	<genexpr>
   s    r   �   c             c   s   |  ] } | d  AVq d S)�6   Nr   )r   r   r   r   r   r      s    c               @   sv   e  Z d  Z d Z d d d d � Z e d d �  � Z d d �  Z d	 d
 �  Z d d �  Z	 d
 d �  Z
 d d �  Z d S)�HMAC�@   Nc                s�  t  | t t f � s. t d t | � j � � �  d  k rV t j d t d � t	 j
 �  t �  � rn �  |  _ nB t  �  t
 � r� d �  f d d � |  _ n d �  f d d � |  _ |  j �  |  _ |  j �  |  _ |  j j |  _ t |  j d � r3|  j j } | d	 k  rVt j d
 | |  j f t d � |  j } n# t j d |  j t d � |  j } | |  _ t | � | k r�|  j | � j �  } | t | t | � � } |  j j | j t � � |  j j | j t � � | d  k	 r�|  j | � d  S)Nz,key: expected bytes or bytearray, but got %rz<HMAC() without an explicit digestmod argument is deprecated.�   �    c                s   t  j �  |  � S)N)�_hashlib�new)�d)�	digestmodr   r   �<lambda>4   s    zHMAC.__init__.<locals>.<lambda>c                s
   �  j  |  � S)N)r   )r   )r   r   r   r   6   s    �
block_size�   z:block_size of %d seems too small; using our default of %d.z<No block_size attribute on given digest object; Assuming %d.)�
isinstance�bytes�	bytearray�	TypeError�type�__name__�	_warnings�warn�PendingDeprecationWarningr   �md5�callable�digest_cons�str�outer�inner�digest_size�hasattrr   �	blocksize�RuntimeWarning�len�digest�update�	translate�trans_5C�trans_36)�self�key�msgr   r'