o
    j2                     @   s   d 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 ddlmZ ddlmZ dd	lmZ 	
	
dddZdd Zdd Zdd Zdd Zdd Zd
S )
    )OctetString)Asn1Item   )RESULT_CODES)ExtendedRequestRequestName
ResultCodeRequestValue)referrals_to_list)encode)
to_unicodeNc                 C   s   t  }t| |d< |rt|trtt||d< |S ttur+t|ttfr+||d< |S |r5|r5||d< |S |rCttt	t||d< |S )NrequestNamerequestValue)
r   r   
isinstancer   r
   r   strbytes	bytearrayr   )request_namerequest_value	no_encoderequest r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/ldap3/operation/extended.pyextended_operation(   s   
r   c                 C   sB   t | d d| v r| d d ur| d  rt| d dS d dS )Nr   r   )namevalue)r   hasValuer   )r   r   r   r   extended_request_to_dict;   s   Br   c              	   C   s   t | d t| d t| d t  | d t| d | d d ur/| d  r/t| d nt | d d urE| d  rEt| d dS t dS )N
resultCode	matchedDNdiagnosticMessagereferralresponseNameresponseValue)resultdnmessagedescription	referralsr#   r$   )intr   r	   getNamedValuesgetNamer   r   r   responser   r   r   extended_response_to_dict?   s   



("r/   c                 C   s,   t | d | d rt| d dS t dS )Nr#   r$   )r#   r$   )r   r   r-   r   r   r   intermediate_response_to_dictI   s
   
r0   c                 C   s   t  }t| d d |d< t|d  |d< t| d d dd|d< t| d	 d dd|d
< d |d< d |d< d |d< | dd  D ].}|d	 dkrPt|d |d< q?|d	 dkret|d dd|d< d|d< q?t|d |d< q?|S )Nr      r%   r(      Tfrom_serverr&   r   r'   r)   r#   r$   
       )dictr*   r   r   r   r   r.   response_dictrr   r   r   extended_response_to_dict_fastN   s    
r;   c                 C   sF   t  }| D ]}|d dkrt|d dd|d< qt|d |d< q|S )Nr   r   r1   Tr3   r#   r$   )r7   r   r   r8   r   r   r   "intermediate_response_to_dict_faste   s   r<   )NN)__doc__pyasn1.type.univr   pyasn1.type.baser   core.resultsr   protocol.rfc4511r   r   r	   r
   protocol.convertr   
utils.asn1r   
utils.convr   r   r   r/   r0   r;   r<   r   r   r   r   <module>   s     

