o
    #j&                     @  s   d Z ddlmZ ddlmZ ddlmZmZmZ ddl	m
Z
mZmZmZ ddlmZ edZed	ZG d
d deeef ee ZG dd deeef ZdS )zO
requests.structures
~~~~~~~~~~~~~~~~~~~

Data structures that power Requests.
    )annotations)OrderedDict)IterableIteratorMapping)AnyGenericTypeVaroverload   )MutableMapping_VT_Dc                   @  s   e Zd ZU dZded< 	d)d*ddZd+ddZd,ddZd-ddZd.ddZ	d/ddZ
d0ddZd1d"d#Zd2d%d&Zd3d'd(ZdS )4CaseInsensitiveDicta  A case-insensitive ``dict``-like object.

    Implements all methods and operations of
    ``MutableMapping`` as well as dict's ``copy``. Also
    provides ``lower_items``.

    All keys are expected to be strings. The structure remembers the
    case of the last key to be set, and ``iter(instance)``,
    ``keys()``, ``items()``, ``iterkeys()``, and ``iteritems()``
    will contain case-sensitive keys. However, querying and contains
    testing is case insensitive::

        cid = CaseInsensitiveDict()
        cid['Accept'] = 'application/json'
        cid['aCCEPT'] == 'application/json'  # True
        list(cid) == ['Accept']  # True

    For example, ``headers['content-encoding']`` will return the
    value of a ``'Content-Encoding'`` response header, regardless
    of how the header name was originally stored.

    If the constructor, ``.update``, or equality comparison
    operations are given keys that have equal ``.lower()``s, the
    behavior is undefined.
    z!OrderedDict[str, tuple[str, _VT]]_storeNdata4Mapping[str, _VT] | Iterable[tuple[str, _VT]] | Nonekwargsr   returnNonec                 K  s*   t  | _|d u r
i }| j|fi | d S N)r   r   update)selfr   r    r   T/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/requests/structures.py__init__1   s   zCaseInsensitiveDict.__init__keystrvaluec                 C  s   ||f| j | < d S r   r   lower)r   r   r   r   r   r   __setitem__;   s   zCaseInsensitiveDict.__setitem__c                 C  s   | j |  d S )Nr   r   r   r   r   r   r   __getitem__@   s   zCaseInsensitiveDict.__getitem__c                 C  s   | j | = d S r   r   r"   r   r   r   __delitem__C      zCaseInsensitiveDict.__delitem__Iterator[str]c                 C     dd | j  D S )Nc                 s  s    | ]\}}|V  qd S r   r   ).0casedkey_r   r   r   	<genexpr>G   s    z/CaseInsensitiveDict.__iter__.<locals>.<genexpr>)r   valuesr   r   r   r   __iter__F   s   zCaseInsensitiveDict.__iter__intc                 C  s
   t | jS r   )lenr   r-   r   r   r   __len__I   s   
zCaseInsensitiveDict.__len__Iterator[tuple[str, _VT]]c                 C  r'   )z.Like iteritems(), but with all lowercase keys.c                 s  s     | ]\}}||d  fV  qdS )r   Nr   )r(   lowerkeykeyvalr   r   r   r+   N   s    z2CaseInsensitiveDict.lower_items.<locals>.<genexpr>)r   itemsr-   r   r   r   lower_itemsL   s   zCaseInsensitiveDict.lower_itemsotherobjectboolc                 C  s0   t |tr
t|}ntS t|  t| kS r   )
isinstancer   r   NotImplementeddictr6   )r   r7   
other_dictr   r   r   __eq__P   s   

zCaseInsensitiveDict.__eq__CaseInsensitiveDict[_VT]c                 C  s   t | j S r   )r   r   r,   r-   r   r   r   copyY      zCaseInsensitiveDict.copyc                 C  s   t t|  S r   )r   r<   r5   r-   r   r   r   __repr__\   r%   zCaseInsensitiveDict.__repr__r   )r   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r&   )r   r/   )r   r2   )r7   r8   r   r9   )r   r?   r   r   )__name__
__module____qualname____doc____annotations__r   r!   r#   r$   r.   r1   r6   r>   r@   rB   r   r   r   r   r      s   
 








	r   c                      sv   e Zd ZU dZded< dd fddZdd
dZdddZdddZe	ddddZ
e	dddZ
dd ddZ
  ZS )!
LookupDictzDictionary lookup object.r   nameNr   r   c                   s   || _ t   d S r   )rJ   superr   )r   rJ   	__class__r   r   r   e   s   zLookupDict.__init__r   c                 C  s   d| j  dS )Nz	<lookup 'z'>)rJ   r-   r   r   r   rB   i   rA   zLookupDict.__repr__r   
_VT | Nonec                 C  s0   || j v r
| j | S tdt| j d| d)N'z' object has no attribute ')__dict__AttributeErrortyperD   r"   r   r   r   __getattr__l   s
   

zLookupDict.__getattr__c                 C  s   | j |d S r   rP   getr"   r   r   r   r#   v   s   zLookupDict.__getitem__defaultc                 C     d S r   r   r   r   rV   r   r   r   rU   {      zLookupDict.get_D | _VTc                 C  rW   r   r   rX   r   r   r   rU   ~   rY   	_D | None_VT | _D | Nonec                 C  s   | j ||S r   rT   rX   r   r   r   rU      rA   r   )rJ   r   r   r   rC   )r   r   r   rN   )r   r   rV   r   r   rN   )r   r   rV   rZ   r   rZ   )r   r   rV   r[   r   r\   )rD   rE   rF   rG   rH   r   rB   rS   r#   r
   rU   __classcell__r   r   rL   r   rI   `   s   
 



rI   N)rG   
__future__r   collectionsr   collections.abcr   r   r   typingr   r   r	   r
   compatr   r   r   r   r   r<   rI   r   r   r   r   <module>   s    L