U
�zk^�7 � @ s� d dl Z d dlZd dlmZ d dlmZ d dlmZ d dlm Z dZ
e�e
�Ze�dej
�Ze �e�Ze�d�Ze�d �Zer�es�e� Ze�d
� es�e�dd�d
d� Zes�e�dd��dd�Zzedd� e�d�D ��ZW n ek
r� e�d� Y nX zedd� e�d�D ��ZW n ek
�r: e�d� Y nX G dd� d�Zd'dd�Zdd� Z dd� Z!dd � Z"d!d"� Z#d#d$� Z$d(d%d&�Z%dS ))� N)�environ��exists)�ConfigParser)�
GeneratorTypez(-)?(\d\.\d+)(?:(-)(\d\.\d+)?)?z�
(?P<major>\d+)\.?
(?P<minor>\d+)?\.?
(?P<micro>\d+)?[.\s]?
(?P<releaselevel>alpha|beta|candidate|final)?[.\s]?
(?P<serial>\d+)?ZDEBPYTHON3_SUPPORTEDZDEBPYTHON3_DEFAULTz"/usr/share/python3/debian_defaults�DEFAULTzdefault-version� zsupported-versions�python� c c s | ]}t |�V qd S �N��int��.0�i� r �'/usr/share/python3/debpython/version.py� <genexpr>5 s r �.zcannot read debian_defaultsc c s* | ]"}t d d� |�� �d�D ��V qdS )c s s | ]}t |�V qd S r r )r �jr r r r 9 s z<genexpr>.<genexpr>r N)�tuple�strip�splitr r r r r 9 s ��,c @ s� e Zd Zddd�Zdd� Zdd� Zdd � Zd
d� Zdd
� Zdd� Z dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zddd�ZdS ) �VersionNc
C s� t |ttf�r"d�dd� |D ��}t |t�rLdD ]}t| |t||�� q0d S t� }|d= |d= |r�t� |�} | r|| �
� �� ng D ]$\}}|d k r�|| d kr�|||< |