Ë
    :vžjJ  ã                   ó  — d dl Z d dlZ ej                  d«      Z ej                  d«      Z ej                  d«      Zdefd„Z e«       adefd„Z	d„ Z
d	„ Zd
eddfd„Zd
edefd„Zdeddfd„Zd„ Zdedefd„Zd„ Zd„ Zy)é    Nz^[a-zA-Z_:][a-zA-Z0-9_:]*$z^[a-zA-Z_][a-zA-Z0-9_]*$z^__.*$Úreturnc                  ób   — t         j                  j                  dd«      j                  «       dv S )z2Retrieve name validation setting from environment.Ú!PROMETHEUS_LEGACY_NAME_VALIDATIONÚFalse)ÚtrueÚ1Út)ÚosÚenvironÚgetÚlower© ó    úm/workspace/moltex-experiments/.pixi/envs/default/lib/python3.12/site-packages/prometheus_client/validation.pyÚ_init_legacy_validationr   	   s'   € ä�:‰:�>‰>Ð=¸wÓG×MÑMÓOÐSeÐeÐer   c                  ó   — t         S )z;Return the current status of the legacy validation setting.©Ú_legacy_validationr   r   r   Úget_legacy_validationr      s   € äÐr   c                  ó   — da y)zEDisable legacy name validation, instead allowing all UTF8 characters.FNr   r   r   r   Údisable_legacy_validationr      s
   € ð Ñr   c                  ó   — da y)zFEnable legacy name validation instead of allowing all UTF8 characters.TNr   r   r   r   Úenable_legacy_validationr      s
   € ð Ñr   Únamec                 óÊ   — | st        d«      ‚t        r#t        j                  | «      st        d| z   «      ‚	 | j	                  d«       y# t
        $ r t        d| z   «      ‚w xY w)z©Raises ValueError if the provided name is not a valid metric name.
    
    This check uses the global legacy validation setting to determine the validation scheme.
    zmetric name cannot be emptyzinvalid metric name úutf-8N)Ú
ValueErrorr   ÚMETRIC_NAME_REÚmatchÚencodeÚUnicodeDecodeError©r   s    r   Ú_validate_metric_namer#   "   sf   € ñ
 ÜÐ6Ó7Ð7ÝÜ×#Ñ# DÔ)ÜÐ3°dÑ:Ó;Ð;ð8Ø�‰�GÕøÜò 8ÜÐ/°$Ñ6Ó7Ð7ð8ús   ¸A
 Á
A"c                 óN   — t        | «      dk(  ryt        j                  | «      duS )zRReturns true if the provided metric name conforms to the legacy validation scheme.r   FN)Úlenr   r   r"   s    r   Ú_is_valid_legacy_metric_namer&   2   s&   € ä
ˆ4ƒy�A‚~ØÜ×Ñ Ó%¨TÐ1Ð1r   Útokc                 óú   — | st        d| z   «      ‚| d   dk(  xr | d   dk(  }|rt        r$t        j                  | «      st        d| z   «      ‚y	 | j	                  d«       y# t
        $ r t        d| z   «      ‚w xY w)zeRaises ValueError if a parsed label name token is invalid. 
    
    UTF-8 names must be quoted.
    zinvalid label name token r   Ú"éÿÿÿÿNr   )r   r   ÚMETRIC_LABEL_NAME_REr   r    r!   )r'   Úquoteds     r   Ú!_validate_metric_label_name_tokenr-   9   s‹   € ñ
 ÜÐ4°sÑ:Ó;Ð;Ø�‰V�s‰]Ò-˜s 2™w¨#™~€FÙÕ'Ü#×)Ñ)¨#Ô.ÜÐ8¸3Ñ>Ó?Ð?Øð<Ø�
‰
�7ÕøÜò <ÜÐ4°sÑ:Ó;Ð;ð<ús   ÁA" Á"A:c                 óF  — t        «       rGt        j                  | «      st        d| z   «      ‚t        j                  | «      rt        d| z   «      ‚y	 | j                  d«       t        j                  | «      rt        d| z   «      ‚y# t        $ r t        d| z   «      ‚w xY w)z¨Raises ValueError if the provided name is not a valid label name.
    
    This check uses the global legacy validation setting to determine the validation scheme.
    zInvalid label metric name: zReserved label metric name: r   N)r   r+   r   r   ÚRESERVED_METRIC_LABEL_NAME_REr    r!   ©Úls    r   Ú_validate_labelnamer2   K   s©   € ô
 ÔÜ#×)Ñ)¨!Ô,ÜÐ:¸QÑ>Ó?Ð?Ü(×.Ñ.¨qÔ1ÜÐ;¸aÑ?Ó@Ð@ð 2ð	@Ø�H‰H�WÔô )×.Ñ.¨qÔ1ÜÐ;¸aÑ?Ó@Ð@ð 2øô "ò 	@ÜÐ:¸QÑ>Ó?Ð?ð	@ús   ÁB ÂB r1   c                 óz   — t        | «      dk(  ryt        j                  | «      €yt        j                  | «      du S )zQReturns true if the provided label name conforms to the legacy validation scheme.r   FN)r%   r+   r   r/   r0   s    r   Ú_is_valid_legacy_labelnamer4   ^   s:   € ä
ˆ1ƒv�‚{ØÜ×!Ñ! !Ó$Ð,ØÜ(×.Ñ.¨qÓ1°TÐ9Ð9r   c                 óx   — t        |«      }|D ])  }t        |«       || j                  v sŒt        d|z   «      ‚ |S )z°Raises ValueError if any of the provided names is not a valid label name.
    
    This check uses the global legacy validation setting to determine the validation scheme.
    z Reserved label methe fric name: )Útupler2   Ú_reserved_labelnamesr   )ÚclsÚ
labelnamesr1   s      r   Ú_validate_labelnamesr:   g   sG   € ô
 �zÓ"€JÛˆÜ˜AÔØ�×(Ñ(Ò(ÜÐ?À!ÑCÓDÐDð ð Ðr   c                 ó¦   — d}| j                  «       D ],  \  }}t        |«       |t        |«      z  }|t        |«      z  }Œ. |dkD  rt        d«      ‚y)z-Raises ValueError if the exemplar is invalid.r   é€   zDExemplar labels have %d UTF-8 characters, exceeding the limit of 128N)Úitemsr2   r%   r   )ÚexemplarÚrunesÚkÚvs       r   Ú_validate_exemplarrB   t   sX   € à€EØ—‘Ö ‰ˆˆ1Ü˜AÔØ”�Q“‰ˆØ”�Q“‰‰ð !ð ˆs‚{ÜÐ_Ó`Ð`ð r   )r
   ÚreÚcompiler   r+   r/   Úboolr   r   r   r   r   Ústrr#   r&   r-   r2   r4   r:   rB   r   r   r   Ú<module>rG      sË   ðÛ 	Û 	à�—‘Ð9Ó:€Ø!�r—z‘zÐ"=Ó>Ð Ø * §
¡
¨9Ó 5Ð ðf ó fñ
 -Ó.Ð ð˜tó ò
òð8 ð 8¨ó 8ð 2 sð 2¨tó 2ð<¨3ð <°4ó <ò$Að&: #ð :¨$ó :ò
óar   