§
    ™æVcò  ã                  ó8  — d dl mZ d dlZd dlZddlmZmZmZ ddl	m
Z
 ddlmZmZ ddlmZmZmZ dd	lmZmZ ej        rHd d
lmZmZ ddlmZ ddl	mZ ddlmZ ddlmZ ddlm Z  ddlm!Z!  G d„ de¦  «        Z" G d„ de¦  «        Z# G d„ de¦  «        Z$dd„Z%dS )é    )ÚannotationsNé   )ÚExtensionModuleÚModuleReturnValueÚ
ModuleInfoé   )ÚCustomTarget)ÚNoneTypeÚin_set_validator)Útyped_pos_argsÚtyped_kwargsÚ	KwargInfo)ÚFileÚMesonException)ÚLiteralÚ	TypedDict)ÚModuleState)Ú
Executable)Ú
Dependency)ÚInterpreter)ÚExternalProgram)ÚFileOrStringc                  ó8   — e Zd ZU ded<   ded<   ded<   ded<   dS )ÚScanXMLÚboolÚpublicÚclientÚserverÚinclude_core_onlyN©Ú__name__Ú
__module__Ú__qualname__Ú__annotations__© ó    ú</usr/lib/python3/dist-packages/mesonbuild/modules/wayland.pyr   r   #   s9   € € € € € € àˆˆ‰Øˆˆ‰Øˆˆ‰ØÐÐÑÐÐr&   r   c                  ó$   — e Zd ZU ded<   ded<   dS )ÚFindProtocolz(Literal['stable', 'staging', 'unstable']ÚstatezT.Optional[int]ÚversionNr    r%   r&   r'   r)   r)   *   s*   € € € € € € à7Ð7Ð7Ñ7Ø Ð Ð Ñ Ð Ð r&   r)   c                  ó–  ‡ — e Zd Z eddd¬¦  «        Zd&ˆ fd	„Z ed
eefd¬¦  «         e	d
 e
ded¬¦  «         e
ded¬¦  «         e
ded¬¦  «         e
dedd¬¦  «        ¦  «        d'd„¦   «         ¦   «         Z ede¦  «         e	d e
ded eh d£¦  «        ¬ ¦  «         e
d!eef¦  «        ¦  «        d(d%„¦   «         ¦   «         Zˆ xZS ))ÚWaylandModuleÚwaylandz0.62.0T)ÚunstableÚinterpreterr   ÚreturnÚNonec                óÂ   •— t          ¦   «                              |¦  «         d | _        d | _        d | _        | j                             | j        | j        dœ¦  «         d S )N)Úscan_xmlÚfind_protocol)	ÚsuperÚ__init__Úprotocols_depÚ
pkgdatadirÚscanner_binÚmethodsÚupdater4   r5   )Úselfr0   Ú	__class__s     €r'   r7   zWaylandModule.__init__3   sk   ø€ Ý‰Œ×Ò˜Ñ%Ô%Ð%à59ˆÔØ+/ˆŒØMQˆÔàŒ×ÒØœØ!Ô/ð
ð 
ñ 	ô 	ð 	ð 	ð 	r&   zwayland.scan_xmlr   )ÚvarargsÚmin_varargsr   F)Údefaultr   r   r   z0.64.0)rA   Úsincer*   r   ÚargsúT.Tuple[T.List[FileOrString]]Úkwargsr   r   c                ó¦  ‡— | j         €8|                     d¦  «        }|                     ddd|j        ¬¦  «        | _         ‰d         rdnd}ˆfd„t	          j        dd	d
g¦  «        D ¦   «         }|st          d¦  «        ‚| j                             |d         ¦  «        }g }|D �]}	t          j
                             t          j
                             |	j        ¦  «        ¦  «        d         }
t          |
› d�|j        |j        |j        | j         |› d�ddg|	g|
› d�g|j        ¬¦  «        }|                     |¦  «         |D ]{}| j         |› d�ddg}‰d         r|                     d¦  «         t          |
› d|› d�|j        |j        |j        ||	g|
› d|› d�g|j        ¬¦  «        }|                     |¦  «         Œ|�Œt)          ||¦  «        S )Nzwayland-clientzwayland-scannerÚwayland_scanner)Úwantedr   Úprivatec                ó$   •— g | ]}‰|         ¯
|‘ŒS r%   r%   )Ú.0ÚirE   s     €r'   ú
<listcomp>z*WaylandModule.scan_xml.<locals>.<listcomp>Q   s%   ø€ ÐmÐmÐm�qÐciÐjkÔclÐm�ÐmÐmÐmr&   z#T.List[Literal['client', 'server']]r   r   zFAt least one of client or server keyword argument must be set to true.r   z	-protocolz-codez@INPUT@z@OUTPUT@z-protocol.c)Úbackendz-headerr   z--include-core-onlyú-z-protocol.h)r:   Ú
dependencyÚ	find_toolr+   ÚTÚcastr   r0   Úsource_strings_to_filesÚosÚpathÚsplitextÚbasenameÚfnamer	   ÚsubdirÚ
subprojectÚenvironmentrN   Úappendr   )r=   r*   rC   rE   ÚdepÚscopeÚsidesÚ	xml_filesÚtargetsÚxml_fileÚnameÚcodeÚsideÚcommandÚheaders      `           r'   r4   zWaylandModule.scan_xml?   sJ  ø€ ð ÔÐ#ð ×"Ò"Ð#3Ñ4Ô4ˆCØ$ŸšÐ/@ÐBSÐUfØ69´kð  /ñ  Cô  CˆDÔð # 8Ô,Ð;��°)ˆàmÐmÐmÐm�AœFÐ#HÈ8ÐU]ÐJ^Ñ_Ô_ÐmÑmÔmˆØð 	kÝ Ð!iÑjÔjÐjàÔ$×<Ò<¸TÀ!¼WÑEÔEˆ	Ø(*ˆØ!ð 	'ñ 	'ˆHÝ”7×#Ò#¥B¤G×$4Ò$4°X´^Ñ$DÔ$DÑEÔEÀaÔHˆDåØÐ"Ð"Ð"Ø”ØÔ ØÔ!ØÔ! e ? ? ?°I¸zÐJØ�
ØÐ%Ð%Ð%Ð&Øœð	ñ 	ô 	ˆDð �NŠN˜4Ñ Ô Ð àð 'ð '�ØÔ+°Ð-=Ð-=Ð-=¸yÈ*ÐU�ØÐ-Ô.ð :Ø—N’NÐ#8Ñ9Ô9Ð9å%ØÐ-Ð-˜dÐ-Ð-Ð-Ø”LØÔ$ØÔ%ØØ�JØÐ0Ð0˜tÐ0Ð0Ð0Ð1Ø!œMð	ñ 	ô 	�ð —’˜vÑ&Ô&Ð&Ð&ñ'õ" ! ¨'Ñ2Ô2Ð2r&   zwayland.find_protocolÚstable>   ri   Ústagingr/   )rA   Ú	validatorr+   úT.Tuple[str]r)   r   c                óF  — |d         }|d         }|d         }|dk    r|€t          |› d�¦  «        ‚|dk    r|�t          d¦  «        ‚| j        €|                     d¦  «        | _        | j        €!| j                             dd¬	¦  «        | _        |dk    r|› d
�}n|dk    r	|› d|› d
�}n|› d|› d
�}t
          j                             | j        |||¦  «        }t
          j                             |¦  «        st          d|› d�¦  «        ‚t          j
        |¦  «        S )Nr   r*   r+   ri   z$ protocols require a version number.z1stable protocols do not require a version number.zwayland-protocolsr9   )Ú	pkgconfigÚinternalz.xmlrj   z-vz-unstable-vz	The file z does not exist.)r   r8   rP   r9   Úget_variablerU   rV   ÚjoinÚexistsr   Úfrom_absolute_file)	r=   r*   rC   rE   Ú	base_nameÚ	xml_stater+   Úxml_namerV   s	            r'   r5   zWaylandModule.find_protocoly   s\  € ð ˜”Gˆ	Ø˜7”Oˆ	Ø˜Ô#ˆà˜Ò Ð  W _Ý  IÐ!SÐ!SÐ!SÑTÔTÐTà˜Ò Ð  WÐ%8Ý Ð!TÑUÔUÐUàÔÐ%Ø!&×!1Ò!1Ð2EÑ!FÔ!FˆDÔàŒ?Ð"Ø"Ô0×=Ò=ÈÐ_kÐ=ÑlÔlˆDŒOà˜Ò Ð Ø#Ð)Ð)Ð)ˆHˆHØ˜)Ò#Ð#Ø#Ð4Ð4 wÐ4Ð4Ð4ˆHˆHà#Ð=Ð=°Ð=Ð=Ð=ˆHåŒw�|Š|˜DœO¨Y¸	À8ÑLÔLˆåŒw�~Š~˜dÑ#Ô#ð 	EÝ Ð!C¨TÐ!CÐ!CÐ!CÑDÔDÐDåÔ& tÑ,Ô,Ð,r&   )r0   r   r1   r2   )r*   r   rC   rD   rE   r   r1   r   )r*   r   rC   rl   rE   r)   r1   r   )r!   r"   r#   r   ÚINFOr7   r   Ústrr   r   r   r   r4   r   Úintr
   r5   Ú__classcell__)r>   s   @r'   r-   r-   /   s�  ø€ € € € € àˆ:�i °DÐ9Ñ9Ô9€Dð
ð 
ð 
ð 
ð 
ð 
ð €^Ð&°°d°ÈÐKÑKÔKØ€\ØØˆ	�(˜D¨%Ð0Ñ0Ô0Øˆ	�(˜D¨$Ð/Ñ/Ô/Øˆ	�(˜D¨%Ð0Ñ0Ô0Øˆ	Ð% t°TÀÐJÑJÔJñô ð03ð 03ð 03ñô ñ LÔKð03ðd €^Ð+¨SÑ1Ô1Ø€\ØØˆ	�'˜3¨Ð<LÐ<LÐMnÐMnÐMnÑ<oÔ<oÐpÑpÔpØˆ	�)˜c 8˜_Ñ-Ô-ñô ð
-ð -ð -ñô ñ 2Ô1ð-ð -ð -ð -ð -r&   r-   r0   r   r1   c                ó    — t          | ¦  «        S )N)r-   )r0   s    r'   Ú
initializer|   Ÿ   s   € Ý˜Ñ%Ô%Ð%r&   )r0   r   r1   r-   )&Ú
__future__r   rU   ÚtypingrR   Ú r   r   r   Úbuildr	   Úinterpreter.type_checkingr
   r   Úinterpreterbaser   r   r   Úmesonlibr   r   ÚTYPE_CHECKINGÚtyping_extensionsr   r   r   r   Údependenciesr   r0   r   Úprogramsr   r   r   r)   r-   r|   r%   r&   r'   ú<module>rˆ      sß  ðð #Ð "Ð "Ð "Ð "Ð "Ø 	€	€	€	Ø Ð Ð Ð à <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø  Ð  Ð  Ð  Ð  Ð  Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ +Ð +Ð +Ð +Ð +Ð +Ð +Ð +à„?ð !Ø4Ð4Ð4Ð4Ð4Ð4Ð4Ð4àÐÐÐÐÐØ"Ð"Ð"Ð"Ð"Ð"Ø)Ð)Ð)Ð)Ð)Ð)Ø)Ð)Ð)Ð)Ð)Ð)Ø*Ð*Ð*Ð*Ð*Ð*Ø'Ð'Ð'Ð'Ð'Ð'ð ð  ð  ð  ð  �)ñ  ô  ð  ð!ð !ð !ð !ð !�yñ !ô !ð !ð
m-ð m-ð m-ð m-ð m-�Oñ m-ô m-ð m-ð`&ð &ð &ð &ð &ð &r&   