
    wi
                        d dl mZ d dlZd dlZd dlmZ d dlmZ dd	ZddZ	ddZ
ddZddZddZd d!dZedk    r e e                      dS )"    )annotationsN)Sequence)normalize_cmdparserargparse.ArgumentParserreturnNonec                   |                      d          }|                    dd          }|                    d           |                    dt          j                   |                    d	d
          }|                    dt          j                   |                    dd          }|                    dt          j                   d S )Ntool)destcdz"cd to a subdir and run the command)helpsubdircmd)nargsignore-exit-codez(run the command but ignore the exit coden1z!run the command once per filename)add_subparsers
add_parseradd_argumentargparse	REMAINDER)r   
subparsers	cd_parserignore_exit_code_parser	n1_parsers        j/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/pre_commit/commands/hazmat.pyadd_parsersr   
   s    &&F&33J%%7 &  I 8$$$5(:;;;(33!K 4   ((h6H(III%%6 &  I 5(:;;;;;    r   tuple[str, ...]'tuple[tuple[str, ...], tuple[str, ...]]c                    t          t          |                     D ]\  }}|dk    rt          |           |z
  } n t          d          | d |dz
           | |d          fS )Nz--zhazmat entry must end with `--`   )	enumeratereversedlen
SystemExit)r   idxvalsplits       r   _cmd_filenamesr+      sw     hsmm,, < <S$;;HHsNEE  :;;;z	z?CK''r   r   strintc                6   t          |          \  }}|  d}g }|D ]T}|                    |          st          d|d|           |                    |                    |                     Ut          |          }t          j        g ||R |           S )N/zunexpected file without prefix=z: )cwd)r+   
startswithr'   appendremoveprefixr   
subprocesscall)r   r   	filenamesprefixnew_filenamesfilenames         r   r   r   ,   s    #C((NC\\\FM @ @""6** 	@MMM8MMNNN  !6!6v!>!>????


C?1S1=11v>>>>r   c                L    t          |           } t          j        |            dS Nr   )r   r4   r5   )r   s    r   ignore_exit_coder<   ;   s$    


COC1r   c                    t          |           \  } }t          |           } d}|D ]}|t          j        g | |R           z  }|S r;   )r+   r   r4   r5   )r   r6   retr9   s       r   r   r   A   s]    #C((NC


C
C 1 1z//h//000Jr   argsargparse.Namespacec                (   t          | j                  | _        | j        dk    rt          | j        | j                  S | j        dk    rt          | j                  S | j        dk    rt          | j                  S t          d| j                   )Nr   r   r   zunexpected tool: )tupler   r   r   r   r<   r   NotImplementedError)r?   s    r   implrD   J   s    TXDHyD$+tx(((	(	(	()))	d		$(||!"Adi"A"ABBBr   argvSequence[str] | Nonec                    t          j                    }t          |           |                    |           }t	          |          S N)r   ArgumentParserr   
parse_argsrD   )rE   r   r?   s      r   mainrK   V   s=    $&&FT""D::r   __main__)r   r   r   r	   )r   r    r   r!   )r   r,   r   r    r   r-   )r   r    r   r-   )r?   r@   r   r-   rH   )rE   rF   r   r-   )
__future__r   r   r4   collections.abcr   pre_commit.parse_shebangr   r   r+   r   r<   r   rD   rK   __name__r'    r   r   <module>rR      s   " " " " " "      $ $ $ $ $ $ 2 2 2 2 2 2< < < <(( ( ( (? ? ? ?      	C 	C 	C 	C     z
*TTVV

 r   