HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/lib/python3.5/collections/__pycache__/__init__.cpython-35.pyc


Fa$@sdZddddddddd	g	Zd
dlTd
dlZeej7Zd
d
lmZmZd
dlm	Z
d
dlZd
dl
Zd
dlmZd
dlmZmZmZd
dlmZyd
dlmZWnek
rYnXej eyd
dlm!Z!Wnek
r"YnXGddde"Z#Gddde$Z%Gddde&Z'Gddde(Z)Gddde*Z+yd
dlm+Z+Wnek
rYnXdZ,dZ-d Z.d!d!d"dZ/d#d$Z0yd
d%lm0Z0Wnek
rYnXGd&dde*Z1Gd'd	d	e2Z3Gd(dde2Z4Gd)ddeZ5Gd*dde6Z7dS)+a?This module implements specialized container datatypes providing
alternatives to Python's general purpose built-in containers, dict,
list, set, and tuple.

* namedtuple   factory function for creating tuple subclasses with named fields
* deque        list-like container with fast appends and pops on either end
* ChainMap     dict-like class for creating a single view of multiple mappings
* Counter      dict subclass for counting hashable objects
* OrderedDict  dict subclass that remembers the order entries were added
* defaultdict  dict subclass that calls a factory function to supply missing values
* UserDict     wrapper around dictionary objects for easier dict subclassing
* UserList     wrapper around list objects for easier list subclassing
* UserString   wrapper around string objects for easier string subclassing

dequedefaultdict
namedtupleUserDictUserList
UserStringCounterOrderedDictChainMap)*N)
itemgettereq)	iskeyword)proxy)repeatchainstarmap)recursive_repr)r)rc@seZdZddZdS)_OrderedDictKeysViewccst|jEdHdS)N)reversed_mapping)selfr*/usr/lib/python3.5/collections/__init__.py__reversed__5sz!_OrderedDictKeysView.__reversed__N)__name__
__module____qualname__rrrrrr3src@seZdZddZdS)_OrderedDictItemsViewccs0x)t|jD]}||j|fVqWdS)N)rr)rkeyrrrr:sz"_OrderedDictItemsView.__reversed__N)rrrrrrrrr8src@seZdZddZdS)_OrderedDictValuesViewccs*x#t|jD]}|j|VqWdS)N)rr)rrrrrr@sz#_OrderedDictValuesView.__reversed__N)rrrrrrrrr >sr c@seZdZdZdS)_Linkprevnextr__weakref__N)r"r#rr$)rrr	__slots__rrrrr!Dsr!c@sIeZdZdZddZejeeddZej	ddZ	dd	Z
d
dZdd
ZdddZ
dddZddZejZZddZddZddZejZeZeddZdddZed d!Zd"d#Zd$d%Zedd&d'Z d(d)Z!dS)*rz)Dictionary that remembers insertion ordercOs|std|^}}t|dkrFtdt|y|jWnMtk
rt|_t|j|_}||_|_i|_	YnX|j
||dS)zInitialize an ordered dictionary.  The signature is the same as
        regular dictionaries, but keyword arguments are not recommended because
        their insertion order is arbitrary.

        z?descriptor '__init__' of 'OrderedDict' object needs an argumentz$expected at most 1 arguments, got %dN)	TypeErrorlen_OrderedDict__rootAttributeErrorr!_OrderedDict__hardroot_proxyr"r#_OrderedDict__map_OrderedDict__update)argskwdsrrootrrr__init__Vs
zOrderedDict.__init__c	Cs{||krg||j|<}|j}|j}||||_|_|_||_|||_||||dS)z!od.__setitem__(i, y) <==> od[i]=yN)r-r)r"r#r)	rrvalueZdict_setitemrZLinklinkr1lastrrr__setitem__ks			zOrderedDict.__setitem__cCsY||||jj|}|j}|j}||_||_d|_d|_dS)z od.__delitem__(y) <==> del od[y]N)r-popr"r#)rrZdict_delitemr4	link_prev	link_nextrrr__delitem__ys
					zOrderedDict.__delitem__ccs:|j}|j}x!||k	r5|jV|j}qWdS)zod.__iter__() <==> iter(od)N)r)r#r)rr1currrrr__iter__s
		zOrderedDict.__iter__ccs:|j}|j}x!||k	r5|jV|j}qWdS)z#od.__reversed__() <==> reversed(od)N)r)r"r)rr1r;rrrrs
		zOrderedDict.__reversed__cCs7|j}||_|_|jjtj|dS)z.od.clear() -> None.  Remove all items from od.N)r)r"r#r-cleardict)rr1rrrr=s	
zOrderedDict.clearTcCs|std|j}|rH|j}|j}||_||_n$|j}|j}||_||_|j}|j|=tj||}||fS)zod.popitem() -> (k, v), return and remove a (key, value) pair.
        Pairs are returned in LIFO order if last is true or FIFO order if false.

        zdictionary is empty)KeyErrorr)r"r#rr-r>r7)rr5r1r4r8r9rr3rrrpopitems 									
zOrderedDict.popitemc	Cs|j|}|j}|j}|j}||_||_|j}|ry|j}||_||_||_||_n-|j}||_||_||_||_dS)zMove an existing element to the end (or beginning if last==False).

        Raises KeyError if the element does not exist.
        When last=True, acts like a fast version of self[key]=self.pop(key).

        N)r-r"r#r))	rrr5r4r8r9Z	soft_linkr1firstrrrmove_to_ends$
														zOrderedDict.move_to_endcCsqtj}t|d}||j}|||jd7}|||j|7}|||j|7}|S)Nr&)_sys	getsizeofr(__dict__r-r+r))rZsizeofnsizerrr
__sizeof__s	zOrderedDict.__sizeof__cCs
t|S)z:D.keys() -> a set-like object providing a view on D's keys)r)rrrrkeysszOrderedDict.keyscCs
t|S)z<D.items() -> a set-like object providing a view on D's items)r)rrrritemsszOrderedDict.itemscCs
t|S)z6D.values() -> an object providing a view on D's values)r )rrrrvaluesszOrderedDict.valuescCs@||kr!||}||=|S||jkr<t||S)zod.pop(k[,d]) -> v, remove specified key and return the corresponding
        value.  If key is not found, d is returned if given, otherwise KeyError
        is raised.

        )_OrderedDict__markerr?)rrdefaultresultrrrr7s
zOrderedDict.popNcCs"||kr||S|||<|S)zDod.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in odr)rrrNrrr
setdefaults
zOrderedDict.setdefaultcCs7|sd|jjfSd|jjt|jfS)zod.__repr__() <==> repr(od)z%s()z%s(%r))	__class__rlistrK)rrrr__repr__szOrderedDict.__repr__cCsdt|j}x'ttD]}|j|dq"W|jf|pNddt|jfS)z%Return state information for picklingN)varscopyrr7rQiterrK)rZ	inst_dictkrrr
__reduce__szOrderedDict.__reduce__cCs
|j|S)z!od.copy() -> a shallow copy of od)rQ)rrrrrUszOrderedDict.copycCs(|}x|D]}|||<qW|S)zOD.fromkeys(S[, v]) -> New ordered dictionary with keys from S.
        If not specified, the value defaults to None.

        r)clsiterabler3rrrrrfromkeyss	
zOrderedDict.fromkeyscCsGt|tr7tj||o6ttt||Stj||S)zod.__eq__(y) <==> od==y.  Comparison to another OD is order-sensitive
        while comparison to a regular mapping is order-insensitive.

        )
isinstancerr>__eq__allmap_eq)rotherrrrr]s(zOrderedDict.__eq__)"rrr__doc__r2r>r6r,r!r:r<rr=r@rBrIMutableMappingupdater.rJrKrL__ne__objectrMr7rP_recursive_reprrSrXrUclassmethodr[r]rrrrrGs0

			
		
)rafrom builtins import property as _property, tuple as _tuple
from operator import itemgetter as _itemgetter
from collections import OrderedDict

class {typename}(tuple):
    '{typename}({arg_list})'

    __slots__ = ()

    _fields = {field_names!r}

    def __new__(_cls, {arg_list}):
        'Create new instance of {typename}({arg_list})'
        return _tuple.__new__(_cls, ({arg_list}))

    @classmethod
    def _make(cls, iterable, new=tuple.__new__, len=len):
        'Make a new {typename} object from a sequence or iterable'
        result = new(cls, iterable)
        if len(result) != {num_fields:d}:
            raise TypeError('Expected {num_fields:d} arguments, got %d' % len(result))
        return result

    def _replace(_self, **kwds):
        'Return a new {typename} object replacing specified fields with new values'
        result = _self._make(map(kwds.pop, {field_names!r}, _self))
        if kwds:
            raise ValueError('Got unexpected field names: %r' % list(kwds))
        return result

    def __repr__(self):
        'Return a nicely formatted representation string'
        return self.__class__.__name__ + '({repr_fmt})' % self

    def _asdict(self):
        'Return a new OrderedDict which maps field names to their values.'
        return OrderedDict(zip(self._fields, self))

    def __getnewargs__(self):
        'Return self as a plain tuple.  Used by copy and pickle.'
        return tuple(self)

{field_defs}
z	{name}=%rzW    {name} = _property(_itemgetter({index:d}), doc='Alias for field number {index:d}')
Fc
Cst|tr'|jddj}ttt|}t|}|rt}xit|D][\}}|jst	|s|j
ds||krd|||<|j|qdWxk|g|D]\}t|tkrt
d|jstd|t	|rtd|qWt}x]|D]U}|j
drm|rmtd|||krtd	||j|qAWtjd
|dt|dt|d
tt|jddddddjdd|Dddjddt|D}tdd|}t||||}	||	_|rpt|	jy%tjdjjdd|	_Wnttfk
rYnX|	S)aCReturns a new subclass of tuple with named fields.

    >>> Point = namedtuple('Point', ['x', 'y'])
    >>> Point.__doc__                   # docstring for the new class
    'Point(x, y)'
    >>> p = Point(11, y=22)             # instantiate with positional args or keywords
    >>> p[0] + p[1]                     # indexable like a plain tuple
    33
    >>> x, y = p                        # unpack like a regular tuple
    >>> x, y
    (11, 22)
    >>> p.x + p.y                       # fields also accessible by name
    33
    >>> d = p._asdict()                 # convert to a dictionary
    >>> d['x']
    11
    >>> Point(**d)                      # convert from a dictionary
    Point(x=11, y=22)
    >>> p._replace(x=100)               # _replace() is like str.replace() but targets named fields
    Point(x=100, y=22)

    , _z_%dz*Type names and field names must be stringsz8Type names and field names must be valid identifiers: %rz2Type names and field names cannot be a keyword: %rz/Field names cannot start with an underscore: %rz$Encountered duplicate field name: %rtypenamefield_names
num_fieldsarg_list'r&repr_fmtz, css!|]}tjd|VqdS)nameN)_repr_templateformat).0rsrrr	<genexpr>sznamedtuple.<locals>.<genexpr>
field_defs
css-|]#\}}tjd|d|VqdS)indexrsN)_field_templateru)rvrzrsrrrrwsrz
namedtuple_%s__main__)r\strreplacesplitrRr_set	enumerateisidentifier
_iskeyword
startswithaddtyper'
ValueError_class_templaterutupler(reprjoinr>exec_sourceprintrD	_getframe	f_globalsgetrr*)
rlrmverboserenameseenrzrsclass_definition	namespacerOrrrrgsd	

	

	(


	
%cCs5|j}x%|D]}||dd||<qWdS)z!Tally elements from the iterable.r
r&N)r)mappingrZZmapping_getelemrrr_count_elementss	
r)rcs<eZdZdZfddZddZdddZd	d
ZedddZ	fd
dZ
ddZddZddZ
fddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.ZS)/raDict subclass for counting hashable items.  Sometimes called a bag
    or multiset.  Elements are stored as dictionary keys and their counts
    are stored as dictionary values.

    >>> c = Counter('abcdeabcdabcaba')  # count elements from a string

    >>> c.most_common(3)                # three most common elements
    [('a', 5), ('b', 4), ('c', 3)]
    >>> sorted(c)                       # list all unique elements
    ['a', 'b', 'c', 'd', 'e']
    >>> ''.join(sorted(c.elements()))   # list elements with repetitions
    'aaaaabbbbcccdde'
    >>> sum(c.values())                 # total of all counts
    15

    >>> c['a']                          # count of letter 'a'
    5
    >>> for elem in 'shazam':           # update counts from an iterable
    ...     c[elem] += 1                # by adding 1 to each element's count
    >>> c['a']                          # now there are seven 'a'
    7
    >>> del c['b']                      # remove all 'b'
    >>> c['b']                          # now there are zero 'b'
    0

    >>> d = Counter('simsalabim')       # make another counter
    >>> c.update(d)                     # add in the second counter
    >>> c['a']                          # now there are nine 'a'
    9

    >>> c.clear()                       # empty the counter
    >>> c
    Counter()

    Note:  If a count is set to zero or reduced to zero, it will remain
    in the counter until the entry is deleted or the counter is cleared:

    >>> c = Counter('aaabbc')
    >>> c['b'] -= 2                     # reduce the count of 'b' by two
    >>> c.most_common()                 # 'b' is still in, but its count is zero
    [('a', 3), ('c', 1), ('b', 0)]

    csm|std|^}}t|dkrFtdt|tt|j|j||dS)a	Create a new, empty Counter object.  And if given, count elements
        from an input iterable.  Or, initialize the count from another mapping
        of elements to their counts.

        >>> c = Counter()                           # a new, empty counter
        >>> c = Counter('gallahad')                 # a new counter from an iterable
        >>> c = Counter({'a': 4, 'b': 2})           # a new counter from a mapping
        >>> c = Counter(a=4, b=2)                   # a new counter from keyword args

        z;descriptor '__init__' of 'Counter' object needs an argumentr&z$expected at most 1 arguments, got %dN)r'r(superrr2rd)r/r0r)rQrrr2szCounter.__init__cCsdS)z1The count of elements not in the Counter is zero.r
r)rrrrr__missing__szCounter.__missing__NcCsP|dkr.t|jdtdddStj||jdtdS)zList the n most common elements and their counts from the most
        common to the least.  If n is None, then list all element counts.

        >>> Counter('abcdeabcdabcaba').most_common(3)
        [('a', 5), ('b', 4), ('c', 3)]

        Nrr&reverseT)sortedrK_itemgetter_heapqnlargest)rrGrrrmost_commons	"zCounter.most_commoncCstjtt|jS)aIterator over elements repeating each as many times as its count.

        >>> c = Counter('ABCABC')
        >>> sorted(c.elements())
        ['A', 'A', 'B', 'B', 'C', 'C']

        # Knuth's example for prime factors of 1836:  2**2 * 3**3 * 17**1
        >>> prime_factors = Counter({2: 2, 3: 3, 17: 1})
        >>> product = 1
        >>> for factor in prime_factors.elements():     # loop over factors
        ...     product *= factor                       # and multiply them
        >>> product
        1836

        Note, if an element's count has been set to zero or is a negative
        number, elements() will ignore it.

        )_chain
from_iterable_starmap_repeatrK)rrrrelements)szCounter.elementscCstddS)Nz@Counter.fromkeys() is undefined.  Use Counter(iterable) instead.)NotImplementedError)rYrZvrrrr[AszCounter.fromkeyscs|std|^}}t|dkrFtdt||rV|dnd}|dk	rt|tr|r|j}xJ|jD]#\}}|||d||<qWqtt|j|n
t	|||r|j|dS)aLike dict.update() but add counts instead of replacing them.

        Source can be an iterable, a dictionary, or another Counter instance.

        >>> c = Counter('which')
        >>> c.update('witch')           # add elements from another iterable
        >>> d = Counter('watch')
        >>> c.update(d)                 # add elements from another counter
        >>> c['h']                      # four 'h' in which, witch, and watch
        4

        z9descriptor 'update' of 'Counter' object needs an argumentr&z$expected at most 1 arguments, got %dr
N)
r'r(r\MappingrrKrrrdr)r/r0rrZself_getrcount)rQrrrdHs 	
zCounter.updatecOs|std|^}}t|dkrFtdt||rV|dnd}|dk	r|j}t|trx\|jD]#\}}||d|||<qWn(x%|D]}||dd||<qW|r|j|dS)aLike dict.update() but subtracts counts instead of replacing them.
        Counts can be reduced below zero.  Both the inputs and outputs are
        allowed to contain zero and negative counts.

        Source can be an iterable, a dictionary, or another Counter instance.

        >>> c = Counter('which')
        >>> c.subtract('witch')             # subtract elements from another iterable
        >>> c.subtract(Counter('watch'))    # subtract elements from another counter
        >>> c['h']                          # 2 in which, minus 1 in witch, minus 1 in watch
        0
        >>> c['w']                          # 1 in which, minus 1 in witch, minus 1 in watch
        -1

        z;descriptor 'subtract' of 'Counter' object needs an argumentr&z$expected at most 1 arguments, got %dr
N)r'r(rr\rrKsubtract)r/r0rrZrrrrrrrps	
zCounter.subtractcCs
|j|S)zReturn a shallow copy.)rQ)rrrrrUszCounter.copycCs|jt|ffS)N)rQr>)rrrrrXszCounter.__reduce__cs ||krtj|dS)zGLike dict.__delitem__() but does not raise KeyError for missing values.N)rr:)rr)rQrrr:szCounter.__delitem__cCs|sd|jjSy9djtdj|j}d|jj|fSWn.tk
r}dj|jjt|SYnXdS)Nz%s()z, z%r: %rz%s({%s})z
{0}({1!r}))	rQrrr___mod__rr'rur>)rrKrrrrSs!
zCounter.__repr__cCst|tstSt}x>|jD]0\}}|||}|dkr)|||<q)Wx<|jD].\}}||krj|dkrj|||<qjW|S)zAdd counts from two counters.

        >>> Counter('abbb') + Counter('bcc')
        Counter({'b': 4, 'c': 2, 'a': 1})

        r
)r\rNotImplementedrK)rrarOrrnewcountrrr__add__s	zCounter.__add__cCst|tstSt}x>|jD]0\}}|||}|dkr)|||<q)Wx@|jD]2\}}||krj|dkrjd|||<qjW|S)z Subtract count, but keep only results with positive counts.

        >>> Counter('abbbc') - Counter('bccd')
        Counter({'b': 2, 'a': 1})

        r
)r\rrrK)rrarOrrrrrr__sub__s	zCounter.__sub__cCst|tstSt}xR|jD]D\}}||}||krQ|n|}|dkr)|||<q)Wx<|jD].\}}||kr~|dkr~|||<q~W|S)zUnion is the maximum of value in either of the input counters.

        >>> Counter('abbb') | Counter('bcc')
        Counter({'b': 3, 'c': 2, 'a': 1})

        r
)r\rrrK)rrarOrrother_countrrrr__or__s	
zCounter.__or__cCsut|tstSt}xR|jD]D\}}||}||krQ|n|}|dkr)|||<q)W|S)z Intersection is the minimum of corresponding counts.

        >>> Counter('abbb') & Counter('bcc')
        Counter({'b': 1})

        r
)r\rrrK)rrarOrrrrrrr__and__s	
zCounter.__and__cCs@t}x0|jD]"\}}|dkr|||<qW|S)zEAdds an empty counter, effectively stripping negative and zero countsr
)rrK)rrOrrrrr__pos__s
	zCounter.__pos__cCsDt}x4|jD]&\}}|dkrd|||<qW|S)z{Subtracts from an empty counter.  Strips positive and zero counts,
        and flips the sign on negative counts.

        r
)rrK)rrOrrrrr__neg__s
	zCounter.__neg__cCs5dd|jD}x|D]
}||=q W|S)z?Internal method to strip elements with a negative or zero countcSs(g|]\}}|dks|qS)r
r)rvrrrrr
<listcomp>s	z*Counter._keep_positive.<locals>.<listcomp>)rK)rnonpositiverrrr_keep_positives
zCounter._keep_positivecCs5x(|jD]\}}|||7<q
W|jS)zInplace add from another counter, keeping only positive counts.

        >>> c = Counter('abbb')
        >>> c += Counter('bcc')
        >>> c
        Counter({'b': 4, 'c': 2, 'a': 1})

        )rKr)rrarrrrr__iadd__s	zCounter.__iadd__cCs5x(|jD]\}}|||8<q
W|jS)zInplace subtract counter, but keep only results with positive counts.

        >>> c = Counter('abbbc')
        >>> c -= Counter('bccd')
        >>> c
        Counter({'b': 2, 'a': 1})

        )rKr)rrarrrrr__isub__#s	zCounter.__isub__cCsGx:|jD],\}}||}||kr
|||<q
W|jS)zInplace union is the maximum of value from either counter.

        >>> c = Counter('abbb')
        >>> c |= Counter('bcc')
        >>> c
        Counter({'b': 3, 'c': 2, 'a': 1})

        )rKr)rrarrrrrr__ior__0s
	
zCounter.__ior__cCsGx:|jD],\}}||}||kr
|||<q
W|jS)zInplace intersection is the minimum of corresponding counts.

        >>> c = Counter('abbb')
        >>> c &= Counter('bcc')
        >>> c
        Counter({'b': 1})

        )rKr)rrarrrrrr__iand__?s
	
zCounter.__iand__)rrrrbr2rrrrhr[rdrrUrXr:rSrrrrrrrrrrrrr)rQrrs0+
("

c@seZdZdZddZddZddZdd	d
ZddZd
dZ	ddZ
ddZeddZ
eddZddZeZdddZeddZddZdd Zd!d"Zd#d$Zd%d&ZdS)'r	a A ChainMap groups multiple dicts (or other mappings) together
    to create a single, updateable view.

    The underlying mappings are stored in a list.  That list is public and can
    be accessed or updated using the *maps* attribute.  There is no other
    state.

    Lookups search the underlying mappings successively until a key is found.
    In contrast, writes, updates, and deletions only operate on the first
    mapping.

    cGst|pig|_dS)zInitialize a ChainMap by setting *maps* to the given mappings.
        If no mappings are provided, a single empty dictionary is used.

        N)rRmaps)rrrrrr2aszChainMap.__init__cCst|dS)N)r?)rrrrrrhszChainMap.__missing__cCsBx2|jD]'}y||SWq
tk
r0Yq
Xq
W|j|S)N)rr?r)rrrrrr__getitem__ks
	zChainMap.__getitem__NcCs||kr||S|S)Nr)rrrNrrrrsszChainMap.getcCsttj|jS)N)r(runionr)rrrr__len__vszChainMap.__len__cCsttj|jS)N)rVrrr)rrrrr<yszChainMap.__iter__cs tfdd|jDS)Nc3s|]}|kVqdS)Nr)rvm)rrrrw}sz(ChainMap.__contains__.<locals>.<genexpr>)anyr)rrr)rr__contains__|szChainMap.__contains__cCs
t|jS)N)rr)rrrr__bool__szChainMap.__bool__cCs%dj|djtt|jS)Nz{0.__class__.__name__}({1})z, )rurr_rr)rrrrrSszChainMap.__repr__cGs|tj||S)z?Create a ChainMap with a single dict created from the iterable.)r>r[)rYrZr/rrrr[szChainMap.fromkeyscCs*|j|jdj|jddS)zHNew ChainMap or subclass with a new copy of maps[0] and refs to maps[1:]r
r&N)rQrrU)rrrrrUsz
ChainMap.copycCs%|dkri}|j||jS)zyNew ChainMap with a new map followed by all previous maps.
        If no map is provided, an empty dict is used.
        N)rQr)rrrrr	new_childszChainMap.new_childcCs|j|jddS)zNew ChainMap from maps[1:].r&N)rQr)rrrrparentsszChainMap.parentscCs||jd|<dS)Nr
)r)rrr3rrrr6szChainMap.__setitem__cCs@y|jd|=Wn'tk
r;tdj|YnXdS)Nr
z(Key not found in the first mapping: {!r})rr?ru)rrrrrr:s
zChainMap.__delitem__cCs:y|jdjSWntk
r5tdYnXdS)zPRemove and return an item pair from maps[0]. Raise KeyError is maps[0] is empty.r
z#No keys found in the first mapping.N)rr@r?)rrrrr@s
zChainMap.popitemcGsIy|jdj||SWn'tk
rDtdj|YnXdS)zWRemove *key* from maps[0] and return its value. Raise KeyError if *key* not in maps[0].r
z(Key not found in the first mapping: {!r}N)rr7r?ru)rrr/rrrr7s
zChainMap.popcCs|jdjdS)z'Clear maps[0], leaving maps[1:] intact.r
N)rr=)rrrrr=szChainMap.clear)rrrrbr2rrrrr<rrrgrSrhr[rU__copy__rpropertyrr6r:r@r7r=rrrrr	Ss(c@seZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZedddZ
dS)rcOs|std|^}}t|dkrFtdt||rY|d}nFd|kr|jd}ddl}|jdtddnd}i|_|dk	r|j|t|r|j|dS)	Nz<descriptor '__init__' of 'UserDict' object needs an argumentr&z$expected at most 1 arguments, got %dr
r>z0Passing 'dict' as keyword argument is deprecated
stacklevelrC)r'r(r7warningswarnPendingDeprecationWarningdatard)r/kwargsrr>rrrrr2s$
		
zUserDict.__init__cCs
t|jS)N)r(r)rrrrrszUserDict.__len__cCsO||jkr|j|St|jdr?|jj||St|dS)Nr)rhasattrrQrr?)rrrrrrs
zUserDict.__getitem__cCs||j|<dS)N)r)rritemrrrr6szUserDict.__setitem__cCs|j|=dS)N)r)rrrrrr:szUserDict.__delitem__cCs
t|jS)N)rVr)rrrrr<szUserDict.__iter__cCs
||jkS)N)r)rrrrrrszUserDict.__contains__cCs
t|jS)N)rr)rrrrrSszUserDict.__repr__cCsq|jtkr"t|jjSddl}|j}zi|_|j|}Wd||_X|j||S)Nr
)rQrrrUrd)rrUrcrrrrUs		

z
UserDict.copyNcCs(|}x|D]}|||<qW|S)Nr)rYrZr3drrrrr[s	
zUserDict.fromkeys)rrrr2rrr6r:r<rrSrUrhr[rrrrrsc@s~eZdZdZdddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!d"Zd#d$ZeZd%d&Zd'd(Zd)d*Zd>d,d-Zd.d/Zd0d1Zd2d3Zd4d5Zd6d7Zd8d9Zd:d;Z d<d=Z!dS)?rzAA more or less complete user-defined wrapper around list objects.NcCsg|_|dk	rt|t|jkrF||jdd<nAt|trx|jdd|jdd<nt||_dS)N)rrr\rrR)rinitlistrrrr2s	#zUserList.__init__cCs
t|jS)N)rr)rrrrrSszUserList.__repr__cCs|j|j|kS)N)r_UserList__cast)rrarrr__lt__szUserList.__lt__cCs|j|j|kS)N)rr)rrarrr__le__szUserList.__le__cCs|j|j|kS)N)rr)rrarrrr]szUserList.__eq__cCs|j|j|kS)N)rr)rrarrr__gt__szUserList.__gt__cCs|j|j|kS)N)rr)rrarrr__ge__szUserList.__ge__cCst|tr|jS|S)N)r\rr)rrarrr__castszUserList.__castcCs
||jkS)N)r)rrrrrrszUserList.__contains__cCs
t|jS)N)r(r)rrrrrszUserList.__len__cCs|j|S)N)r)rirrrrszUserList.__getitem__cCs||j|<dS)N)r)rrrrrrr6szUserList.__setitem__cCs|j|=dS)N)r)rrrrrr:szUserList.__delitem__cCslt|tr&|j|j|jSt|t|jrR|j|j|S|j|jt|S)N)r\rrQrrrR)rrarrrrs
zUserList.__add__cCslt|tr&|j|j|jSt|t|jrR|j||jS|jt||jS)N)r\rrQrrrR)rrarrr__radd__!s
zUserList.__radd__cCsgt|tr$|j|j7_n?t|t|jrN|j|7_n|jt|7_|S)N)r\rrrrR)rrarrrr'szUserList.__iadd__cCs|j|j|S)N)rQr)rrGrrr__mul__/szUserList.__mul__cCs|j|9_|S)N)r)rrGrrr__imul__2szUserList.__imul__cCs|jj|dS)N)rappend)rrrrrr5szUserList.appendcCs|jj||dS)N)rinsert)rrrrrrr6szUserList.insertr&cCs|jj|S)N)rr7)rrrrrr77szUserList.popcCs|jj|dS)N)rremove)rrrrrr8szUserList.removecCs|jjdS)N)rr=)rrrrr=9szUserList.clearcCs
|j|S)N)rQ)rrrrrU:sz
UserList.copycCs|jj|S)N)rr)rrrrrr;szUserList.countcGs|jj||S)N)rrz)rrr/rrrrz<szUserList.indexcCs|jjdS)N)rr)rrrrr=szUserList.reversecOs|jj||dS)N)rsort)rr/r0rrrr>sz
UserList.sortcCs9t|tr%|jj|jn|jj|dS)N)r\rrextend)rrarrrr?szUserList.extendr})"rrrrbr2rSrrr]rrrrrrr6r:rrrr__rmul__rrrr7rr=rUrrzrrrrrrrrs>
c@seZdZddZddZddZddZd	d
ZddZd
dZ	ddZ
ddZddZddZ
ddZddZddZddZdd Zd!d"Zd#d$Zd%d&ZeZd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1ejd2d3Zd4d4d5d6Zd1ejd7d8Z d9d:d;Z!d1ejd<d=Z"d>d?Z#d@dAZ$d1ejdBdCZ%dDdEZ&dFdGZ'dHdIZ(dJdKZ)dLdMZ*dNdOZ+dPdQZ,dRdSZ-dTdUZ.dVdWZ/dXdYZ0dZd[Z1d\d]Z2d^d_Z3d4d`daZ4e5j6Z6dbdcZ7ddedfZ8d1ejdgdhZ9d1ejdidjZ:dkdlZ;dmdnZ<d4dodpZ=d4ddqdrZ>d4ddsdtZ?dudvdwZ@d1ejdxdyZAd4dzd{ZBd|d}ZCd~dZDddZEddZFddZGd4S)rcCsVt|tr||_n7t|trC|jdd|_nt||_dS)N)r\r~rr)rseqrrrr2Ls
zUserString.__init__cCs
t|jS)N)r~r)rrrr__str__SszUserString.__str__cCs
t|jS)N)rr)rrrrrSTszUserString.__repr__cCs
t|jS)N)intr)rrrr__int__UszUserString.__int__cCs
t|jS)N)floatr)rrrr	__float__VszUserString.__float__cCs
t|jS)N)complexr)rrrr__complex__WszUserString.__complex__cCs
t|jS)N)hashr)rrrr__hash__XszUserString.__hash__cCs|jddfS)N)r)rrrr__getnewargs__YszUserString.__getnewargs__cCs,t|tr|j|jkS|j|kS)N)r\rr)rstringrrrr]\szUserString.__eq__cCs,t|tr|j|jkS|j|kS)N)r\rr)rrrrrr`szUserString.__lt__cCs,t|tr|j|jkS|j|kS)N)r\rr)rrrrrrdszUserString.__le__cCs,t|tr|j|jkS|j|kS)N)r\rr)rrrrrrhszUserString.__gt__cCs,t|tr|j|jkS|j|kS)N)r\rr)rrrrrrlszUserString.__ge__cCs%t|tr|j}||jkS)N)r\rr)rcharrrrrqs	zUserString.__contains__cCs
t|jS)N)r(r)rrrrrvszUserString.__len__cCs|j|j|S)N)rQr)rrzrrrrwszUserString.__getitem__cCsct|tr&|j|j|jSt|trI|j|j|S|j|jt|S)N)r\rrQrr~)rrarrrrxs
zUserString.__add__cCs=t|tr#|j||jS|jt||jS)N)r\r~rQr)rrarrrr~szUserString.__radd__cCs|j|j|S)N)rQr)rrGrrrrszUserString.__mul__cCs|j|j|S)N)rQr)rr/rrrrszUserString.__mod__cCs|j|tS)N)rQr/)rrurrr__rmod__szUserString.__rmod__cCs|j|jjS)N)rQr
capitalize)rrrrrszUserString.capitalizecCs|j|jjS)N)rQrcasefold)rrrrrszUserString.casefoldcGs|j|jj||S)N)rQrcenter)rwidthr/rrrrszUserString.centerr
cCs.t|tr|j}|jj|||S)N)r\rrr)rsubstartendrrrrs	zUserString.countNcCsW|rA|r(|j|jj||S|j|jj|S|j|jjS)N)rQrencode)rencodingerrorsrrrrs
zUserString.encodecCs|jj|||S)N)rendswith)rsuffixrrrrrrszUserString.endswithcCs|j|jj|S)N)rQr
expandtabs)rtabsizerrrrszUserString.expandtabscCs.t|tr|j}|jj|||S)N)r\rrfind)rrrrrrrrs	zUserString.findcOs|jj||S)N)rru)rr/r0rrrruszUserString.formatcCs|jj|S)N)r
format_map)rrrrrrszUserString.format_mapcCs|jj|||S)N)rrz)rrrrrrrrzszUserString.indexcCs
|jjS)N)risalpha)rrrrrszUserString.isalphacCs
|jjS)N)risalnum)rrrrrszUserString.isalnumcCs
|jjS)N)r	isdecimal)rrrrrszUserString.isdecimalcCs
|jjS)N)risdigit)rrrrrszUserString.isdigitcCs
|jjS)N)rr)rrrrrszUserString.isidentifiercCs
|jjS)N)rislower)rrrrr	szUserString.islowercCs
|jjS)N)r	isnumeric)rrrrr
szUserString.isnumericcCs
|jjS)N)risprintable)rrrrrszUserString.isprintablecCs
|jjS)N)risspace)rrrrrszUserString.isspacecCs
|jjS)N)ristitle)rrrrr
szUserString.istitlecCs
|jjS)N)risupper)rrrrrszUserString.isuppercCs|jj|S)N)rr)rrrrrrszUserString.joincGs|j|jj||S)N)rQrljust)rrr/rrrrszUserString.ljustcCs|j|jjS)N)rQrlower)rrrrrszUserString.lowercCs|j|jj|S)N)rQrlstrip)rcharsrrrrszUserString.lstripcCs|jj|S)N)r	partition)rseprrrrszUserString.partitionr&cCsOt|tr|j}t|tr0|j}|j|jj|||S)N)r\rrrQr)roldnewmaxsplitrrrrs
		zUserString.replacecCs.t|tr|j}|jj|||S)N)r\rrrfind)rrrrrrrrs	zUserString.rfindcCs|jj|||S)N)rrindex)rrrrrrrrszUserString.rindexcGs|j|jj||S)N)rQrrjust)rrr/rrrrszUserString.rjustcCs|jj|S)N)r
rpartition)rrrrrrszUserString.rpartitioncCs|j|jj|S)N)rQrrstrip)rrrrrrszUserString.rstripcCs|jj||S)N)rr)rrrrrrrszUserString.splitcCs|jj||S)N)rrsplit)rrrrrrrszUserString.rsplitFcCs|jj|S)N)r
splitlines)rkeependsrrrrszUserString.splitlinescCs|jj|||S)N)rr)rprefixrrrrrrszUserString.startswithcCs|j|jj|S)N)rQrstrip)rrrrrr!szUserString.stripcCs|j|jjS)N)rQrswapcase)rrrrr"szUserString.swapcasecCs|j|jjS)N)rQrtitle)rrrrr#szUserString.titlecGs|j|jj|S)N)rQr	translate)rr/rrrr$szUserString.translatecCs|j|jjS)N)rQrupper)rrrrr%szUserString.uppercCs|j|jj|S)N)rQrzfill)rrrrrr&szUserString.zfillr}r}r})Hrrrr2rrSrrrrrr]rrrrrrrrrrrrrrrrrDmaxsizerrrrrrurrzrrrrrr	r
rrr
rrrrrr~	maketransrrrrrrrrrrrr!r"r#r$r%r&rrrrrKs	)8rb__all___collections_abcoperatorrrr
r`keywordrrsysrDheapqr_weakrefrr,	itertoolsrrrrrrreprlibrrg_collectionsrImportErrorMutableSequenceregisterrKeysViewr	ItemsViewr
ValuesViewr rfr!r>rrrtr{rrrrcr	rrSequencerrrrr<module>sZ





3^
lCI