+
    JV-j}  ã                  ó¨   € ^ RI Ht ^ RIt^ RIHtHt ^RIHtHt . ROt	R R lt
]P                  ! R	4      t]! R]4      t  ! R
 R]4      tR R ltR# )é    )ÚannotationsN)ÚNewTypeÚcast)Ú
EXCEPTIONSÚLICENSESÚInvalidLicenseExpressionÚNormalizedLicenseExpressionc               ó   € V ^8„  d   QhRR/# )é   Úreturnz	list[str]© )Úformats   "Úl/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/packaging/licenses/__init__.pyÚ__annotate__r   /   s   € ÷ ñ �ñ ó    c                 ó   € \         # )N)Ú__all__r   r   r   Ú__dir__r   /   s   € Ü€Nr   z^[A-Za-z0-9.-]*$c                  ó   € ] tR t^<tRtRtR# )r   a$  Raised when a license-expression string is invalid

>>> from packaging.licenses import canonicalize_license_expression
>>> canonicalize_license_expression("invalid")
Traceback (most recent call last):
    ...
packaging.licenses.InvalidLicenseExpression: Invalid license expression: 'invalid'
r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__static_attributes__r   r   r   r   r   <   s   † õr   c               ó    € V ^8„  d   QhRRRR/# )r   Úraw_license_expressionÚstrr   r	   r   )r   s   "r   r   r   G   s    € ÷ sñ sØðsà ñsr   c           	     ó”  € V '       g   RV : 2p\        V4      hV P                  RR4      P                  RR4      pRpVP                  4        Uu/ uF\  pVP                  4       P	                  VP                  4       4      '       g   K8  VP                  4       RV\        V4      R ,           bK^  	  ppVP                  4       pVP                  4       p. pV F“  pVR9  d   VP                  R
4       K  VR	8X  d   VP                  R4       K7  VR8X  d   V'       d   VR,          R9  g   VR8X  d(   V'       d    VR,          R8X  d   RV : 2p\        V4      hVP                  V4       K•  	  RP                  V4      p	 \        V	RR4       . p
T EFP  pTR9   d"   T
P                  TP                  4       4       K,  T
'       dP   T
R,          R8X  dB   T\        9  d   RT: 2p\        T4      hT
P                  \        T,          R,          4       Kƒ  TP                  R4      '       d	   TRR pRpMTpRpTP	                  R4      '       dN   \        P                  T4      '       g   RT: 2p\        T4      hT
P                  Y[,          T,           4       EK
  T\        9  d   RT: 2p\        T4      hT
P                  \        T,          R,          T,           4       EKS  	  RP                  T
4      p\!        RTP                  RR4      P                  RR4      4      # u upi   \         d    RT : 2p\        T4      Rhi ; i)a<  
This function takes a valid License-Expression, and returns the normalized
form of it.

The return type is typed as :class:`NormalizedLicenseExpression`. This
allows type checkers to help require that a string has passed through this
function before use.

:param str raw_license_expression: The License-Expression to canonicalize.
:raises InvalidLicenseExpression: If the License-Expression is invalid due to an
    invalid/unknown license identifier or invalid syntax.

.. doctest::

    >>> from packaging.licenses import canonicalize_license_expression
    >>> canonicalize_license_expression("mit")
    'MIT'
    >>> canonicalize_license_expression("mit and (apache-2.0 or bsd-2-clause)")
    'MIT AND (Apache-2.0 OR BSD-2-Clause)'
    >>> canonicalize_license_expression("(mit")
    Traceback (most recent call last):
      ...
    InvalidLicenseExpression: Invalid license expression: '(mit'
    >>> canonicalize_license_expression("Use-it-after-midnight")
    Traceback (most recent call last):
      ...
    InvalidLicenseExpression: Unknown license: 'Use-it-after-midnight'
zInvalid license expression: Ú(z ( Ú)z ) zLicenseRef-NÚorÚwithÚFalseÚ Ú ÚevalÚWITHzUnknown license exception: ÚidÚ+zlicenseref-zInvalid licenseref: zUnknown license: r	   z( z )>   r    r!   r"   Úandr#   éÿÿÿÿ>   r    r"   r+   )r   ÚreplaceÚsplitÚlowerÚ
startswithÚlenÚappendÚjoinÚcompileÚSyntaxErrorÚupperr   ÚendswithÚlicense_ref_allowedÚmatchr   r   )r   ÚmessageÚlicense_expressionÚlicenseref_prefixÚrefÚlicense_refsÚtokensÚpython_tokensÚtokenÚpython_expressionÚnormalized_tokensÚfinal_tokenÚsuffixÚnormalized_expressions   &             r   Úcanonicalize_license_expressionrG   G   s%  € ÷> "Ø0Ð1GÑ0JÐKˆÜ& wÓ/Ð/ð 0×7Ñ7¸¸UÓC×KÑKÈCÐQVÓWÐØ%Ðð &×+Ñ+Ô-óá-ˆCØ�9‰9‹;×!Ñ!Ð"3×"9Ñ"9Ó";×<ô 	Cˆ�	‰	‹�] S¬Ð->Ó)?Ð)AÐ%BÕBÒBÙ-ð ð ð ,×1Ñ1Ó3Ðà×%Ñ%Ó'€Fð €MÛˆØÐ7Ô7Ø× Ñ  Ö)Ø�fŒ_Ø× Ñ  Ö&à�SŒLßØ˜bÕ!Ð);Ô;Ø�sŒlŸ}°¸rÕ1BÀcÔ1IØ4Ð5KÑ4NÐOˆGÜ*¨7Ó3Ð3à× Ñ  Ö'ñ ð Ÿ™ Ó/Ðð:ÜÐ! 2 vÔ.ð ÐÜˆØÐ3Ô3Ø×$Ñ$ U§[¡[£]Ô3ÙçÐ!2°2Õ!6¸&Ô!@ØœJÔ&Ø7¸±yÐA�Ü.¨wÓ7Ð7à×$Ñ$¤Z°Õ%6°tÕ%<Ö=à�~‰~˜c×"Ò"Ø# C R˜j�Ø‘à#�Ø�à×%Ñ% m×4Ò4Ü*×0Ñ0°×=Ò=Ø 4°[±OÐD�GÜ2°7Ó;Ð;Ø!×(Ñ(¨Õ)BÀVÕ)K×Là¤hÔ.Ø 1°+±ÐA�GÜ2°7Ó;Ð;Ø!×(Ñ(¬°+Õ)>¸tÕ)DÀvÕ)M×Nñ9 ð<  ŸH™HÐ%6Ó7ÐäØ%Ø×%Ñ% d¨CÓ0×8Ñ8¸¸sÓCóð ùòSøôF ô :Ø0Ð1GÑ0JÐKˆÜ& wÓ/°TÐ9ð:ús   Á5L$Â
(L$ÆL) Ì)M)r   r	   rG   )Ú
__future__r   ÚreÚtypingr   r   Ú_spdxr   r   r   r   r4   r8   r   r	   Ú
ValueErrorr   rG   r   r   r   Ú<module>rM      sW   ðõ@ #ã 	ß  ç 'ò€õð —j’jÐ!3Ó4Ð á%Ð&CÀSÓIÐ ðô˜zô ÷sr   