
    wi.                        d dl m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 d d
lmZ d dlmZ dZej        Zej        Zej        ZddZej        dd            ZddZ dS )    )annotationsN)	Generator)Sequence)	lang_base)
envcontext)PatchesT)Var)Prefix)win_exe)	yaml_loaddartenvvenvstrreturnr   c                |    dt           j                            | d          t           j        t	          d          fffS )NPATHbin)ospathjoinpathsepr	   )r   s    i/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/pre_commit/languages/dart.pyget_env_patchr      s3    	"',,tU++RZVEF     prefixr
   versionGenerator[None]c              #     K   t          j        | t          |          }t          t	          |                    5  d V  d d d            d S # 1 swxY w Y   d S )N)r   environment_dirENVIRONMENT_DIRr   r   )r   r   envdirs      r   in_envr"      s      &vHHF	M&))	*	*                   s   AAAadditional_dependenciesSequence[str]Nonec           	        t          j        d|           t          j        | t          |          }t          j                            |d          dfd	}t	          j                   t          j	                    5 } || |           d d d            n# 1 swxY w Y   |D ]-}t          j	                    5 }|
                    d
          \  }}	}|r|d|f}
n|f}
t          j        | ddddg|
R i t          j        d|i           t	          j        |          D ]\  }}	}d|v r{t          j	                    5 }t          j                            |d          }t          j        ||            |t!          |          |           d d d            n# 1 swxY w Y    nt#          d|           	 d d d            n# 1 swxY w Y   /d S )Ndartr   prefix_pr
   	pub_cacher   r   r%   c                   i t           j        d|i}t          |                     d                    5 }t	          |          }d d d            n# 1 swxY w Y   t          j        | d|           |d         D ]a}t          j        | dddd	t           j                            t          |                    |                     d
| d          f|           bd S )N	PUB_CACHEpubspec.yaml)r'   pubgetenvexecutablesr'   compileexez--outputr   z.dart)	r   environopenr   r   r   	setup_cmdr   r   )r(   r)   dart_envfpubspec_contents
executablebin_dirs         r   _install_dirz)install_environment.<locals>._install_dir0   s4   9bj9+y99(--//00 	,A(||	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	H&<(KKKK*=9 		 		JIuWgj6I6I J JMM%J)=)=)=>>
     		 		s   AAA:z	--versionr-   cacheaddr+   r/   r,   pkgz could not find pubspec.yaml for )r(   r
   r)   r   r   r%   )r   assert_version_defaultr   r    r   r   r   makedirstempfileTemporaryDirectory	partitionr6   r4   walkshutilcopytreer
   AssertionError)r   r   r#   r!   r<   tmpdep_sdep_tmpdep_dep_cmdroot	filenamescopiedr@   r;   s                  @r   install_environmentrS   &   s   
 $VW555&vHHFgll65))G     & K		$	&	& "#VS!!!" " " " " " " " " " " " " " " )  (** 	g#ooc22OCG !,/g+F&9998rz8;88    ')gg&6&6 
 
"a!Y..!466 ;& gll6599c222$VC[[':::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; E / %>u>>   )	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 sJ   ?BBB;BG?AF	GFG!F"GG	G	)r   r   r   r   )r   r
   r   r   r   r   )r   r
   r   r   r#   r$   r   r%   )!
__future__r   
contextlibos.pathr   rG   rC   collections.abcr   r   
pre_commitr   pre_commit.envcontextr   r   r	   pre_commit.prefixr
   pre_commit.utilr   pre_commit.yamlr   r    basic_get_default_versionget_default_versionbasic_health_checkhealth_checkbasic_run_hookrun_hookr   contextmanagerr"   rS    r   r   <module>re      sT   " " " " " "        % % % % % % $ $ $ $ $ $             , , , , , , * * * * * * % % % % % % $ $ $ $ $ $ # # # # # # % % % % % %9 +#       ; ; ; ; ; ;r   