o
    (sRd                     @   s  d Z ddlmZ ddlmZ ddlmZmZmZm	Z	m
Z
 ddlmZ ddlmZmZ ddlmZmZmZmZmZmZ dd	lmZmZmZmZmZmZmZmZm Z  dd
l!m"Z"m#Z#m$Z$m%Z% ddl&m'Z' e Z(Z)e Z*Z+eeddZ,G dd dZ-g dZ.de/defddZ0e0e1Z2dS )z
Classes Without Boilerplate
    )partial)Callable   )
converters
exceptionsfilterssetters
validators)	cmp_using)get_run_validatorsset_run_validators)asdictassocastupleevolvehasresolve_types)	NOTHING	AttributeFactoryattribattrsfieldsfields_dict
make_classvalidate)definefieldfrozenmutable)VersionInfoT)Zauto_attribsc                   @   s   e Zd ZdS )AttrsInstanceN)__name__
__module____qualname__ r%   r%   -lib/python3.10/site-packages/attr/__init__.pyr!   "   s    r!   ) r   r!   r   r   r   r   r   attrr   
attributesr   r
   r   r   r   r   r   r   r   r   r   r   r   ibr   r   r   sr   r   r   r	   mod_namereturnc                    s   dt dt f fdd}|S )zp
    Create a metadata proxy for packaging information that uses *mod_name* in
    its warnings and errors.
    namer,   c                    s2  ddddddddddd
}| |  vrtd  d|  d	d l}d	d l}|jd
k r1d	dlm} nd	dlm} | dkrJ|jd  d|  dt	dd |d}| dkrTdS | dkrZdS | dv rh|d 
ddd S | dkrst|d S | dkr|d ddd	 S | dkr|d ddd d d S |||   S ) NName versionZsummarylicense)
Z	__title____copyright____version____version_info__Z__description____uri____url__
__author__	__email____license__zmodule z has no attribute r   )      )metadatar4   z
Accessing .z is deprecated and will be removed in a future release. Use importlib.metadata directly to query for attrs's packaging metadata.   )
stacklevelr   r9   ZMITr2   z"Copyright (c) 2015 Hynek Schlawack)r5   r6   zProject-URL r   r7   zAuthor-emailr8   <)keysAttributeErrorsyswarningsversion_infoZimportlib_metadatar<   importlib.metadatawarnDeprecationWarningsplitr    Z_from_version_stringrsplit)r-   Zdunder_to_metadatarE   rF   r<   metar+   r%   r&   __getattr__P   sL   
z"_make_getattr.<locals>.__getattr__)str)r+   rO   r%   rN   r&   _make_getattrJ   s   1rQ   N)3__doc__	functoolsr   typingr   r/   r   r   r   r   r	   _cmpr
   Z_configr   r   Z_funcsr   r   r   r   r   r   _maker   r   r   r   r   r   r   r   r   Z	_next_genr   r   r   r   Z_version_infor    r*   r(   r)   r'   Z	dataclassr!   __all__rP   rQ   r"   rO   r%   r%   r%   r&   <module>   s"    ,$: