ó
    ÌÅLg¼	  ã                   óÐ   • % S SK rS SKrS SKrS SKJrJrJr  S\S\4S jr	S\S\
4S jr0 r\\\
4   \S'   S	\S\
4S
 jrS	\S\
SS4S jrS// SQS/S/S/S/S.r\\\\   4   \S'   g)é    N)ÚDictÚListÚTupleÚversionÚreturnc                 óø   • U R                  S5      n/ nU HE  nSR                  [        R                  " S U5      5      n UR	                  [        U5      5        MG     [        U5      $ ! [         a       M  f = f)NÚ.Ú c                 ó(   • U [         R                  ;   $ )N)ÚstringÚdigits)Úxs    Ú//usr/lib/python3/dist-packages/dns/_features.pyÚ<lambda>Ú"_tuple_from_text.<locals>.<lambda>   s   € ¨!¬v¯}©}Ò*<ó    )ÚsplitÚjoinÚ	itertoolsÚ	takewhileÚappendÚintÚ	ExceptionÚtuple)r   Ú
text_partsÚ	int_partsÚ	text_partÚdigit_prefixs        r   Ú_tuple_from_textr   	   sw   € Ø—‘˜sÓ#€JØ€IÛˆ	Ø—w‘wÜ×ÒÑ <¸iÓHó
ˆð	Ø×ÑœS Ó.Ö/ñ  ô �ÓÐøô ó 	Ûð	ús   ÁA*Á*
A9Á8A9Úrequirementc                 óÌ   • U R                  S5      u  p [        R                  R                  U5      nUc  g [        U5      n[        U5      nXE:  a  gg! [         a     gf = f)zYIs the requirement fulfilled?

The requirement must be of the form

    package>=version
z>=FT)r   Ú	importlibÚmetadatar   r   r   )r    ÚpackageÚminimumr   Ú	t_versionÚ	t_minimums         r   Ú_version_checkr(      su   € ð #×(Ñ(¨Ó.Ñ€GðÜ×$Ñ$×,Ñ,¨WÓ5ˆà‰?Øð ô ! Ó)€IÜ  Ó)€IØÓØØøô ó Ùðús   •"A Á
A#Á"A#Ú_cacheÚfeaturec                 óÎ   • [         R                  U 5      nUb  U$ [        R                  U 5      nUc
  S[         U '   gSnU H  n[        U5      (       a  M  Sn  O   U[         U '   U$ )zÚIs *feature* available?

This tests if all optional packages needed for the
feature are available and recent enough.

Returns ``True`` if the feature is available,
and ``False`` if it is not or if metadata is
missing.
FT)r)   ÚgetÚ_requirementsr(   )r*   ÚvalueÚrequirementsÚokr    s        r   Úhaver1   2   sq   € ô �J‰J�wÓ€EØÑØˆÜ ×$Ñ$ WÓ-€LØÑàŒˆw‰ØØ	€BÛ#ˆÜ˜k×*Ó*ØˆBÙñ $ð „Fˆ7�OØ€Ir   Úenabledc                 ó   • U[         U '   g)zŸForce the status of *feature* to be *enabled*.

This method is provided as a workaround for any cases
where importlib.metadata is ineffective, or for testing.
N)r)   )r*   r2   s     r   Úforcer4   M   s   € ð „Fˆ7‚Or   zcryptography>=43)zhttpcore>=1.0.0zhttpx>=0.26.0z	h2>=4.1.0zaioquic>=1.0.0z	idna>=3.7z
trio>=0.23z
wmi>=1.5.1)ÚdnssecÚdohÚdoqÚidnaÚtrioÚwmir-   )Úimportlib.metadatar"   r   r   Útypingr   r   r   Ústrr   Úboolr(   r)   Ú__annotations__r1   r4   r-   © r   r   Ú<module>rA      sº   ðô Û Û ß $Ñ $ð˜cð  eô ðØðà	ôð0 €ˆˆS�$ˆY‰Ó ð�#ð ˜$ô ð6�3ð  ð ¨$ô ð "Ð"Ú<ØÐØˆMØˆNØˆ>ñ	'€ˆt�C˜˜c™�NÑ#ô 	r   