+
    4SsiŠR  ã                   óÚ  € ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHtH	t	H
t
HtHt ^t^Žt/ ^Rb^Rb^Rb^R	b^R
b^Rb^Rb^Rb^Rb^Rb^Rb^Rb^Rb^Rb^Rb^Rb^Rb/ ^Rb^Rb^Rb^Rb^ Rb^!Rb^"Rb^#Rb^$Rb^%R b^&R!b^'R"b^(R#b^)R$b^*R%b^+R&b^,R'bC/ ^-R(b^.R)b^/R*b^0R+b^1R,b^2R-b^3R.b^4R/b^5R0b^6R1b^7R2b^8R3b^9R4b^:R5b^;R6b^<R7b^=R8bC/ ^>R9b^?R:b^@R;b^AR<b^BR=b^CR>b^DR?b^ER@b^FRAb^GRBb^HRCb^IRDb^JREb^KRFb^LRGb^MRHb^NRIbC/ ^ORJb^PRKb^QRLb^RRMb^SRNb^TROb^URPb^VRQb^WRRb^XRSb^YRTb^ZRUb^[RVb^\RWb^]RXb^^RYb^_RZbC/ ^`R[b^aR\b^bR]b^cR^b^dR_b^eR`b^fRab^gRbb^hRcb^iRdb^jReb^kRfb^lRgb^mRhb^nRib^oRjb^pRkbC/ ^qRlb^rRmb^sRnb^tRob^uRpb^vRqb^wRrb^xRsb^yRtb^zRub^{Rvb^}Rwb^~Rxb^Ryb^€Rzb^�R{b^‚R|bC^ƒR}^„R~^…R^†R€^‡R�^ˆR‚^‰Rƒ^ŠR„^‹R…^ŒR†^�R‡^ŽRˆ/Ct]^N]	^S]
^‚]^‡]^Ž/t]^]	^]
^]^]^/t^|.t ! R‰ RŠ]4      t ! R‹ RŒ]4      tR# )�é    N)Úsd_utils)Úsecurity)Ú
setup_path)ÚDS_DOMAIN_FUNCTION_2008ÚDS_DOMAIN_FUNCTION_2008_R2ÚDS_DOMAIN_FUNCTION_2012ÚDS_DOMAIN_FUNCTION_2012_R2ÚDS_DOMAIN_FUNCTION_2016z$27a03717-5963-48fc-ba6f-69faa33e70edz$3467dae5-dedd-4648-9066-f48ac186b20az$33b7ee33-1386-47cf-baa1-b03e06473253z$e9ee8d55-c2fb-4723-a333-c80ff4dfbf45z$ccfae63a-7fb5-454c-83ab-0e8e1214974ez$ad3c7909-b154-4c16-8bf7-2c3a7870bb3dz$26ad2ebf-f8f5-44a4-b97c-a616c8b9d09az$4444c516-f43a-4c12-9c4b-b5c064941d61z$436a1a4b-f41a-46e6-ac86-427720ef29f3z$b2b7fb45-f50d-41bc-a73b-8f580f3b636az$1bdf6366-c3db-4d0b-b8cb-f99ba9bce20fz$63c0f51a-067c-4640-8a4f-044fb33f1049z$dae441c0-366e-482e-98d9-60a99a1898ccz$7dd09ca6-f0d6-43bf-b7f8-ef348f435617z$6b800a81-affe-4a15-8e41-6ea0c7aa89e4z$dd07182c-3174-4c95-902a-d64fee285bbfz$ffa5ee3c-1405-476d-b344-7ad37d69cc25z$099f1587-af70-49c6-ab6c-7b3e82be0fe2z$1a3f6b15-55f2-4752-ba27-3d38a8232c4dz$dee21a17-4e8e-4f40-a58c-c0c009b685a7z$9bd98bb4-4047-4de5-bf4c-7bd1d0f6d21dz$3fe80fbf-bf39-4773-b5bd-3e5767a30d2dz$f02915e2-9141-4f73-b8e7-2804662782daz$39902c52-ef24-4b4b-8033-2c9dfdd173a2z$20bf09b4-6d0b-4cd1-9c09-4231edf1209bz$94f238bb-831c-11d6-977b-00c04f613221z$94f238bc-831c-11d6-977b-00c04f613221z$94f238bd-831c-11d6-977b-00c04f613221z$94f238be-831c-11d6-977b-00c04f613221z$94f238bf-831c-11d6-977b-00c04f613221z$94f238c0-831c-11d6-977b-00c04f613221z$eda27b47-e610-11d6-9793-00c04f613221z$eda27b48-e610-11d6-9793-00c04f613221z$eda27b49-e610-11d6-9793-00c04f613221z$eda27b4a-e610-11d6-9793-00c04f613221z$26d9c510-e61a-11d6-9793-00c04f613221z$26d9c511-e61a-11d6-9793-00c04f613221z$ea08c04c-f474-4212-b19e-5e754f9210d4z$4c0672a2-437c-4944-b953-5db8f111d665z$4c022fd1-adab-4d84-a7f1-9580f03da856z$c03b1f37-c240-4910-93c8-1544a452b4b5z$560cf82d-9572-48a3-9024-6f2b56f1f866z$abd97102-88dd-4013-a009-0e2c2f967ff6z$134428a8-0043-48a6-bcda-63310d9ec4ddz$d668ad1f-cedd-4565-ab02-9385926ce4f5z$8f86b825-c322-4101-adc4-579f12d445dbz$9fea28ff-387f-4d57-866d-3893c50f373fz$782370ce-3d38-438d-8b0c-464220a3039dz$002fb291-0d00-4b0c-8c00-fe7f50ce6f8dz$dcb3c95d-deb7-4c51-ad13-43a7d5d06fc7z$ef010a1e-bd88-48c8-a7af-2affd250d77dz$bd3413c0-9559-469b-9f3d-51d7faabd81az$f814097b-3e3d-49ba-8a3a-092c25085f06z$6eb8eaf9-3403-4ba5-8b4b-ce349a4680adz$07e57d28-ad40-44fc-8334-8a0dc119b3f4z$6fd48655-1698-497a-ac8d-8267ce01c80bz$10338d31-2423-4dff-b4b5-ef025144b01fz$a96e2ed5-7a7c-4d5c-9d5d-965eca0051daz$613bd063-e8e9-4a62-8f4c-cda566f7eb6fz$2a858903-5696-4364-b4e5-4cac027ca7a6z$0fc5a978-0059-4b0a-9dc2-9896e8e389a1z$4d753a29-26ac-4d1a-bc80-311f947e4f0az$3b3adbdb-4485-4559-aed8-9811c4bf90e4z$56040c71-fe93-4037-8fe9-1a4d1a283009z$caa2bfad-0cca-483b-8d00-347f943292a8z$2b9e0609-6d75-498a-9727-c9fcc93f0e42z$96541a16-910a-4b66-acde-720a0dff03c7z$429a6334-1a00-4515-bf48-676deb55954az$21ae657c-6649-43c4-bbb3-7f184fdf58c1z$dca8f425-baae-47cd-b424-e3f6c76ed08bz$a662b036-dbbe-4166-b4ba-21abea17f9ccz$9d17b863-18c3-497d-9bde-45ddb95fcb65z$11c39bed-4bee-45f5-b195-8da0e05b573az$4664e973-cb20-4def-b3d5-559d6fe123e0z$2972d92d-a07a-44ac-9cb0-bf243356f345z$09a49cb3-6c54-4b83-ab20-8370838ba149z$77283e65-ce02-4dc3-8c1e-bf99b22527c2z$0afb7f53-96bd-404b-a659-89e65c269420z$c7f717ef-fdbe-4b4b-8dfc-fa8b839fbcfaz$00232167-f3a4-43c6-b503-9acb7a81b01cz$73a9515b-511c-44d2-822b-444a33d3bd33z$e0c60003-2ed7-4fd3-8659-7655a7e79397z$ed0c8cca-80ab-4b6b-ac5a-59b1d317e11fz$b6a6c19a-afc9-476b-8994-61f5b14b3f05z$defc28cd-6cb6-4479-8bcb-aabfb41e9713z$d6bd96d4-e66b-4a38-9c6b-e976ff58c56dz$bb8efc40-3090-4fa2-8a3f-7cd1d380e695z$2d6abe1b-4326-489e-920c-76d5337d2dc5z$6b13dfb5-cecc-4fb8-b28d-0505cea24175z$92e73422-c68b-46c9-b0d5-b55f9c741410z$c0ad80b4-8e84-4cc4-9163-2f84649bcc42z$992fe1d0-6591-4f24-a163-c820fcb7f308z$ede85f96-7061-47bf-b11b-0c0d999595b5z$ee0f3271-eb51-414a-bdac-8f9ba6397a39z$587d52e0-507e-440e-9d67-e6129f33bb68z$ce24f0f6-237e-43d6-ac04-1e918ab04aacz$7f77d431-dd6a-434f-ae4d-ce82928e498fz$ba14e1f6-7cd1-4739-804f-57d0ea74edf4z$156ffa2a-e07c-46fb-a5c4-fbd84a4e5ccez$7771d7dd-2231-4470-aa74-84a6f56fc3b6z$49b2ae86-839a-4ea0-81fe-9171c1b98e83z$1b1de989-57ec-4e96-b933-8279a8119da4z$281c63f0-2c9a-4cce-9256-a238c23c0db9z$4c47881a-f15a-4f6c-9f49-2742f7a11f4bz$2aea2dc6-d1d3-4f0c-9994-66c1da21de0fz$ae78240c-43b9-499e-ae65-2b6e0f0e202az$261b5bba-3438-4d5c-a3e9-7b871e5f57f0z$3fb79c05-8ea1-438c-8c7a-81f213aa61c2z$0b2be39a-d463-4c23-8290-32186759d3b1z$f0842b44-bc03-46a1-a860-006e8527fccdz$93efec15-4dd9-4850-bc86-a1f2c8e2ebb9z$9e108d96-672f-40f0-b6bd-69ee1f0b7ac4z$1e269508-f862-4c4a-b01f-420d26c4ff8cz$e1ab17ed-5efb-4691-ad2d-0424592c5755z$0e848bd4-7c70-48f2-b8fc-00fbaa82e360z$016f23f7-077d-41fa-a356-de7cfdb01797z$49c140db-2de3-44c2-a99a-bab2e6d2ba81z$e0b11c80-62c5-47f7-ad0d-3734a71b8312z$2ada1a2d-b02f-4731-b4fe-59f955e24f71z$b83818c1-01a6-4f39-91b7-a3bb581c3ae3z$bbbb9db0-4009-4368-8c40-6674e980d3c3z$f754861c-3692-4a7b-b2c2-d0fa28ed0b0bz$d32f499f-3026-4af0-a5bd-13fe5a331bd2z$38618886-98ee-4e42-8cf1-d9a2cd9edf8bz$328092fb-16e7-4453-9ab8-7592db56e9c4z$3a1c887f-df0a-489f-b3f2-2d0409095f6ez$232e831f-f988-4444-8e3e-8a352e2fd411z$ddddcf0c-bec9-4a5a-ae86-3cfe6cc6e110z$a0a45aac-5550-42df-bb6a-3cc5c46b52f2z$3e7645f3-3ea5-4567-b35a-87630449c70cz$e634067b-e2c4-4d79-b6e8-73c619324d5ec                   ó   € ] tR t^ÂtRtR# )ÚForestUpdateException© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__static_attributes__r   ó    Ú5/usr/lib/python3/dist-packages/samba/forest_update.pyr   r   Â   s   † Ûr   r   c                   óº   a € ] tR t^Æt o RtRR ltRR ltR tRR ltR t	R t
R	 tR
 tR tR tR tR tR tR tR tR tR tR tR tR tR tR tR tRtV tR# )ÚForestUpdatez2Check and update a SAM database for forest updatesc                óV  € ^ RI Hp Wn        W0n        W n        W@n        RV n        V P                  P                  4       V n        V P                  P                  4       V n	        V P                  P                  4       V n        \        P                  ! V4      V n        \        P                  ! VP!                  4       4      V n        V P                  P                  4       V n         V P$                  P'                  R4       T P                  P                  4       T n         T P.                  P'                  R4       / T n        T! \3        R4      T P0                  R7       R	#   \(        P*                   d    \-        R4      hi ; i  \(        P*                   d    \-        R4      hi ; i)
zá
:param samdb: LDB database
:param verbose: Show the ldif changes
:param fix: Apply the update if the container is missing
:param add_update_container: Add the container at the end of the change
:raise ForestUpdateException:
)Úread_ms_markdownFzCN=Operations,CN=ForestUpdatesz+Failed to add forest update container childz)CN=ActiveDirectoryUpdate,CN=ForestUpdatesz#Failed to add revision object childz/adprep/WindowsServerDocs/Forest-Wide-Updates.md)Úout_dictN)Ú samba.ms_forest_updates_markdownr   ÚsamdbÚfixÚverboseÚadd_update_containerÚcheck_update_appliedÚget_config_basednÚ	config_dnÚ	domain_dnÚget_schema_basednÚ	schema_dnr   ÚSDUtilsr   Údom_sidÚget_domain_sidÚ
domain_sidÚforestupdate_containerÚ	add_childÚldbÚLdbErrorr   Úrevision_objectÚstored_ldifr   )Úselfr   r   r   r   r   s   &&&&& r   Ú__init__ÚForestUpdate.__init__É   sX  € õ 	FàŒ
ØŒØŒØ$8Ô!à$)ˆÔ!àŸ™×5Ñ5Ó7ˆŒØŸ™×-Ñ-Ó/ˆŒØŸ™×5Ñ5Ó7ˆŒä ×(Ò(¨Ó/ˆŒÜ"×*Ò*¨5×+?Ñ+?Ó+AÓBˆŒà&*§j¡j×&BÑ&BÓ&DˆÔ#ð	WØ×'Ñ'×1Ñ1Ð2RÔSð  $Ÿz™z×;Ñ;Ó=ˆÔð	OØ× Ñ ×*Ñ*Ð+VÔWð
 ˆÔÙœÐ$UÓVØ"&×"2Ñ"2÷	4øô �|‰|ô 	WÜ'Ð(UÓVÐVð	Wûô �|‰|ô 	OÜ'Ð(MÓNÐNð	Oús   Ã'E# Ä"F Å#!FÆ!F(Nc                ó2  € V P                   P                  V P                  R.\        P                  R7      p\
        V,          pV'       d   \
        V,          pV^,          pM\        pV P                  We4       \        V,          p\        V^ ,          R,          ^ ,          4      pV'       dh   W‡8  d`   V P                  '       g   \        RVV3,          4      hV P                   P                  R\        V P                  4      V3,          4       R# R# R# )zÔ
Apply all updates for a given old and new functional level
:param functional_level: constant
:param old_functional_level: constant
:param update_revision: modify the stored version
:raise ForestUpdateException:
Úrevision)ÚbaseÚattrsÚscopezERevision is not high enough. Fix is set to False.
Expected: %dGot: %dz:dn: %s
changetype: modify
replace: revision
revision: %d
 N)r   Úsearchr-   r+   Ú
SCOPE_BASEÚfunctional_level_to_max_updateÚ
MIN_UPDATEÚcheck_updates_rangeÚfunctional_level_to_versionÚintr   r   Úmodify_ldifÚstr)	r/   Úfunctional_levelÚold_functional_levelÚupdate_revisionÚresÚexpected_updateÚ
min_updateÚexpected_versionÚfound_versions	   &&&&     r   Úcheck_updates_functional_levelÚ+ForestUpdate.check_updates_functional_leveló   s  € ð �j‰j×Ñ T×%9Ñ%9Ø'1 l¼#¿.¹.ð  ó Jˆô 9Ð9IÕJˆçÜ7Ð8LÕMˆJØ˜!�O‰Jä#ˆJà× Ñ  Ô=ä6Ð7GÕHÐÜ˜C �F :Õ.¨qÕ1Ó2ˆß˜}Ô?Ø—8—8�8Ü+ð -DØGWØGTðGVõ-Vó Wð Wð �J‰J×"Ñ"ð $ô 	ˆD× Ñ Ó!Ð#3Ð4õ	$5ö 6ñ  @‰?r   c                ó´  € V FÑ  pV\         8  g   V\        8”  d   \        R4      h^TTu;8:  d   ^W8:  d   M MV P                  V4       KI  ^[Tu;8:  d   ^~8:  d   M MV P                  V4       Kn  ^ƒTu;8:  d   ^†8:  d   M MV P                  V4       K“  ^ˆTu;8:  d   ^Ž8:  d   M MV P                  V4       K¸  \	        V RV,          4      ! V4       KÓ  	  R# )z¬
Apply a list of updates which must be within the valid range of updates
:param iterator: Iterable specifying integer update numbers to apply
:raise ForestUpdateException:
úUpdate number invalid.úoperation_%dN)r:   Ú
MAX_UPDATEr   Úoperation_ldifÚgetattr)r/   ÚiteratorÚops   && r   Úcheck_updates_iteratorÚ#ForestUpdate.check_updates_iterator  s¥   € ó ˆBØ”JŒ "¤z¤/Ü+Ð,DÓEÐEà�RŽ~˜2�~Ø×#Ñ# BÖ'Ø�r–˜S—Ø×#Ñ# BÖ'Ø˜Ö!˜c×!Ø×#Ñ# BÖ'Ø˜Ö!˜c×!Ø×#Ñ# BÖ'ô ˜˜n¨rÕ1Ô2°2Ö6ó r   c                óä  € TpV\         8  g   W8”  g   V\        8”  d   \        R4      hW28:  dÁ   V\        9   d   M©^TTu;8:  d   ^W8:  d   M MV P	                  V4       M…^[Tu;8:  d   ^~8:  d   M MV P	                  V4       Ma^ƒTu;8:  d   ^†8:  d   M MV P	                  V4       M=^ˆTu;8:  d   ^Ž8:  d   M MV P	                  V4       M\        V RV,          4      ! V4       V^,          pKÆ  R# )z¼
Apply a range of updates which must be within the valid range of updates
:param start: integer update to begin
:param end: integer update to end (inclusive)
:raise ForestUpdateException:
rK   rL   N)r:   rM   r   Úmissing_updatesrN   rO   )r/   ÚstartÚendrQ   s   &&& r   r;   Ú ForestUpdate.check_updates_range-  sÄ   € ð ˆØ”:Ô ¤°´jÔ0@Ü'Ð(@ÓAÐAØŒiØ”_Ô$ØØ�r–˜R—Ø×#Ñ# BÕ'Ø�r–˜S—Ø×#Ñ# BÕ'Ø˜Ö!˜c×!Ø×#Ñ# BÕ'Ø˜Ö!˜c×!Ø×#Ñ# BÕ'ô ˜˜n¨rÕ1Ô2°2Ô6à�!�GŠBñ r   c                óŽ  € R\         V,          : RV P                  : 2p V P                  P                  V\        P
                  . R7      p\        T4      ^8X  g   Q h\        RT\         T,          3,          4       R#   \        P                   d0   pTP                  w  rVT\        P                  8w  d   h  Rp?R# Rp?ii ; i)zL
:param op: Integer update number
:return: True if update exists else False
zCN=Ú,)r4   r6   r5   NFzSkip Forest Update %u: %sT)Ú
update_mapr)   r   r7   r+   r8   r,   ÚargsÚERR_NO_SUCH_OBJECTÚlenÚprint)r/   rQ   Ú	update_dnrC   ÚeÚnumÚmsgs   &&     r   Úupdate_existsÚForestUpdate.update_existsH  s¥   � ô
 #-¨R§. .°$×2MÓ2MÐNˆ	ð	Ø—*‘*×#Ñ#¨Ü*-¯.©.Ø*,ð $ó .ˆCô �3‹x˜1Œ}Ðˆ}ÜÐ)¨R´¸BµÐ,@Õ@ÔAÙøô �|‰|ô 	ØŸ™‰JˆSØ”c×,Ñ,Ô,ØÝûð		ús   ¡,B  Â CÂ$B?Â?Cc                óÈ   € V P                   P                  R\        V,          : R\        V P                  4      : R24       \        RV\        V,          3,          4       R# )zW
Add the corresponding container object for the given update
:param op: Integer update
zdn: CN=rZ   z
objectClass: container
zApplied Forest Update %u: %sN)r   Úadd_ldifr[   r?   r)   r_   ©r/   rQ   s   &&r   Ú
update_addÚForestUpdate.update_add\  sJ   € ð
 	�
‰
×Òä�"‡~€~”s˜4×6Ñ6Ö7ð9ô 	:ô 	Ð,°´J¸rµNÐ/CÕCÖDr   c                óÞ  € V P                  V4      '       d   R # \        V,          pW P                  9   d   V P                  V,          pM•VP                  4       V P                  9   d#   V P                  VP                  4       ,          pMTVP	                  4       V P                  9   d#   V P                  VP	                  4       ,          pM\        RW3,          4      h\        P                  ! VR\        V P                  4      R\        V P                  4      R\        V P                  4      /4      pV P                  '       d   \        RV,          4       \        V4        V P                  P                  V4       V P(                  '       d   V P+                  V4       R# R#   \         P"                   d0   pTP$                  w  rgT\         P&                  8w  d   Th Rp?LfRp?ii ; i)Tz#OPERATION %d: ldif for %s not foundÚ	CONFIG_DNÚFOREST_ROOT_DOMAINÚ	SCHEMA_DNz!UPDATE (LDIF) ------ OPERATION %dN)rd   r[   r.   ÚlowerÚupperr   ÚsambaÚsubstitute_varr?   r!   r"   r$   r   r_   r   r>   r+   r,   r\   ÚERR_ATTRIBUTE_OR_VALUE_EXISTSr   ri   )r/   rQ   ÚguidÚldifÚsub_ldifra   rb   rc   s   &&      r   rN   ÚForestUpdate.operation_ldiff  s}  € Ø×Ñ˜b×!Ò!áä˜"�~ˆØ×#Ñ#Ô#Ø×#Ñ# DÕ)‰DØ�Z‰Z‹\˜T×-Ñ-Ô-Ø×#Ñ# D§J¡J£LÕ1‰DØ�Z‰Z‹\˜T×-Ñ-Ô-Ø×#Ñ# D§J¡J£LÕ1‰Dä'Ð(MØ)+¨
õ)3ó 4ð 4ô ×'Ò'¨¨{Ü/2°4·>±>Ó/BØ/CÜ/2°4·>±>Ó/BØ/:Ü/2°4·>±>Ó/Bð/Dó Eˆð �<�<ˆ<ÜÐ5¸Õ:Ô;Ü�(ŒOð	Ø�J‰J×"Ñ" 8Ô,ð ×$×$Ð$Ø�O‰O˜BÖñ %øô �|‰|ô 	ØŸ™‰JˆSØ”c×7Ñ7Ô7Ø�Üûð		ús   Å&F( Æ(G,Æ=%G'Ç'G,c                óN   € V P                   '       g   \        RV,          4      hR# )zc
Raises an exception if not set to fix.
:param op: Integer operation
:raise ForestUpdateException:
z3Missing operation %d. Fix is currently set to FalseN)r   r   rh   s   &&r   Úraise_if_not_fixÚForestUpdate.raise_if_not_fix‹  s$   € ð �x�xˆxÜ'Ð(]Ð`bÕ(bÓcÐcñ r   c                ó\  € V P                  V4      '       d   R # V P                  V4       Rp\        P                  ! V P                  R\        V P                  4      ,          4      pV P                  P                  VRV.R7       V P                  '       d   V P                  V4       R # R # )NúY(OA;CIIO;WP;ea1b7b93-5e48-46d5-bc6c-4df4fda78a35;bf967a86-0de6-11d0-a285-00aa003049e2;PS)úCN=Sam-Domain,%sÚdefaultSecurityDescriptor©Ú	sddl_attrÚadd_aces©rd   ry   r+   ÚDnr   r?   r$   r   Úupdate_aces_in_daclr   ri   ©r/   rQ   Úacer$   s   &&  r   Úoperation_88ÚForestUpdate.operation_88š  óŒ   € Ø×Ñ˜b×!Ò!ÙØ×Ñ˜bÔ!àiˆä—F’F˜4Ÿ:™:Ð'9¼CÀÇÁÓ<OÕ'OÓPˆ	à�‰×)Ñ)¨)Ø4OØ47°5ð 	*ô 	:ð ×$×$Ð$Ø�O‰O˜BÖñ %r   c                ó\  € V P                  V4      '       d   R # V P                  V4       Rp\        P                  ! V P                  R\        V P                  4      ,          4      pV P                  P                  VRV.R7       V P                  '       d   V P                  V4       R # R # )Nr|   úCN=Domain-DNS,%sr~   r   r‚   r…   s   &&  r   Úoperation_89ÚForestUpdate.operation_89°  r‰   r   c                ó‚   € V P                   '       d-   V P                  V4      '       g   V P                  V4       R # R # R # ©N©r   rd   ri   rh   s   &&r   Úoperation_90ÚForestUpdate.operation_90Á  ó3   € Ø×$×$Ð$¨T×-?Ñ-?À×-CÒ-CØ�O‰O˜BÖñ .DÑ$r   c                ó‚   € V P                   '       d-   V P                  V4      '       g   V P                  V4       R # R # R # r�   r�   rh   s   &&r   Úoperation_127ÚForestUpdate.operation_127Æ  r“   r   c                ó‚   € V P                   '       d-   V P                  V4      '       g   V P                  V4       R # R # R # r�   r�   rh   s   &&r   Úoperation_128ÚForestUpdate.operation_128Ë  r“   r   c                ó\  € V P                  V4      '       d   R # V P                  V4       Rp\        P                  ! V P                  R\        V P                  4      ,          4      pV P                  P                  VRV.R7       V P                  '       d   V P                  V4       R # R # )Nú7(OA;CIOI;RPWP;3f78c3e5-f79a-46bd-a0b8-9d18116ddc79;;PS)r}   r~   r   r‚   r…   s   &&  r   Úoperation_129ÚForestUpdate.operation_129Ð  óŒ   € Ø×Ñ˜b×!Ò!ÙØ×Ñ˜bÔ!àGˆä—F’F˜4Ÿ:™:Ð'9¼CÀÇÁÓ<OÕ'OÓPˆ	à�‰×)Ñ)¨)Ø4OØ47°5ð 	*ô 	:ð ×$×$Ð$Ø�O‰O˜BÖñ %r   c                ó\  € V P                  V4      '       d   R # V P                  V4       Rp\        P                  ! V P                  R\        V P                  4      ,          4      pV P                  P                  VRV.R7       V P                  '       d   V P                  V4       R # R # )Nr›   r‹   r~   r   r‚   r…   s   &&  r   Úoperation_130ÚForestUpdate.operation_130á  rž   r   c                ó  € V P                  V4      '       d   R # V P                  V4       V P                  P                  RV P                  ,          RR.R7       V P
                  '       d   V P                  V4       R # R # )Nz¾dn: CN=ad://ext/AuthenticationSilo,CN=Claim Types,CN=Claims Configuration,CN=Services,%s
changetype: modify
replace: msDS-ClaimIsValueSpaceRestricted
msDS-ClaimIsValueSpaceRestricted: FALSE
zrelax:0zprovision:0)Úcontrols)rd   ry   r   r>   r!   r   ri   rh   s   &&r   Úoperation_135ÚForestUpdate.operation_135ò  sx   € Ø×Ñ˜b×!Ò!ÙØ×Ñ˜bÔ!à�
‰
×Ñð  ð ‡n�nõ	 ð
 *3°MÐ(Bð 	ô 	Dð ×$×$Ð$Ø�O‰O˜BÖñ %r   c                ó‚   € V P                   '       d-   V P                  V4      '       g   V P                  V4       R # R # R # r�   r�   rh   s   &&r   Úoperation_11ÚForestUpdate.operation_11  r“   r   c                ó‚   € V P                   '       d-   V P                  V4      '       g   V P                  V4       R # R # R # r�   r�   rh   s   &&r   Úoperation_54ÚForestUpdate.operation_54	  r“   r   c                ó‚   € V P                   '       d-   V P                  V4      '       g   V P                  V4       R # R # R # r�   r�   rh   s   &&r   Úoperation_79ÚForestUpdate.operation_79  r“   r   c                ó‚   € V P                   '       d-   V P                  V4      '       g   V P                  V4       R # R # R # r�   r�   rh   s   &&r   Úoperation_80ÚForestUpdate.operation_80  r“   r   c                ó‚   € V P                   '       d-   V P                  V4      '       g   V P                  V4       R # R # R # r�   r�   rh   s   &&r   Úoperation_81ÚForestUpdate.operation_81  r“   r   c                ó‚   € V P                   '       d-   V P                  V4      '       g   V P                  V4       R # R # R # r�   r�   rh   s   &&r   Úoperation_82ÚForestUpdate.operation_82  r“   r   c                ó‚   € V P                   '       d-   V P                  V4      '       g   V P                  V4       R # R # R # r�   r�   rh   s   &&r   Úoperation_83ÚForestUpdate.operation_83  r“   r   )r   r   r!   r"   r(   r   r)   r-   r   r$   r   r.   r   )FFT)NF)r   r   )r   r   r   r   Ú__doc__r0   rH   rR   r;   rd   ri   rN   ry   r‡   rŒ   r‘   r•   r˜   rœ   r    r¤   r§   rª   r­   r°   r³   r¶   r¹   r   Ú__classdictcell__)Ú__classdict__s   @r   r   r   Æ   s…   ø‡ € Ù<ô(4ôT"6òH7ô,ò6ò(Eò# òJdò ò, ò" ò
 ò
 ò
 ò" ò" ò& ò ò ò ò ò ÷ ð  r   r   )r+   rq   r   Úsamba.dcerpcr   Úsamba.provision.commonr   Ú
samba.dsdbr   r   r   r	   r
   r:   rM   r[   r9   r<   rU   Ú	Exceptionr   Úobjectr   r   r   r   Ú<module>rÃ      s"  ðó& Û Ý Ý !Ý -÷õ ð €
Ø€
ðIàÐ.ðIð Ð.ðIð Ð.ð	Ið
 Ð.ðIð Ð.ðIð Ð.ðIð Ð.ðIð Ð.ðIð Ð.ðIð Ð.ðIð Ð.ðIð Ð.ðIð Ð.ðIð Ð.ðIð  Ð.ð!Ið" Ð.ð#Ið$ Ð.ñ%Ið& Ð.ð'Ið( Ð.ð)Ið* Ð.ð+Ið, Ð.ð-Ið. Ð.ð/Ið0 Ð.ð1Ið2 Ð.ð3Ið4 Ð.ð5Ið6 Ð.ð7Ið8 Ð.ð9Ið: Ð.ð;Ið< Ð.ð=Ið> Ð.ð?Ið@ Ð.ðAIðB Ð.ðCIðD Ð.ðEIðF Ð.òGIðH Ð.ðIIðJ Ð.ðKIðL Ð.ðMIðN Ð.ðOIðP Ð.ðQIðR Ð.ðSIðT Ð.ðUIðV Ð.ðWIðX Ð.ðYIðZ Ð.ð[Ið\ Ð.ð]Ið^ Ð.ð_Ið` Ð.ðaIðb Ð.ðcIðd Ð.ðeIðf Ð.ðgIðh Ð.òiIðj Ð.ðkIðl Ð.ðmIðn Ð.ðoIðp Ð.ðqIðr Ð.ðsIðt Ð.ðuIðv Ð.ðwIðx Ð.ðyIðz Ð.ð{Ið| Ð.ð}Ið~ Ð.ðIð@ Ð.ðAIðB Ð.ðCIðD Ð.ðEIðF Ð.ðGIðH Ð.ðIIðJ Ð.òKIðN Ð.ðOIðP Ð.ðQIðR Ð.ðSIðT Ð.ðUIðV Ð.ðWIðZ Ð.ð[Ið\ Ð.ð]Ið^ Ð.ð_Ið` Ð.ðaIðb Ð.ðcIðd Ð.ðeIðf Ð.ðgIðh Ð.ðiIðj Ð.ðkIðl Ð.ðmIðn Ð.ðoIðp Ð.òqIðr Ð.ðsIðt Ð.ðuIðv Ð.ðwIðx Ð.ðyIðz Ð	/ð{Ið| Ð	/ð}Ið~ Ð	/ðIð@ Ð	/ðAIðB Ð	/ðCIðD Ð	/ðEIðF Ð	/ðGIðH Ð	/ðIIðJ Ð	/ðKIðL Ð	/ðMIðN Ð	/ðOIðP Ð	/ðQIðR Ð	/òSIðT Ð	/ðUIðV Ð	/ðWIðX Ð	/ðYIðZ Ð	/ð[Ið\ Ð	/ð]Ið^ Ð	/ð_Ið` Ð	/ðaIðb Ð	/ðcIðd Ð	/ðeIðf Ð	/ðgIðh Ð	/ðiIðj Ð	/ðkIðl Ð	/ðmIðn Ð	/ðoIðp Ð	/ðqIðr Ð	/ðsIðt Ð	/ñuIðx Ð	/ØÐ	/ØÐ	/ØÐ	/ØÐ	/àÐ	/ØÐ	/ØÐ	/ØÐ	/ØÐ	/ØÐ	/ØÐ	/ñQI€
ðX ˜RØ Ø˜SØ Ø˜Sð"Ð ð ˜QØ Ø˜RØ Ø˜RðÐ ð �%€ô	˜Iô 	ôY �6ö Y r   