o
    �õ±j¸  ã                   @   sè   d dl T 	 d dlZd dlZG dd„ dejƒZG dd„ dejƒZG dd„ dƒZe 	d	¡Z
e e
¡Zeejƒ eejd
 ƒ e ejd
 ¡Zeeƒ eejdd… ƒ eejdd… ƒ eejdd… ƒ e 	d¡Z
e e
¡Zeejƒ dS )é    )Ú*Nc                   @   s    e Zd ZdZdZdZdZdZdS )ÚMSV1_0_CREDENTIAL_KEY_TYPEr   é   é   é   é   N)Ú__name__Ú
__module__Ú__qualname__ÚInvalidCredKeyÚ
IUMCredKeyÚDomainUserCredKeyÚLocalUserCredKeyÚExternallySuppliedCredKey© r   r   ú¢/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asyauth/protocols/credssp/messages/remcredguard.pyr      s    r   c                   @   s   e Zd ZdZdZdZdS )Ú	NRSC_FLAGr   r   é   N)r   r	   r
   ÚLMOWFÚNTOWFÚCREDKEY_PRESENTr   r   r   r   r      s    r   c                   @   sJ   e Zd Zdd„ Zdd„ Zedefdd„ƒZedej	fd	d
„ƒZ
dd„ ZdS )Ú#NTLM_REMOTE_SUPPLEMENTAL_CREDENTIALc                 C   s(   d | _ d | _d | _d | _d | _d | _d S ©N)ÚVersionÚFlagsÚKeyTypeÚKeyÚreservedSizeÚ	reserved6)Úselfr   r   r   Ú__init__$   s   
z,NTLM_REMOTE_SUPPLEMENTAL_CREDENTIAL.__init__c                 C   sr   | j jdddd�}|| jjdddd�7 }|| jjjdddd�7 }|| j7 }|t| jƒjdddd�7 }|| j7 }|S )Nr   ÚlittleF©Ú	byteorderÚsigned)r   Úto_bytesr   r   Úvaluer   Úlenr   )r   Útr   r   r   r%   -   s   

z,NTLM_REMOTE_SUPPLEMENTAL_CREDENTIAL.to_bytesÚbbuffc                 C   s   t  t | ¡¡S r   )r   Úfrom_bufferÚioÚBytesIO)r)   r   r   r   Ú
from_bytes7   s   z.NTLM_REMOTE_SUPPLEMENTAL_CREDENTIAL.from_bytesÚbuffc                 C   sŒ   t ƒ }tj|  d¡ddd�|_ttj|  d¡ddd�ƒ|_|  d¡|_ttj|  d¡ddd�ƒ|_	tj|  d¡ddd�|_
|  |j
¡|_|S )Nr   r!   Fr"   é   )r   Úintr-   Úreadr   r   r   r   r   r   r   r   )r.   Úmsgr   r   r   r*   ;   s   z/NTLM_REMOTE_SUPPLEMENTAL_CREDENTIAL.from_bufferc                 C   sl   d}| j D ].}t| j | tjƒr| j | }nt| j | tjƒr&| j | j}n| j | }|d||f 7 }q|S )Nz/==== NTLM_REMOTE_SUPPLEMENTAL_CREDENTIAL ====
z%s: %s
)Ú__dict__Ú
isinstanceÚenumÚIntFlagÚEnumÚname)r   r(   Úkr&   r   r   r   Ú__repr__F   s   

z,NTLM_REMOTE_SUPPLEMENTAL_CREDENTIAL.__repr__N)r   r	   r
   r    r%   ÚstaticmethodÚbytesr-   r+   r,   r*   r:   r   r   r   r   r   #   s    	

r   ÁÂ  3081dea00a04084e0054004c004d00a181cf0481cc0200ffff08000000d389fe0bc98d23bfef683a874e048c59000000000200000054000000ca7a124b7c282f0c714e025b3f5486310100000000000000000000000000000047e7674810c28f0cdb956d0aa1f4cac4005fb744b102871e16b207d789b3da815b9fac95ba79da02c2ba0e134472979f4b592621000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000Ú
credBufferé   é    Á¶  30820157a003020104a382014e0482014a050407ff0000001c00000000681ec3f55cbce0b2ef037dbe8afa8f7a6dbc5e7439ff675453fbcdb7cfd0c5b4af942453acf92677f21be4dc829c9e553280c5f37c08c5db5453330328d2fb8e65dd3f1a4f934d6888645365fee5e65888219f6dcaf5020ecea4a91595c1c95b1e3229d1b389c2ee23876e1c89a2fa3b06610201fce4a2427c8a95d52234c2343fbaaeeedecd636a0dc8b3fad75b3be9736ab488183e0bdc793dcce61fc019811970c1d56a02fcd7827ea64f60e163adf01b47ae1641d48ac719ba77c78ec5818d6a09c41c38da69b359a63a602319ab735243acf6c18d40307290d622bf6546a4650494b481228fcaaa62393e29fd10e6d31646eed50fa658eb0d8454ccf88dc4bf859cd98feed69d17fafce30bd03a6e0ccdccd55ba7cc146b60648308cabd2ee989e711675e4150da79ea9070df22223d2df1e41ed687a6575a2ecbce)Ú/asyauth.protocols.credssp.messages.asn1_structsr5   r+   r7   r   r6   r   r   r<   ÚfromhexÚdataÚTSRemoteGuardPackageCredÚloadÚxÚprintÚnativer-   Úcredbuffr   Ú	TSRequestr   r   r   r   Ú<module>   s&   
2



