o
    Þý°j  ã                   @   s   d Z G dd„ dƒZdS )z&Serial Number Arthimetic from RFC 1982c                   @   sx   e Zd Zddedefdd„Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ Zdd„ ZdS )ÚSerialé    ÚvalueÚbitsc                 C   s   |d|  | _ || _d S )Né   ©r   r   )Úselfr   r   © r   ú}/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/dns/serial.pyÚ__init__   s   
zSerial.__init__c                 C   s   d| j › d| j› d�S )Nzdns.serial.Serial(z, ú)r   )r   r   r   r	   Ú__repr__   s   zSerial.__repr__c                 C   s>   t |tƒrt|| jƒ}nt |tƒr|j| jkrtS | j|jkS ©N©Ú
isinstanceÚintr   r   ÚNotImplementedr   ©r   Úotherr   r   r	   Ú__eq__   ó
   
zSerial.__eq__c                 C   s>   t |tƒrt|| jƒ}nt |tƒr|j| jkrtS | j|jkS r   r   r   r   r   r	   Ú__ne__   r   zSerial.__ne__c                 C   sŠ   t |tƒrt|| jƒ}nt |tƒr|j| jkrtS | j|jk r.|j| j d| jd  k r.dS | j|jkrC| j|j d| jd  krCdS dS ©Nr   é   TFr   r   r   r   r	   Ú__lt__   ó   
&ÿzSerial.__lt__c                 C   s   | |kp| |k S r   r   r   r   r   r	   Ú__le__*   ó   zSerial.__le__c                 C   sŠ   t |tƒrt|| jƒ}nt |tƒr|j| jkrtS | j|jk r.|j| j d| jd  kr.dS | j|jkrC| j|j d| jd  k rCdS dS r   r   r   r   r   r	   Ú__gt__-   r   zSerial.__gt__c                 C   s   | |kp| |kS r   r   r   r   r   r	   Ú__ge__;   r   zSerial.__ge__c                 C   sl   | j }t|tƒr|j }n
t|tƒr|}nt‚t|ƒd| jd  d kr%t‚||7 }|d| j  }t|| jƒS ©Nr   r   ©r   r   r   r   Ú
ValueErrorÚabsr   ©r   r   ÚvÚdeltar   r   r	   Ú__add__>   ó   

zSerial.__add__c                 C   sj   | j }t|tƒr|j }n
t|tƒr|}nt‚t|ƒd| jd  d kr%t‚||7 }|d| j  }|| _ | S r   r    r#   r   r   r	   Ú__iadd__L   ó   

zSerial.__iadd__c                 C   sl   | j }t|tƒr|j }n
t|tƒr|}nt‚t|ƒd| jd  d kr%t‚||8 }|d| j  }t|| jƒS r   r    r#   r   r   r	   Ú__sub__[   r'   zSerial.__sub__c                 C   sj   | j }t|tƒr|j }n
t|tƒr|}nt‚t|ƒd| jd  d kr%t‚||8 }|d| j  }|| _ | S r   r    r#   r   r   r	   Ú__isub__i   r)   zSerial.__isub__N)r   )Ú__name__Ú
__module__Ú__qualname__r   r
   r   r   r   r   r   r   r   r&   r(   r*   r+   r   r   r   r	   r      s    r   N)Ú__doc__r   r   r   r   r	   Ú<module>   s   