o
    Á¿ix  ã                   @   sv   d dl Z d dl mZ d dlm  m  mZ d dlmZ de	de
eeef fdd„Zd
dee	 de	fdd	„Zeƒ ZdS )é    N)ÚOptional)Ú__version__ÚversionÚreturnc                 C   s˜   d| v r
|   ¡ d } zt | ¡}W n tjy   Y dS w |js"dS t|jƒdkr.|jd ndt|jƒdkr;|jd ndt|jƒdkrI|jd fS dfS )aS  Convert a version string to a tuple of (major, minor, micro)

    Examples::

       1.2.3           -> (1, 2, 3)
       1.2             -> (1, 2, 0)
       1               -> (1, 0, 0)
       1.0.0-beta1     -> (1, 0, 0)
       2020.6.19       -> (2020, 6, 19)
       malformed       -> (0, 0, 0)
       10.5.0 extra    -> (10, 5, 0)
    ú r   )r   r   r   é   é   é   )ÚsplitÚpackaging_versionÚparseÚInvalidVersionÚreleaseÚlen)r   Úparsed© r   úR/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/internal/utils/version.pyÚparse_version   s   þýýr   c                 C   sD   | pt }d|v rd|vr| ddd¡}|S d|v r | ddd¡}|S )NÚrcz-rcr   z.devz-dev)r   Úreplace)r   Útracer_versionr   r   r   Ú_pep440_to_semver5   s   þr   )N)Útypingr   Ú ddtrace.vendor.packaging.versionÚvendorÚ	packagingr   r   Úddtrace.versionr   ÚstrÚtupleÚintr   r   r   r   r   r   Ú<module>   s    -
