File: //lib/python3/dist-packages/sos/cleaner/mappings/__pycache__/ipv6_map.cpython-312.pyc
�
    -�_gl-  �                   �Z   � d dl Z d dlmZ d dlmZ d� Zd� Z G d� de�      Z G d� d	�      Zy)
�    N��getrandbits)�SoSMapc                 �F   � | D �cg c]  }|rt        d�      nd�� c}S c c}w )a�  Generate a random set of hextets, based on the length of the source
    hextet. If any hextets are compressed, keep that compression.
    E.G. '::1234:bcd' will generate a leading empty '' hextet, followed by two
    4-character hextets.
    :param hextets:     The extracted hextets from a source address
    :type hextets:      ``list``
    :returns:           A set of randomized hextets for use in an obfuscated
                        address
    :rtype:             ``list``
    �   � )�
random_hex)�hextets�hs     �?/usr/lib/python3/dist-packages/sos/cleaner/mappings/ipv6_map.py�generate_hextetsr
      s#   � � 18�8�1�Q�J�q�M�B�&�8�8��8s   �c                 �*   � t        d| z  �      d| � d��S )z�Generate a string of size length of random hex characters.
    :param length:  The number of characters to generate
    :type length:   ``int``
    :returns:       A string of ``length`` hex characters
    :rtype:         ``str``
    r   �0�xr   )�lengths    r   r	   r	   "