
    vKg                         S r SSKrSSKrSSKJrJr  SSKJr  SSKJ	r	   SSKJ
r
  \" S5      rS rS\S\4   S\S\S
\4S jrS\4S jrS rg! \ a    S\S	\S
S4S jr
 N;f = f)z2Convenience layer on top of stdlib's shutil and os    N)CallableTypeVar   )py311)log)chmodargskwargsreturnc                      g N )r	   r
   s     R/var/www/highfloat_scraper/venv/lib/python3.13/site-packages/setuptools/_shutil.pyr   r      s        _Tc                     [         R                  " SX5         [        X5        g ! [         a!  n[         R                  " SU5         S nAg S nAff = f)Nzchanging mode of %s to %ozchmod failed: %s)r   debugr   OSError)pathmodees      r   attempt_chmod_verboser      s@    II)46)d )		$a(()s   % 
AAAfunc.argexcc                     U [         R                  [         R                  4;   a6  [         R                  S:X  a"  [	        U[
        R                  5        U " U5      $ Ue)zIshutils onexc callback to automatically call chmod for certain functions.nt)osunlinkremovenamer   statS_IWRITE)r   r   r   s      r   _auto_chmodr$       s@    
 		299%%"''T/c4==1Cy
Ir   Fc                 0    [         R                  " XU5      $ )zl
Similar to ``shutil.rmtree`` but automatically executes ``chmod``
for well know Windows failure scenarios.
)r   shutil_rmtree)r   ignore_errorsonexcs      r   rmtreer)   +   s    
 tE::r   c                 f    [         R                  R                  U 5      (       a  [        U 40 UD6  g g r   )r   r   isdirr)   )r   optss     r   rmdirr-   3   s'    	ww}}Ttt r   )__doc__r   r"   typingr   r   compatr   	distutilsr   r   ImportErrorobjectr   r   strBaseExceptionr$   r)   r-   r   r   r   <module>r6      s    8 	  $   T])
37
"%,9  %K ;K  V v $ s   A A"!A"