HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //var/opt/nydus/ops/asn1crypto/__pycache__/_inet.cpython-39.pyc
a

�,�h5�@s`ddlmZmZmZmZddlZddlZddlmZddl	m
Z
mZmZm
Z
dd�Zdd	�ZdS)
�)�unicode_literals�division�absolute_import�print_functionN�)�unwrap)�byte_cls�
bytes_to_list�str_cls�	type_namec
Csn|ttjtjg�vr6ttdttj�ttj�t|����t|t�sRt	tdt
|����|tjkr`dnd}t|�|kr�ttd|t|����|tjkr�dtt
|��St�d|�}i}d}d	}t|d
�D]P\}}|dk�r|d	u�r||}	|	|vr�|||	<t||	�}d	}q�|d	ur�|}q�dd�|D�}
|d
k�r6d�|
�S||}||}d�|
d	|��dd�|
|d	��S)a
    Windows compatibility shim for socket.inet_ntop().

    :param address_family:
        socket.AF_INET for IPv4 or socket.AF_INET6 for IPv6

    :param packed_ip:
        A byte string of the network form of an IP address

    :return:
        A unicode string of the IP address
    �p
            address_family must be socket.AF_INET (%s) or socket.AF_INET6 (%s),
            not %s
            zA
            packed_ip must be a byte string, not %s
            ��zA
            packed_ip must be %d bytes long - is %d
            z%d.%d.%d.%d�	!HHHHHHHHrN)���cSsg|]}t|�dd��qS)�N)�hex)�.0�o�r�A/opt/nydus/tmp/pip-target-wkfpz8uv/lib/python/asn1crypto/_inet.py�
<listcomp>I�zinet_ntop.<locals>.<listcomp>r�:�::)�set�socket�AF_INET�AF_INET6�
ValueErrorr�repr�
isinstancer�	TypeErrorr�len�tupler	�struct�unpack�	enumerate�max�join)
�address_familyZ	packed_ipZrequired_len�octetsZruns_of_zeroZlongest_runZ
zero_index�i�octet�lengthZhexedZ
zero_startZzero_endrrr�	inet_ntopsR�

��





r/cCs�|ttjtjg�vr6ttdttj�ttj�t|����t|t�sRt	tdt
|����|tjkr�|�d�}t|�dk}|s�g}|D].}t
|�}|dks�|dkr�d}q�|�|�q~|r�ttdt|����tjd	g|�R�Sd
}|�d�}|dkr�d}nj|dk�r|�d
�}t|�dk}nH|�d�\}}|�d
�}	|�d
�}
dt|	�t|
�}|	dg||
}|�s�g}|D]8}t
|d�}|dk�s�|dk�r�d}�q�|�|��qjtjdg|�R�Sttdt|����dS)a
    Windows compatibility shim for socket.inet_ntop().

    :param address_family:
        socket.AF_INET for IPv4 or socket.AF_INET6 for IPv6

    :param ip_string:
        A unicode string of an IP address

    :return:
        A byte string of the network form of the IP address
    rzD
            ip_string must be a unicode string, not %s
            �.r
�rTz�
                ip_string must be a dotted string with four integers in the
                range of 0 to 255, got %s
                s!BBBBFrrr��0ri��rz?
        ip_string must be a valid ipv6 string, got %s
        N)rrrrrrr r!r
r"r�splitr#�int�appendr%�pack�count)r*Z	ip_stringr+�errorZintsrZomitted�begin�endZbegin_octetsZ
end_octets�missingrrr�	inet_ptonTsl�

�

�





�r=)�
__future__rrrrrr%�_errorsr�_typesrr	r
rr/r=rrrr�<module>sI