U
    gz                     @  sf   d dl mZ d dlZd dlmZ dddddddd	Zddddd
dddZddddddddZdS )    )annotationsN)TracebackTypezstr | bytesz
str | Nonebytes)xencodingerrorsreturnc                 C  sR   t | tr| S t | ts,tdt| j |s4|rJ| j|p>d|pDddS |  S Nznot expecting type zutf-8strict)r   )
isinstancer   str	TypeErrortype__name__encoder   r   r    r   5/tmp/pip-unpacked-wheel-f4zjg0cl/urllib3/util/util.pyto_bytes   s    

r   r   c                 C  sR   t | tr| S t | ts,tdt| j |s4|rJ| j|p>d|pDddS |  S r	   )r   r   r   r   r   r   decoder   r   r   r   to_str   s    

r   ztype[BaseException] | NoneBaseExceptionzTracebackType | Noneztyping.NoReturn)tpvaluetbr   c                 C  s,   z|j |k	r|||W 5 d }d }X d S )N)__traceback__with_traceback)r   r   r   r   r   r   reraise   s    

r   )NN)NN)N)
__future__r   typingtypesr   r   r   r   r   r   r   r   <module>   s          