
    :Mc                     6    d Z dZdZddZ ee ee          ZdS ))          Nc                    d}|t          |          dz   }nd}d                    t          t           |                     }g d}dk    r-t          fd|D                       st	          |dz             }|dk    r|nr|                    d          s-|                    d	          rd                    d|g          n0|                    d
          r|n|dk    rt	          |dz             |dk    r?t          fdt          d          D                       sd                    dg          d                    |||g          }	ddlfd}
 |
|	          r|	S t	          |          )a'  
    Creates a pep440 valid version of version number given a tuple integers
    and optional epoch, prerelease and developmental info.

    Parameters
    ----------
    release_info : Tuple(Int)
    epoch : Int, default None
    pre_input : Str, default ''
    dev_input : Str, default ''
    z<The version number is not a pep 440 compliant version numberN!r   .)abrcc                 :    g | ]}                     |          S  )
startswith).0prefix	pre_inputs     2lib/python3.11/site-packages/nbconvert/_version.py
<listcomp>z(create_valid_version.<locals>.<listcomp>   s'    #Z#Z#ZVI$8$8$@$@#Z#Z#Z    z%
 please fix your prerelease segment.devz.devz&
 please fix your development segment.c                 T    g | ]$}                     t          |                    %S r   )endswithstr)r   ndev_segs     r   r   z(create_valid_version.<locals>.<listcomp>+   s-    #P#P#PG$4$4SVV$<$<#P#P#Pr   
   0    c                 4                         d|           d uS )Nzk^([1-9]\d*!)?(0|[1-9]\d*)(\.(0|[1-9]\d*))*((a|b|rc)(0|[1-9]\d*))?(\.post(0|[1-9]\d*))?(\.dev(0|[1-9]\d*))?$)match)versionres    r   is_canonicalz*create_valid_version.<locals>.is_canonical2   s-    HH> 	  	
r   )r   joinmapany
ValueErrorr   ranger!   )release_infoepochr   	dev_input
pep440_err	epoch_segrelease_seg
_magic_prepre_segout_versionr"   r   r!   s     `        @@r   create_valid_versionr1      s    PJ JJ$			((3sL1122K!!!JB s#Z#Z#Z#Zz#Z#Z#Z[[ &NNOOOB Q!!#&& Q9+?+?+F+F Q''3	*++			f	%	% Q	b Q&OOPPPB *s#P#P#P#PeBii#P#P#PQQ *''7C.))''9k7GDEEKIII	
 	
 	
 	
 	
 |K   %$$$r   )r   r*   )Nr   r   )version_infopre_infodev_infor1   __version__r   r   r   <module>r6      sF   :% :% :% :%z #"<8xXXXr   