
    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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 dlmZ d dlmZ dZ ej        d          Z G d de          Zd?dZd@dZdAd Z dBd#Z!dCd'Z"dDd(Z#dEd*Z$dFd-Z%ej&        dGd/            Z'dHd1Z(dId4Z)dJd9Z*dKd<Z+dLd>Z,dS )M    )annotationsN)	Generator)Sequence)Any)ContextManager)NoReturn)Protocol)parse_shebang)xargs)Prefix)cmd_output_bi^[z[/\\]shims[/\\]c                  N    e Zd Zedd            ZddZdd	ZddZddZddZ	dS ) Languagereturn
str | Nonec                    d S N selfs    d/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/pre_commit/lang_base.pyENVIRONMENT_DIRzLanguage.ENVIRONMENT_DIR   s    -0S    strc                    d S r   r   r   s    r   get_default_versionzLanguage.get_default_version          r   prefixr   versionc                    d S r   r   r   r   r   s      r   health_checkzLanguage.health_check"   r   r   additional_dependenciesSequence[str]Nonec                    d S r   r   )r   r   r   r#   s       r   install_environmentzLanguage.install_environment%   s	     	r   ContextManager[None]c                    d S r   r   r!   s      r   in_envzLanguage.in_env.   r   r   entryargs	file_argsis_localboolrequire_serialcolortuple[int, bytes]c                   d S r   r   )r   r   r+   r,   r-   r.   r0   r1   s           r   run_hookzLanguage.run_hook1   s	     	r   N)r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   r#   r$   r   r%   )r   r   r   r   r   r(   r   r   r+   r   r,   r$   r-   r$   r.   r/   r0   r/   r1   r/   r   r2   )
__name__
__module____qualname__propertyr   r   r"   r'   r*   r4   r   r   r   r   r      sy        000 X0----KKKK    POOO     r   r   exer   r   r/   c                b   t          j        |           }|dS t          j                            d          }	 t          j                            ||f          }n# t          $ r d }Y nw xY wt                              |           o(t          j        	                    |          |k    p||k    S )NF~)
r
   find_executableospath
expanduser
commonpath
ValueErrorSHIMS_REsearchdirname)r;   foundhomedircommons       r   
exe_existsrJ   ?   s    )#..E}ug  %%GW//0@AA   
 OOE""" 	
 GOOG$$/ g	s   !A A*)A*r   r   cmdtuple[str, ...]kwargsr   r%   c                ,    t          |d| j        i| d S )Ncwd)r   
prefix_dir)r   rK   rM   s      r   	setup_cmdrQ   V   s#    #76,777777r   dlanguage_versionc                6    |                      | d|           S )N-)r@   )r   rR   rS   s      r   environment_dirrV   Z   s#    ;;!00.00111r   binaryr   c                R    |t           j        k    rt          d|  d| d          d S )Nz.for now, pre-commit requires system-installed z$ -- you selected `language_version: `)CDEFAULTAssertionError)rW   r   s     r   assert_version_defaultr]   ^   sL    !):V : :/6: : :
 
 	
 r   langadditional_depsr$   c                6    |rt          d|  d| d          d S )NzAfor now, pre-commit does not support additional_dependencies for z+ -- you selected `additional_dependencies: rY   r\   )r^   r_   s     r   assert_no_additional_depsrb   f   sR      
I+/I I6EI I I
 
 	

 
r   c                     t           j        S r   )rZ   r[   r   r   r   basic_get_default_versionrd   r   s
    9r   r   c                    d S r   r   )r   rS   s     r   basic_health_checkrf   v   s    4r   r#   r   c                     t          d          )Nz This language is not installablera   )r   r   r#   s      r   
no_installrh   z   s    
 ;
<
<<r   Generator[None]c              #     K   d V  d S r   r   )r   r   s     r   no_envrk      s      	EEEEEr   intc                 h    dt           j        v rdS dt           j        v rdS t          j                    S )NPRE_COMMIT_NO_CONCURRENCY   TRAVIS   )r?   environr   	cpu_countr   r   r   target_concurrencyrt      s6    "bj00q rz!!1?$$$r   seq	list[str]c                    t          j                    }|                    t          d           t	          |           } |                    |            | S )zDeterministically shufflero   )r   )randomRandomseedFIXED_RANDOM_SEEDlistshuffle)ru   fixed_randoms     r   	_shuffledr      sK    =??L'333
s))CJr   r-   r0   r1   r2   c               v    |rd}nt          |          }t                      }t          j        | |||          S )Nro   )rt   r1   )r   rt   r   )rK   r-   r0   r1   jobss        r   	run_xargsr      sF      $
 i((	!##;sI$eLLLLr   r+   r,   c                    t          j        |           }|d d         ddgk    rt          j        ddg|dd          }g ||R S )Nrq   z
pre-commithazmatz-mzpre_commit.commands.hazmat)shlexsplitsys
executable)r+   r,   rK   s      r   hook_cmdr      sU    
+e

C
2A2w<***~t%ALCGLS=4==r   r.   c               D    t          t          ||          |||          S )N)r0   r1   )r   r   )r   r+   r,   r-   r.   r0   r1   s          r   basic_run_hookr      s1     %	   r   )r;   r   r   r/   )r   r   rK   rL   rM   r   r   r%   )r   r   rR   r   rS   r   r   r   )rW   r   r   r   r   r%   )r^   r   r_   r$   r   r%   r5   )r   r   rS   r   r   r   )r   r   r   r   r#   r$   r   r   )r   r   r   r   r   ri   )r   rl   )ru   r$   r   rv   )
rK   rL   r-   r$   r0   r/   r1   r/   r   r2   )r+   r   r,   r$   r   rL   r6   )-
__future__r   
contextlibr?   rx   rer   r   collections.abcr   r   typingr   r   r   r	   pre_commit.constants	constantsrZ   
pre_commitr
   r   pre_commit.prefixr   pre_commit.utilr   r{   compilerD   r   rJ   rQ   rV   r]   rb   rd   rf   rh   contextmanagerrk   rt   r   r   r   r   r   r   r   <module>r      s   " " " " " "     				  				  



 % % % % % % $ $ $ $ $ $       ! ! ! ! ! !                         $ $ $ $ $ $       $ $ $ $ $ $ ( ( ( ( ( ( 2:())! ! ! ! !x ! ! !H   .8 8 8 82 2 2 2
 
 
 
	
 	
 	
 	
      = = = = 
 
 
 
% % % %   M M M M$        r   