+
    TBi@(              	         ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIHt ^RIH	t
 ^RIHtHtHtHtHt  ! R R]
P"                  ]
P$                  ]
P&                  ]
P(                  ]
P*                  4      t]! ]P.                  4      t]P2                  ! R],           R	,           4      t ! R
 R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t R# )    )annotationsN)cached_property)pyparsing_unicode)_collapse_string_to_rangescollinelinenoreplaced_by_pep8c                      ] tR t^tRtR# )_ExceptionWordUnicodeSet N)__name__
__module____qualname____firstlineno____static_attributes__r       9/usr/lib/python3.14/site-packages/pyparsing/exceptions.pyr   r      s     	r   r   z([z
]{1,16})|.c                     ] tR t^t$ RtR]R&   R]R&   R]R&   R]R&   R	]R
&   R,tR-R R llt]R.R R ll4       t	]
R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R R l4       t]R 4       t]P(                  R 4       tR tR R  ltR! R" ltR# tR/R$R%/R& R' llltR.R( R) llt]! R*]4      tR+tR# )0ParseBaseExceptionz7base exception class for all parsing runtime exceptionsintlocstrmsgpstrz
typing.Anyparser_elementz%tuple[str, int, typing.Optional[str]]argsNc               (    V ^8  d   QhRRRRRRRR/# )	   r   r   r   r   r   typing.Optional[str]returnNoner   )formats   "r   __annotate__ParseBaseException.__annotate__1   s2     % %% % "	% 
%r   c                	V    Vf   TRrW n         W0n        Wn        W@n        WV3V n        R # )N r   r   r   r   r   )selfr   r   r   elems   &&&&&r   __init__ParseBaseException.__init__1   s1     ;b	"$	r   c               $    V ^8  d   QhRRRRRR/# )r   exc	Exceptiondepthr   r!   r   r   )r#   s   "r   r$   r%   B   s!     = =y = =c =r   c                   ^ RI p^RIHp Vf   \        P                  ! 4       p. p\        V \        4      '       d<   VP                  V P                  4       VP                  RRV P                   2 4       VP                  \        V 4      P                   RV  24       V^ 8:  g   V P                  f   RP                  V4      # VP                  V P                  VR7      p\        4       pWQ) R  EFT  pV^ ,          pVP                   P#                  RR4      p	\        W4      '       d   VP$                  P&                  P)                  R4      '       g   Kg  \+        V	4      V9   d   Ky  VP-                  \+        V	4      4       \        V	4      p
VP                  V
P.                   R	V
P                   R
V	 24       MuV	e7   \        V	4      p
VP                  V
P.                   R	V
P                   24       M;VP$                  pVP&                  R9   d   EK&  VP                  VP&                  4       V^,          pV'       d   EKU   M	  RP                  V4      # )a  
Method to take an exception and translate the Python internal traceback into a list
of the pyparsing expressions that caused the exception to be raised.

Parameters:

- exc - exception raised during parsing (need not be a ParseException, in support
  of Python exceptions that might be raised in a parse action)
- depth (default=16) - number of levels back in the stack trace to list expression
  and function names; if None, the full stack trace names will be listed; if 0, only
  the failing input line, marker, and exception string will be shown

Returns a multi-line string listing the ParserElements and/or function names in the
exception's stack trace.
N)ParserElement^>z: 
)contextr)   .z - )	parseImpl_parseNoCache)wrapperz<module>)inspectcorer2   sysgetrecursionlimit
isinstancer   appendr   columntyper   __traceback__joingetinnerframessetf_localsgetf_codeco_name
startswithidaddr   )r.   r0   r;   r2   retcallersseenfffrmf_self	self_typecodes   &&          r   explain_exception$ParseBaseException.explain_exceptionA   s   " 	'=))+Ec-..JJsxx JJ#a

|^,.

d3i(()C512A:**299S>!(():):E(J&'"BQ%C\\%%fd3F&00zz))445STTf:%F$ L	

i2231Y5G5G4HF8TU# L	

i2231Y5G5G4HIJ zz<<#::

4<<(QJE57 #: yy~r   c                   V ^8  d   QhRR/# )r   r!   r   r   )r#   s   "r   r$   r%      s     ? ?$6 ?r   c                h    V ! VP                   VP                  VP                  VP                  4      # )z
internal factory method to simplify creating one type of ParseException
from another - avoids having __init__ signature conflicts among subclasses
)r   r   r   r   )clspes   &&r   _from_exception"ParseBaseException._from_exception   s'     277BFFBFFB,=,=>>r   c                   V ^8  d   QhRR/# r   r!   r   r   )r#   s   "r   r$   r%      s     ) )c )r   c                B    \        V P                  V P                  4      # )z7
Return the line of text where the exception occurred.
)r   r   r   r)   s   &r   r   ParseBaseException.line   s    
 DHHdii((r   c                   V ^8  d   QhRR/# r   r!   r   r   )r#   s   "r   r$   r%      s     + + +r   c                B    \        V P                  V P                  4      # )zF
Return the 1-based line number of text where the exception occurred.
)r	   r   r   ra   s   &r   r	   ParseBaseException.lineno   s    
 dhh		**r   c                   V ^8  d   QhRR/# rd   r   )r#   s   "r   r$   r%      s     ( (S (r   c                B    \        V P                  V P                  4      # zM
Return the 1-based column on the line of text where the exception occurred.
r   r   r   ra   s   &r   r   ParseBaseException.col       
 488TYY''r   c                   V ^8  d   QhRR/# rd   r   )r#   s   "r   r$   r%      s     ( ( (r   c                B    \        V P                  V P                  4      # ri   rj   ra   s   &r   rA   ParseBaseException.column   rl   r   c                   V ^8  d   QhRR/# r_   r   )r#   s   "r   r$   r%      s     5 5s 5r   c                	   V P                   '       g   R # V P                  \        V P                   4      8  d   R# \        P	                  V P                   V P                  4      pVe   VP                  ^ 4      pM*V P                   V P                  V P                  ^,            p\        V4      P                  RR4      # )r'   zend of textz\\\)r   r   len_exception_word_extractormatchgroupreprreplace)r)   found_match
found_texts   &  r   foundParseBaseException.found   s    yyy88s499~%  055diiJ"$**1-J488dhhl;JJ''t44r   c                	    V P                   # Nr   ra   s   &r   parserElement ParseBaseException.parserElement   s    """r   c                	    Wn         R # r~   r   )r)   r*   s   &&r   r   r      s    "r   c                	.    \         P                   ! V 4      # r~   )copyra   s   &r   r   ParseBaseException.copy   s    yyr   c                   V ^8  d   QhRR/# r_   r   )r#   s   "r   r$   r%      s     j j3 jr   c           	         V P                   '       d   RV P                    2MRpV P                   V RV P                   RV P                   RV P                   R2	# )z
Output the formatted exception message.
Can be overridden to customize the message formatting or contents.

.. versionadded:: 3.2.0
z, found r'   z  (at char z	), (line:z, col:))r{   r   r   r	   rA   )r)   found_phrases   & r   formatted_message$ParseBaseException.formatted_message   sW     37***$**."((L>TXXJi}TZ[_[f[fZgghiir   c                   V ^8  d   QhRR/# r_   r   )r#   s   "r   r$   r%      s     ( ( (r   c                "    V P                  4       # )zT
.. versionchanged:: 3.2.0
   Now uses :meth:`formatted_message` to format message.
)r   ra   s   &r   __str__ParseBaseException.__str__   s    
 %%''r   c                	    \        V 4      # r~   )r   ra   s   &r   __repr__ParseBaseException.__repr__   s    4yr   markerStringz>!<c               $    V ^8  d   QhRRRRRR/# )r   marker_stringr    r   r   r!   r   )r#   s   "r   r$   r%      s$        1 KN 	 r   c                   Ve   TMTpV P                   pV P                  ^,
          pV'       d   VRV  V W4R  2pVP                  4       # )zs
Extracts the exception line from the input string, and marks
the location of the exception with a special symbol.
N)r   rA   strip)r)   r   r   line_strline_columns   &&$  r   mark_input_line"ParseBaseException.mark_input_line   sV     )6(A}|99kkAo"<K01,@V?WXH~~r   c                    V ^8  d   QhRRRR/# )r   r0   r   r!   r   r   )r#   s   "r   r$   r%      s     +3 +3S +3# +3r   c                $    V P                  W4      # )a  
Method to translate the Python internal traceback into a list
of the pyparsing expressions that caused the exception to be raised.

Parameters:

- depth (default=16) - number of levels back in the stack trace to list expression
  and function names; if None, the full stack trace names will be listed; if 0, only
  the failing input line, marker, and exception string will be shown

Returns a multi-line string listing the ParserElements and/or function names in the
exception's stack trace.

Example:

.. testcode::

    # an expression to parse 3 integers
    expr = pp.Word(pp.nums) * 3
    try:
        # a failing parse - the third integer is prefixed with "A"
        expr.parse_string("123 456 A789")
    except pp.ParseException as pe:
        print(pe.explain(depth=0))

prints:

.. testoutput::

    123 456 A789
            ^
    ParseException: Expected W:(0-9), found 'A789'  (at char 8), (line:1, col:9)

Note: the diagnostic output will include string representations of the expressions
that failed to parse. These representations will be more helpful if you use `set_name` to
give identifiable names to your expressions. Otherwise they will use the default string
forms, which may be cryptic to read.

Note: pyparsing's default truncation of exception tracebacks may also truncate the
stack of expressions that are displayed in the ``explain`` output. To get the full listing
of parser expressions, you may have to set ``ParserElement.verbose_stacktrace = True``
)rV   )r)   r0   s   &&r   explainParseBaseException.explain   s    V %%d22r   markInputline)r   r   r   r   r   r(   )r   NN)   r~   )r   r   r   r   __doc____annotations__	__slots__r+   staticmethodrV   classmethodr\   r   r   r	   r   rA   r{   propertyr   setterr   r   r   r   r   r   r
   r   r   r   r   r   r   r      s"   A	H	H
I
//I%  = =~ ? ? ) ) + + ( ( ( ( 5 5" # # # #j( QV   +3^ %_oFMr   r   c                      ] tR tRtRtRtR# )ParseExceptioni  am  
Exception thrown when a parse expression doesn't match the input string

Example:

.. testcode::

    integer = Word(nums).set_name("integer")
    try:
        integer.parse_string("ABC")
    except ParseException as pe:
        print(pe, f"column: {pe.column}")

prints:

.. testoutput::

   Expected integer, found 'ABC'  (at char 0), (line:1, col:1) column: 1

r   Nr   r   r   r   r   r   r   r   r   r   r     s    r   r   c                      ] tR tRtRtRtR# )ParseFatalExceptioni.  zi
User-throwable exception thrown when inconsistent parse content
is found; stops all parsing immediately
r   Nr   r   r   r   r   r   .  s    r   r   c                      ] tR tRtRtRtR# )ParseSyntaxExceptioni5  z
Just like :class:`ParseFatalException`, but thrown internally
when an :class:`ErrorStop<And._ErrorStop>` ('-' operator) indicates
that parsing is to stop immediately because an unbacktrackable
syntax error has been found.
r   Nr   r   r   r   r   r   5  s    r   r   c                  2    ] tR tRtRtR R ltR R ltRtR# )	RecursiveGrammarExceptioni>  a4  
.. deprecated:: 3.0.0
   Only used by the deprecated :meth:`ParserElement.validate`.

Exception thrown by :class:`ParserElement.validate` if the
grammar could be left-recursive; parser may need to enable
left recursion using :class:`ParserElement.enable_left_recursion<ParserElement.enable_left_recursion>`
c                   V ^8  d   QhRR/# )r   r!   r"   r   )r#   s   "r   r$   &RecursiveGrammarException.__annotate__H  s     2 2D 2r   c                	    Wn         R # r~   parseElementTrace)r)   parseElementLists   &&r   r+   "RecursiveGrammarException.__init__H  s    !1r   c                   V ^8  d   QhRR/# r_   r   )r#   s   "r   r$   r   K  s     F F Fr   c                	     R V P                    2# )zRecursiveGrammarException: r   ra   s   &r   r   !RecursiveGrammarException.__str__K  s    ,T-C-C,DEEr   r   N)r   r   r   r   r   r+   r   r   r   r   r   r   r   >  s    2F Fr   r   )!
__future__r   r   rer=   typing	functoolsr   unicoder   ppuutilr   r   r   r	   r
   Latin1LatinALatinBGreekCyrillicr   	alphanums_extract_alphanumscompilert   r/   r   r   r   r   r   r   r   r   <module>r      s    "  	 
  % - 	JJ

CJJ		3<<	 00H0R0RS JJt.@'@<'OP uG uGr' ., . F	 Fr   