§
    þèiy  ã                  ó,  — d dl mZ d dlZd dlZd dlZd dlZd dlZd dlm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 d dlmZ d d	lmZ d%d„Ze
d&d„¦   «         Z  edd¬¦  «        ej        ¦  «        Zd%d„Zd%d„Zd'd„Zd(d„Zd)d„Zd(d„Zd)d„Z d*d$„Z!dS )+é    )ÚannotationsN)Ú	Generator)Úcontextmanager)ÚNamedTemporaryFile)ÚAnyÚBinaryIOÚcast)Úget_path_uid)Úformat_size)ÚretryÚpathÚstrÚreturnÚboolc                óî  — t           j        dk    st          t          d¦  «        sdS t          j                             | ¦  «        sJ ‚d }| |k    r¤t          j                             | ¦  «        r^t          j        ¦   «         dk    r(	 t          | ¦  «        }n# t          $ r Y dS w xY w|dk    S t          j
        | t          j        ¦  «        S | t          j                             | ¦  «        } }| |k    °¤dS )NÚwin32ÚgeteuidTr   F)ÚsysÚplatformÚhasattrÚosr   ÚisabsÚlexistsr   r
   ÚOSErrorÚaccessÚW_OKÚdirname)r   ÚpreviousÚpath_uids      új/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/pip/_internal/utils/filesystem.pyÚcheck_path_ownerr!      sõ   € õ „|�wÒÐ¥g­b°)Ñ&<Ô&<ÐØˆtåŒ7�=Š=˜ÑÔÐÐÐà€HØ
�(Ò
Ð
ÝŒ7�?Š?˜4Ñ Ô ð 	9åŒz‰|Œ|˜qÒ Ð ð!Ý+¨DÑ1Ô1�H�HøÝð !ð !ð !Ø ˜5˜5ð!øøøà 1’}Ð$å”y ¥r¤wÑ/Ô/Ð/à!¥2¤7§?¢?°4Ñ#8Ô#8�dˆHð �(Ò
Ð
ð ˆ5s   ÂB Â
B&Â%B&Úkwargsr   úGenerator[BinaryIO, None, None]c              +  óü  K  — t          ddt          j                             | ¦  «        t          j                             | ¦  «        ddœ|¤Ž5 }t          t          |¦  «        }	 |V — |                     ¦   «          t          j        | 	                    ¦   «         ¦  «         n?# |                     ¦   «          t          j        | 	                    ¦   «         ¦  «         w xY w	 ddd¦  «         dS # 1 swxY w Y   dS )a%  Return a file-like object pointing to a tmp file next to path.

    The file is created securely and is ensured to be written to disk
    after the context reaches its end.

    kwargs will be passed to tempfile.NamedTemporaryFile to control
    the way the temporary file will be opened.
    Fz.tmp)ÚdeleteÚdirÚprefixÚsuffixN© )
r   r   r   r   Úbasenamer	   r   ÚflushÚfsyncÚfileno)r   r"   ÚfÚresults       r    Úadjacent_tmp_filer0   -   s0  è è € õ 
ð 
ØÝŒG�OŠO˜DÑ!Ô!ÝŒw×Ò Ñ%Ô%Øð	
ð 
ð
 ð
ð 
ð &ð 
Ý•h Ñ"Ô"ˆð	&ØˆLˆLˆLà�LŠL‰NŒNˆNÝŒH�V—]’]‘_”_Ñ%Ô%Ð%Ð%øð �LŠL‰NŒNˆNÝŒH�V—]’]‘_”_Ñ%Ô%Ð%Ð%øøøÐ%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s*   ÁC1Á%B$Á);C1Â$<C Ã C1Ã1C5Ã8C5é   g      Ð?)Ústop_after_delayÚwaitc                óJ  — t           j                             | ¦  «        sGt           j                             | ¦  «        }|| k    rn!|} t           j                             | ¦  «        ¯Gt           j        dk    rt          j        | t           j        ¦  «        S t          | ¦  «        S )zgCheck if a directory is writable.

    Uses os.access() on POSIX, tries creating files on Windows.
    Úposix)r   r   Úisdirr   Únamer   r   Ú_test_writable_dir_win)r   Úparents     r    Útest_writable_dirr:   K   s‡   € õ Œg�mŠm˜DÑ!Ô!ð Ý”—’ Ñ&Ô&ˆØ�TŠ>ˆ>ØØˆõ	 Œg�mŠm˜DÑ!Ô!ð õ 
„w�'ÒÐÝŒy˜�rœwÑ'Ô'Ð'å! $Ñ'Ô'Ð'ó    c                óò  ‡— d}dŠt          d¦  «        D ]Ô}|d                     ˆfd„t          d¦  «        D ¦   «         ¦  «        z   }t          j                             | |¦  «        }	 t          j        |t          j        t          j        z  t          j        z  ¦  «        }t          j        |¦  «         t          j	        |¦  «          dS # t          $ r Y ŒÄt          $ r Y  dS w xY wt          d	¦  «        ‚)
NÚ(accesstest_deleteme_fishfingers_custard_Ú$abcdefghijklmnopqrstuvwxyz0123456789é
   Ú c              3  ó@   •K  — | ]}t          j        ‰¦  «        V — Œd S ©N)ÚrandomÚchoice)Ú.0Ú_Úalphabets     €r    ú	<genexpr>z)_test_writable_dir_win.<locals>.<genexpr>c   s-   øè è € Ð!LÐ!L¸a¥&¤-°Ñ"9Ô"9Ð!LÐ!LÐ!LÐ!LÐ!LÐ!Lr;   é   TFz3Unexpected condition testing for writable directory)ÚrangeÚjoinr   r   ÚopenÚO_RDWRÚO_CREATÚO_EXCLÚcloseÚunlinkÚFileExistsErrorÚPermissionErrorr   )r   r*   rF   r7   ÚfileÚfdrG   s         @r    r8   r8   ]   s  ø€ ð :€HØ5€HÝ�2‰YŒYð ð ˆØ˜"Ÿ'š'Ð!LÐ!LÐ!LÐ!LÅ5ÈÁ8Ä8Ð!LÑ!LÔ!LÑLÔLÑLˆÝŒw�|Š|˜D $Ñ'Ô'ˆð	Ý”˜�rœy­2¬:Ñ5½¼	ÑAÑBÔBˆBõ ŒH�R‰LŒLˆLÝŒI�d‰OŒOˆOØ�4�4øõ ð 	ð 	ð 	ØˆDÝð 	ð 	ð 	ð �5�5�5ð	øøøõ ÐGÑ
HÔ
HÐHs   Á)9CÃ
C'Ã	C'Ã&C'Úpatternú	list[str]c                ó®   ‡— g }t          j        | ¦  «        D ]<\  Š}}t          j        ||¦  «        }|                     ˆfd„|D ¦   «         ¦  «         Œ=|S )z†Returns a list of absolute paths of files beneath path, recursively,
    with filenames which match the UNIX-style shell glob pattern.c              3  óX   •K  — | ]$}t           j                             ‰|¦  «        V — Œ%d S rB   )r   r   rK   )rE   r.   Úroots     €r    rH   zfind_files.<locals>.<genexpr>   s3   øè è € Ð=Ð=°•b”g—l’l 4¨Ñ+Ô+Ð=Ð=Ð=Ð=Ð=Ð=r;   )r   ÚwalkÚfnmatchÚfilterÚextend)r   rV   r/   rF   ÚfilesÚmatchesrZ   s         @r    Ú
find_filesra   y   sg   ø€ ð €FÝœ' $™-œ-ð >ð >‰ˆˆa�Ý”. ¨Ñ0Ô0ˆØ�ŠÐ=Ð=Ð=Ð=°WÐ=Ñ=Ô=Ñ=Ô=Ð=Ð=Ø€Mr;   úint | floatc                ó‚   — t           j                             | ¦  «        rdS t           j                             | ¦  «        S )Nr   )r   r   ÚislinkÚgetsize©r   s    r    Ú	file_sizerg   ƒ   s1   € å	„w‡~‚~�dÑÔð ØˆqÝŒ7�?Š?˜4Ñ Ô Ð r;   c                ó:   — t          t          | ¦  «        ¦  «        S rB   )r   rg   rf   s    r    Úformat_file_sizeri   Š   s   € Ý•y ‘”Ñ'Ô'Ð'r;   c                ó®   — d}t          j        | ¦  «        D ]=\  }}}|D ]4}t           j                             ||¦  «        }|t	          |¦  «        z  }Œ5Œ>|S )Ng        )r   r[   r   rK   rg   )r   ÚsizerZ   Ú_dirsr_   ÚfilenameÚ	file_paths          r    Údirectory_sizero   Ž   si   € Ø€DÝ œg d™mœmð )ð )Ñˆˆe�UØð 	)ð 	)ˆHÝœŸš T¨8Ñ4Ô4ˆIØ•I˜iÑ(Ô(Ñ(ˆDˆDð	)ð €Kr;   c                ó:   — t          t          | ¦  «        ¦  «        S rB   )r   ro   rf   s    r    Úformat_directory_sizerq   —   s   € Ý•~ dÑ+Ô+Ñ,Ô,Ð,r;   Ú	directoryÚtarget_filer   ÚNonec                ó2  — t          j        | ¦  «        j        dz  dz  }t           j        t           j        v r)t          j        |                     ¦   «         |¦  «         d S t           j        t           j        v rt          j        |j        |d¬¦  «         d S d S )Ni¶  i€  F)Úfollow_symlinks)r   ÚstatÚst_modeÚchmodÚsupports_fdr-   Úsupports_follow_symlinksr7   )rr   rs   Úmodes      r    Úcopy_directory_permissionsr}   ›   s‘   € å
Œ�	ÑÔÔ" UÑ*Ø
ñ	ð 	õ
 
„x•2”>Ð!Ð!Ý
Œ�×#Ò#Ñ%Ô% tÑ,Ô,Ð,Ð,Ð,Ý	Œ•RÔ0Ð	0Ð	0Ý
Œ�Ô! 4¸Ð?Ñ?Ô?Ð?Ð?Ð?ð 
1Ð	0r;   )r   r   r   r   )r   r   r"   r   r   r#   )r   r   rV   r   r   rW   )r   r   r   rb   )r   r   r   r   )rr   r   rs   r   r   rt   )"Ú
__future__r   r\   r   Úos.pathrC   r   Úcollections.abcr   Ú
contextlibr   Útempfiler   Útypingr   r   r	   Úpip._internal.utils.compatr
   Úpip._internal.utils.miscr   Úpip._internal.utils.retryr   r!   r0   Úreplacer:   r8   ra   rg   ri   ro   rq   r}   r)   r;   r    ú<module>rˆ      sØ  ðØ "Ð "Ð "Ð "Ð "Ð "à €€€Ø 	€	€	€	Ø €€€Ø €€€Ø 
€
€
€
Ø %Ð %Ð %Ð %Ð %Ð %Ø %Ð %Ð %Ð %Ð %Ð %Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø +Ð +Ð +Ð +Ð +Ð +ðð ð ð ð6 ð&ð &ð &ñ „ð&ð0 /ˆ%ˆ% ¨Ð
.Ñ
.Ô
.¨r¬zÑ
:Ô
:€ð
(ð (ð (ð (ð$Ið Ið Ið Ið8ð ð ð ð!ð !ð !ð !ð(ð (ð (ð (ðð ð ð ð-ð -ð -ð -ð	@ð 	@ð 	@ð 	@ð 	@ð 	@r;   