Ë
    -Œ:j…  ã                   ó  — U d Z ddlZddlZ ej                  dej                  «      Zdddddd	œZeee	f   e
d
<   ddddddddœZeee	f   e
d<   dede	fd„Zdede	fd„Zdedeee	f   de	fd„Zde	dz  defd„Zdedefd„Zy)z&Parsing helpers shared across modules.é    Nz(\d+)([a-z]+)iè  i@B i Êš;l    J)£l     �Iú5 )ÚkÚmÚgÚtÚpÚ
BYTE_UNITSé   é<   é  é€Q é€:	 é �' é€3á)Úsr   ÚhÚdÚwÚmoÚyÚ
TIME_UNITSÚvalueÚreturnc                 ó"   — t        | t        «      S )zaParse a size expressed as a string with digits and unit (like `"10MB"`) to an integer (in bytes).)Ú_parse_with_unitr   ©r   s    ú`/var/www/html/tokenscope/api/venv/lib/python3.12/site-packages/huggingface_hub/utils/_parsing.pyÚ
parse_sizer   )   ó   € ä˜E¤:Ó.Ð.ó    c                 ó"   — t        | t        «      S )zfParse a duration expressed as a string with digits and unit (like `"10s"`) to an integer (in seconds).)r   r   r   s    r   Úparse_durationr!   .   r   r   Úunitsc           	      óš  — | j                  «       }|st        d«      ‚	 t        | «      S # t        $ r Y nw xY wt        j	                  |«      }|st        d| › d�«      ‚t        |j                  d«      «      }|j                  d«      j                  «       }||vr)t        d|› dt        |j                  «       «      › d�«      ‚|||   z  S )	z)Parse a numeric value with optional unit.zValue cannot be empty.zInvalid value 'z7'. Must match pattern '\d+[a-z]+' or be a plain number.r	   é   zUnknown unit 'z'. Must be one of ú.)	ÚstripÚ
ValueErrorÚintÚRE_NUMBER_WITH_UNITÚ	fullmatchÚgroupÚlowerÚlistÚkeys)r   r"   ÚstrippedÚmatchÚnumberÚunits         r   r   r   3   sÎ   € à�{‰{‹}€HÙÜÐ1Ó2Ð2ðÜ�5‹zÐøÜò Ùðúô  ×)Ñ)¨(Ó3€EÙÜ˜?¨5¨'Ð1iÐjÓkÐkä�—‘˜Q“Ó €FØ�;‰;�q‹>×ÑÓ!€Dà�5ÑÜ˜>¨$¨Ð/AÄ$ÀuÇzÁzÃ|ÓBTÐAUÐUVÐWÓXÐXà�E˜$‘KÑÐs   Ÿ
* ª	6µ6Úsecsc                 óz   — | €yt        | «      } | dk  r| › d�S | dk  r| dz  › d| dz  › d�S | dz  › d| dz  dz  › d�S )zÄFormat a duration in seconds as a short human-readable string (e.g. `"1m 32s"`, `"2h 15m"`, `"45s"`).

    Returns `"--"` when `secs` is `None` so it can be used directly as a CLI table cell.
    z--r
   r   r   zm zh r   )r(   )r3   s    r   Úformat_durationr5   J   sk   € ð
 €|ØÜˆt‹9€DØˆb‚yØ��qˆzÐØˆd‚{Ø˜"‘*�˜R  r¡	˜{¨!Ð,Ð,Ø�d‰lˆ^˜2˜t d™{¨rÑ1Ð2°!Ð4Ð4r   Útsc                 ó®   — d}t        j                   «       | z
  }|dk  ry|D ]  \  }}}t        ||z  «      }|€Œ||k  sŒ n › d› |dkD  rd› d�S d› d�S )	zˆFormat timestamp in seconds into a human-readable string, relative to now.

    Vaguely inspired by Django's `timesince` formatter.
    ))Úsecondr	   r
   )Úminuter
   r
   )Úhourr   é   )Údayr   é   )Úweekr   r=   )Úmonthr   é   )Úyearr   Né   za few seconds agoú r	   r   Ú z ago)ÚtimeÚround)r6   Ú_TIMESINCE_CHUNKSÚdeltaÚlabelÚdividerÚ	max_valuer   s          r   Úformat_timesincerL   Y   s‡   € ð
	Ðô �I‰I‹K˜"Ñ€EØˆr‚zØ"Ø%6ò Ñ!ˆˆw˜	Ü�e˜g‘oÓ&ˆØÑ  U¨iÓ%7Ùðð ˆW�A�e�W E¨A¢I˜SÐ6°dÐ;Ð;°2Ð6°dÐ;Ð;r   )Ú__doc__ÚrerE   ÚcompileÚ
IGNORECASEr)   r   ÚdictÚstrr(   Ú__annotations__r   r   r!   r   r5   ÚfloatrL   © r   r   ú<module>rV      sð   ðò -ã 	Û ð !�b—j‘jÐ!1°2·=±=ÓAÐ ð 
Ø	Ø	Ø	Ø	ñ€
ˆD��c�‰Nó ð 
Ø	Ø	Ø	Ø	Ø
Ø	ñ€
ˆD��c�‰Nó ð/�cð /˜có /ð
/˜#ð / #ó /ð
 ˜Cð  ¨¨S°#¨X©ð  ¸3ó  ð.5˜# ™*ð 5¨ó 5ð<˜ð < 3ô <r   