o
    �õ±jù  ã                   @   s   d Z ddlZG dd„ dƒZdS )aV  
Hash-Record
===========

Offset	Size	Contents
0x0000	D-Word	Offset of corresponding "nk"-Record
0x0004	D-Word	ASCII: the first 4 characters of the key-name, 
		padded with 0's. Case sensitiv!

Keep in mind, that the value at 0x0004 is used for checking the
data-consistency! If you change the key-name you have to change the
hash-value too!
é    Nc                   @   s4   e Zd Zdd„ Zedd„ ƒZedd„ ƒZdd„ Zd	S )
ÚNTRegistryHRc                 C   s   d | _ d | _d S ©N)Ú	offset_nkÚ	hash_data)Úself© r   ú’/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiowinreg/filestruct/hashrecord.pyÚ__init__   s   
zNTRegistryHR.__init__c                 C   s   t  t | ¡¡S r   )r   Úfrom_bufferÚioÚBytesIO)Údatar   r   r   Ú
from_bytes   s   zNTRegistryHR.from_bytesc                 C   s.   t ƒ }tj|  d¡ddd�|_|  d¡|_|S )Né   ÚlittleF)Úsigned)r   Úintr   Úreadr   r   )ÚbuffÚhrr   r   r   r
      s   zNTRegistryHR.from_bufferc                 C   sn   d}| j D ]/}t| j | tƒr't| j | ƒD ]\}}|d||t|ƒf 7 }qq|d|t| j | ƒf 7 }q|S )Nz== NT Registry HASH Record ==
z   %s: %s: %sz	%s: %s 
)Ú__dict__Ú
isinstanceÚlistÚ	enumerateÚstr)r   ÚtÚkÚiÚitemr   r   r   Ú__str__!   s   
ÿzNTRegistryHR.__str__N)Ú__name__Ú
__module__Ú__qualname__r	   Ústaticmethodr   r
   r   r   r   r   r   r      s    

r   )Ú__doc__r   r   r   r   r   r   Ú<module>   s   