
    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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 jr\R,                  S S	 j5       rS!S
 jrS"S jr " S S\5      rS#S jrS$S jrSS.       S%S jjrS&S jr\R@                  S:w  a%  S SKJ!r!  S SK"r" " S S5      r#SS.       S%S jjr$O\r$        S'S jr%\RL                  S:  a          S(S jr'S)S jr(OS)S jr(S*S jr)g)+    )annotationsN)Callable)	Generator)TracebackType)Any)parse_shebangc                l   [         R                  " [        5         [        U 5      sS S S 5        $ ! , (       d  f       O= f[         R                  " [        5         [        U 5      R                  5       sS S S 5        $ ! , (       d  f       O= fS[        U 5      R                   S3R                  5       $ )Nz<unprintable z object>)	
contextlibsuppress	TypeErrorbytes	Exceptionstrencodetype__name__)excs    i/var/www/eduai.edurigo.com/storigo/production/storigo_env/lib/python3.13/site-packages/pre_commit/util.pyforce_bytesr      sn    			Y	'Sz 
(	'	'			Y	'3x  
(	'	'49--.h7>>@@s   0
>A>>
Bc              #     #     Sv   g! [          a1    [        R                  R                  U 5      (       a  [	        U 5        e f = f7f)z2Cleans up the directory on an exceptional failure.N)BaseExceptionospathexistsrmtreer   s    r   clean_path_on_failurer      s8      77>>$4Ls   A	 A;AAc                ~    [         R                  R                  S5      nUR                  U 5      R	                  5       $ )Nzpre_commit.resources)	importlib	resourcesfilesjoinpath	read_text)filenamer!   s     r   resource_textr%   &   s1    %%&<=E>>(#--//    c                    [         R                  " U 5      R                  nU[        R                  -  [        R                  -  [        R
                  -  n[         R                  " X5        g N)r   statst_modeS_IXUSRS_IXGRPS_IXOTHchmod)r$   original_modenew_modes      r   make_executabler1   +   sB    GGH%--Mt||+dll:T\\IHHHX r&   c                  T   ^  \ rS rSr          SU 4S jjrSS jrSS jrSrU =r$ )	CalledProcessError1   c                V   > [         TU ]  XX45        Xl        X l        X0l        X@l        g r(   )super__init__
returncodecmdstdoutstderr)selfr8   r9   r:   r;   	__class__s        r   r7   CalledProcessError.__init__2   s(     	&9$r&   c                    S	S jnSR                  SU R                  < S3R                  5       SU R                   S3R                  5       SU" U R                  5      SSU" U R
                  5      45      $ )
Nc                X    U (       a#  SU R                  SS5      R                  5       -   $ g)Ns   
       
s    (none))replacerstrip)parts    r   _indent_or_none5CalledProcessError.__bytes__.<locals>._indent_or_none@   s'     4<<y#A#H#H#JJJ!r&   r&   z	command: 
zreturn code: s   stdout:rA   s   stderr:)rD   bytes | Nonereturnr   )joinr9   r   r8   r:   r;   )r<   rE   s     r   	__bytes__CalledProcessError.__bytes__?   sp    	" xx|2&--/DOO,B/6684e4	
  	r&   c                >    U R                  5       R                  5       $ r(   )rK   decoder<   s    r   __str__CalledProcessError.__str__M   s    ~~&&((r&   )r9   r8   r;   r:   )
r8   intr9   ztuple[str, ...]r:   r   r;   rH   rI   None)rI   r   )rI   r   )	r   
__module____qualname____firstlineno__r7   rK   rP   __static_attributes____classcell__)r=   s   @r   r3   r3   1   sG     ! 	
 ! 
) )r&   r3   c                V    S H#  nU R                  U[        R                  5        M%     g )Nstdinr:   r;   )
setdefault
subprocessPIPE)kwargsargs     r   _setdefault_kwargsra   Q   s     ,#z/ -r&   c                B    S[        U 5      R                  S5      S-   S 4$ )N   rA   )r   rC   )es    r   _oserror_to_outputre   V   s#    k!n##E*U2D88r&   T)checkc                   [        U5         [        R                  " XR                  S5      S9n [        R
                  " U40 UD6nUR                  5       u  pEUR                  nU (       a  U(       a  [        XaXE5      eXdU4$ ! [         a  n[        U5      u  pdn S nAN;S nAff = f! [        R                   a  nUR                  5       u  pdn S nANoS nAff = f)Nenv)rh   )ra   r   normalize_cmdgetr]   Popencommunicater8   OSErrorre   ExecutableNotFoundError	to_outputr3   )rf   r9   r_   procstdout_bstderr_br8   rd   s           r   cmd_output_brs   Z   s    
 v)))#::e3DE	)##C262D "&!1!1!3HJ (EE))  	C-?-B*J(	C 00 7)*&
h7s.   #B) B 
B&B!!B&)C=CCc                 z    [        U 0 UD6u  p#nUb  UR                  5       OS nUb  UR                  5       OS nX%U4$ r(   )rs   rN   )r9   r_   r8   rq   rr   r:   r;   s          r   
cmd_outputru   t   sG    %13%A&%A"J("*"6X__DF"*"6X__DFv%%r&   win32)openptyc                  V    \ rS rSrS	S jrS
S jrS	S jrS	S jr        SS jrSr	g)Pty   c                     S U l         S U l        g r(   rwrO   s    r   r7   Pty.__init__   s    !%DF!%DFr&   c                b   [        5       u  U l        U l        [        R                  " U R                  5      n[        US   [        5      (       d   eUS==   [        R                  [        R                  -  ) -  ss'   [        R                  " U R                  [        R                  U5        U $ Nrc   )rw   r}   r~   termios	tcgetattr
isinstancerR   ONLCROPOST	tcsetattrTCSANOW)r<   attrss     r   	__enter__Pty.__enter__   s{    $YNDFDF %%dff-EeAh,,,,!H'--'--788Hdffgoou=Kr&   c                n    U R                   b(  [        R                  " U R                   5        S U l         g g r(   )r~   r   closerO   s    r   close_wPty.close_w   s(    vv!  "r&   c                p    U R                   c   e[        R                  " U R                   5        S U l         g r(   )r}   r   r   rO   s    r   close_rPty.close_r   s)    66%%%HHTVVDFr&   c                D    U R                  5         U R                  5         g r(   )r   r   )r<   exc_type	exc_value	tracebacks       r   __exit__Pty.__exit__   s     LLNLLNr&   r|   N)rI   rS   )rI   ry   )r   ztype[BaseException] | Noner   zBaseException | Noner   zTracebackType | NonerI   rS   )
r   rT   rU   rV   r7   r   r   r   r   rW    r&   r   ry   ry      sA    	&			
	
	4	 0	 0		
 	r&   ry   c                   U SL d   eUS   [         R                  :X  d
   US   5       e[        U5         [        R                  " U5      n[        [        R                  5       n[        5        nUR                  c   eUR                  XER                  UR                  S.5         [         R                  " U40 UD6nUR#                  5         Sn  [        R$                  " UR                  S5      nXx-  nU(       d  OM0  S S S 5        S S S 5        WR+                  5       WS 4$ ! [        R
                   a  nUR                  5       s S nA$ S nAff = f! [         a'  n[!        U5      s S nAsS S S 5        sS S S 5        $ S nAff = f! [         a+  nUR&                  [&        R(                  :X  a  Sn S nANe S nAff = f! , (       d  f       N= f! , (       d  f       N= f)NFr;   rZ   r&   i   )r]   STDOUTra   r   ri   rn   ro   openr   devnullry   r}   updater~   rk   rm   re   r   readerrnoEIOwait)	rf   r9   r_   rd   r   ptyrp   bufbtss	            r   cmd_output_pr      s   
 ~~h:#4#44FfX6FF46"	!--c2C "**#%355$$$MMGuuNO-!''6v6 KKMC''#%%.C JC  +00 yy{C%%7 44 	!;;= 	!  -)!,, +0%
-  ww%))+!	 +0%s   D% $G/8G(E?G!F
4GG%E9EEE
F 
F*F+G/	GFG

F? F:4G9F::F??G
G	G
G!c                   U [         R                  [         R                  [         R                  4;   a  [	        U[
        5      (       a  UR                  [        R                  [        R                  1;   aw  U[         R                  R                  U5      4 HI  n[         R                  " U[         R                  " U5      R                  [        R                  -  5        MK     U " U5        g e r(   )r   rmdirremoveunlinkr   rm   r   EACCESEPERMr   dirnamer.   r)   r*   S_IWUSR)funcr   r   ps       r   _handle_readonlyr      s     RXXryy"))44sG$$II%,,44-.AHHQ
**T\\9: /T
r&   )      c                     [        XUS   5      $ r   )r   )r   r   excinfos      r   _handle_readonly_oldr      s    
  GAJ77r&   c                8    [         R                  " U S[        S9  g )NF)ignore_errorsonerror)shutilr   r   r   s    r   r   r      s    d%9MNr&   c                8    [         R                  " U S[        S9  g)z+On windows, rmtree fails for readonly dirs.F)r   onexcN)r   r   r   r   s    r   r   r      s    d%7GHr&   c                8    [         R                  S:w  a  U $ U  S3$ )Nrv   z.exe)sysplatform)ss    r   win_exer      s    '17s$Z7r&   )r   r   rI   r   )r   r   rI   zGenerator[None])r$   r   rI   r   )r$   r   rI   rS   )r_   zdict[str, Any]rI   rS   )rd   rm   rI   ztuple[int, bytes, None])r9   r   rf   boolr_   r   rI   ztuple[int, bytes, bytes | None])r9   r   r_   r   rI   ztuple[int, str, str | None])r   Callable[[str], object]r   r   r   r   rI   rS   )r   r   r   r   r   z8tuple[type[BaseException], BaseException, TracebackType]rI   rS   )r   r   rI   rS   )r   r   rI   r   )*
__future__r   r
   r   importlib.resourcesr   os.pathr   r   r)   r]   r   collections.abcr   r   typesr   typingr   
pre_commitr   r   contextmanagerr   r%   r1   RuntimeErrorr3   ra   re   rs   ru   r   rw   r   ry   r   r   version_infor   r   r   r   r&   r   <module>r      sl   "        
 $ %   $A  0
!) )@0
9 *** * %	*4& <<7! !J &&&&&& && 
)	&&P  L%  
	" g8%88 J8 
	8OI
8r&   