+
    i-              	      <  a  0 t $ ^ RIHt ^ RIt^ RIt^ RIHt ^ RIHtH	t	H
t
 ^RIHt ] ! R R4      4       t ! R R	]4      t/ R
]P                   ! R4      bR]P                   ! R4      bR]P                   ! R4      bR]P                   ! R4      bR]P                   ! R4      bR]P                   ! R4      bR]P                   ! R]P"                  4      bR]P                   ! R4      bR]P                   ! R4      bR]P                   ! R4      bR]P                   ! R4      bR ]P                   ! R!]P"                  4      bR"]P                   ! ]P$                  ]P&                  ,           ]P"                  ]P(                  ,          4      bR#]P                   ! R$4      bR%]P                   ! R&4      bR']P                   ! R(4      bR)]P                   ! R*4      bR+]P                   ! R,4      R-]P                   ! R.4      R/]P                   ! R04      /CtR1]R2&    ! R3 R44      tR# )5    )annotationsN)	dataclass)	GeneratorMappingNoReturn)	Specifierc                  6    ] tR t^t$ R]R&   R]R&   R]R&   RtR# )Tokenstrnametextintposition N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r       g/home/wkmabra/.openclaw/workspace/venv/lib/python3.14/site-packages/pip/_vendor/packaging/_tokenizer.pyr
   r
      s    
I
IMr   r
   c                  >   a  ] tR t^tRtR V 3R lltR R ltRtV ;t# )ParserSyntaxErrorz7The provided source text could not be parsed correctly.c               (    V ^8  d   QhRRRRRRRR/# )   messager   sourcespanztuple[int, int]returnNoner   )formats   "r   __annotate__ParserSyntaxError.__annotate__   s2       	
  
r   c               	H   < W0n         Wn        W n        \        SV `  4        R # N)r   r   r   super__init__)selfr   r   r   	__class__s   &&$$r   r(   ParserSyntaxError.__init__   s     	r   c                   V ^8  d   QhRR/# )r   r    r   r   )r"   s   "r   r#   r$   "   s     B B Br   c                	    R V P                   ^ ,          ,          RV P                   ^,          V P                   ^ ,          ,
          ,          ,           R,           pV P                   RV P                   RV 2# ) ~^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   __doc__r(   r2   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\.\*VERSION_LOCAL_LABEL_TRAILz\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*WSz[ \t]+END$zdict[str, re.Pattern[str]]DEFAULT_RULESc                      ] tR t^[tRtR R ltR R ltRR/R R	 lltR
 R ltR R lt	RRRR/R R llt
]P                  R R l4       tRtR# )	TokenizerzxContext-sensitive token parsing.

Provides methods to examine the input stream to check whether the next token
matches.
c               $    V ^8  d   QhRRRRRR/# )r   r   r   ruleszMapping[str, re.Pattern[str]]r    r!   r   )r"   s   "r   r#   Tokenizer.__annotate__b   s(     	 		 -		
 
	r   c               	:    Wn         W n        R V n        ^ V n        R # r&   )r   rQ   
next_tokenr   )r)   r   rQ   s   &&$r   r(   Tokenizer.__init__b   s     
(,r   c                    V ^8  d   QhRRRR/# )r   r   r   r    r!   r   )r"   s   "r   r#   rR   m   s      C D r   c                X    V P                  V4      '       d   V P                  4        R# R# )z8Move beyond provided token name, if at current position.N)checkread)r)   r   s   &&r   consumeTokenizer.consumem   s    ::dIIK r   peekFc               $    V ^8  d   QhRRRRRR/# )r   r   r   r\   boolr    r   )r"   s   "r   r#   rR   r   s!      #   r   c               \   V P                   e   Q RV: RV P                   : 24       hWP                  9   g   Q RV: 24       hV P                  V,          pVP                  V P                  V P                  4      pVf   R# V'       g#   \        W^ ,          V P                  4      V n         R# )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: FT)rT   rQ   matchr   r   r
   )r)   r   r\   
expressionr`   s   &&$  r   rX   Tokenizer.checkr   s     & 	
xt6IJ	
& zz!B%9$#BB!ZZ%
  dmm<=#D(DMMBDOr   c               $    V ^8  d   QhRRRRRR/# )r   r   r   expectedr    r
   r   )r"   s   "r   r#   rR      s!      3 S U r   c               x    V P                  V4      '       g   V P                  RV 24      hV P                  4       # )zcExpect a certain token name next, failing with a syntax error otherwise.

The token is *not* read.
z	Expected )rX   raise_syntax_errorrY   )r)   r   rd   s   &&$r   expectTokenizer.expect   s7    
 zz$))IhZ*@AAyy{r   c                   V ^8  d   QhRR/# )r   r    r
   r   )r"   s   "r   r#   rR      s      e r   c                    V P                   pVf   Q hV ;P                  \        VP                  4      ,          un        RV n         V# )z%Consume the next token and return it.N)rT   r   lenr   )r)   tokens   & r   rY   Tokenizer.read   s9       UZZ(r   
span_startNspan_endc               (    V ^8  d   QhRRRRRRRR/# )r   r   r   rn   z
int | Nonero   r    r   r   )r"   s   "r   r#   rR      s2     
 

 	

 
 

r   c               z    Vf   V P                   MTVf   V P                   MT3p\        VV P                  VR7      h)z.Raise ParserSyntaxError at the given position.)r   r   )r   r   r   )r)   r   rn   ro   r   s   &&$$ r   rf   Tokenizer.raise_syntax_error   sC     (/DMMZ%-DMM8
  ;;
 	
r   c               (    V ^8  d   QhRRRRRRRR/# )r   
open_tokenr   close_tokenaroundr    zGenerator[None, None, None]r   )r"   s   "r   r#   rR      s,      ,/<?	$r   c             #  	  "   V P                  V4      '       d   V P                  pV P                  4        MR pR x  Vf   R # V P                  V4      '       g   V P                  RV RV RV 2VR7       V P                  4        R # 5i)NzExpected matching z for z, after )rn   )rX   r   rY   rf   )r)   rt   ru   rv   open_positions   &&&$ r   enclosing_tokensTokenizer.enclosing_tokens   s      ::j!! MMMIIK M zz+&&##$[Mzl(6(S( $ 
 			s   AB.B)rT   r   rQ   r   )r   r   r   r   r4   r(   rZ   rX   rg   rY   rf   
contextlibcontextmanagerry   r   r   r   r   rO   rO   [   sZ    	
u *
 "&	

  $
$  r   rO   )__conditional_annotations__
__future__r   r{   redataclassesr   typingr   r   r   
specifiersr   r
   	Exceptionr   compileVERBOSE_operator_regex_str_version_regex_str
IGNORECASErM   r   rO   )r}   s   @r   <module>r      sB   " "  	 ! / / !   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
	2::da1-) 1hf fr   