
    gM:                        % 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  S SKJrJr  S SKJr  S SKJr  S SKJr  SSKJr  SS	KJrJrJrJrJrJr  / S
Qr\R>                  " \ 5      r!\"" \SS5      r#\$\%S'   \RL                  S:  r'S\(4S jr)\)" 5       r*\*(       d  SSKJ+r+  \'(       a  \*(       d  \RX                  r-O\R\                  r-S\(4S jr/S\\$\$4   S\(4S jr0\ Rb                  " SS9S\(4S j5       r2\ Rb                  " SS9S\(4S j5       r3\ Rb                  " SS9S\(4S j5       r4\ Rb                  " SS9S\(4S j5       r5\ Rb                  " SS9S\(4S j5       r6S\\$   S\	\$SS4   4S jr7\ Rb                  " SS9S\Rp                  S\Rp                  S\$SS4S  j5       r9S\Rp                  S\Rp                  S\$S\(4S! jr:\ Rb                  " SS9S"SSSS#.S$\(S%\
\$   S&\
\$   S'\
\$   SS4
S( jj5       r;     S2S)\$S$\(S%\
\$   S&\
\$   S*\(S'\
\$   S\4S+ jjr<S\$4S, jr=S\$4S- jr>S.\$S\(4S/ jr?S\$4S0 jr@S\$4S1 jrAg)3    N)AnyDict	GeneratorOptionalTuple)SCHEME_KEYSScheme)WINDOWS)
deprecated)running_under_virtualenv   )
_sysconfig)USER_CACHE_DIRget_major_minor_versionget_src_prefixis_osx_frameworksite_packages	user_site)
r   get_bin_prefixget_bin_userr   get_platlibget_purelib
get_schemer   r   r   
platlibdirlib_PLATLIBDIR)   
   returnc                  >    [        [        [        S[        5      5      $ )a\  This function determines the value of _USE_SYSCONFIG.

By default, pip uses sysconfig on Python 3.10+.
But Python distributors can override this decision by setting:
    sysconfig._PIP_USE_SYSCONFIG = True / False
Rationale in https://github.com/pypa/pip/issues/10647

This is a function for testability, but should be constant during any one
run.
_PIP_USE_SYSCONFIG)boolgetattr	sysconfig_USE_SYSCONFIG_DEFAULT     h/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/pip/_internal/locations/__init__.py_should_use_sysconfigr)   .   s     	#79OPQQr'   
_distutilsc                  J    SSK Jn    U S   S   nUS:H  $ ! [         a     gf = f)zkThe resolution to bpo-44860 will change this incorrect platlib.

See <https://bugs.python.org/issue44860>.
r   INSTALL_SCHEMES	unix_userplatlibFz	$usersite)distutils.command.installr.   KeyError)r.   unix_user_platlibs     r(   _looks_like_bpo_44860r4   L   s=    
 :+K8C ++  s    
""schemec                     U S   nSU;   a  UR                  SS[         S35      nSU;  a  gUR                  SS5      nUR                  SS5      U S	   :H  $ )
Nr0   z/$platlibdir///lib64/Fz/lib/z
$platbase/z$base/purelib)replacer   )r5   r0   	unpatcheds      r(   +_looks_like_red_hat_patched_platlib_purelibr<   Z   se    YG'!///Q{m13EF	73I\84y8IIIr'   )maxsizec                  :   ^  SSK Jm   [        U 4S jS 5       5      $ )zRed Hat patches platlib in unix_prefix and unix_home, but not purelib.

This is the only way I can see to tell a Red Hat-patched Python.
r   r-   c              3   X   >#    U  H  nUT;   =(       a    [        TU   5      v   M!     g 7fN)r<   ).0kr.   s     r(   	<genexpr>*_looks_like_red_hat_lib.<locals>.<genexpr>l   s8       .A 	
_ 	L78JK	L-s   '*)unix_prefix	unix_home)r1   r.   allr-   s   @r(   _looks_like_red_hat_librH   d   s$     :  .  r'   c                  0    SSK Jn   SU ;   =(       a    SU ;   $ )z#Debian adds two additional schemes.r   r-   
deb_system
unix_local)r1   r.   r-   s    r(   _looks_like_debian_schemerL   s   s     :?*N|/NNr'   c                  V   SSK Jn   SSKJn  U " U" 5       5      nUR	                  5         UR
                  [        R                  R                  [        R
                  5       S3:H  =(       a=    UR                  [        R                  R                  [        R                  5       S3:H  $ )aH  Red Hat patches ``sys.prefix`` and ``sys.exec_prefix``.

Red Hat's ``00251-change-user-install-location.patch`` changes the install
command's ``prefix`` and ``exec_prefix`` to append ``"/local"``. This is
(fortunately?) done quite unconditionally, so we create a default command
object without any configuration to detect this.
r   )install)Distributionz/local)r1   rN   distutils.distrO   finalize_optionsexec_prefixospathnormpathsysprefix)rN   rO   cmds      r(   _looks_like_red_hat_schemerY   {   s{     2+|~&Cbgg..s?@GG 	BJJRWW--cjj9:&AAr'   c                      [         c  g [        R                  " SSS9n SU S   ;   =(       a	    S[         ;  $ ! [         a     gf = f)zSlackware patches sysconfig but fails to patch distutils and site.

Slackware changes sysconfig's user scheme to use ``"lib64"`` for the lib
path, but does not do the same to the site module.
F
posix_user)r5   expandr8   r9   )r   r$   	get_pathsr2   pathss    r(   _looks_like_slackware_schemer`      sT     ##<F i((GYi-GG  s   7 
AAc                  f   ^  [         R                  " SSS9m [        S U 4S jS 5        5       5      $ )aq  MSYS2 patches distutils and sysconfig to use a UNIX-like scheme.

However, MSYS2 incorrectly patches sysconfig ``nt`` scheme. The fix is
likely going to be included in their 3.10 release, so we ignore the warning.
See msys2/MINGW-packages#9319.

MSYS2 MINGW's patch uses lowercase ``"lib"`` instead of the usual uppercase,
and is missing the final ``"site-packages"``.
ntF)r\   c              3   ~   #    U  H3  nS U;  =(       a"    SU;   =(       a    UR                  S5      (       + v   M5     g7f)Libr   zsite-packagesN)endswith)rA   ps     r(   rC   1_looks_like_msys2_mingw_scheme.<locals>.<genexpr>   s8      ?A 	QI5A:Iajj.I*II?s   ;=c              3   .   >#    U  H
  nTU   v   M     g 7fr@   r&   )rA   keyr_   s     r(   rC   rg      s     ?(>%*(>s   r0   r9   )r$   r]   rG   r^   s   @r(   _looks_like_msys2_mingw_schemerk      s7     U3E ?(>?  r'   partsc              #   $  #    [         R                  " S5      n[        [        SS 5      nU(       a  U(       a  UR	                  U5      (       d  U  S h  vN   g U  H.  nUR	                  U5      (       a  US S[        U5      -
   nUv   M0     g  N:7f)N	LDVERSIONabiflagsr   )r$   get_config_varr#   rV   re   len)rl   	ldversionro   parts       r(   _fix_abiflagsrt      s     ((5IsJ-H HI,>,>x,H,H ==##-1s8},.D
 	 	s   ABB;Boldnewri   c                D    SnSn[         R                  [        XBX0U5        g )Nz(https://github.com/pypa/pip/issues/10151zSValue for %s does not match. Please report this to <%s>
distutils: %s
sysconfig: %s)loggerlog_MISMATCH_LEVEL)ru   rv   ri   	issue_urlmessages        r(   _warn_mismatchedr}      s%    :I	 
 JJicBr'   c                $    X:X  a  g[        XUS9  g)NFri   T)r}   )ru   rv   ri   s      r(   _warn_if_mismatchr      s    
zS3'r'   FuserhomerootrW   r   r   r   rW   c                 b    / SQn[         R                  [        SR                  U5      XX#5        g )N)zAdditional context:z	user = %rz	home = %rz	root = %rzprefix = %r
)rx   ry   rz   join)r   r   r   rW   rl   s        r(   _log_contextr      s&    E JJ		% 0$dKr'   	dist_nameisolatedc           
        ^^ [         R                  " U UUUUUS9n[        (       a  U$ [        R                  " U UUUUUS9m/ n[         GH  n[
        R                  " [        TU5      5      n	[
        R                  " [        Xh5      5      n
X:X  a  MJ  [        R                  R                  S:H  =(       at    US L=(       ai    US;   =(       a]    U	R                  U
R                  :H  =(       a=    U	R                  R                  S5      =(       a    U
R                  R                  S5      nU(       a  M  U=(       al    [        5       =(       a[    US:H  =(       aO    U	R                  R                  U
R                  :H  =(       a%    U	R                  R                  R                  S5      nU(       a  GMj  US:X  a  [        5       (       a  GM  U=(       aR    US:H  =(       aF    [        (       + =(       a4    [        R                   S:  =(       a    ["        S:g  =(       a
    [%        5       nU(       a  GM  U=(       a(    US;   =(       a    [        (       + =(       a
    ['        5       nU(       a  GM"  U=(       d    U=(       d    U=(       d
    [)        5       (       + =(       a    U	R*                  S	S
 S:H  =(       a    [-        U
R*                  5      S	:  =(       al    U
R*                  S	   S:H  =(       aS    [-        U
R*                  5      S
:  =(       d    U
R*                  S   S:g  =(       a    [/        5       =(       d
    [1        5       nU(       a  GM  [        =(       a    US;   =(       a
    [3        5       nU(       a  GM.  [4        R6                  " SS9=(       a    [        (       + =(       a    US;   nU(       a  GMj  UR9                  XSU 345        GM     U(       d  T$ [        R:                  " U UUUUUSS9m[=        UU4S j[         5       5      (       a  [?        SS S S9  T$ U H  u  pn[A        XUS9  M     [C        XX5S9  T$ )N)r   r   r   r   rW   pypyrj   pythonheadersr0   )r   	   r   r   r   )usrlocalr      r   T)
check_home)r   includeplatincludezscheme.)ignore_config_filesc              3   H   >#    U  H  nTU   [        TU5      :g  v   M     g 7fr@   )r#   )rA   rB   default_oldru   s     r(   rC   get_scheme.<locals>.<genexpr>x  s      
Bk;q>WS!_,ks   "zConfiguring installation scheme with distutils config files is deprecated and will no longer work in the near future. If you are using a Homebrew or Linuxbrew Python, please see discussion at https://github.com/Homebrew/homebrew-core/issues/76621)reasonreplacementgone_inr   r   )"r   r   _USE_SYSCONFIGr+   r   pathlibPathr#   rV   implementationnameparent
startswithr   rH   r
   version_infor   r4   r`   r   rl   rq   rY   rL   rk   r$   is_python_buildappenddistutils_schemeanyr   r}   r   )r   r   r   r   r   rW   rv   warning_contextsrB   old_vnew_vskip_pypy_special_case$skip_osx_framework_user_special_caseskip_bpo_44860skip_slackware_user_schemeskip_linux_system_special_caseskip_msys2_mingw_bugskip_cpython_buildri   r   ru   s                      @@r(   r   r      s    

C ~



C [WS!_-WS_-> ##v- .D .++. ,. 

%%h/	.
 

%%f- 	 "  7 "7Y7 ##u||37 !!,,X6 	- 0 	>577  (Y((   F*( u$	(
 &' 	 
  /++// -.	 	# & EEE+C+EF NAa $44NEKK 1$N A%'N U[[!A%BQ7)B	N
 ,-L1J1L 	' *
 X33X8V8X 	   %%6 ;;:: 	
 } =>I L 

 -- K 
Bk
BBBL
 		
 
 .c3/ .dD@Jr'   c                      [         R                  " 5       n [        (       a  U $ [        R                  " 5       n[	        [
        R                  " U5      [
        R                  " U 5      SS9(       a
  [        5         U$ )N
bin_prefixr   )r   r   r   r+   r   r   r   r   rv   ru   s     r(   r   r     sP    

#
#
%C~


#
#
%Cc*GLL,=<PJr'   c                  @    [         R                  " SSS9R                  $ )N T)r   )r   r   scriptsr&   r'   r(   r   r     s      $/777r'   valuec                 2    [        5       (       d  gU S:X  a  gg)a  Check if the value is Debian's APT-controlled dist-packages.

Debian's ``distutils.sysconfig.get_python_lib()`` implementation returns the
default package path controlled by APT, but does not patch ``sysconfig`` to
do the same. This is similar to the bug worked around in ``get_scheme()``,
but here the default is ``deb_system`` instead of ``unix_local``. Ultimately
we can't do anything about this Debian bug, and this detection allows us to
skip the warning when needed.
Fz/usr/lib/python3/dist-packagesT)rL   )r   s    r(   $_looks_like_deb_system_dist_packagesr     s     %&&00r'   c                     [         R                  " 5       n [        (       a  U $ [        R                  " 5       n[	        U5      (       a  U$ [        [        R                  " U5      [        R                  " U 5      SS9(       a
  [        5         U$ )z,Return the default pure-Python lib location.r9   r   )	r   r   r   r+   r   r   r   r   r   r   s     r(   r   r     s`    

 
 
"C~


 
 
"C+C00
c*GLL,=9MJr'   c                      [         R                  " 5       n [        (       a  U $ SSKJn  UR                  " 5       n[        U5      (       a  U$ [        [        R                  " U5      [        R                  " U 5      SS9(       a
  [        5         U$ )z0Return the default platform-shared lib location.r   r*   r0   r   )
r   r   r   r   r+   r   r   r   r   r   )rv   r+   ru   s      r(   r   r     sc    

 
 
"C~


 
 
"C+C00
c*GLL,=9MJr'   )FNNFN)B	functoolsloggingrS   r   rV   r$   typingr   r   r   r   r   pip._internal.models.schemer   r	   pip._internal.utils.compatr
   pip._internal.utils.deprecationr   pip._internal.utils.virtualenvr   r   r   baser   r   r   r   r   r   __all__	getLogger__name__rx   r#   r   str__annotations__r   r%   r"   r)   r   r+   WARNINGrz   DEBUGr4   r<   	lru_cacherH   rL   rY   r`   rk   rt   r   r}   r   r   r   r   r   r   r   r   r&   r'   r(   <module>r      sP     	  
  8 8 ; . 6 C   
		8	$ 3e4S 4))W4 Rt R '(  .ooOmmO,t ,JS#X J4 J T"  # T"O4 O #O T"D  #& T"Hd H #H T"  #"s 	#tT/(B   T"C',, CW\\ C3 C4 C #C7<< gll C D  T"  L
L 3-L 3-	L
 SML 
L #L(  dd
d 3-d 3-	d
 d SMd dN 8c 8  "S S r'   