a
    �DOgj  �                   @   s�   d Z g d�Zi Zddd�Zdd� Zze W n ey<   Y n0 dd� Zeeee� d	d
� ZdZ	e
ej�Z
dd
� Zdd� Zdd� Zdd� Zi Zi Zi Zdd� Zdd� Zdd� ZdS )z�Helper to provide extensibility for pickle.
This is only useful to add pickle support for extension types defined in
C, not for instances of user-defined classes.
)�pickle�constructor�
add_extension�remove_extension�clear_extension_cacheNc                 C   s,   t |�std��|t| <