Your IP : 216.73.216.213
rV� � @ s[ d d l Z e j d k s. d d l m Z n) d d l m Z Gd d � d e e � Z d S) � N� � )�OrderedDict)� DictMixinc @ s e Z d Z d d � Z d d � Z d d � Z d d � Z d d
� Z d d � Z d
d d � Z d d � Z
d 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 d � Z d d � Z e d d d � � Z d d � Z d d � Z d S)r c O sf t | � d k r( t d t | � � � y | j Wn t k
rQ | j � Yn X| j | | � d S)N� z$expected at most 1 arguments, got %d)�len� TypeError�_OrderedDict__end�AttributeError�clear�update)�self�args�kwds� r �H/opt/alt/python35/lib/python3.5/site-packages/asn1crypto/_ordereddict.py�__init__# s
zOrderedDict.__init__c C s: g | _ } | d | | g 7} i | _ t j | � d S)N)r �_OrderedDict__map�dictr )r
�endr r r r , s
zOrderedDict.clearc C s\ | | k rE | j } | d } | | | g | d <| d <| j | <t j | | | � d S)Nr r )r r r �__setitem__)r
�key�valuer �currr r r r 2 s
&zOrderedDict.__setitem__c C sC t j | | � | j j | � \ } } } | | d <| | d <d S)Nr r )r �__delitem__r �pop)r
r �prevZnext_r r r r 9 s
zOrderedDict.__delitem__c c s= | j } | d } x# | | k r8 | d V| d } q Wd S)Nr r )r )r
r r r r r �__iter__? s
zOrderedDict.__iter__c c s= | j } | d } x# | | k r8 | d V| d } q Wd S)Nr r )r )r
r r r r r �__reversed__F s
zOrderedDict.__reversed__Tc C sX | s t d � � | r- t | � j � } n t | � j � } | j | � } | | f S)Nzdictionary is empty)�KeyError�reversed�next�iterr )r
�lastr r r r r �popitemM s zOrderedDict.popitemc s� � f d d � � D� } � j � j f } � ` � ` t � � j � } | \ � _ � _ | rt � j | f | f S� j | f f S)Nc s g | ] } | � | g � q Sr r )�.0�k)r
r r �
<listcomp>X s z*OrderedDict.__reduce__.<locals>.<listcomp>)r r �vars�copy� __class__)r
�items�tmpZ inst_dictr )r
r �
__reduce__W s zOrderedDict.__reduce__c C s
t | � S)N)�list)r
r r r �keysa s zOrderedDict.keysc C s1 | s d | j j f Sd | j j | j � f S)Nz%s()z%s(%r))r* �__name__r+ )r
r r r �__repr__m s zOrderedDict.__repr__c C s
| j | � S)N)r* )r
r r r r) r s zOrderedDict.copyNc C s( | � } x | D] } | | | <q W| S)Nr )�cls�iterabler �dr r r r �fromkeysu s
zOrderedDict.fromkeysc C s{ t | t � rk t | � t | � k r+ d Sx9 t | j � | j � � D] \ } } | | k rG d SqG Wd St j | | � S)NFT)�
isinstancer r �zipr+ r �__eq__)r
�other�p�qr r r r8 | s (zOrderedDict.__eq__c C s | | k S)Nr )r
r9 r r r �__ne__� s zOrderedDict.__ne__)r0 �
__module__�__qualname__r r r r r r r$ r- r/ r �
setdefaultr r �valuesr+ �iterkeys�
itervalues� iteritemsr1 r) �classmethodr5 r8 r<