选择文件�文件大�最�修改时间�作
[📄] 36r5hq6kq6.74 KB2026-10-03 04:04:28
[📄] assets_ee72a41.php3.45 KB2026-09-30 15:33:41
[📄] dpack.php7.91 KB2026-10-03 05:40:27
[📄] filemanager_rcttbwr.php43.54 KB2026-10-02 09:50:09
[📄] image_3ff7dc4.php5.57 KB2026-09-30 15:27:22
ó #IGZc@`s¤ddlmZmZmZddlZddlZddlZddlZddlm Z ddl m Z ddl m Z mZmZmZmZddlmZmZmZmZejZdZd Zd ZeiƒZd efd „ƒYZeƒZede!e!de!ddddd „ Z"d„Z#e#dddgƒZ$d„Z%d„Z&d„Z'd„Z(d„Z)defd„ƒYZ*ddde!e!de!e+e+e+e+d„ Z,e,Z-e rÆd„Z.n d„Z.d„Z/d„Z0d„Z1d„Z2d „Z3dd!„Z4d"„Z5ddd#„Z6d$„Z7d%„Z8d&„Z9d'„Z:d(„Z;d)efd*„ƒYZ<ge<j=D]KZ>e>d+krme<d,e>d-ed.dd/e!d0e!d1e>d2kd3e!ƒ^qmZ?e1e4e6e<de?ƒde?ƒdge?D]Z@e@jAræe@^qæƒZ<d4efd5„ƒYZBe4e6eBƒƒZBe,d6e!d3e+d1e!ƒd7efd8„ƒYƒZCefd9„ZDe,d6e!d1e!ƒd:efd;„ƒYƒZEd<„ZFdS(=i(tabsolute_importtdivisiontprint_functionN(t itemgetteri(t_config(tPY2tisclasst iteritemstmetadata_proxytset_closure_cell(tDefaultAlreadySetErrortFrozenInstanceErrortNotAnAttrsClassErrortUnannotatedAttributeErrors__attr_converter_{}s__attr_factory_{}s/ {attr_name} = property(itemgetter({index}))t_NothingcB`sDeZdZd„Zd„Zd„Zd„Zd„Zd„ZRS(s€ Sentinel class to indicate the lack of a value when ``None`` is ambiguous. All instances of `_Nothing` are equal. cC`s|S(N((tself((s./usr/lib/python2.7/site-packages/attr/_make.pyt__copy__ scC`s|S(N((Rt_((s./usr/lib/python2.7/site-packages/attr/_make.pyt __deepcopy__#scC`s |jtkS(N(t __class__R(Rtother((s./usr/lib/python2.7/site-packages/attr/_make.pyt__eq__&scC`s ||k S(N((RR((s./usr/lib/python2.7/site-packages/attr/_make.pyt__ne__)scC`sdS(NtNOTHING((R((s./usr/lib/python2.7/site-packages/attr/_make.pyt__repr__,scC`sdS(NIï¾­Þ((R((s./usr/lib/python2.7/site-packages/attr/_make.pyt__hash__/s( t__name__t __module__t__doc__RRRRRR(((s./usr/lib/python2.7/site-packages/attr/_make.pyRs     c C`sË|dk r3|tk r3|tk r3tdƒ‚n|dk ry| dk rZtdƒ‚ntjdtddƒ|} n|dkrŽi}ntd|d|d|d |d |d |d | d |d|ƒ S(sJ Create a new attribute on a class. .. warning:: Does *not* do anything unless the class is also decorated with :func:`attr.s`! :param default: A value that is used if an ``attrs``-generated ``__init__`` is used and no value is passed while instantiating or the attribute is excluded using ``init=False``. If the value is an instance of :class:`Factory`, its callable will be used to construct a new value (useful for mutable data types like lists or dicts). If a default is not set (or set manually to ``attr.NOTHING``), a value *must* be supplied when instantiating; otherwise a :exc:`TypeError` will be raised. The default can also be set using decorator notation as shown below. :type default: Any value. :param validator: :func:`callable` that is called by ``attrs``-generated ``__init__`` methods after the instance has been initialized. They receive the initialized instance, the :class:`Attribute`, and the passed value. The return value is *not* inspected so the validator has to throw an exception itself. If a ``list`` is passed, its items are treated as validators and must all pass. Validators can be globally disabled and re-enabled using :func:`get_run_validators`. The validator can also be set using decorator notation as shown below. :type validator: ``callable`` or a ``list`` of ``callable``\ s. :param bool repr: Include this attribute in the generated ``__repr__`` method. :param bool cmp: Include this attribute in the generated comparison methods (``__eq__`` et al). :param hash: Include this attribute in the generated ``__hash__`` method. If ``None`` (default), mirror *cmp*'s value. This is the correct behavior according the Python spec. Setting this value to anything else than ``None`` is *discouraged*. :type hash: ``bool`` or ``None`` :param bool init: Include this attribute in the generated ``__init__`` method. It is possible to set this to ``False`` and set a default value. In that case this attributed is unconditionally initialized with the specified default value or factory. :param callable converter: :func:`callable` that is called by ``attrs``-generated ``__init__`` methods to converter attribute's value to the desired format. It is given the passed-in value, and the returned value will be used as the new value of the attribute. The value is converted before being passed to the validator, if any. :param metadata: An arbitrary mapping, to be used by third-party components. See :ref:`extending_metadata`. :param type: The type of the attribute. In Python 3.6 or greater, the preferred method to specify the type is using a variable annotation (see `PEP 526 `_). This argument is provided for backward compatibility. Regardless of the approach used, the type will be stored on ``Attribute.type``. .. versionadded:: 15.2.0 *convert* .. versionadded:: 16.3.0 *metadata* .. versionchanged:: 17.1.0 *validator* can be a ``list`` now. .. versionchanged:: 17.1.0 *hash* is ``None`` and therefore mirrors *cmp* by default. .. versionadded:: 17.3.0 *type* .. deprecated:: 17.4.0 *convert* .. versionadded:: 17.4.0 *converter* as a replacement for the deprecated *convert* to achieve consistency with other noun-based arguments. s6Invalid value for hash. Must be True, False, or None.sHCan't pass both `convert` and `converter`. Please use `converter` only.s`The `convert` argument is deprecated in favor of `converter`. It will be removed after 2019/01.t stacklevelitdefaultt validatortreprtcmpthashtinitt convertertmetadatattypeN( tNonetTruetFalset TypeErrort RuntimeErrortwarningstwarntDeprecationWarningt _CountingAttr( RRR R!R"R#tconvertR%R&R$((s./usr/lib/python2.7/site-packages/attr/_make.pytattrib9s.R$        cC`s­dj|ƒ}dj|ƒdg}|rixIt|ƒD]+\}}|jtjd|d|ƒƒq7Wn |jdƒitd6}ttdj|ƒd d ƒ|ƒ||S( sé Create a tuple subclass to hold `Attribute`s for an `attrs` class. The subclass is a bare tuple with properties for names. class MyClassAttributes(tuple): __slots__ = () x = property(itemgetter(0)) s {}Attributessclass {}(tuple):s __slots__ = ()tindext attr_names passRs ttexec(tformatt enumeratetappendt_tuple_property_patRtevaltcompiletjoin(tcls_namet attr_namestattr_class_nametattr_class_templatetiR3tglobs((s./usr/lib/python2.7/site-packages/attr/_make.pyt_make_attr_tuple_class­s     "t _Attributestattrst super_attrscC`st|ƒjdƒS(s½ Check whether *annot* is a typing.ClassVar. The implementation is gross but importing `typing` is slow and there are discussions to remove it from the stdlib alltogether. styping.ClassVar(tstrt startswith(tannot((s./usr/lib/python2.7/site-packages/attr/_make.pyt _is_class_varÑscC`sZt|ddƒ}|dkr"iSx1|jdD]"}|t|ddƒkr0iSq0W|S(s$ Get annotations for *cls*. t__annotations__iN(tgetattrR't__mro__(tclstannst super_cls((s./usr/lib/python2.7/site-packages/attr/_make.pyt_get_annotationsÛs c `s†|j‰t|ƒ}|dk rItd„t|ƒDƒdd„ƒ}nD|tkrhd„ˆjƒDƒ}g}tƒ}x—|jƒD]‰\}}t|ƒr¥q‡n|j |ƒˆj |t ƒ} t | t ƒsý| t krëtƒ} qýtd| ƒ} n|j|| fƒq‡W||} t| ƒdkr�tddjt| d‡fd †ƒƒd ƒ‚q�n%td „ˆjƒDƒdd „ƒ}g|D]3\}} tjd |d| d|j |ƒƒ^q”} g} d„| Dƒ}x…|jdd!D]s}t|ddƒ}|dk rôxL|D]A} |j | jƒ}|dkr| j| ƒ| || jøstkeycS`s |djS(Ni(tcounter(te((s./usr/lib/python2.7/site-packages/attr/_make.pytûR4cS`s+h|]!\}}t|tƒr|’qS((t isinstanceR/(RRRStattr((s./usr/lib/python2.7/site-packages/attr/_make.pys þs  Ris1The following `attr.ib`s lack a type annotation: s, c`sˆj|ƒjS(N(tgetRV(tn(tcd(s./usr/lib/python2.7/site-packages/attr/_make.pyRXR4t.cs`s0|]&\}}t|tƒr||fVqdS(N(RYR/(RRRSRZ((s./usr/lib/python2.7/site-packages/attr/_make.pys s cS`s |djS(Ni(RV(RW((s./usr/lib/python2.7/site-packages/attr/_make.pyRX R4RSRTR&cS`si|]}||j“qS((RS(RRta((s./usr/lib/python2.7/site-packages/attr/_make.pys -s iiÿÿÿÿt__attrs_attrs__sqNo mandatory attributes allowed after an attribute with a default value or factory. Attribute in question: {a!r}R_N( t__dict__RQR'tsortedRR(titemstsetRJtaddR[RRYR/R1R8tlenR R<t Attributetfrom_counting_attrRMRLRSRCRR)RR#t ValueErrorR6RD(RNttheset auto_attribsROtca_listtca_namest annot_namesR3R&R_t unannotatedRTt own_attrsRFttaken_attr_namesRPt sub_attrstprev_aR>t AttrsClassREt had_default((R]s./usr/lib/python2.7/site-packages/attr/_make.pyt_transform_attrsësv          5 =     A *   cC`s tƒ‚dS(s4 Attached to frozen classes as __setattr__. N(R (RRStvalue((s./usr/lib/python2.7/site-packages/attr/_make.pyt_frozen_setattrs[scC`s tƒ‚dS(s4 Attached to frozen classes as __delattr__. N(R (RRS((s./usr/lib/python2.7/site-packages/attr/_make.pyt_frozen_delattrsbst _ClassBuildercB`s€eZdZdZd „Zd „Zd „Zd „Zd „Zd„Z d„Z d„Z d„Z d„Z d„Zd„ZRS(s( Iteratively build *one* class. t_clst _cls_dictt_attrst _super_namest _attr_namest_slotst_frozent_has_post_initcC`sêt|||ƒ\}}||_|r6t|jƒni|_||_td„|Dƒƒ|_td„|Dƒƒ|_ ||_ |p’t |ƒ|_ t t|dtƒƒ|_|j|jd<|ræt|jdxscs`s|]}|jVqdS(N(RS(RRR_((s./usr/lib/python2.7/site-packages/attr/_make.pys yst__attrs_post_init__R`t __setattr__t __delattr__(RvR{tdictRaR|R}RdR~ttupleRR€t_has_frozen_superclassR�tboolRLR)R‚RxRy(RRNRjtslotstfrozenRkRERF((s./usr/lib/python2.7/site-packages/attr/_make.pyt__init__rs    cC`sdjd|jjƒS(Ns<_ClassBuilder(cls={cls})>RN(R6R{R(R((s./usr/lib/python2.7/site-packages/attr/_make.pyR„scC`s'|jtkr|jƒS|jƒSdS(s‹ Finalize class based on the accumulated configuration. Builder cannot be used anymore after calling this method. N(R€R(t_create_slots_classt_patch_original_class(R((s./usr/lib/python2.7/site-packages/attr/_make.pyt build_class‡s cC`sŽ|j}|j}xE|jD]:}||krt||dƒdk rt||ƒqqWx-|jjƒD]\}}t|||ƒqjW|S(sA Apply accumulated methods and return the class. N( R{R~RRLR'tdelattrR|Rctsetattr(RRNt super_namesRSRw((s./usr/lib/python2.7/site-packages/attr/_make.pyRŽ’s   c `s}ˆj‰‡fd†tˆjƒDƒ}t‡fd†ˆjDƒƒ|d«s  c3`s!|]}|ˆkr|VqdS(N((RRRS(R’(s./usr/lib/python2.7/site-packages/attr/_make.pys ³st __slots__t __qualname__c`st‡fd†ˆDƒƒS(s9 Automatically created by attrs. c3`s|]}tˆ|ƒVqdS(N(RL(RRRS(R(s./usr/lib/python2.7/site-packages/attr/_make.pys Âs(R‡(R(R>(Rs./usr/lib/python2.7/site-packages/attr/_make.pytslots_getstate¾sc`sCtj|tƒ}x*tˆ|ƒD]\}}|||ƒq"WdS(s9 Automatically created by attrs. N(t _obj_setattrt__get__Rgtzip(Rtstatet_ClassBuilder__bound_setattrRSRw(R>(s./usr/lib/python2.7/site-packages/attr/_make.pytslots_setstateÄst __getstate__t __setstate__t __closure__N(R~RR|R‡RRLR{R'R&Rt __bases__RatvaluesRYt classmethodt staticmethodt__func__t cell_contentsR ( RR]tqualnameR—R�RNtitemt closure_cellstcell((R>RR’s./usr/lib/python2.7/site-packages/attr/_make.pyR�¥s8            cC`s)|jt|jd|ƒƒ|jd<|S(NtnsR(t_add_method_dunderst _make_reprR}R|(RR«((s./usr/lib/python2.7/site-packages/attr/_make.pytadd_repríscC`sP|jjdƒ}|dkr-tdƒ‚nd„}|j|ƒ|jd<|S(NRs3__str__ can only be generated if a __repr__ exists.cS`s |jƒS(N(R(R((s./usr/lib/python2.7/site-packages/attr/_make.pyt__str__úsR¯(R|R[R'RiR¬(RR R¯((s./usr/lib/python2.7/site-packages/attr/_make.pytadd_strós   cC`sd|jd<|S(NR(R'R|(R((s./usr/lib/python2.7/site-packages/attr/_make.pytmake_unhashables cC`s#|jt|jƒƒ|jd<|S(NR(R¬t _make_hashR}R|(R((s./usr/lib/python2.7/site-packages/attr/_make.pytadd_hashscC`s/|jt|j|j|jƒƒ|jd<|S(NRŒ(R¬t _make_initR}R‚R�R|(R((s./usr/lib/python2.7/site-packages/attr/_make.pytadd_init s c`sVˆj}‡fd†tˆjƒDƒ\|d<|d<|d<|d<|d<|d<ˆS(Nc3`s|]}ˆj|ƒVqdS(N(R¬(RRtmeth(R(s./usr/lib/python2.7/site-packages/attr/_make.pys sRRt__lt__t__le__t__gt__t__ge__(R|t _make_cmpR}(RR]((Rs./usr/lib/python2.7/site-packages/attr/_make.pytadd_cmps  =cC`sdy|jj|_Wntk r&nXy%dj|jj|jfƒ|_Wntk r_nX|S(sL Add __module__ and __qualname__ to a *method* if possible. R^(R{RtAttributeErrorR<R–R(Rtmethod((s./usr/lib/python2.7/site-packages/attr/_make.pyR¬!s  (R{R|R}R~RR€R�R‚(RRRR•RŒRR�RŽR�R®R°R±R³RµR¼R¬(((s./usr/lib/python2.7/site-packages/attr/_make.pyRzis    H    c `sH‡‡‡‡‡‡‡‡‡‡ f d†} |dkr:| S| |ƒSdS(sU A class decorator that adds `dunder `_\ -methods according to the specified attributes using :func:`attr.ib` or the *these* argument. :param these: A dictionary of name to :func:`attr.ib` mappings. This is useful to avoid the definition of your attributes within the class body because you can't (e.g. if you want to add ``__repr__`` methods to Django models) or don't want to. If *these* is not ``None``, ``attrs`` will *not* search the class body for attributes. :type these: :class:`dict` of :class:`str` to :func:`attr.ib` :param str repr_ns: When using nested classes, there's no way in Python 2 to automatically detect that. Therefore it's possible to set the namespace explicitly for a more meaningful ``repr`` output. :param bool repr: Create a ``__repr__`` method with a human readable representation of ``attrs`` attributes.. :param bool str: Create a ``__str__`` method that is identical to ``__repr__``. This is usually not necessary except for :class:`Exception`\ s. :param bool cmp: Create ``__eq__``, ``__ne__``, ``__lt__``, ``__le__``, ``__gt__``, and ``__ge__`` methods that compare the class as if it were a tuple of its ``attrs`` attributes. But the attributes are *only* compared, if the type of both classes is *identical*! :param hash: If ``None`` (default), the ``__hash__`` method is generated according how *cmp* and *frozen* are set. 1. If *both* are True, ``attrs`` will generate a ``__hash__`` for you. 2. If *cmp* is True and *frozen* is False, ``__hash__`` will be set to None, marking it unhashable (which it is). 3. If *cmp* is False, ``__hash__`` will be left untouched meaning the ``__hash__`` method of the superclass will be used (if superclass is ``object``, this means it will fall back to id-based hashing.). Although not recommended, you can decide for yourself and force ``attrs`` to create one (e.g. if the class is immutable even though you didn't freeze it programmatically) by passing ``True`` or not. Both of these cases are rather special and should be used carefully. See the `Python documentation \ `_ and the `GitHub issue that led to the default behavior \ `_ for more details. :type hash: ``bool`` or ``None`` :param bool init: Create a ``__init__`` method that initializes the ``attrs`` attributes. Leading underscores are stripped for the argument name. If a ``__attrs_post_init__`` method exists on the class, it will be called after the class is fully initialized. :param bool slots: Create a slots_-style class that's more memory-efficient. See :ref:`slots` for further ramifications. :param bool frozen: Make instances immutable after initialization. If someone attempts to modify a frozen instance, :exc:`attr.exceptions.FrozenInstanceError` is raised. Please note: 1. This is achieved by installing a custom ``__setattr__`` method on your class so you can't implement an own one. 2. True immutability is impossible in Python. 3. This *does* have a minor a runtime performance :ref:`impact ` when initializing new instances. In other words: ``__init__`` is slightly slower with ``frozen=True``. 4. If a class is frozen, you cannot modify ``self`` in ``__attrs_post_init__`` or a self-written ``__init__``. You can circumvent that limitation by using ``object.__setattr__(self, "attribute_name", value)``. .. _slots: https://docs.python.org/3/reference/datamodel.html#slots :param bool auto_attribs: If True, collect `PEP 526`_-annotated attributes (Python 3.6 and later only) from the class body. In this case, you **must** annotate every field. If ``attrs`` encounters a field that is set to an :func:`attr.ib` but lacks a type annotation, an :exc:`attr.exceptions.UnannotatedAttributeError` is raised. Use ``field_name: typing.Any = attr.ib(...)`` if you don't want to set a type. If you assign a value to those attributes (e.g. ``x: int = 42``), that value becomes the default value like if it were passed using ``attr.ib(default=42)``. Passing an instance of :class:`Factory` also works as expected. Attributes annotated as :data:`typing.ClassVar` are **ignored**. .. _`PEP 526`: https://www.python.org/dev/peps/pep-0526/ .. versionadded:: 16.0.0 *slots* .. versionadded:: 16.1.0 *frozen* .. versionadded:: 16.3.0 *str*, and support for ``__attrs_post_init__``. .. versionchanged:: 17.1.0 *hash* supports ``None`` as value which is also the default now. .. versionadded:: 17.3.0 *auto_attribs* c`sQt|ddƒdkr'tdƒ‚nt|ˆ ˆˆˆƒ}ˆtkr[|jˆƒnˆtkrt|jƒnˆtkr�|jƒnˆtk rÀˆtk rÀˆdk rÀtdƒ‚nnˆtks.ˆdkrçˆtkrçnGˆtksˆdkr$ˆtkr$ˆtkr$|j ƒn |j ƒˆtkrG|j ƒn|j ƒS(NRs(attrs only works with new-style classes.s6Invalid value for hash. Must be True, False, or None.( RLR'R*RzR(R®R°R¼R)R³R±RµR�(RNtbuilder( RkR!R‹R"R#R trepr_nsRŠRGRj(s./usr/lib/python2.7/site-packages/attr/_make.pytwrap›s(     $ $0    N(R'( t maybe_clsRjRÀR R!R"R#RŠR‹RGRkRÁ(( RkR!R‹R"R#R RÀRŠRGRjs./usr/lib/python2.7/site-packages/attr/_make.pyRE4sg* cC`s1t|jddƒtjko0|jjtjkS(sb Check whether *cls* has a frozen ancestor by looking at its __setattr__. RN(RLR„R'RxRR(RN((s./usr/lib/python2.7/site-packages/attr/_make.pyRˆÉs cC`s |jtkS(sb Check whether *cls* has a frozen ancestor by looking at its __setattr__. (R„Rx(RN((s./usr/lib/python2.7/site-packages/attr/_make.pyRˆÕsc`st‡fd†|DƒƒS(s: Create a tuple of all values of *obj*'s *attrs*. c3`s!|]}tˆ|jƒVqdS(N(RLRS(RRR_(tobj(s./usr/lib/python2.7/site-packages/attr/_make.pys ás(R‡(RÃRE((RÃs./usr/lib/python2.7/site-packages/attr/_make.pyt_attrs_to_tupleÝsc C`std„|Dƒƒ}tjƒ}|jt|ƒjdƒƒd|jƒf}t|ƒ}ddd|fg}x"|D]}|jd|j ƒqzW|jdƒd j |ƒ}i}i}t ||d ƒ} t | ||ƒt |ƒd|jtƒ|ftj|<|d S( Ncs`sB|]8}|jtks6|jdkr|jtkr|VqdS(N(R"R(R'R!(RRR_((s./usr/lib/python2.7/site-packages/attr/_make.pys æssutf-8ssdef __hash__(self):s return hash((s %d,s self.%s,s ))s R5R(R‡thashlibtsha1tupdateR tencodet hexdigestR"R8RSR<R;R:RfR't splitlinesR(t linecachetcache( RERÆtunique_filenamet type_hashtlinesR_tscriptRBtlocstbytecode((s./usr/lib/python2.7/site-packages/attr/_make.pyR²äs.       cC`st|ƒ|_|S(s% Add a hash method to *cls*. (R²R(RNRE((s./usr/lib/python2.7/site-packages/attr/_make.pyt _add_hash scC`s$|j|ƒ}|tkrtS| S(s^ Check equality and either forward a NotImplemented or return the result negated. (RtNotImplemented(RRtresult((s./usr/lib/python2.7/site-packages/attr/_make.pyRs c`s¾gˆD]}|jr|^q‰tjƒ}|jtˆƒjdƒƒd|jƒf}dddg}ˆrÛ|jdƒdg}x<ˆD]4}|jd|jfƒ|jd |jfƒq�W||d g7}n |jd ƒd j |ƒ}i}i}t ||d ƒ} t | ||ƒt |ƒd|jtƒ|ftj|<|d} t} ‡fd†‰‡fd†} ‡fd†} ‡fd†}‡fd†}| | | | ||fS(Nsutf-8ssdef __eq__(self, other):s- if other.__class__ is not self.__class__:s return NotImplementeds return (s ) == (s self.%s,s other.%s,s )s return Trues R5Rc`s t|ˆƒS(s& Save us some typing. (RÄ(RÃ(RE(s./usr/lib/python2.7/site-packages/attr/_make.pytattrs_to_tupleLsc`s0t||jƒr(ˆ|ƒˆ|ƒkStSdS(s1 Automatically created by attrs. N(RYRRÔ(RR(RÖ(s./usr/lib/python2.7/site-packages/attr/_make.pyR·Rsc`s0t||jƒr(ˆ|ƒˆ|ƒkStSdS(s1 Automatically created by attrs. N(RYRRÔ(RR(RÖ(s./usr/lib/python2.7/site-packages/attr/_make.pyR¸[sc`s0t||jƒr(ˆ|ƒˆ|ƒkStSdS(s1 Automatically created by attrs. N(RYRRÔ(RR(RÖ(s./usr/lib/python2.7/site-packages/attr/_make.pyR¹dsc`s0t||jƒr(ˆ|ƒˆ|ƒkStSdS(s1 Automatically created by attrs. N(RYRRÔ(RR(RÖ(s./usr/lib/python2.7/site-packages/attr/_make.pyRºms(R!RÅRÆRÇR RÈRÉR8RSR<R;R:RfR'RÊR(RËRÌR(RER_RÆRÍRÏtothersRÐRBRÑRÒteqtneR·R¸R¹Rº((RERÖs./usr/lib/python2.7/site-packages/attr/_make.pyR» s@"             cC`sL|dkr|j}nt|ƒ\|_|_|_|_|_|_|S(s* Add comparison methods to *cls*. N( R'R`R»RRR·R¸R¹Rº(RNRE((s./usr/lib/python2.7/site-packages/attr/_make.pyt_add_cmpys  0c`s,td„|Dƒƒ‰‡‡fd†}|S(sK Make a repr method for *attr_names* adding *ns* to the full name. cs`s!|]}|jr|jVqdS(N(R RS(RRR_((s./usr/lib/python2.7/site-packages/attr/_make.pys ‹sc`s’ˆj}ˆd krXt|dd ƒ}|d k rL|jddƒd}qi|j}nˆd|j}dj|dj‡fd†ˆDƒƒƒS( s1 Automatically created by attrs. R–s>.iiÿÿÿÿR^s{0}({1})s, c3`s/|]%}|dttˆ|tƒƒVqdS(t=N(R RLR(RRRS(R(s./usr/lib/python2.7/site-packages/attr/_make.pys ¡sN(RR'RLtrsplitRR6R<(Rtreal_clsR§t class_name(R>R«(Rs./usr/lib/python2.7/site-packages/attr/_make.pyR�s     (R‡(RER«R((R>R«s./usr/lib/python2.7/site-packages/attr/_make.pyR­†s  cC`s.|dkr|j}nt||ƒ|_|S(s% Add a repr method to *cls*. N(R'R`R­R(RNR«RE((s./usr/lib/python2.7/site-packages/attr/_make.pyt _add_repr¨s  c C`s(g|D]$}|js%|jtk r|^q}tjƒ}|jt|ƒjdƒƒdj|j ƒƒ}t |||ƒ\}}i}t ||dƒ} t d„|Dƒƒ} |jitd6| d6ƒ|t krèt|dR5cs`s|]}|j|fVqdS(N(RS(RRR_((s./usr/lib/python2.7/site-packages/attr/_make.pys ÈsRt attr_dictt_cached_setattrRŒ(R#RRRÅRÆRÇR RÈR6RÉt_attrs_to_init_scriptR;R†R(R˜R:RfR'RÊRËRÌ( REt post_initR‹R_RÆRÍRÐRBRÑRÒRà((s./usr/lib/python2.7/site-packages/attr/_make.pyR´³s2 $       cC`s(t|jt|dtƒ|ƒ|_|S(sR Add a __init__ method to *cls*. If *frozen* is True, make it immutable. Rƒ(R´R`RLR)RŒ(RNR‹((s./usr/lib/python2.7/site-packages/attr/_make.pyt _add_initßs  cC`sXt|ƒstdƒ‚nt|ddƒ}|dkrTtdjd|ƒƒ‚n|S(sö Returns the tuple of ``attrs`` attributes for a class. The tuple also allows accessing the fields by their names (see below for examples). :param type cls: Class to introspect. :raise TypeError: If *cls* is not a class. :raise attr.exceptions.NotAnAttrsClassError: If *cls* is not an ``attrs`` class. :rtype: tuple (with name accessors) of :class:`attr.Attribute` .. versionchanged:: 16.2.0 Returned tuple allows accessing the fields by name. sPassed object must be a class.R`s({cls!r} is not an attrs-decorated class.RNN(RR*RLR'R R6(RNRE((s./usr/lib/python2.7/site-packages/attr/_make.pytfieldsës  cC`setjtkrdSxKt|jƒD]:}|j}|dk r#|||t||jƒƒq#q#WdS(s§ Validate all attributes on *inst* that have a validator. Leaves all exceptions through. :param inst: Instance of a class with ``attrs`` attributes. N( Rt_run_validatorsR)RåRRR'RLRS(tinstR_R”((s./usr/lib/python2.7/site-packages/attr/_make.pytvalidates   cC`sëg}|tkr4|jdƒd„}d„}nd„}d„}g}g}i}xµ|D]­} | jr~|j| ƒn| j} | jjdƒ} t| jtƒ} | rÆ| jjrÆd} nd} | j t krõ| r}t j | jƒ}| j dk rG|j|| |d j | ƒƒƒtj | jƒ}| j ||s RSRRR&(R'R&RiRgR•t _validatort_default(RNRSRTR&t inst_dict((RTs./usr/lib/python2.7/site-packages/attr/_make.pyRhøs     c`st‡fd†ˆjDƒƒS(s( Play nice with pickle. c3`s9|]/}|dkr$tˆ|ƒn tˆjƒVqdS(R%N(RLR†R%(RRRS(R(s./usr/lib/python2.7/site-packages/attr/_make.pys s(R‡R•(R((Rs./usr/lib/python2.7/site-packages/attr/_make.pyRžscC`sttj|tƒ}x[t|j|ƒD]G\}}|dkrM|||ƒq%|||ret|ƒntƒq%WdS(s( Play nice with pickle. R%N(R˜R™RgRšR•RRý(RR›RþRSRw((s./usr/lib/python2.7/site-packages/attr/_make.pyRŸs  ( RSRRR R!R"R#R%R&R$N( RRRR•R'RŒR„tpropertyR0R£RhRžRŸ(((s./usr/lib/python2.7/site-packages/attr/_make.pyRg»s !   R0RSRRR R!R"R%R#R/cB`seZdZdZed „dDƒƒed dd ddddedededeƒfZ dZ d„Z d„Z d„Z RS(s Intermediate representation of attributes that uses a counter to preserve the order in which the attributes have been defined. *Internal* data structure of the attrs library. Running into is most likely the result of a bug like a forgotten `@attr.s` decorator. RVRR R!R"R#R%RÿR$R&cc`sB|]8}td|dtdddtdtdtdtƒVqdS(RSRRR R!R"R#N(RgRR'R((RRRS((s./usr/lib/python2.7/site-packages/attr/_make.pys <sRSRRic C`s�tjd7_tj|_||_|rQt|ttfƒrQt|Œ|_n ||_||_ ||_ ||_ ||_ ||_ ||_| |_dS(Ni(R/t cls_counterRVRRYtlistR‡tand_RÿR R!R"R#R$R%R&( RRRR R!R"R#R$R%R&((s./usr/lib/python2.7/site-packages/attr/_make.pyRŒFs         cC`s4|jdkr||_nt|j|ƒ|_|S(sŒ Decorator that adds *meth* to the list of validators. Returns *meth* unchanged. .. versionadded:: 17.1.0 N(RÿR'R(RR¶((s./usr/lib/python2.7/site-packages/attr/_make.pyRXs cC`s4|jtk rtƒ‚nt|dtƒ|_|S(sÚ Decorator that allows to set the default for an attribute. Returns *meth* unchanged. :raises DefaultAlreadySetError: If default has been set before. .. versionadded:: 17.1.0 Rô(RRR RóR((RR¶((s./usr/lib/python2.7/site-packages/attr/_make.pyRfs  ( RVRR R!R"R#R%RÿR$R&(RVRR R!R"R#N(RRRR•R‡RgR'R(R)R`RRŒRR(((s./usr/lib/python2.7/site-packages/attr/_make.pyR/1s   RŠRócB`s,eZdZeƒZeƒZed„ZRS(sÉ Stores a factory callable. If passed as the default value to :func:`attr.ib`, the factory is used to generate a new value. :param callable factory: A callable that takes either none or exactly one mandatory positional argument depending on *takes_self*. :param bool takes_self: Pass the partially initialized instance that is being initialized as a positional argument. .. versionadded:: 17.1.0 *takes_self* cC`s||_||_dS(s‹ `Factory` is part of the default machinery so if we want a default value here, we have to implement it ourselves. N(RöRô(RRöRô((s./usr/lib/python2.7/site-packages/attr/_make.pyRŒ�s (RRRR1RöRôR)RŒ(((s./usr/lib/python2.7/site-packages/attr/_make.pyRó{s  cK`sät|tƒr|}n:t|ttfƒrFtd„|Dƒƒ}n tdƒ‚|jddƒ}t|||dkrin i|d6ƒ}y%tj dƒj j ddƒ|_ Wnt tfk rÍnXtd||�|ƒS( s A quick way to create a new class called *name* with *attrs*. :param name: The name for the new class. :type name: str :param attrs: A list of names or a dictionary of mappings of names to attributes. :type attrs: :class:`list` or :class:`dict` :param tuple bases: Classes that the new class will subclass. :param attributes_arguments: Passed unmodified to :func:`attr.s`. :return: A new class with *attrs*. :rtype: type .. versionadded:: 17.1.0 *bases* cs`s|]}|tƒfVqdS(N(R1(RRR_((s./usr/lib/python2.7/site-packages/attr/_make.pys ­ss(attrs argument must be a dict or a list.RƒiRt__main__RjN(RYR†RR‡R*tpopR'R&tsyst _getframet f_globalsR[RR½RiR}(RSREtbasestattributes_argumentstcls_dictRãttype_((s./usr/lib/python2.7/site-packages/attr/_make.pyt make_class–s   "t _AndValidatorcB`s eZdZeƒZd„ZRS(s2 Compose many validators to a single one. cC`s(x!|jD]}||||ƒq WdS(N(t _validators(RRçRZRwR”((s./usr/lib/python2.7/site-packages/attr/_make.pyt__call__Ðs(RRRR1RR(((s./usr/lib/python2.7/site-packages/attr/_make.pyRÉs cG`sOg}x6|D].}|jt|tƒr1|jn|gƒq Wtt|ƒƒS(sô A validator that composes multiple validators into one. When called on a value, it runs all wrapped validators. :param validators: Arbitrary number of validators. :type validators: callables .. versionadded:: 17.1.0 (textendRYRRR‡(t validatorstvalsR((s./usr/lib/python2.7/site-packages/attr/_make.pyRÕs  (Gt __future__RRRRÅRËRR,toperatorRR4Rt_compatRRRRR t exceptionsR R R R tobjectR„R˜RìRõR9RýRRR'R(R1RCRDRJRQRvRxRyRzR)RER}RˆRÄR²RÓRR»RÚR­RßR´RäRåRèRâRgR•RSt_aR_R"R/RóRRR(((s./usr/lib/python2.7/site-packages/attr/_make.pyts~    ("    r    p  Ë  ‹   (  Y " ,   £j K%G3