
    ?f                     (    d Z ddlmZ d Zd Zd ZdS )z,
Commonly useful filters for `attr.asdict`.
   )	Attributec                     t          d | D                       t          d | D                       t          d | D                       fS )zD
    Returns a tuple of `frozenset`s of classes and attributes.
    c              3   D   K   | ]}t          |t                    |V  d S N)
isinstancetype.0clss     [/home/panchajanya/Development/work/volatility3/lib/python3.11/site-packages/attr/filters.py	<genexpr>z_split_what.<locals>.<genexpr>   s1      ??#C)>)>?#??????    c              3   D   K   | ]}t          |t                    |V  d S r   )r   strr	   s     r   r   z_split_what.<locals>.<genexpr>   s1      >>#C)=)=>#>>>>>>r   c              3   D   K   | ]}t          |t                    |V  d S r   )r   r   r	   s     r   r   z_split_what.<locals>.<genexpr>   s1      DD#C)C)CD#DDDDDDr   )	frozenset)whats    r   _split_whatr   
   s\    
 	???????>>>>>>>DDDDDDD r   c                  @    t          |           \  fd}|S )z
    Include *what*.

    :param what: What to include.
    :type what: `list` of classes `type`, field names `str` or
        `attrs.Attribute`\ s

    :rtype: `callable`

    .. versionchanged:: 23.1.0 Accept strings with field names.
    c                 0    |j         v p| j        v p| v S r   	__class__name	attributevalueattrsr   namess     r   include_zinclude.<locals>.include_#   s.    Os" "~&"E!	
r   r   )r   r   r   r   r   s     @@@r   includer!      E     $D))C
 
 
 
 
 
 
 Or   c                  @    t          |           \  fd}|S )z
    Exclude *what*.

    :param what: What to exclude.
    :type what: `list` of classes `type`, field names `str` or
        `attrs.Attribute`\ s.

    :rtype: `callable`

    .. versionchanged:: 23.3.0 Accept field name string as input argument
    c                 2    |j         v p| j        v p| v  S r   r   r   s     r   exclude_zexclude.<locals>.exclude_;   s3    Os" "~&"E!
 	
r   r    )r   r%   r   r   r   s     @@@r   excluder&   -   r"   r   N)__doc___maker   r   r!   r&    r   r   <module>r*      sZ              0    r   