
    <i                     ,    S r SSKJr   " S S\\5      rg)zsDrop-in replacement for collections.OrderedDict by Raymond Hettinger

http://code.activestate.com/recipes/576693/

    )	DictMixinc                   :   \ rS rSrS rS rS rS rS rS r	SS jr
S	 rS
 r\R                  r\R                  r\R                   r\R"                  r\R$                  r\R&                  r\R(                  r\R*                  rS rS r\SS j5       rS rS rSrg)OrderedDict   c                     [        U5      S:  a  [        S[        U5      -  5      e U R                    U R
                  " U0 UD6  g ! [         a    U R	                  5          N/f = f)N   z$expected at most 1 arguments, got %d)len	TypeError_OrderedDict__endAttributeErrorclearupdate)selfargskwdss      Q/home/james-whalen/.local/lib/python3.13/site-packages/simplejson/ordered_dict.py__init__OrderedDict.__init__
   s[    t9q=BSYNOO	JJ 	T"T"  	JJL	s   A A$#A$c                 \    / =U l         nUS X/-  n0 U l        [        R                  U 5        g N)r   _OrderedDict__mapdictr   )r   ends     r   r   OrderedDict.clear   s0    
Sc


4    c                     X;  a,  U R                   nUS   nXU/=US'   =US'   U R                  U'   [        R                  XU5        g )Nr      )r   r   r   __setitem__)r   keyvaluer   currs        r   r   OrderedDict.__setitem__   sM    ?**Cq6D25S1AADGAc!ftzz#E*r   c                 z    [         R                  X5        U R                  R                  U5      u  pnX2S'   X#S'   g )Nr   r   )r   __delitem__r   pop)r   r   prevnexts       r   r$   OrderedDict.__delitem__    s4    #**..-4QQr   c              #   \   #    U R                   nUS   nX!La  US   v   US   nX!La  M  g g 7f)Nr   r   r   r   r   r!   s      r   __iter__OrderedDict.__iter__&   5     jj1voq'M7D o   &,,c              #   \   #    U R                   nUS   nX!La  US   v   US   nX!La  M  g g 7f)Nr   r   r*   r+   s      r   __reversed__OrderedDict.__reversed__-   r.   r/   c                     U (       d  [        S5      eU(       a  [        U 5      R                  5       O[        U 5      R                  5       nU R	                  U5      nX#4$ )Nzdictionary is empty)KeyErrorreversedr'   iterr%   )r   lastr   r    s       r   popitemOrderedDict.popitem4   sG    011'+htn!!#d1Bzr   c                 
   U  Vs/ s H  oX   /PM
     nnU R                   U R                  4nU ? U ?[        U 5      R                  5       nUu  U l         U l        U(       a  U R                  U4U4$ U R                  U44$ s  snf r   )r   r   varscopy	__class__)r   kitemstmp	inst_dicts        r   
__reduce__OrderedDict.__reduce__;   s    '+,t!TWt,jj$**$J
JOO%	!$
DJNNUHi88~~x'' -s   B c                     [        U 5      $ r   )listr   s    r   keysOrderedDict.keysE   s    Dzr   c                     U (       d  U R                   R                  < S3$ U R                   R                  < SU R                  5       < S3$ )Nz()())r=   __name__r?   rF   s    r   __repr__OrderedDict.__repr__Q   s3    !^^4466>>22DJJLAAr   c                 $    U R                  U 5      $ r   )r=   rF   s    r   r<   OrderedDict.copyV   s    ~~d##r   Nc                 .    U " 5       nU H  nX#U'   M	     U$ r    )clsiterabler    dr   s        r   fromkeysOrderedDict.fromkeysY   s    ECcF r   c                    [        U[        5      (       aV  [        U 5      [        U5      :H  =(       a8    [        S [	        U R                  5       UR                  5       5       5       5      $ [        R                  X5      $ )Nc              3   .   #    U  H  u  pX:H  v   M     g 7fr   rR   ).0pqs      r   	<genexpr>%OrderedDict.__eq__.<locals>.<genexpr>c   s     J)Iqt)Is   )
isinstancer   r	   allzipr?   r   __eq__r   others     r   rb   OrderedDict.__eq__`   s[    e[))t9c%j( KJTZZ\5;;=)IJJK{{4''r   c                     X:X  + $ r   rR   rc   s     r   __ne__OrderedDict.__ne__f   s      r   )__end__map)Tr   )rL   
__module____qualname____firstlineno__r   r   r   r$   r,   r1   r8   rB   rG   r   
setdefaultr   r%   valuesr?   iterkeys
itervalues	iteritemsrM   r<   classmethodrV   rb   rg   __static_attributes__rR   r   r   r   r      s    #+( %%JF
--CFOOE!!H%%J##IB
$  (!r   r   N)__doc__UserDictr   r   r   rR   r   r   <module>rw      s   
 _!$	 _!r   