U
    Ú²gº  ã                   @   sŠ   G d d„ de ƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd	„ d	eƒZG d
d„ deeƒZG dd„ deeƒZ	G dd„ dee
ƒZdS )c                   @   s$   e Zd ZdZdd„ Zedd„ ƒZdS )ÚPyAsn1ErroraB  Base pyasn1 exception

    `PyAsn1Error` is the base exception class (based on
    :class:`Exception`) that represents all possible ASN.1 related
    errors.

    Parameters
    ----------
    args:
        Opaque positional parameters

    Keyword Args
    ------------
    kwargs:
        Opaque keyword parameters

    c                 O   s   || _ || _d S ©N)Ú_argsÚ_kwargs)ÚselfÚargsÚkwargs© r   ú0/tmp/pip-unpacked-wheel-xuc7ikmu/pyasn1/error.pyÚ__init__   s    zPyAsn1Error.__init__c                 C   s   | j  di ¡S )a7  Return exception context

        When exception object is created, the caller can supply some opaque
        context for the upper layers to better understand the cause of the
        exception.

        Returns
        -------
        : :py:class:`dict`
            Dict holding context specific data
        Úcontext)r   Úget)r   r   r   r	   r      s    zPyAsn1Error.contextN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r
   Úpropertyr   r   r   r   r	   r   	   s   r   c                   @   s   e Zd ZdZdS )ÚValueConstraintErrora  ASN.1 type constraints violation exception

    The `ValueConstraintError` exception indicates an ASN.1 value
    constraint violation.

    It might happen on value object instantiation (for scalar types) or on
    serialization (for constructed types).
    N©r   r   r   r   r   r   r   r	   r   /   s   r   c                   @   s   e Zd ZdZdS )ÚSubstrateUnderrunErrorz¬ASN.1 data structure deserialization error

    The `SubstrateUnderrunError` exception indicates insufficient serialised
    data on input of a de-serialization codec.
    Nr   r   r   r   r	   r   :   s   r   c                   @   s   e Zd ZdZdS )ÚEndOfStreamErrorz–ASN.1 data structure deserialization error

    The `EndOfStreamError` exception indicates the condition of the input
    stream has been closed.
    Nr   r   r   r   r	   r   B   s   r   c                   @   s   e Zd ZdZdS )ÚUnsupportedSubstrateErrorz2Unsupported substrate type to parse as ASN.1 data.Nr   r   r   r   r	   r   J   s   r   c                   @   s   e Zd ZdZddd„ZdS )ÚPyAsn1UnicodeErrora.  Unicode text processing error

    The `PyAsn1UnicodeError` exception is a base class for errors relating to
    unicode text de/serialization.

    Apart from inheriting from :class:`PyAsn1Error`, it also inherits from
    :class:`UnicodeError` to help the caller catching unicode-related errors.
    Nc                 C   s,   t |tƒrtj| f|jžŽ  t | |¡ d S r   )Ú
isinstanceÚUnicodeErrorr
   r   r   )r   ÚmessageZunicode_errorr   r   r	   r
   W   s    
zPyAsn1UnicodeError.__init__)N)r   r   r   r   r
   r   r   r   r	   r   N   s   r   c                   @   s   e Zd ZdZdS )ÚPyAsn1UnicodeDecodeErrora/  Unicode text decoding error

    The `PyAsn1UnicodeDecodeError` exception represents a failure to
    deserialize unicode text.

    Apart from inheriting from :class:`PyAsn1UnicodeError`, it also inherits
    from :class:`UnicodeDecodeError` to help the caller catching unicode-related
    errors.
    Nr   r   r   r   r	   r   ]   s   r   c                   @   s   e Zd ZdZdS )ÚPyAsn1UnicodeEncodeErrora-  Unicode text encoding error

    The `PyAsn1UnicodeEncodeError` exception represents a failure to
    serialize unicode text.

    Apart from inheriting from :class:`PyAsn1UnicodeError`, it also inherits
    from :class:`UnicodeEncodeError` to help the caller catching
    unicode-related errors.
    Nr   r   r   r   r	   r   i   s   r   N)Ú	Exceptionr   r   r   r   r   r   r   ÚUnicodeDecodeErrorr   ÚUnicodeEncodeErrorr   r   r   r   r	   Ú<module>	   s   &