Ñò éíÑXc @ s d e f d „ ƒ YZ d S( t OrderedDictc B sò e Z d Z d „ Z d 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 RS( s• A dictionary that keeps its keys in the order in which they're inserted. Copied from Django's SortedDict with some modifications. c O s+ t t | ƒ i | | | Ž } g | _ | S( N( t superR t __new__t keyOrder( t clst argst kwargst instance( ( s2 /usr/lib/python2.6/site-packages/markdown/odict.pyR s c C s˜ | d j o h } n t t | ƒ i | ƒ t | t ƒ o | i ƒ | _ nE g | _ x8 | D]0 \ } } | | i j o | i i | ƒ q` q` Wd S( N( t NoneR R t __init__t isinstancet dictt keysR t append( t selft datat keyt value( ( s2 /usr/lib/python2.6/site-packages/markdown/odict.pyR s c C sS d d k l } | i g } | i ƒ D]" \ } } | | | | | ƒ f q' ~ ƒ S( Niÿÿÿÿ( t deepcopy( t copyR t __class__t iteritems( R t memoR t _[1]R R ( ( s2 /usr/lib/python2.6/site-packages/markdown/odict.pyt __deepcopy__ s c C sA t t | ƒ i | | ƒ | | i j o | i i | ƒ n d S( N( R R t __setitem__R R ( R R R ( ( s2 /usr/lib/python2.6/site-packages/markdown/odict.pyR s c C s* t t | ƒ i | ƒ | i i | ƒ d S( N( R R t __delitem__R t remove( R R ( ( s2 /usr/lib/python2.6/site-packages/markdown/odict.pyR # s c c s x | i D] } | Vq Wd S( N( R ( R t k( ( s2 /usr/lib/python2.6/site-packages/markdown/odict.pyt __iter__' s c G sI t t | ƒ i | | Œ } y | i i | ƒ Wn t j o n X| S( N( R R t popR R t ValueError( R R R t result( ( s2 /usr/lib/python2.6/site-packages/markdown/odict.pyR + s c C s- t t | ƒ i ƒ } | i i | d ƒ | S( Ni ( R R t popitemR R ( R R ( ( s2 /usr/lib/python2.6/site-packages/markdown/odict.pyR! 4 s c C s t | i | i ƒ ƒ S( N( t zipR t values( R ( ( s2 /usr/lib/python2.6/site-packages/markdown/odict.pyt items9 s c c s5 x. | i D]# } | t t | ƒ i | ƒ f Vq Wd S( N( R R R t __getitem__( R R ( ( s2 /usr/lib/python2.6/site-packages/markdown/odict.pyR <