o
    Žõ±jh ã                   @   s¨#  d dl mZ d dl mZ d dlmZ d dlZd dlZd dlmZ	 d dl
mZ d dlmZ d dlmZ d d	lmZmZmZmZmZmZmZmZ d d
lmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z&m'Z' d dl(m)Z) d dl*m+Z+ d dl,m-Z-m.Z.m/Z/ d dl0m1Z1 edƒZ2G dd„ de)ƒZ3e'Z4dZ5dZ6dZ7dZ8dZ9dZ:dZ;dZ<dZ=dZ>dZ?dZ@dZAdZBd ZCd!ZDd"ZEd#ZFd$ZGd%ZHdZIdZJdZKdZLd ZMd!ZNd&ZOd'ZPd(ZQd)ZRd*ZSd+ZTd,ZUd-ZVd.ZWdZXdZYdZZdZ[d Z\d/Z]d#Z^d$Z_d0Z`dZadZbdZcdZdd Zed/Zfd1Zgd2Zhd3ZidZjdZkdZldZmd Znd!Zod&Zpd'Zqd(Zrd)Zsd*Ztd+Zud4Zvd5Zwd6ZxdZydZzdZ{dZ|d Z}d!Z~d&Zd'Z€d(Z�d)Z‚d*Zƒd7Z„d8Z…d9Z†d:Z‡d;ZˆdZ‰dZŠdZ‹dZŒd<Z�d=ZŽd>Z�d?Z�dZ‘dZ’d@Z“dAZ”dZ•dBZ–d Z—dZ˜dCZ™dZšdDZ›dEZœdFZ�dGZždZŸdHZ dZ¡dZ¢dZ£dZ¤dZ¥dZ¦dZ§dIZ¨dJZ©dKZªdZ«dZ¬dZ­dZ®d Z¯d!Z°d&Z±d'Z²d(Z³d)Z´d*Zµd7Z¶d8Z·d9Z¸d:Z¹d;ZºdZ»dZ¼dZ½dZ¾d<Z¿d=ZÀdZÁdZÂdZÃd ZÄd!ZÅd&ZÆd'ZÇd(ZÈd)ZÉd7ZÊd8ZËd9ZÌdZÍdZÎdZÏdZÐd<ZÑd=ZÒd>ZÓd?ZÔdZÕdZÖd@Z×dAZØdLZÙdMZÚdNZÛd)ZÜdOZÝdPZÞdQZßdRZàdSZádZâdZãdZädZåd Zæd!ZçdZèdZédZêdZëd Zìd!ZídTdU„ ZîdVdW„ ZïdXdY„ ZðdZd[„ Zñd\d]„ ZòG d^d_„ d_eƒZóG d`da„ daeƒZôG dbdc„ dceƒZõG ddde„ deeƒZöG dfdg„ dgeƒZ÷G dhdi„ dieƒZøG djdk„ dkeƒZùG dldm„ dmeƒZúG dndo„ doeƒZûG dpdq„ dqeƒZüG drds„ dseƒZýG dtdu„ dueƒZþeþZÿG dvdw„ dweƒ�Z �e �ZG dxdy„ dyeƒ�ZG dzd{„ d{eƒ�ZG d|d}„ d}eƒ�ZG d~d„ deƒ�ZG d€d�„ d�eƒ�ZG d‚dƒ„ dƒeƒ�ZG d„d…„ d…eƒ�ZG d†d‡„ d‡eƒ�Z	G dˆd‰„ d‰eƒ�Z
G dŠd‹„ d‹eƒ�ZG dŒd�„ d�eƒ�ZG dŽd�„ d�eƒ�ZG d�d‘„ d‘eƒ�ZG d’d“„ d“eƒ�ZG d”d•„ d•eƒ�ZG d–d—„ d—eƒ�ZG d˜d™„ d™eƒ�ZG dšd›„ d›eƒ�ZG dœd�„ d�eƒ�ZG dždŸ„ dŸeƒ�ZG d d¡„ d¡eƒ�ZG d¢d£„ d£eƒ�ZG d¤d¥„ d¥eƒ�ZG d¦d§„ d§eƒ�ZG d¨d©„ d©eƒ�ZG dªd«„ d«eƒ�ZG d¬d­„ d­eƒ�ZG d®d¯„ d¯eƒ�ZG d°d±„ d±eƒ�ZG d²d³„ d³eƒ�ZG d´dµ„ dµeƒ�Z G d¶d·„ d·eƒ�Z!G d¸d¹„ d¹eƒ�Z"G dºd»„ d»eƒ�Z#G d¼d½„ d½eƒ�Z$G d¾d¿„ d¿eƒ�Z%G dÀdÁ„ dÁeƒ�Z&G dÂdÃ„ dÃeƒ�Z'G dÄdÅ„ dÅeƒ�Z(G dÆdÇ„ dÇeƒ�Z)G dÈdÉ„ dÉeƒ�Z*G dÊdË„ dËeƒ�Z+G dÌdÍ„ dÍeƒ�Z,G dÎdÏ„ dÏeƒ�Z-G dÐdÑ„ dÑeƒ�Z.G dÒdÓ„ dÓeƒ�Z/G dÔdÕ„ dÕeƒ�Z0G dÖd×„ d×eƒ�Z1G dØdÙ„ dÙeƒ�Z2G dÚdÛ„ dÛeƒ�Z3G dÜdÝ„ dÝeƒ�Z4G dÞdß„ dßeƒ�Z5G dàdá„ dáeƒ�Z6G dâdã„ dãeƒ�Z7G dädå„ dåeƒ�Z8G dædç„ dçeƒ�Z9G dèdé„ déeƒ�Z:G dêdë„ dëeƒ�Z;G dìdí„ díeƒ�Z<G dîdï„ dïeƒ�Z=G dðdñ„ dñeƒ�Z>G dòdó„ dóeƒ�Z?G dôdõ„ dõeƒ�Z@G död÷„ d÷eƒ�ZAG dødù„ dùeƒ�ZBG dúdû„ dûeƒ�ZCG düdý„ dýeƒ�ZDG dþdÿ„ dÿeƒ�ZEG �d �d„ �deƒ�ZFG �d�d„ �deƒ�ZGG �d�d„ �deƒ�ZHG �d�d„ �deƒ�ZIG �d�d	„ �d	eƒ�ZJG �d
�d„ �deƒ�ZKG �d�d„ �deƒ�ZLG �d�d„ �deƒ�ZMG �d�d„ �deƒ�ZNG �d�d„ �deƒ�ZOG �d�d„ �deƒ�ZPG �d�d„ �deƒ�ZQG �d�d„ �deƒ�ZRG �d�d„ �deƒ�ZSG �d�d„ �deƒ�ZTG �d�d„ �deƒ�ZUG �d �d!„ �d!eƒ�ZVG �d"�d#„ �d#eƒ�ZWG �d$�d%„ �d%eƒ�ZXG �d&�d'„ �d'eƒ�ZYG �d(�d)„ �d)eƒ�ZZG �d*�d+„ �d+eƒ�Z[G �d,�d-„ �d-eƒ�Z\G �d.�d/„ �d/eƒ�Z]G �d0�d1„ �d1eƒ�Z^G �d2�d3„ �d3eƒ�Z_G �d4�d5„ �d5eƒ�Z`G �d6�d7„ �d7eƒ�ZaG �d8�d9„ �d9eƒ�ZbG �d:�d;„ �d;eƒ�ZcG �d<�d=„ �d=eƒ�ZdG �d>�d?„ �d?eƒ�ZeG �d@�dA„ �dAeƒ�ZfG �dB�dC„ �dCeƒ�ZgG �dD�dE„ �dEeƒ�ZhG �dF�dG„ �dGeƒ�ZiG �dH�dI„ �dIeƒ�ZjG �dJ�dK„ �dKeƒ�ZkG �dL�dM„ �dMeƒ�ZlG �dN�dO„ �dOeƒ�ZmG �dP�dQ„ �dQeƒ�ZnG �dR�dS„ �dSeƒ�ZoG �dT�dU„ �dUeƒ�ZpG �dV�dW„ �dWeƒ�ZqG �dX�dY„ �dYeƒ�ZrG �dZ�d[„ �d[eƒ�ZsG �d\�d]„ �d]eƒ�ZtG �d^�d_„ �d_eƒ�ZuG �d`�da„ �daeƒ�ZvG �db�dc„ �dceƒ�ZwG �dd�de„ �deeƒ�ZxG �df�dg„ �dgeƒ�ZyG �dh�di„ �dieƒ�ZzG �dj�dk„ �dkeƒ�Z{G �dl�dm„ �dmeƒ�Z|G �dn�do„ �doeƒ�Z}G �dp�dq„ �dqeƒ�Z~G �dr�ds„ �dseƒ�ZG �dt�du„ �dueƒ�Z€G �dv�dw„ �dweƒ�Z�G �dx�dy„ �dyeƒ�Z‚G �dz�d{„ �d{eƒ�ZƒG �d|�d}„ �d}eƒ�Z„G �d~�d„ �deƒ�Z…G �d€�d�„ �d�eƒ�Z†G �d‚�dƒ„ �dƒeƒ�Z‡G �d„�d…„ �d…eƒ�ZˆG �d†�d‡„ �d‡eƒ�Z‰G �dˆ�d‰„ �d‰eƒ�ZŠG �dŠ�d‹„ �d‹eƒ�Z‹G �dŒ�d�„ �d�eƒ�ZŒG �dŽ�d�„ �d�eƒ�Z�G �d��d‘„ �d‘eƒ�ZŽG �d’�d“„ �d“eƒ�Z�G �d”�d•„ �d•eƒ�Z�G �d–�d—„ �d—eƒ�Z‘G �d˜�d™„ �d™eƒ�Z’G �dš�d›„ �d›eƒ�Z“G �dœ�d�„ �d�eƒ�Z”G �dž�dŸ„ �dŸeƒ�Z•G �d �d¡„ �d¡eƒ�Z–G �d¢�d£„ �d£eƒ�Z—G �d¤�d¥„ �d¥eƒ�Z˜G �d¦�d§„ �d§eƒ�Z™G �d¨�d©„ �d©eƒ�ZšG �dª�d«„ �d«eƒ�Z›G �d¬�d­„ �d­eƒ�ZœG �d®�d¯„ �d¯eƒ�Z�G �d°�d±„ �d±eƒ�ZžG �d²�d³„ �d³eƒ�ZŸG �d´�dµ„ �dµeƒ�Z G �d¶�d·„ �d·eƒ�Z¡G �d¸�d¹„ �d¹eƒ�Z¢G �dº�d»„ �d»eƒ�Z£G �d¼�d½„ �d½eƒ�Z¤G �d¾�d¿„ �d¿eƒ�Z¥G �dÀ�dÁ„ �dÁeƒ�Z¦G �dÂ�dÃ„ �dÃeƒ�Z§G �dÄ�dÅ„ �dÅeƒ�Z¨G �dÆ�dÇ„ �dÇeƒ�Z©G �dÈ�dÉ„ �dÉeƒ�ZªG �dÊ�dË„ �dËeƒ�Z«G �dÌ�dÍ„ �dÍeƒ�Z¬G �dÎ�dÏ„ �dÏeƒ�Z­G �dÐ�dÑ„ �dÑeƒ�Z®G �dÒ�dÓ„ �dÓeƒ�Z¯G �dÔ�dÕ„ �dÕeƒ�Z°G �dÖ�d×„ �d×eƒ�Z±G �dØ�dÙ„ �dÙeƒ�Z²G �dÚ�dÛ„ �dÛeƒ�Z³G �dÜ�dÝ„ �dÝeƒ�Z´G �dÞ�dß„ �dßeƒ�ZµG �dà�dá„ �dáeƒ�Z¶G �dâ�dã„ �dãeƒ�Z·G �dä�då„ �dåeƒ�Z¸G �dæ�dç„ �dçeƒ�Z¹G �dè�dé„ �déeƒ�ZºG �dê�dë„ �dëeƒ�Z»G �dì�dí„ �díeƒ�Z¼G �dî�dï„ �dïeƒ�Z½G �dð�dñ„ �dñeƒ�Z¾G �dò�dó„ �dóeƒ�Z¿G �dô�dõ„ �dõeƒ�ZÀG �dö�d÷„ �d÷eƒ�ZÁG �dø�dù„ �dùeƒ�ZÂG �dú�dû„ �dûeƒ�ZÃG �dü�dý„ �dýeƒ�ZÄG �dþ�dÿ„ �dÿeƒ�ZÅG �d �d„ �deƒ�ZÆG �d�d„ �deƒ�ZÇG �d�d„ �deƒ�ZÈG �d�d„ �deƒ�ZÉG �d�d	„ �d	eƒ�ZÊG �d
�d„ �deƒ�ZËG �d�d„ �deƒ�ZÌG �d�d„ �deƒ�ZÍG �d�d„ �deƒ�ZÎG �d�d„ �deƒ�ZÏG �d�d„ �deƒ�ZÐG �d�d„ �deƒ�ZÑG �d�d„ �deƒ�ZÒG �d�d„ �deƒ�ZÓG �d�d„ �deƒ�ZÔG �d�d„ �deƒ�ZÕG �d �d!„ �d!eƒ�ZÖG �d"�d#„ �d#eƒ�Z×G �d$�d%„ �d%eƒ�ZØG �d&�d'„ �d'eƒ�ZÙG �d(�d)„ �d)eƒ�ZÚG �d*�d+„ �d+eƒ�ZÛG �d,�d-„ �d-eƒ�ZÜG �d.�d/„ �d/eƒ�ZÝG �d0�d1„ �d1eƒ�ZÞG �d2�d3„ �d3eƒ�ZßG �d4�d5„ �d5eƒ�ZàG �d6�d7„ �d7eƒ�ZáG �d8�d9„ �d9eƒ�ZâG �d:�d;„ �d;eƒ�ZãG �d<�d=„ �d=eƒ�ZäG �d>�d?„ �d?eƒ�ZåG �d@�dA„ �dAeƒ�ZæG �dB�dC„ �dCeƒ�ZçG �dD�dE„ �dEeƒ�ZèG �dF�dG„ �dGeƒ�ZéG �dH�dI„ �dIeƒ�ZêG �dJ�dK„ �dKeƒ�ZëG �dL�dM„ �dMeƒ�ZìG �dN�dO„ �dOeƒ�ZíG �dP�dQ„ �dQeƒ�ZîG �dR�dS„ �dSeƒ�ZïG �dT�dU„ �dUeƒ�ZðG �dV�dW„ �dWeƒ�ZñG �dX�dY„ �dYeƒ�ZòG �dZ�d[„ �d[eƒ�ZóG �d\�d]„ �d]eƒ�ZôG �d^�d_„ �d_eƒ�ZõG �d`�da„ �daeƒ�ZöG �db�dc„ �dceƒ�Z÷G �dd�de„ �deeƒ�ZøG �df�dg„ �dgeƒ�ZùG �dh�di„ �dieƒ�ZúG �dj�dk„ �dkeƒ�ZûG �dl�dm„ �dmeƒ�ZüG �dn�do„ �doeƒ�ZýG �dp�dq„ �dqeƒ�ZþG �dr�ds„ �dseƒ�ZÿG �dt�du„ �dueƒ�Z G �dv�dw„ �dweƒ�ZG �dx�dy„ �dyeƒ�ZG �dz�d{„ �d{eƒ�Zi d �eŠ�e‹f“d�eŒ�e�f“d�eŽ�e�f“�d|�e��e‘f“�d}�e’�e“f“�d~�e”�e•f“�d�e–�e—f“d�e˜�e™f“�d€�eš�e›f“�d��eœ�e�f“�d‚�ež�e¡f“�dƒ�eŸ�e f“�d„�e¢�e£f“�d…�e¤�e¥f“�d†�e¦�e§f“d �e¨�e©f“�d‡�eª�e«f“i �dˆ�e¬�e­f“�d‰�e®�e¯f“�dŠ�e°�e±f“�d‹�e²�e³f“�dŒ�e´�eµf“�d��e¶�e·f“�dŽ�e¸�e¹f“�d��eº�e»f“�d��e¼�e½f“�d‘�e¾�e¿f“�d’�eÀ�eÁf“�d“�eÂ�eÃf“�d”�eÄ�eÅf“�d•�eÆ�eÇf“d!�eÈ�eÉf“�d–�eÊ�eËf“�d—�eÌ�eÍf“¥i �d˜�eÎ�eÏf“�d™�eÐ�eÑf“�dš�eÒ�eÓf“�d›�eÔ�eÕf“�dœ�eÖ�e×f“�d��eØ�eÙf“�dž�eÚ�eÛf“�dŸ�eÜ�eÝf“�d �eÞ�eßf“�d¡�eà�eáf“�d¢�eâ�eãf“�d£�eä�eåf“�d¤�eæ�eçf“�d¥�eè�eéf“�d¦�eê�eëf“�d§�eì�eíf“�d¨�eî�eïf“¥�eð�eñf�eò�eóf�eô�eõf�eö�e÷f�eø�eùf�eú�eûf�eü�eýf�eþ�eÿf�e �ef�e�ef�d©œ
¥�Z�dªe:df�d«�d¬„�Z�dªe:df�d­�d®„�Z�dªe:f�d¯�d°„�Z�dªe:f�d±�d²„�Ze:ef�d³�d´„�Z	e:d f�dµ�d¶„�Z
e:d f�d·�d¸„�Ze:d f�d¹�dº„�Z�d)�d¼�d½„�Z�d)�d¾�d¿„�Z�d)�dÀ�dÁ„�Ze¯d �d»f�dÂ�dÃ„�Z�et�jd �d»�d»f�dÄ�dÅ„�Z�et�jd �d»�d»f�dÆ�dÇ„�Z�et�jd �d»�d»f�dÈ�dÉ„�Z�et�j�dÊf�dË�dÌ„�Z�et�j�dÊf�dÍ�dÎ„�Ze]f�dÏ�dÐ„�Ze]f�dÑ�dÒ„�Ze¯e]f�dÓ�dÔ„�Ze]f�dÕ�dÖ„�Z�e.�jf�d×�dØ„�Z�e.�jf�dÙ�dÚ„�Z�e5�jf�dÛ�dÜ„�Z�e;�j f�dÝ�dÞ„�Z!�e\�j"f�dß�dà„�Z#�e\�j"f�dá�dâ„�Z$�dã�dä„ �Z%�då�dæ„ �Z&�dç�dè„ �Z'�dé�dê„ �Z(�dë�dì„ �Z)�dí�dî„ �Z*�dï�dð„ �Z+�dñ�dò„ �Z,�dó�dô„ �Z-�dõ�dö„ �Z.�d÷�dø„ �Z/�dù�dú„ �Z0�dû�dü„ �Z1�dý�dþ„ �Z2�dÿ�d „ �Z3�d�d„ �Z4�d�d„ �Z5�d�d„ �Z6�d�d„ �Z7�d	�d
„ �Z8�d�d„ �Z9�d*�d�d„�Z:�d�d„ �Z;�d�d„ �Z<�d�d„ �Z=�d�d„ �Z>�d�d„ �Z?�d�d„ �Z@�d�d„ �ZA�d�d„ �ZB�d�d „ �ZC�d!�d"„ �ZD�d#�d$„ �ZE�d%�d&„ �ZF�d+�d'�d(„�ZGdS (,  é    )Údivision)Úprint_function)Ú	unhexlifyN)Úlogger)ÚEnum)Úuuidtup_to_bin)Ú	Structure)ÚNDRCALLÚNDRÚ	NDRSTRUCTÚNDRUNIONÚ
NDRPOINTERÚNDRUniConformantArrayÚNDRUniConformantVaryingArrayÚNDRENUM)ÚNULLÚRPC_UNICODE_STRINGÚULONGÚUSHORTÚUCHARÚLARGE_INTEGERÚRPC_SIDÚLONGÚSTRÚLPBYTEÚSECURITY_INFORMATIONÚPRPC_SIDÚPRPC_UNICODE_STRINGÚLPWSTR)ÚDCERPCException)ÚNTStatus)ÚDESÚ
cipherMODEÚRC4)Úhashlib)z$12345778-1234-ABCD-EF00-0123456789ACz1.0c                   @   s   e Zd Zddd„Zdd„ ZdS )ÚDCERPCSessionErrorNc                 C   s   t  | |||¡ d S )N)r   Ú__init__)ÚselfÚerror_stringÚ
error_codeÚpacket© r+   úˆ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/aiosmb/dcerpc/v5/samr.pyr&   *   s   zDCERPCSessionError.__init__c                 C   s4   | j }d }z
d|t|ƒjf W S    d| j   Y S )Nz#SAMR SessionError: code: 0x%x - %s z+SAMR SessionError: unknown error code: 0x%x)r)   r    Úname)r'   Úkeyr-   r+   r+   r,   Ú__str__-   s   þzDCERPCSessionError.__str__)NNN)Ú__name__Ú
__module__Ú__qualname__r&   r/   r+   r+   r+   r,   r%   )   s    
r%   i   i   i   i   i   i   l        i   @i    i   é   é   é   é   é   é    i?  i  i  i!  é@   é€   é   é   i   iÿ i„  iz i i  i  i  i  i  i iD  iA  i   i   i    i @  i €  i   i    i  @ i  € i   i   l        i  i   i   0i  0i  0i  @l       l       l       iô  iõ  iö  i  i  i  i   i	  c                 C   sd   d}| d d…   dd¡ ¡ }t|d d…  d¡ƒ}| |¡}t|dd …  d¡ƒ}| |¡}|| S )Ns   KGS!@#$%é   ú é   Úascii)ÚljustÚupperr!   ÚencodeÚencrypt)ÚpasswordÚ	LM_SECRETÚt1ÚdÚr1Úr2r+   r+   r,   ÚLMOWFv1  s   

rK   c                 C   s&   t | tƒdu r|  d¡} t | ¡ ¡ S )NTúutf-16le)Ú
isinstanceÚstrrC   r$   Úmd4Údigest)rE   r+   r+   r,   ÚNTOWFv1"  s   
rQ   c                 C   s  t dƒ}| d d? d@ |d< | d d@ d> | d d? B |d< | d d@ d> | d d? B |d< | d d	@ d
> | d d
? B |d< | d d@ d> | d
 d? B |d
< | d
 d@ d> | d d? B |d< | d d@ d> | d d	? B |d< | d d@ |d	< tdd„ |D ƒƒ}t|ƒS )Nr6   r   r3   é   é   r4   é   é   r?   r5   é   é   é?   c                 S   s   g | ]}|d > d@ ‘qS )r3   éþ   r+   )Ú.0Úbyter+   r+   r,   Ú
<listcomp>5  s    z!transform_key.<locals>.<listcomp>)Ú	bytearrayÚbytes)Ú	input_keyÚ
output_keyr+   r+   r,   Útransform_key'  s         ra   c           
      C   ót   | d d… }| dd … }|d d… }t |ƒ}|dd… }t |ƒ}t|tjƒ}t|tjƒ}| |¡}| |¡}	||	 S ©Nr6   r?   r=   )ra   r!   r"   ÚECBÚdecrypt©
ÚencryptedHashr.   ÚBlock1ÚBlock2ÚKey1ÚKey2ÚCrypt1ÚCrypt2Úplain1Úplain2r+   r+   r,   ÚSamDecryptNTLMHash:  ó   

rp   c           
      C   rb   rc   )ra   r!   r"   rd   rD   rf   r+   r+   r,   ÚSamEncryptNTLMHashL  rq   rr   c                   @   ó   e Zd ZeZdS )ÚRPC_UNICODE_STRING_ARRAYN©r0   r1   r2   r   Úitemr+   r+   r+   r,   rt   a  ó    rt   c                   @   rs   )ÚRPC_UNICODE_STRING_ARRAY_CNru   r+   r+   r+   r,   rx   d  rw   rx   c                   @   ó   e Zd ZdeffZdS )ÚPRPC_UNICODE_STRING_ARRAYÚDataN)r0   r1   r2   rx   Úreferentr+   r+   r+   r,   rz   g  ó    ÿrz   c                   @   s(   e Zd ZdZdZdeffZddd„ZdS )	Ú
RPC_STRING))ÚMaximumLengthú<H=len(Data)-12)ÚLengthr€   )Ú
ReferentIDz<L=0xff))r   ú<H=len(Data)-24)r�   rƒ   )r‚   z<Q=0xffr{   Nr   c                 C   s@   |d u r| j j}|dkrtd| dd� td| d  dd� d S )NÚ z%sú )Úendz %rr{   )Ú	__class__r0   Úprint)r'   ÚmsgÚindentr+   r+   r,   Údump}  s
   zRPC_STRING.dump)Nr   )r0   r1   r2   Ú	commonHdrÚcommonHdr64r   r|   r‹   r+   r+   r+   r,   r~   m  s    ÿr~   c                   @   ry   )ÚPRPC_STRINGr{   N)r0   r1   r2   r~   r|   r+   r+   r+   r,   rŽ   …  r}   rŽ   c                   @   ó   e Zd ZdefdeffZdS )ÚOLD_LARGE_INTEGERÚLowPartÚHighPartN)r0   r1   r2   r   r   Ú	structurer+   r+   r+   r,   r�   ‹  ó    þr�   c                   @   ó   e Zd ZG dd„ deƒZdS )ÚSID_NAME_USEc                   @   s4   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdS )zSID_NAME_USE.enumItemsr3   r4   rT   r5   rU   rS   r?   r6   é	   é
   N)r0   r1   r2   ÚSidTypeUserÚSidTypeGroupÚSidTypeDomainÚSidTypeAliasÚSidTypeWellKnownGroupÚSidTypeDeletedAccountÚSidTypeInvalidÚSidTypeUnknownÚSidTypeComputerÚSidTypeLabelr+   r+   r+   r,   Ú	enumItems“  s    r£   N©r0   r1   r2   r   r£   r+   r+   r+   r,   r–   ’  ó    r–   c                   @   ó   e Zd ZdZdS )ÚUSHORT_ARRAYz<HN)r0   r1   r2   rv   r+   r+   r+   r,   r§      s    r§   c                   @   ry   )ÚPUSHORT_ARRAYr{   N)r0   r1   r2   r§   r|   r+   r+   r+   r,   r¨   ¤  r}   r¨   c                   @   ó"   e Zd ZdefdefdeffZdS )ÚRPC_SHORT_BLOBr�   r   ÚBufferN)r0   r1   r2   r   r¨   r“   r+   r+   r+   r,   rª   ©  ó
    ýrª   c                   @   ó   e Zd ZdZdd„ ZdS )ÚSAMPR_HANDLE))r{   z20s=b""c                 C   s   | j du rdS dS )NTr6   r5   )Ú_isNDR64©r'   r+   r+   r,   ÚgetAlignmentµ  s   
zSAMPR_HANDLE.getAlignmentN©r0   r1   r2   r“   r±   r+   r+   r+   r,   r®   ±  ó    r®   c                   @   r­   )ÚENCRYPTED_LM_OWF_PASSWORD))r{   z16s=b""c                 C   ó   dS ©Nr3   r+   r°   r+   r+   r,   r±   À  ó   z&ENCRYPTED_LM_OWF_PASSWORD.getAlignmentNr²   r+   r+   r+   r,   r´   ¼  r³   r´   c                   @   ry   )ÚPENCRYPTED_LM_OWF_PASSWORDr{   N)r0   r1   r2   r´   r|   r+   r+   r+   r,   r¸   Å  r}   r¸   c                   @   rs   )ÚULONG_ARRAYN©r0   r1   r2   r   rv   r+   r+   r+   r,   r¹   Ï  rw   r¹   c                   @   ry   )ÚPULONG_ARRAYr{   N)r0   r1   r2   r¹   r|   r+   r+   r+   r,   r»   Ò  r}   r»   c                   @   rs   )ÚULONG_ARRAY_CVNrº   r+   r+   r+   r,   r¼   ×  rw   r¼   c                   @   r�   )ÚSAMPR_ULONG_ARRAYÚCountÚElementN©r0   r1   r2   r   r»   r“   r+   r+   r+   r,   r½   Ú  r”   r½   c                   @   ry   )ÚSAMPR_SID_INFORMATIONÚ
SidPointerN)r0   r1   r2   r   r“   r+   r+   r+   r,   rÁ   á  r}   rÁ   c                   @   ry   )ÚPSAMPR_SID_INFORMATIONr{   N)r0   r1   r2   rÁ   r|   r+   r+   r+   r,   rÃ   æ  r}   rÃ   c                   @   rs   )ÚSAMPR_SID_INFORMATION_ARRAYN)r0   r1   r2   rÃ   rv   r+   r+   r+   r,   rÄ   ë  rw   rÄ   c                   @   ry   )ÚPSAMPR_SID_INFORMATION_ARRAYr{   N)r0   r1   r2   rÄ   r|   r+   r+   r+   r,   rÅ   î  r}   rÅ   c                   @   r�   )ÚSAMPR_PSID_ARRAYr¾   ÚSidsN©r0   r1   r2   r   rÅ   r“   r+   r+   r+   r,   rÆ   ô  r”   rÆ   c                   @   r�   )ÚSAMPR_PSID_ARRAY_OUTr¾   rÇ   NrÈ   r+   r+   r+   r,   rÉ   û  r”   rÉ   c                   @   r�   )ÚSAMPR_RETURNED_USTRING_ARRAYr¾   r¿   N)r0   r1   r2   r   rz   r“   r+   r+   r+   r,   rÊ     r”   rÊ   c                   @   r�   )ÚSAMPR_RID_ENUMERATIONÚ
RelativeIdÚNameN©r0   r1   r2   r   r   r“   r+   r+   r+   r,   rË   	  r”   rË   c                   @   rs   )ÚSAMPR_RID_ENUMERATION_ARRAYN)r0   r1   r2   rË   rv   r+   r+   r+   r,   rÏ     rw   rÏ   c                   @   ry   )ÚPSAMPR_RID_ENUMERATION_ARRAYr{   N)r0   r1   r2   rÏ   r|   r+   r+   r+   r,   rÐ     r}   rÐ   c                   @   r�   )ÚSAMPR_ENUMERATION_BUFFERÚEntriesReadr«   N)r0   r1   r2   r   rÐ   r“   r+   r+   r+   r,   rÑ     r”   rÑ   c                   @   ry   )ÚPSAMPR_ENUMERATION_BUFFERr{   N)r0   r1   r2   rÑ   r|   r+   r+   r+   r,   rÓ     r}   rÓ   c                   @   ó   e Zd ZdS )Ú
CHAR_ARRAYN©r0   r1   r2   r+   r+   r+   r,   rÕ   $  ó    rÕ   c                   @   ry   )ÚPCHAR_ARRAYr{   N)r0   r1   r2   rÕ   r|   r+   r+   r+   r,   rØ   '  r}   rØ   c                   @   r�   )ÚSAMPR_SR_SECURITY_DESCRIPTORr�   ÚSecurityDescriptorN)r0   r1   r2   r   rØ   r“   r+   r+   r+   r,   rÙ   ,  r”   rÙ   c                   @   ry   )ÚPSAMPR_SR_SECURITY_DESCRIPTORr{   N)r0   r1   r2   rÙ   r|   r+   r+   r+   r,   rÛ   2  r}   rÛ   c                   @   ó   e Zd ZdefdeffZdS )ÚGROUP_MEMBERSHIPrÌ   Ú
AttributesN©r0   r1   r2   r   r“   r+   r+   r+   r,   rÝ   8  r”   rÝ   c                   @   rs   )ÚGROUP_MEMBERSHIP_ARRAYN)r0   r1   r2   rÝ   rv   r+   r+   r+   r,   rà   >  rw   rà   c                   @   ry   )ÚPGROUP_MEMBERSHIP_ARRAYr{   N)r0   r1   r2   rà   r|   r+   r+   r+   r,   rá   A  r}   rá   c                   @   r�   )ÚSAMPR_GET_GROUPS_BUFFERÚMembershipCountÚGroupsN)r0   r1   r2   r   rá   r“   r+   r+   r+   r,   râ   G  r”   râ   c                   @   ry   )ÚPSAMPR_GET_GROUPS_BUFFERr{   N)r0   r1   r2   râ   r|   r+   r+   r+   r,   rå   M  r}   rå   c                   @   ó"   e Zd ZdefdefdeffZdS )ÚSAMPR_GET_MEMBERS_BUFFERÚMemberCountÚMembersrÞ   NrÀ   r+   r+   r+   r,   rç   S  r¬   rç   c                   @   ry   )ÚPSAMPR_GET_MEMBERS_BUFFERr{   N)r0   r1   r2   rç   r|   r+   r+   r+   r,   rê   Z  r}   rê   c                   @   rÜ   )ÚSAMPR_REVISION_INFO_V1ÚRevisionÚSupportedFeaturesNrß   r+   r+   r+   r,   rë   `  r”   rë   c                   @   s"   e Zd ZdeffZddefiZdS )ÚSAMPR_REVISION_INFOÚtagr3   ÚV1N)r0   r1   r2   r   rŒ   rë   Úunionr+   r+   r+   r,   rî   g  s
    ÿÿrî   c                   @   r�   )Ú USER_DOMAIN_PASSWORD_INFORMATIONÚMinPasswordLengthÚPasswordPropertiesN)r0   r1   r2   r   r   r“   r+   r+   r+   r,   rò   q  r”   rò   c                   @   r•   )ÚDOMAIN_SERVER_ENABLE_STATEc                   @   ó   e Zd ZdZdZdS )z$DOMAIN_SERVER_ENABLE_STATE.enumItemsr3   r4   N)r0   r1   r2   ÚDomainServerEnabledÚDomainServerDisabledr+   r+   r+   r,   r£   y  ó    r£   Nr¤   r+   r+   r+   r,   rõ   x  r¥   rõ   c                   @   ry   )ÚDOMAIN_STATE_INFORMATIONÚDomainServerStateN)r0   r1   r2   rõ   r“   r+   r+   r+   r,   rú   ~  r}   rú   c                   @   r•   )ÚDOMAIN_SERVER_ROLEc                   @   rö   )zDOMAIN_SERVER_ROLE.enumItemsr4   rT   N)r0   r1   r2   ÚDomainServerRoleBackupÚDomainServerRolePrimaryr+   r+   r+   r,   r£   …  rù   r£   Nr¤   r+   r+   r+   r,   rü   „  r¥   rü   c                   @   s.   e Zd ZdefdefdefdefdeffZdS )ÚDOMAIN_PASSWORD_INFORMATIONró   ÚPasswordHistoryLengthrô   ÚMaxPasswordAgeÚMinPasswordAgeN)r0   r1   r2   r   r   r�   r“   r+   r+   r+   r,   rÿ   Š  ó    ûrÿ   c                   @   ry   )ÚDOMAIN_LOGOFF_INFORMATIONÚForceLogoffN©r0   r1   r2   r�   r“   r+   r+   r+   r,   r  ”  r}   r  c                   @   ry   )ÚDOMAIN_SERVER_ROLE_INFORMATIONÚDomainServerRoleN)r0   r1   r2   rü   r“   r+   r+   r+   r,   r  š  r}   r  c                   @   rÜ   )ÚDOMAIN_MODIFIED_INFORMATIONÚDomainModifiedCountÚCreationTimeNr  r+   r+   r+   r,   r	     r”   r	  c                   @   s"   e Zd ZdefdefdeffZdS )ÚDOMAIN_MODIFIED_INFORMATION2r
  r  ÚModifiedCountAtLastPromotionNr  r+   r+   r+   r,   r  §  r¬   r  c                   @   sR   e Zd Zdefdefdefdefdefdefdefdefd	efd
efdeffZdS )Ú SAMPR_DOMAIN_GENERAL_INFORMATIONr  ÚOemInformationÚ
DomainNameÚReplicaSourceNodeNamer
  rû   r  ÚUasCompatibilityRequiredÚ	UserCountÚ
GroupCountÚ
AliasCountN)r0   r1   r2   r�   r   r   r   r“   r+   r+   r+   r,   r  ¯  s    õr  c                   @   s(   e Zd ZdefdefdefdeffZdS )Ú!SAMPR_DOMAIN_GENERAL_INFORMATION2ÚI1ÚLockoutDurationÚLockoutObservationWindowÚLockoutThresholdN)r0   r1   r2   r  r   r   r“   r+   r+   r+   r,   r  ¿  ó    ür  c                   @   ry   )ÚSAMPR_DOMAIN_OEM_INFORMATIONr  N©r0   r1   r2   r   r“   r+   r+   r+   r,   r  È  r}   r  c                   @   ry   )ÚSAMPR_DOMAIN_NAME_INFORMATIONr  Nr  r+   r+   r+   r,   r  Î  r}   r  c                   @   ry   )Ú$SAMPR_DOMAIN_REPLICATION_INFORMATIONr  Nr  r+   r+   r+   r,   r  Ô  r}   r  c                   @   r©   )Ú SAMPR_DOMAIN_LOCKOUT_INFORMATIONr  r  r  N)r0   r1   r2   r   r   r“   r+   r+   r+   r,   r   Ú  r¬   r   c                   @   r•   )ÚDOMAIN_INFORMATION_CLASSc                   @   s<   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdS )z"DOMAIN_INFORMATION_CLASS.enumItemsr3   r4   rT   r5   rU   rS   r?   r6   r—   é   é   é   N)r0   r1   r2   ÚDomainPasswordInformationÚDomainGeneralInformationÚDomainLogoffInformationÚDomainOemInformationÚDomainNameInformationÚDomainReplicationInformationÚDomainServerRoleInformationÚDomainModifiedInformationÚDomainStateInformationÚDomainGeneralInformation2ÚDomainLockoutInformationÚDomainModifiedInformation2r+   r+   r+   r,   r£   ã  s    r£   Nr¤   r+   r+   r+   r,   r!  â  r¥   r!  c                   @   sˆ   e Zd Zejdefejdefejde	fej
defejdefejdefejdefejdefejd	efejd
efejdefejdefiZdS )ÚSAMPR_DOMAIN_INFO_BUFFERÚPasswordÚGeneralÚLogoffÚOemrÍ   ÚRoleÚReplicationÚModifiedÚStateÚGeneral2ÚLockoutÚ	Modified2N)r0   r1   r2   r!  r%  rÿ   r&  r  r'  r  r(  r  r)  r  r+  r  r*  r  r,  r	  r-  rú   r.  r  r/  r   r0  r  rñ   r+   r+   r+   r,   r1  ò  s    











ôr1  c                   @   ry   )ÚPSAMPR_DOMAIN_INFO_BUFFERr{   N)r0   r1   r2   r1  r|   r+   r+   r+   r,   r=    r}   r=  c                   @   ry   )ÚGROUP_ATTRIBUTE_INFORMATIONrÞ   Nrß   r+   r+   r+   r,   r>    r}   r>  c                   @   s(   e Zd ZdefdefdefdeffZdS )ÚSAMPR_GROUP_GENERAL_INFORMATIONrÍ   rÞ   rè   ÚAdminCommentN©r0   r1   r2   r   r   r“   r+   r+   r+   r,   r?    r  r?  c                   @   ry   )ÚSAMPR_GROUP_NAME_INFORMATIONrÍ   Nr  r+   r+   r+   r,   rB    r}   rB  c                   @   ry   )Ú#SAMPR_GROUP_ADM_COMMENT_INFORMATIONr@  Nr  r+   r+   r+   r,   rC    r}   rC  c                   @   r•   )ÚGROUP_INFORMATION_CLASSc                   @   ó    e Zd ZdZdZdZdZdZdS )z!GROUP_INFORMATION_CLASS.enumItemsr3   r4   rT   r5   rU   N)r0   r1   r2   ÚGroupGeneralInformationÚGroupNameInformationÚGroupAttributeInformationÚGroupAdminCommentInformationÚGroupReplicationInformationr+   r+   r+   r,   r£   $  ó    r£   Nr¤   r+   r+   r+   r,   rD  #  r¥   rD  c                   @   sB   e Zd Zejdefejdefejde	fej
defejdefiZdS )ÚSAMPR_GROUP_INFO_BUFFERr3  rÍ   Ú	Attributer@  ÚDoNotUseN)r0   r1   r2   rD  rF  r?  rG  rB  rH  r>  rI  rC  rJ  rñ   r+   r+   r+   r,   rL  ,  ó    




ûrL  c                   @   ry   )ÚPSAMPR_GROUP_INFO_BUFFERr{   N)r0   r1   r2   rL  r|   r+   r+   r+   r,   rP  5  r}   rP  c                   @   s"   e Zd ZdefdefdeffZdS )ÚSAMPR_ALIAS_GENERAL_INFORMATIONrÍ   rè   r@  NrA  r+   r+   r+   r,   rQ  ;  r¬   rQ  c                   @   ry   )ÚSAMPR_ALIAS_NAME_INFORMATIONrÍ   Nr  r+   r+   r+   r,   rR  C  r}   rR  c                   @   ry   )Ú#SAMPR_ALIAS_ADM_COMMENT_INFORMATIONr@  Nr  r+   r+   r+   r,   rS  I  r}   rS  c                   @   r•   )ÚALIAS_INFORMATION_CLASSc                   @   ó   e Zd ZdZdZdZdS )z!ALIAS_INFORMATION_CLASS.enumItemsr3   r4   rT   N)r0   r1   r2   ÚAliasGeneralInformationÚAliasNameInformationÚAliasAdminCommentInformationr+   r+   r+   r,   r£   P  ó    r£   Nr¤   r+   r+   r+   r,   rT  O  r¥   rT  c                   @   ó.   e Zd Zejdefejdefejde	fiZ
dS )ÚSAMPR_ALIAS_INFO_BUFFERr3  rÍ   r@  N)r0   r1   r2   rT  rV  rQ  rW  rR  rX  rS  rñ   r+   r+   r+   r,   r[  V  ó
    


ýr[  c                   @   ry   )ÚPSAMPR_ALIAS_INFO_BUFFERr{   N)r0   r1   r2   r[  r|   r+   r+   r+   r,   r]  ]  r}   r]  c                   @   ry   )ÚUSER_PRIMARY_GROUP_INFORMATIONÚPrimaryGroupIdNrß   r+   r+   r+   r,   r^  c  r}   r^  c                   @   ry   )ÚUSER_CONTROL_INFORMATIONÚUserAccountControlNrß   r+   r+   r+   r,   r`  i  r}   r`  c                   @   ry   )ÚUSER_EXPIRES_INFORMATIONÚAccountExpiresNr  r+   r+   r+   r,   rb  o  r}   rb  c                   @   rÔ   )ÚLOGON_HOURS_ARRAYNrÖ   r+   r+   r+   r,   rd  u  r×   rd  c                   @   ry   )ÚPLOGON_HOURS_ARRAYr{   N)r0   r1   r2   rd  r|   r+   r+   r+   r,   re  x  r}   re  c                   @   s&   e Zd ZdefdeffZddd„ZdS )ÚSAMPR_LOGON_HOURSÚUnitsPerWeekÚ
LogonHoursr   c                 C   s    t | d ƒd | d< t | |¡S )Nrh  r6   rg  )Úlenr
   ÚgetData)r'   ÚsoFarr+   r+   r,   rj  „  s   zSAMPR_LOGON_HOURS.getDataN)r   )r0   r1   r2   r   re  r“   rj  r+   r+   r+   r,   rf  }  s
    ýrf  c                   @   s  e Zd Zg def‘def‘def‘def‘def‘def‘def‘def‘d	ef‘d
ef‘def‘def‘def‘def‘def‘def‘def‘def‘def‘def‘def‘def‘def‘def‘def‘de	f‘de	f‘de	f‘de	f‘de
f‘de
f‘d e
f‘d!e
f‘R Zd"S )#ÚSAMPR_USER_ALL_INFORMATIONÚ	LastLogonÚ
LastLogoffÚPasswordLastSetrc  ÚPasswordCanChangeÚPasswordMustChangeÚUserNameÚFullNameÚHomeDirectoryÚHomeDirectoryDriveÚ
ScriptPathÚProfilePathr@  ÚWorkStationsÚUserCommentÚ
ParametersÚLmOwfPasswordÚNtOwfPasswordÚPrivateDatarÚ   ÚUserIdr_  ra  ÚWhichFieldsrh  ÚBadPasswordCountÚ
LogonCountÚCountryCodeÚCodePageÚLmPasswordPresentÚNtPasswordPresentÚPasswordExpiredÚPrivateDataSensitiveN)r0   r1   r2   r�   r   rª   rÙ   r   rf  r   r   r“   r+   r+   r+   r,   rl  ‰  sˆ    ÿþýüûúùø	÷
öõôóòñðîíìêèçæåäãâá à!ß"Þ#Ý$
Ürl  c                   @   s.   e Zd ZdefdefdefdefdeffZdS )ÚSAMPR_USER_GENERAL_INFORMATIONrr  rs  r_  r@  ry  NrA  r+   r+   r+   r,   rˆ  ²  r  rˆ  c                   @   s(   e Zd ZdefdefdefdeffZdS )Ú"SAMPR_USER_PREFERENCES_INFORMATIONry  Ú	Reserved1r‚  rƒ  N)r0   r1   r2   r   r   r“   r+   r+   r+   r,   r‰  ¼  r  r‰  c                   @   ry   )Ú!SAMPR_USER_PARAMETERS_INFORMATIONrz  Nr  r+   r+   r+   r,   r‹  Å  r}   r‹  c                   @   s|   e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefdefdefdefdefdefdefdeffZdS )ÚSAMPR_USER_LOGON_INFORMATIONrr  rs  r~  r_  rt  ru  rv  rw  rx  rm  rn  ro  rp  rq  rh  r€  r�  ra  N©	r0   r1   r2   r   r   r�   rf  r   r“   r+   r+   r+   r,   rŒ  Ë  ó(    îrŒ  c                   @   s|   e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefdefdefdefdefdefdefdeffZdS )ÚSAMPR_USER_ACCOUNT_INFORMATIONrr  rs  r~  r_  rt  ru  rv  rw  r@  rx  rm  rn  rh  r€  r�  ro  rc  ra  Nr�  r+   r+   r+   r,   r�  â  rŽ  r�  c                   @   ry   )ÚSAMPR_USER_A_NAME_INFORMATIONrr  Nr  r+   r+   r+   r,   r�  ù  r}   r�  c                   @   ry   )ÚSAMPR_USER_F_NAME_INFORMATIONrs  Nr  r+   r+   r+   r,   r‘  ÿ  r}   r‘  c                   @   rÜ   )ÚSAMPR_USER_NAME_INFORMATIONrr  rs  Nr  r+   r+   r+   r,   r’    r”   r’  c                   @   rÜ   )ÚSAMPR_USER_HOME_INFORMATIONrt  ru  Nr  r+   r+   r+   r,   r“    r”   r“  c                   @   ry   )ÚSAMPR_USER_SCRIPT_INFORMATIONrv  Nr  r+   r+   r+   r,   r”    r}   r”  c                   @   ry   )ÚSAMPR_USER_PROFILE_INFORMATIONrw  Nr  r+   r+   r+   r,   r•    r}   r•  c                   @   ry   )Ú$SAMPR_USER_ADMIN_COMMENT_INFORMATIONr@  Nr  r+   r+   r+   r,   r–    r}   r–  c                   @   ry   )Ú#SAMPR_USER_WORKSTATIONS_INFORMATIONrx  Nr  r+   r+   r+   r,   r—  %  r}   r—  c                   @   ry   )Ú"SAMPR_USER_LOGON_HOURS_INFORMATIONrh  N)r0   r1   r2   rf  r“   r+   r+   r+   r,   r˜  +  r}   r˜  c                   @   s    e Zd ZddeffZdd„ ZdS )ÚSAMPR_USER_PASSWORD)r«   z512s=b""r�   c                 C   rµ   )Nr5   r+   r°   r+   r+   r,   r±   6  r·   z SAMPR_USER_PASSWORD.getAlignmentN)r0   r1   r2   r   r“   r±   r+   r+   r+   r,   r™  1  s
    þr™  c                   @   r­   )ÚSAMPR_ENCRYPTED_USER_PASSWORD))r«   z516s=b""c                 C   rµ   r¶   r+   r°   r+   r+   r,   r±   >  r·   z*SAMPR_ENCRYPTED_USER_PASSWORD.getAlignmentNr²   r+   r+   r+   r,   rš  :  r³   rš  c                   @   ry   )ÚPSAMPR_ENCRYPTED_USER_PASSWORDr{   N)r0   r1   r2   rš  r|   r+   r+   r+   r,   r›  A  r}   r›  c                   @   r­   )Ú!SAMPR_ENCRYPTED_USER_PASSWORD_NEW))r«   z522s=b""c                 C   rµ   r¶   r+   r°   r+   r+   r,   r±   K  r·   z.SAMPR_ENCRYPTED_USER_PASSWORD_NEW.getAlignmentNr²   r+   r+   r+   r,   rœ  G  r³   rœ  c                   @   s.   e Zd ZdefdefdefdefdeffZdS )Ú SAMPR_USER_INTERNAL1_INFORMATIONÚEncryptedNtOwfPasswordÚEncryptedLmOwfPasswordr…  r„  r†  N)r0   r1   r2   ÚENCRYPTED_NT_OWF_PASSWORDr´   r   r“   r+   r+   r+   r,   r�  O  r  r�  c                   @   r�   )Ú SAMPR_USER_INTERNAL4_INFORMATIONr  ÚUserPasswordN)r0   r1   r2   rl  rš  r“   r+   r+   r+   r,   r¡  Y  r”   r¡  c                   @   r�   )Ú$SAMPR_USER_INTERNAL4_INFORMATION_NEWr  r¢  N)r0   r1   r2   rl  rœ  r“   r+   r+   r+   r,   r£  `  r”   r£  c                   @   r�   )Ú SAMPR_USER_INTERNAL5_INFORMATIONr¢  r†  N)r0   r1   r2   rš  r   r“   r+   r+   r+   r,   r¤  g  r”   r¤  c                   @   r�   )Ú$SAMPR_USER_INTERNAL5_INFORMATION_NEWr¢  r†  N)r0   r1   r2   rœ  r   r“   r+   r+   r+   r,   r¥  n  r”   r¥  c                   @   r•   )ÚUSER_INFORMATION_CLASSc                   @   sh   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdS )z USER_INFORMATION_CLASS.enumItemsr3   r4   rT   r5   rU   rS   r?   r6   r—   r˜   r"  r#  r$  r=   r7   é   é   é   é   é   é   é   é   N)r0   r1   r2   ÚUserGeneralInformationÚUserPreferencesInformationÚUserLogonInformationÚUserLogonHoursInformationÚUserAccountInformationÚUserNameInformationÚUserAccountNameInformationÚUserFullNameInformationÚUserPrimaryGroupInformationÚUserHomeInformationÚUserScriptInformationÚUserProfileInformationÚUserAdminCommentInformationÚUserWorkStationsInformationÚUserControlInformationÚUserExpiresInformationÚUserInternal1InformationÚUserParametersInformationÚUserAllInformationÚUserInternal4InformationÚUserInternal5InformationÚUserInternal4InformationNewÚUserInternal5InformationNewr+   r+   r+   r,   r£   v  s0    r£   Nr¤   r+   r+   r+   r,   r¦  u  r¥   r¦  c                   @   s  e Zd Zi ejdef“ejdef“ejde	f“ej
def“ejdef“ejdef“ejdef“ejdef“ejd	ef“ejd
ef“ejdef“ejdef“ejdef“ejdef“ej de!f“ej"de#f“ej$de%f“ej&de'fej(de)fej*de+fej,de-fej.de/fej0de1fi¥Z2dS )ÚSAMPR_USER_INFO_BUFFERr3  ÚPreferencesÚLogonrh  ÚAccountrÍ   ÚAccountNamers  ÚPrimaryGroupÚHomeÚScriptÚProfiler@  rx  ÚControlÚExpiresÚ	Internal1rz  ÚAllÚ	Internal4Ú	Internal5ÚInternal4NewÚInternal5NewN)3r0   r1   r2   r¦  r¯  rˆ  r°  r‰  r±  rŒ  r²  r˜  r³  r�  r´  r’  rµ  r�  r¶  r‘  r·  r^  r¸  r“  r¹  r”  rº  r•  r»  r–  r¼  r—  r½  r`  r¾  rb  r¿  r�  rÀ  r‹  rÁ  rl  rÂ  r¡  rÃ  r¤  rÄ  r£  rÅ  r¥  rñ   r+   r+   r+   r,   rÆ  �  sV    
ÿ
þ
ý
ü
û
ú
ù
ø
	÷

ö
õ
ô
ó
ò
ñ
ð
ï






érÆ  c                   @   ry   )ÚPSAMPR_USER_INFO_BUFFERr{   N)r0   r1   r2   rÆ  r|   r+   r+   r+   r,   r×  «  r}   r×  c                   @   r¦   )ÚPSAMPR_SERVER_NAME2))r{   z4s=b""N)r0   r1   r2   r|   r+   r+   r+   r,   rØ  °  rw   rØ  c                   @   s4   e Zd ZdefdefdefdefdefdeffZdS )ÚSAMPR_DOMAIN_DISPLAY_USERÚIndexÚRidÚAccountControlrÊ  r@  rs  NrÎ   r+   r+   r+   r,   rÙ  ¶  ó    úrÙ  c                   @   rs   )ÚSAMPR_DOMAIN_DISPLAY_USER_ARRAYN)r0   r1   r2   rÙ  rv   r+   r+   r+   r,   rÞ  À  rw   rÞ  c                   @   ry   )Ú PSAMPR_DOMAIN_DISPLAY_USER_ARRAYr{   N)r0   r1   r2   rÞ  r|   r+   r+   r+   r,   rß  Ã  r}   rß  c                   @   ó.   e Zd ZdefdefdefdefdeffZdS )ÚSAMPR_DOMAIN_DISPLAY_MACHINErÚ  rÛ  rÜ  rÊ  r@  NrÎ   r+   r+   r+   r,   rá  É  r  rá  c                   @   rs   )Ú"SAMPR_DOMAIN_DISPLAY_MACHINE_ARRAYN)r0   r1   r2   rá  rv   r+   r+   r+   r,   râ  Ò  rw   râ  c                   @   ry   )Ú#PSAMPR_DOMAIN_DISPLAY_MACHINE_ARRAYr{   N)r0   r1   r2   râ  r|   r+   r+   r+   r,   rã  Õ  r}   rã  c                   @   rà  )ÚSAMPR_DOMAIN_DISPLAY_GROUPrÚ  rÛ  rÜ  rÊ  r@  NrÎ   r+   r+   r+   r,   rä  Û  r  rä  c                   @   rs   )Ú SAMPR_DOMAIN_DISPLAY_GROUP_ARRAYN)r0   r1   r2   rä  rv   r+   r+   r+   r,   rå  ä  rw   rå  c                   @   ry   )Ú!PSAMPR_DOMAIN_DISPLAY_GROUP_ARRAYr{   N)r0   r1   r2   rå  r|   r+   r+   r+   r,   ræ  ç  r}   ræ  c                   @   r�   )ÚSAMPR_DOMAIN_DISPLAY_OEM_USERrÚ  ÚOemAccountNameN©r0   r1   r2   r   r~   r“   r+   r+   r+   r,   rç  í  r”   rç  c                   @   rs   )Ú#SAMPR_DOMAIN_DISPLAY_OEM_USER_ARRAYN)r0   r1   r2   rç  rv   r+   r+   r+   r,   rê  ó  rw   rê  c                   @   ry   )Ú$PSAMPR_DOMAIN_DISPLAY_OEM_USER_ARRAYr{   N)r0   r1   r2   rê  r|   r+   r+   r+   r,   rë  ö  r}   rë  c                   @   r�   )ÚSAMPR_DOMAIN_DISPLAY_OEM_GROUPrÚ  rè  Nré  r+   r+   r+   r,   rì  ü  r”   rì  c                   @   rs   )Ú$SAMPR_DOMAIN_DISPLAY_OEM_GROUP_ARRAYN)r0   r1   r2   rì  rv   r+   r+   r+   r,   rí    rw   rí  c                   @   ry   )Ú%PSAMPR_DOMAIN_DISPLAY_OEM_GROUP_ARRAYr{   N)r0   r1   r2   rí  r|   r+   r+   r+   r,   rî    r}   rî  c                   @   r�   )Ú SAMPR_DOMAIN_DISPLAY_USER_BUFFERrÒ   r«   N)r0   r1   r2   r   rß  r“   r+   r+   r+   r,   rï    r”   rï  c                   @   r�   )Ú#SAMPR_DOMAIN_DISPLAY_MACHINE_BUFFERrÒ   r«   N)r0   r1   r2   r   rã  r“   r+   r+   r+   r,   rð    r”   rð  c                   @   r�   )Ú!SAMPR_DOMAIN_DISPLAY_GROUP_BUFFERrÒ   r«   N)r0   r1   r2   r   ræ  r“   r+   r+   r+   r,   rñ    r”   rñ  c                   @   r�   )Ú$SAMPR_DOMAIN_DISPLAY_OEM_USER_BUFFERrÒ   r«   N)r0   r1   r2   r   rë  r“   r+   r+   r+   r,   rò     r”   rò  c                   @   r�   )Ú%SAMPR_DOMAIN_DISPLAY_OEM_GROUP_BUFFERrÒ   r«   N)r0   r1   r2   r   rî  r“   r+   r+   r+   r,   ró  '  r”   ró  c                   @   r•   )ÚDOMAIN_DISPLAY_INFORMATIONc                   @   rE  )z$DOMAIN_DISPLAY_INFORMATION.enumItemsr3   r4   rT   r5   rU   N)r0   r1   r2   ÚDomainDisplayUserÚDomainDisplayMachineÚDomainDisplayGroupÚDomainDisplayOemUserÚDomainDisplayOemGroupr+   r+   r+   r,   r£   /  rK  r£   Nr¤   r+   r+   r+   r,   rô  .  r¥   rô  c                   @   sB   e Zd Zejdefejdefejde	fej
defejdefiZdS )ÚSAMPR_DISPLAY_INFO_BUFFERÚUserInformationÚMachineInformationÚGroupInformationÚOemUserInformationÚOemGroupInformationN)r0   r1   r2   rô  rõ  rï  rö  rð  r÷  rñ  rø  rò  rù  ró  rñ   r+   r+   r+   r,   rú  7  rO  rú  c                   @   r�   )ÚSAM_VALIDATE_PASSWORD_HASHr�   ÚHashN)r0   r1   r2   r   r   r“   r+   r+   r+   r,   r   A  r”   r   c                   @   ry   )ÚPSAM_VALIDATE_PASSWORD_HASHr{   N)r0   r1   r2   r   r|   r+   r+   r+   r,   r  G  r}   r  c                   @   s:   e Zd ZdefdefdefdefdefdefdeffZdS )	ÚSAM_VALIDATE_PERSISTED_FIELDSÚPresentFieldsro  ÚBadPasswordTimeÚLockoutTimer€  r   ÚPasswordHistoryN)r0   r1   r2   r   r   r  r“   r+   r+   r+   r,   r  M  s    ùr  c                   @   r•   )ÚSAM_VALIDATE_VALIDATION_STATUSc                   @   s8   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdS )z(SAM_VALIDATE_VALIDATION_STATUS.enumItemsr   r3   r4   rT   r5   rU   rS   r?   r6   r—   r˜   N)r0   r1   r2   ÚSamValidateSuccessÚSamValidatePasswordMustChangeÚSamValidateAccountLockedOutÚSamValidatePasswordExpiredÚSamValidatePasswordIncorrectÚSamValidatePasswordIsInHistoryÚSamValidatePasswordTooShortÚSamValidatePasswordTooLongÚ#SamValidatePasswordNotComplexEnoughÚSamValidatePasswordTooRecentÚSamValidatePasswordFilterErrorr+   r+   r+   r,   r£   Z  s    r£   Nr¤   r+   r+   r+   r,   r  Y  r¥   r  c                   @   r�   )Ú SAM_VALIDATE_STANDARD_OUTPUT_ARGÚChangedPersistedFieldsÚValidationStatusN)r0   r1   r2   r  r  r“   r+   r+   r+   r,   r  h  r”   r  c                   @   ry   )Ú!PSAM_VALIDATE_STANDARD_OUTPUT_ARGr{   N)r0   r1   r2   r  r|   r+   r+   r+   r,   r  n  r}   r  c                   @   r�   )Ú%SAM_VALIDATE_AUTHENTICATION_INPUT_ARGÚInputPersistedFieldsÚPasswordMatchedN)r0   r1   r2   r  r   r“   r+   r+   r+   r,   r  t  r”   r  c                   @   s.   e Zd ZdefdefdefdefdeffZdS )Ú&SAM_VALIDATE_PASSWORD_CHANGE_INPUT_ARGr  ÚClearPasswordÚUserAccountNameÚHashedPasswordÚPasswordMatchN©r0   r1   r2   r  r   r   r   r“   r+   r+   r+   r,   r  {  r  r  c                   @   s4   e Zd ZdefdefdefdefdefdeffZdS )Ú%SAM_VALIDATE_PASSWORD_RESET_INPUT_ARGr  r  r  r  ÚPasswordMustChangeAtNextLogonÚClearLockoutNr   r+   r+   r+   r,   r!  …  rÝ  r!  c                   @   r•   )ÚPASSWORD_POLICY_VALIDATION_TYPEc                   @   rU  )z)PASSWORD_POLICY_VALIDATION_TYPE.enumItemsr3   r4   rT   N)r0   r1   r2   ÚSamValidateAuthenticationÚSamValidatePasswordChangeÚSamValidatePasswordResetr+   r+   r+   r,   r£   ‘  rY  r£   Nr¤   r+   r+   r+   r,   r$  �  r¥   r$  c                   @   rZ  )ÚSAM_VALIDATE_INPUT_ARGÚValidateAuthenticationInputÚValidatePasswordChangeInputÚValidatePasswordResetInputN)r0   r1   r2   r$  r%  r  r&  r  r'  r!  rñ   r+   r+   r+   r,   r(  —  r\  r(  c                   @   s.   e Zd ZejdefejdefejdefiZdS )ÚSAM_VALIDATE_OUTPUT_ARGÚValidateAuthenticationOutputÚValidatePasswordChangeOutputÚValidatePasswordResetOutputN)	r0   r1   r2   r$  r%  r  r&  r'  rñ   r+   r+   r+   r,   r,  Ÿ  r\  r,  c                   @   ry   )ÚPSAM_VALIDATE_OUTPUT_ARGr{   N)r0   r1   r2   r,  r|   r+   r+   r+   r,   r0  ¦  r}   r0  c                   @   r¦   )ÚUSER_PROPERTIES))rŠ  ú<L=0)r�   r2  ©Ú	Reserved2ú<H=0©Ú	Reserved3r5  )Ú	Reserved4z96s="")ÚPropertySignaturez<H=0x50)ÚPropertyCountr5  )ÚUserPropertiesú:N©r0   r1   r2   r“   r+   r+   r+   r,   r1  ®  rw   r1  c                   @   r¦   )ÚUSER_PROPERTY))Ú
NameLengthr5  )ÚValueLengthr5  )ÚReservedr5  )Ú_PropertyNamez_-PropertyNamezself['NameLength'])ÚPropertyNamer<  )Ú_PropertyValuez_-PropertyValuezself['ValueLength'])ÚPropertyValuer<  Nr=  r+   r+   r+   r,   r>  »  rw   r>  c                   @   r¦   )ÚWDIGEST_CREDENTIALS)")rŠ  úB=0)r4  rG  )ÚVersionzB=1)ÚNumberOfHasheszB=29)r7  z12s="")ÚHash1ú16s="")ÚHash2rK  )ÚHash3rK  )ÚHash4rK  )ÚHash5rK  )ÚHash6rK  )ÚHash7rK  )ÚHash8rK  )ÚHash9rK  )ÚHash10rK  )ÚHash11rK  )ÚHash12rK  )ÚHash13rK  )ÚHash14rK  )ÚHash15rK  )ÚHash16rK  )ÚHash17rK  )ÚHash18rK  )ÚHash19rK  )ÚHash20rK  )ÚHash21rK  )ÚHash22rK  )ÚHash23rK  )ÚHash24rK  )ÚHash25rK  )ÚHash26rK  )ÚHash27rK  )ÚHash28rK  )ÚHash29rK  Nr=  r+   r+   r+   r,   rF  Ç  rw   rF  c                   @   r¦   )ÚKERB_KEY_DATA)©rŠ  r5  r3  r6  ©ÚKeyTyper2  ©Ú	KeyLengthr2  ©Ú	KeyOffsetr2  Nr=  r+   r+   r+   r,   rh  î  rw   rh  c                   @   r¦   )ÚKERB_STORED_CREDENTIAL))rì   z<H=3©ÚFlagsr5  ©ÚCredentialCountr5  ©ÚOldCredentialCountr5  ©ÚDefaultSaltLengthr5  ©ÚDefaultSaltMaximumLengthr5  ©ÚDefaultSaltOffsetr2  ©r«   r<  Nr=  r+   r+   r+   r,   rp  ù  rw   rp  c                   @   r¦   )ÚKERB_KEY_DATA_NEW)ri  r3  )r7  r2  )ÚIterationCountr2  rj  rl  rn  Nr=  r+   r+   r+   r,   r~    rw   r~  c                   @   r¦   )ÚKERB_STORED_CREDENTIAL_NEW))rì   z<H=4rq  rs  )ÚServiceCredentialCountr5  ru  )ÚOlderCredentialCountr5  rw  ry  r{  )ÚDefaultIterationCountr2  r}  Nr=  r+   r+   r+   r,   r€    rw   r€  c                   @   ó    e Zd ZdZdefdeffZdS )ÚSamrConnectr   Ú
ServerNameÚDesiredAccessN)r0   r1   r2   ÚopnumrØ  r   r“   r+   r+   r+   r,   r…  1  ó
    þr…  c                   @   r�   )ÚSamrConnectResponseÚServerHandleÚ	ErrorCodeN©r0   r1   r2   r®   r   r“   r+   r+   r+   r,   rŠ  8  r”   rŠ  c                   @   r„  )ÚSamrCloseHandler3   Ú	SamHandler‡  N)r0   r1   r2   rˆ  r®   r   r“   r+   r+   r+   r,   rŽ  >  r‰  rŽ  c                   @   r�   )ÚSamrCloseHandleResponser�  rŒ  Nr�  r+   r+   r+   r,   r�  E  r”   r�  c                   @   ó&   e Zd ZdZdefdefdeffZdS )ÚSamrSetSecurityObjectr4   ÚObjectHandleÚSecurityInformationrÚ   N)r0   r1   r2   rˆ  r®   r   rÙ   r“   r+   r+   r+   r,   r’  K  ó    ýr’  c                   @   ry   )ÚSamrSetSecurityObjectResponserŒ  Nrß   r+   r+   r+   r,   r–  S  r}   r–  c                   @   r„  )ÚSamrQuerySecurityObjectrT   r“  r”  N)r0   r1   r2   rˆ  r®   r   r“   r+   r+   r+   r,   r—  X  r‰  r—  c                   @   r�   )ÚSamrQuerySecurityObjectResponserÚ   rŒ  N)r0   r1   r2   rÛ   r   r“   r+   r+   r+   r,   r˜  _  r”   r˜  c                   @   r„  )ÚSamrLookupDomainInSamServerrU   r‹  rÍ   N)r0   r1   r2   rˆ  r®   r   r“   r+   r+   r+   r,   r™  e  r‰  r™  c                   @   r�   )Ú#SamrLookupDomainInSamServerResponseÚDomainIdrŒ  N©r0   r1   r2   r   r   r“   r+   r+   r+   r,   rš  l  r”   rš  c                   @   ó&   e Zd ZdZdefdefdeffZdS )ÚSamrEnumerateDomainsInSamServerrS   r‹  ÚEnumerationContextÚPreferedMaximumLengthN©r0   r1   r2   rˆ  r®   r   r“   r+   r+   r+   r,   rž  r  r•  rž  c                   @   ó(   e Zd ZdefdefdefdeffZdS )Ú'SamrEnumerateDomainsInSamServerResponserŸ  r«   ÚCountReturnedrŒ  N©r0   r1   r2   r   rÓ   r“   r+   r+   r+   r,   r£  z  r  r£  c                   @   r‘  )ÚSamrOpenDomainr?   r‹  r‡  r›  N)r0   r1   r2   rˆ  r®   r   r   r“   r+   r+   r+   r,   r¦  ‚  r•  r¦  c                   @   r�   )ÚSamrOpenDomainResponseÚDomainHandlerŒ  Nr�  r+   r+   r+   r,   r§  Š  r”   r§  c                   @   r„  )ÚSamrQueryInformationDomainr6   r¨  ÚDomainInformationClassN©r0   r1   r2   rˆ  r®   r!  r“   r+   r+   r+   r,   r©  �  r‰  r©  c                   @   r�   )Ú"SamrQueryInformationDomainResponser«   rŒ  N©r0   r1   r2   r=  r   r“   r+   r+   r+   r,   r¬  —  r”   r¬  c                   @   r‘  )ÚSamrSetInformationDomainr—   r¨  rª  ÚDomainInformationN)r0   r1   r2   rˆ  r®   r!  r1  r“   r+   r+   r+   r,   r®  �  r•  r®  c                   @   ry   )Ú SamrSetInformationDomainResponserŒ  Nrß   r+   r+   r+   r,   r°  ¥  r}   r°  c                   @   r‘  )ÚSamrCreateGroupInDomainr˜   r¨  rÍ   r‡  N©r0   r1   r2   rˆ  r®   r   r   r“   r+   r+   r+   r,   r±  ª  r•  r±  c                   @   ræ   )ÚSamrCreateGroupInDomainResponseÚGroupHandlerÌ   rŒ  Nr�  r+   r+   r+   r,   r³  ²  r¬   r³  c                   @   r�  )ÚSamrEnumerateGroupsInDomainr"  r¨  rŸ  r   Nr¡  r+   r+   r+   r,   rµ  ¹  r•  rµ  c                   @   r‘  )ÚSamrCreateUserInDomainr#  r¨  rÍ   r‡  Nr²  r+   r+   r+   r,   r¶  Á  r•  r¶  c                   @   ræ   )ÚSamrCreateUserInDomainResponseÚ
UserHandlerÌ   rŒ  Nr�  r+   r+   r+   r,   r·  É  r¬   r·  c                   @   r¢  )Ú#SamrEnumerateGroupsInDomainResponserŸ  r«   r¤  rŒ  Nr¥  r+   r+   r+   r,   r¹  Ð  r  r¹  c                   @   s,   e Zd ZdZdefdefdefdeffZdS )ÚSamrEnumerateUsersInDomainr$  r¨  rŸ  ra  r   Nr¡  r+   r+   r+   r,   rº  Ø  ó    ürº  c                   @   r¢  )Ú"SamrEnumerateUsersInDomainResponserŸ  r«   r¤  rŒ  Nr¥  r+   r+   r+   r,   r¼  á  r  r¼  c                   @   r‘  )ÚSamrCreateAliasInDomainr=   r¨  rÊ  r‡  Nr²  r+   r+   r+   r,   r½  é  r•  r½  c                   @   ræ   )ÚSamrCreateAliasInDomainResponseÚAliasHandlerÌ   rŒ  Nr�  r+   r+   r+   r,   r¾  ñ  r¬   r¾  c                   @   r�  )ÚSamrEnumerateAliasesInDomainrV   r¨  rŸ  r   Nr¡  r+   r+   r+   r,   rÀ  ù  r•  rÀ  c                   @   r¢  )Ú$SamrEnumerateAliasesInDomainResponserŸ  r«   r¤  rŒ  Nr¥  r+   r+   r+   r,   rÁ    r  rÁ  c                   @   r„  )ÚSamrGetAliasMembershipr7   r¨  ÚSidArrayN©r0   r1   r2   rˆ  r®   rÆ   r“   r+   r+   r+   r,   rÂ  	  r‰  rÂ  c                   @   r�   )ÚSamrGetAliasMembershipResponseÚ
MembershiprŒ  N©r0   r1   r2   r½   r   r“   r+   r+   r+   r,   rÅ    r”   rÅ  c                   @   r‘  )ÚSamrLookupNamesInDomainr§  r¨  r¾   ÚNamesN)r0   r1   r2   rˆ  r®   r   rt   r“   r+   r+   r+   r,   rÈ    r•  rÈ  c                   @   r©   )ÚSamrLookupNamesInDomainResponseÚRelativeIdsÚUserŒ  NrÇ  r+   r+   r+   r,   rÊ    r¬   rÊ  c                   @   r‘  )ÚSamrLookupIdsInDomainr¨  r¨  r¾   rË  N)r0   r1   r2   rˆ  r®   r   r¼   r“   r+   r+   r+   r,   rÍ  %  r•  rÍ  c                   @   s"   e Zd ZdefdefdeffZdS )ÚSamrLookupIdsInDomainResponserÉ  rÌ  rŒ  N)r0   r1   r2   rÊ   r½   r   r“   r+   r+   r+   r,   rÎ  -  r¬   rÎ  c                   @   r�  )ÚSamrOpenGroupé   r¨  r‡  ÚGroupIdNr¡  r+   r+   r+   r,   rÏ  4  r•  rÏ  c                   @   r�   )ÚSamrOpenGroupResponser´  rŒ  Nr�  r+   r+   r+   r,   rÒ  <  r”   rÒ  c                   @   r„  )ÚSamrQueryInformationGroupr©  r´  ÚGroupInformationClassN)r0   r1   r2   rˆ  r®   rD  r“   r+   r+   r+   r,   rÓ  B  r‰  rÓ  c                   @   r�   )Ú!SamrQueryInformationGroupResponser«   rŒ  N)r0   r1   r2   rP  r   r“   r+   r+   r+   r,   rÕ  I  r”   rÕ  c                   @   r‘  )ÚSamrSetInformationGrouprª  r´  rÔ  r«   N)r0   r1   r2   rˆ  r®   rD  rL  r“   r+   r+   r+   r,   rÖ  O  r•  rÖ  c                   @   ry   )ÚSamrSetInformationGroupResponserŒ  Nrß   r+   r+   r+   r,   r×  W  r}   r×  c                   @   r�  )ÚSamrAddMemberToGroupé   r´  ÚMemberIdrÞ   Nr¡  r+   r+   r+   r,   rØ  \  r•  rØ  c                   @   ry   )ÚSamrAddMemberToGroupResponserŒ  Nrß   r+   r+   r+   r,   rÛ  d  r}   rÛ  c                   @   ó   e Zd ZdZdeffZdS )ÚSamrDeleteGroupr«  r´  N©r0   r1   r2   rˆ  r®   r“   r+   r+   r+   r,   rÝ  i  ó    ÿrÝ  c                   @   r�   )ÚSamrDeleteGroupResponser´  rŒ  Nr�  r+   r+   r+   r,   rà  o  r”   rà  c                   @   r„  )ÚSamrRemoveMemberFromGroupr¬  r´  rÚ  Nr¡  r+   r+   r+   r,   rá  u  r‰  rá  c                   @   ry   )Ú!SamrRemoveMemberFromGroupResponserŒ  Nrß   r+   r+   r+   r,   râ  |  r}   râ  c                   @   rÜ  )ÚSamrGetMembersInGroupr­  r´  NrÞ  r+   r+   r+   r,   rã  �  rß  rã  c                   @   r�   )ÚSamrGetMembersInGroupResponseré   rŒ  N)r0   r1   r2   rê   r   r“   r+   r+   r+   r,   rä  ‡  r”   rä  c                   @   r�  )ÚSamrSetMemberAttributesOfGroupr®  r´  rÚ  rÞ   Nr¡  r+   r+   r+   r,   rå  �  r•  rå  c                   @   ry   )Ú&SamrSetMemberAttributesOfGroupResponserŒ  Nrß   r+   r+   r+   r,   ræ  •  r}   ræ  c                   @   r�  )ÚSamrOpenAliasé   r¨  r‡  ÚAliasIdNr¡  r+   r+   r+   r,   rç  š  r•  rç  c                   @   r�   )ÚSamrOpenAliasResponser¿  rŒ  Nr�  r+   r+   r+   r,   rê  ¢  r”   rê  c                   @   r„  )ÚSamrQueryInformationAliasé   r¿  ÚAliasInformationClassN)r0   r1   r2   rˆ  r®   rT  r“   r+   r+   r+   r,   rë  ¨  r‰  rë  c                   @   r�   )Ú!SamrQueryInformationAliasResponser«   rŒ  N)r0   r1   r2   r]  r   r“   r+   r+   r+   r,   rî  ¯  r”   rî  c                   @   r‘  )ÚSamrSetInformationAliasé   r¿  rí  r«   N)r0   r1   r2   rˆ  r®   rT  r[  r“   r+   r+   r+   r,   rï  µ  r•  rï  c                   @   ry   )ÚSamrSetInformationAliasResponserŒ  Nrß   r+   r+   r+   r,   rñ  ½  r}   rñ  c                   @   rÜ  )ÚSamrDeleteAliasé   r¿  NrÞ  r+   r+   r+   r,   rò  Â  rß  rò  c                   @   r�   )ÚSamrDeleteAliasResponser¿  rŒ  Nr�  r+   r+   r+   r,   rô  È  r”   rô  c                   @   r„  )ÚSamrAddMemberToAliasrW   r¿  rÚ  N©r0   r1   r2   rˆ  r®   r   r“   r+   r+   r+   r,   rõ  Î  r‰  rõ  c                   @   ry   )ÚSamrAddMemberToAliasResponserŒ  Nrß   r+   r+   r+   r,   r÷  Õ  r}   r÷  c                   @   r„  )ÚSamrRemoveMemberFromAliasr8   r¿  rÚ  Nrö  r+   r+   r+   r,   rø  Ú  r‰  rø  c                   @   ry   )Ú!SamrRemoveMemberFromAliasResponserŒ  Nrß   r+   r+   r+   r,   rù  á  r}   rù  c                   @   rÜ  )ÚSamrGetMembersInAliasé!   r¿  NrÞ  r+   r+   r+   r,   rú  æ  rß  rú  c                   @   r�   )ÚSamrGetMembersInAliasResponseré   rŒ  N)r0   r1   r2   rÉ   r   r“   r+   r+   r+   r,   rü  ì  r”   rü  c                   @   r�  )ÚSamrOpenUseré"   r¨  r‡  r~  Nr¡  r+   r+   r+   r,   rý  ò  r•  rý  c                   @   r�   )ÚSamrOpenUserResponser¸  rŒ  Nr�  r+   r+   r+   r,   rÿ  ú  r”   rÿ  c                   @   rÜ  )ÚSamrDeleteUseré#   r¸  NrÞ  r+   r+   r+   r,   r      rß  r   c                   @   r�   )ÚSamrDeleteUserResponser¸  rŒ  Nr�  r+   r+   r+   r,   r    r”   r  c                   @   r„  )ÚSamrQueryInformationUseré$   r¸  ÚUserInformationClassN©r0   r1   r2   rˆ  r®   r¦  r“   r+   r+   r+   r,   r    r‰  r  c                   @   r�   )Ú SamrQueryInformationUserResponser«   rŒ  N©r0   r1   r2   r×  r   r“   r+   r+   r+   r,   r    r”   r  c                   @   r‘  )ÚSamrSetInformationUseré%   r¸  r  r«   N©r0   r1   r2   rˆ  r®   r¦  rÆ  r“   r+   r+   r+   r,   r	    r•  r	  c                   @   ry   )ÚSamrSetInformationUserResponserŒ  Nrß   r+   r+   r+   r,   r  !  r}   r  c                   @   sV   e Zd ZdZdefdefdefdefdefdefdefd	efd
efdefdeffZdS )ÚSamrChangePasswordUseré&   r¸  Ú	LmPresentÚOldLmEncryptedWithNewLmÚNewLmEncryptedWithOldLmÚ	NtPresentÚOldNtEncryptedWithNewNtÚNewNtEncryptedWithOldNtÚNtCrossEncryptionPresentÚNewNtEncryptedWithNewLmÚLmCrossEncryptionPresentÚNewLmEncryptedWithNewNtN)	r0   r1   r2   rˆ  r®   r   r¸   ÚPENCRYPTED_NT_OWF_PASSWORDr“   r+   r+   r+   r,   r  &  s    õr  c                   @   ry   )ÚSamrChangePasswordUserResponserŒ  Nrß   r+   r+   r+   r,   r  6  r}   r  c                   @   rÜ  )ÚSamrGetGroupsForUseré'   r¸  NrÞ  r+   r+   r+   r,   r  ;  rß  r  c                   @   r�   )ÚSamrGetGroupsForUserResponserä   rŒ  N)r0   r1   r2   rå   r   r“   r+   r+   r+   r,   r  A  r”   r  c                   @   ó2   e Zd ZdZdefdefdefdefdeffZdS )ÚSamrQueryDisplayInformationé(   r¨  ÚDisplayInformationClassrÚ  Ú
EntryCountÚPreferredMaximumLengthN©r0   r1   r2   rˆ  r®   rô  r   r“   r+   r+   r+   r,   r  G  ó    ûr  c                   @   ó(   e Zd ZdefdefdefdeffZdS )Ú#SamrQueryDisplayInformationResponseÚTotalAvailableÚTotalReturnedr«   rŒ  N©r0   r1   r2   r   rú  r“   r+   r+   r+   r,   r'  Q  r  r'  c                   @   r‘  )ÚSamrGetDisplayEnumerationIndexé)   r¨  r!  ÚPrefixN©r0   r1   r2   rˆ  r®   rô  r   r“   r+   r+   r+   r,   r+  Y  r•  r+  c                   @   rÜ   )Ú&SamrGetDisplayEnumerationIndexResponserÚ  rŒ  Nrß   r+   r+   r+   r,   r/  a  r”   r/  c                   @   rÜ  )Ú$SamrGetUserDomainPasswordInformationé,   r¸  NrÞ  r+   r+   r+   r,   r0  g  rß  r0  c                   @   r�   )Ú,SamrGetUserDomainPasswordInformationResponseÚPasswordInformationrŒ  N©r0   r1   r2   rò   r   r“   r+   r+   r+   r,   r2  m  r”   r2  c                   @   r„  )Ú!SamrRemoveMemberFromForeignDomainé-   r¨  Ú	MemberSidNrö  r+   r+   r+   r,   r5  s  r‰  r5  c                   @   ry   )Ú)SamrRemoveMemberFromForeignDomainResponserŒ  Nrß   r+   r+   r+   r,   r8  z  r}   r8  c                   @   r„  )ÚSamrQueryInformationDomain2é.   r¨  rª  Nr«  r+   r+   r+   r,   r9    r‰  r9  c                   @   r�   )Ú#SamrQueryInformationDomain2Responser«   rŒ  Nr­  r+   r+   r+   r,   r;  †  r”   r;  c                   @   r„  )ÚSamrQueryInformationUser2é/   r¸  r  Nr  r+   r+   r+   r,   r<  Œ  r‰  r<  c                   @   r�   )Ú!SamrQueryInformationUser2Responser«   rŒ  Nr  r+   r+   r+   r,   r>  “  r”   r>  c                   @   r  )ÚSamrQueryDisplayInformation2é0   r¨  r!  rÚ  r"  r#  Nr$  r+   r+   r+   r,   r?  ™  r%  r?  c                   @   r&  )Ú$SamrQueryDisplayInformation2Responser(  r)  r«   rŒ  Nr*  r+   r+   r+   r,   rA  £  r  rA  c                   @   r‘  )ÚSamrGetDisplayEnumerationIndex2é1   r¨  r!  r-  Nr.  r+   r+   r+   r,   rB  «  r•  rB  c                   @   rÜ   )Ú'SamrGetDisplayEnumerationIndex2ResponserÚ  rŒ  Nrß   r+   r+   r+   r,   rD  ³  r”   rD  c                   @   s,   e Zd ZdZdefdefdefdeffZdS )ÚSamrCreateUser2InDomainé2   r¨  rÍ   ÚAccountTyper‡  Nr²  r+   r+   r+   r,   rE  ¹  r»  rE  c                   @   s(   e Zd ZdefdefdefdeffZdS )ÚSamrCreateUser2InDomainResponser¸  ÚGrantedAccessrÌ   rŒ  Nr�  r+   r+   r+   r,   rH  Â  r  rH  c                   @   r  )ÚSamrQueryDisplayInformation3é3   r¨  r!  rÚ  r"  r#  Nr$  r+   r+   r+   r,   rJ  Ê  r%  rJ  c                   @   r&  )Ú$SamrQueryDisplayInformation3Responser(  r)  r«   rŒ  Nr*  r+   r+   r+   r,   rL  Ô  r  rL  c                   @   r„  )ÚSamrAddMultipleMembersToAliasé4   r¿  ÚMembersBufferNrÄ  r+   r+   r+   r,   rM  Ü  r‰  rM  c                   @   ry   )Ú%SamrAddMultipleMembersToAliasResponserŒ  Nrß   r+   r+   r+   r,   rP  ã  r}   rP  c                   @   r„  )Ú"SamrRemoveMultipleMembersFromAliasé5   r¿  rO  NrÄ  r+   r+   r+   r,   rQ  è  r‰  rQ  c                   @   ry   )Ú*SamrRemoveMultipleMembersFromAliasResponserŒ  Nrß   r+   r+   r+   r,   rS  ï  r}   rS  c                   @   s,   e Zd ZdZdefdefdefdeffZdS )ÚSamrOemChangePasswordUser2é6   r†  rr  ÚNewPasswordEncryptedWithOldLmÚ"OldLmOwfPasswordEncryptedWithNewLmN)	r0   r1   r2   rˆ  rŽ   r~   r›  r¸   r“   r+   r+   r+   r,   rT  ô  r»  rT  c                   @   ry   )Ú"SamrOemChangePasswordUser2ResponserŒ  Nrß   r+   r+   r+   r,   rX  ý  r}   rX  c                   @   s>   e Zd ZdZdefdefdefdefdefdefde	ffZ
d	S )
ÚSamrUnicodeChangePasswordUser2é7   r†  rr  ÚNewPasswordEncryptedWithOldNtÚ"OldNtOwfPasswordEncryptedWithNewNtr  rV  Ú"OldLmOwfPasswordEncryptedWithNewNtN)r0   r1   r2   rˆ  r   r   r›  r  r   r¸   r“   r+   r+   r+   r,   rY  	  s    ùrY  c                   @   ry   )Ú&SamrUnicodeChangePasswordUser2ResponserŒ  Nrß   r+   r+   r+   r,   r^  	  r}   r^  c                   @   rÜ  )Ú SamrGetDomainPasswordInformationé8   ÚUnusedN)r0   r1   r2   rˆ  r   r“   r+   r+   r+   r,   r_  	  s    þr_  c                   @   r�   )Ú(SamrGetDomainPasswordInformationResponser3  rŒ  Nr4  r+   r+   r+   r,   rb  	  r”   rb  c                   @   r„  )ÚSamrConnect2é9   r†  r‡  N©r0   r1   r2   rˆ  ÚPSAMPR_SERVER_NAMEr   r“   r+   r+   r+   r,   rc   	  r‰  rc  c                   @   r�   )ÚSamrConnect2Responser‹  rŒ  Nr�  r+   r+   r+   r,   rg  '	  r”   rg  c                   @   r‘  )ÚSamrSetInformationUser2é:   r¸  r  r«   Nr  r+   r+   r+   r,   rh  -	  r•  rh  c                   @   ry   )ÚSamrSetInformationUser2ResponserŒ  Nrß   r+   r+   r+   r,   rj  5	  r}   rj  c                   @   r�  )ÚSamrConnect4é>   r†  ÚClientRevisionr‡  Nre  r+   r+   r+   r,   rk  :	  r•  rk  c                   @   r�   )ÚSamrConnect4Responser‹  rŒ  Nr�  r+   r+   r+   r,   rn  B	  r”   rn  c                   @   s,   e Zd ZdZdefdefdefdeffZdS )ÚSamrConnect5r9   r†  r‡  Ú	InVersionÚInRevisionInfoN)r0   r1   r2   rˆ  rf  r   rî   r“   r+   r+   r+   r,   ro  H	  r»  ro  c                   @   s(   e Zd ZdefdefdefdeffZdS )ÚSamrConnect5ResponseÚ
OutVersionÚOutRevisionInfor‹  rŒ  N)r0   r1   r2   r   rî   r®   r“   r+   r+   r+   r,   rr  Q	  r  rr  c                   @   r„  )ÚSamrRidToSidéA   r“  rÛ  Nr¡  r+   r+   r+   r,   ru  Y	  r‰  ru  c                   @   r�   )ÚSamrRidToSidResponseÚSidrŒ  Nrœ  r+   r+   r+   r,   rw  `	  r”   rw  c                   @   r‘  )ÚSamrSetDSRMPasswordéB   ra  r~  rž  N)r0   r1   r2   rˆ  r   r   r  r“   r+   r+   r+   r,   ry  f	  r•  ry  c                   @   ry   )ÚSamrSetDSRMPasswordResponserŒ  Nrß   r+   r+   r+   r,   r{  n	  r}   r{  c                   @   r„  )ÚSamrValidatePasswordéC   ÚValidationTypeÚInputArgN)r0   r1   r2   rˆ  r$  r(  r“   r+   r+   r+   r,   r|  s	  r‰  r|  c                   @   r�   )ÚSamrValidatePasswordResponseÚ	OutputArgrŒ  N)r0   r1   r2   r0  r   r“   r+   r+   r+   r,   r€  z	  r”   r€  rT   rU   rS   r?   r—   r˜   r"  r#  r$  r=   rV   r§  r¨  rÐ  r©  rª  rÙ  r«  r¬  r­  r®  rè  rì  rð  ró  rW   rû  rþ  r  r  r
  r  r  r   r,  r1  r6  r:  r=  r@  rC  rF  rK  rN  rR  )
rU  rZ  r`  rd  ri  rl  r9   rv  rz  r}  r>   c                 Ã   s<   �t ƒ }||d< ||d< ||d< ||d d< |  |¡I d H S )Nr†  r‡  rp  rq  rï   )ro  Úrequest)ÚdceÚ
serverNameÚdesiredAccessÚ	inVersionr‚  r+   r+   r,   ÚhSamrConnect5Ç	  s   €r‡  c                 Ã   ó0   �t ƒ }||d< ||d< ||d< |  |¡I d H S )Nr†  r‡  rm  )rk  r‚  )rƒ  r„  r…  ÚclientRevisionr‚  r+   r+   r,   ÚhSamrConnect4Ï	  ó   €rŠ  c                 Ã   ó(   �t ƒ }||d< ||d< |  |¡I d H S ©Nr†  r‡  )rc  r‚  ©rƒ  r„  r…  r‚  r+   r+   r,   ÚhSamrConnect2Ö	  ó
   €r�  c                 Ã   rŒ  r�  )r…  r‚  rŽ  r+   r+   r,   ÚhSamrConnectÜ	  r�  r‘  c                 Ã   rˆ  )Nr‹  r‡  r›  )r¦  r‚  )rƒ  ÚserverHandler…  ÚdomainIdr‚  r+   r+   r,   ÚhSamrOpenDomainâ	  r‹  r”  c                 Ã   rˆ  )Nr¨  r‡  rÑ  )rÏ  r‚  )rƒ  ÚdomainHandler…  ÚgroupIdr‚  r+   r+   r,   ÚhSamrOpenGroupé	  r‹  r—  c                 Ã   rˆ  )Nr¨  r‡  ré  )rç  r‚  )rƒ  r•  r…  ÚaliasIdr‚  r+   r+   r,   ÚhSamrOpenAliasð	  r‹  r™  c                 Ã   rˆ  )Nr¨  r‡  r~  )rý  r‚  )rƒ  r•  r…  ÚuserIdr‚  r+   r+   r,   ÚhSamrOpenUser÷	  r‹  r›  ì   ÿÿ c                 Ã   rˆ  )Nr‹  rŸ  r   )rž  r‚  )rƒ  r’  ÚenumerationContextÚpreferedMaximumLengthr‚  r+   r+   r,   Ú hSamrEnumerateDomainsInSamServerþ	  r‹  rŸ  c                 Ã   rˆ  ©Nr¨  rŸ  r   )rµ  r‚  ©rƒ  r•  r�  rž  r‚  r+   r+   r,   ÚhSamrEnumerateGroupsInDomain
  r‹  r¢  c                 Ã   rˆ  r   )rÀ  r‚  r¡  r+   r+   r,   ÚhSamrEnumerateAliasesInDomain
  r‹  r£  c                 Ã   ó8   �t ƒ }||d< ||d< ||d< ||d< |  |¡I d H S )Nr¨  ra  rŸ  r   )rº  r‚  )rƒ  r•  ÚuserAccountControlr�  rž  r‚  r+   r+   r,   ÚhSamrEnumerateUsersInDomain
  ó   €r¦  c                 Ã   ó@   �t ƒ }||d< ||d< ||d< ||d< ||d< |  |¡I d H S ©Nr¨  r!  rÚ  r"  r#  )rJ  r‚  ©rƒ  r•  ÚdisplayInformationClassÚindexÚ
entryCountrž  r‚  r+   r+   r,   ÚhSamrQueryDisplayInformation3
  ó   €r®  c                 Ã   r¨  r©  )r?  r‚  rª  r+   r+   r,   ÚhSamrQueryDisplayInformation2$
  r¯  r°  c                 Ã   r¨  r©  )r  r‚  rª  r+   r+   r,   ÚhSamrQueryDisplayInformation-
  r¯  r±  r„   c                 Ã   rˆ  ©Nr¨  r!  r-  )rB  r‚  ©rƒ  r•  r«  Úprefixr‚  r+   r+   r,   Ú hSamrGetDisplayEnumerationIndex26
  r‹  rµ  c                 Ã   rˆ  r²  )r+  r‚  r³  r+   r+   r,   ÚhSamrGetDisplayEnumerationIndex=
  r‹  r¶  c                 Ã   rˆ  ©Nr¨  rÍ   r‡  )r±  r‚  ©rƒ  r•  r-   r…  r‚  r+   r+   r,   ÚhSamrCreateGroupInDomainD
  r‹  r¹  c                 Ã   rˆ  )Nr¨  rÊ  r‡  )r½  r‚  )rƒ  r•  ÚaccountNamer…  r‚  r+   r+   r,   ÚhSamrCreateAliasInDomainK
  r‹  r»  c                 Ã   r¤  )Nr¨  rÍ   rG  r‡  )rE  r‚  )rƒ  r•  r-   ÚaccountTyper…  r‚  r+   r+   r,   ÚhSamrCreateUser2InDomainR
  r§  r½  c                 Ã   rˆ  r·  )r¶  r‚  r¸  r+   r+   r,   ÚhSamrCreateUserInDomainZ
  r‹  r¾  c                 Ã   rŒ  ©Nr¨  rª  )r©  r‚  ©rƒ  r•  ÚdomainInformationClassr‚  r+   r+   r,   ÚhSamrQueryInformationDomaina
  r�  rÂ  c                 Ã   rŒ  r¿  )r9  r‚  rÀ  r+   r+   r,   ÚhSamrQueryInformationDomain2g
  r�  rÃ  c                 Ã   rŒ  )Nr´  rÔ  )rÓ  r‚  )rƒ  ÚgroupHandleÚgroupInformationClassr‚  r+   r+   r,   ÚhSamrQueryInformationGroupm
  r�  rÆ  c                 Ã   rŒ  )Nr¿  rí  )rë  r‚  )rƒ  ÚaliasHandleÚaliasInformationClassr‚  r+   r+   r,   ÚhSamrQueryInformationAliass
  r�  rÉ  c                 Ã   rŒ  ©Nr¸  r  )r<  r‚  ©rƒ  Ú
userHandleÚuserInformationClassr‚  r+   r+   r,   ÚhSamrQueryInformationUser2y
  r�  rÎ  c                 Ã   rŒ  rÊ  )r  r‚  rË  r+   r+   r,   ÚhSamrQueryInformationUser
  r�  rÏ  c                 Ã   ó4   �t ƒ }||d< |d |d< ||d< |  |¡I d H S )Nr¨  rï   rª  r¯  )r®  r‚  )rƒ  r•  ÚdomainInformationr‚  r+   r+   r,   ÚhSamrSetInformationDomain…
  ó   €rÒ  c                 Ã   rÐ  )Nr´  rï   rÔ  r«   )rÖ  r‚  )rƒ  rÄ  Úbufferr‚  r+   r+   r,   ÚhSamrSetInformationGroupŒ
  rÓ  rÕ  c                 Ã   rÐ  )Nr¿  rï   rí  r«   )rï  r‚  )rƒ  rÇ  rÔ  r‚  r+   r+   r,   ÚhSamrSetInformationAlias“
  rÓ  rÖ  c                 Ã   rÐ  ©Nr¸  rï   r  r«   )rh  r‚  ©rƒ  rÌ  rÔ  r‚  r+   r+   r,   ÚhSamrSetInformationUser2š
  rÓ  rÙ  c                 Ã   rÐ  r×  )r	  r‚  rØ  r+   r+   r,   ÚhSamrSetInformationUser¡
  rÓ  rÚ  c                 Ã   ó    �t ƒ }||d< |  |¡I d H S ©Nr´  )rÝ  r‚  ©rƒ  rÄ  r‚  r+   r+   r,   ÚhSamrDeleteGroup¨
  ó   €rÞ  c                 Ã   rÛ  ©Nr¿  )rò  r‚  ©rƒ  rÇ  r‚  r+   r+   r,   ÚhSamrDeleteAlias­
  rß  râ  c                 Ã   rÛ  ©Nr¸  )r   r‚  ©rƒ  rÌ  r‚  r+   r+   r,   ÚhSamrDeleteUser²
  rß  rå  c                 Ã   rˆ  ©Nr´  rÚ  rÞ   )rØ  r‚  ©rƒ  rÄ  ÚmemberIdÚ
attributesr‚  r+   r+   r,   ÚhSamrAddMemberToGroup·
  r‹  rê  c                 Ã   rŒ  )Nr´  rÚ  )rá  r‚  )rƒ  rÄ  rè  r‚  r+   r+   r,   ÚhSamrRemoveMemberFromGroup¾
  r�  rë  c                 Ã   rÛ  rÜ  )rã  r‚  rÝ  r+   r+   r,   ÚhSamrGetMembersInGroupÄ
  rß  rì  c                 Ã   rŒ  ©Nr¿  rÚ  )rõ  r‚  ©rƒ  rÇ  rè  r‚  r+   r+   r,   ÚhSamrAddMemberToAliasÉ
  r�  rï  c                 Ã   rŒ  rí  )rø  r‚  rî  r+   r+   r,   ÚhSamrRemoveMemberFromAliasÏ
  r�  rð  c                 Ã   rÛ  rà  )rú  r‚  rá  r+   r+   r,   ÚhSamrGetMembersInAliasÕ
  rß  rñ  c                 Ã   rŒ  )Nr¨  r7  )r5  r‚  )rƒ  r•  Ú	memberSidr‚  r+   r+   r,   Ú"hSamrRemoveMemberFromForeignDomainÚ
  r�  ró  c                 Ã   ó<   �t ƒ }||d< ||d< t|d ƒ|d d< |  |¡I d H S ©Nr¿  rO  rÇ   r¾   )rM  ri  r‚  ©rƒ  rÇ  ÚmembersBufferr‚  r+   r+   r,   ÚhSamrAddMultipleMembersToAliasà
  ó   €rø  c                 Ã   rô  rõ  )rQ  ri  r‚  rö  r+   r+   r,   Ú#hSamrRemoveMultipleMembersFromAliasç
  rù  rú  c                 Ã   rÛ  rã  )r  r‚  rä  r+   r+   r,   ÚhSamrGetGroupsForUserî
  rß  rû  c                 Ã   rô  )Nr¨  rÃ  rÇ   r¾   )rÂ  ri  r‚  )rƒ  r•  ÚsidArrayr‚  r+   r+   r,   ÚhSamrGetAliasMembershipó
  rù  rý  c                 Ã   sš   �t ƒ }||d< t|ƒ}t|ƒ}t|ƒ}d|d< t|d< t|d< d|d< t||ƒ|d< t||ƒ|d	< d|d
< t|d< d|d< t||ƒ|d< |  |¡I d H S )Nr¸  r   r  r  r  r3   r  r  r  r  r  r  r  )r  rQ   rK   r   rr   r‚  )rƒ  rÌ  ÚoldPasswordÚnewPasswordr‚  ÚoldPwdHashNTÚnewPwdHashNTÚnewPwdHashLMr+   r+   r,   ÚhSamrChangePasswordUserú
  s"   €r  c                 Ã   sª   �t ƒ }||d< t|tƒdu rt |¡}t|ƒ}t|ƒ}d|d< t|d< t|d< d|d< t||ƒ|d	< t||ƒ|d
< d|d< t|d< d|d< t||ƒ|d< |  |¡I d H S )Nr¸  Fr   r  r  r  r3   r  r  r  r  r  r  r  )	r  rM   r^   ÚfromhexrQ   rK   r   rr   r‚  )rƒ  rÌ  r   rÿ  r‚  r  r  r+   r+   r,   ÚhSamrChangePasswordUser_hash  s$   €
r  c                 Ã   s^  �t ƒ }||d< ||d< |dkr|d u rt|ƒ}|dks |d u r$t|ƒ}t|tƒdu r0t |¡}t|tƒdu r;t|ƒ}t|ƒ}tƒ }	zddt|ƒd   | 	d¡ |	d	< W n# t
yx   d
d l}
ddt|ƒd   | |
 ¡ ¡ 	d¡ |	d	< Y nw t|ƒd |	d< |	 ¡ }t|ƒ}| |¡}||d d	< t||ƒ|d< d
|d< t|d< t|d< |  |¡I d H S )Nr†  rr  r„   Fó   Ar<   r4   rL   r«   r   r�   r[  r\  r  rV  r]  )rY  rK   rQ   rM   r^   r  r   r™  ri  rC   ÚUnicodeDecodeErrorÚsysÚdecodeÚgetfilesystemencodingrj  r#   rD   rr   r   r‚  )rƒ  r„  ÚuserNamerþ  rÿ  ÚoldPwdHashLMr   r‚  r  ÚsamUserr  ÚpwdBuffÚrc4ÚencBufr+   r+   r,   ÚhSamrUnicodeChangePasswordUser2&  s<   €
&0þ
r  c                 Ã   rŒ  )Nr‹  rÍ   )r™  r‚  )rƒ  r’  r-   r‚  r+   r+   r,   ÚhSamrLookupDomainInSamServerK  r�  r  c                 Ã   rˆ  )Nr“  r”  rÚ   )r’  r‚  )rƒ  ÚobjectHandleÚsecurityInformationÚsecurityDescriptorr‚  r+   r+   r,   ÚhSamrSetSecurityObjectQ  r‹  r  c                 Ã   rŒ  )Nr“  r”  )r—  r‚  )rƒ  r  r  r‚  r+   r+   r,   ÚhSamrQuerySecurityObjectX  r�  r  c                 Ã   rÛ  )Nr�  )rŽ  r‚  )rƒ  Ú	samHandler‚  r+   r+   r,   ÚhSamrCloseHandle^  rß  r  c                 Ã   rˆ  ræ  )rå  r‚  rç  r+   r+   r,   ÚhSamrSetMemberAttributesOfGroupc  r‹  r  c                 Ã   rÛ  rã  )r0  r‚  rä  r+   r+   r,   Ú%hSamrGetUserDomainPasswordInformationj  rß  r  c                 Ã   s    �t ƒ }t|d< |  |¡I d H S )Nra  )r_  r   r‚  )rƒ  r‚  r+   r+   r,   Ú!hSamrGetDomainPasswordInformationo  rß  r  c                 Ã   rŒ  )Nr“  rÛ  )ru  r‚  )rƒ  r  Úridr‚  r+   r+   r,   ÚhSamrRidToSidt  r�  r  c                 Ã   s,   �t ƒ }|d |d< ||d< |  |¡I d H S )Nrï   r~  r  )r|  r‚  )rƒ  ÚinputArgr‚  r+   r+   r,   ÚhSamrValidatePasswordz  s
   €r   c                 Ã   ób   �t ƒ }||d< t|ƒ|d< |D ]}tƒ }||d< |d  |¡ qd|jd jd< |  |¡I d H S )Nr¨  r¾   r{   rÉ  éè  ÚMaximumCount)rÈ  ri  r   ÚappendÚfieldsr‚  )rƒ  r•  Únamesr‚  r-   Úentryr+   r+   r,   ÚhSamrLookupNamesInDomain€  ó   €r(  c                 Ã   r!  )Nr¨  r¾   r{   rË  r"  r#  )rÍ  ri  r   r$  r%  r‚  )rƒ  r•  Úidsr‚  ÚdIdr'  r+   r+   r,   ÚhSamrLookupIdsInDomain�  r)  r,  c                 Ã   s*  �t ƒ }||d< tj|d< tj|d d< d|d d d d< t|d d d d	< t|d d d d
< t|d d d d< t|d d d d< t|d d d d< t|d d d d< t|d d d d< t|d d d d< t|d d d d< t|d d d d< t|d d d d d< t|d d d d d< t|d d d d< t|d d d d d< t|d d d d d< d|d d d d< | d¡}t|ƒ}| dd¡}|t d|¡7 }t	 
d¡}|  ¡ }t ¡ }| |¡ | |¡ | ¡ }	t|	ƒ}
|
 |¡| }||d d d d< |  |¡I d H S ) Nr¸  r  r«   rï   i   	rÕ  r  r  rr  rs  rt  ru  rv  rw  r@  rx  ry  rz  r{  r|  r}  rÚ   rh  r3   r†  rL   r<   ó    z<Ir7   r¢  )rh  r¦  rÄ  r   rC   ri  ÚrjustÚstructÚpackÚosÚurandomÚget_session_keyr$   Úmd5ÚupdaterP   r#   rD   r‚  )rƒ  rÌ  rE   r‚  ÚpwdbuffÚbufflenÚsaltÚsession_keyÚkeymdr.   ÚcipherÚbuffercryptr+   r+   r,   ÚhSamrSetPasswordInternal4Newš  sH   €




r=  c                 Ã   sÆ   �t ƒ }||d< tj|d< tj|d d< |dks|d u r t|ƒ}t|tƒdu r,t |¡}|  ¡ }|d u r8tdƒ‚t	||ƒ|d d d	< t
|d d d
< d|d d d< d|d d d< |  |¡I d H S )Nr¸  r  r«   rï   r„   Fz]This functionality requires the connection's session key but this connection doesn't have onerÑ  rž  rŸ  r3   r…  r   r„  )r	  r¦  r¿  rQ   rM   r^   r  r3  Ú	Exceptionrr   r   r‚  )rƒ  rÌ  rE   ÚhashNTr‚  r9  r+   r+   r,   ÚhSamrSetNTInternal1Ä  s"   €

r@  )r   rœ  )r>   r„   r„   r„   r„   r„   )r„   (H  Ú
__future__r   r   Úbinasciir   r/  r1  Úaiosmbr   ÚLOGÚaiosmb.dcerpc.v5.enumr   Úaiosmb.dcerpc.v5.uuidr   Úaiosmb.dcerpc.v5.structurer   Úaiosmb.dcerpc.v5.ndrr	   r
   r   r   r   r   r   r   Úaiosmb.dcerpc.v5.dtypesr   r   r   r   r   r   r   r   r   r   r   r   r   r   Úaiosmb.dcerpc.v5.rpcrtr   Úaiosmb.wintypes.ntstatusr    Úunicrypto.symmetricr!   r"   r#   Ú	unicryptor$   ÚMSRPC_UUID_SAMRr%   rf  ÚDELETEÚREAD_CONTROLÚ	WRITE_DACÚWRITE_OWNERÚACCESS_SYSTEM_SECURITYÚMAXIMUM_ALLOWEDÚGENERIC_READÚGENERIC_WRITEÚGENERIC_EXECUTEÚGENERIC_ALLÚSAM_SERVER_CONNECTÚSAM_SERVER_SHUTDOWNÚSAM_SERVER_INITIALIZEÚSAM_SERVER_CREATE_DOMAINÚSAM_SERVER_ENUMERATE_DOMAINSÚSAM_SERVER_LOOKUP_DOMAINÚSAM_SERVER_ALL_ACCESSÚSAM_SERVER_READÚSAM_SERVER_WRITEÚSAM_SERVER_EXECUTEÚDOMAIN_READ_PASSWORD_PARAMETERSÚDOMAIN_WRITE_PASSWORD_PARAMSÚDOMAIN_READ_OTHER_PARAMETERSÚDOMAIN_WRITE_OTHER_PARAMETERSÚDOMAIN_CREATE_USERÚDOMAIN_CREATE_GROUPÚDOMAIN_CREATE_ALIASÚDOMAIN_GET_ALIAS_MEMBERSHIPÚDOMAIN_LIST_ACCOUNTSÚDOMAIN_LOOKUPÚDOMAIN_ADMINISTER_SERVERÚDOMAIN_ALL_ACCESSÚDOMAIN_READÚDOMAIN_WRITEÚDOMAIN_EXECUTEÚGROUP_READ_INFORMATIONÚGROUP_WRITE_ACCOUNTÚGROUP_ADD_MEMBERÚGROUP_REMOVE_MEMBERÚGROUP_LIST_MEMBERSÚGROUP_ALL_ACCESSÚ
GROUP_READÚGROUP_WRITEÚGROUP_EXECUTEÚALIAS_ADD_MEMBERÚALIAS_REMOVE_MEMBERÚALIAS_LIST_MEMBERSÚALIAS_READ_INFORMATIONÚALIAS_WRITE_ACCOUNTÚALIAS_ALL_ACCESSÚ
ALIAS_READÚALIAS_WRITEÚALIAS_EXECUTEÚUSER_READ_GENERALÚUSER_READ_PREFERENCESÚUSER_WRITE_PREFERENCESÚUSER_READ_LOGONÚUSER_READ_ACCOUNTÚUSER_WRITE_ACCOUNTÚUSER_CHANGE_PASSWORDÚUSER_FORCE_PASSWORD_CHANGEÚUSER_LIST_GROUPSÚUSER_READ_GROUP_INFORMATIONÚUSER_WRITE_GROUP_INFORMATIONÚUSER_ALL_ACCESSÚ	USER_READÚ
USER_WRITEÚUSER_EXECUTEÚUSER_ALL_USERNAMEÚUSER_ALL_FULLNAMEÚUSER_ALL_USERIDÚUSER_ALL_PRIMARYGROUPIDÚUSER_ALL_ADMINCOMMENTÚUSER_ALL_USERCOMMENTÚUSER_ALL_HOMEDIRECTORYÚUSER_ALL_HOMEDIRECTORYDRIVEÚUSER_ALL_SCRIPTPATHÚUSER_ALL_PROFILEPATHÚUSER_ALL_WORKSTATIONSÚUSER_ALL_LASTLOGONÚUSER_ALL_LASTLOGOFFÚUSER_ALL_LOGONHOURSÚUSER_ALL_BADPASSWORDCOUNTÚUSER_ALL_LOGONCOUNTÚUSER_ALL_PASSWORDCANCHANGEÚUSER_ALL_PASSWORDMUSTCHANGEÚUSER_ALL_PASSWORDLASTSETÚUSER_ALL_ACCOUNTEXPIRESÚUSER_ALL_USERACCOUNTCONTROLÚUSER_ALL_PARAMETERSÚUSER_ALL_COUNTRYCODEÚUSER_ALL_CODEPAGEÚUSER_ALL_NTPASSWORDPRESENTÚUSER_ALL_LMPASSWORDPRESENTÚUSER_ALL_PRIVATEDATAÚUSER_ALL_PASSWORDEXPIREDÚUSER_ALL_SECURITYDESCRIPTORÚUSER_ALL_UNDEFINED_MASKÚSAM_DOMAIN_OBJECTÚSAM_GROUP_OBJECTÚSAM_NON_SECURITY_GROUP_OBJECTÚSAM_ALIAS_OBJECTÚSAM_NON_SECURITY_ALIAS_OBJECTÚSAM_USER_OBJECTÚSAM_MACHINE_ACCOUNTÚSAM_TRUST_ACCOUNTÚSAM_APP_BASIC_GROUPÚSAM_APP_QUERY_GROUPÚSE_GROUP_MANDATORYÚSE_GROUP_ENABLED_BY_DEFAULTÚSE_GROUP_ENABLEDÚGROUP_TYPE_ACCOUNT_GROUPÚGROUP_TYPE_RESOURCE_GROUPÚGROUP_TYPE_UNIVERSAL_GROUPÚGROUP_TYPE_SECURITY_ENABLEDÚGROUP_TYPE_SECURITY_ACCOUNTÚGROUP_TYPE_SECURITY_RESOURCEÚGROUP_TYPE_SECURITY_UNIVERSALÚUSER_ACCOUNT_DISABLEDÚUSER_HOME_DIRECTORY_REQUIREDÚUSER_PASSWORD_NOT_REQUIREDÚUSER_TEMP_DUPLICATE_ACCOUNTÚUSER_NORMAL_ACCOUNTÚUSER_MNS_LOGON_ACCOUNTÚUSER_INTERDOMAIN_TRUST_ACCOUNTÚUSER_WORKSTATION_TRUST_ACCOUNTÚUSER_SERVER_TRUST_ACCOUNTÚUSER_DONT_EXPIRE_PASSWORDÚUSER_ACCOUNT_AUTO_LOCKEDÚ$USER_ENCRYPTED_TEXT_PASSWORD_ALLOWEDÚUSER_SMARTCARD_REQUIREDÚUSER_TRUSTED_FOR_DELEGATIONÚUSER_NOT_DELEGATEDÚUSER_USE_DES_KEY_ONLYÚUSER_DONT_REQUIRE_PREAUTHÚUSER_PASSWORD_EXPIREDÚ+USER_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATIONÚUSER_NO_AUTH_DATA_REQUIREDÚUSER_PARTIAL_SECRETS_ACCOUNTÚUSER_USE_AES_KEYSÚ	UF_SCRIPTÚUF_ACCOUNTDISABLEÚUF_HOMEDIR_REQUIREDÚ
UF_LOCKOUTÚUF_PASSWD_NOTREQDÚUF_PASSWD_CANT_CHANGEÚ"UF_ENCRYPTED_TEXT_PASSWORD_ALLOWEDÚUF_TEMP_DUPLICATE_ACCOUNTÚUF_NORMAL_ACCOUNTÚUF_INTERDOMAIN_TRUST_ACCOUNTÚUF_WORKSTATION_TRUST_ACCOUNTÚUF_SERVER_TRUST_ACCOUNTÚUF_DONT_EXPIRE_PASSWDÚUF_MNS_LOGON_ACCOUNTÚUF_SMARTCARD_REQUIREDÚUF_TRUSTED_FOR_DELEGATIONÚUF_NOT_DELEGATEDÚUF_USE_DES_KEY_ONLYÚUF_DONT_REQUIRE_PREAUTHÚUF_PASSWORD_EXPIREDÚ)UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATIONÚUF_NO_AUTH_DATA_REQUIREDÚUF_PARTIAL_SECRETS_ACCOUNTÚUF_USE_AES_KEYSÚDOMAIN_USER_RID_ADMINÚDOMAIN_USER_RID_GUESTÚDOMAIN_USER_RID_KRBTGTÚDOMAIN_GROUP_RID_ADMINSÚDOMAIN_GROUP_RID_USERSÚDOMAIN_GROUP_RID_COMPUTERSÚDOMAIN_GROUP_RID_CONTROLLERSÚDOMAIN_ALIAS_RID_ADMINSÚ%DOMAIN_GROUP_RID_READONLY_CONTROLLERSÚDOMAIN_PASSWORD_COMPLEXÚDOMAIN_PASSWORD_NO_ANON_CHANGEÚDOMAIN_PASSWORD_NO_CLEAR_CHANGEÚDOMAIN_LOCKOUT_ADMINSÚDOMAIN_PASSWORD_STORE_CLEARTEXTÚDOMAIN_REFUSE_PASSWORD_CHANGEÚSAM_VALIDATE_PASSWORD_LAST_SETÚSAM_VALIDATE_BAD_PASSWORD_TIMEÚSAM_VALIDATE_LOCKOUT_TIMEÚSAM_VALIDATE_BAD_PASSWORD_COUNTÚ$SAM_VALIDATE_PASSWORD_HISTORY_LENGTHÚSAM_VALIDATE_PASSWORD_HISTORYrK   rQ   ra   rp   rr   rt   rx   rz   r~   rŽ   r�   r–   r§   r¨   rª   r®   r´   r   r¸   r  r¹   r»   r¼   r½   rÁ   rÃ   rÄ   rÅ   rÆ   rÉ   rÊ   rË   rÏ   rÐ   rÑ   rÓ   rÕ   rØ   rÙ   rÛ   rÝ   rà   rá   râ   rå   rç   rê   rë   rî   rò   rõ   rú   rü   rÿ   r  r  r	  r  r  r  r  r  r  r   r!  r1  r=  r>  r?  rB  rC  rD  rL  rP  rQ  rR  rS  rT  r[  r]  r^  r`  rb  rd  re  rf  rl  rˆ  r‰  r‹  rŒ  r�  r�  r‘  r’  r“  r”  r•  r–  r—  r˜  r™  rš  r›  rœ  r�  r¡  r£  r¤  r¥  r¦  rÆ  r×  rØ  rÙ  rÞ  rß  rá  râ  rã  rä  rå  ræ  rç  rê  rë  rì  rí  rî  rï  rð  rñ  rò  ró  rô  rú  r   r  r  r  r  r  r  r  r!  r$  r(  r,  r0  r1  r>  rF  rh  rp  r~  r€  r…  rŠ  rŽ  r�  r’  r–  r—  r˜  r™  rš  rž  r£  r¦  r§  r©  r¬  r®  r°  r±  r³  rµ  r¶  r·  r¹  rº  r¼  r½  r¾  rÀ  rÁ  rÂ  rÅ  rÈ  rÊ  rÍ  rÎ  rÏ  rÒ  rÓ  rÕ  rÖ  r×  rØ  rÛ  rÝ  rà  rá  râ  rã  rä  rå  ræ  rç  rê  rë  rî  rï  rñ  rò  rô  rõ  r÷  rø  rù  rú  rü  rý  rÿ  r   r  r  r  r	  r  r  r  r  r  r  r'  r+  r/  r0  r2  r5  r8  r9  r;  r<  r>  r?  rA  rB  rD  rE  rH  rJ  rL  rM  rP  rQ  rS  rT  rX  rY  r^  r_  rb  rc  rg  rh  rj  rk  rn  ro  rr  ru  rw  ry  r{  r|  r€  ÚOPNUMSr‡  rŠ  r�  r‘  r”  r—  r™  r›  rŸ  r¢  r£  r¦  rõ  r®  r°  r±  rµ  r¶  r¹  r»  r½  r¾  r.  rÂ  rÃ  rF  rÆ  rV  rÉ  r¯  rÎ  rÏ  rÒ  rÕ  rÖ  rÙ  rÚ  rÞ  râ  rå  rê  rë  rì  rï  rð  rñ  ró  rø  rú  rû  rý  r  r  r  r  r  r  r  r  r  r  r  r   r(  r,  r=  r@  r+   r+   r+   r,   Ú<module>   s"  (@

				)
		

			

'	

	
			ÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò/Ñ0Ð1Ï2Î3Í
4








ÃD""	"		%*