+
    UBi                       R t ^ RIHt ^ RIHt ^ RIt^ RIt^ RIt]P                  '       d   ^ RI
Ht ^ RIHt ^RIHt ^RIHt ]P$                  ]P&                  ]]3,          ]P*                  ],          3,          t]P&                  ]]P$                  ]]P.                  ],          3,          3,          t ! R R	]4      t ! R
 R]4      t ! R R]P8                  R7      t ! R R]4      t]! RR7       ! R R4      4       tR# )z
Contains the strict minimum to run scripts.

When the backend needs to call back into Meson during compilation for running
scripts or wrapping commands, it is important to load as little python modules
as possible for performance reasons.
)annotations)	dataclassN)_Hash)Literal)BaseNode)programsc                  X   a  ] tR t^tRtRRRRRR/R V 3R lllt]R R	 l4       tR
tV ;t	# )MesonExceptionzExceptions thrown by MesonfileNlinenocolnoc               (    V ^8  d   QhRRRRRRRR/# )   argsobjectr
   T.Optional[str]r   T.Optional[int]r    )formats   ":/usr/lib/python3.14/site-packages/mesonbuild/utils/core.py__annotate__MesonException.__annotate__    s*      f O (8G    c               	H   < \         SV `  ! V!   Wn        W n        W0n        R # N)super__init__r
   r   r   )selfr
   r   r   r   	__class__s   &$$$*r   r   MesonException.__init__    s    $	
r   c               $    V ^8  d   QhRRRRRR/# )r   r   r   noder   returnr	   r   )r   s   "r   r   r   (   s&     T Tf TH T Tr   c          	     V    V ! VRVP                   RVP                  RVP                  / # )zCreate a MesonException with location data from a BaseNode

:param node: A BaseNode to set location data from
:return: A Meson Exception instance
r
   r   r   )filenamer   r   )clsr!   r   s   &$*r   	from_nodeMesonException.from_node'   s*     DSt}}ST[[S

SSr   )r   r
   r   )
__name__
__module____qualname____firstlineno____doc__r   classmethodr&   __static_attributes____classcell__r   s   @r   r	   r	      s=    $d +/JN  T Tr   r	   c                  6   a  ] tR t^0tRtRR V 3R llltRtV ;t# )MesonBugExceptionzIExceptions thrown when there is a clear Meson bug that should be reportedc               (    V ^8  d   QhRRRRRRRR/# )r   msgstrr
   r   r   r   r   r   )r   s   "r   r   MesonBugException.__annotate__3   s0     @ @C @ @(@8G@r   c                	:   < \         SV `  VR ,           W#VR7       R# )z1

    This is a Meson bug and should be reported!)r
   r   r   N)r   r   )r   r4   r
   r   r   r   s   &&&&&r   r   MesonBugException.__init__3   s#    TT" 	 	@r   r   )NNN)r(   r)   r*   r+   r,   r   r.   r/   r0   s   @r   r2   r2   0   s    S@ @ @r   r2   c                      ] tR t^8tRtRtR# )HoldableObjectz]Dummy base class for all objects that can be
held by an interpreter.baseobjects.ObjectHolder r   N)r(   r)   r*   r+   r,   r.   r   r   r   r:   r:   8   s    <r   r:   )	metaclassc                  L   ] tR t^<tRR]P
                  3R R lltR R ltR R ltR	 R
 lt	R R lt
R R lt]P
                  3R R lltR R lt]P
                  3R R llt]P
                  3R R llt]R R l4       t]R R l4       t]R R l4       tR R R lltRtR# )!EnvironmentVariablesNsetc               (    V ^8  d   QhRRRRRRRR/# )	r   valueszT.Optional[EnvInitValueType]init_methodz#Literal['set', 'prepend', 'append']	separatorr5   r"   Noner   )r   s   "r   r   !EnvironmentVariables.__annotate__=   s,     . .; .A.VY.ko.r   c                	   . V n         \        4       V n        \        4       V n        R V n        V'       dK   \        W4      pVP                  4        F)  w  rV\        V\        4      '       d   TMV.pV! WWV4       K+  	  R# R# )TN)	envvarsr>   varnames
unset_varscan_use_envgetattritems
isinstancelist)r   r@   rA   rB   	init_funcnamevaluevs   &&&&    r   r   EnvironmentVariables.__init__=   sj     MO$'E&)e2I%||~'t44E5'$9-  . r   c                   V ^8  d   QhRR/# )r   r"   r5   r   )r   s   "r   r   rD   K   s     F F# Fr   c                	f    R pVP                  V P                  P                  V P                  4      # )z
<{0}: {1}>)r   r   r(   rF   )r   repr_strs   & r   __repr__EnvironmentVariables.__repr__K   s&    t~~66EEr   c                    V ^8  d   QhRRRR/# )r   hasherr   r"   rC   r   )r   s   "r   r   rD   O   s        5  T  r   c                	(   V P                  / 4      p\        VP                  4       4       Fc  pVP                  \	        VR R7      4       VP                  R4       VP                  \	        W#,          R R7      4       VP                  R4       Ke  	  R# )zutf-8)encoding   ,   ;N)get_envsortedkeysupdatebytes)r   rY   myenvkeys   &&  r   hashEnvironmentVariables.hashO   se    R %**,'CMM%g67MM$MM%
W=>MM$	 (r   c                    V ^8  d   QhRRRR/# )r   rO   r5   r"   boolr   )r   s   "r   r   rD   W   s     % %S %T %r   c                	    WP                   9   # r   rG   r   rO   s   &&r   has_nameEnvironmentVariables.has_nameW   s    }}$$r   c                   V ^8  d   QhRR/# )r   r"   z
T.Set[str]r   )r   s   "r   r   rD   Z   s      : r   c                	    V P                   # r   rj   r   s   &r   	get_namesEnvironmentVariables.get_namesZ   s    }}r   c                    V ^8  d   QhRRRR/# )r   otherr=   r"   rC   r   )r   s   "r   r   rD   ]   s     5 5/ 5D 5r   c                	|   VP                    Fk  w  r#rEV P                  P                  V4       V P                   P                  W#WE34       W0P                  9   g   KP  V P                  P                  V4       Km  	  VP                  '       d/   R V n        V P                  P                  VP                  4       R# R# )FN)rF   rG   addappendrH   removerI   ra   )r   rt   methodrO   r@   rB   s   &&    r   mergeEnvironmentVariables.merge]   s    /4}}+F&MMd#LLv AB&&&t,	 0=
 $DOO""5#3#34 r   c               (    V ^8  d   QhRRRRRRRR/# r   rO   r5   r@   T.List[str]rB   r"   rC   r   )r   s   "r   r   rD   g   s/     B B B[ BS BRV Br   c                	    WP                   9   d   \        R V: 24      hV P                  P                  V4       V P                  P                  V P                  WV34       R# )z*You cannot set the already unset variable N)rH   r	   rG   rv   rF   rw   _setr   rO   r@   rB   s   &&&&r   r>   EnvironmentVariables.setg   sN    ??" #MdX!VWW$TYYi@Ar   c                    V ^8  d   QhRRRR/# )r   rO   r5   r"   rC   r   )r   s   "r   r   rD   m   s     " "# "$ "r   c                	    R V n         WP                  9   d   \        RV: R24      hV P                  P	                  V4       R# )FzYou cannot unset the z# variable because it is already setN)rI   rG   r	   rH   rv   rk   s   &&r   unsetEnvironmentVariables.unsetm   s<     ==  #8@c!deeD!r   c               (    V ^8  d   QhRRRRRRRR/# r}   r   )r   s   "r   r   rD   s   s/     E E3 E E EUY Er   c                	    R V n         WP                  9   d   \        RV: 24      hV P                  P	                  V4       V P
                  P                  V P                  WV34       R# )Fz$You cannot append to unset variable N)rI   rH   r	   rG   rv   rF   rw   _appendr   s   &&&&r   rw   EnvironmentVariables.appends   sV     ??" #Gx!PQQ$T\\4CDr   c               (    V ^8  d   QhRRRRRRRR/# r}   r   )r   s   "r   r   rD   z   s/     F FC F F FVZ Fr   c                	    R V n         WP                  9   d   \        RV: 24      hV P                  P	                  V4       V P
                  P                  V P                  WV34       R# )Fz%You cannot prepend to unset variable N)rI   rH   r	   rG   rv   rF   rw   _prependr   s   &&&&r   prependEnvironmentVariables.prependz   sV     ??" #H!QRR$T]]D)DEr   c               0    V ^8  d   QhRRRRRRRRRR	R
R/# r   envT.Dict[str, str]rO   r5   r@   r~   rB   default_valuer   r"   r   )r   s   "r   r   rD      s9     & &" &# &{ &s &cr &wz &r   c                	$    VP                  V4      # r   )join)r   rO   r@   rB   r   s   &&&&&r   r   EnvironmentVariables._set   s    ~~f%%r   c               0    V ^8  d   QhRRRRRRRRRR	R
R/# r   r   )r   s   "r   r   rD      sB     K K% KS K+ KRU Kfu Kz} Kr   c                	j    V P                  W4      pTP                  Vf   V4      # V.V,           4      # r   getr   r   rO   r@   rB   r   currs   &&&&& r   r   EnvironmentVariables._append   s1    wwt+~~fJJ4&6/JJr   c               0    V ^8  d   QhRRRRRRRRRR	R
R/# r   r   )r   s   "r   r   rD      sB     K K& Kc K; KSV Kgv K{~ Kr   c                	h    V P                  W4      pTP                  Vf   V4      # W%.,           4      # r   r   r   s   &&&&& r   r   EnvironmentVariables._prepend   s/    wwt+~~fJJ&6/JJr   c               $    V ^8  d   QhRRRRRR/# )r   full_envEnvironOrDictdefault_fmtr   r"   r   r   )r   s   "r   r   rD      s"       O Wg r   c                	    VP                  4       pV P                   F-  w  rErgV'       d   VP                  V4      MR pV! W5WgV4      W5&   K/  	  V P                   F  pVP	                  VR 4       K  	  V# r   )copyrF   r   rH   pop)	r   r   r   r   ry   rO   r@   rB   r   s	   &&&      r   r^   EnvironmentVariables.get_env   sg    mmo/3||+F&8CK..t4Ms&]KCI 0< OODGGD$ $
r   )rI   rF   rH   rG   r   )r(   r)   r*   r+   ospathsepr   rV   re   rl   rq   rz   r>   r   rw   r   staticmethodr   r   r   r^   r.   r   r   r   r=   r=   <   s    >BDI\^\f\f.F %5 DF:: B" GIjj E HJzz F & & K K K K r   r=   F)eqc                      ] tR t^t$ R]R&   RtR]R&   RtR]R&   RtR]R	&   RtR
]R&   Rt	R]R&   Rt
R]R&   RtR]R&   RtR]R&   RtR]R&   R R ltRtR# )ExecutableSerialisationr~   cmd_argsNz T.Optional[EnvironmentVariables]r   z&T.Optional['programs.ExternalProgram']exe_wrapperr   workdirzT.Optional[T.List]extra_pathscapturefeedtagFrh   verbosezT.Optional[T.Dict[str, str]]installdir_mapc                   V ^8  d   QhRR/# )r   r"   rC   r   )r   s   "r   r   $ExecutableSerialisation.__annotate__   s      t r   c                	>    R V n         R V n        RV n        R V n        R# )F N)pickledskip_if_destdir
subprojectdry_runrp   s   &r   __post_init__%ExecutableSerialisation.__post_init__   s    $r   )r   r   r   r   )r(   r)   r*   r+   __annotations__r   r   r   r   r   r   r   r   r   r   r.   r   r   r   r   r      sr     ,0C	)0:>K7>#G_#&*K#*#G_# D/ CGT37N07 r   r   ) r,   
__future__r   dataclassesr   r   abctypingTTYPE_CHECKINGhashlibr   typing_extensionsr   mparserr   r   r   UnionDictr5   _Environr   ListEnvInitValueType	Exceptionr	   r2   ABCMetar:   r=   r   r   r   r   <module>r      s    # ! 	 
 ???)"GGAFF38,bkk#.>>?Mvvc1773s+;#<<=TY T&@ @<s{{ <Z> Zz e  r   