
    uvi-                        % S SK Jr  S SKrS SKrS SKJr  S SKJrJrJ	r	  SSK
Jr  \ " S S5      5       r " S	 S
\5      r0 S\R                  " S5      _S\R                  " S5      _S\R                  " S5      _S\R                  " S5      _S\R                  " S5      _S\R                  " S5      _S\R                  " S\R                   5      _S\R                  " S5      _S\R                  " S5      _S\R                  " S5      _S\R                  " S 5      _S!\R                  " S"\R                   5      _S#\R                  " \R"                  \R$                  -   \R                   \R&                  -  5      _S$\R                  " S%5      _S&\R                  " S'5      _S(\R                  " S)5      _S*\R                  " S+5      _\R                  " S,5      \R                  " S-5      \R                  " S.5      S/.ErS0\S1'    " S2 S35      rg)4    )annotationsN)	dataclass)	GeneratorMappingNoReturn   )	Specifierc                  4    \ rS rSr% S\S'   S\S'   S\S'   Srg)	Token   strnametextintposition N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r       B/root/pdf_env/lib/python3.13/site-packages/packaging/_tokenizer.pyr   r      s    
I
IMr   r   c                  J   ^  \ rS rSrSr        SU 4S jjrSS jrSrU =r$ )ParserSyntaxError   z7The provided source text could not be parsed correctly.c               F   > X0l         Xl        X l        [        TU ]  5         g )N)spanmessagesourcesuper__init__)selfr    r!   r   	__class__s       r   r#   ParserSyntaxError.__init__   s     	r   c                    SU R                   S   -  SU R                   S   U R                   S   -
  -  -   S-   nU R                   SU R                   SU 3$ )N r   ~r   ^z
    )r   r    r!   )r$   markers     r   __str__ParserSyntaxError.__str__"   sW    tyy|#cTYYq\DIIaL-H&IICO,,vdkk]&AAr   )r    r!   r   )r    r   r!   r   r   ztuple[int, int]returnNone)r.   r   )	r   r   r   r   __doc__r#   r,   r   __classcell__)r%   s   @r   r   r      s=    A 	
  
B Br   r   LEFT_PARENTHESISz\(RIGHT_PARENTHESISz\)LEFT_BRACKETz\[RIGHT_BRACKETz\]	SEMICOLON;COMMA,QUOTED_STRINGzk
            (
                ('[^']*')
                |
                ("[^"]*")
            )
        OPz(===|==|~=|!=|<=|>=|<|>)BOOLOPz\b(or|and)\bINz\bin\bNOTz\bnot\bVARIABLEa  
            \b(
                python_version
                |python_full_version
                |os[._]name
                |sys[._]platform
                |platform_(release|system)
                |platform[._](version|machine|python_implementation)
                |python_implementation
                |implementation_(name|version)
                |extras?
                |dependency_groups
            )\b
        	SPECIFIERATz\@URLz[^ \t]+
IDENTIFIERz\b[a-zA-Z0-9][a-zA-Z0-9._-]*\bVERSION_PREFIX_TRAILz\.\*z\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*z[ \t]+$)VERSION_LOCAL_LABEL_TRAILWSENDzdict[str, re.Pattern[str]]DEFAULT_RULESc                      \ rS rSrSr      SS jrSS jrSS.SS jjrSS jrSS	 jr	S
S
S.       SS jjr
\R                          SS j5       rSrg
)	Tokenizer[   zxContext-sensitive token parsing.

Provides methods to examine the input stream to check whether the next token
matches.
c               8    Xl         X l        S U l        SU l        g )Nr   )r!   rules
next_tokenr   )r$   r!   rN   s      r   r#   Tokenizer.__init__b   s     
(,r   c                R    U R                  U5      (       a  U R                  5         gg)z8Move beyond provided token name, if at current position.N)checkread)r$   r   s     r   consumeTokenizer.consumem   s    ::dIIK r   F)peekc               @   U R                   b   SU< SU R                   < 35       eXR                  ;   d   SU< 35       eU R                  U   nUR                  U R                  U R                  5      nUc  gU(       d  [        XS   U R                  5      U l         g)zCheck whether the next token has the provided name.

By default, if the check succeeds, the token *must* be read before
another check. If `peek` is set to `True`, the token is not loaded and
would need to be checked again.
zCannot check for z, already have zUnknown token name: Fr   T)rO   rN   matchr!   r   r   )r$   r   rV   
expressionrX   s        r   rR   Tokenizer.checkr   s     & 	
xt6IJ	
& zz!B%9$#BB!ZZ%
  dmm<=#D(DMMBDOr   c               v    U R                  U5      (       d  U R                  SU 35      eU R                  5       $ )zcExpect a certain token name next, failing with a syntax error otherwise.

The token is *not* read.
z	Expected )rR   raise_syntax_errorrS   )r$   r   expecteds      r   expectTokenizer.expect   s7    
 zz$))IhZ*@AAyy{r   c                    U R                   nUc   eU =R                  [        UR                  5      -  sl        SU l         U$ )z%Consume the next token and return it.N)rO   r   lenr   )r$   tokens     r   rS   Tokenizer.read   s9       UZZ(r   N)
span_startspan_endc               p    Uc  U R                   OUUc  U R                   OU4n[        UU R                  US9e)z.Raise ParserSyntaxError at the given position.)r!   r   )r   r   r!   )r$   r    rd   re   r   s        r   r\   Tokenizer.raise_syntax_error   sC     (/DMMZ%-DMM8
  ;;
 	
r   c             #    #    U R                  U5      (       a  U R                  nU R                  5         OS nS v   Uc  g U R                  U5      (       d  U R                  SU SU SU 3US9  U R                  5         g 7f)NzExpected matching z for z, after )rd   )rR   r   rS   r\   )r$   
open_tokenclose_tokenaroundopen_positions        r   enclosing_tokensTokenizer.enclosing_tokens   s      ::j!! MMMIIK M zz+&&##$[Mzl(6(S( $ 
 			s   A>B )rO   r   rN   r!   )r!   r   rN   zMapping[str, re.Pattern[str]]r.   r/   )r   r   r.   r/   )r   r   rV   boolr.   ro   )r   r   r]   r   r.   r   )r.   r   )r    r   rd   
int | Nonere   rp   r.   r   )ri   r   rj   r   rk   r   r.   zGenerator[None, None, None])r   r   r   r   r0   r#   rT   rR   r^   rS   r\   
contextlibcontextmanagerrm   r   r   r   r   rK   rK   [   s    		 -		
 
	
 05 * "&#

 	

 
 

$ ,/<?	$ r   rK   )
__future__r   rq   redataclassesr   typingr   r   r   
specifiersr	   r   	Exceptionr   compileVERBOSE_operator_regex_str_version_regex_str
IGNORECASErI   r   rK   r   r   r   <module>r~      s8   "  	 ! / / !   B	 B*1-

5)1-E*1- BJJu%1- RZZ&	1-
 D!1- RZZ1- RZZ	 	

	1-" 	"**0
1#1-$ bjj)%1-& 	"**Y
'1-( 
2::j!)1-* 

	 	

+1-L %%	(D(DD


R]]"M1-T 	"**U
U1-V 
2::j!W1-X "**>?Y1-Z BJJw/[1-\ "$,N!O
**Y
::da1-) 1hf fr   