
    f
                         d dl Z d dlmZ d dlmZ d dlmZ  ej                  d      Z G d d      Z	dZ
d	Zd
ZdZdZdZeZ ee
eeeeed      Z e j$                   eed      ez         ZddddddddddediZd Zy)    N)BOM_UTF8)Tuple)groupzutf-8c                   F    e Zd ZddZedeeef   fd       Zd Zd Z	d Z
y)	
PrefixPartNc                 R    |J || _         || _        || _        || _        || _        y N)parenttypevaluespacing	start_pos)selfleaftypr   r   r   s         N/var/www/cvtools/html/venv/lib/python3.12/site-packages/parso/python/prefix.py__init__zPrefixPart.__init__   s1    $$$	
*3    returnc                 <   | j                   j                  d      s| j                   j                  d      r| j                  d   dz   dfS | j                   t        k(  r| j                  S | j                  d   | j                  d   t	        | j                         z   fS )N
r      )r   endswithr   unicode_bomlenr   s    r   end_poszPrefixPart.end_pos   s~    ::t$

(;(;D(A>>!$q(!++::$>>!~~a $.."3c$**o"EEEr   c                     | j                   d   t        | j                        z
  }t        | j                  d| j                  | j                   d   |f      S )Nr   r   r   r   )r   r   r   r   r
   )r   columns     r   create_spacing_partzPrefixPart.create_spacing_part   sK    "S%66KKDLL~~a(&1
 	
r   c                     | j                   j                  d| j                  dt        | j                        d| j
                  dS )N(z, ))	__class____name__r   reprr   r   r   s    r   __repr__zPrefixPart.__repr__#   s3    NN##IINN	
 	
r   c                 ^    | j                   }||j                  |v r|S |j                   }|y r	   )r
   r   )r   
node_typesnodes      r   search_ancestorzPrefixPart.search_ancestor+   s8    {{yyJ&;;D  r   ) N)r'   
__module____qualname__r   propertyr   intr   r"   r)   r-    r   r   r   r   
   s<    4 FsCx F F

r   r   z#[^\n\r\f]*z\\\r?\n|\\\rz\r?\n|\rz\f$z[ \t]*T)capture#comment\	backslashformfeedr   newliner   bomc              #   @  K   |\  }}d}dx}}d}|t        | j                        k7  rt        j                  | j                  |      }|j	                  d      }|j	                  d      }|snt
        |d      }	t        | |	|||||z   t        |      z
  t        |      z   f       |	dk(  rd}|j                  d      }|j                  d	      s|j                  d
      r|dz  }| }|t        | j                        k7  r|rd}t        | d||||z   f       y w)Nr   r.   Fr      r    r=   Tr   r   r   )
r   prefix_regexmatchr   _typesr   r2   endr   )
r   r   liner!   startr   r   r=   rB   type_s
             r   split_prefixrH   M   s)    LD&EEG
C
3t{{#
#T[[%0++a.AuQx %Ve^c#h6WEF
 	
 E>C		!>>$5>>$#7AIDVF# 3t{{#
#& 
i%( s   D DD)recodecsr   typingr   parso.python.tokenizer   decoder   r   _comment
_backslash_newline
_form_feed_only_spacing_spacing_bomrA   compilerC   rH   r3   r   r   <module>rV      s    	   'hoog&' 'T 

	j(Jt
 
E(D1F:	; +*))
r   