File: //lib64/python3.9/__pycache__/ipaddress.cpython-39.opt-2.pyc
a
    �DOg*3 �                   @   s�  d Z ddlZdZdZG dd� de�ZG dd� de�Zd	d
� Zd<dd
�Zdd� Z	dd� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� Zdd� Zd d!� ZG d"d#� d#�ZdaejG d$d%� d%e��ZejG d&d'� d'e��ZG d(d)� d)�ZG d*d+� d+ee�ZG d,d-� d-e�ZG d.d/� d/ee�ZG d0d1� d1�Zee_G d2d3� d3�ZG d4d5� d5ee�ZG d6d7� d7e�Z G d8d9� d9ee�Z!G d:d;� d;�Z"e"e_dS )=z1.0�    N�    �   c                   @   s   e Zd ZdS )�AddressValueErrorN��__name__�
__module__�__qualname__� r	   r	   �!/usr/lib64/python3.9/ipaddress.pyr      s   r   c                   @   s   e Zd ZdS )�NetmaskValueErrorNr   r	   r	   r	   r
   r      s   r   c              	   C   sV   z
t | �W S  ttfy    Y n0 z
t| �W S  ttfyB   Y n0 t| �d���d S )Nz. does not appear to be an IPv4 or IPv6 address)�IPv4Addressr   r   �IPv6Address�
ValueError��addressr	   r	   r
   �
ip_address   s    
r   Tc              	   C   sZ   zt | |�W S  ttfy"   Y n0 zt| |�W S  ttfyF   Y n0 t| �d���d S )Nz. does not appear to be an IPv4 or IPv6 network)�IPv4Networkr   r   �IPv6Networkr   )r   �strictr	   r	   r
   �
ip_network8   s    r   c              	   C   sV   z
t | �W S  ttfy    Y n0 z
t| �W S  ttfyB   Y n0 t| �d���d S )Nz0 does not appear to be an IPv4 or IPv6 interface)�
IPv4Interfacer   r   �
IPv6Interfacer   r   r	   r	   r
   �ip_interfaceU   s    
r   c                 C   s.   z| � dd�W S  ty(   td��Y n0 d S )N�   �bigz&Address negative or too large for IPv4��to_bytes�
OverflowErrorr   r   r	   r	   r
   �v4_int_to_packedw   s    r   c                 C   s.   z| � dd�W S  ty(   td��Y n0 d S )N�   r   z&Address negative or too large for IPv6r   r   r	   r	   r
   �v6_int_to_packed�   s    
r    c                 C   s,   t | ��d�}t|�dkr(td| ����|S )N�/�   zOnly one '/' permitted in )�str�split�lenr   )r   �addrr	   r	   r
   �_split_optional_netmask�   s    r'