
    Mi                       S SK Jr  S SKrS SKrS SKrS SKrS SKrS SKrS SK	r	S SK
Jr  S SK
Jr  S SK
Jr  S SK
Jr  S SK
Jr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  \" S5      r\" S5      rSS jrSSS jjrSS jrSS jr " S S\5      r S         SS jjr \RB                  S S j5       r"SS\" 5       S.             S!S jjr#g)"    )annotationsN)Callable)	Generator)Iterable)MutableMapping)Sequence)Any)TypeVar)parse_shebang)cmd_output_b)cmd_output_pTArgTRetc                      [        [        R                  " S5      5      $ ! [         a     Of = f [        R
                  " 5       $ ! [         a     gf = f)Nr      )lenossched_getaffinityAttributeErrormultiprocessing	cpu_countNotImplementedError     j/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/pre_commit/xargs.pyr   r      sW     2''*++ ((** s   ! 
..A 
AAc                    U b  U O[        [        S[        R                  5      nS[        U5      -  nUR	                  5        H"  u  p4U[        U5      [        U5      -   S-   -  nM$     U$ )Nenvironb      )getattrr   environr   items)_envr!   sizekvs        r   _environ_sizer'   )   s[    &dGB
BJJ,OGs7|DAQ!##  Kr   c                     [         R                  S:X  a<  [         R                  " S5      S-
  [        5       -
  n [	        [        U S5      S5      n U $ [         R                  S:X  a  gg)Nposix
SC_ARG_MAXi   i   i   nti x  )r   namesysconfr'   maxmin)maximums    r   _get_platform_max_lengthr1   1   sS    	ww'**\*T1MOCc'7+W5	D r   c                     SR                  U 5      n[        R                  S:X  a  [        UR	                  S5      5      S-  $ [        UR	                  [        R
                  " 5       5      5      $ )N win32zutf-16ler   )joinsysplatformr   encodegetfilesystemencoding)cmdfull_cmds     r   _command_lengthr<   =   sS    xx}H ||w8??:./1448??3#<#<#>?@@r   c                      \ rS rSrSrg)ArgumentTooLongErrorH   r   N)__name__
__module____qualname____firstlineno____static_attributes__r   r   r   r>   r>   H   s    r   r>   c                |   U=(       d
    [        5       n[        S[        R                  " [	        U5      U-  5      5      n[        U 5      n / n/ n[        [        U5      5      n[        U 6 S-   nU(       a  UR                  5       n[        U5      S-   n	Xy-   U::  a%  [	        U5      U:  a  UR                  U5        Xy-  nOMU(       d  [        U5      eUR                  U [        U5      -   5        / n[        U 6 S-   nUR                  U5        U(       a  M  UR                  U [        U5      -   5        [        U5      $ )N   r   )r1   r.   mathceilr   tuplelistreversedr<   popappendr>   )
r:   varargstarget_concurrency_max_lengthmax_argsretret_cmdtotal_lengtharg
arg_lengths
             r   	partitionrW   L   s    ;!9!;K 1diiG/A ABCH
*C
CG8G$%G"C(1,L
kkm$S)A-
)[8Gx'NN3&L&s++ JJsU7^+,G*C014LNN3# '& JJsU7^#$:r   c              #     #    U S:X  a	  [         v   g [        R                  R                  U 5       nUR                   v   S S S 5        g ! , (       d  f       g = f7f)Nr   )map
concurrentfuturesThreadPoolExecutor)maxsizeexs     r   _thread_mapperr_   x   s=      !|	227;r&&L <;;s   /AA	 	A	
AAFr   )colorrO   rP   c                 ^^ U(       a  [         O[        mSnSn [        R                  " U 5      n [        R                  S:X  aZ  U S   R                  5       R                  S5      (       a3  [        R                  " S5      n	S[        U	5      -
  [        S	5      -
  S
-
  n[        XX45      n
    SUU4S jjn[        [        U
5      U5      n[        U5       nU" X5      nU H&  u  nnn[        U5      [        U5      :  a  UnUU-  nM(     SSS5        Xg4$ ! [        R                   a  nUR                  5       SS s SnA$ SnAff = f! , (       d  f       Xg4$ = f)zA simplified implementation of xargs.

color: Make a pty if on a platform that supports it
target_concurrency: Target number of partitions to run concurrently
r   r   Nr   r4   )z.batz.cmdzcmd.exei    z /c i   c                6   > T" U S[         R                  S.TD6$ )NF)checkstderr)
subprocessSTDOUT)run_cmdcmd_fnkwargss    r   run_cmd_partition xargs.<locals>.run_cmd_partition   s'     E**;*;
?E
 	
r   )rg   tuple[str, ...]returnztuple[int, bytes, bytes | None])r   r   r   normalize_cmdExecutableNotFoundError	to_outputr6   r7   lowerendswithfind_executabler   rW   r/   r_   abs)r:   rN   r`   rO   rP   ri   retcodestdoutecmd_exe
partitionsrj   threads
thread_mapresultsproc_retcodeproc_out_rh   s        `            @r   xargsr      sU    #\FGF!))#. LLG#FLLN##$455  //	: S\)CK7$>3);IJ
$
	(
 
 #j/#56G		 J.;)0%L(A< 3w</&hF *1 
! ?C 00 !{{}Ra  !2 
!	  ?s)   D 5EE	,E>E	E	
E)rm   int)N)r#   zMutableMapping[str, str] | Nonerm   r   )r:   strrm   r   )
r:   Sequence[str]rN   r   rO   r   rP   z
int | Nonerm   ztuple[tuple[str, ...], ...])r]   r   rm   zNGenerator[Callable[[Callable[[TArg], TRet], Iterable[TArg]], Iterable[TRet]],])r:   rl   rN   r   r`   boolrO   r   rP   r   ri   r	   rm   ztuple[int, bytes])$
__future__r   concurrent.futuresrZ   
contextlibrG   r   r   re   r6   collections.abcr   r   r   r   r   typingr	   r
   
pre_commitr   pre_commit.utilr   r   r   r   r   r'   r1   r<   RuntimeErrorr>   rW   contextmanagerr_   r   r   r   r   <module>r      s   "     	  
 $ % $ * $   $ ( (vv	A	< 	 #'	)))  )  	)
 !)X   "#35555 	5
  5 5 5 5r   