
    dafR              	       R   	 d Z dZddlmZ ddlmZmZ ddlZddl	Z	ddl
mZ ddlZddlZddlZddl ddlmZ ddlZ ej&                  d	ej(                        Z ej&                  d
ej(                        ZddlZej.                  g dz   Z[ G d d ej0                  dd            Zd Zd Zd ZdZdZe edez         z    ee      z   ZdZ dZ!dZ"dZ#dZ$ ee!e"e#e$      Z%dZ& edd       ee&      z   Z'de&z   Z( ee'e(      Z) ede)dz         Z* ee*e)e%      Z+d  Z,e	jZ                  d!        Z. e e,        Z/d"Z0d#Z1d$Z2d%Z3 ee/d&z   e/d'z         Z4 ee/d(z   e/d)z         Z5 e e6ejn                   e8ed*+             Z9 ed,e9      Z: ee+e:e5e       Z;ee;z   Z< ee/d-z    ed.d      z   e/d/z    ed0d      z         Z= ed1ee4      Z>e ee>e+e:e=e       z   Z?i Z@ e,       D ]"  ZAe0e@eAd.z   <   e1e@eAd0z   <   e2e@eAd&z   <   e3e@eAd'z   <   $ [A eB       ZC eB       ZD e,       D ]B  ZEeEd0z   eEd.z   fD ]  ZFeCj                  eF        eEd'z   eEd&z   fD ]  ZFeDj                  eF        D [E[Fd2ZH G d3 d4eI      ZJ G d5 d6eI      ZK G d7 d8      ZLd9 ZMd: ZNd; ZOd< Zd= ZPd> ZQd? ZRd@ ZSdCdAZTeUdBk(  r eR        yy)DzKa-Ping Yee <ping@lfw.org>zpGvR, ESR, Tim Peters, Thomas Wouters, Fred Drake, Skip Montanaro, Raymond Hettinger, Trent Nelson, Michael Foord    )open)lookupBOM_UTF8N)TextIOWrapper)*)EXACT_TOKEN_TYPESz&^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)s   ^[ \t\f]*(?:[#\r\n]|$))tokenizegenerate_tokensdetect_encoding
untokenize	TokenInfoc                   "    e Zd Zd Zed        Zy)r   c                 p    d| j                   t        | j                      fz  }d| j                  |      z  S )Nz%d (%s)z8TokenInfo(type=%s, string=%r, start=%r, end=%r, line=%r))type)r   tok_name_replace)selfannotated_types     #/root/Python-3.12.4/Lib/tokenize.py__repr__zTokenInfo.__repr__0   s9    "dii$))1D%EEJ>23 	4    c                     | j                   t        k(  r%| j                  t        v rt        | j                     S | j                   S N)r   OPstringr   r   s    r   
exact_typezTokenInfo.exact_type5   s2    99?t{{.??$T[[1199r   N)__name__
__module____qualname__r   propertyr    r   r   r   r   /   s    4
  r   r   ztype string start end linec                  0    ddj                  |       z   dz   S )N(|))joinchoicess    r   groupr*   <   s    C#((7"33c99r   c                      t        |  dz   S )Nr   r*   r(   s    r   anyr-   =   s    %/C//r   c                      t        |  dz   S )N?r,   r(   s    r   mayber0   >   s    E7Oc11r   z[ \f\t]*z	#[^\r\n]*z\\\r?\nz\w+z0[xX](?:_?[0-9a-fA-F])+z0[bB](?:_?[01])+z0[oO](?:_?[0-7])+z(?:0(?:_?0)*|[1-9](?:_?[0-9])*)z[eE][-+]?[0-9](?:_?[0-9])*z)[0-9](?:_?[0-9])*\.(?:[0-9](?:_?[0-9])*)?z\.[0-9](?:_?[0-9])*z[0-9](?:_?[0-9])*z[0-9](?:_?[0-9])*[jJ]z[jJ]c            
      
   g d} dh}| D ]q  }t        j                  |      D ]W  }t        j                  |D cg c]  }||j                         f c} D ]"  }|j	                  dj                  |             $ Y s |S c c}w )N)brufbrfr )
_itertoolspermutationsproductupperaddr'   )_valid_string_prefixesresultprefixtcr4   s         r   _all_string_prefixesrC   U   s     >TF( '((0 	'A  ''!)DQ1aggi.)DE '

2771:&'	'' M *Es   B c                 J    t        j                  | t         j                        S r   )recompileUNICODE)exprs    r   _compilerI   d   s    ::dBJJ''r   z[^'\\]*(?:\\.[^'\\]*)*'z[^"\\]*(?:\\.[^"\\]*)*"z%[^'\\]*(?:(?:\\.|'(?!''))[^'\\]*)*'''z%[^"\\]*(?:(?:\\.|"(?!""))[^"\\]*)*"""z'''z"""z'[^\n'\\]*(?:\\.[^\n'\\]*)*'z"[^\n"\\]*(?:\\.[^\n"\\]*)*"T)reversez\r?\nz'[^\n'\\]*(?:\\.[^\n'\\]*)*'z"[^\n"\\]*(?:\\.[^\n"\\]*)*"z
\\\r?\n|\Z   c                       e Zd Zy)
TokenErrorNr   r   r    r"   r   r   rO   rO          r   rO   c                       e Zd Zy)StopTokenizingNrP   r"   r   r   rS   rS      rQ   r   rS   c                   *    e Zd Zd Zd Zd Zd Zd Zy)Untokenizerc                 J    g | _         d| _        d| _        d | _        d | _        y )N   r   )tokensprev_rowprev_col	prev_typeencodingr   s    r   __init__zUntokenizer.__init__   s%    r   c                    |\  }}|| j                   k  s|| j                   k(  r@|| j                  k  r1t        dj                  ||| j                   | j                              || j                   z
  }|r%| j                  j                  d|z         d| _        || j                  z
  }|r| j                  j                  d|z         y y )Nz+start ({},{}) precedes previous end ({},{})z\
r    )rY   rZ   
ValueErrorformatrX   append)r   startrowcol
row_offset
col_offsets         r   add_whitespacezUntokenizer.add_whitespace   s    S#"63;NJ$fS#t}}dmmLN N4==(
KKv
23DM4==(
KKsZ/0 r   c                 @   g }d}|D ]  }|dk(  r|rd}n|j                  |       |dk(  rRt        d t        j                  dj                  |dd d         D              }|dz  d	k(  r|j                  |       nd
}|j                  |        dj                  |      S )NF}{c              3       K   | ]  }d   yw)rW   Nr"   ).0chars     r   	<genexpr>z.Untokenizer.escape_brackets.<locals>.<genexpr>   s      $A$s   \   r   Tr8   )rb   sumr9   	takewhile__eq__r'   )r   token
charactersconsume_until_next_bracket	charactern_backslashess         r   escape_bracketszUntokenizer.escape_brackets   s    
%*" 	)IC-16.%%i0C # $","6"6"26r6*#$ ! !1$)%%i015.i(#	)$ wwz""r   c                 X   t        |      }g }d}|D ]  }t        |      dk(  r| j                  ||        n|\  }}}}	}
|t        k(  r|| _        @|t
        k(  r n|t        k(  r|j                  |       g|t        k(  r |j                          |	\  | _
        | _        |t        t        fv rd}n|rF|rD|d   }|d   t        |      k\  r+| j                  j                  |       t        |      | _        d}n|t        k(  r]d|v sd|v r| j!                  |      } |j"                         d   }|	\  }}|j%                  d      |j%                  d	      z   }|||z   f}	nA|t&        t(        fv r3| j*                  t&        t,        fv r| j                  j                  d
       | j/                  |       | j                  j                  |       |	\  | _
        | _        |t        t        fv r| xj                  dz  c_
        d| _        || _         dj1                  | j                        S )NFrs   Trr   rW   rk   rj   z{{z}}r_   r   r8   )iterlencompatENCODINGr\   	ENDMARKERINDENTrb   DEDENTpoprY   rZ   NEWLINENLrX   FSTRING_MIDDLEr|   
splitlinescountSTRINGFSTRING_STARTr[   FSTRING_ENDrh   r'   )r   iterableitindents	startlinerA   tok_typerw   rc   endlineindent	last_lineend_lineend_colextra_charss                   r   r   zUntokenizer.untokenize   s   (^	 )	&A1v{Ar"01-HeUC8# %9$6!u%V#/2,t}gr]* 	w 8s6{*KK&&v.$'KDM!	^+%<3%< 007E 0 0 0 22 6I(+%Hg"+//$"7)//$:O"OK#W{%:;Cfm44FT_K`9`""3'&KKu%+.(DM4=GR=(" !%DNS)	&T wwt{{##r   c                 ,   g }| j                   j                  }|d   t        t        fv }d}d}t	        j
                  |g|      D ]L  }|d d \  }	}
|	t        k(  r|
| _        |	t        t        fv r|
dz  }
|	t        k(  r
|rd|
z   }
d}nd}|	t        k(  r|dz  }n|	t        k(  r|dz  }|	t        k(  r|j                  |
       }|	t        k(  r|j                          |	t        t        fv rd}n,|r|r ||d          d}n|	t         k(  r| j#                  |
      }
|
dv r%| j                   r| j                   d   |
k(  r|rd|
z   }
|	t        t        fv r3| j$                  t        t        fv r| j                   j                  d        ||
       |	| _        O y )	Nr   Frs   r_   TrW   rr   >   rk   rj   )rX   rb   r   r   r9   chainr   r\   NAMENUMBERr   r   r   r   r   r   r   r|   r[   )r   rw   r   r   toks_appendr   
prevstring
in_fstringtoktoknumtokvals              r   r   zUntokenizer.compat  s   kk((!H"-	

##UGX6 ,	$C !WNFF! &$'#  6\F!
"
&a
;&a
v&6!GR=( 	wGBK(!	>)--f5 #B68QV`v &-00T^^P[G\5\""3'#DNY,	$r   N)r   r   r    r]   rh   r|   r   r   r"   r   r   rU   rU      s    1#..$`3$r   rU   c                     	 t               }|j                  |       }|j                  |j                  |j                        }|S r   )rU   r   r\   encode)r   utouts      r   r   r   :  s?    & 
B
--
!C	{{jj%Jr   c                     	 | d d j                         j                  dd      }|dk(  s|j                  d      ry|dv s|j                  d      ry| S )	N   _-utf-8zutf-8-)zlatin-1
iso-8859-1ziso-latin-1)zlatin-1-ziso-8859-1-ziso-latin-1-r   )lowerreplace
startswith)orig_encencs     r   _get_normal_namer   U  sY    2
3B-



'
'S
1C
g~1
66
~~ABOr   c                 l    	 	  j                   j                  dd }d} fd}fd} |       }|j                  t              r	d|dd  }d}|s|g fS  ||      }|r||gfS t
        j                  |      s||gfS  |       }|s||gfS  ||      }|r|||gfS |||gfS # t        $ r d Y w xY w)NFr   c                  2    	          S # t         $ r Y yw xY w)Nr   )StopIterationreadlines   r   read_or_stopz%detect_encoding.<locals>.read_or_stopx  s"    	: 		s   
 	c                    	 | j                  d      }t        j                  |      }|sy t        |j                  d            }	 t        |      }r5|dk7  r+d}t        |      dj                        }t        |      |d	z  }|S # t        $ r" d}dj                  |      }t        |      w xY w# t        $ r0 d|z   }t        |      dj                  |      }t        |      w xY w)
Nr   z'invalid or missing encoding declarationz{} for {!r}rW   zunknown encoding: zunknown encoding for {!r}: {}zencoding problem: utf-8z encoding problem for {!r}: utf-8z-sig)
decodeUnicodeDecodeErrorra   SyntaxError	cookie_rematchr   r*   r   LookupError)r   line_stringmsgr   r\   codec	bom_foundfilenames         r   find_cookiez$detect_encoding.<locals>.find_cookie~  s(   		# ++g.K ,#EKKN3		#8$E 7"#3C "#&& =CCHMC!#&&H= " 	#;C##**39c""		#  	#*X5 c"" 6<<X "c""	#s   B B9 +B699C2T   	utf-8-sig)__self__nameAttributeErrorr   r   blank_rer   )	r   r\   defaultr   r   firstsecondr   r   s	   `      @@r   r   r   `  s     $$)) IHG$L NE!	ab	{5!H%  >>% ^F6"H%((UFO##O  s   B% %B32B3c                     	 t        | d      }	 t        |j                        \  }}|j                  d       t	        ||d      }d|_        |S #  |j                           xY w)Nrbr   T)line_bufferingr3   )_builtin_openr   r   seekr   modeclose)r   bufferr\   linestexts        r   r   r     sd     8T*F)&//:%AVXdC	s   ?A A"c              #      K   	 t        |       \  }}t        j                  |t        | d            }||dk(  rd}t	        t
        |ddd       t        |j                  |d      E d {    y 7 w)Nr   r   r   )r   r   r8   Textra_tokens)r   r9   r   r~   r   r   !_generate_tokens_from_c_tokenizer__next__)r   r\   consumedrl_gens       r   r	   r	     sr     $ )2HhhXs(;<F{"H(FFB??0(Y]^^^s   A)A3+A1,A3c                     	 t        | d      S )NTr   )r   r   s    r   r
   r
     s    
 -XDIIr   c                  R   dd l } d dfd	}| j                  d      }|j                  dddd	
       |j                  ddddd       |j                         }	 |j                  r@|j                  }t        |d      5 }t        t        |j                              }d d d        n'd}t        t        j                  j                  d      }D ]g  }|j                  }|j                  r|j                  }d|j                  |j                   z   z  }	t#        |	dt$        |   d|j&                  d       i y # 1 sw Y   vxY w# t(        $ r8}
|
j*                  d   dd \  }} ||
j*                  d   ||f       Y d }
~
y d }
~
wt,        $ r5}
|
j*                  d   \  }} ||
j*                  d   ||f       Y d }
~
y d }
~
wt.        $ r}
 ||
       Y d }
~
y d }
~
wt0        $ r}
 ||
       Y d }
~
y d }
~
wt2        $ r t#        d       Y y t4        $ r}
 d|
z          d }
~
ww xY w)Nr   c                     t         j                  j                  |        t         j                  j                  d       y )N
)sysstderrwrite)messages    r   perrorzmain.<locals>.perror  s&    

!

r   c                     |r|f|z   | fz   } d|z         n|r |d|        n d| z         t        j                  d       y )Nz%s:%d:%d: error: %sz	: error: z	error: %srW   )r   exit)r   r   locationargsr   s       r   errorzmain.<locals>.error  sO    ;)WJ6D(4/0h89;()r   zpython -m tokenize)progr   r/   zfilename.pyz'the file to tokenize; defaults to stdin)destnargsmetavarhelpz-ez--exactexact
store_truez(display token names using the exact type)r   actionr   r   z<stdin>Tr   z%d,%d-%d,%d:2015rW   r   zinterrupted
zunexpected error: %s)NN)argparseArgumentParseradd_argument
parse_argsr   r   listr	   r   r   r   stdinr   r   r   rc   r   printr   r   IndentationErrorr   rO   r   OSErrorKeyboardInterrupt	Exception)r   r   parserr   r   r5   rX   rw   
token_typetoken_rangeerrr   columnr   s                @r   mainr	    s    $$*>$?F
Zs -F  H iglG  ID"==}}Hx. 4!hqzz234 4 !H6		""7F
  	EEJzz"--
(EKK%)),CDK 4ellD E	E4 4   5xx{1Q'fchhqk8dF^44 5xx{fchhqk8dF^44 c8 c

 o %+,sg   $E	 D= BE	 =EE	 		H&.FH&+GH&	GH&'G44H&H&H!!H&c                     	 d| v ry| S )Nz)unterminated triple-quoted string literalzEOF in multi-line stringr"   )r   s    r   _transform_msgr  /  s    
 3c9)Jr   c              #   l  K   	 |t        j                  | |      }nt        j                  | ||      }	 |D ]  }t        j                  |        y # t        $ rR}t        |      t        k7  r|d t        |j                        }t        ||j                  |j                  f      d d }~ww xY ww)Nr   )r\   r   )	_tokenizeTokenizerIterr   _maker   r   r  r   rO   linenooffset)sourcer\   r   r   infoer   s          r   r   r   9  s     a$$V,G$$Vh\Z> 	(D//$''	( >7k!QUU#qxx23=	>s)   4B4A B4	B1AB,,B11B4__main__)NF)V
__author____credits__builtinsr   r   codecsr   r   collections	functoolsior   	itertoolsr9   rE   r   rw   r   r  rF   ASCIIr   r   __all__
namedtupler   r*   r-   r0   
WhitespaceCommentIgnoreName	Hexnumber	Binnumber	Octnumber	Decnumber	IntnumberExponent
PointfloatExpfloatFloatnumber
ImagnumberNumberrC   	lru_cacherI   StringPrefixSingleDoubleSingle3Double3TripleStringmapescapesortedSpecialFunny
PlainTokenTokenContStrPseudoExtrasPseudoTokenendpats_prefixsetsingle_quotedtriple_quotedrA   r4   r=   tabsizer  rO   rS   rU   r   r   r   r	   r
   r	  r  r   r   r"   r   r   <module>rH     s  , *
 + #     	 
  # BJJ@"((K	2::0"((; 
-- 6 6	&&&{4PQ  : / 1 

	c*z12	2U7^	C&		 	.	)Y	9=	(?)+-28_=
(*J)+[7-BC
	z;		2 ( (
 *,- 
$	#
2
2	|e#\E%9	:	|====
? RYY'8$ GH
Ih 65&$/
 ==c:&'==c:&'( ]GV45vugtLL
 #% 'G#GGcM#GGcM&GGeO&GGeO	'
  		 A#gq3w !%iU# !
 q
 ! ! &Y %P$ P$f6	Z$z_8J=~>  zF r   