HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/attr/__pycache__/_next_gen.cpython-38.pyc
U

��`��@s�dZddlmZddlmZddlmZddlmZm	Z	m
Z
mZddddddd	dd	dd	d	ddd	ddddd
�dd�ZeZ
eeddd
�Zedddddddd	dddd�dd�ZdS)zr
These are Python 3.6+-only and keyword-only APIs that call `attr.s` and
`attr.ib` with different default values.
�)�partial)�UnannotatedAttributeError�)�setters)�NOTHING�_frozen_setattrs�attrib�attrsNTF)�these�repr�hash�init�slots�frozen�weakref_slot�str�auto_attribs�kw_only�
cache_hash�auto_exc�eq�order�auto_detect�getstate_setstate�
on_setattr�field_transformercsV��������	�
���
�����fdd������fdd�}|dkrJ|S||�SdS)aD
    The only behavioral differences are the handling of the *auto_attribs*
    option:

    :param Optional[bool] auto_attribs: If set to `True` or `False`, it behaves
       exactly like `attr.s`. If left `None`, `attr.s` will try to guess:

       1. If any attributes are annotated and no unannotated `attr.ib`\ s
          are found, it assumes *auto_attribs=True*.
       2. Otherwise it assumes *auto_attribs=False* and tries to collect
          `attr.ib`\ s.

    and that mutable classes (``frozen=False``) validate on ``__setattr__``.

    .. versionadded:: 20.1.0
    cs0t|�����
���|�	�����d��
�d�S)NT)�	maybe_clsr
rrr
rrrrrrrrrrr�collect_by_mrorrr)r	)�clsr)rrrrrrrrr
rrrrrrr
r��0/usr/lib/python3/dist-packages/attr/_next_gen.py�do_it5s,�zdefine.<locals>.do_itcs��dtjfk}�dkr$�dkr$tj�|jD]$}|jtkr*|rDtd��tj�qPq*�dk	rb�|��Sz�|d�WStk
r��|d�YSXdS)z�
        Making this a wrapper ensures this code runs during class creation.

        We also ensure that frozen-ness of classes is inherited.
        NFz@Frozen classes can't use on_setattr (frozen-ness was inherited).T)r�NO_OP�validate�	__bases__�__setattr__r�
ValueErrorr)rZhad_on_setattr�base_cls)rr!rrrr �wrapMs"

�
zdefine.<locals>.wrapNr)rr
rrr
rrrrrrrrrrrrrrr(r)rrrrr!rrrrrr
rrrrrrr
rr �defines
',%r))rr��default�	validatorrrr
�metadata�	converter�factoryrrrrcCs t||||||||||	|
|d�S)zx
    Identical to `attr.ib`, except keyword-only and with some arguments
    removed.

    .. versionadded:: 20.1.0
    r*)rr*rrr �field|s�r0)N)�__doc__�	functoolsrZattr.exceptionsr�r�_makerrrr	r)�mutablerr0rrrr �<module>sP��j�