+
    UBiBu                      a  0 t $ ^ RIHt  ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RI	H
t
Ht ^ RIt^ RIt^RIHtHtHtHtHt ^RIHtHtHtHtHt ^RIHt ^RIHt ^R	IH t  ]PB                  '       d   ^ RI"t"^R
I#H$t$  ! R R]PJ                  4      t&R R lt'R R lt(R R lt) ! R R4      t*RUR R llt+R R lt,R R lt-R R lt.R R lt/R R  lt0R! R" lt1R# R$ lt2R% R& lt3RVR' R( llt4R) R* lt5R+ R, lt6R- R. lt7R/ R0 lt8R1 R2 lt9R3 R4 lt:R5 R6 lt;R7 R8 lt<R9 R: lt=R; R< lt>R= R> lt?R? R@ lt@RVRA RB lltARVRC RD lltBRVRE RF lltCRG RH ltD. tERI]FRJ&   RK RL ltGRM RN ltHRO RP ltIRQ RR ltJRWRS RT lltKR# )X    )annotations)redirect_stdoutN)PathPurePath)buildenvironmentmesonliboptionscoredata)IntrospectionInterpreterAstConditionLevelAstIDGeneratorAstIndentationGeneratorAstJSONPrinter)backends)UnknownValue)	OptionKey)
Dependencyc                  "    ] tR t^!tR R ltRtR# )IntrospectionEncoderc                    V ^8  d   QhRRRR/# )   objT.Anyreturn )formats   "6/usr/lib/python3.14/site-packages/mesonbuild/mintro.py__annotate__!IntrospectionEncoder.__annotate__"   s     3 35 3U 3    c                	p    \        V\        4      '       d   R # \        P                  P	                  W4      # )unknown)
isinstancer   jsonJSONEncoderdefault)selfr   s   &&r   r'   IntrospectionEncoder.default"   s)    c<((''22r!   r   N)__name__
__module____qualname____firstlineno__r'   __static_attributes__r   r!   r   r   r   !   s    3 3r!   r   c                    V ^8  d   QhRRRR/# )r   info_dirstrr   r   )r   s   "r   r   r   '   s     5 5# 5# 5r!   c                B    \         P                  P                  V R 4      # )meson-info.jsonospathjoin)r0   s   &r   get_meson_info_filer8   '   s    77<<"344r!   c                   V ^8  d   QhRR/# )r   r   r1   r   )r   s   "r   r   r   *   s       r!   c                     R # )z1.0.0r   r   r!   r   get_meson_introspection_versionr;   *   s    r!   c                   V ^8  d   QhRR/# )r   r   T.List[str]r   )r   s   "r   r   r   -   s      + r!   c                 
    R R.# )z>=1.0z<2.0r   r   r!   r   (get_meson_introspection_required_versionr?   -   s    Vr!   c                  &    ] tR t^0tRR R lltRtR# )IntroCommandNc               (    V ^8  d   QhRRRRRRRR/# )	r   descr1   funcz/T.Optional[T.Callable[[], T.Union[dict, list]]]no_bdzGT.Optional[T.Callable[[IntrospectionInterpreter], T.Union[dict, list]]]r   Noner   )r   s   "r   r   IntroCommand.__annotate__1   s3      F ` lpr!   c                	:    VR ,           V n         W n        W0n        R# ).NrC   rD   rE   )r(   rC   rD   rE   s   &&&&r   __init__IntroCommand.__init__1   s     3J		
r!   rJ   )NN)r*   r+   r,   r-   rK   r.   r   r!   r   rA   rA   0   s     r!   rA   c               (    V ^8  d   QhRRRRRRRR/# )	r   r   zT.Optional[cdata.CoreData]	builddatazT.Optional[build.Build]backendzT.Optional[backends.Backend]r   zT.Mapping[str, IntroCommand]r   )r   s   "r   r   r   9   s,      ,F -D+GSor!   c                  a aaaaa S'       dX   S'       dP   SP                  SP                  4       4      oSP                  SP                  4       4      oSP                  4       oMR ;o;oo\        P
                  ! R\        R\        R7      3R\        RV3R lR7      3R\        R	V 3R
 l\        R7      3R\        RV3R lR7      3R\        RV 3R lR7      3R\        RVV 3R l\        R7      3R\        R\        R7      3R\        RV3R lR7      3R\        RV3R lR7      3R\        RV3R lR7      3R \        R!V3R" l\        R7      3R#\        R$VVV3R% l\        R7      3R&\        R'V3R( lR7      3.4      # ))NastzDump the AST of the meson file)rE   
benchmarkszList all benchmarksc                    < \        S 4      # N)list_benchmarks)benchmarkdatas   r   <lambda>/get_meson_introspection_types.<locals>.<lambda>F   s    XeHfr!   )rD   buildoptionszList all build optionsc                    < \        S 4      # rT   )list_buildoptionsr   s   r   rW   rX   G   s    M^_gMhr!   )rD   rE   buildsystem_filesz(List files that make up the build systemc                    < \        S 4      # rT   )list_buildsystem_filesrN   s   r   rW   rX   H   s    dz  |E  eFr!   	compilerszList used compilersc                    < \        S 4      # rT   )list_compilersr\   s   r   rW   rX   I   s    ~V^G_r!   dependencieszList external dependenciesc                    < \        SS 4      # rT   )	list_deps)rO   r   s   r   rW   rX   J   s    QZ[celQmr!   scan_dependenciesz2Scan for dependencies used in the meson.build file	installedz(List all installed files and directoriesc                    < \        S 4      # rT   )list_installedinstalldatas   r   rW   rX   L   s    \jkv\wr!   install_planz;List all installed files and directories with their detailsc                    < \        S 4      # rT   )list_install_planrk   s   r   rW   rX   M   s      sD  EP  sQr!   machinesz2Information about host, build, and target machinesc                    < \        S 4      # rT   )list_machinesr`   s   r   rW   rX   N   s    ers|e}r!   projectinfozInformation about projectsc                    < \        S 4      # rT   )list_projinfor`   s   r   rW   rX   O   s    P]^gPhr!   targetszList top level targetsc                    < \        SSS 4      # rT   )list_targets)rO   rN   rl   s   r   rW   rX   P   s    U^`kmtHur!   testszList all unit testsc                    < \        S 4      # rT   )
list_teststestdatas   r   rW   rX   Q   s
    :hCWr!   )create_test_serialisationget_benchmarks	get_testscreate_install_datacollectionsOrderedDictrA   dump_astlist_buildoptions_from_sourcelist_deps_from_sourcelist_projinfo_from_sourcelist_targets_from_source)r   rN   rO   rV   rl   r}   s   fff@@@r   get_meson_introspection_typesr   9   s    999):R:R:TU44Y5H5H5JK1131555; ""	=XNO	|$9@fgh	&>Eh  qN  O  	P	l+U  ]F  G  	H	l#8?_`a	&BIm  vK  L  	M	l+_g|}~	l#MTwxy	&c  kQ  R  	S	\"V]}~	%AHh  qJ  K  	L	L!9@u  ~V  W  	X	,4;WXY$  r!   c                    V ^8  d   QhRRRR/# )r   parserzargparse.ArgumentParserr   rF   r   )r   s   "r   r   r   V   s     X X1 Xd Xr!   c           	        \        4       pVP                  4        F>  w  r#R VP                  RR4      ,           pV P                  VRVRVP                  R7       K@  	  V P                  R\        \        P                  4      RRR	R
7       V P                  RRRRRRR7       V P                  RRRRRRR7       V P                  RRRRRRR7       V P                  RRRRR7       R# )z--_-
store_trueF)actiondestr'   helpz	--backendrO   ninjaz8The backend to use for the --buildoptions introspection.)choicesr   r'   r   z-az--allallz Print all available information.z-iz--indentindentzEnable pretty printed JSON.z-fz--force-object-output
force_dictz]Always use the new JSON format for multiple entries (even for 0 and 1 introspection commands)builddir?rI   zThe build directory)nargsr'   r   N)r   itemsreplaceadd_argumentrC   sortedr
   backendlist)r   intro_typeskeyvalflags   &    r   add_argumentsr   V   s    /1K%%'ckk#s++DCUXU]U]^ ( VG4G4G-HybiW  Y
glPU?  A
jHV[:  <
5lQ]gl|  ~

#sAVWr!   c                    V ^8  d   QhRRRR/# )r   intrr   r   T.Dict[str, T.Any]r   )r   s   "r   r   r   f   s      + 0B r!   c                d    \        4       pV P                  P                  V4       VP                  # rT   )r   rQ   acceptresult)r   printers   & r   r   r   f   s$    GHHOOG>>r!   c                    V ^8  d   QhRRRR/# )r   rl   backends.InstallDatar   zT.Dict[str, str]r   )r   s   "r   r   r   k   s       4 9I r!   c                *   / pV Ee   V P                    F  p\        P                  P                  V P                  VP
                  \        P                  P                  VP                  4      4      V\        P                  P                  V P                  VP                  4      &   K  	  V P                   FC  p\        P                  P                  V P                  VP                  4      WP                  &   KE  	  V P                   Fk  p\        P                  P                  V P                  VP                  \        P                  P                  VP                  4      4      WP                  &   Km  	  V P                   FC  p\        P                  P                  V P                  VP                  4      WP                  &   KE  	  V P                   FC  p\        P                  P                  V P                  VP                  4      WP                  &   KE  	  V P                   Fc  p\        P                  P                  VP                  4      p\        P                  P                  V P                  VP                  V4      W&   Ke  	  V# rT   )rv   r5   r6   r7   prefixoutdirbasenamefname	build_dirdatainstall_pathheadersmaninstall_subdirssymlinksname)rl   restisr   s   &     r   rj   rj   k   s   
C$$A[//277;K;KAGG;TU [22AGG<= % !!A'',,{'9'91>>JCK "$$A'',,{'9'91>>277K[K[\]\b\bKcdCK %A'',,{'9'91>>JCK !,,A'',,{'9'91>>JCK -%%Aww''/HGGLL););Q^^XVCM & Jr!   c                    V ^8  d   QhRRRR/# )r   rl   r   r   zFT.Dict[str, T.Dict[str, T.Dict[str, T.Union[str, T.List[str], None]]]]r   )r   s   "r   r   r   ~   s     ( (#7 (  =C (r!   c                >   R V P                    Uu/ uF  p\        P                  P                  V P                  VP
                  4      RVP                  RVP                  ;'       g    RRVP                  ;'       g    RRVP                  ;'       g    RR\        R VP                   4       4      /bK  	  up/pRV P                  R	V P                  R
V P                  RV P                  /P!                  4        EF  w  r4V EF
  pVP"                  ;'       g    TpVP$                  pVR
8X  dH   \        P                  P                  V\        P                  P'                  VP                  4      4      pRTRVP                  ;'       g    RRVP                  ;'       g    R/pVR8X  d7   VP(                  ;'       g    . . 3w  r\+        V
4      VR&   \+        V	4      VR&   VP-                  V/ 4      W&&   WV,          VP                  &   EK  	  EK  	  V# u upi )rv   destinationtagN
subprojectinstall_rpathbuild_rpathsc              3  B   "   T F  qP                  R 4      x  K  	  R# 5i)utf8N)decode).0xs   & r   	<genexpr>$list_install_plan.<locals>.<genexpr>   s     &]A\Axx'7'7A\s   r   r   r   r   exclude_dirsexclude_files)rv   r5   r6   r7   r   r   out_namer   r   r   r   rpath_dirs_to_remover   r   r   r   r   	data_typeinstall_path_namer   excludelistget)rl   targetplanr   	data_listr   r   r   entryr   r   s   &          r   ro   ro   ~   s    &--	
 . GGLL..=vvzz))Tf//774!5!5!=!=&]A\A\&] ]@  .	
TD 	  {;&&;66	
 eg D--#I $ 6 6i$&GGLL1BBGGDTDTUYU^U^D_$`! 0txx''4doo55E ''.2ll.F.Fr2h+(,\(:n%)-m)<o&"hhy"5DO).ODII&% 6 KM	
s   AH(H>H$Hc               $    V ^8  d   QhRRRRRR/# )r   r   cdata.CoreDatasubdirr1   r   r   )r   s   "r   r   r      s!      ^ S S r!   c                \    V P                   P                  \        R 4      4      R8X  d   R# V# )layoutflatz	meson-out)optstoreget_value_forr   )r   r   s   &&r   get_target_dirr      s(    &&y':;vEr!   c                    V ^8  d   QhRRRR/# )r   r   r   r   zT.List[T.Dict[str, object]]r   )r   s   "r   r   r      s      #; @[ r!   c                   . p\        V P                  4      P                  4       pV P                   EF/  pV P	                  W#P
                  VP                  4      pT P	                  Y#P
                  VP                  '       d   VP                  .M. 4      p\        V P                  VP
                  4      pTR VP                  RVP                  RVP                  RVP                  RVP                   Uu. uF"  p\        P                   P#                  Wg4      NK$  	  upRVP$                  RRRR	VP&                  R
. R. RVR. /.R. RVRRRVP(                  /.,          pEK2  	  V# u upi )r   idtype
defined_infilenamebuild_by_defaulttarget_sourceslanguager#   machinecompiler
parameterssourcesgenerated_sourcesdependsextra_filesr   Nrh   )r   source_rootresolverv   nodes_to_pretty_filelistr   source_nodesr   r   r   r   r   typenamer   outputsr5   r6   r7   r   r   rh   )r   tlistroot_dirr   r   r   r   r   s   &       r   r   r      sE   )+ED$$%--/H\\//((ANNS33Hhh[\[h[h[hnpqqxx8AFF!$$AJJ!,,!))D)Qf0)D 2 2I199Bb7#R   r;$%
  	 6 L! Es   7(E(c               (    V ^8  d   QhRRRRRRRR/# )	r   rN   build.Buildrl   r   rO   backends.Backendr   zT.List[T.Any]r   )r   s   "r   r   r      s+     5 5K 56J 5Ue 5jw 5r!   c                   . pV P                   P                  4       pV P                   P                  4       p/ pVP                   FY  p\        P
                  P                  VP                  4      p\        \        VP                  VP                  V4      4      .Wh&   K[  	  VP                   F  p	\        P
                  P                  V	P                  4      p V\        P
                  P                  V	P                  4      ,          Wh&   Wh,          P                  \        \        VP                  V	P                   V4      4      4       K  	  V P%                  4       P'                  4        EF  w  r\)        V\*        P,                  4      '       g   \/        R 4      h\1        V P                   P2                  VP4                  4      pRVP7                  4       RT
RVP9                  4       R\        P
                  P;                  \        P
                  P=                  W[P4                  \         P>                  4      4      RVPA                  4        Uu. uF#  p\        P
                  P=                  WLV4      NK%  	  upRVPB                  RVPE                  W4      RVPF                   Uu. uFT  p\        P
                  P;                  \        P
                  P=                  W]P4                  VP                  4      4      NKV  	  upR	VPH                  ;'       g    R
R\K        VR. 4       Uu. uF  qP                  NK  	  upR\K        VR. 4       Uu. uF  qPM                  4       NK  	  up/p\K        VRR
4      pVe   VPO                  4       VR&   \K        VRR
4      pVe   VVR&   V'       dk   VPQ                  4       '       dU   RVR&   VPA                  4        Uu. uF  qPS                  VR
.4      NK  	  ppV UUu. uF  pV F  qNK  	  K  	  uppVR&   MRVR&   VP                  V4       EK  	  V#   \"         d     EK  i ; iu upi u upi u upi u upi u upi u uppi )zxThe target object in `builddata.get_targets()` is not of type `build.Target`. Please file a bug with this error message.r   r   r   r   r   r   r   r   r   Nrd   external_depsr   vs_module_defswin_subsystemTrh   install_filenameF)*r   get_build_dirget_source_dirrv   r5   r6   r   r   r1   r   r   r   r   r   r   appendr   KeyErrorget_targetsr   r$   r   TargetRuntimeErrorr   r   r   get_basenameget_typenamenormpathr7   build_filenameget_outputsr   get_introspection_datar   r   getattrget_idrelative_nameshould_installr   )rN   rl   rO   r   r   src_dirinstall_lookuptabler   r   r   idnamer   r   r   dlibr   r   r  ifnsublists   &&&                  r   rx   rx      s   E%%335I##224G   77##AGG,),Xk6H6H!((T\-])^(_% ! !! 77##AFF+	,?@P@PQRQYQY@Z,[))00Xk>P>PRSR`R`bj5k1lm " &11399;&%,,//   Z  [  [	 5 5 > >NF'')&F'')"''**277<<P[PjPj+klVEWEWEYZEYi;EYZ 7 7g<<VL`f`r`rs`r[\BGG,,RWW\\'88QWW-UV`rs&++33tWV_b-QR-QVV-QRPR0ST0S

0ST
 !)94@%"0">">"@A>$!.Ao60022!AkN?E?Q?Q?ST?S!**1tf5?SCT69$Kc77aQ7Qc$KA !"AkNQA <B LI  		 [ tRT U$Ks8   A1P7)Q
*AQ$,Q,Q0Q?Q#7QQc                    V ^8  d   QhRRRR/# )r   r   r   r   9T.List[T.Dict[str, T.Union[str, bool, int, T.List[str]]]]r   )r   s   "r   r   r     s     9 9(@ 9E~ 9r!   c                    V P                   R ,           Uu. uF  qR,          NK  	  pp\        V P                  V4      # u upi )subprojectsr   )project_datar[   r   )r   r   r  s   &  r   r   r     s>    &*&7&7&FG&FV99&FKGT]]K88 Hs   ?c               $    V ^8  d   QhRRRRRR/# )r   r   r   r  zT.Optional[T.List[str]]r   r  r   )r   s   "r   r   r   
  s,     @ @ @=T @  aZ @r!   c           	     "  a a . oT;'       g    . p\        \        P                  4      p\        R 4      \        R4      0p/ p/ p/ pS P                  P                  4        Fu  w  rxWr9   d   WV&   K  Ws9   d   WV&   K  S P                  P                  V4      '       g   K@  WV&   VP                  '       d   KX  V F  p	WVP                  V	R7      &   K  	  Kw  	  R V V3R llp
V
! VR4       T
! S P                  P                  4        UUu/ uF*  w  rxS P                  P                  V4      '       g   K(  WxbK,  	  uppR4       T
! S P                  P                  4        UUu/ uF*  w  rxS P                  P                  V4      '       g   K(  WxbK,  	  uppR4       T
! \        S P                  P                  4       R R	7       UUu/ uF*  w  rxS P                  P                  V4      '       g   K(  WxbK,  	  uppR
4       V
! VR4       R R lpT
! S P                  P                  4        UUu/ uF1  w  rxS P                  P                  V4      '       g   K(  V! V4      VbK3  	  uppR4       V
! VR4       S# u uppi u uppi u uppi u uppi )	errorlogsstdsplitr   c               $    V ^8  d   QhRRRRRR/# )r   optsz@T.Union[options.MutableKeyedOptionDictType, options.OptionStore]sectionr1   r   rF   r   )r   s   "r   r   'list_buildoptions.<locals>.__annotate__   s$     $ $W $be $jn $r!   c                `  < \        V P                  4       4       EF  w  r#R \        V4      RVP                  RTRSP                  P                  V4      '       d   VP                  P                  4       MR/p\        V\        P                  4      '       d   RpM\        V\        P                  4      '       d   RpM\        V\        P                  4      '       d   VP                  4       VR&   RpM\        V\        P                  \        P                  34      '       d   R	pM]\        V\        P                   4      '       d    R
pVP                  4       pV'       d   WdR&   M\#        R\%        \'        V4      4      4      hWTR&   VP(                  VR&   SP+                  V4       EK  	  R# )r   valuer'  r   anystringbooleanr   combointegerarrayzUnknown option type: r   descriptionN)r   r   r1   r*  r   is_per_machine_optionr   get_lower_case_namer$   r
   UserStringOptionUserBooleanOptionUserComboOptionprintable_choicesUserIntegerOptionUserUmaskOptionUserStringArrayOptionr	  reprr   r1  r  )	r&  r'  r   optoptdicttypestrcr   optlists	   &&     r   add_keys#list_buildoptions.<locals>.add_keys   sJ   tzz|,HCs3x#))Y xGXGXGnGnorGsGs#++"A"A"Cy~@G#w7788"C!:!:;;#C!8!899%(%:%:%<	"!C'";";W=T=T!UVV#C!>!>??!))+)*I&"#:DcOLL%FO%(__GM"NN7#+ -r!   corerO   basec                (    V ^ ,          P                   # )r   )r   )r   s   &r   rW   #list_buildoptions.<locals>.<lambda><  s    !A$,,r!   r   r   	directoryc                    V ^8  d   QhRRRR/# )r   r   r   r   r   )r   s   "r   r   r(  A  s      Y 9 r!   c                l    V P                   f   Q hV P                   R8X  d   V P                  R R7      # V # )N r$  )r   evolverG  s   &r   project_option_key_to_introname:list_buildoptions.<locals>.project_option_key_to_intronameA  s4    ~~)))>>R:::..
r!   usertest)setr
   BUILTIN_DIR_OPTIONSr   r   r   is_builtin_optionyieldingrL  is_backend_optionis_base_optionr   is_compiler_optionis_project_option)r   r  dir_option_namestest_option_namesdir_optionstest_optionscore_optionskvr   rA  rM  r@  s   f&          @r   r[   r[   
  sY   IKG##K7667";/":.0 79K79L79L!!'') N#O0033O:::$A;<Q!78 % *$ $0 \6"x00668c8tqH<M<M<_<_`a<bdad8cenox00668`8tqH<M<M<\<\]^<_dad8`bhi !2!2!8!8!:@VW  	DW$![c[l[l[[  AB  \CW  	D [+& "++113_3$!x7H7H7Z7Z[\7] 4-a0!33_`fh\6"N# d` 	D_s0   %I9
5I9
#%I?
I?
%J
1J
.%J
J
c                    V ^8  d   QhRRRR/# )r   r  r1   r   r=   r   )r   s   "r   r   r   L  s        r!   c                   a a \        0 Rm4      p. p\        P                  ! S 4       F1  w  or4VP                  VV 3R lVP	                  V4       4       4       K3  	  V# )meson.buildc              3     <"   T FC  p\         P                  P                  \         P                  P                  SV4      S4      x  KE  	  R # 5irT   )r5   r6   relpathr7   )r   frootr  s   & r   r   .find_buildsystem_files_list.<locals>.<genexpr>Q  s:      B!@A T1(=wGG!@s   AA>   rb  meson.optionsmeson_options.txt)	frozensetr5   walkextendintersection)r  build_filesfilelistr   filesrf  s   f    @r   find_buildsystem_files_listrq  L  sX    QRKH'''*a B!,!9!9%!@B 	B + Or!   c                    V ^8  d   QhRRRR/# )r   rN   r   r   r=   r   )r   s   "r   r   r   U  s      k k r!   c                    V P                   P                  4       pV P                   Uu. uF  p\        W4      P	                  4       NK  	  ppV# u upi rT   )r   r  	def_filesr   as_posix)rN   r  r   ro  s   &   r   r_   r_   U  sK    ##224G9B9L9LM9LA$--/9LHMO Ns   "Ac                    V ^8  d   QhRRRR/# )r   r   r   r   z*T.Dict[str, T.Dict[str, T.Dict[str, str]]]r   )r   s   "r   r   r   Z  s      ^ 0Z r!   c                |   / pR	 F  p/ W&   \        V P                  V4      P                  4        F  w  r4RVP                  4       RVP	                  4       RVP                  4       RVP                  RVP                  4       RVP                  RVP                  RVP                  4       /W,          V&   K  	  K  	  V# )
hostr   exelistlinker_exelistfile_suffixesdefault_suffixversionfull_version	linker_id)rx  r   )r  ra   r   r  get_exelistget_linker_exelistr{  get_default_suffixr}  r~  get_linker_id)r   ra   r   r   r   s   &    r   rc   rc   Z  s    <>I$	")(*<*<g"F"L"L"NHhoo'8//1 ("="="?!7!7 ("="="?8++ 5 5X335	,Ix( #O % r!   c                    V ^8  d   QhRRRR/# )r   r   r   r   zBT.List[T.Dict[str, T.Union[str, bool, T.List[str], UnknownValue]]]r   )r   s   "r   r   r   k  s     
 
 8 
= 
r!   c                    . pV P                    FI  pVR VP                  RVP                  RVP                  RVP                  RVP
                  /.,          pKK  	  V# )r   requiredr}  has_fallbackconditional)rd   r   r  r}  r  r  )r   r   r   s   &  r   r   r   k  s_    QSFAFF

qyyANN1==
  	  Mr!   c               $    V ^8  d   QhRRRRRR/# )r   r   r   rO   r   r   z.T.List[T.Dict[str, T.Union[str, T.List[str]]]]r   )r   s   "r   r   r   w  s#     !! !! !!1A !!Ft !!r!   c                  aa / pR  VV3R lloR VV3R llpV P                   P                  P                  4        F/  pVP                  4       '       g   K  V! V4      W$P                  &   K1  	  \        VP                  4       4      # )c                    V ^8  d   QhRRRR/# )r   src_filezMT.Union[mesonlib.FileOrString, build.GeneratedTypes, build.StructuredSources]r   r=   r   )r   s   "r   r   list_deps.<locals>.__annotate__z  s      	Q 	Qk 	Qp{ 	Qr!   c                T  < \        V \        4      '       d   V .# \        V \        P                  4      '       d(   V P	                  SP
                  SP                  4      .# \        V \        P                  \        P                  \        P                  34      '       d   V P                  4       # \        V \        P                  4      '       d1   V P                  4        UUu. uF  pS! V4       F  q"NK  	  K  	  upp# \        P                  ! R \        V 4       R24      hu uppi )zInvalid file type rI   )r$   r1   r	   Fileabsolute_path
source_dirr   r   CustomTargetCustomTargetIndexGeneratedListr  StructuredSourcesas_listMesonBugExceptionr   )r  r   re  _src_to_strrO   s   &  r   r  list_deps.<locals>._src_to_strz  s    h$$:h..**7+=+=w?P?PQRRh!3!3U5L5LeNaNa bcc''))h 7 788'//1J1!;q>aA>A1JJ((+=d8n=MQ)OPP Ks   $D$c                    V ^8  d   QhRRRR/# )r   r  r   r   r   r   )r   s   "r   r   r    s     
 
* 
); 
r!   c                  < R V P                   RV P                  RV P                  4       RV P                  4       RV P	                  4       RV P                  4        UUu. uF0  qP                  SP                  SP                  4       F  q"NK  	  K2  	  uppRV P                  4        UUu. uF  pS! V4       F  qDNK  	  K  	  uppRV P                  4        UUu. uF  pS! V4       F  qDNK  	  K  	  uppRV P                   Uu. uF  qUP                   NK  	  upR	\        V R
. 4       Uu. uF  qfP                  4       NK  	  upRV P                  /# u uppi u uppi u uppi u upi u upi )r   r   r}  compile_args	link_argsinclude_directoriesr   r   rd   r   	librariesmeson_variables)r   	type_nameget_versionget_compile_argsget_link_argsget_include_dirsto_string_listr  r   get_sourcesget_extra_filesext_depsr  r  r  )	r  idirsr   r   re  er  r  rO   s	   &      r   _create_result!list_deps.<locals>._create_result  sK   AFFAKKq}}A..0*!13E3E3G  $N3G%QeQefmfxfx  {B  {L  {L  RMAA  RMA3G  $N1==?K?aKNqN?Kq'8'8':S':!KPQNqANA':SQZZ8ZVVZ8;0KL0K

0KLq00
 	
 $NKS8Ls   6E+E E $E&&,E+*)depsrx  valuesfoundr   r   )r   rO   r   r  r  r  s   &f   @r   rf   rf   w  sk    BDF	Q 	Q
 
 ]]&&(7799+A.F66N )   r!   c                    V ^8  d   QhRRRR/# r   r}   "T.List[backends.TestSerialisation]r   ET.List[T.Dict[str, T.Union[str, int, T.List[str], T.Dict[str, str]]]]r   )r   s   "r   r   r     s       >   DI r!   c                   . pV  EFN  p/ p\        VP                  \        4      '       d   VP                  .pMVP                  pWBP                  ,           VR &   \        VP                  \
        P                  4      '       d    VP                  P                  / 4      VR&   MVP                  VR&   VP                  VR&   VP                  VR&   VP                  VR&   VP                  VR&   VP                  VR&   VP                  VR&   \        VP                  4      VR&   VP                  VR	&   VP                   VR
&   VP#                  V4       EKQ  	  V# )cmdenvr   workdirtimeoutsuiteis_parallelpriorityprotocolr   extra_paths)r$   r   r1   cmd_argsr  r	   EnvironmentVariablesget_envr   r  r  r  r  r  r  r   r  r  )r}   r   r   tor   s   &    r   get_test_listr    s   TVFLNaggs##WWIEGGEJJ&5	aeeX::;;b)BuIBuIVV6
		9		9gg7MM=:QZZ:		9MM=b) * Mr!   c                    V ^8  d   QhRRRR/# r  r   )r   s   "r   r   r     s      # #; #  AF #r!   c                    \        V 4      # rT   r  r|   s   &r   r{   r{     s    ""r!   c                    V ^8  d   QhRRRR/# )r   	benchdatar  r   r  r   )r   s   "r   r   r     s      $ $A $  GL $r!   c                    \        V 4      # rT   r  )r  s   &r   rU   rU     s    ##r!   c                    V ^8  d   QhRRRR/# )r   rN   r   r   z,T.Dict[str, T.Dict[str, T.Union[str, bool]]]r   )r   s   "r   r   r     s      [ -Y r!   c                   / pR F  p\        V P                  P                  V4      p\        P                  ! V4      W&   VP
                  W,          R&   VP                  4       W,          R&   VP                  4       W,          R&   K  	  V# )rx  	is_64_bit
exe_suffixobject_suffix)rx  r   r   )r  r   rp   dataclassesasdictr  get_exe_suffixget_object_suffix)rN   rp   mr   s   &   r   rr   rr     s~    =?H()//88!<!((1#*#4#4K $+$:$:$<L!'.'@'@'BO$ ) Or!   c                    V ^8  d   QhRRRR/# )r   rN   r   r   z@T.Dict[str, T.Union[str, T.List[str], T.List[T.Dict[str, str]]]]r   )r   s   "r   r   r     s      [ -m r!   c                   R V P                   RV P                  RV P                  V P                  ,          P                  RV P                  V P                  ,          P                   Uu. uF  q^,          P
                  NK  	  upRV P                  /p. pV P                  P                  4        F7  w  rERVR VRV P                  P                  V4      /pVP                  V4       K9  	  W2R&   V# u upi )r}  descriptive_namelicenselicense_filessubproject_dirr   r  )project_versionproject_namedep_manifestr  r  r   r  r  r   projectsr   r  )rN   re  r   r  r^  r_  r?  s   &      r   ru   ru     s    9,,I229)))*@*@AIIi.D.DYE[E[.\.j.jk.jA$**.jk)22PF K%%++-Aq	 2 2 6 6q 9

 	1 . (=M ls   *C2c                    V ^8  d   QhRRRR/# )r   r   r   r   z3T.Dict[str, T.Union[str, T.List[T.Dict[str, str]]]]r   )r   s   "r   r   r     s      $< At r!   c                R   V P                   p\        V4      pV Uu. uF"  p\        P                  P	                  V4      NK$  	  ppV P
                  R ,           F  p\        P                  P                  V P                  VR,          4      pV Uu. uF  q3P                  V4      '       g   K  VNK  	  upVR&   V Uu. uF  q3P                  V4      '       d   K  VNK  	  ppK  	  W P
                  R&   V P                  V P
                  R&   V P
                  # u upi u upi u upi )r  r   r]   r  )	r   rq  r5   r6   r  r  r7   r  
startswith)r   	sourcedirrp  r   r   basedirs   &     r   r   r     s      I'	2E*/0%QRWWa %E0}--'',,t22AfI>-2!LUll76K!!U!L
!?Eqg)>E? .
 .3)**.*=*=D&' 1 "M?s   (DD.D>D$D$c               (    V ^8  d   QhRRRRRRRR/# )	r   r
   argparse.Namespaceresults6T.Sequence[T.Tuple[str, T.Union[dict, T.List[T.Any]]]]r   zT.Optional[int]r   intr   )r   s   "r   r   r     s4      - 8n   yH   MP r!   c                   V'       g    V P                   '       g   \        R 4       ^# \        V4      ^8X  dI   V P                   '       g7   \        \        P                  ! V^ ,          ^,          V\
        R7      4       ^ # / pV F  pV^,          W4^ ,          &   K  	  \        \        P                  ! W2\
        R7      4       ^ # )zNo command specified)r   cls)r   printlenr%   dumpsr   )r
   r  r   outr   s   &&&  r   print_resultsr    s    7---$%	W	7#5#5#5djjAv;OPQ 	 A!C!I djj1EFGr!   c                    V ^8  d   QhRRRR/# )r   r   T.Optional[str]r   r1   r   )r   s   "r   r   r     s      / S r!   c                P    R pV e    \         P                  P                  W4      pV# )z
meson-infor4   )r   infodirs   & r   get_infodirr    s$    G'',,x1Nr!   c               $    V ^8  d   QhRRRRRR/# )r   r  r1   kindr  r   r   )r   s   "r   r   r     s&     Q Q3 Qo Q Qr!   c                f    \         P                  P                  T V'       g   R 4      # RV R24      # )r3   intro-.jsonr4   )r  r  s   &&r   get_info_filer    s9    77<<15)Q Q=CD6;OQ Qr!   c               $    V ^8  d   QhRRRRRR/# )r   r  r1   r  r  r   r   r   )r   s   "r   r   r     s!      C  % r!   c                    \        \        W4      R R7      ;_uu_ 4       p\        P                  ! V4      uuRRR4       #   + '       g   i     R# ; i)utf-8encodingN)openr  r%   load)r  r  fps   && r   load_info_filer    s0    	mG*W	=	=yy} 
>	=	=	=s   A  A	c                    V ^8  d   QhRRRR/# )r   r
   r  r   r  r   )r   s   "r   r   r      s     :3 :3# :3 :3r!   c                   R p\        V P                  4      pV P                  e+   \        P                  P	                  V P                  V4      pV P
                  '       d   ^MRp. p\        4       p\        P                  P                  V P                  4      \        P                  8X  EdT   V P                  \        P                  8X  d   RM&V P                  R\        \        P                  4      )  p\        \        P                  4      ;_uu_ 4        \        P                  ! V P                   4      pVf   Q h\#        VRVP$                  \'        4       \)        4       \+        4       .R7      pVP-                  4        RRR4       VP/                  4        FW  w  rV P0                  '       g   \3        W	R4      '       d   V
P4                  '       g   K=  WIV
P5                  X4      3.,          pKY  	  \7        WV4      #  \9        V4      pVP;                  R/ 4      P;                  R/ 4      P;                  RR	4      p\G        4       pT FL  p\H        PJ                  ! Y4      '       d   K!  \A        RPC                  TRP	                  T4      4      4        ^# 	  TP/                  4        FT  w  rTPL                  '       g   K  T P0                  '       g   \3        YR4      '       g   K?   YN\9        Y.4      3.,          pKV  	  \7        YT4      #   + '       g   i     EL; i  \<         d~    \        P                  P?                  T4      '       d&   \        P                  P?                  T4      '       g   \A        R
4       M#\A        RPC                  \E        T4      4      4        ^# i ; i  \<         d)    \A        RPC                  \E        Y.4      4      4         ^# i ; i)zmeson-privateNrI   rK  )visitorsFintrospectionr}  fullz0.0.0zyCurrent directory is not a meson build directory.
Please specify a valid build dir or change the working directory to it.zIntrospection file {} does not exist.
It is also possible that the build directory was generated with an old
meson version. Please regenerate it in this case.zFIntrospection version {} is not supported. The required version is: {}z and z%Introspection file {} does not exist.)'r  r   r5   r6   r7   r   r   r   r   r  r  r   sysstderrr   get_backend_from_namerO   r   r   r   r   r   analyzer   r   r  rE   r  r  r   FileNotFoundErrorisdirr  r   r  r?   r	   version_comparerD   )r
   datadirr  r   r  r   r  rO   r   r   r   raw
intro_versvers_to_checkr   r_  s   &               r   runr     s1   G'**+G#'',,w//9...QdFBDG/1K 
ww(()[-G-GG"++{/I/IICwO_O_  aBbefq  gA  gA  cB  bB  PC	SZZ((44W__EG&&&+Ir7<<UcUeg~  hA  CT  CV  UW  XDLLN	 ) $))+HCKKKe(D(DSYYYciio.//G , Wv66W%WW_b155iDHHQXY
 =>M''
66 06*gll=&ABD   !!#vvv{{{77u#=#=	N76788G $ 622[ )((  ww}}W%%RWW]]7-C-C \ ]  FFLf][bMcFdf 4 ! 	9@@wAZ[\	s=   A+L=L$ ,N/L!	$/N,$N,9/N,+N,/.O"!O"r=   updated_introspection_filesc               $    V ^8  d   QhRRRRRR/# )r   
intro_infor  r0   r1   r   rF   r   )r   s   "r   r   r   >  s$     1 1!W 1cf 1ko 1r!   c           	        V  F  w  r#\         P                  P                  VR V R24      p\         P                  P                  VR4      p\        VRRR7      ;_uu_ 4       p\        P
                  ! W6^R7       VP                  4        RRR4       \         P                  ! WT4       \        P                  V4       K  	  R#   + '       g   i     LA; i)r  r  tmp_dump.jsonwr  r  )r   N)
r5   r6   r7   r  r%   dumpflushr   r  r  )r  r0   r  r   out_filetmp_filer  s   &&     r   write_intro_infor  >  s     
77<<F4&*>?77<</:(C'22bIIdq)HHJ 3 	

8&#**40 ! 32s   ")CCc               $    V ^8  d   QhRRRRRR/# )r   rN   r   rO   r   r   rF   r   )r   s   "r   r   r   H  s(     
A 
A; 
AAQ 
AVZ 
Ar!   c                "   V P                   P                  4       p\        W VR 7      p. pVP                  4        F2  w  rVVP                  '       g   K  WEVP	                  4       3.,          pK4  	  \        W@P                   P                  4       R# ))r   rN   rO   N)r   get_coredatar   r   rD   r  r0   )rN   rO   r   r   r  r   r   s   &&     r   generate_introspection_filer"  H  su    $$113H/`ghKEGJ%%'xxxSXXZ())
 (
 Z!6!6!?!?@r!   c               $    V ^8  d   QhRRRRRR/# )r   r   r   r0   r1   r   rF   r   )r   s   "r   r   r   T  s!     + +> +S +T +r!   c                8    R \        V 4      3.p\        W!4       R# )rY   N)r[   r  )r   r0   r  s   && r   update_build_optionsr%  T  s!    	*845J Z*r!   c                    V ^8  d   QhRRRR/# )r   r}  r1   r   zT.Dict[str, T.Union[str, int]]r   )r   s   "r   r   r   [  s      # *H r!   c                   V P                  R 4      pRT R\        \        V4      ^ 8  d
   V^ ,          M^ 4      R\        \        V4      ^8  d
   V^,          M^ 4      R\        \        V4      ^8  d   V^,          4      /# ^ 4      /# )rI   r  majorminorpatch)splitr  r  )r}  	vers_lists   & r   split_version_stringr-  [  s    c"IS^a%7Yq\Q?S^a%7Yq\Q?S^a%7Yq\?	  >??	 r!   c               (    V ^8  d   QhRRRRRRRR/# )	r   rN   r   errorsr   build_files_updatedboolr   rF   r   )r   s   "r   r   r   d  s*     '$ '$[ '$$ '$UY '$fj '$r!   c           
     p   V P                   P                  p\        V4      p\        4       p/ pVP	                  4        F,  w  rxVP
                  '       g   K  R RV R2RV\        9   /Wg&   K.  	  R\        \        P                  4      RRV P                   P                  4       RV P                   P                  4       RV/R	R
\        \        4       4      RV/RV/p	V'       d=   RV	R&   V U
u. uF&  p
\        V
\        4      '       d   T
M
\        V
4      NK(  	  up
V	R&   MRV	R&   \        P                   P#                  VR4      p\%        VRRR7      ;_uu_ 4       p\&        P(                  ! W4       VP+                  4        RRR4       \        P,                  ! W4       R# u up
i   + '       g   i     L-; i)filer  r  updatedmeson_versiondirectoriessourcer   infor  r}  informationr0  Terror
error_listFr  r  r  r  N)r   r0   r8   r   r   rD   r  r-  cdatar}  r  r  r;   r$   r1   r5   r6   r7   r  r%   r  r  r   )rN   r/  r0  r0   	info_filer   r  r   r_  	info_datar   r  r  s   &&&          r   write_meson_info_filer?  d  s   $$--H#H-I/1KJ!!#vvvfQCu%q77

 $ 	-emm<i++::<Y**88:H

 	+,K,MN:
 	2I !	'PV"WPV1
1c(:(:1A#FPV"W	,"	' ww||Ho6H	hg	.	."		) 

 
/ JJx# #X 
/	.s   +,F 'F%%F5	)NNNrT   )F)L__conditional_annotations__
__future__r   
contextlibr   r   r  r%   r5   pathlibr   r   r  typingTrK  r   r   r	   r
   r   r<  rQ   r   r   r   r   r   rO   r   interpreterbaser   r   TYPE_CHECKINGargparserd   r   r&   r   r8   r;   r?   rA   r   r   r   rj   ro   r   r   rx   r   r[   rq  r_   rc   r   rf   r  r{   rU   rr   ru   r   r  r  r  r  r  r  __annotations__r  r"  r%  r-  r?  )r@  s   @r   <module>rJ     s3   # "+ '    	 " 
  F F u u  ) ???(34++ 35 :X 
&(TB5n9@D
"
!!F2#$&Q:3x ,. [ -1
A+'$ '$r!   