§
    ƒnóc7  ã                  ó<  — U d dl mZ d dlmZ d dlZd dlZd dlmZ ddl	m
Z
 ddl
mZmZ ddl	mZ d d	lmZ d
Zg d¢Zi dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“d"d#“d$d%“d&d'“d(d)“d*d+“d,d-“Zd.ed/<   i d0d1“d2d3“d4d5“d6d7“d8d9“d:d;“d<d=“d>d?“d@dA“dBdC“dDdE“dFdG“dHdI“dJdK“dLdM“dNdM“dOdP“dQdRdSœ¥Zd.edT<   i e¥e¥ZdUdVdWdXdYœZd.edZ<    G d[„ d\e¦  «        Z G d]„ d^¦  «        Z ed_¬`¦  «         G da„ dbe¦  «        ¦   «         Z G dc„ dd¦  «        Z G de„ df¦  «        ZdS )gé    )Úannotations)Ú	dataclassN)ÚEnumé   )Úmesonlib)ÚEnvironmentExceptionÚHoldableObject)Úmlog)ÚPath)"Úaarch64ÚalphaÚarcÚarmÚavrÚc2000ÚcskyÚdspicÚe2kÚft32Úia64Úloongarch64Úm68kÚ
microblazeÚmipsÚmips64Úmsp430ÚpariscÚpic24ÚppcÚppc64Úriscv32Úriscv64Úrl78ÚrxÚs390Ús390xÚsh4ÚsparcÚsparc64Úwasm32Úwasm64Úx86Úx86_64)r   r   r   r   r   r    r"   r&   r)   r+   r-   ÚcÚCCÚcppÚCXXÚcsÚCSCÚdÚDCÚfortranÚFCÚobjcÚOBJCÚobjcppÚOBJCXXÚrustÚRUSTCÚvalaÚVALACÚnasmÚNASMÚc_ldÚCC_LDÚcpp_ldÚCXX_LDÚd_ldÚDC_LDÚ
fortran_ldÚFC_LDÚobjc_ldÚOBJC_LDÚ	objcpp_ldÚ	OBJCXX_LDÚrust_ldÚRUSTC_LDzT.Mapping[str, str]ÚENV_VAR_COMPILER_MAPÚarÚARÚasÚASÚldÚLDÚnmÚNMÚobjcopyÚOBJCOPYÚobjdumpÚOBJDUMPÚranlibÚRANLIBÚreadelfÚREADELFÚsizeÚSIZEÚstringsÚSTRINGSÚstripÚSTRIPÚwindresÚWINDRESÚcmakeÚCMAKEÚqmakeÚQMAKEÚ	pkgconfigÚ
PKG_CONFIGz
pkg-configÚmakeÚMAKEÚVAPIGENÚLLVM_CONFIG)Úvapigenzllvm-configÚENV_VAR_TOOL_MAPÚD_LDÚF_LDÚRUST_LDÚ	OBJCPP_LD)rF   rH   rN   rL   ÚDEPRECATED_ENV_PROG_MAPc                  ó   — e Zd ZdZdZdZdS )ÚCMakeSkipCompilerTestÚalwaysÚneverÚdep_onlyN)Ú__name__Ú
__module__Ú__qualname__ÚALWAYSÚNEVERÚDEP_ONLY© ó    ú6/usr/lib/python3/dist-packages/mesonbuild/envconfig.pyr{   r{   š   s   € € € € € Ø€FØ€EØ€H€H€Hr†   r{   c                  óŒ   — e Zd Z	 d#d$d„Zd%d	„Zd&d„Zd'd„Zd'd„Zd(d„Zd)d„Z	d*d„Z
d+d„Zd)d„Zd*d„Zd,d„Zd-d„Zd.d „Zd#d/d"„ZdS )0Ú
PropertiesNÚ
propertiesúIT.Optional[T.Dict[str, T.Optional[T.Union[str, bool, int, T.List[str]]]]]c                ó   — |pi | _         d S ©N©rŠ   )ÚselfrŠ   s     r‡   Ú__init__zProperties.__init__    s   € ð %Ð*¨ˆŒˆˆr†   ÚlanguageÚstrÚreturnÚboolc                ó   — |dz   | j         v S ©NÚ_stdlibrŽ   )r�   r‘   s     r‡   Ú
has_stdlibzProperties.has_stdlib¦   s   € Ø˜)Ñ# t¤Ð6Ð6r†   úT.Union[str, T.List[str]]c                óº   — | j         |dz            }t          |t          ¦  «        r|S t          |t          ¦  «        sJ ‚|D ]}t          |t          ¦  «        sJ ‚Œ|S r–   )rŠ   Ú
isinstancer’   Úlist)r�   r‘   ÚstdlibÚis       r‡   Ú
get_stdlibzProperties.get_stdlib¬   sm   € Ø” ¨IÑ!5Ô6ˆÝ�f�cÑ"Ô"ð 	ØˆMÝ˜&¥$Ñ'Ô'Ð'Ð'Ð'Øð 	&ð 	&ˆAÝ˜a¥Ñ%Ô%Ð%Ð%Ð%Ð%Øˆr†   úT.Optional[str]c                ón   — | j                              dd ¦  «        }|�t          |t          ¦  «        sJ ‚|S )NÚroot©rŠ   Úgetr›   r’   )r�   r¢   s     r‡   Úget_rootzProperties.get_rootµ   s5   € ØŒ×"Ò" 6¨4Ñ0Ô0ˆØˆ|�z¨$µÑ4Ô4ˆ|ˆ|ˆ|Øˆr†   c                ón   — | j                              dd ¦  «        }|�t          |t          ¦  «        sJ ‚|S )NÚsys_rootr£   )r�   r§   s     r‡   Úget_sys_rootzProperties.get_sys_rootº   s9   € Ø”?×&Ò& z°4Ñ8Ô8ˆØÐ¥:¨h½Ñ#<Ô#<ÐÐÐØˆr†   úT.Optional[T.List[str]]c                ó¤   — | j                              dd ¦  «        }|€|S t          j        |¦  «        }|D ]}t	          |t
          ¦  «        sJ ‚Œ|S )NÚpkg_config_libdir)rŠ   r¤   r   Úlistifyr›   r’   )r�   ÚpÚresrž   s       r‡   Úget_pkg_config_libdirz Properties.get_pkg_config_libdir¿   sa   € ØŒO×ÒÐ 3°TÑ:Ô:ˆØˆ9ØˆHÝÔ˜qÑ!Ô!ˆØð 	&ð 	&ˆAÝ˜a¥Ñ%Ô%Ð%Ð%Ð%Ð%Øˆ
r†   c                ód   — d| j         vrdS | j         d         }t          |t          ¦  «        sJ ‚|S )NÚcmake_defaultsT©rŠ   r›   r”   ©r�   r®   s     r‡   Úget_cmake_defaultszProperties.get_cmake_defaultsÈ   s<   € Ø 4¤?Ð2Ð2Ø�4ØŒoÐ.Ô/ˆÝ˜#�tÑ$Ô$Ð$Ð$Ð$Øˆ
r†   úT.Optional[Path]c                óÐ   — d| j         vrd S | j         d         }t          |t          ¦  «        sJ ‚t          |¦  «        }|                     ¦   «         st          d|› d�¦  «        ‚|S )NÚcmake_toolchain_filezcmake_toolchain_file (z) is not absolute)rŠ   r›   r’   r   Úis_absoluter   )r�   Úrawr·   s      r‡   Úget_cmake_toolchain_filez#Properties.get_cmake_toolchain_fileÏ   sx   € Ø!¨¬Ð8Ð8Ø�4ØŒoÐ4Ô5ˆÝ˜#�sÑ#Ô#Ð#Ð#Ð#Ý# C™yœyÐØ#×/Ò/Ñ1Ô1ð 	XÝ&Ð'VÀÐ'VÐ'VÐ'VÑWÔWÐWØ#Ð#r†   r{   c                ó  — d| j         vrt          j        S | j         d         }t          |t          ¦  «        sJ ‚	 t          |¦  «        S # t
          $ r3 t          d                     |d„ t          D ¦   «         ¦  «        ¦  «        ‚w xY w)NÚcmake_skip_compiler_testzO"{}" is not a valid value for cmake_skip_compiler_test. Supported values are {}c                ó   — g | ]	}|j         ‘Œ
S r…   )Úvalue)Ú.0Úes     r‡   ú
<listcomp>z;Properties.get_cmake_skip_compiler_test.<locals>.<listcomp>ã   s   € ÐEÐEÐE¨!˜aœgÐEÐEÐEr†   )rŠ   r{   r„   r›   r’   Ú
ValueErrorr   Úformat)r�   r¹   s     r‡   Úget_cmake_skip_compiler_testz'Properties.get_cmake_skip_compiler_testÙ   s¥   € Ø%¨T¬_Ð<Ð<Ý(Ô1Ð1ØŒoÐ8Ô9ˆÝ˜#�sÑ#Ô#Ð#Ð#Ð#ð	HÝ(¨Ñ-Ô-Ð-øÝð 	Hð 	Hð 	HÝ&Øaß’˜ÐEÐEÕ/DÐEÑEÔEÑFÔFñHô Hð Hð	Høøøs   »A
 Á
=Bc                ód   — d| j         vrdS | j         d         }t          |t          ¦  «        sJ ‚|S )NÚcmake_use_exe_wrapperTr²   r³   s     r‡   Úget_cmake_use_exe_wrapperz$Properties.get_cmake_use_exe_wrapperå   s<   € Ø"¨$¬/Ð9Ð9Ø�4ØŒoÐ5Ô6ˆÝ˜#�tÑ$Ô$Ð$Ð$Ð$Øˆ
r†   c                ó‚   — t          j        d| j                             d¦  «        ¦  «        }|rt	          |¦  «        nd S )Nr    Ú	java_home)ÚTÚcastrŠ   r¤   r   )r�   r¾   s     r‡   Úget_java_homezProperties.get_java_homeì   s9   € Ý”Ð(¨$¬/×*=Ò*=¸kÑ*JÔ*JÑKÔKˆØ#Ð-�t�E‰{Œ{ˆ{¨Ð-r†   ÚotherÚobjectc                ój   — t          |t          | ¦  «        ¦  «        r| j        |j        k    S t          S r�   )r›   ÚtyperŠ   ÚNotImplemented)r�   rÍ   s     r‡   Ú__eq__zProperties.__eq__ð   s0   € Ý�e�T $™ZœZÑ(Ô(ð 	7Ø”? eÔ&6Ò6Ð6ÝÐr†   Úkeyú0T.Optional[T.Union[str, bool, int, T.List[str]]]c                ó   — | j         |         S r�   rŽ   )r�   rÓ   s     r‡   Ú__getitem__zProperties.__getitem__ö   s   € ØŒ˜sÔ#Ð#r†   Úitemú$T.Union[str, bool, int, T.List[str]]c                ó   — || j         v S r�   rŽ   )r�   r×   s     r‡   Ú__contains__zProperties.__contains__ú   s   € Ø�t”Ð&Ð&r†   Údefaultc                ó8   — | j                              ||¦  «        S r�   )rŠ   r¤   )r�   rÓ   rÛ   s      r‡   r¤   zProperties.getþ   s   € ØŒ×"Ò" 3¨Ñ0Ô0Ð0r†   r�   )rŠ   r‹   )r‘   r’   r“   r”   )r‘   r’   r“   r™   )r“   r    )r“   r©   ©r“   r”   )r“   rµ   )r“   r{   )rÍ   rÎ   r“   r”   )rÓ   r’   r“   rÔ   )r×   rØ   r“   r”   )rÓ   r’   rÛ   rÔ   r“   rÔ   )r   r€   r�   r�   r˜   rŸ   r¥   r¨   r¯   r´   rº   rÄ   rÇ   rÌ   rÒ   rÖ   rÚ   r¤   r…   r†   r‡   r‰   r‰   Ÿ   sU  € € € € € ð eið+ð +ð +ð +ð +ð7ð 7ð 7ð 7ðð ð ð ðð ð ð ð
ð ð ð ð
ð ð ð ðð ð ð ð$ð $ð $ð $ð
Hð 
Hð 
Hð 
Hðð ð ð ð.ð .ð .ð .ðð ð ð ð$ð $ð $ð $ð'ð 'ð 'ð 'ð1ð 1ð 1ð 1ð 1ð 1ð 1r†   r‰   T)Úunsafe_hashc                  óà   — e Zd ZU ded<   ded<   ded<   ded<   d d„Zd!d	„Zed"d„¦   «         Zd#d„Zd#d„Z	d#d„Z
d#d„Zd#d„Zd#d„Zd#d„Zd#d„Zd#d„Zd#d„Zd#d„Zd#d„Zd#d„Zd!d„Zd!d„Zd#d„ZdS )$ÚMachineInfor’   ÚsystemÚ
cpu_familyÚcpuÚendianr“   ÚNonec                ó,   — | j         t          v | _        d S r�   )râ   ÚCPU_FAMILIES_64_BITÚ	is_64_bit©r�   s    r‡   Ú__post_init__zMachineInfo.__post_init__  s   € Ø#œÕ2EÐEˆŒˆˆr†   c                ó8   — d| j         › d| j        › d| j        › d�S )Nz<MachineInfo: ú z (z)>)rá   râ   rã   ré   s    r‡   Ú__repr__zMachineInfo.__repr__  s)   € ØM ¤ÐMÐM¨d¬oÐMÐMÀÄÐMÐMÐMÐMr†   ÚliteralúT.Dict[str, str]ú'MachineInfo'c           	     ón  — h d£}t          |¦  «        |k     r9t          d|› d�d                     |t          |¦  «        z
  ¦  «        z   ¦  «        ‚|d         }|t          vrt	          j        d|› d�¦  «         |d         }|d	vrt	          j        d
|› �¦  «          | |d         ||d         |¦  «        S )N>   rã   rä   rá   râ   zMachine info is currently ú
zbut is missing {}.râ   zUnknown CPU family zF, please report this at https://github.com/mesonbuild/meson/issues/newrä   )ÚlittleÚbigzUnknown endian rá   rã   )Úsetr   rÃ   Úknown_cpu_familiesr
   Úwarning)Úclsrî   Úminimum_literalrâ   rä   s        r‡   Úfrom_literalzMachineInfo.from_literal  sú   € àCÐCÐCˆÝˆw‰<Œ<˜/Ò)Ð)Ý&Ø8¨WÐ8Ð8Ð8Ø$×+Ò+¨O½cÀ'¹l¼lÑ,JÑKÔKñLñMô Mð Mð ˜\Ô*ˆ
ØÕ/Ð/Ð/ÝŒLð  B¨zð  Bð  Bð  Bñ  Cô  Cð  Cà˜Ô"ˆØÐ*Ð*Ð*ÝŒLÐ3¨6Ð3Ð3Ñ4Ô4Ð4àˆs�7˜8Ô$ j°'¸%´.À&ÑIÔIÐIr†   r”   c                ó   — | j         dk    S )z%
        Machine is windows?
        Úwindows©rá   ré   s    r‡   Ú
is_windowszMachineInfo.is_windows   ó   € ð Œ{˜iÒ'Ð'r†   c                ó   — | j         dk    S )z$
        Machine is cygwin?
        Úcygwinrý   ré   s    r‡   Ú	is_cygwinzMachineInfo.is_cygwin&  ó   € ð Œ{˜hÒ&Ð&r†   c                ó   — | j         dk    S )z#
        Machine is linux?
        Úlinuxrý   ré   s    r‡   Úis_linuxzMachineInfo.is_linux,  ó   € ð Œ{˜gÒ%Ð%r†   c                ó   — | j         dv S )z4
        Machine is Darwin (iOS/tvOS/OS X)?
        >   ÚiosÚtvosÚdarwinrý   ré   s    r‡   Ú	is_darwinzMachineInfo.is_darwin2  s   € ð Œ{Ð7Ð7Ð7r†   c                ó   — | j         dk    S )z%
        Machine is Android?
        Úandroidrý   ré   s    r‡   Ú
is_androidzMachineInfo.is_android8  rÿ   r†   c                ó   — | j         dk    S )z#
        Machine is Haiku?
        Úhaikurý   ré   s    r‡   Úis_haikuzMachineInfo.is_haiku>  r  r†   c                ó   — | j         dk    S )z$
        Machine is NetBSD?
        Únetbsdrý   ré   s    r‡   Ú	is_netbsdzMachineInfo.is_netbsdD  r  r†   c                ó   — | j         dk    S )z%
        Machine is OpenBSD?
        Úopenbsdrý   ré   s    r‡   Ú
is_openbsdzMachineInfo.is_openbsdJ  rÿ   r†   c                ó   — | j         dk    S )zMachine is DragonflyBSD?Ú	dragonflyrý   ré   s    r‡   Úis_dragonflybsdzMachineInfo.is_dragonflybsdP  s   € àŒ{˜kÒ)Ð)r†   c                ó   — | j         dk    S )zMachine is FreeBSD?Úfreebsdrý   ré   s    r‡   Ú
is_freebsdzMachineInfo.is_freebsdT  s   € àŒ{˜iÒ'Ð'r†   c                ó   — | j         dk    S )zMachine is illumos or Solaris?Úsunosrý   ré   s    r‡   Úis_sunoszMachineInfo.is_sunosX  s   € àŒ{˜gÒ%Ð%r†   c                ó   — | j         dk    S )z&
        Machine is GNU/Hurd?
        Úgnurý   ré   s    r‡   Úis_hurdzMachineInfo.is_hurd\  s   € ð Œ{˜eÒ#Ð#r†   c                ó6   — | j                              d¦  «        S )zMachine is IRIX?Úirix)rá   Ú
startswithré   s    r‡   Úis_irixzMachineInfo.is_irixb  s   € àŒ{×%Ò% fÑ-Ô-Ð-r†   c                óZ   — |                       ¦   «         s|                      ¦   «         rdS dS )NÚexeÚ ©rþ   r  ré   s    r‡   Úget_exe_suffixzMachineInfo.get_exe_suffixi  s/   € Ø�?Š?ÑÔð 	 §¢Ñ 0Ô 0ð 	Ø�5à�2r†   c                ó2   — |                       ¦   «         rdS dS )NÚobjÚo)rþ   ré   s    r‡   Úget_object_suffixzMachineInfo.get_object_suffixo  s   € Ø�?Š?ÑÔð 	Ø�5à�3r†   c                óR   — |                       ¦   «         p|                      ¦   «         S r�   r,  ré   s    r‡   Úlibdir_layout_is_winz MachineInfo.libdir_layout_is_winu  s!   € Ø�ŠÑ Ô Ð4 D§N¢NÑ$4Ô$4Ð4r†   N)r“   rå   )r“   r’   )rî   rï   r“   rð   rÝ   )r   r€   r�   Ú__annotations__rê   rí   Úclassmethodrú   rþ   r  r  r  r  r  r  r  r  r  r!  r$  r(  r-  r1  r3  r…   r†   r‡   rà   rà     sÎ  € € € € € € à€K€K�KØ€O€O�OØ€H€H�HØ€K€K�KðFð Fð Fð FðNð Nð Nð Nð ðJð Jð Jñ „[ðJð"(ð (ð (ð (ð'ð 'ð 'ð 'ð&ð &ð &ð &ð8ð 8ð 8ð 8ð(ð (ð (ð (ð&ð &ð &ð &ð'ð 'ð 'ð 'ð(ð (ð (ð (ð*ð *ð *ð *ð(ð (ð (ð (ð&ð &ð &ð &ð$ð $ð $ð $ð.ð .ð .ð .ðð ð ð ðð ð ð ð5ð 5ð 5ð 5ð 5ð 5r†   rà   c                  ó‚   — e Zd Z	 ddd„Zedd„¦   «         Zedd„¦   «         Zedd	„¦   «         Zedd„¦   «         Z	dd„Z
dS )ÚBinaryTableNÚbinariesú2T.Optional[T.Dict[str, T.Union[str, T.List[str]]]]c                óö   — i | _         |rm|                     ¦   «         D ]Z\  }}t          |t          t          f¦  «        st          j        d|›d|›d�¦  «        ‚t          j        |¦  «        | j         |<   ŒYd S d S )NzInvalid type z for entry z in cross file)r8  Úitemsr›   rœ   r’   r   ÚMesonExceptionr¬   )r�   r8  ÚnameÚcommands       r‡   r�   zBinaryTable.__init__z  sª   € ð 35ˆŒØð 	@Ø!)§¢Ñ!1Ô!1ð @ð @‘��gÝ! '­Dµ#¨;Ñ7Ô7ð VÝ"Ô1ØT¨ÐTÐT¸dÐTÐTÐTñVô Vð Vå&.Ô&6°wÑ&?Ô&?�”˜dÑ#Ð#ð	@ð 	@ð@ð @r†   r“   úT.List[str]c                 ó¢   — 	 t          j        ddgt           j        t           j        ¬¦  «         n# t          t           j        f$ r g cY S w xY wdgS )NÚccacheú	--version©ÚstdoutÚstderr©Ú
subprocessÚ
check_callÚPIPEÚOSErrorÚCalledProcessErrorr…   r†   r‡   Údetect_ccachezBinaryTable.detect_ccache†  sa   € ð	ÝÔ! 8¨[Ð"9Å*Ä/ÕZdÔZiÐjÑjÔjÐjÐjøÝ�Ô6Ð7ð 	ð 	ð 	ØˆIˆIˆIð	øøøàˆzÐó   ‚-0 °AÁ
Ac                 ó¢   — 	 t          j        ddgt           j        t           j        ¬¦  «         n# t          t           j        f$ r g cY S w xY wdgS )NÚsccacherB  rC  rF  r…   r†   r‡   Údetect_sccachezBinaryTable.detect_sccacheŽ  sa   € ð	ÝÔ! 9¨kÐ":Å:Ä?Õ[eÔ[jÐkÑkÔkÐkÐkøÝ�Ô6Ð7ð 	ð 	ð 	ØˆIˆIˆIð	øøøàˆ{ÐrM  c                 ón   — t                                ¦   «         } | r| S t                                ¦   «         S r�   )r7  rP  rL  )Úcaches    r‡   Údetect_compiler_cachez!BinaryTable.detect_compiler_cache–  s4   € õ ×*Ò*Ñ,Ô,ˆØð 	ØˆLÝ×(Ò(Ñ*Ô*Ð*r†   Úentryr™   ú!T.Tuple[T.List[str], T.List[str]]c                óâ   — t          j        |¦  «        }|d         dk    r|dd …         }|                      ¦   «         }n-|d         dk    r|dd …         }|                      ¦   «         }ng }||fS )Nr   rA  r   rO  )r   ÚstringlistifyrL  rP  )rø   rT  ÚcompilerrA  s       r‡   Úparse_entryzBinaryTable.parse_entryž  s€   € åÔ)¨%Ñ0Ô0ˆà�AŒ;˜(Ò"Ð"Ø   ”|ˆHØ×&Ò&Ñ(Ô(ˆFˆFØ�aŒ[˜IÒ%Ð%Ø   ”|ˆHØ×'Ò'Ñ)Ô)ˆFˆFàˆFà˜ÐÐr†   r=  r’   r©   c                óz   — | j                              |¦  «        }|sdS |d                              ¦   «         sdS |S )z©Lookup binary in cross/native file and fallback to environment.

        Returns command with args as list if found, Returns `None` if nothing is
        found.
        Nr   )r8  r¤   re   )r�   r=  r>  s      r‡   Úlookup_entryzBinaryTable.lookup_entry­  sH   € ð ”-×#Ò# DÑ)Ô)ˆØð 	Ø�4Ø˜”×!Ò!Ñ#Ô#ð 	Ø�4Øˆr†   r�   )r8  r9  )r“   r?  )rT  r™   r“   rU  )r=  r’   r“   r©   )r   r€   r�   r�   ÚstaticmethodrL  rP  rS  r5  rY  r[  r…   r†   r‡   r7  r7  x  sÍ   € € € € € ð LPð
@ð 
@ð 
@ð 
@ð 
@ð ðð ð ñ „\ðð ðð ð ñ „\ðð ð+ð +ð +ñ „\ð+ð ð ð  ð  ñ „[ð ðð ð ð ð ð r†   r7  c                  ó    — e Zd Zd	d
d„Zdd„ZdS )ÚCMakeVariablesNÚ	variablesúT.Optional[T.Dict[str, T.Any]]r“   rå   c                ó  — |pi }i | _         |                     ¦   «         D ]h\  }}t          j        |¦  «        }|D ]B}t	          |t
          ¦  «        s+t          d|› d|› dt          |¦  «        j        › d�¦  «        ‚ŒC|| j         |<   Œid S )NzValue 'z' of CMake variable 'z!' defined in a machine file is a z and not a str)	r_  r;  r   r¬   r›   r’   r   rÐ   r   )r�   r_  rÓ   r¾   rž   s        r‡   r�   zCMakeVariables.__init__»  sß   € Ø�O ˆ	ØˆŒà#Ÿ/š/Ñ+Ô+ð 	(ð 	(‰JˆC�ÝÔ$ UÑ+Ô+ˆEØð Yð Y�Ý! !¥SÑ)Ô)ð YÝ.ð  0X¸ð  0Xð  0XÐQTð  0Xð  0XÕw{Ð|}Ñw~Ôw~ô  xHð  0Xð  0Xð  0Xñ  Yô  Yð  YðYà"'ˆDŒN˜3ÑÐð	(ð 	(r†   úT.Dict[str, T.List[str]]c                ó   — | j         S r�   )r_  ré   s    r‡   Úget_variableszCMakeVariables.get_variablesÆ  s
   € ØŒ~Ðr†   r�   )r_  r`  r“   rå   )r“   rb  )r   r€   r�   r�   rd  r…   r†   r‡   r^  r^  º  sA   € € € € € ð	(ð 	(ð 	(ð 	(ð 	(ðð ð ð ð ð r†   r^  )Ú
__future__r   Údataclassesr   rG  ÚtypingrÊ   Úenumr   r+  r   r   r	   r
   Úpathlibr   rö   rç   rP   r4  rt   ÚENV_VAR_PROG_MAPry   r{   r‰   rà   r7  r^  r…   r†   r‡   ú<module>rk     só  ðð #Ð "Ð "Ð "Ð "Ð "Ð "à !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ø Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð ð #Ð ðNð ð Ð ð-àˆð-ð 
ˆ5ð-ð 	ˆ%ð	-ð
 ˆð-ð ˆtð-ð ˆFð-ð ˆhð-ð ˆGð-ð ˆGð-ð ˆFð-ð ˆGð-ð ˆhð-ð  ˆGð!-ð" �'ð#-ð$ ˆyð%-ð& �ð'-ð( ˆzð)-Ð ð ð ð ñ ð0)àˆ$ð)ð 	ˆ$ð)ð 	ˆ$ð	)ð
 	ˆ$ð)ð ˆyð)ð ˆyð)ð ˆhð)ð ˆyð)ð ˆFð)ð ˆyð)ð ˆWð)ð ˆyð)ð  ˆWð!)ð" ˆWð#)ð$ �ð%)ð& �,ð')ð( ˆFð))ð* Ø ð-)ð )ð )Ð ð ð ð ñ ð2 @Ð*Ð?Ð.>Ð?Ð ð
 ØØØð	0ð 0Ð ð ð ð ñ ðð ð ð ð ˜Dñ ô ð ð
`1ð `1ð `1ð `1ð `1ñ `1ô `1ð `1ðD €�tÐÑÔðt5ð t5ð t5ð t5ð t5�.ñ t5ô t5ñ Ôðt5ðl@ð @ð @ð @ð @ñ @ô @ð @ðDð ð ð ð ñ ô ð ð ð r†   