
    q"hSI                         % S r SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK	r	SSK
r
SSKrSSKrSSKrSSKrSSKrSSKJrJrJrJrJrJrJrJrJrJr  SSKJrJr  SSKJ r!  SSK"J#r#J$r$  SSK"J%r&  SSK'J(r(J)r)  SS	K*J+r+  SS
K,J-r-  SSK.J/r/  SSK0J1r1  SSK2J3r3  SSK4J5r5  SSK6J7r7  SSK8J9r9  SSK:J;r;  SSK<J=r=  SSK>J?r?J@r@  SSKAJBrB  \(       a  SSKCJDrD  SSKEJFrF  \R                  " \H5      rI\\J\J\\\K\J4      4   rL\R                  " S\/S9  / SQrN\\L   \OS'   SrPS\Q4S jrR\R                  " SS9S\J4S  j5       rT " S! S"\$5      rU " S# S$5      rV " S% S&\V\&5      r% " S' S(\V\!5      r  " S) S*\%5      rW " S+ S,\ 5      rX " S- S.\R                  5      rZg)/zhPipSession and supporting code, containing all pip-specific
network request configuration and behavior.
    N)
TYPE_CHECKINGAnyDict	GeneratorListMappingOptionalSequenceTupleUnion)requestsurllib3)CacheControlAdapter)DEFAULT_POOLBLOCKBaseAdapter)HTTPAdapter)PreparedRequestResponse)CaseInsensitiveDict)ConnectionPool)InsecureRequestWarning)__version__)get_default_environment)Link)MultiDomainBasicAuth)SafeFileCache)has_tls)libc_ver)build_url_from_netlocparse_netloc)url_to_path)
SSLContext)PoolManagerignore)category))https*r'   )r'   	localhostr'   )r'   z127.0.0.0/8r'   )r'   z::1/128r'   )filer'   N)sshr'   r'   SECURE_ORIGINS)BUILD_BUILDIDBUILD_IDCI	PIP_IS_CIreturnc                  .    [        S [         5       5      $ )z7
Return whether it looks like pip is running under CI.
c              3   F   #    U  H  o[         R                  ;   v   M     g 7fN)osenviron).0names     O/var/www/html/env/lib/python3.13/site-packages/pip/_internal/network/session.py	<genexpr> looks_like_ci.<locals>.<genexpr>k   s     G.Fdrzz!.Fs   !)anyCI_ENVIRONMENT_VARIABLES     r8   looks_like_cir?   d   s     G.FGGGr>      )maxsizec            
      H   S[         S.[        R                  " 5       S[        R                  " 5       0S.n U S   S   S:X  a  [        R                  " 5       U S   S'   OU S   S   S:X  aW  [        R
                  nUR                  S	:X  a  US
S nSR                  U Vs/ s H  n[        U5      PM     sn5      U S   S'   OOU S   S   S:X  a  [        R                  " 5       U S   S'   O'U S   S   S:X  a  [        R                  " 5       U S   S'   [        R                  R                  S5      (       a  SSK
Jn  UR                  5       UR                  5       UR                  5       4n[        [!        S [#        / SQU5      5      5      n[        [!        S [#        SS/[%        5       5      5      5      nU(       a  XeS'   U(       a  XPS'   [        R                  R                  S5      (       a;  [        R&                  " 5       S   (       a  S[        R&                  " 5       S   S.U S'   [        R(                  " 5       (       a(  [        R(                  " 5       U R+                  S0 5      S'   [        R,                  " 5       (       a(  [        R,                  " 5       U R+                  S0 5      S'   [        R.                  " 5       (       a  [        R.                  " 5       U S'   [1        5       (       a  SS
KnUR4                  U S'   [7        5       R9                  S5      nUb  [        UR                  5      U S'   [:        R<                  " S 5      bb   [>        R@                  " S S!/[>        RB                  S"S#9n	U	R                  S$5      (       a%  U	RE                  S%5      S&   RG                  5       U S''   [K        5       (       a  S(OS
U S)'   [L        RN                  RQ                  S*5      n
U
b  XS+'   S,RS                  U [T        RV                  " U S-S(S.9S/9$ s  snf ! [H         a     Nqf = f)0z.
Return a string representing the user agent.
pip)r7   versionr7   )	installerpythonimplementationrG   CPythonrD   PyPyfinalN   .Jython
IronPythonlinuxr   )distroc                     U S   $ Nr@   r=   xs    r8   <lambda>user_agent.<locals>.<lambda>       !A$r>   )r7   rD   idc                     U S   $ rR   r=   rS   s    r8   rU   rV      rW   r>   liblibcrP   darwinmacOSsystemreleasecpuopenssl_version
setuptoolssetuptools_versionrustcz	--versiong      ?)stderrtimeouts   rustc     r@   rustc_versionTciPIP_USER_AGENT_USER_DATA	user_dataz9{data[installer][name]}/{data[installer][version]} {json}),:)
separators	sort_keys)datajson),r   platformpython_versionpython_implementationsyspypy_version_inforeleaseleveljoinstr
startswithpip._vendorrP   r7   rD   codenamedictfilterzipr   mac_verr^   
setdefaultr_   machiner   _sslOPENSSL_VERSIONr   get_distributionshutilwhich
subprocesscheck_outputSTDOUTsplitdecode	Exceptionr?   r4   r5   getformatrq   dumps)rp   rv   rT   rP   linux_distributiondistro_infosr[   sslsetuptools_distrustc_outputrk   s              r8   
user_agentr   n   s    $<))+H224
D f%2,4,C,C,Ey)			'6	111))W4 1"1 5,/HH./.SV./-
y) 
		'8	3,4,C,C,Ey)			'<	7,4,C,C,Ey)
||w''&#[[]FNN,<foo>OO'+-/AB(
 UI&
3
 #' )N
||x((X-=-=-?-B")h6F6F6H6KLX080A"%f-3;3C3C3E"%i0&&(Uyy"%"5"5-/@@NO"%()@)@%A!"||G(	M%22+&z/@/@#L &&y11 )5(:(:4(@(C(J(J(L_% 'dDJ

9:I%[FMMZZtD N  Y 0r  		s   P&P 
P! P!c                       \ rS rSr     SS\S\S\\\\	\\4   4      S\\\
4   S\\\
\	\
\
4   4      S\\\
\
4      S	\4S
 jjrSS jrSrg)LocalFSAdapter   Nrequeststreamrf   verifycertproxiesr0   c                    [        UR                  5      n[        5       nSUl        UR                  Ul         [        R
                  " U5      n	[        R                  R                  U	R                  SS9n
[        R                  " U5      S   =(       d    Sn[        UU	R                  U
S.5      Ul        [        US5      Ul        UR                   R"                  Ul        U$ ! [$         ad  nSUl        ['        U5      R(                  Ul        [,        R.                  " UR*                   S	U 3R1                  5       5      Ul         S nAU$ S nAff = f)
N   T)usegmtr   z
text/plain)zContent-TypezContent-LengthzLast-Modifiedrbi  z: )r!   urlr   status_coder4   statemailutils
formatdatest_mtime	mimetypes
guess_typer   st_sizeheadersopenrawcloseOSErrortype__name__reasonioBytesIOencode)selfr   r   rf   r   r   r   pathnamerespstatsmodifiedcontent_typeexcs                r8   sendLocalFSAdapter.send   s    w{{+z;;	(GGH%E {{--ennT-JH$//9!<LL.$0&+mm%-DL Hd+DHDJ)  	D  #Ds),,DKzzT[[MC5"9"@"@"BCDHH )	Ds   C% %
E/AEEc                     g r3   r=   )r   s    r8   r   LocalFSAdapter.close   s    r>   r=   )FNTNN)r0   N)r   
__module____qualname____firstlineno__r   boolr	   r   floatr   ry   r   r   r   r   __static_attributes__r=   r>   r8   r   r      s     ?C#'6:/3% % % %uUE\': :;<	%
 dCi % uS%S/123% '#s(+,% 
%Nr>   r   c                   t   ^  \ rS rSrSrSS.S\S   S\SS4U 4S	 jjjr\4S
\	S\	S\
S\SS4
U 4S jjjrSrU =r$ )_SSLContextAdapterMixin   a  Mixin to add the ``ssl_context`` constructor argument to HTTP adapters.

The additional argument is forwarded directly to the pool manager. This allows us
to dynamically decide what SSL store to use at runtime, which is used to implement
the optional ``truststore`` backend.
N)ssl_contextr   r"   kwargsr0   c                2   > Xl         [        TU ]  " S0 UD6  g )Nr=   )_ssl_contextsuper__init__)r   r   r   	__class__s      r8   r    _SSLContextAdapterMixin.__init__  s     ("6"r>   connectionsrA   blockpool_kwargsr#   c                 ~   > U R                   b  UR                  SU R                   5        [        TU ]  " SUUUS.UD6$ )Nr   )r   rA   r   r=   )r   r   r   init_poolmanager)r   r   rA   r   r   r   s        r8   r   (_SSLContextAdapterMixin.init_poolmanager  sQ     (""=$2C2CDw' 
#
 	
 	
r>   )r   )r   r   r   r   __doc__r	   r   r   r   intr   r   r   __classcell__r   s   @r8   r   r      sy     /3# l+# 	#
 
# # (	

 
 	

 
 

 
r>   r   c                       \ rS rSrSrg)r   i"  r=   Nr   r   r   r   r   r=   r>   r8   r   r   "      r>   r   c                       \ rS rSrSrg)r   i&  r=   Nr   r=   r>   r8   r   r   &  r   r>   r   c                   d   ^  \ rS rSrS\S\S\\\4   S\\\\	\\4   4      SS4
U 4S jjr
S	rU =r$ )
InsecureHTTPAdapteri*  connr   r   r   r0   Nc                 $   > [         TU ]  XSUS9  g NF)r   r   r   r   r   cert_verifyr   r   r   r   r   r   s        r8   r   InsecureHTTPAdapter.cert_verify+       	u4Hr>   r=   r   r   r   r   r   ry   r   r   r	   r   r   r   r   r   s   @r8   r   r   *  d    II I dCi 	I
 uS%S/123I 
I Ir>   r   c                   d   ^  \ rS rSrS\S\S\\\4   S\\\\	\\4   4      SS4
U 4S jjr
S	rU =r$ )
InsecureCacheControlAdapteri5  r   r   r   r   r0   Nc                 $   > [         TU ]  XSUS9  g r   r   r   s        r8   r   'InsecureCacheControlAdapter.cert_verify6  r   r>   r=   r   r   s   @r8   r   r   5  r   r>   r   c                     ^  \ rS rSr% Sr\\   \S'   SSSSSS.S\S\S	\\	   S
\
\	   S\\\	      S\S   S\SS4U 4S jjjrS\\	   SS4S jr SS\	S\\	   S\SS4S jjrS\\SS4   4S jrS\S\4S jrS\	S\	S\S\S\4
U 4S jjrSrU =r$ )
PipSessioni@  Nrf   r   r=   )retriescachetrusted_hosts
index_urlsr   argsr   r   r   r   r   r"   r   r0   c                  > [         TU ]  " U0 UD6  / U l        SU l        [	        5       U R
                  S'   [        US9U l        [        R                  " U/ SQSS9n[        US9nU(       a-  [        [        U5      UUS9n	[        [        U5      US	9U l        O[        XS
9n	Xl        U R!                  SU	5        U R!                  SU5        U R!                  S[#        5       5        U H  n
U R%                  U
SS9  M     g)zR
:param trusted_hosts: Domains not to emit warnings for when not using
    HTTPS.
Nz
User-Agent)r   )i  i  i  i  i  g      ?)totalstatus_forcelistbackoff_factor)max_retries)r   r   r   )r   r   )r   r   zhttps://zhttp://zfile://T)suppress_logging)r   r   pip_trusted_origins	pip_proxyr   r   r   authr   Retryr   r   r   r   _trusted_host_adapterr   mountr   add_trusted_host)r   r   r   r   r   r   r   r   insecure_adaptersecure_adapterhostr   s              r8   r   PipSession.__init__C  s    	$)&) EG  &0\\" )J?	 --  7  
, /7C 0#E*#'N
 *E#E*#*D&
 )WVN)9&

:~.

9./ 	

9n./!D!!$!> "r>   new_index_urlsc                 $    XR                   l        g)zV
:param new_index_urls: New index urls to update the authentication
    handler with.
N)r  r   )r   r
  s     r8   update_index_urlsPipSession.update_index_urls  s    
  .		r>   r  sourcer   c                 D   U(       d'  SU< 3nUb	  USU S3-  n[         R                  U5        [        U5      u  pVUc  [        SU< 35      eXV4U R                  ;  a  U R                  R                  XV45        U R                  [        USS9S-   U R                  5        U R                  [        U5      S-   U R                  5        U(       dP  U R                  [        USS9S	-   U R                  5        U R                  [        U5      S	-   U R                  5        gg)
z
:param host: It is okay to provide a host that has previously been
    added.
:param source: An optional source string, for logging where the host
    string came from.
zadding trusted host: Nz (from )z+Trusted host URL must include a host part: http)scheme/rm   )	loggerinfor    
ValueErrorr   appendr  r   r  )r   r  r  r   msgparsed_hostparsed_ports          r8   r  PipSession.add_trusted_host  s     )$2C!**KK#/#5 J4(STT%T-E-EE$$++[,FG

!$v6<d>X>X	
 	

(.4d6P6PQJJ%d6:S@**
 JJ,T2S8$:T:TU r>   c              #   l   #    [          S h  vN   U R                   H  u  pSXc  SOU4v   M     g  N%7f)Nr'   )r+   r   )r   r  ports      r8   iter_secure_originsPipSession.iter_secure_origins  s6     !!!22JD\ct<< 3 	"s   
42&4locationc                 d   [         R                  R                  [        U5      5      nUR                  UR
                  UR                  pTnUR                  SS5      S   nU R                  5        Hc  nUu  pxn	X7:w  a  US:w  a  M   [        R                  " U=(       d    S5      n
[        R                  " U5      nX;  a  MR   XY:w  a  U	S:w  a  U	b  Mc    g   [        R                  SUU5        g! [         a5    U(       a+  UR                  5       UR                  5       :w  a	  US:w  a   M   Njf = f)	N+r@   r'    TzThe repository located at %s is not a trusted or secure host and is being ignored. If this repository is available via HTTPS we recommend you use HTTPS instead, otherwise you may silence this warning and allow it anyway with '--trusted-host %s'.F)urllibparseurlparsery   r  hostnamer  rsplitr  	ipaddress
ip_address
ip_networkr  lowerr  warning)r   r   parsedorigin_protocolorigin_hostorigin_portsecure_originsecure_protocolsecure_hostsecure_portaddrnetworks               r8   is_secure_originPipSession.is_secure_origin  s6   &&s8}5MMOOKK '2 *00a8<
 "557M8E5O+1o6L ++K,=2>#..{; & '
 *3&+ C 8L 	I 	
 O    #))+{/@/@/BB#s*s   5C009D/.D/methodr   c                    > UR                  SU R                  5        UR                  SU R                  5        [        TU ]  " X/UQ70 UD6$ )Nrf   r   )r   rf   r   r   r   )r   r;  r   r   r   r   s        r8   r   PipSession.request  sF    )T\\2)T\\2 wv<T<V<<r>   )r  r  r   r   )NF)r   r   r   r   rf   r	   r   __annotations__r   ry   r
   r   r   r  r   r  r   SecureOriginr  r   r9  r   r   r   r   r   s   @r8   r   r   @  sD   !GXc]!
 #')*..2O?O? O? }	O?
  }O? T#Y'O? l+O? O? 
O? O?b.S	 .d . QVVV!)#VIMV	VB=Y|T4/G%H =
A A$ AF=c = =C =3 =8 = =r>   r   )[r   email.utilsr   	functoolsr   r*  rq   loggingr   r4   rr   r   r   ru   urllib.parser%  warningstypingr   r   r   r   r   r   r	   r
   r   r   r{   r   r   pip._vendor.cachecontrolr   _BaseCacheControlAdapterpip._vendor.requests.adaptersr   r   r   _BaseHTTPAdapterpip._vendor.requests.modelsr   r   pip._vendor.requests.structuresr   "pip._vendor.urllib3.connectionpoolr   pip._vendor.urllib3.exceptionsr   rC   r   pip._internal.metadatar   pip._internal.models.linkr   pip._internal.network.authr   pip._internal.network.cacher   pip._internal.utils.compatr   pip._internal.utils.glibcr   pip._internal.utils.miscr   r    pip._internal.utils.urlsr!   r   r"   pip._vendor.urllib3.poolmanagerr#   	getLoggerr   r  ry   r   r?  filterwarningsr+   r>  r<   r   r?   	lru_cacher   r   r   r   r   Sessionr   r=   r>   r8   <module>r[     s     	     	    
     * T H I A ? = A  : * ; 5 / . H 0; 
		8	$S#xc3h889 	  +A B
&\" 
(	 Ht H QbC b  bJ)[ )X
 
D	)+; 		13K 	I+ II"5 IK=!! K=r>   