
    ^j~                         d Z ddlZddlZddlZej                  j                  e      Zd ZdZ	 G d d      Z
ej                  j                  d e
              y)z?Patches that are applied at runtime to the virtual environment.    Nc                 ^    | j                   j                  fd}|| j                   _        y)a  
    Distutils allows user to configure some arguments via a configuration file:
    https://docs.python.org/3.11/install/index.html#distutils-configuration-files.

    Some of this arguments though don't make sense in context of the virtual environment files, let's fix them up.
    c                      | g|i |}| j                  d      }d|v r6t        t        j                  j	                  t
        j                        f|d<   dD ]  }d| }||v s|j                  |d          |S )Ninstallprefix)purelibplatlibheadersscriptsdatainstall_)get_option_dictVIRTUALENV_PATCH_FILEospathabspathsysr   pop)selfargskwargsresultr   basekeyold_parse_config_filess          D/opt/ringagent/.cad-venv/lib/python3.12/site-packages/_virtualenv.pyparse_config_filesz&patch_dist.<locals>.parse_config_files   s    '>t>v>&&y1w 5rwwszz7R RGHH 	'DTF#Cg~C&	'     N)Distributionr   )distr   r   s     @r   
patch_distr    
   s,     "..AA
 ,>D(r   )zdistutils.distzsetuptools.distc                   @    e Zd ZdZdZg ZddZed        Zed        Z	y)_FinderzGA meta path finder that allows patching the imported distutils modules.Nc           	         	 t         }||v r| j                  	t        | j                        dk(  r/dd l}|j                         }| j                  j                  |       ddlm	} ddl
m} | j                  d   5  || _        	  |||      }	|	t        |	j                  d      }
|
rdnd}t        |	j                  |      }|
r| j                  n| j                   }||ur	 t#        |	j                  | |||             |	d | _        cd d d        S 	 d | _        	 d d d        y y # t        $ r Y y w xY w# t$        $ r Y ?w xY w# d | _        w xY w# 1 sw Y   y xY w)Nr   )partial)	find_specexec_moduleload_module)_DISTUTILS_PATCH	NameErrorfullnamelenlock	threadingLockappend	functoolsr$   importlib.utilr%   hasattrloadergetattrr&   r'   setattrAttributeError)r   r*   r   targetdistutils_patchr-   r,   r$   r%   spec
is_new_api	func_nameoldfuncs                 r   r%   z_Finder.find_spec3   sR   	.O &4==+@499~"  ~~' 		  &)01 ) ()$Xt4D'%,T[[-%H
5?M]	%dkk9=3=t//4CSCSd?% 'Yc@R S  $$(DM#) ) ( %)DM#)$ I  		> $2 % $% %)DM#)$ s`   D$ <EAE!D3?E EE$	D0/D03	D?<E>D??E	EEEc                      | |       	 t         }|j                  |v r.t        j                  t              5  t        |       d d d        y y # t        $ r Y y w xY w# 1 sw Y   y xY wNr(   r)   __name__
contextlibsuppressr    )r<   moduler8   s      r   r&   z_Finder.exec_module_   sj    F	.O ??o-$$Y/ #6"# # .  		# #s   A A	AAA%c                      | |      }	 t         }|j                  |v r/t        j                  t              5  t        |       d d d        |S |S # t        $ r |cY S w xY w# 1 sw Y   |S xY wr?   r@   )r<   namerD   r8   s       r   r'   z_Finder.load_modulek   sm    T	.O ??o-$$Y/ #6"#v  	M	#s   A A AA A*r?   )
rA   
__module____qualname____doc__r*   r,   r%   staticmethodr&   r'    r   r   r"   r"   )   s?    QH
 D*X 	# 	# 
 
r   r"   )rI   rB   r   r   r   r   __file__r   r    r(   r"   	meta_pathinsertrK   r   r   <module>rO      sV    E  	 
1 >6 7 M M`   Q	 "r   