£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

Rec           @   s  d  d l  Z  d  d l Z d  d l 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 d  d l m Z d  d l m Z d  d l m Z m Z e rd  d	 l m Z m Z m Z m Z m Z d
 e f d     YZ n  d   Z d   Z d   Z  e	 d    Z! e d d d d  Z" e rte" d    Z# n e" e j#  Z# d   Z$ d   Z% d   Z& d   Z' d   Z( d   Z) d   Z* d S(   iN(   t   contextmanager(   t   NamedTemporaryFile(   t   retry(   t   PY2(   t   get_path_uid(   t   format_size(   t   MYPY_CHECK_RUNNINGt   cast(   t   Anyt   BinaryIOt   Iteratort   Listt   Uniont   NamedTemporaryFileResultc           B   s   e  Z e d     Z RS(   c         C   s   d  S(   N(    (   t   self(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt   file   s    (   t   __name__t
   __module__t   propertyR   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyR      s   c         C   s   t  j d k s t t d  r# t St j j |   s; t  d  } x |  | k r t j j	 |   r t j
   d k r y t |   } Wn t k
 r t SX| d k St j |  t j  SqD |  t j j |   } }  qD Wt S(   Nt   win32t   geteuidi    (   t   syst   platformt   hasattrt   ost   Truet   patht   isabst   AssertionErrort   Nonet   lexistsR   R   t   OSErrort   Falset   accesst   W_OKt   dirname(   R   t   previoust   path_uid(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt   check_path_owner   s    
c         C   s   y t  j |  |  Wny t t f k
 r x\ |  | g D]N } y t |  } Wn t k
 r` q7 X| r7 t  j d j t       q7 q7 W  n Xd S(   s   Wrap shutil.copy2() but map errors copying socket files to
    SpecialFileError as expected.

    See also https://bugs.python.org/issue37700.
    s   `{f}` is a socketN(   t   shutilt   copy2R   t   IOErrort	   is_sockett   SpecialFileErrort   formatt   locals(   t   srct   destt   ft   is_socket_file(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt   copy2_fixed;   s    c         C   s   t  j t j |   j  S(   N(   t   statt   S_ISSOCKR   t   lstatt   st_mode(   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyR*   T   s    c      
   k   s   t  d t d t j j |   d t j j |   d d |  F } t d |  } z	 | VWd | j j   t j	 | j j
    XWd QXd S(   s%  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.
    t   deletet   dirt   prefixt   suffixs   .tmpR   N(   R   R    R   R   R#   t   basenameR   R   t   flusht   fsynct   fileno(   R   t   kwargsR0   t   result(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt   adjacent_tmp_fileY   s    		t   stop_max_delayi  t
   wait_fixedi   c         C   sI   y t  j |  |  Wn. t k
 rD t  j |  t  j |  |  n Xd  S(   N(   R   t   renameR   t   remove(   R.   R/   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt   replacev   s
    c         C   sm   x> t  j j |   s@ t  j j |   } | |  k r7 Pn  | }  q Wt  j d k rc t  j |  t  j  St |   S(   sg   Check if a directory is writable.

    Uses os.access() on POSIX, tries creating files on Windows.
    t   posix(   R   R   t   isdirR#   t   nameR!   R"   t   _test_writable_dir_win(   R   t   parent(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt   test_writable_dir   s    
c            s  d } d   x t  d  D] } | d j   f d   t  d  D  } t j j |  |  } y' t j | t j t j Bt j B } WnV t k
 r } | j	 t	 j
 k r q n  | j	 t	 j k s | j	 t	 j k r t S  q Xt j |  t j |  t Sq Wt d   d  S(   Nt(   accesstest_deleteme_fishfingers_custard_t$   abcdefghijklmnopqrstuvwxyz0123456789i
   t    c         3   s   |  ] } t  j    Vq d  S(   N(   t   randomt   choice(   t   .0t   _(   t   alphabet(    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pys	   <genexpr>   s    i   s3   Unexpected condition testing for writable directory(   t   ranget   joinR   R   t   opent   O_RDWRt   O_CREATt   O_EXCLR   t   errnot   EEXISTt   EPERMt   EACCESR    t   closet   unlinkR   t   EnvironmentError(   R   R;   RS   RI   R   t   fdt   e(    (   RT   s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyRJ      s$    )'$c            s\   g  } xO t  j |   D]> \   } } t j | |  } | j   f d   | D  q W| S(   s   Returns a list of absolute paths of files beneath path, recursively,
    with filenames which match the UNIX-style shell glob pattern.c         3   s$   |  ] } t  j j   |  Vq d  S(   N(   R   R   RV   (   RR   R0   (   t   root(    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pys	   <genexpr>   s    (   R   t   walkt   fnmatcht   filtert   extend(   R   t   patternR@   RS   t   filest   matches(    (   Rd   s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt
   find_files   s
    !c         C   s&   t  j j |   r d St  j j |   S(   Ni    (   R   R   t   islinkt   getsize(   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt	   file_size   s    c         C   s   t  t |    S(   N(   R   Ro   (   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt   format_file_size   s    c         C   sc   d } xV t  j |   D]E \ } } } x3 | D]+ } t  j j | |  } | t |  7} q, Wq W| S(   Ng        (   R   Re   R   RV   Ro   (   R   t   sizeRd   t   _dirsRj   t   filenamet	   file_path(    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt   directory_size   s    c         C   s   t  t |    S(   N(   R   Ru   (   R   (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt   format_directory_size   s    (+   R[   Rf   R   t   os.pathRP   R'   R3   R   t
   contextlibR    t   tempfileR   t   pip._vendor.retryingR   t   pip._vendor.sixR   t   pip._internal.utils.compatR   t   pip._internal.utils.miscR   t   pip._internal.utils.typingR   R   t   typingR   R	   R
   R   R   R   R&   R2   R*   RA   t   _replace_retryRF   RL   RJ   Rl   Ro   Rp   Ru   Rv   (    (    (    s   /builddir/build/BUILDROOT/alt-python27-pip-20.2.4-5.el8.x86_64/opt/alt/python27/lib/python2.7/site-packages/pip/_internal/utils/filesystem.pyt   <module>   s@   (			
		$				
