U
    ]àôgÄ  ã                   @  sR   U d dl mZ d dlmZ d dlmZmZmZmZ i Z	de
d< G dd„ deƒZdS )	é    )Úannotations)ÚABCMeta)ÚDictÚListÚTupleÚUnionzDict[str, StorageRegistry]ÚSCHEMESc                      s(   e Zd Zdddd dœ‡ fdd„Z‡  ZS )ÚStorageRegistryÚstrzTuple[type, ...]z Dict[str, Union[str, List[str]]])ÚnameÚbasesÚdctÚreturnc                   sN   |  dd ¡}tƒ  | |||¡}|rJt|tƒr4|g}n|}|D ]}|t|< q<|S )NZSTORAGE_SCHEME)ÚgetÚsuperÚ__new__Ú
isinstancer
   r   )Zmcsr   r   r   Zstorage_schemeÚclsÚschemesÚscheme©Ú	__class__© ú;/tmp/pip-unpacked-wheel-kizsipjx/limits/storage/registry.pyr      s    

zStorageRegistry.__new__)Ú__name__Ú
__module__Ú__qualname__r   Ú__classcell__r   r   r   r   r	   
   s   r	   N)Ú
__future__r   Úabcr   Zlimits.typingr   r   r   r   r   Ú__annotations__r	   r   r   r   r   Ú<module>   s
    