
    -Ph              	      ,   d dl mZ d dlZd dlZd dlZd dlmc mZ	 d dl
Z
ddlmZmZ ddlmZ ddlmZ ddlmZ dd	lmZmZmZmZ dd
lmZmZmZmZmZ ddlmZ ddlmZm Z m!Z! ddl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z) ddl*m+Z+ ej,        rddlm-Z- ddl.m/Z/m0Z0 ddlm1Z1 ddlm2Z2 ddlm3Z3 ddl*m4Z4 d dl5m6Z6 ej7        e/e0f         Z8d dl5m9Z9  G d de9          Z: G d de9          Z; G d de9          Z< G d de9          Z= G d d e2j>                  Z? G d! d"e9          Z@ G d# d$e9          ZA G d% d&e9          ZB G d' d(e9          ZC G d) d*e9          ZD G d+ d,e9          ZE G d- d.e9          ZFd;d3ZGd4ZHd5eH d6eH d7eH d6eH d8	ZI G d9 d:e          ZJdS )<    )annotationsN   )ModuleReturnValueExtensionModule   )build)options)mlog)find_external_dependency
DependencyExternalLibraryInternalDependency)MesonExceptionFileFileModeversion_compare
Popen_safe)extract_required_kwarg)INSTALL_DIR_KW
INSTALL_KWNoneType)ContainerTypeInfoFeatureDeprecated	KwargInfo	noPosargs
FeatureNewtyped_kwargstyped_pos_argsNonExistingExternalProgram)ModuleState)QtPkgConfigDependencyQmakeQtDependency)Interpreter)kwargs)FileOrString)ExternalProgram)Literal)	TypedDictc                  <    e Zd ZU dZded<   ded<   ded<   ded	<   d
S )ResourceCompilerKwArgsz3Keyword arguments for the Resource Compiler method.T.Optional[str]namecT.Sequence[T.Union[FileOrString, build.CustomTarget, build.CustomTargetIndex, build.GeneratedList]]sourcesT.List[str]
extra_argsstrmethodN__name__
__module____qualname____doc____annotations__     V/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/mesonbuild/modules/_qt.pyr+   r+   %   sC         AAttttr;   r+   c                  <    e Zd ZU dZded<   ded<   ded<   ded	<   d
S )UICompilerKwArgsz-Keyword arguments for the Ui Compiler method.r.   r/   r0   r1   r2   r3   boolpreserve_pathsNr4   r:   r;   r<   r>   r>   .   sE         ;;ttttr;   r>   c                  d    e Zd ZU dZded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   dS )MocCompilerKwArgsz.Keyword arguments for the Moc Compiler method.r.   r/   headersr0   r1   r2   r3   'T.List[T.Union[str, build.IncludeDirs]]include_directories,T.List[T.Union[Dependency, ExternalLibrary]]dependenciesr?   r@   output_jsonNr4   r:   r;   r<   rB   rB   7   su         <<ttttttttDDDDBBBBr;   rB   c                      e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   ded<   ded<   ded<   ded<   ded<   ded<   dS )PreprocessKwArgszT.List[FileOrString]r/   z1T.List[T.Union[FileOrString, build.CustomTarget]]moc_sourcesmoc_headers
qresourcesui_filesr0   moc_extra_argumentsrcc_extra_argumentsuic_extra_argumentsr?   moc_output_jsonrD   rE   rF   rG   r2   r3   r@   Nr5   r6   r7   r9   r:   r;   r<   rJ   rJ   D   s         %%%%FFFFFFFF((((CCCC((((((((((((DDDDBBBBr;   rJ   c                  $    e Zd ZU ded<   ded<   dS )HasToolKwArgsr2   r3   zST.List[Literal['moc', 'uic', 'rcc', 'lrelease', 'qmlcachegen', 'qmltyperegistrar']]toolsNrS   r:   r;   r<   rU   rU   T   s'         bbbbbbr;   rU   c                  V    e Zd ZU ded<   ded<   ded<   ded<   ded<   d	ed
<   ded<   dS )CompileTranslationsKwArgsr?   build_by_defaultinstallr,   install_dirr2   r3   	qresourcer0   rP   z\T.List[T.Union[str, File, build.CustomTarget, build.CustomTargetIndex, build.GeneratedList]]ts_filesNrS   r:   r;   r<   rX   rX   Y   s`         $$$$""""((((nnnnnnr;   rX   c                  8    e Zd ZU ded<   ded<   ded<   ded<   dS )	GenQrcKwArgszT.Sequence[File]r/   T.Sequence[str]aliasesr2   prefixoutputNrS   r:   r;   r<   r_   r_   c   s:         !!!!    r;   r_   c                      e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   ded<   dS )GenQmldirKwArgsr2   module_namemodule_versionmodule_prefix7T.Sequence[T.Union[FileOrString, build.GeneratedTypes]]qml_sourcesqml_singletonsqml_internalsr?   designer_supportedr0   importsoptional_importsdefault_importsdepends_importstypeinforc   NrS   r:   r;   r<   re   re   j   s         LLLLOOOONNNN    %%%%$$$$$$$$r;   re   c                  L    e Zd ZU ded<   ded<   ded<   ded<   ded	<   ded
<   dS )GenQmlCachegenKwArgsr2   target_nameri   rj   z+T.Union[FileOrString, build.GeneratedTypes]qml_qrcr0   r1   rh   r3   NrS   r:   r;   r<   rt   rt   z   sU         LLLL<<<<r;   rt   c                      e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded	<   d
ed<   ded<   ded<   ded<   ded<   dS )GenQmlTypeRegistrarKwArgsr2   ru   import_namemajor_versionminor_version	namespacerr   r?   generate_qmltypez5T.Optional[T.Union[FileOrString, build.CustomTarget]]collected_jsonr0   r1   r3   rZ   r,   r[   NrS   r:   r;   r<   rx   rx      s         MMMM$$$$$$r;   rx   c                  .    e Zd ZU ded<   ded<   ded<   dS )MocJsonCollectKwArgsr2   ru   zT.Sequence[build.GeneratedList]moc_jsonr3   NrS   r:   r;   r<   r   r      s1         1111r;   r   c                     e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   d	ed
<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded<   ded <   d!S )"QmlModuleKwArgsr2   versionz3T.List[T.Union[FileOrString, build.GeneratedTypes]]rj   rk   rl   resources_prefixrL   rD   rE   r0   rn   ro   rp   rq   r?   rm   r|   rr   rO   rP   qmlcachegen_extra_arguments qmltyperegistrar_extra_argumentsgenerate_qmldirr}   cachegenrF   rG   r3   r@   r[   rZ   NrS   r:   r;   r<   r   r      s6        HHHHKKKKJJJJHHHHDDDD%%%%$$$$$$$$    ((((((((00005555BBBBr;   r   choices
T.Set[str]return*T.Callable[[T.List[str]], T.Optional[str]]c                     d fd}|S )z5Check that the choice given was one of the given set.	checklistr0   r   r,   c                    t          |                                         }|rIdd                    t          |                     dd                    t                               dS d S )Nzinvalid selections z, z, valid elements are .)set
differencejoinsorted)r   invalidr   s     r<   innerz%_list_in_set_validator.<locals>.inner   sn    i..++G44 	xw6'??)C)CwwZ^ZcZcdjkrdsdsZtZtwwwwtr;   )r   r0   r   r,   r:   )r   r   s   ` r<   _list_in_set_validatorr      s(          Lr;   z- {}<>()[\].:;~%?&,+^=|!\/*"\'z[^z0-9][^z]*(\.[^z]*)*c            #      (   e Zd ZdZdZdZh dZdZdZdddZ	ddZ
dddZedd            ZddZ edd          e ed edeej        fd            eded!            ed" eee          dg d# ee          d$%                    dd*                                    Z ed+d,          e ed+ ed-eef           ed. eeeeej        ej        ej         fd/          dd0           ed1 eee          dg 2           eded!                     dd6                                    Z!dd8Z" ed9d,          e ed9 ed. eeeeej        ej        ej         fd/          dd0           ed1 eee          dg 2           eded!            ed:edd;<                    dd>                                    Z#dd@Z$ edAd,          e edA ed. eeeeej        ej        ej         f          dg 2           edB eeeeej        ej        ej         f          dg 2           ed1 eee          dg 2           eded!            edC eeej%        ef          dg 2           edD eee&e'f          dg 2           ed:edd;<           edEeddF<          	  	        ddH                                    Z(ddJZ) edK ed. eeeef          dg d,L           edM eeeef          dg 2           edN eeeeej        f          dg 2           edO eeeeej        f          dg 2           edP eeeeej        f          dg 2           edQ eee          dg dRS           edT eee          dg dUS           edV eee          dg dUS           eded!            edC eeej%        ef          dg 2           edD eee&e'f          dg 2           ed:edd;<           edWeddF<                    ddZ            Z* ed[dR          e ed[ ed\ed           e+e, eded!            ed]eefd^_           edT eee          dg d^S           ed` eeeeej        ej        ej         f          dg 2                    ddb                                    Z-dddZ.ddgZ/ddiZ0ddlZ1ddoZ2ddqZ3 edrds           e4dre           edr edtedu            edv eeeeej        f          dg 2           edw eeeeej        f          dg 2           edx eeeeej        f          dg 2           edyedz            ed{ eee          g             ed| eee          g             ed} eee          g             ed~ eee          g             eded            edP eeeeej        f          dg 2           edC eeej%        ef          dg 2           eded            eded            edQ eee          dg 2           edT eee          dg 2           ed eee          dg 2           ed eee          dg 2           eded            eded            eded            edD eee&e'f          dg 2          e,e+ eded!            ed:ed                     dd                                    Z5dS )QtBaseModuleF>   mocrccuiclreleaseqmlcachegenqmltyperegistrar   interpreterr$   
qt_versionintc           
         t          j        | |           || _        d | j        D             | _        | j                            | j        | j        | j	        | j
        | j        | j        | j        d           d S )Nc                .    i | ]}|t          |          S r:   r   ).0tools     r<   
<dictcomp>z)QtBaseModule.__init__.<locals>.<dictcomp>   s6     O
 O
 O
7;D,T22O
 O
 O
r;   )	has_tools
preprocesscompile_translationscompile_resources
compile_uicompile_moc
qml_module)r   __init__r   _set_of_qt_toolsrV   methodsupdater   r   r   r   r   r   r   )selfr   r   s      r<   r   zQtBaseModule.__init__   s     {333$O
 O
?C?TO
 O
 O

 	/$($=!%!7/+/
 
 	 	 	 	 	r;   stater!   qt_depQtDependencyTyper   Nonec                Z   	 dj          }d fd} |            D ]\  }	 j        	                                         r%	dk    rdgnt          j         d          rdgnd	gd	fd}|                    |d||          }|                                r
| j        	<   dS )zCDetect Qt (4 or 5) moc, uic, rcc in the specified bindir or in PATHz== r   *T.Generator[T.Tuple[str, str], None, None]c               3  *  K   j         D ]} j        r)t          j                            j        |           | fV  j        r)t          j                            j        |           | fV  |  j         | fV  |  dj         | fV  | | fV  d S )N-qt)rV   bindirospathr   
libexecdirqtver)br   r   s    r<   gen_binsz/QtBaseModule.compilers_detect.<locals>.gen_bins   s      Z 
 
= <',,v}a88!;;;;$ @',,v'8!<<a???? *FL**A------v|--q0000d




 
r;   r   z-versionz>= 5z	--versionz-vp*T.Union[ExternalProgram, build.Executable]r2   c                $   t          |                                 z             \  }}}dk    sj                            d          s|}n|}|                    dd          d                             dd                                          S )	Nr   4 r   maxsplit) )r   get_commandr   
startswithrsplitreplacestrip)r   _outerrcareargr-   r   s        r<   get_versionz2QtBaseModule.compilers_detect.<locals>.get_version   s    (3)>??3:%%V^-F-Fs-K-K%DDD{{3{33B7??RHHNNPPPr;   F)requiredversion_funcwantedN)r   r   )r   r   r   r2   )r   rV   foundr   find_program)
r   r   r   r   r   r   r   r   r   r-   s
   ` `     @@r<   compilers_detectzQtBaseModule.compilers_detect   s(   'v~''	 	 	 	 	 	 	  xzz 	% 	%GAtz$%%'' z!!!l 88 "mfQ Q Q Q Q Q Q Q ""1u0;*0 # 2 2A wwyy %#$
4 1	% 	%r;   Tr3   r2   r   r?   c                L   | j         rd S d| _         t          j        d| j         d           |d|d}t	          j        dt          d| j         |j        |                    }|                                r| 	                    ||           t          |j        d          rd| _        t          |j        d	          rd| _        d| _        nt          j        d
d           t          |j        d          r	d| _        d S t          j        dt          j        d          d           d S d| j         }t%          d|z             | j        d<   t%          d|z             | j        d<   t%          d|z             | j        d<   t%          d|z             | j        d<   d S )NTzDetecting Qtz toolsCore)r   modulesr3   r"   qtz>=6.2.0z>=5.15.0zDmoc dependencies will not work properly until you move to Qt >= 5.15F)fatalz>=5.14.0zErcc dependencies will not work properly until you move to Qt >= 5.14:z+https://bugreports.qt.io/browse/QTBUG-45460r   r   r-   r   r   r   )_tools_detectedr
   logr   Tcastr   environmentr   r   r   r   _support_qml_module_moc_supports_depfiles_moc_supports_jsonwarning_rcc_supports_depfilesboldr    rV   )r   r   r3   r   r%   r   suffixs          r<   _detect_toolszQtBaseModule._detect_tools  s    	F#7777888&6VLLV+-EF\4?F\F\^c^oqw-x-xyy88:: 	Z!!%,,,rz955 0+/(rz:66 r.2+*.''ckpqqqqrz:66 d.2+++d!Y'TUU]bd d d d d d -4?,,F : O O ODJu : O O ODJu : O O ODJu%?ZRXEX%Y%Y%YDJz"""r;   rcc_filer&   T.Tuple[str, T.List[str]]c           
     R   t          |t                    r1t          j                            | j        j        | j        |          }n*|                    | j        j        | j        j	                  }t          j        
                    |          }	 t          j        |          }|                                }g }|d         D ]}|j        dk    rGt          j        dt          j                            | j        t          |                                nd|j        Bt%          dt          j                            | j        t          |                               |                    |j                   ||fS # t$          $ r  t(          $ r t%          d|           w xY w)Nr   filezmalformed rcc file: z!<file> element without a path in zUnable to parse resource file )
isinstancer2   r   r   r   r   
source_dirsubdirabsolute_path	build_dirdirnameETparsegetroottagr
   r   textr   append	Exception)r   r   abspathrcc_dirnametreerootresultchilds           r<   
_qrc_nodeszQtBaseModule._qrc_nodes*  s    h$$ 	hgll5#4#?xXXGG,,U->-I5K\KfggGgoog..	M8G$$D<<>>D"$Fa . .9&&L!7elTWX`TaTa9b9bcccEZ'()xRW\\Z_ZfhklthuhuMvMv)x)xyyyMM%*----&& 	 	 	 	M 	M 	M !K'!K!KLLL	Ms   C-E? ?'F&	rcc_file_WT.Union[FileOrString, build.CustomTarget, build.CustomTargetIndex, build.GeneratedList]T.List[File]c           	        g }g }t          |t          t          f          r|g}n|                                }|D ]}|                     ||          \  }}|D ]}t
          j                            |          r|                    t
          j        	                    |j
        j                            rPt
          j                            ||j
        j                  }	|                    t          dd|	                     |                    t          d|j        |                     t
          j                            t
          j                            ||                    }
|
                    |j
        j                  r,|                    t          d|j        |                     a|                    t          d|j        |
                     |S )NTr   )is_builtr   fnameF)r   r2   r   get_outputsr
  r   r   isabsr   r  r   r   relpathr  r   normpathr   )r   r   r  r  inputsr   r  nodesresource_pathresource_relpathpath_from_rccs              r<   _parse_qrc_depszQtBaseModule._parse_qrc_depsG  s   !-/i#t-- 	-[FF**,,F 	f 	fH!%!A!AK!& f f 7==// f$//@Q@[0\0\]] f+-7??=%J[Je+f+f(dDK[&\&\&\]]]] dE%,Vc&d&d&deeee$&G$4$4RW\\+}5]5]$^$^M$//0A0KLL fdDUb&c&c&cdddd dE%,Vc&d&d&deeee/f0 r;   zqt.has_toolsz0.54.0defaultautorV   )r   r   r   r   z1.6.0)listifyr  	validatorsinceargsT.Tupler%   rU   c                    |j         dd          }t          ||j        d          \  }}}|r*t          j        dt          j        |          d           dS |                     ||d           |d         D ]P}|| j        v sJ d	| j                     | j        |         	                                s|rt          d
           dS QdS )Nr3   r  Fr  zqt.has_tools skipped: featuredisabled)r   rV   ztools must be in zQt tools not foundT)getr   
subprojectr
   r   r   r   r   rV   r   r   )	r   r   r!  r%   r3   r$  r   featurer   s	            r<   r   zQtBaseModule.has_toolsl  s     Hf-- '=VUEU_d&e&e&e#(G 	H4di6H6H*UUU55&59997O 	 	D400002]dF[2]2]000:d#))++  ?()=>>>uu tr;   zqt.compile_resourcesz0.59.0r-   r/   )allow_empty)r  r   r1   )r  r  'ModuleState''ResourceCompilerKwArgs'r   c                    t          d |d         D                       r"t          j        dd|j        |j                   |                     ||          }t          ||g          S )zhCompile Qt resources files.

        Uses CustomTargets to generate .cpp files from .qrc files.
        c              3  x   K   | ]5}t          |t          j        t          j        t          j        f          V  6d S Nr   r   CustomTargetCustomTargetIndexGeneratedListr   ss     r<   	<genexpr>z1QtBaseModule.compile_resources.<locals>.<genexpr>  =      ||efz!e0%2I5K^_``||||||r;   r/   zOqt.compile_resources: custom_target or generator for "sources" keyword argument0.60.0location)anyr   
single_user&  current_node_compile_resources_implr   r   r   r!  r%   r   s        r<   r   zQtBaseModule.compile_resources  s    & ||jpqzj{||||| 	[!"s"*E,<uGY[ [ [ [**5&99 se,,,r;   T.List[build.CustomTarget]c                \   |                      ||d                    | j        d                                         s3d}t          |                    dd| j         | j                            g }| j        rddgng }|d         }g }|d	         D ][}t          |t          t          f          r|
                    |           4|                    |                                           \|d
         }	|rg }
|D ]+}|
                    |                     ||                     ,t          j        ||j        |j        |j        | j        d                                         d|ddgz   |	z   dgz   |z   || dg|
| dd
  
        }|
                    |           n|D ]	}|                     ||          }
t          |t                    r t(          j                            |          }n$t(          j                            |j                  }d| j         d|                    dd           }t          j        ||j        |j        |j        | j        d                                         g dz   |	z   dgz   |z   |g| dg|
| dd
  
        }|
                    |           |S )Nr3   r   Q{0} sources specified and couldn't find {1}, please check your qt{2} installationRCCzrcc-qtz	--depfilez	@DEPFILE@r-   r/   r1   -name-o@OUTPUT@@INPUT@z.cppz.dzCompiling Qt resources {})depend_filesdepfiledescriptionr   -r   r   )rB  z
@BASENAME@rC  rD  )r   rV   r   r   formatr   r   r   r2   r   r  extendr  r  r   r/  r   r&  r   r   r   r   basenamer  r   )r   r   r%   err_msgtargetsDEPFILE_ARGSr-   r/   r3  r1   qrc_deps
res_targetr   rL  s                 r<   r<  z$QtBaseModule._compile_resources_impl  s   5&"2333z% &&(( 	e>G 7Q7Q7QSWSb!c!cddd /1 CGB]$e[+$>$>cef~*,	" 	0 	0A!c4[)) 0q!!!!q}}////L)
  &	+%'H @ @ 4 4UA > >????+ !
5!--//7D$
2SSV``dmcnnq}}%7  J NN:&&&&# + +//x@@h,, @!w//99HH!w//??HJDOJJh.>.>sC.H.HJJ"/L$%Ju%11336_6_6__bllpyozz  ~J  JJ]]]O!)#KKK ;  
 z****r;   zqt.compile_uir@   z1.4.0)r  r   r>   c                    t          d |d         D                       r"t          j        dd|j        |j                   |                     ||          }t          ||g          S )z&Compile UI resources into cpp headers.c              3  x   K   | ]5}t          |t          j        t          j        t          j        f          V  6d S r-  r.  r2  s     r<   r4  z*QtBaseModule.compile_ui.<locals>.<genexpr>  r5  r;   r/   zHqt.compile_ui: custom_target or generator for "sources" keyword argumentr6  r7  )r9  r   r:  r&  r;  _compile_ui_implr   r=  s        r<   r   zQtBaseModule.compile_ui  s      ||jpqzj{||||| 	[!"l"*E,<uGY[ [ [ [##E622 se,,,r;   build.GeneratedListc                   |                      ||d                    | j        d                                         s3d}t          |                    dd| j         | j                            |d         r*t          j                            |j	        |j
                  nd }t          j        | j        d         |d         g dz   d	gd
| j         d          }|                    |d         ||          S )Nr3   r   r@  UICuic-qtr@   r1   )rC  rD  rE  zui_@BASENAME@.hQtz uir   r/   )r   rV   r   r   rJ  r   r   r   r   source_rootr   r   	Generatorprocess_files)r   r   r%   rM  preserve_path_fromgens         r<   rT  zQtBaseModule._compile_ui_impl  s   5&"2333z% &&(( 	e>G 7Q7Q7QSWSb!c!cdddNTUeNfpRW\\%*;U\JJJlpoJu< #@#@#@@*do***	, , ,
   	!2E;MNNNr;   zqt.compile_mocrC   rE   rG   rH   z1.7.0rB   c                T   t          d |d         D                       r"t          j        dd|j        |j                   t          d |d         D                       r"t          j        dd|j        |j                   |                     ||          }t          ||g          S )	Nc              3  x   K   | ]5}t          |t          j        t          j        t          j        f          V  6d S r-  r.  r2  s     r<   r4  z+QtBaseModule.compile_moc.<locals>.<genexpr>$  r5  r;   rC   zIqt.compile_moc: custom_target or generator for "headers" keyword argumentr6  r7  c              3  x   K   | ]5}t          |t          j        t          j        t          j        f          V  6d S r-  r.  r2  s     r<   r4  z+QtBaseModule.compile_moc.<locals>.<genexpr>'  r5  r;   r/   zIqt.compile_moc: custom_target or generator for "sources" keyword argument)r9  r   r:  r&  r;  _compile_moc_implr   r=  s        r<   r   zQtBaseModule.compile_moc  s    0 ||jpqzj{||||| 	[!"m"*E,<uGY[ [ [ [||jpqzj{||||| 	[!"m"*E,<uGY[ [ [ [$$UF33 se,,,r;   T.List[build.GeneratedList]c           	        |                      ||d                    | j        d                                         s3d}t          |                    dd| j         | j                            |d         s|d         st          j        d          |                    |d	         
          }g }|d         D ]}|	                    d |
                                D                        t          |t                    rV|j        D ]N}|	                    d |                    | j        j        | j        j        j                  D                        Og }|d         }	|	r| j        st          d| j         d          | j        rdgng }
|	rdgng }|d         |
z   |z   |z   |z   g dz   }|d         r*t*          j                            |j        |j                  nd }|d         rwdg}|	r|                    d           t          j        | j        d         ||dd| j         d          }|                    |                    |d         ||                     |d         rwdg}|	r|                    d           t          j        | j        d         ||dd| j         d          }|                    |                    |d         ||                     |S ) Nr3   r   r@  MOCrX  rC   r/   z[At least one of the "headers" or "sources" keyword arguments must be provided and not emptyrE   )include_dirsrG   c              3  D   K   | ]}|                     d           |V  dS ))-Iz-DN)r   )r   as     r<   r4  z1QtBaseModule._compile_moc_impl.<locals>.<genexpr>;  s4      ddaVbIcIcdddddddr;   c              3      K   | ]	}d | V  
dS )rh  Nr:   )r   is     r<   r4  z1QtBaseModule._compile_moc_impl.<locals>.<genexpr>>  s@        (U  (UQQ  (U  (U  (U  (U  (U  (Ur;   rH   zmoc-qtz% doesn't support "output_json" optionz--output-dep-filez--output-jsonr1   )rE  rC  	@OUTPUT0@r@   zmoc_@BASENAME@.cppzmoc_@BASENAME@.cpp.jsonzmoc_@BASENAME@.cpp.drY  z moc header)rG  r-   z@BASENAME@.mocz@BASENAME@.moc.jsonz@BASENAME@.moc.dz moc source)r   rV   r   r   rJ  r   r   InvalidArgumentsget_include_argsrK  get_all_compile_argsr   r   rE   to_string_listr   rZ  r   r   r   r   r   r   r   r   r  r[  r\  )r   r   r%   rM  inccompile_argsdepinclrc   do_output_jsonrO  	JSON_ARGS	argumentsr]  header_gen_outputmoc_gensource_gen_outputs                    r<   rb  zQtBaseModule._compile_moc_impl-  s   5&"2333z% &&(( 	e>G 7Q7Q7QSWSb!c!cdddy! 	HVI%6 	H(  *G  H  H  H$$&9N2O$PP$&.) 	U 	UCdd3+C+C+E+Edddddd#122 U3 U UD ''  (U  (U$:M:MdN^Njlpl|  mI  mS  ;T  ;T  (U  (U  (U  U  U  U  U.0%m4 	c$"9 	c !a$/!a!a!abbb >B=X$`%8$9$9^`6D!L/!2!2"	<(<7)CcILX[y[y[yy	NTUeNfpRW\\%*;U\JJJlp) 	_.B-C D!(()BCCCo
5!9.?.6$/6668 8 8G MM'//y0A5J\]]^^^) 	_.>-? @!(()>???o
5!9.?*6$/6668 8 8G MM'//y0A5J\]]^^^r;   zqt.preprocess)r  r  
deprecatedrM   rN   rK   rL   rO   z0.44.0)r  r  r   rP   z0.49.0rQ   rR   T.List[T.Union[str, File]]rJ   c           	        |dd          }|r"t          j        dd|j        |j                   t	          j        d||d         z             }|D ]2}t          |t          t          f          st          j
        d          3|d         }|d	         rtd
|d	         |d         |d}|r6|d         }	t          |	t                    st          j
        d          |	|d<   |                    |                     ||                     |d         rB|d         |d         ||d         d}
|                    |                     ||
                     |d         s|d         r^|d         |d         |d         |d         |d         ||d         |d         d}|                    |                     ||                     t!          ||g          S )Nr   z qt.preprocess positional sourcesz0.59r7  zCT.List[T.Union[str, File, build.GeneratedList, build.CustomTarget]]r/   z<Variadic arguments to qt.preprocess must be Strings or Filesr3   rM   r   rP   r-   r/   r1   r3   r   z0First argument to qt.preprocess must be a stringr-   rN   rQ   r@   )r/   r1   r3   r@   rL   rK   rO   rE   rG   rR   )r1   r/   rC   rE   rG   r3   r@   rH   )r   r:  r&  r;  r   r   r   r2   r   r   rm  rK  r<  r  rT  rb  r   )r   r   r!  r%   _sourcesr/   r3  r3   
rcc_kwargsr-   	ui_kwargs
moc_kwargss               r<   r   zQtBaseModule.preprocessb  sP   " 8 	D()KVUZUepu  qC  D  D  D  D&^!F9$557 7 	m 	mAa#t-- m,-klllm!, 	L:<P\I]ms  uJ  nK  W]  2^  2^J *Aw!$,, e01cddd%)
6"NN477zJJKKK* 	D!*-$%:; "()9":	+ +I NN400	BBCCC-  	FF=$9 	F$%:;!-0!-0'-.C'D &~ 6 "()9":%&78	- 	-J NN411%DDEEE 7)444r;   zqt.compile_translationsrY   r\   z0.56.0)r   r]   rX   c                   |d         }t          d |D                       r"t          j        dd|j        |j                   |d         r|d         st          d          |d	         }|r|rt          d
          t          j                            |          dk    rt          d          t          j
        |j        |          }t          j                            |j        j        |                                          }t          j                            |j        j        |                                          }t          j        t          j                            |          d           t%          j        ||           | j                            |           |                     ||          \  }	}
|
D ]T}|                    d          r,|                    |                    d          dz              Ct          d|           |                     |g ||d         d          }|                     ||d                    g }|D ]_}| j        d                                         s%t          d| j        d         j        z   dz             |rt?          |t@                    s
J d            t          j                            t          j        !                    t          j                            |j        |                              }t          j        "                    |          }n|j        }| j        d         dddg}tG          j$        d| j%         d| ||j        |j        ||gdg|d         |d         gdg|d          d!"          }|                    |           a|r"tM          |j'        d#         |j(        |g          S tM          ||g          S )$Nr]   c              3  x   K   | ]5}t          |t          j        t          j        t          j        f          V  6d S r-  r.  r2  s     r<   r4  z4QtBaseModule.compile_translations.<locals>.<genexpr>  s=      ssefz!e0%2I5K^_``ssssssr;   zSqt.compile_translations: custom_target or generator for "ts_files" keyword argumentr6  r7  rZ   r[   z[qt.compile_translations: "install_dir" keyword argument must be set when "install" is true.r\   zCqt.compile_translations: Cannot specify both ts_files and qresourcer   zMqt.compile_translations: qresource file name must not contain a subdirectory.T)exist_okz.qmz.tszDqt.compile_translations: qresource can only contain qm files, found rP   )rM   rP   r3   r   zqt.compile_translations: 
 not foundzfor mypyrE  z-qmrD  r   z	-compile-z@BASENAME@.qmi18nrY   zCompiling Qt translations {})rZ   r[   install_tagrY   rH  r   ))r9  r   r:  r&  r;  r   r   r   r   r   from_built_filer   r   r   r   relative_namer   makedirsshutilcopy2r   add_build_def_filer
  endswithr  rstripr   r   rV   r   r-   r   r2   r  rL  r   r/  r   r   return_valuenew_objects)r   r   r!  r%   r]   r\   qresource_file
infile_absoutfile_absr   r  cresultstranslationstsoutdircmdlrelease_targets                     r<   r   z!QtBaseModule.compile_translations  s    *%ssjrsssss 	[!"w"*E,<uGY[ [ [ [) 	@VM%: 	@ !~;'	 	G l$%jkkkwy))R//$%tuuu!1%,	JJNe&7&BND`D`DbDbccJ',,u'8'BND`D`DbDbccKK44tDDDDL[111//
;;;un==HAu u u::e$$ uOOAHHUOOe$;<<<<()spq)s)stttooeRgm  oD  hE  2F  2F  G  GG5&"233335 	1 	1B:j)//11 Q$%@%)Z
%;%@&ACO&P Q Q Q 	&
 ""c**66J666)9)9"',,u|UW:X:X)Y)YZZW%%b))LPJWaLbdmot  wA  LBC#03T_33r33 ! !y)#M23#H!'(:!;:  O 0000 	C$W%9!%<w?RT`>abbb$\L>BBBr;   ri   c           	        g }|D ]Q}t          |t          j        t          j        f          rX|                                D ]B}|                    t          j        |j        	                    |          |                     Ct          |t                    r|                    |           t          |t          j
                  rF|                                D ]/}|                    t          j        |j        |                     0|                    t          j        |j                                        |j        |                     S|S r-  )r   r   r/  r0  r  r  r   r  backendget_target_dirr1  r   from_source_filer   get_source_dir)r   r   r/   content_filesr3  ogen_srcs          r<   _source_to_fileszQtBaseModule._source_to_files  s[    	 	A!e0%2IJKK  c cA!(()=em>Z>Z[\>]>]_`)a)abbbbcAt$$ 
$$Q''''Au233  }} V VG!(()=elG)T)TUUUUV $$T%:%4466L& &    
 r;   r_   r   c                f   t          j        |j        |d                   }t          j                            |j        j        |                                          }t          j        	                    |j        j                  st          j
        |j        j                   t          j        d          }t          j        |dd|d         z             }t          |d                   t          |d                   k    sJ t          |d         |d                   D ]e\  }}t          j        |d	|
          }	|                    |j                                        |j                                                  |	_        ft          j        |          }
|
                    |           |S )Nrc   rA  r\   /rb   )rb   r/   ra   r   )alias)r   r  r   r   r   r   r   r   r  isdirmkdirr   Element
SubElementlenzipr   r  get_build_dirr  ElementTreewrite)r   r   r%   fileoutfileout_absr   r\   sourcer  filenoder  s              r<   _gen_qrczQtBaseModule._gen_qrc   sp   &u|VH5EFFgll5#4#>@U@U@W@WXXw}}U.899 	2HU&0111jM#{3AQ;QRRR	F9%&&#fY.?*@*@@@@@ 	!2F94EFF 	 	MFE}YeDDDH"00!0022!//11 HMM
 ~c""

;r;   re   c                    |d         }|d         }|d         }|d         }|d         }t          j        dt          z   dz             t          j        j        |d                   }t          j                            j	        j
        |                                          }	t          j                            j	        j
                  st          j        j	        j
                   t          |	d	d
          5 d+fd}
d, fd}                    d| d                               d| d            |
d|d                     |
d|d                     |
d|d                      |
d!|d"                     |d#||d$                     |d%||d&                     |d'd#|d(                    |r                    d)| d           |r                    d*           d d d            n# 1 swxY w Y   |S )-Nrf   rg   rh   rm   rr   z^(z)(/((\d+(\.\d+)?)|auto))?$rc   wzutf-8)encodingimport_typer2   
importlistr`   r   r   c           	         |D ]u}                     |          }|st          d|           |                    d          }|                    d          pd}                    |  d| d| d           vd S )Nzinvalid syntax for qml import r      r   r   
)matchr   groupr  )r  r  import_stringr  moduler   fd	import_res         r<   __gen_importz.QtBaseModule._gen_qmldir.<locals>.__gen_import&  s    %/ D DM%OOM::E  _,-]m-]-]^^^"'++a..F#(;;q>>#7RGHHBBfBBwBBBCCCCD Dr;   	qualifierr   ri   c           
                             	|          }|D ]}t          j                            |j                  }|                    dd          d         }|                    d          st          d|           |rd|v s|d                                         rt          | d          |r!	                    |  | d| d| d	           	                    |  | d| d	           d S )
Nr   r   r   r   )z.qmlz.jsz.mjsz-unexpected file type declared in qml sources z is not a valid QML file namer   r  )
r  r   r   rL  r  r   r  r   islowerr  )
r  r   r  importpathlistr3  rL  	classnamer  r   r   s
          r<   __gen_declarationz3QtBaseModule._gen_qmldir.<locals>.__gen_declaration/  s<   !%!6!6uj!I!I' I IA$&G$4$4QW$=$=H%-__S1_%E%Ea%HI#,,-DEE b,-`]^-`-`aaa$ Yy(8(8IaL<P<P<R<R(8,-W-W-WXXX II!Qy!Q!Q7!Q!QX!Q!Q!QRRRRI!Gy!G!G8!G!G!GHHHHI Ir;   zmodule r  z	prefer :/z/
importrn   zoptional importro   zdefault importrp   dependsrq   r   rj   z
singleton rk   z	internal rl   z	typeinfo zdesignersupported
)r  r2   r  r`   r   r   )r  r2   r   r2   r  ri   r   r   )recompile_MODULE_NAME_REr   r  r   r   r   r   r   r   r  r  r  openr  )r   r   r%   rf   rg   rh   rm   typeinfo_filer  r  _QtBaseModule__gen_import_QtBaseModule__gen_declarationr  r  s   ``          @@r<   _gen_qmldirzQtBaseModule._gen_qmldir  s   !-0$%56#O4#)*>#?#J/ Ju69VVWW	&u|VH5EFFgll5#4#>@U@U@W@WXXw}}U.899 	2HU&0111+sW555 *	0D D D D D D DI I I I I I I I  HH.{...///HH3333444L6)#4555L*F3E,FGGGL)62C+DEEELF+<$=>>>b.&2GHHHlNFCS<TUUUk2vo/FGGG 86]666777! 0.///U*	0 *	0 *	0 *	0 *	0 *	0 *	0 *	0 *	0 *	0 *	0 *	0 *	0 *	0 *	0V s   C5HH	Hr   build.CustomTargetc                <   |                      ||d                    | j        d                                         s%t          d| j        d         j        z   dz             |d         }|d         }g }d}|D ]L}|                                D ]5}|                    d          r|                    d	| d
           |dz  }6Mt          j	        d| |j
        |j        |j        | j        d                                         g dz   |z   || dgd|           S )Nr3   r   qt.qml_module: r  ru   r   r   z.jsonz@INPUT@r   moc_collect_json_)z--collect-jsonrC  rD  z_json_collect.jsonz%Collecting json type information for rH  )r   rV   r   r   r-   r  r  r  r   r/  r   r&  r   r   )	r   r   r%   ru   r   
input_argsinput_countergr  s	            r<   _moc_json_collectzQtBaseModule._moc_json_collectQ  sw   5&"2333z% &&(( 	H !2!%E!2!7"8:F"G H H H "-04::4F #%
 	# 	#A # #>>'** A%%&?}&?&?&?@@@"#
 !---LJu))++.R.R.RRU__///0MMM	
 	
 	
 		
r;   rt   8T.List[T.Union[build.CustomTarget, build.GeneratedList]]c                   |                      ||d                    | j        d                                         s%t          d| j        d         j        z   dz             |d         }ddg|d         z   }|                     ||d	         g          D ][}|                    d
|                    |j        	                                |j        
                                          g           \|                    d           t          j        | j        d         || dgd|           }g }|                    |                    |d         |                     g }|                     ||d                   }	|	D ]b}
t          j                            |
j                  }t          j                            d|d         |          }|                    |           ct          j        d| |j        |j        |j        | j        d                                         ddgz   dd| gz   |d         z   dgz   |z   |d	         g| dgd|           }|                    |           |S )Nr3   r   r  r  ru   rC  rD  r1   rv   z
--resourcerE  z_@BASENAME@.cppzQml cache generation for r   rj   r  rh   cacheloader_z--resource-name	qmlcache_z--resource=@INPUT@z_qmlcache_loader.cppzQml cache loader for r  )r   rV   r   r   r-   r  rK  r   r   r  r  r  r   r[  r\  r   r   rL  r  r   r/  r   r&  r   )r   r   r%   ru   command_argsqrc	cache_genrc   cachegen_inputsqml_sources_pathsr3  source_basenameressource_pathcacheloader_targets                 r<   _gen_qml_cachegenzQtBaseModule._gen_qml_cachegenn  s   5&"2333z-(..00 	P !2!%M!:!?"@BN"O P P P "-0j)F<,@@((	1B0CDD 	 	Cs/@/@!0022!//110 0 !    
 	I&&&OJ}%,,,-:[::	< < <	 LNi--f].CUKKLLL') 11%9NOO" 	3 	3A g..qw77OW\\#vo/FXXN"">2222"/(;((LJ}%1133tZ6HHL]_xkv_x_xKyy  }C  DP  }Q  Q  Ui  Tj  j  m|  |I1112===

 

 

 	()))r;   rx   c                   |                      ||d                    | j        d                                         s%t          d| j        d         j        z   dz             |d         }|d         }|d         }|d         }|d	         }|d
         }|d         }	|	r|	gng }
| dg}dg}d g}| j        d                                         d|d|d|ddgz   }|                    |d                    |r|                    d|g           |d         r||                    ddg           |dk    r|                    | d           n|                    |            |                    |d                    |                    d           |	r|                    d           t          j	        d| |j
        |j        |j        ||
||d         ||d|            S )!Nr3   r   r  r  ry   rz   r{   r|   rr   ru   r~   z_qmltyperegistrations.cppFz--import-namez--major-versionz--minor-versionrC  rl  r1   z--namespacer}   z--generate-qmltypesz	@OUTPUT1@r   z	.qmltypesr[   develrE  typeregistrar_rZ   zQml type registration for )rZ   r[   r  rH  )r   rV   r   r   r-   r   rK  r  r   r/  r   r&  r   )r   r   r%   ry   rz   r{   r|   rr   ru   r~   r  outputsr[   r  r  s                  r<   _qml_type_registrarz QtBaseModule._qml_type_registrar  sY   5&"2333z,-3355 	U !2!%,>!?!D"EGS"T U U U "-0#O4#O4,	z*!-0PVWgPh\jHrHXHXpr#. I I IJ=BG37&j+,88::[}}+	>
 
 	

6,'((( 	3JJy1222$% 	(JJ-{;<<<2~~+8889999(}---vm4555w''' 	"JJy!!!!*[**L9%##B[BB
 
 
 	
r;   zqt.qml_modulez1.7r   z254.254rj   rk   rl   r   zqt/qmlrn   ro   rp   rq   rm   r|   r   rr   r   r   r   r}   r   T.Tuple[str]r   c                	   |                      ||d                    | j        st          d          t          j        d          }t          j        t
                    }g }|d         }|                    |          st          d|           |d         }|                    |          }	|	st          d|           |	                    d          }
|	                    d	          }|
 d
| }|	                    d
          }t          j        j        | }t          j        j        |d         	                    d          |z    }t          j        dd|          }g }|d         |d         z   |d         z   }|                     ||          }d |D             }|d         pd}t          j                            ||          }t          |          dk    r|| d|||d}|                     ||          }|d         s|                    |           n>|||||d         |d         d}|                    |                     ||                     |d         r*| j                            ||t-                      |d           d }|d         rg |d         |d         |d         |d         |d         |d          d!d"}|                     ||          }|                    |           |||d         d#}|                     ||          }|                    |           d$}|d%         r|||
|||d&         d!|d'         |d(         |d         |d         |d)}|                     ||          } |                    |            t          |                                           d	k    r|                                 d         }|d*         r| d+|||d         |d         |d         |d,         |d-         |d.         |d/         |d0         ||d1}!|                     ||!          }"| d2|                     ||"g          d3g|d}#|                    |                     ||#                     |d         r,| j                            |"g|t-                      d3gd           |r<|||d4         |d         d5}$|                    |                     ||$                     t;          ||g          S )6Nr3   z6qt.qml_module is not suppported for this version of Qtz^(\d+)\.(\d+)(\.(\d+))?$r   z6qml module URI should be in the form Foo.Bar.xxx, got r   z:qml module version should be in the form Major.Minor, got r   r   r   r   r  z[^A-Za-z0-9]r   rj   rk   rl   c                V    g | ]&}t           j                            |j                  'S r:   )r   r   rL  r  )r   r   s     r<   
<listcomp>z+QtBaseModule.qml_module.<locals>.<listcomp>   s*    (Z(Z(Zq)9)9!')B)B(Z(Z(Zr;   r[   qmlz_qml.qrc)rc   r/   ra   rb   r   r   )ru   rv   rj   rh   r1   r3   rZ   r  rL   rO   rE   rG   r@   T)r/   rC   r1   r3   rE   rG   r@   rH   )ru   r   r3   r   r}   r|   r   rr   )ru   ry   rz   r{   r~   r|   r}   r1   rr   r3   rZ   r[   r   _qmldirrn   ro   rp   rq   rm   )rc   rf   rg   rj   rk   rl   rn   ro   rp   rq   rm   rr   rh   z_qmldir.qrcqmldirrP   r~  )r   r   r   r  r  r  	fullmatchr  r  splitr   r   r   subr  r  r  r  rK  r  r   install_data_implr   rb  r  r  r  r  r<  r   )%r   r   r!  r%   
version_remodule_name_rerc   rf   rg   module_version_matchmodule_version_majormodule_version_minormodule_version_shortmodule_prefix_listrh   module_prefix_fullru   qrc_resoucesall_qmlall_qml_filesall_qml_basenamer[   module_install_dirqml_qrc_kwargsrv   cachegen_kwargsr~   compile_moc_kwargs
moc_outputmoc_collect_json_kwargsr  qmltyperegistrar_kwargstype_registrar_outputqmldir_kwargsqmldir_fileqmldir_qrc_kwargscompile_resource_kwargss%                                        r<   r   zQtBaseModule.qml_module  s   R 	5&"2333' 	[ !YZZZ Z ;<<
O44KM7''44 	i !gZe!g!ghhh$Y/)//??# 	p !n^l!n!nooo$8$>$>q$A$A$8$>$>q$A$A"6OO9MOO*5*;*;C*@*@W\+=>"$',8J1K1Q1QRU1V1VYk1k"m f_c;??LNKQR_K`cijzc{K{  E  FU  V  LV&*&;&;E7&K&K(Z(ZM(Z(Z(Z!-09E"$',,{M"J"Jw<<1(222(+,	, ,N mmE>::G*% N##G,,,, $/&#*%7"()F"G$X.9 9 d44UOLLMMM ) 	V..}>P/7zz;KWV V V QU-  	*!-0$%:; *'-.C'D &~ 6"()9":#	5 	5 //7IJJJMM*%%%  +& *= =#
 "33E;RSSNMM.)))$% 	G**!5!5"0#K0$($%GH":. *!),1B B# %)$<$<UD[$\$\!MM/000(4466771<< 5 A A C CA F#$ 	T(111*"6%m4"()9":!'!8!),$*+=$>#)*;#<#)*;#<&,-A&B)!3. .M !% 0 0 F FK )55500FF$:,	/ / e5F G GHHHi  T 22K=BT3;::z7T T T  	X#'$%:; *	? ?# MM$66u>UVVWWW &222r;   N)r   )r   r$   r   r   )r   r!   r   r   r   r   )T)r   r!   r3   r2   r   r?   r   r   )r   r!   r   r&   r   r   )r   r!   r  r  r   r  )r   r!   r!  r"  r%   rU   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   rU  )r   r!   r!  r"  r%   rB   r   r   )r   r!   r%   rB   r   rc  )r   r!   r!  r|  r%   rJ   r   r   )r   r!   r!  r"  r%   rX   r   r   )r   r!   r/   ri   r   r  )r   r!   r%   r_   r   r   )r   r!   r%   re   r   r   )r   r!   r%   r   r   r  )r   r!   r%   rt   r   r  )r   r!   r%   rx   r   r  )r   r!   r!  r  r%   r   r   r   )6r5   r6   r7   r   r   r   r   r   r   r   r   r   staticmethodr
  r  r   r   r   r   r?   r	   UserFeatureOptionr2   r   listr   r   r   r   r   r/  r0  r1  r   r<  r   rT  IncludeDirsr   r   r   rb  r   r   r   r   r  r  r  r  r  r  r   r   r:   r;   r<   r   r      s       O""[[[    $)% )% )% )%VZ Z Z Z Z> M M M \M8# # # #J Z))\	*tW%>?OOO	(C000	',,T377;;;223CDD	! 	! 	!	     Y *)$ Z&11\	&3/**	dT30BED[]b]p$q  @E  F  F  F		
 	
 	
 		, 1 1$ < <dTVWWW	(C000 	- 	- 	-  Y 21	-A A A AF Z**\	dT30BED[]b]p$q  @E  F  F  F		
 	
 	
 		, 1 1$ < <dTVWWW	(C000	"D%wGGG - - -  Y +*-O O O O" Z (++\	dT30BED[]b]p$qrr		
 	
 	
 		dT30BED[]b]p$qrr		
 	
 	
 		, 1 1$ < <dTVWWW	(C000	'):):4%BSUXAY)Z)Zdhrtuuu	."3"3D::W"X"Xbfprsss	"D%wGGG	-uGDDD' *- - -+  Y ,+.-2 2 2 2j \	)..tdC[AA4Y[hpqqq	, 1 1$s D Dd\^___	*//tS%BT6UVV`dnpqqq	-!2!24$UEW9X!Y!Ycgqsttt	-!2!24$UEW9X!Y!Ycgqsttt	'):):4)E)Et]_goppp	'):):4)E)Et]_goppp	'):):4)E)Et]_goppp	(C000	'):):4%BSUXAY)Z)Zdhrtuuu	."3"3D::W"X"Xbfprsss	"D%wGGG	#T5HHH  ,5 ,5 ,5!  ,5\ Z)844\!	$dE:::	(C000	+Xh???	'):):4)E)Et]_goppp	*//sD%BTV[Vmot  pC  7D  E  E  OS  ]_  	`  	`  	`	 	>C >C >C	 	 Y 54>C@   (   *: : : :x
 
 
 
:- - - -^7
 7
 7
 7
r Z''^OS))\	)S)444	-!2!24$UEW9X!Y!Ycgqsttt	"$5$5dT3HZ<[$\$\fjtvwww	/#4#4TD#uGY;Z#[#[eisuvvv	$c8<<<	)..tc;;RHHH	$&7&7s&D&DbQQQ	#%6%6tc%C%CRPPP	#%6%6tc%C%CRPPP	&e<<< 		-!2!24$UEW9X!Y!Ycgqsttt	'):):4%BSUXAY)Z)Zdhrtuuu	+sB///	*c2...	'):):4)E)Et]_```	'):):4)E)Et]_```	/1B1B41M1MW[eghhh	46G6Gc6R6R\`jlmmm	#T4888	$dD999	*dD111	."3"3D::W"X"Xbfprsss	(C000	"D%888G$ $JW3 W3 W3K$ $ *) ('NW3 W3 W3r;   r   )r   r   r   r   )K
__future__r   r   r  typingr   xml.etree.ElementTreeetreer  r   r  r   r   r   r   r	   r
   rG   r   r   r   r   mesonlibr   r   r   r   r   r   r   interpreter.type_checkingr   r   r   interpreterbaser   r   r   r   r   r   r   programsr    TYPE_CHECKINGr!   dependencies.qtr"   r#   r$   r%   r&   r'   typing_extensionsr(   Unionr   r)   r+   r>   rB   rJ   ExtractRequiredrU   rX   r_   re   rt   rx   r   r   r   _MODULE_NAME_PUNCTr  r   r:   r;   r<   <module>r'     s  
 # " " " " " 				      " " " " " " " " " 				 0 0 0 0 0 0 0 0                   d d d d d d d d d d d d R R R R R R R R R R R R R R 0 0 0 0 0 0 L L L L L L L L L L C  C  C  C  C  C  C  C  C  C  C  C  C  C  C  C  C  C 1 1 1 1 1 1? [JJJJJJJJ))))))$$$$$$''''''******))))))w46GGH++++++           9       I       9    c c c c c. c c c
o o o o oI o o o    y       )        y   % % % % %I % % %    y       )   :    7 )1CM_gyN3 N3 N3 N3 N3? N3 N3 N3 N3 N3r;   