ó
    �Rjå7  ã                   ób  • % 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	  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'   \RH                  S:¬  r%S\&4S jr'\'" 5       r(\((       d  SSKJ)r)  \%(       a  \((       d  \RT                  r+O\RX                  r+S\&4S jr-S\\"\"4   S\&4S jr.\ R^                  " SS9S\&4S j5       r0\ R^                  " SS9S\&4S j5       r1\ R^                  " SS9S\&4S j5       r2\ R^                  " SS9S\&4S j5       r3\ R^                  " SS9S\&4S j5       r4\ R^                  " SS9S\Rj                  S\Rj                  S\"SS4S j5       r6S\Rj                  S\Rj                  S\"S\&4S jr7\ R^                  " SS9S SSSS!.S"\&S#\	\"   S$\	\"   S%\	\"   SS4
S& jj5       r8     S0S'\"S"\&S#\	\"   S$\	\"   S(\&S%\	\"   S\4S) jjr9S\"4S* jr:S\"4S+ jr;S,\"S\&4S- jr<S\"4S. jr=S\"4S/ jr>g)1é    N)ÚAnyÚDictÚOptional)Ú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© ó    ÚLD:\diplom_project\venv\Lib\site-packages\pip/_internal/locations/__init__.pyÚ_should_use_sysconfigr'   .   s   € ô ”œ	Ð#7Ô9OÓ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_44860r2   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  $ )
Nr.   z/$platlibdir/Ú/ú/lib64/Fz/lib/z
$platbase/z$base/Úpurelib)Úreplacer   )r3   r.   Ú	unpatcheds      r&   Ú+_looks_like_red_hat_patched_platlib_purelibr:   Z   se   € Ø�YÑ€GØ˜'Ó!Ø—/‘/ /°Q´{°mÀ1Ð3EÓFˆØ˜ÓØØ—‘ 	¨7Ó3€IØ×Ñ˜\¨8Ó4¸¸yÑ8IÑIÐIr%   )Úmaxsizec                  ó:   ^ • SSK Jm   [        U 4S jS 5       5      $ )z‰Red 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)r/   r,   Úallr+   s   @r&   Ú_looks_like_red_hat_librF   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)r/   r,   r+   s    r&   Ú_looks_like_debian_schemerJ   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)r/   rL   Údistutils.distrM   Úfinalize_optionsÚexec_prefixÚosÚpathÚnormpathÚsysÚprefix)rL   rM   Úcmds      r&   Ú_looks_like_red_hat_schemerW   {   s{   € õ 2Ý+á‘|“~Ó&€CØ×ÑÔà�‰œbŸg™g×.Ñ.¬s¯©Ó?Ð@ÀÐGÑG÷ 	BØ�J‰JœRŸW™W×-Ñ-¬c¯j©jÓ9Ð:¸&ÐAÑAðr%   c                  óŽ   • [         c  g [        R                  " SSS9n SU S   ;   =(       a	    S[         ;  $ ! [         a     gf = f)zÀSlackware 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)r3   Úexpandr6   r7   )r   r"   Ú	get_pathsr0   ©Úpathss    r&   Ú_looks_like_slackware_schemer^   �   sT   € ô ÑØðÜ×#Ò#¨<ÀÑFˆð ˜˜iÑ(Ñ(×G¨Y¼iÑ-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)rZ   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)r?   Úps     r&   rA   Ú1_looks_like_msys2_mingw_scheme.<locals>.<genexpr>«   s8   é € ð â?ˆAð 	�Q‰×I˜5 A™:×I¨a¯j©j¸Ó.IÔ*IÔIÚ?ùs   ‚;=c              3   ó.   >#   • U  H
  nTU   v •  M     g 7fr>   r$   )r?   Úkeyr]   s     €r&   rA   re   ­   s   øé € Ð?Ò(> �%˜–*Ò(>ùs   ƒ©r.   r7   )r"   r[   rE   r\   s   @r&   Ú_looks_like_msys2_mingw_schemeri   Ÿ   s7   ø€ ô ×Ò ¨UÑ3€EÜñ ä?Ñ(>Ô?óó ð r%   ÚoldÚnewrg   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)rj   rk   rg   Ú	issue_urlÚmessages        r&   Ú_warn_mismatchedrr   ±   s%   € à:€Ið	ð ô
 ‡J�JŒ ¨i¸cÕBr%   c                ó$   • X:X  a  g[        XUS9  g)NF©rg   T)rr   )rj   rk   rg   s      r&   Ú_warn_if_mismatchru   ¼   s   € Ø
ƒzØÜ�S 3Ò'Ør%   F©ÚuserÚhomeÚrootrU   rw   rx   ry   rU   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Ú
)rm   rn   ro   Újoin)rw   rx   ry   rU   Úpartss        r&   Ú_log_contextr~   Ã   s&   € ò€Eô ‡J�JŒ §	¡	¨%Ó 0°$¸dÕKr%   Ú	dist_nameÚisolatedc           
      óL  ^^• [         R                  " U UUUUUS9n[        (       a  U$ [        R                  " U UUUUUS9m/ n[         GHf  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=(       a8    US:H  =(       a,    [        (       + =(       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
    [/        5       nU(       a  GMç  [        =(       a    US;   =(       a
    [1        5       nU(       a  GM  [2        R4                  " SS9=(       a    [        (       + =(       a    US;   nU(       a  GMP  UR7                  XšSU 345        GMi     U(       d  T$ [        R8                  " 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  pšn[?        XšUS9  M     [A        XX5S9  T$ )N)rw   rx   ry   r€   rU   Úpypyrh   ÚpythonÚheadersr.   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!   )r?   r@   Údefault_oldrj   s     €€r&   rA   Úget_scheme.<locals>.<genexpr>g  s    øé € Ð
B²k°ˆ;�q‰>œW S¨!›_Ö,²kùs   ƒ"zöConfiguring 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_inrt   rv   )!r   r   Ú_USE_SYSCONFIGr)   r   ÚpathlibÚPathr!   rT   ÚimplementationÚnameÚparentÚ
startswithr   rF   r   r   r2   r^   r
   r}   ÚlenrW   rJ   ri   r"   Úis_python_buildÚappendÚdistutils_schemeÚanyr	   rr   r~   )r   rw   rx   ry   r€   rU   rk   Úwarning_contextsr@   Ú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_buildrg   r�   rj   s                      @@r&   r   r   Ö   sÇ  ù€ ô ×
Ò
ØØØØØØñ€C÷ ‚~Øˆ
ä
×
Ò
ØØØØØØñ€Cð Ðßˆ[ˆÜ—’œW S¨!›_Ó-ˆÜ—’œW S›_Ó-ˆà‹>Ùô ×Ñ×#Ñ# vÑ-÷ .Ø˜DÐ ÷.àÐ+Ñ+÷.ð —‘ §¡Ñ,÷.ð —
‘
×%Ñ% hÓ/÷	.ð
 —
‘
×%Ñ% fÓ-ð 	ö "Ùð ÷ 7Ü Ó"÷7à�Y‘÷7ð —‘×#Ñ# u§|¡|Ñ3÷7ð —‘×!Ñ!×,Ñ,¨XÓ6ð 	-ö 0Úð �	‹>Ô5×7Ñ7Úð ÷ (Ø�Y‘÷(ä”÷(ô ˜uÑ$÷(ô &Ó'ð 	ö Úð
 ÷ /ØÐ+Ñ+÷/ä”÷/ô -Ó.ð	 	#ö &Úð ×E˜×E ×EÔ+CÓ+EÔF÷ NØ—‘˜A˜aÐ Ð$4Ñ4÷Nä�E—K‘KÓ  1Ñ$÷Nð —‘˜A‘ %Ñ'÷Nô �U—[‘[Ó! AÑ%×B¨¯©°Q©¸7Ñ)B÷	Nô
 ,Ó-×LÔ1JÓ1Lð 	'ö *Úô
 ×X˜Ð3Ñ3×XÔ8VÓ8Xð 	ö  Úô ×%Ò%°Ñ6÷ ;Ü”÷;àÐ:Ñ:ð 	ö
 Úà×Ñ °¸¸¨}Ð =×>ñG öJ Øˆ
ô
 ×-Ò-ØØØØØØØ ñ€Kô Õ
BµkÓ
B×BÑBÜðLð
 Øò		
ð ˆ
ó .Ñˆ�cÜ˜¨3Ô/ñ .ä�d¨DÒ@à€Jr%   c                  óø   • [         R                  " 5       n [        (       a  U $ [        R                  " 5       n[	        [
        R                  " U5      [
        R                  " U 5      SS9(       a
  [        5         U$ )NÚ
bin_prefixrt   )r   r   r’   r)   ru   r“   r”   r~   ©rk   rj   s     r&   r   r   |  sP   € Ü
×
#Ò
#Ó
%€Cß‚~Øˆ
ä
×
#Ò
#Ó
%€CÜœŸš cÓ*¬G¯LªL¸Ó,=À<×PÜŒØ€Jr%   c                  ó@   • [         R                  " SSS9R                  $ )NÚ T)rw   )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)rJ   )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.r7   rt   )	r   r   r’   r)   r°   ru   r“   r”   r~   rª   s     r&   r   r   œ  s`   € ä
×
 Ò
 Ó
"€Cß‚~Øˆ
ä
×
 Ò
 Ó
"€CÜ+¨C×0Ñ0Øˆ
ÜœŸš cÓ*¬G¯LªL¸Ó,=À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(   r.   rt   )
r   r   r’   r¬   r)   r°   ru   r“   r”   r~   )rk   r)   rj   s      r&   r   r   ª  sc   € ä
×
 Ò
 Ó
"€Cß‚~Øˆ
åà
×
 Ò
 Ó
"€CÜ+¨C×0Ñ0Øˆ
ÜœŸš cÓ*¬G¯LªL¸Ó,=À9×MÜŒØ€Jr%   )FNNFN)?Ú	functoolsÚloggingrQ   r“   rT   r"   Útypingr   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__rm   r!   r   ÚstrÚ__annotations__Úversion_infor#   r    r'   r’   r)   ÚWARNINGro   ÚDEBUGr2   r:   Ú	lru_cacherF   rJ   rW   r^   ri   r”   rr   ru   r~   r   r   r   r°   r   r   r$   r%   r&   Ú<module>rÄ      s.  ðÜ Û Û 	Û Û 
Û ß &Ñ &ç ;Ý .Ý 6Ý Cå ÷÷ ò€ð 
×	Ò	˜8Ó	$€ñ ˜3 ¨eÓ4€ˆSÓ 4à×)Ñ)¨WÑ4Ð ðR˜tô Rñ 'Ó(€æõ ö ¦.Ø—o‘o�Oà—m‘m€Oð,˜tô ,ðJ¸¸SÀ#¸X¹ð JÈ4ô Jð ×Ò˜TÑ"ð ó ó #ðð ×Ò˜TÑ"ðO 4ó Oó #ðOð ×Ò˜TÑ"ð Dó ó #ðð& ×Ò˜TÑ"ðH dó Hó #ðHð ×Ò˜TÑ"ð¨ó ó #ðð" ×Ò˜TÑ"ðC˜'Ÿ,™,ð C¨W¯\©\ð CÀ3ð CÈ4ó Có #ðCð˜7Ÿ<™<ð ¨g¯l©lð ÀCð ÈDô ð ×Ò˜TÑ"ð ØØØ òLà
ðLð �3‰-ðLð �3‰-ð	Lð
 �S‰MðLð 
ôLó #ðLð( ØØØØ ñcØðcà
ðcð �3‰-ðcð �3‰-ð	cð
 ðcð �S‰Mðcð õcðL˜ô ð8�cô 8ð°ð ¸ô ð"�Sô ð�Sõ r%   