
    >OOf                     (    d dl mZ  G d dee      Zy)    )	DictMixinc                   .   e Zd Zd Zd Zd Zd Zd Zd ZddZ	d Z
d	 Zej                  Zej                  Zej                  Zej                   Zej"                  Zej$                  Zej&                  Zej(                  Zd
 Zd Zedd       Zd Zd Zy)OrderedDictc                     t        |      dkD  rt        dt        |      z        	 | j                    | j
                  |i | y # t        $ r | j	                          Y .w xY w)N   z$expected at most 1 arguments, got %d)len	TypeError_OrderedDict__endAttributeErrorclearupdate)selfargskwdss      T/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/ldap3/utils/ordDict.py__init__zOrderedDict.__init__   s]    t9q=BSYNOO	JJ 	T"T"  	JJL	s   A A"!A"c                 ^    g x| _         }|d ||gz  }i | _        t        j                  |        y N)r
   _OrderedDict__mapdictr   )r   ends     r   r   zOrderedDict.clear'   s2    
Sc3


4    c                     || vr-| j                   }|d   }|||gx|d<   x|d<   | j                  |<   t        j                  | ||       y )Nr      )r
   r   r   __setitem__)r   keyvaluer   currs        r   r   zOrderedDict.__setitem__-   sS    d?**Cq6D25tS1AADGAc!ftzz#sE*r   c                     t         j                  | |       | j                  j                  |      \  }}}||d<   ||d<   y )Nr   r   )r   __delitem__r   pop)r   r   prevnexts       r   r    zOrderedDict.__delitem__4   s<    s#**..-T4QQr   c              #   Z   K   | j                   }|d   }||ur|d    |d   }||ury y w)Nr   r   r
   r   r   r   s      r   __iter__zOrderedDict.__iter__:   :     jj1v#oq'M7D #o   &++c              #   Z   K   | j                   }|d   }||ur|d    |d   }||ury y w)Nr   r   r%   r&   s      r   __reversed__zOrderedDict.__reversed__A   r(   r)   c                     | st        d      |rt        |       j                         }nt        |       j                         }| j	                  |      }||fS )Nzdictionary is empty)KeyErrorreversedr#   iterr!   )r   lastr   r   s       r   popitemzOrderedDict.popitemH   sM    0114.%%'Ct*//#CEzr   c                     | D cg c]	  }|| |   g }}| j                   | j                  f}| ` | `t        |       j                         }|\  | _         | _        |r| j                  |f|fS | j                  |ffS c c}w r   )r   r
   varscopy	__class__)r   kitemstmp	inst_dicts        r   
__reduce__zOrderedDict.__reduce__R   s    '+,!!T!W,,jj$**$J
JOO%	!$
DJNNUHi88~~x'' -s   A:c                     t        |       S r   )listr   s    r   keyszOrderedDict.keys\   s    Dzr   c                     | s| j                   j                  dS | j                   j                  d| j                         dS )Nz()())r5   __name__r7   r=   s    r   __repr__zOrderedDict.__repr__h   s3    !^^4466>>22DJJLAAr   c                 $    | j                  |       S r   )r5   r=   s    r   r4   zOrderedDict.copym   s    ~~d##r   Nc                 ,     |        }|D ]  }|||<   	 |S r    )clsiterabler   dr   s        r   fromkeyszOrderedDict.fromkeysp   s&    E 	CAcF	r   c                     t        |t              rPt        |       t        |      k7  ryt        | j	                         |j	                               D ]  \  }}||k7  s y yt
        j                  | |      S )NFT)
isinstancer   r   zipr7   r   __eq__)r   otherpqs       r   rN   zOrderedDict.__eq__w   se    e[)4yCJ&DJJL%++-8 !16 ! {{4''r   c                     | |k(   S r   rF   )r   rO   s     r   __ne__zOrderedDict.__ne__   s    5=  r   )Tr   )rB   
__module____qualname__r   r   r   r    r'   r+   r1   r:   r>   r   
setdefaultr   r!   valuesr7   iterkeys
itervalues	iteritemsrC   r4   classmethodrJ   rN   rS   rF   r   r   r   r      s    #+( %%JF
--CFOOE!!H%%J##IB
$  (!r   r   N)UserDictr   r   r   rF   r   r   <module>r]      s   2 f!$	 f!r   