+
    UBii                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^RI	H
t
Ht ^RI	Ht ^RI	Ht ^RIHt ^RIHtHtHtHtHtHtHtHt ^RIHt ^R	IHtHt ^R
IHtH t H!t! ^RI"H#t#H$t% ^RI&H't' ^RI(H)t)H*t*H+t+H,t, ^RI-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8 ^RIH9t9 ^RIH:t: ^RI;H<t<H=t= ]P|                  '       ds   ^ RI?H@t@HAtA ^RI	HBtB ^RIHCtCHDtD ^RIEHFtFHGtG ^RI"HHtH ^RIIHJtJ ^RIKHLtLHtMHNtN ^RIOHPtPHQtQ  ! R R]@4      tR ! R R]L4      tS ! R R]M4      tT]P                  ]=R 3,          tVR!R"0tW]WP                  ]4       ]WR#R$0,          tW], U u. uF  q P                  R19  g   K  V NK  	  up tZ ! R% R ]4      t[]5! R&]\])34      t]]5! R!]^R'R(7      t_]5! R"]^R'R)R*7      t`]5! R!]^])34      ta ! R+ R,]'R ,          4      tb ! R- R.]
4      tcR/ R0 ltdR# u up i )2    )annotationsN)ExtensionModule
ModuleInfo)mesonlib)mlog)UserFeatureOption)known_shmod_kwargsCustomTargetCustomTargetIndexBuildTargetGeneratedListStructuredSourcesExtractedObjectsSharedModule)NotFoundDependency)get_dep_identifierfind_external_dependency)BasicPythonExternalProgrampython_factory_PythonDependencyBase)extract_required_kwarg
primitives)_ExternalProgramHolder)NoneTypeDEPENDENCY_KWSPRESERVE_PATH_KWSHARED_MOD_KWS)	noPosargsnoKwargspermittedKwargsContainerTypeInfoInvalidArgumentstyped_pos_argstyped_kwargs	KwargInfo
FeatureNewdisablerIfNotFoundInterpreterObject)MachineChoice)	OptionKey)ExternalProgramNonExistingExternalProgram)	TypedDictNotRequired)ModuleState)BuildData)
DependencyDependencyObjectKWs)Interpreter)BuildTargetSource)ExtractRequiredr   FuncDependency)TYPE_varTYPE_kwargsc                  6    ] tR t^(t$ R]R&   R]R&   R]R&   RtR# )	PyInstallKwT.Optional[bool]purestrsubdirT.Optional[str]install_tag N__name__
__module____qualname____firstlineno____annotations____static_attributes__rB       >/usr/lib/python3.14/site-packages/mesonbuild/modules/python.pyr;   r;   (   s    $$rJ   r;   c                  6    ] tR t^.t$ R]R&   R]R&   R]R&   RtR# )	FindInstallationKwbooldisablerzT.List[str]modulesr<   r=   rB   NrC   rB   rJ   rK   rM   rM   .   s    rJ   rM   c                  "    ] tR t^4t$ R]R&   RtR# )ExtensionModuleKwzNotRequired[T.Optional[str]]r?   rB   NrC   rB   rJ   rK   rR   rR   4   s    ,,rJ   rR   PythonExternalProgramr?   limited_apiname_prefixname_suffixc                  N   a  ] tR t^Bt$ / tR]R&   RR V 3R llltR R ltRtV ;t	# )	rS   zT.ClassVar[T.Dict[str, bool]]run_bytecompilec                    V ^8  d   QhRRRR/# )   stateT.Optional['ModuleState']returnrN   rB   )formats   "rK   __annotate__"PythonExternalProgram.__annotate__I   s      5  rJ   c                	   < \         SV `  4       pV'       d\   V P                  VR 4      V n        V P                  VR4      V n        V P
                  P                  V P                  R,          R4       V# )platlibpurelibversionF)supersanity	_get_pathrb   rc   rX   
setdefaultinfo)selfr[   ret	__class__s   && rK   rf   PythonExternalProgram.sanityI   sZ    gn>>%;DL>>%;DL  ++DIIi,@%H
rJ   c               $    V ^8  d   QhRRRRRR/# )rZ   r[   r\   keyr>   r]   rB   )r^   s   "rK   r_   r`   Q   s"      8 s s rJ   c                	   V P                   R ,          V,          R,          pV'       g   V# \        P                  ! RVP                  RV R24      4      pV'       d4   VP	                  R4      '       d   \
        P                  ! RV R24      hV# VP                  R4      pVR8X  d   V P                   R,          '       d   R	MR
pVR
8X  d;   \        P                  P                  V P                   R,          R,          V4      pV# VR	8X  dJ   V P                   R,          '       g   \
        P                  ! R4      hV P                   R,          V,          pV# )install_paths:   NNr>   zpython.dirzpython.install_envz1dir and python.install_env are mutually exclusiveautois_venvvenvsystem	variablesprefixzDpython.install_env cannot be set to "venv" unless you are in a venv!sysconfig_paths)
ri   Tcast
get_optionis_user_defined_optionr   MesonExceptionospathjoin)rj   r[   ro   rel_pathvalueinstall_envs   &&&   rK   rg   PythonExternalProgram._get_pathQ   s   99_-c226Oue..S/ABC++,@AA--u<m.nooL&&';<& $(IIi$8$8&hK("ww||DIIk$:8$DhOH  F"99Y''--.tuuyy!23C8HrJ   )rb   rc   N)
rD   rE   rF   rG   rX   rH   rf   rg   rI   __classcell__rl   s   @rK   rS   rS   B   s$    
 68O27  rJ   r=    defaultz1.3.0r   sincec                    a  ] tR t^ptR R lt]! ]4      ]! R]]]	P                  ]]]]]]3R7      ]! R.]O]N]N5RR/ ]P,                  ! R4      R R	 l4       4       4       4       tR
 R ltR R lt]]! R.]O]! R]RRR7      N5!  ]]P,                  ! R4      R R l4       4       4       4       t]! R]]	P                  3R7      ]! R] ]!]"]! R]]#3RR7      4      ]P,                  ! R4      R R l4       4       4       t$]]! R] ]!4      ]P,                  ! R4      R  R! l4       4       4       t%R" R# lt&]]']P,                  ! R$4      R% R& l4       4       4       t(]! R']4      ]']P,                  ! R(4      R) R* l4       4       4       t)]! R+]]*.R,7      ]']P,                  ! R-4      R. R/ l4       4       4       t+]! R0]4      ]']P,                  ! R14      R2 R3 l4       4       4       t,]! R4]]*.R,7      ]']P,                  ! R54      R6 R7 l4       4       4       t-]]'].! R8R94      ]P,                  ! R:4      R; V 3R< ll4       4       4       4       t/R=t0V ;t1# )>PythonInstallationc                    V ^8  d   QhRRRR/# )rZ   pythonz'PythonExternalProgram'interpreter'Interpreter'rB   )r^   s   "rK   r_   PythonInstallation.__annotate__q   s     I I6 I] IrJ   c                	V   \         P                  ! WV4       VP                  pV P                  P                  P
                  P                  P                  \        R 4      4      p\        V\        4      '       g   Q R4       hVP                  '       d   VP                  R,          R,          V n        VP                  R,          V n        VP                  R,          R,          V n        VP                  R,          R,          V n        VP                  R,          R	,          V n        VP                  R
,          R,          R8H  V n        MTVR,          V n        VR,          V n        VR,          V n        VR,          V n        VR,          V n        VR,          V n        VR,          V n        VR,          V n        VP(                  V n        \*        P,                  P/                  WAP0                  4      V n        \*        P,                  P/                  WAP4                  4      V n        R# )ry   for mypylanguagerd   platformabiextension_suffixstable_abi_suffix	libpythonlink_extensionsimplementationnamepypysuffixlimited_api_suffixlink_libpythonis_pypyrx   pathsN)r   __init__ri   r   environmentcoredataoptstoreget_value_forr*   
isinstancer>   build_configrd   r   r   r   r   r   rx   r   r=   r   r   r   rb   platlib_install_pathrc   purelib_install_path)rj   r   r   ri   ry   s   &&&  rK   r   PythonInstallation.__init__q   s   ''kB{{!!--66??MMiX`Nab&#&&2
2&!..z:9EDL"//
;DM --e45GHDK&,&9&9%&@AT&UD#"("5"5k"BCT"UD!../?@HFRDL	?DL ,DMx.DK&*+?&@D#"&'7"8D	?DLk*']
KK	$&GGLL$H!$&GGLL$H!rJ   zpython.extension_module)varargsallow_unknownTextension_modulec               $    V ^8  d   QhRRRRRR/# )rZ   argsz'T.Tuple[str, T.List[BuildTargetSource]]kwargsrR   r]   z'SharedModule'rB   )r^   s   "rK   r_   r      s2     W\ W\,S W\]n W\  tB W\rJ   c                	&	   R V9   d   VR,          e   \        R4      hM0VP                  R4      ;'       g    RpV P                  RV4      VR &   V P                  p\        P
                  ! VR4      p\        R V 4       R4      pVf}   V P                  / 4      pVP                  4       '       g   \        P                  ! R4      hVP                  V4       \        P                  ! R	R
V P                  RV P                  4       VP                  R4      pV P                  P                   P"                  P$                  P'                  \)        R4      4      pVR8w  Ed   V'       Edy   V P*                  pV P-                  WvP.                  4      p	RV	 2p
\        P
                  ! VR4      pVP                  V
4       WR&   \        P
                  ! VR4      pVP                  V
4       WR&   VR,          pV P                  P                   P0                  V,          P3                  4       '       d   \4        P4                  ! V4      pVP7                  V P8                  RR7       VP                  4       '       g   \        P                  ! R4      hVP;                  V4       VP                  V4       V P                  P                   P"                  P<                  V,          p\>        ;QJ d*    R VPA                  4        4       F  '       g   K   RM	  RM! R VPA                  4        4       4      '       d   VP.                  PC                  RR4      pRV R2pRV R2p\        P
                  ! VR4      pV P                  P                   P"                  P$                  P'                  R4      pV'       d   VP                  V4       MVP                  V4       VVR&   WRR&   VPE                  R^4      w  ppV^ ,          V,           V^,          3pRVR&   WBR&   VR,          R8X  d?   V PF                  '       g(   \        PH                  ! V P.                  R4      '       d   R VR&   V P                  PK                  V P                  W\L        4      # )!install_dirr?   Nz1"subdir" and "install_dir" are mutually exclusiver   Fdependenciesc              3  V   "   T F  p\        V\        4      '       g   K  Vx  K!  	  R # 5ir   )r   r   ).0deps   & rK   	<genexpr>=PythonInstallation.extension_module_method.<locals>.<genexpr>   s     XXcCAV1WccXs   )
)Python dependency not foundzGpython_installation.extension_module with implicit dependency on pythonz0.63.0z$use python_installation.dependency()rT   zpython.allow_limited_apiz-DPy_LIMITED_API=c_argscpp_argsnativeT)rT   z2Python dependency supporting limited API not foundc              3  F   "   T F  qP                  4       R 8H  x  K  	  R# 5i)msvcN)get_id)r   compilers   & rK   r   r      s     R?Q8??$.?Qs   !.z/NODEFAULTLIB:pythonz_d.libz.lib	link_argsdebugrU   rV   gnu_symbol_visibilityz>=3.9inlineshidden)'r"   pop_get_install_dir_implr   r   extract_as_listnext_dependency_method_implfoundr   appendr&   
single_use
subprojectcurrent_noder   r   r   r   r   r*   r   &_convert_api_version_to_py_version_hexrd   machines
is_windowscopyfind_libpy_windowsenvremove	compilersanyvaluesreplacersplitr   version_comparebuild_targetr   )rj   r   r   r?   target_suffixnew_depspydeplimited_api_versionallow_limited_apilimited_api_version_hexlimited_api_definition
new_c_argsnew_cpp_argsfor_machine
pydep_copyr   pyver#python_windows_debug_link_exception%python_windows_release_link_exceptionnew_link_argsis_debugsplits   &&&                   rK   extension_module_method*PythonInstallation.extension_module_method   s   
 F"h+&'Z[[ , ZZ)//RF$($>$>uf$MF=!++FNCXXXZ^_=004E;;==--.KLLOOE"!!"k"*DOO=c"&"3"35 %jj7 ,,88AAJJXXYbc}Y~"$):): 33M&*&Q&QRegtgt&u#'89P8Q%R"!11&(CJ45)8#33FJGL 67!-: !*K++44[ALLNN!YYu-
--dhhD-I!''))"112fgg&
+ ((44==GGTIsRy?O?O?QRsssRy?O?O?QRRR--c268LUGSY6Z3:NugUY8Z5 ( 8 8 M++77@@IIWWX_`!(()LM!(()NO&3{#!)~  -33C;}Q%a) "} -})*b0!9!9$,,!P!P.=F*+,,T->->l[[rJ   c               $    V ^8  d   QhRRRRRR/# )rZ   api_versionr>   detected_versionr]   rB   )r^   s   "rK   r_   r      s#     9 9# 9Y\ 9ad 9rJ   c                	   \         P                  ! R 4      pVP                  V4      pV'       g   \        RV R24      h\        P
                  ! VR4      '       d   \        RV R24      h\        P
                  ! VRV,           4      '       d   \        RV RV R	24      hVP                  R
4      p\        V^ ,          4      p\        V^,          4      pRP                  Wg4      # )z[0-9]\.[0-9]{1,2}zPython API version invalid: "z".z<3.2z$Python Limited API version invalid: z (must be greater than 3.2)>z%Python Limited API version too high: z (detected )r   z0x{:02x}{:02x}0000)	recompile	fullmatchr"   r   r   r   intr^   )rj   r   r   python_api_version_formatdecimal_matchversion_componentsmajorminors   &&&     rK   r   9PythonInstallation._convert_api_version_to_py_version_hex   s    $&JJ/C$D!1;;KH"%B;-r#RSS##K88"%I+Vq#rss##K7G1GHH"%J;-Wbcsbttu#vww(..s3&q)*&q)*#**588rJ   c                    V ^8  d   QhRRRR/# )rZ   r   r3   r]   r2   rB   )r^   s   "rK   r_   r      s      .A j rJ   c                	   VP                  R \        P                  4      p\        V P	                  4       V4      pV P
                  P                  P                  V,          P                  V4      pVe   V# V P
                  P                  P                  P                  P                  \        R4      4      pVP                  4       pRVR&   V'       d   WVR&   \        V P
                  P                  W&V P                  4      p\        RV P
                  P                  Wg4      pV P
                  P                  P                  V,          P!                  W44       V# )r   python.build_configFrequiredr   r   )getr)   HOSTr   
_full_pathr   r   depsr   r   r   r*   r   r   held_objectr   put)rj   r   r   
identifierr   r   
new_kwargs
candidatess   &&      rK   r   *PythonInstallation._dependency_method_impl   s   jj=+=+=>'(96B
'',,[9==jI?J''33<<EESST]^sTtu[[]
!&
:)5~&#D$4$4$@$@+[_[k[kl
&x1A1A1M1Mzf!!&&{377
H
rJ   zpython_installation.dependencyembedFz0.53.0r   
dependencyc               $    V ^8  d   QhRRRRRR/# )rZ   r   T.List['TYPE_var']r   r7   r]   z'Dependency'rB   )r^   s   "rK   r_   r     s#      &8 . Ua rJ   c                	   \        W P                  4      w  r4p\        P                  ! R VP	                  4       4      pWFR&   V'       dc   \
        P                  ! R\
        P                  ! R4      R\
        P                  ! V4      R4       \        RV P                  P                  4      # V P                  V4      pV'       d-   VP                  4       '       g   \        P                  ! R4      hV# )r3   r
  r2   r   zskipped: featuredisabledr   )r   r   r{   r|   r   r   logboldr   r   r   r   r   r   r   )rj   r   r   r  r
  featurenkwargsr   s   &&&     rK   dependency_method$PythonInstallation.dependency_method  s     '=V__&U#G&&.>&
HH\499X#68JDIIV]L^`jk%h0@0@0L0LMM..w7C		--.KLLJrJ   install_dataz#python_installation.install_sourcesrA   z0.60.0)r   install_sourcesc               $    V ^8  d   QhRRRRRR/# )rZ   r   z,T.Tuple[T.List[T.Union[str, mesonlib.File]]]r   'PyInstallKw'r]   z'Data'rB   )r^   s   "rK   r_   r   +  s$     
3 
3+W 
3'4
39?
3rJ   c           
     	   R V P                   P                  V P                  &   VR,          ;'       g    RpVR,          e
   VR,          MV P                  pV P	                  WBR,          4      pV P
                  P                  V P
                  P                  V^ ,          4      V\        P                  ! 4       RVRVR,          R7      # )	TrA   python-runtimer=   Nr?   r   preserve_path)renametaginstall_data_typer'  )
r  rX   rd   r=   r   r   install_data_implsource_strings_to_filesr   FileMode)rj   r   r   r)  r=   r   s   &&&   rK   install_sources_method)PythonInstallation.install_sources_method"  s     :>((6]#77'7!'!;vf~00h7GH1144T!W=# 1	 2 3 	3rJ   zpython_installation.install_dirget_install_dirc               $    V ^8  d   QhRRRRRR/# )rZ   r   r  r   r$  r]   r>   rB   )r^   s   "rK   r_   r   :  s(     B B+= B} BY\ BrJ   c                	    R V P                   P                  V P                  &   VR,          e
   VR,          MV P                  pV P	                  W2R,          4      # )Tr=   r?   )r  rX   rd   r=   r   )rj   r   r   r=   s   &&& rK   get_install_dir_method)PythonInstallation.get_install_dir_method7  sL     :>((6!'!;vf~))$x0@AArJ   c               $    V ^8  d   QhRRRRRR/# )rZ   r=   rN   r?   r>   r]   zP_OBJ.OptionStringrB   )r^   s   "rK   r_   r   ?  s'     Z Z$ Z Z@R ZrJ   c                	    V'       d   V P                   pR pMV P                  pRp\        P                  ! \        P
                  P                  W24      \        P
                  P                  WB4      4      # ){py_purelib}{py_platlib})r   r   P_OBJOptionStringr   r   r   )rj   r=   r?   baser   s   &&&  rK   r   (PythonInstallation._get_install_dir_impl?  sR    ,,D!D,,D!D!!"'',,t"<bggll4>XYYrJ   language_versionc               $    V ^8  d   QhRRRRRR/# rZ   r   r  r   'TYPE_kwargs'r]   r>   rB   )r^   s   "rK   r_   r   L  s#      ,>  Z] rJ   c                	    V P                   # r   )rd   rj   r   r   s   &&&rK   language_version_method*PythonInstallation.language_version_methodI  s     ||rJ   zpython_installation.has_pathhas_pathc               $    V ^8  d   QhRRRRRR/# rZ   r   zT.Tuple[str]r   r@  r]   rN   rB   )r^   s   "rK   r_   r   R  s!     % %L %- %D %rJ   c                	.    V^ ,          V P                   9   # r   )r   rB  s   &&&rK   has_path_method"PythonInstallation.has_path_methodO  s     Aw$**$$rJ   zpython_installation.get_pathoptargsget_pathc               $    V ^8  d   QhRRRRRR/# rZ   r   z$T.Tuple[str, T.Optional['TYPE_var']]r   r@  r]   z
'TYPE_var'rB   )r^   s   "rK   r_   r   X  s)     L L$H LR_ Ldn LrJ   c                	|    Vw  r4 V P                   V,          #   \         d    Te   Tu # \        T R24      hi ; i)Nz is not a valid path name)r   KeyErrorr"   )rj   r   r   	path_namefallbacks   &&&  rK   get_path_method"PythonInstallation.get_path_methodU  sP     #		L::i(( 	L#"i[0I#JKK	L    ;;z python_installation.has_variablehas_variablec               $    V ^8  d   QhRRRRRR/# rG  rB   )r^   s   "rK   r_   r   d  s"     ) ) )m )PT )rJ   c                	.    V^ ,          V P                   9   # rI  )rx   rB  s   &&&rK   has_variable_method&PythonInstallation.has_variable_methoda  s     Aw$..((rJ   z python_installation.get_variableget_variablec               $    V ^8  d   QhRRRRRR/# rP  rB   )r^   s   "rK   r_   r   j  s)     O O(L OVc Ohr OrJ   c                	|    Vw  r4 V P                   V,          #   \         d    Te   Tu # \        T R24      hi ; i)Nz is not a valid variable name)rx   rR  r"   )rj   r   r   var_namerT  s   &&&  rK   get_variable_method&PythonInstallation.get_variable_methodg  sP     "	O>>(++ 	O#"hZ/L#MNN	OrW  zPython module path methodz0.50.0r   c               $    V ^8  d   QhRRRRRR/# r?  rB   )r^   s   "rK   r_   r   w  s"     1 1 2 1M 1c 1rJ   c                	"   < \         SV `  W4      # r   )re   path_method)rj   r   r   rl   s   &&&rK   re  PythonInstallation.path_methods  s    
 w"400rJ   )r   r   r   r   r   r   r=   r   r   rx   rd   )2rD   rE   rF   rG   r   r    
mod_kwargsr#   r>   r   Filer
   r   r   r   r   r   r$   _MOD_KWARGS_DEFAULTABLE_SUBDIR_KW_LIMITED_API_KWr(   methodr   r   r   r   r   r%   rN   r'   r  _PURE_KW
_SUBDIR_KWr   r   r.  r3  r   r   rC  rJ  objectrU  r[  ra  r&   re  rI   r   r   s   @rK   r   r   p   s	   I6 Z -sS(--Q]_pr  BS  Ue  gr  =s  t+wkw;QwSbwrvw01W\ 2 x t !W\r9 ( (	 	'4h?
 l+ ,   NS(--,@A--#xA /0
3 1 B
3 3XzJ/0B 1 K B
Z 01 2   2C8j)% *  9% 2C&Jj)L *  KL 6<n-) .  =) 6fXNn-O .  OO +X6f%1 & 7  1rJ   r   c                  :  a  ] tR tRt]! RR4      tR V 3R lltR R ltR R	 lt]	R
 R l4       t
R R lt]]! R].R7      ]! R]! R]]3RR7      ]! R]RRR7      ]! R]! ]]4      R. RR7      ]P-                  RRR7      4      R R l4       4       4       tRtV ;t# )PythonModulei{  r   z0.46.0c                    V ^8  d   QhRRRR/# )rZ   r   r   r]   NonerB   )r^   s   "rK   r_   PythonModule.__annotate__  s      M d rJ   c                	   < \         SV `  V4       / V n        V P                  P	                  R V P
                  /4       R# )find_installationN)re   r   installationsmethodsupdaterv  )rj   r   rl   s   &&rK   r   PythonModule.__init__  s:    %;=!7!7
 	rJ   c                   V ^8  d   QhRR/# )rZ   r]   z(T.List[mesonlib.ExecutableSerialisation]rB   )r^   s   "rK   r_   rt    s     / /&N /rJ   c                	
   V P                   P                  p. pV P                   P                  P                  P                  P                  \        R 4      4      pVR8X  d   V# \        \        P                  P                  4       4      '       g   V# VP                  4       p. pRR R llpVP                   F  pV! VP                  4      '       g   K  VP                  VP                  \        P                   P#                  VP$                  VP&                  \        P                   P)                  VP*                  4      4      34       K  	  VP,                   Fl  pV! VP.                  4      '       g   K  VP                  VP.                  \        P                   P#                  VP$                  VP0                  4      34       Kn  	  VP2                   Fm  pV! VP.                  R4      '       g   K  VP                  VP.                  \        P                   P#                  VP$                  VP0                  4      34       Ko  	  ^ RIp	\        P                   P#                  V P                   P                  P7                  4       R4      p
\9        V
R4      ;_uu_ 4       pVP;                  V	P<                  P?                  RR4      4       RRR4       V P@                  P                  4        EF  p\C        V\        4      '       g   K  VP                  VPD                  R,          ,          '       g   KH  \F        PH                  ! R	V4      pR
VPD                  R,           R2p. pV F  w  rVPK                  \        P                   P#                  VP$                  VPL                  4      \        P                   P#                  VP$                  VPN                  4      34      '       g   K  VP                  V4       K  	  \9        \        P                   P#                  V P                   P                  P7                  4       V4      RRR7      ;_uu_ 4       p\P        PR                  ! W4       RRR4       VPT                  W\W        V4      .,           pVPY                  VRRRVPN                  RVPL                  /R7      pVP                  V4       EK  	  V#   + '       g   i     EL; i  + '       g   i     L; i)zpython.bytecompilec                   V ^8  d   QhRR/# )rZ   isdirrN   rB   )r^   s   "rK   r_   7PythonModule._get_install_scripts.<locals>.__annotate__  s     	c 	cD 	crJ   c                j    V P                  R4      ;'       d    V P                  R4      ;'       g    T# )r8  z.py)r8  r7  )
startswithendswith)fr~  s   &&rK   should_append8PythonModule._get_install_scripts.<locals>.should_append  s/     << @AbbqzzRWGXGaGa\abrJ   TNzpycompile.pywbzmesonbuild.scriptsrd   rS   zpython-z-installed.jsonwzutf-8)encodingr&  
py_purelib
py_platlib)verboser)  installdir_map)F)-r   backendr   r   r   r   r*   r   rS   rX   r   create_install_datatargetsout_namer   r   r   r   ry   outdirbasenamefnamedatainstall_path_nameinstall_pathinstall_subdirsimportlib.resourcesget_scratch_diropenwrite	resourcesread_binaryrw  r   ri   r{   r|   r  rb   rc   jsondumpcommandr>   get_executable_serialisation)rj   r  rk   optlevelinstalldatapy_filesr  td	importlib	pycompiler  imanifestmanifest_jsonr   cmdscripts   &                 rK   _get_install_scripts!PythonModule._get_install_scripts  s   ""**##//88AAOOPYZnPopr>J(88??ABBJ113	c
 $$AQZZ((RWW\\+:L:LahhXZX_X_XhXhijipipXq-r st % !!AQ0011!4!4bggll;CUCUWXWeWe6f gh " ,,AQ00$77!4!4bggll;CUCUWXWeWe6f gh - 	#GGLL!1!1!=!=!M!M!OQ_`	)T""aGGI''334H.YZ # ##**,A!2338I8I!&&QZJ[8\8\FF2A6$QVVI%6$7G "'GD||RWW\\+2D2Daii%PRTRYRYR^R^_j_q_qsts|s|R}$~%,,T2  ( "'',,t'7'7'C'C'S'S'UW_`bepwxx|}IIm/ yii9H"FF ==c4UeNZ\]\e\egsuvu~u~M > A

6" - 
% #"" yxs   $,SS1S.	1Tc                    V ^8  d   QhRRRR/# )rZ   br0   r]   rs  rB   )r^   s   "rK   r_   rt    s     > >u > >rJ   c                	X    VP                   P                  V P                  4       4       R # r   )install_scriptsextendr  )rj   r  s   &&rK   postconf_hookPythonModule.postconf_hook  s    	  !:!:!<=rJ   c                    V ^8  d   QhRRRR/# )rZ   name_or_pathr>   r]   r@   rB   )r^   s   "rK   r_   rt    s      # / rJ   c                	t   V P                  R4      '       g   R# \        P                  ! R4      '       g   R# RV R,           2pRVRR.p\        P                  ! V4      w  r4pVP                  4       p\        P                  P                  V4      '       d!   \        P                  P                  VR4      # R# )	python2Npy-:   NN-cz;import sysconfig; print(sysconfig.get_config_var('BINDIR'))r   )r  python3)
r  shutilwhichr   
Popen_safestripr   r   existsr   )r  verr  _stdout	directorys   &     rK   _get_win_pythonpath PythonModule._get_win_pythonpath  s    &&'=>>||D!!,r"#$S$ ]^**3/1LLN	77>>)$$77<<	844rJ   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
rZ   r[   'ModuleState'display_namer>   r  r
  rN   r]   MaybePythonProgrB   )r^   s   "rK   r_   rt    s6     !7 !7] !7# !7]` !7lp !7  vE !7rJ   c                	N   V P                   P                  P                  P                  P	                  \        R 4      4      pV'       g   \        R\        P                  VR7      pM\        P                  ! W#4      p\        W'VR7      pVP                  4       '       g>   \        P                  ! 4       '       d#   V P                  V4      pVe   Tp\        V4      pVP                  4       '       g,   VR9   d%   \        P                  ! VR4      p\        W7VR7      pVP                  4       '       d^   VP                  V4      '       d   V# V R2p	V'       d   \        P                  ! V	4      h\         P"                  ! WP$                  R7       \'        VP(                  4      # )r	  r  )build_config_path)ext_progr  r   z1 is not a valid python or it is missing distutils)location>   r  r  )r   r   r   r   r   r*   rS   r   python_commandr+   
from_entryr   r   r  rf   r   r   warningr   r,   r   )
rj   r[   r  r  r
  r   r   
tmp_python
pythonpath	sanitymsgs
   &&&&&     rK   _find_installation_impl$PythonModule._find_installation_impl  s9   ''33<<EESST]^sTtu*9h6M6MamnF(33LOJ*<`lmF<<>>h&9&9&;&;!55lC
)#-L2<@F <<>>l6L&L,77hO
.|dpq<<>>}}U##%h&WX	"11)<<LL5G5GH)&++66rJ   zpython.find_installationrL  r
  Tr   rO   Fz0.49.0r   rP   z0.51.0)listifyr   r   z0.64.0c               (    V ^8  d   QhRRRRRRRR/# )	rZ   r[   r  r   zT.Tuple[T.Optional[str]]r   z'FindInstallationKw'r]   r  rB   )r^   s   "rK   r_   rt    s7     Dk Dk} Dk<T Dk"6Dk;JDkrJ   c           
     	   \        R R4      p\        W1P                  V4      w  rVpVP                  P	                  \
        P                  R4      ;'       g    . pV^ ,          p	T	;'       g    Rp
V'       g   V	e   V	.pV'       d
   V^ ,          MRpV'       dY   \        P                  ! RT;'       g    RR\        P                  ! R4      R\        P                  ! V4      R4       \        4       # V P                  P                  V4      pV'       g!   V P                  WW4      pWP                  V&   VR	,          p. p. pVP                  4       '       du   V'       dm   V Ff  p\         P"                  ! VP$                  R
RV 2.,           4      vppVP&                  ^ 8w  d   VP)                  V4       KU  VP)                  V4       Kh  	  RVP*                  .pV'       d0   VP)                  RP-                  RP/                  V4      4      4       VP)                  R4       VP                  4       '       dY   V'       gQ   VP1                  \        P2                  ! R4      RP-                  RP/                  VP$                  4      4      .4       M%VP)                  \        P                  ! R4      4       V'       d2   VP)                  R4       VP)                  RP/                  V4      4       \        P                  ! V!   VP                  4       '       gM   V'       d0   \         P4                  ! RP-                  T;'       g    R4      4      h\        VP*                  4      # V'       d]   V'       d@   \         P4                  ! RP-                  T;'       g    RRP/                  V4      4      4      h\        VP*                  4      # \7        V\8        4      '       g   Q R4       h\:        P:                  ! V4      pVR,          Vn        V# )z-Passing "feature" option to find_installationz0.48.0r   NProgramzfound:NOz(disabled by:r   rP   r  zimport z({})z, YES zmodules:z{} not foundz{} is missing modules: {}r   r=   ) r&   r   r   r   lookup_binary_entryr)   r  r   r  redr  r,   rw  r  r  r   r   r  r  
returncoder   r   r^   r   r  greenr   r   rS   r   r=   MesonBugException)rj   r[   r   r   feature_checkr  r
  r  nprT  r  r  r   want_modulesfound_modulesmissing_modulesmodpr  msgs   &&&&                rK   rv  PythonModule.find_installation  s    ##RT\]&<VEUEUWd&e#G  ++??@R@RT\]ccac7++8h*B "r!uHHY 8 8(DHHTNTceienenovewy|}-//##''511%|^F/5|,i(%'')<<>>l# ++NNWSE?+,-A <<1$#**3/!((- $ ,5fkk*BJJv}}TYY|%<=>

8<<>>/JJ

5)6==&..9Q+RSTJJtxx~&JJz"JJtyy/0#||~~--n.C.CLD\D\T\.]^^-fkk::--.I.P.PQ]QiQiaikoktkt  vE  lF  /G  H  H-fkk::f&;<<HjH<YYv&F .FKMrJ   )rw  )rD   rE   rF   rG   r   INFOr   r  r  staticmethodr  r  r'   r#   r>   r$   r%   rN   r   r!   listrm  evolverv  rI   r   r   s   @rK   rq  rq  {  s    h)D /b>  !7F .>"*t%67F*dEB).tS94QS[cdH5Dk ? DkrJ   rq  c                    V ^8  d   QhRRRR/# )rZ   r   r   r]   rq  rB   )r^   s   "rK   r_   r_   >  s      M l rJ   c                d    \        V 4      pVP                  P                  \        \        4       V# r   )rq  r   append_holder_maprS   r   )r   r  s   & rK   
initializer  >  s'    
{
#COO%%&;=OPJrJ   >   rU   rV   )e
__future__r   r   r  r   r  r   typingr{   r   r   r   r   r   optionsr   buildr	   r
   r   r   r   r   r   r   r   r   dependencies.detectr   r   dependencies.pythonr   r   r   r   r   r   r9  interpreter.interpreterobjectsr   interpreter.type_checkingr   r   r   r   interpreterbaser   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   programsr+   r,   TYPE_CHECKINGtyping_extensionsr-   r.   r/   r0   r1   dependencies.baser2   r3   r4   interpreter.interpreterr5   interpreter.kwargsr6   SharedModuleKwr7   interpreterbase.baseobjectsr8   r9   r;   rM   rR   Unionr  rg  ry  r   ri  rS   rN   rm  r>   rn  rk  rj  r   rq  r  )ks   0rK   <module>r     s   # ! ! !  )   ' W  W  W - N c c E C b b   
 %  B???8#C);ddC%i %_ -N - gg8:QQRO &
 
  $ % 
}m, ,
(Y.QFF:X,Xqq.Y&6 &R VdH-.xb1
M3'J"8c8_= H1/0GH H1V@k? @kF Zs   G,G