o
    æûõj¦  ã                   @   s(  d Z ddlZddlmZ ddlmZmZ ddlmZm	Z	 ddl
mZ dZd	Zes*es;dd
lmZmZmZmZmZmZ n9ddlmZmZmZ ddlmZmZmZmZmZmZmZmZmZ e e¡ e	 e¡ e e¡ e e¡ e e¡ eryeZn	dedefdd„Z de!e fdd„Z"defdd„Z#dS )z¹
Multidict implementation.

HTTP Headers and URL query string require specific data structure:
multidict. It behaves mostly like a dict but it can have
several values for the same key.
é    N)ÚPath)ÚTYPE_CHECKINGÚAnyé   )ÚMultiMappingÚMutableMultiMapping)ÚUSE_EXTENSIONS)	ÚCIMultiDictÚCIMultiDictProxyÚ	MultiDictÚMultiDictProxyr   r   Úget_includeÚ
getversionÚistrz7.1.0)r	   r
   r   r   r   r   )Ú	ItemsViewÚKeysViewÚ
ValuesView)	r	   r
   r   r   Ú
_ItemsViewÚ	_KeysViewÚ_ValuesViewr   r   ÚnameÚreturnc                 C   s0   | dkrt jdtdd� tS tdt›d| ›�ƒ‚)NÚupstrz%upstr is deprecated, use istr insteadé   )Ú
stacklevelzmodule z has no attribute )ÚwarningsÚwarnÚDeprecationWarningr   ÚAttributeErrorÚ__name__)r   © r    úE/opt/steambot/venv/lib/python3.10/site-packages/multidict/__init__.pyÚ__getattr__B   s   ýr"   c                   C   s   g t ƒ ¢d‘S )Nr   )Úglobalsr    r    r    r!   Ú__dir__M   s   r$   c                   C   s   t ttƒ ¡ jƒS )z¤Return the directory containing multidict's C API headers.

    Pass it as an ``-I`` include path when building a C extension
    against ``multidict_capi.h``.
    )Ústrr   Ú__file__ÚabsoluteÚparentr    r    r    r!   r   Q   s   r   )$Ú__doc__r   Úpathlibr   Útypingr   r   Ú_abcr   r   Ú_compatr   Ú__all__Ú__version__Ú_multidict_pyr	   r
   r   r   r   r   Úcollections.abcr   r   r   Ú
_multidictr   r   r   Úregisterr   r%   r"   Úlistr$   r   r    r    r    r!   Ú<module>   s,    "	,




