
    !.d:                         d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZmZ eeef         Z ed          Ze G d	 d
ee                               ZdS )    )	dataclass)IteratorTypeVarUnion)Visitor)out)lib2to3_parse)token)LeafNode	type_reprTc                   l    e Zd ZU dZeed<   dedee         fdZ	e
deeeef         ddfd            ZdS )	DebugVisitorr   
tree_depthnodereturnc              #   n  K   dd| j         z  z  }t          |t                    rt          |j                  }t          | | d           | xj         dz  c_         |j        D ]}|                     |          E d {V  | xj         dz  c_         t          | d| dd           d S t          j	        
                    |j        t          |j                            }t          | | d	d
           |j        rt          d|j        ddd           t          d|j        d	d           d S )N    yellow)fg   /F)r   boldblue)r   nlgreen)r   r   r   )r   
isinstancer   r   typer   childrenvisitr
   tok_namegetstrprefixvalue)selfr   indent_typechilds        +lib/python3.11/site-packages/black/debug.pyvisit_defaultzDebugVisitor.visit_default   sm     DO+,dD!! 	;di((E6"5""x0000OOq OO - -::e,,,,,,,,,,OOq OO6##E##u======N&&ty#di..AAE6"5""v%8888{ K '''G%EJJJJ"DJ""vE::::::    codeNc                     t                      }t          |t                    rt          |          }t	          |                    |                     dS )zmPretty-print the lib2to3 AST of a given string of `code`.

        Convenience method for debugging.
        N)r   r   r%   r	   listr"   )clsr/   vs      r,   showzDebugVisitor.show&   sJ     !-dC   	' &&DQWWT]]r.   )__name__
__module____qualname__r   int__annotations__LNr   r   r-   classmethodr   r%   r   r   r4    r.   r,   r   r      s         J;" ;! ; ; ; ;( c4o. 4    [  r.   r   N)dataclassesr   typingr   r   r   black.nodesr   black.outputr   black.parsingr	   blib2to3.pgen2r
   blib2to3.pytreer   r   r   r:   r   r   r<   r.   r,   <module>rD      s    ! ! ! ! ! ! + + + + + + + + + +             ' ' ' ' ' '             1 1 1 1 1 1 1 1 1 1
4:GCLL          71:          r.   