§
    ™æVcá	  ã                  ó€   — 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lm	Z	 ddl
mZ d dlZej        rd dlZdd„Zdd„ZdS )é    )ÚannotationsN©ÚPath)ÚThreadPoolExecutoré   )Úlang_suffixes)Ú
Popen_safeÚfnamer   ÚreturnúT.List[str]c                ó  — g }	 |                       d¬¦  «        5 }|D ]B}|                     ¦   «         }|r*|                     d¦  «        s|                     |¦  «         ŒC	 d d d ¦  «         n# 1 swxY w Y   n# t          $ r Y nw xY w|S )Nzutf-8)Úencodingú#)ÚopenÚstripÚ
startswithÚappendÚFileNotFoundError)r
   ÚpatternsÚfÚlineÚpatterns        ú=/usr/lib/python3/dist-packages/mesonbuild/scripts/run_tool.pyÚparse_pattern_filer      së   € Ø€HðØ�ZŠZ ˆZÑ)Ô)ð 	-¨QØð -ð -�ØŸ*š*™,œ,�Øð - 7×#5Ò#5°cÑ#:Ô#:ð -Ø—O’O GÑ,Ô,Ð,øð-ð	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-øøøð 	-ð 	-ð 	-ð 	-øøõ
 ð ð ð Øˆðøøøà€Os5   „A9 šAA-Á!A9 Á-A1Á1A9 Á4A1Á5A9 Á9
BÂBÚnameÚstrÚsrcdirÚbuilddirÚfnú,T.Callable[..., subprocess.CompletedProcess]ÚargsúT.AnyÚintc                óì  ‡‡— t          ‰d| › d�z  ¦  «        }|rˆfd„|D ¦   «         }nZt          ddg‰¬¦  «        \  }}}	|j        dk    r"ˆfd„|                     ¦   «         D ¦   «         g}n‰                     d	¦  «        g}t          ‰d| › d
�z  ¦  «        }t          |dz  ¦  «        g}
|
                     ˆfd„|D ¦   «         ¦  «         t          t          d         ¦  «         	                    t          t          d         ¦  «        ¦  «        }| 
                    d¦  «         d„ |D ¦   «         }g }d}t          ¦   «         5 }t          j        |Ž D ]l}t          |¦  «        Š|                     ¦   «         s$|j        |vst!          ˆfd„|
D ¦   «         ¦  «        rŒJ|                      |j        ||g|¢R Ž ¦  «         Œm|rt'          d„ |D ¦   «         ¦  «        }d d d ¦  «         n# 1 swxY w Y   |S )Nú.z-includec                ó:   •— g | ]}‰                      |¦  «        ‘ŒS © )Úglob©Ú.0Úpr   s     €r   ú
<listcomp>zrun_tool.<locals>.<listcomp>,   s#   ø€ Ð2Ð2Ð2 A�—’˜Q‘”Ð2Ð2Ð2ó    Úgitzls-files)Úcwdr   c                ó0   •— g | ]}t          ‰|¦  «        ‘ŒS r'   r   )r*   r   r   s     €r   r,   zrun_tool.<locals>.<listcomp>0   s!   ø€ Ð>Ð>Ð>¨!•d˜6 1‘o”oÐ>Ð>Ð>r-   z**/*z-ignoreÚ*c                ó4   •— g | ]}t          ‰|z  ¦  «        ‘ŒS r'   )r   r)   s     €r   r,   zrun_tool.<locals>.<listcomp>5   s#   ø€ Ð5Ð5Ð5 q•3�v ‘z‘?”?Ð5Ð5Ð5r-   ÚcÚcppÚhc                ó   — h | ]}d |› �’ŒS )r%   r'   )r*   Úss     r   ú	<setcomp>zrun_tool.<locals>.<setcomp>8   s   € Ð*Ð*Ð*˜A��A��Ð*Ð*Ð*r-   c              3  óB   •K  — | ]}t          j         ‰|¦  «        V — Œd S ©N)Úfnmatch)r*   ÚiÚstrfs     €r   ú	<genexpr>zrun_tool.<locals>.<genexpr>?   s/   øè è € ÐAÐA°Q�œ¨¨aÑ0Ô0ÐAÐAÐAÐAÐAÐAr-   c              3  óH   K  — | ]}|                      ¦   «         j        V — Œd S r:   )ÚresultÚ
returncode)r*   Úxs     r   r>   zrun_tool.<locals>.<genexpr>C   s-   è è € ÐDÐD°q˜QŸXšX™ZœZÔ2ÐDÐDÐDÐDÐDÐDr-   )r   r	   rA   Ú
splitlinesr(   r   ÚextendÚsetr   ÚunionÚaddr   Ú	itertoolsÚchainÚis_dirÚsuffixÚanyr   ÚsubmitÚmax)r   r   r   r   r!   r   Úglobsr+   ÚoÚ_ÚignoreÚsuffixesÚfuturesrA   Úer   r=   s    `              @r   Úrun_toolrV   (   s‰  øø€ Ý! &Ð+=¨tÐ+=Ð+=Ð+=Ñ"=Ñ>Ô>€Hàð *Ø2Ð2Ð2Ð2¨Ð2Ñ2Ô2ˆˆå˜e ZÐ0°fÐ=Ñ=Ô=‰ˆˆ1ˆaØŒ<˜1ÒÐØ>Ð>Ð>Ð>¨q¯|ª|©~¬~Ð>Ñ>Ô>Ð?ˆEˆEà—[’[ Ñ(Ô(Ð)ˆEÝ! &Ð+<¨tÐ+<Ð+<Ð+<Ñ"<Ñ=Ô=€HÝ�(˜S‘.Ñ!Ô!Ð"€FØ
‡M‚MÐ5Ð5Ð5Ð5¨HÐ5Ñ5Ô5Ñ6Ô6Ð6Ý•= Ô%Ñ&Ô&×,Ò,­Sµ¸uÔ1EÑ-FÔ-FÑGÔG€HØ‡L‚L�ÑÔÐØ*Ð* Ð*Ñ*Ô*€HØ€GØ€JÝ	Ñ	Ô	ð E Ý” %Ð(ð 	3ð 	3ˆAÝ�q‘6”6ˆDØ�xŠx‰zŒzð ˜QœX¨XÐ5Ð5ÝÐAÐAÐAÐA¸&ÐAÑAÔAÑAÔAð 6àØ�NŠN˜8˜1œ8 B¨Ð1¨DÐ1Ð1Ð1Ñ2Ô2Ð2Ð2Øð 	EÝÐDÐD¸GÐDÑDÔDÑDÔDˆJðEð Eð Eñ Eô Eð Eð Eð Eð Eð Eð Eøøøð Eð Eð Eð Eð Ðs   ÅBG)Ç)G-Ç0G-)r
   r   r   r   )r   r   r   r   r   r   r   r    r!   r"   r   r#   )Ú
__future__r   rH   r;   Úpathlibr   Úconcurrent.futuresr   Ú	compilersr   Úmesonlibr	   ÚtypingÚTÚTYPE_CHECKINGÚ
subprocessr   rV   r'   r-   r   ú<module>r`      sÊ   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1à %Ð %Ð %Ð %Ð %Ð %Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð à„?ð ØÐÐÐð
ð 
ð 
ð 
ðð ð ð ð ð r-   