ó
    áÅŸg^*  ã                   ó4  • S r SrSS/rSSKrSSKrSSKrSSKrSSKrSSKJ	r	J
r
  SSKJr  SSKJrJr  SS	KJr  SS
KJrJrJrJrJr  SSKJr  SSKJr  SSKJr  SSKJrJrJ r J!r!J"r"  \\#S4   r$\ " S S5      5       r% " S S5      r& " S S5      r'S(S\$S\\$   S\#4S jjr(     S)S\#S\\#   S\)S\)S\\   S\4S jjr*S\#S \#S\)4S! jr+ S(S"\#S#\#S\\$   S\R0                  4S$ jjr,S%\#S\)4S& jr-\.S':X  a#  \R^                  " \0" \-" 5       (       + 5      5        gg)*zZParser driver.

This provides a high-level interface to parse a file into a syntax tree.

z#Guido van Rossum <guido@python.org>ÚDriverÚload_grammaré    N)ÚIterableÚIterator)Úcontextmanager)Ú	dataclassÚfield)ÚLogger)ÚIOÚAnyÚOptionalÚUnionÚcast)ÚGrammar)ÚGoodTokenInfo)ÚNLé   )ÚgrammarÚparseÚpgenÚtokenÚtokenizezos.PathLike[str]c                   óZ   • \ rS rSr% \\S'   Sr\\   \S'   \" \	S9r
\	\   \S'   S	S jrSrg)
ÚReleaseRangeé(   ÚstartNÚend)Údefault_factoryÚtokensc                 óV   • [        U R                  5      nU R                  U-   U l        g ©N)Úlenr   r   r   )ÚselfÚtotal_eatens     ÚV/var/www/blue/EV-Temp_rev04/venv/lib/python3.13/site-packages/blib2to3/pgen2/driver.pyÚlockÚReleaseRange.lock.   s    € Ü˜$Ÿ+™+Ó&ˆØ—:‘: Ñ+ˆ�ó    )r   )ÚreturnN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚintÚ__annotations__r   r   r	   Úlistr   r   r&   Ú__static_attributes__© r(   r%   r   r   (   s-   ‡ àƒJØ€Cˆ�#‰ÓÙ¨dÑ3€FˆD�‰IÓ3÷,r(   r   c                   ó€   • \ rS rSrS\SS4S jr\S\S    4S j5       rS\	S\4S jr
SS	 jrS\4S
 jrS\	S\4S jrSrg)Ú
TokenProxyé3   Ú	generatorr)   Nc                 ó,   • Xl         SU l        / U l        g )Nr   )Ú_tokensÚ_counterÚ_release_ranges)r#   r6   s     r%   Ú__init__ÚTokenProxy.__init__4   s   € Ø ŒØˆŒØ35ˆÕr(   c              #   óÀ   #   • [        U R                  5      nU R                  R                  U5         U v •  UR	                  5         g ! UR	                  5         f = f7fr!   )r   r9   r:   Úappendr&   )r#   Úrelease_ranges     r%   ÚreleaseÚTokenProxy.release9   sK   é € ä$ T§]¡]Ó3ˆØ×Ñ×#Ñ# MÔ2ð	!ØŠJð ×ÑÕ øˆM×ÑÕ üs   ‚1A´A	 ¸AÁ	AÁAÚpointc                 óê   • U R                   S   R                  nU[        U5      :  a  X!   $ U[        U5      :¼  a7  [        U R                  5      nUR                  U5        U[        U5      :¼  a  M7  W$ )Néÿÿÿÿ)r:   r   r"   Únextr8   r>   )r#   rB   Úeaten_tokensr   s       r%   ÚeatÚTokenProxy.eatD   sm   € Ø×+Ñ+¨BÑ/×6Ñ6ˆØ”3�|Ó$Ó$ØÑ&Ð&àœ3˜|Ó,Ó,Ü˜TŸ\™\Ó*�Ø×#Ñ# EÔ*ð œ3˜|Ó,Õ,ð ˆLr(   c                 ó   • U $ r!   r2   )r#   s    r%   Ú__iter__ÚTokenProxy.__iter__N   s   € Øˆr(   c                 ó<  • U R                    Ha  nUR                  c   eUR                  UR                  p2X R                  s=::  a  U:  d  MA  O  ME  UR                  U R                  U-
     n  O   [        U R                  5      nU =R                  S-  sl        U$ )Nr   )r:   r   r   r9   r   rE   r8   )r#   r?   r   r   r   s        r%   Ú__next__ÚTokenProxy.__next__Q   sŠ   € ð "×1Ô1ˆMØ ×$Ñ$Ñ0Ð0Ð0à&×,Ñ,¨m×.?Ñ.?�3ØŸ™Õ+¨×+Ñ+Ø%×,Ñ,¨T¯]©]¸UÑ-BÑC�Ùñ 2ô ˜Ÿ™Ó&ˆEØ�Š˜Ñ�Øˆr(   Útoc                 óH   •  U R                  U5        g! [         a     gf = f)NTF)rG   ÚStopIteration)r#   rO   s     r%   Úcan_advanceÚTokenProxy.can_advancea   s+   € ð	Ø�H‰H�RŒLð øô ó 	Ùð	ús   ‚ ”
! !)r9   r:   r8   )r)   r4   )r*   r+   r,   r-   r   r;   r   r   r@   r.   rG   rJ   rM   ÚboolrR   r1   r2   r(   r%   r4   r4   3   sl   † ð6 #ð 6¨$ô 6ð
 ð!˜ ,Ñ/ó !ó ð!ð˜ð  ô ôð˜#ô ð ˜cð  d÷ r(   r4   c            	       óô   • \ rS rSrSS\S\\   SS4S jjrSS\\	   S\
S\4S	 jjrSS
\\   S\
S\4S jjrSS
\\   S\
S\4S jjr SS\S\\   S\
S\4S jjrSS\S\
S\4S jjrS\S\S\\\4   4S jrSrg)r   él   Nr   Úloggerr)   c                 óV   • Xl         Uc  [        R                  " [        5      nX l        g r!   )r   ÚloggingÚ	getLoggerr*   rW   )r#   r   rW   s      r%   r;   ÚDriver.__init__m   s!   € ØŒØ‰>Ü×&Ò&¤xÓ0ˆFØ�r(   r   Údebugc                 ó>  • [        U5      n[        R                  " U R                  5      nUR	                  US9  SnSn/ nS=n=n	=n
=p¼SnU GH  nUu  p‰p«nX¥U4:w  a8  XV4U
::  d
   XV4U
45       eU
u  nnX_:  a  USXõ-
  -  -  nUnSnUU:  a	  XÜUU -  nUnU[
        R                  [
        R                  4;   a'  XÙ-  nUu  pVU	R                  S5      (       a  US-  nSnM”  U[        R                  :X  a  [        R                  U	   nU(       a3  Uc   eU R                  R                  S[        R                  U   X�5        U[        R                  :X  a#  UR!                  [#        U	5      5        XÙ-   nSnSn	O9U[        R$                  :X  a%  UR'                  5       nU R)                  UU5      u  nnUR+                  [-        [.        U5      X�U
45      (       a$  U(       a  U R                  R                  S5          O†SnU[        R                  [        R$                  1;   a  WnUu  pVU	R                  S5      (       d  GMõ  U[        R0                  :w  d  GM  US-  nSnGM     U
c   e[        R2                  " S	X‰XÚ45      eUR4                  c   eUR4                  $ )
z4Parse a series of tokens and return the syntax tree.)Úproxyr   r   NÚ Ú
z%s %r (prefix=%r)zStop.zincomplete input)r4   r   ÚParserr   Úsetupr   ÚCOMMENTr   Úendswithr   ÚOPÚopmaprW   r\   Útok_nameÚINDENTr>   r"   ÚDEDENTÚpopÚ_partially_consume_prefixÚaddtokenr   r.   ÚFSTRING_MIDDLEÚ
ParseErrorÚrootnode)r#   r   r\   r^   ÚpÚlinenoÚcolumnÚindent_columnsÚtypeÚvaluer   r   Ú	line_textÚprefixÚ	quintupleÚs_linenoÚs_columnÚ_prefixÚ_indent_cols                      r%   Úparse_tokensÚDriver.parse_tokenss   s˜  € ô ˜6Ó"ˆä�LŠL˜Ÿ™Ó&ˆØ	�‰�eˆÑàˆØˆØ$&ˆØ15Ð5ˆÐ5ˆuÐ5�uÐ5˜sØˆäˆIØ1:Ñ.ˆD˜ YØ Ð(Ó(ØÐ'¨5Ó0ÐK°FÐ3CÀUÐ2KÓKÐ0Ø%*Ñ"�˜(ØÓ$Ø˜d hÑ&7Ñ8Ñ8�FØ%�FØ�FØ˜HÓ$Ø¨¨xÐ8Ñ8�FØ%�FØœ×(Ñ(¬(¯+©+Ð6Ó6Ø‘�Ø!$‘�Ø—>‘> $×'Ñ'Ø˜a‘K�FØ�FÙØ”u—x‘xÓÜ—}‘} UÑ+�ÞØÑ'Ð'Ð'Ø—‘×!Ñ!Ø'¬¯©¸Ñ)=¸uôð ”u—|‘|Ó#Ø×%Ñ%¤c¨%£jÔ1Ø ™.�Ø�Ø‘ØœŸ™Ó%Ø,×0Ñ0Ó2�Ø"&×"@Ñ"@ÀÈÓ"U‘�˜Ø�z‰zœ$œs D›/¨5¸5°/×BÑBÞØ—K‘K×%Ñ% gÔ.ÙØˆFØœŸ™¤e§l¡lÐ3Ó3Ø �Ø ‰NˆFð �~‰~˜d×#Ô#¨´×0DÑ0DÖ(DØ˜!‘�Ø“ñ] ðb Ñ$Ð$Ð$Ü×"Ò"Ð#5°tÀVÀOÓTÐTØ�z‰zÑ%Ð%Ð%Ø�z‰zÐr(   Ústreamc                 óv   • [         R                  " UR                  U R                  S9nU R	                  X25      $ )ú*Parse a stream and return the syntax tree.©r   )r   Úgenerate_tokensÚreadliner   r}   )r#   r   r\   r   s       r%   Úparse_stream_rawÚDriver.parse_stream_raw·   s-   € ä×)Ò)¨&¯/©/À4Ç<Á<ÑPˆØ× Ñ  Ó/Ð/r(   c                 ó$   • U R                  X5      $ )r�   )r…   )r#   r   r\   s      r%   Úparse_streamÚDriver.parse_stream¼   s   € à×$Ñ$ VÓ3Ð3r(   ÚfilenameÚencodingc                 ól   • [        XS9 nU R                  XC5      sSSS5        $ ! , (       d  f       g= f)z(Parse a file and return the syntax tree.)r‹   N)Úopenrˆ   )r#   rŠ   r‹   r\   r   s        r%   Ú
parse_fileÚDriver.parse_fileÀ   s(   € ô �(Ò.°&Ø×$Ñ$ VÓ3÷ /×.×.ús   Š%¥
3Útextc                 óž   • [         R                  " [        R                  " U5      R                  U R
                  S9nU R                  X25      $ )z*Parse a string and return the syntax tree.r‚   )r   rƒ   ÚioÚStringIOr„   r   r}   )r#   r�   r\   r   s       r%   Úparse_stringÚDriver.parse_stringÇ   s=   € ä×)Ò)Ü�KŠK˜Ó×&Ñ&°·±ñ
ˆð × Ñ  Ó/Ð/r(   rw   rr   c                 ó`  • / nSnSnSnU HŽ  nXG-  nU(       a]  US:X  aU  UR                  5       (       a'  XR:  a"  SR                  U5      nX�[        U5      S  4s  $ UR                  U5        SnSnSnMi  Mk  US;   a  US-  nMx  US:X  a  SnM‚  US:X  a  SnMŒ  SnM�     SR                  U5      U4$ )	Nr_   r   Fr`   z 	r   ÚT)ÚstripÚjoinr"   r>   )	r#   rw   rr   ÚlinesÚcurrent_lineÚcurrent_columnÚwait_for_nlÚcharÚress	            r%   rk   Ú Driver._partially_consume_prefixÎ   sÎ   € ØˆØˆØˆØˆÛˆDØÑ ˆLÞØ˜4“<Ø#×)Ñ)×+Ñ+°Ó0GØ Ÿg™g e›n˜Ø"¬3¨s«8¨:Ð$6Ð6Ò6à—L‘L Ô.Ø#%�LØ%&�NØ"'’Kñ  ð ˜“Ø !Ñ#’Ø˜“à!"’Ø˜“Ø!"’ð #’ñ+ ð, �w‰w�u‹~˜|Ð+Ð+r(   )r   rW   r!   )F)NF)r*   r+   r,   r-   r   r   r
   r;   r   r   rT   r   r}   r   Ústrr…   rˆ   ÚPathrŽ   r”   r.   Útuplerk   r1   r2   r(   r%   r   r   l   sï   † ñ ð °¸&Ñ1Að ÈTõ ñB 8¨MÑ#:ð BÀ4ð BÐTVõ BñH0 r¨#¡wð 0°tð 0Èõ 0ñ
4 2 c¡7ð 4°4ð 4ÀBõ 4ð
 MRñ4Øð4Ø(0°©ð4ØEIð4à	õ4ñ0 ð 0¨Tð 0¸bõ 0ð,°ð ,¸Sð ,ÀUÈ3ÐPSÈ8Á_÷ ,r(   ÚgtÚ	cache_dirr)   c                 óJ  • [         R                  R                  U 5      u  p#US:X  a  SnX#-   SR                  [	        [
        [        R                  5      5      -   S-   nU(       a=  [         R                  R                  U[         R                  R                  U5      5      $ U$ )Nz.txtr_   Ú.z.pickle)	ÚosÚpathÚsplitextr™   Úmapr¡   ÚsysÚversion_infoÚbasename)r¤   r¥   ÚheadÚtailÚnames        r%   Ú_generate_pickle_namer²   ì   sw   € Ü—‘×!Ñ! "Ó%�J€DØˆvƒ~ØˆØ‰;˜Ÿ™¤#¤c¬3×+;Ñ+;Ó"<Ó=Ñ=À	ÑI€DÞÜ�w‰w�|‰|˜I¤r§w¡w×'7Ñ'7¸Ó'=Ó>Ð>àˆr(   ÚgpÚsaveÚforcerW   c                 ód  • Uc  [         R                  " [        5      nUc  [        U 5      OUnU(       d  [	        X5      (       d4  [
        R                  " U 5      nU(       a   UR                  U5        U$  U$ [        R                  " 5       nUR                  U5        U$ ! [         a     U$ f = f)z'Load the grammar (maybe from a pickle).)rY   rZ   r*   r²   Ú_newerr   Úgenerate_grammarÚdumpÚOSErrorr   r   Úload)r¤   r³   r´   rµ   rW   Úgs         r%   r   r   ÷   s¤   € ð �~Ü×"Ò"¤8Ó,ˆØ&(¡jÔ	˜rÔ	"°b€BÞ”F˜2—N‘NÜ!×2Ò2°2Ó6ˆÞðØ—‘�r”
ð €Hð ð €Hô �OŠOÓˆØ	�‰ˆrŒ
Ø€Høô ó àð €Hðús   Á#B! Â!
B/Â.B/ÚaÚbc                 ó  • [         R                  R                  U 5      (       d  g[         R                  R                  U5      (       d  g[         R                  R                  U 5      [         R                  R                  U5      :¬  $ )z0Inquire whether file a was written since file b.FT)r¨   r©   ÚexistsÚgetmtime)r½   r¾   s     r%   r·   r·     sW   € ä�7‰7�>‰>˜!×ÑØÜ�7‰7�>‰>˜!×ÑØÜ�7‰7×Ñ˜AÓ¤"§'¡'×"2Ñ"2°1Ó"5Ñ5Ð5r(   ÚpackageÚgrammar_sourcec                 ó\  • [         R                  R                  U5      (       a  U(       a  [        X5      OSn[	        XS9$ [        [         R                  R                  U5      U5      n[        R                  " X5      nUc   e[        R                  " 5       nUR                  U5        U$ )a½  Normally, loads a pickled grammar by doing
    pkgutil.get_data(package, pickled_grammar)
where *pickled_grammar* is computed from *grammar_source* by adding the
Python version and using a ``.pickle`` extension.

However, if *grammar_source* is an extant file, load_grammar(grammar_source)
is called instead. This facilitates using a packaged grammar file when needed
but preserves load_grammar's automatic regeneration behavior when possible.

N)r³   )r¨   r©   Úisfiler²   r   r®   ÚpkgutilÚget_datar   r   Úloads)rÂ   rÃ   r¥   r³   Úpickled_nameÚdatar¼   s          r%   Úload_packaged_grammarrË     s…   € ô 
‡w�w‡~�~�n×%Ñ%ÞAJÔ" >Ô=ÐPTˆÜ˜NÑ2Ð2Ü(¬¯©×)9Ñ)9¸.Ó)IÈ9ÓU€LÜ×Ò˜GÓ2€DØÑÐÐÜ�ŠÓ€AØ‡G�GˆD„MØ€Hr(   Úargsc                  óÖ   • U (       d  [        [        R                  SS 5      n [        R                  " [        R
                  [        R                  SS9  U  H  n[        USSS9  M     g)zˆMain program, when run as a script: produce grammar pickle files.

Calls load_grammar for each argument, a path to a grammar text file.
r   Nz%(message)s)Úlevelr   ÚformatT)r´   rµ   )r£   r¬   ÚargvrY   ÚbasicConfigÚINFOÚstdoutr   )rÌ   r¤   s     r%   ÚmainrÔ   1  sN   € ö
 Ü”S—X‘X˜a˜b�\Ó"ˆÜ×ÒœgŸl™l´3·:±:ÀmÒTÛˆÜ�R˜d¨$Ô/ñ àr(   Ú__main__r!   )zGrammar.txtNTFN)1Ú__doc__Ú
__author__Ú__all__r’   rY   r¨   rÆ   r¬   Úcollections.abcr   r   Ú
contextlibr   Údataclassesr   r	   r
   Útypingr   r   r   r   r   Úblib2to3.pgen2.grammarr   Úblib2to3.pgen2.tokenizer   Úblib2to3.pytreer   r_   r   r   r   r   r   r¡   r¢   r   r4   r   r²   rT   r   r·   rË   rÔ   r*   Úexitr.   r2   r(   r%   Ú<module>rá      s‰  ðñð 3€
à�^Ð
$€ó 
Û Û 	Û Û 
ß .Ý %ß (Ý ß 1Õ 1å *Ý 1Ý ÷ 4Õ 3àˆSÐ$Ð$Ñ%€ð ÷,ð ,ó ð,÷6ñ 6÷r},ñ },ñ@˜dð ¨x¸©~ð Èõ ð ØØØØ#ñØðà�‰ðð ðð ð	ð
 �VÑðð õð26ˆcð 6�cð 6˜dô 6ð DHñØðØ"%ðØ2:¸4±.ðà‡_�_õð0
�ð 
˜ô 
ð ˆzÓØ‡H‚H‰S‘T“V”‹_Õð r(   