§
    é phÇ  ã                  óÞ   — d dl mZ d dlZd dlZd dlZd dlZd dlmZmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZ d dlmZ er d dlmZmZ d d	lmZ d d
lmZ d dlmZ d dlmZ  G d„ de¦  «        ZdS )é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚ
CollectionÚMapping)ÚHTTPAdapter)Ú	DictCache)ÚPERMANENT_REDIRECT_STATUSESÚCacheController)ÚCallbackFileWrapper)ÚPreparedRequestÚResponse)ÚHTTPResponse)Ú	BaseCache)ÚBaseHeuristic)Ú
Serializerc                  ón   ‡ — e Zd Zh d£Z	 	 	 	 	 	 d)d*ˆ fd„Z	 	 	 	 	 	 d+d,ˆ fd#„Z	 	 d-d.ˆ fd'„Zd/ˆ fd(„Zˆ xZS )0ÚCacheControlAdapter>   ÚPUTÚPATCHÚDELETENTÚcacheúBaseCache | NoneÚcache_etagsÚboolÚcontroller_classútype[CacheController] | NoneÚ
serializerúSerializer | NoneÚ	heuristicúBaseHeuristic | NoneÚcacheable_methodsúCollection[str] | NoneÚargsr   ÚkwÚreturnÚNonec                óÊ   •—  t          ¦   «         j        |i |¤Ž |€t          ¦   «         n|| _        || _        |pd| _        |pt          }	 |	| j        ||¬¦  «        | _        d S )N)ÚGET)r   r   )ÚsuperÚ__init__r	   r   r    r"   r   Ú
controller)Úselfr   r   r   r   r    r"   r$   r%   Úcontroller_factoryÚ	__class__s             €úmC:\Users\Daniel\PycharmProjects\Portfolio_Website\.venv\Lib\site-packages\pip\_vendor\cachecontrol\adapter.pyr+   zCacheControlAdapter.__init__   sz   ø€ ð 	�‰ŒÔ˜$Ð% "Ð%Ð%Ð%Ø$)Ð<•Y‘[”[�[°uˆŒ
Ø"ˆŒØ!2Ð!>°hˆÔà-Ð@µÐØ,Ð,ØŒJ K¸Jð
ñ 
ô 
ˆŒˆˆó    FÚrequestr   ÚstreamÚtimeoutú7None | float | tuple[float, float] | tuple[float, None]Úverifyú
bool | strÚcertú4None | bytes | str | tuple[bytes | str, bytes | str]ÚproxiesúMapping[str, str] | Noner   c                óv  •— |p| j         }|j        |v r	 | j                             |¦  «        }	n# t          j        $ r d}	Y nw xY w|	r|                      ||	d¬¦  «        S |j                             | j         	                    |¦  «        ¦  «         t          ¦   «                              ||||||¦  «        }
|
S )z”
        Send a request. Use the request information to see if it
        exists in the cache and cache the response if we need to and can.
        NT)Ú
from_cache)r"   Úmethodr,   Úcached_requestÚzlibÚerrorÚbuild_responseÚheadersÚupdateÚconditional_headersr*   Úsend)r-   r2   r3   r4   r6   r8   r:   r"   Ú	cacheableÚcached_responseÚrespr/   s              €r0   rF   zCacheControlAdapter.send3   sÕ   ø€ ð &Ð?¨Ô)?ˆ	ØŒ>˜YÐ&ð 		Qð'Ø"&¤/×"@Ò"@ÀÑ"IÔ"I��øÝ”:ð 'ð 'ð 'Ø"&���ð'øøøàð VØ×*Ò*¨7°OÐPTÐ*ÑUÔUÐUð ŒO×"Ò" 4¤?×#FÒ#FÀwÑ#OÔ#OÑPÔPÐPå‰wŒw�|Š|˜G V¨W°f¸dÀGÑLÔLˆàˆs   •0 °AÁAÚresponser   r=   c           
     ó¶  •‡
— |p| j         }|�sJ|j        |v �r@| j        r| j                             |¦  «        }|j        dk    rN| j                             ||¦  «        }||urd}|                     d¬¦  «         |                     ¦   «          |}nÆt          |j        ¦  «        t          v r| j                             ||¦  «         n�t          |j        t          j        | j        j        |t!          j        |¦  «        ¦  «        ¦  «        |_        |j        r>|j        j        Š
dˆ
fd	„}t          j        |t!          j        |¦  «        ¦  «        |_        t+          ¦   «                              ||¦  «        }|j        | j        v rI|j        rB|j        €J ‚| j                             |j        ¦  «        }	| j                             |	¦  «         ||_        |S )z¥
        Build a response by making a request or using the cache.

        This will end up calling send and returning a potentially
        cached response
        i0  TF)Údecode_contentÚ	weak_selfú#weakref.ReferenceType[HTTPResponse]r&   r'   c                ó†   •—  | ¦   «         }|€d S  ‰|¦  «         |j         dk    r|j                             ¦   «          d S d S )Nr   )Ú
chunk_leftÚ_fpÚ_close)rM   r-   Úsuper_update_chunk_lengths     €r0   Ú_update_chunk_lengthz@CacheControlAdapter.build_response.<locals>._update_chunk_lengthŠ   s_   ø€ ð  )˜y™{œ{˜Øð #Ø"˜Fà1Ð1°$Ñ7Ô7Ð7Øœ?¨aÒ/ð .Ø œHŸOšOÑ-Ô-Ð-Ð-Ð-ð.ð .r1   N)rM   rN   r&   r'   )r"   r>   r    ÚapplyÚstatusr,   Úupdate_cached_responseÚreadÚrelease_connÚintr
   Úcache_responser   rQ   Ú	functoolsÚpartialÚweakrefÚrefÚchunkedr/   rT   r*   rB   Úinvalidating_methodsÚokÚurlÚ	cache_urlr   Údeleter=   )r-   r2   rJ   r=   r"   rG   rH   rT   rI   rd   rS   r/   s             @€r0   rB   z"CacheControlAdapter.build_responseQ   s  øø€ ð &Ð?¨Ô)?ˆ	Øñ 8	˜gœn°	Ð9ñ 8	ð Œ~ð :Øœ>×/Ò/°Ñ9Ô9�ð Œ #Ò%ð 1ð
 #'¤/×"HÒ"HØ˜Xñ#ô #�ð #¨(Ð2ð &Ø!%�Jð —’¨U�Ñ3Ô3Ð3Ø×%Ò%Ñ'Ô'Ð'à*��õ �X”_Ñ%Ô%Õ)DÐDð Ø”×.Ò.¨w¸ÑAÔAÐAÐAõ  3Ø”LÝÔ%ØœÔ6¸ÅÄÈXÑAVÔAVñô ñ ô  �”ð Ô#ð Ø08Ô0BÔ0WÐ-ð	.ð 	.ð 	.ð 	.ð 	.ð 	.õ 5>Ô4EØ,­g¬k¸(Ñ.CÔ.Cñ5ô 5�HÔ1õ ™œ×/Ò/°¸ÑBÔBˆð Œ>˜TÔ6Ð6ð 	)¸4¼7ð 	)Ø”;Ð*Ð*Ð*Øœ×1Ò1°'´+Ñ>Ô>ˆIØŒJ×Ò˜iÑ(Ô(Ð(ð %ˆŒàˆr1   c                óz   •— | j                              ¦   «          t          ¦   «                              ¦   «          d S )N)r   Úcloser*   )r-   r/   s    €r0   rg   zCacheControlAdapter.close¦   s,   ø€ ØŒ
×ÒÑÔÐÝ‰Œ�Š‰Œˆˆˆr1   )NTNNNN)r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r   r%   r   r&   r'   )FNTNNN)r2   r   r3   r   r4   r5   r6   r7   r8   r9   r:   r;   r"   r#   r&   r   )FN)
r2   r   rJ   r   r=   r   r"   r#   r&   r   )r&   r'   )	Ú__name__Ú
__module__Ú__qualname__ra   r+   rF   rB   rg   Ú__classcell__)r/   s   @r0   r   r      së   ø€ € € € € Ø5Ð5Ð5Ðð #'Ø Ø9=Ø(,Ø*.Ø48ð
ð 
ð 
ð 
ð 
ð 
ð 
ð0 ØKOØ!ØGKØ,0Ø48ðð ð ð ð ð ð ðD !Ø48ðSð Sð Sð Sð Sð Sð Sðjð ð ð ð ð ð ð ð ð r1   r   )Ú
__future__r   r\   Útypesr^   r@   Útypingr   r   r   r   Úpip._vendor.requests.adaptersr   Úpip._vendor.cachecontrol.cacher	   Ú#pip._vendor.cachecontrol.controllerr
   r   Ú$pip._vendor.cachecontrol.filewrapperr   Úpip._vendor.requestsr   r   Úpip._vendor.urllib3r   r   Ú#pip._vendor.cachecontrol.heuristicsr   Ú"pip._vendor.cachecontrol.serializer   r   © r1   r0   ú<module>rx      sX  ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø €€€Ø €€€Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :à 5Ð 5Ð 5Ð 5Ð 5Ð 5à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø \Ð \Ð \Ð \Ð \Ð \Ð \Ð \Ø DÐ DÐ DÐ DÐ DÐ Dàð >Ø>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ø0Ð0Ð0Ð0Ð0Ð0à8Ð8Ð8Ð8Ð8Ð8ØAÐAÐAÐAÐAÐAØ=Ð=Ð=Ð=Ð=Ð=ðMð Mð Mð Mð M˜+ñ Mô Mð Mð Mð Mr1   