XylotrechusZ
�
ǒ�g� � � � d Z ddlZddlZddlZddlZej j d� Zej j d� Z ee fde
dej j dej j dej j fd �Zee fd
ej j dej j dej j de
fd�Z
y)zDNS Reverse Map Names.� Nz
in-addr.arpa.z ip6.arpa.�text� v4_origin� v6_origin�returnc �8 � t j j | � }t j j |� r|dd D �cg c] }d|z �� }}|}n;t t j |� j � � D �cg c] }|�� }}|}t j j dj t |� � |�� S c c}w c c}w # t $ r: t j j | � D �cg c] }d|z �� nc c}w }}|}Y ��w xY w)a� Convert an IPv4 or IPv6 address in textual form into a Name object whose
value is the reverse-map domain name of the address.
*text*, a ``str``, is an IPv4 or IPv6 address in textual form
(e.g. '127.0.0.1', '::1')
*v4_origin*, a ``dns.name.Name`` to append to the labels corresponding to
the address if the address is an IPv4 address, instead of the default
(in-addr.arpa.)
*v6_origin*, a ``dns.name.Name`` to append to the labels corresponding to
the address if the address is an IPv6 address, instead of the default
(ip6.arpa.)
Raises ``dns.exception.SyntaxError`` if the address is badly formed.
Returns a ``dns.name.Name``.
� Nz%d�.)�origin)�dns�ipv6� inet_aton� is_mapped�str�binascii�hexlify�decode� Exception�ipv4�name� from_text�join�reversed)r r r �v6�byte�partsr
�xs �>/opt/hc_python/lib/python3.12/site-packages/dns/reversename.py�from_addressr s� � �0
�
�X�X�
�
��
%���8�8���b�!�-/���W�5�W�T�T�D�[�W�E�5��F� #�H�$4�$4�R�$8�$?�$?�$A� B�C� B�1�Q� B�E�C��F� �8�8���c�h�h�x���7���G�G�� 6�� D��� �),���);�);�D�)A�B�)A�����)A��B��B����s<