
    QiP                        d dl mZ d dlZd dlmZ d dlmZ d dlmZm	Z	 ddl
mZ dxZxZZ	  edd	d
gi          j        Z edd	dgi          j        Zn# e$ r Y nw xY w eddd	dgi          Zer G d dej                  Zd-dZd Zd Zd Zd Zd Zd.dZd Zd Zd Zd Zd  Zd! Zd" Zd# Zd$ Z d% Z!d& Z"d' Z#d( Z$d) Z%d* Z&d+ Z'd, Z(dS )/    )versionN)import_module)
StrPrinter)BraKet   )LaTeXParsingErrorz&sympy.parsing.latex._antlr.latexparserfromlistLaTeXParser)import_kwargsz%sympy.parsing.latex._antlr.latexlexer
LaTeXLexerzantlr4.error.ErrorListenerTErrorListener)warn_not_installedr   c                   $     e Zd Z fdZd Z xZS )MathErrorListenerc                 n    t          t          j        |                                            || _        d S N)superr   __init__src)selfr   	__class__s     ~/var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/sympy/parsing/latex/_parse_latex_antlr.pyr   zMathErrorListener.__init__    s-    --t44==???DHHH    c                    d}d|z  dz   }|                     d          r||| j        |fz  }	n|                     d          r|d| j        |fz  }	n|                     d          rst          j        fd|                                D             }
t          |
          d	k     r&d
                    |
          }
|d|
z   | j        |fz  }	n|d| j        |fz  }	n|d| j        |fz  }	t          |	          )Nz%s
%s
%s~^missingz	no viablezI expected something else here
mismatchedc                 F    g | ]}|t                    k     |         S  )len).0inamess     r   
<listcomp>z1MathErrorListener.syntaxError.<locals>.<listcomp>.   s/       !"q3u::~~E!H~~~r   
    zI expected one of these: zI don't understand this)
startswithr   r   literalNamesgetExpectedTokensr"   joinr	   )r   recogsymbollinecolmsgefmtmarkererrexpectedr%   s              @r   syntaxErrorzMathErrorListener.syntaxError$   s@   C3Y_F~~i(( JS$(F33,, J=txPP-- J#0   &'&9&9&;&;   x==2%%"xx11H"="H$("("* *CC "BDH"("* *CC 6&II#C(((r   )__name__
__module____qualname__r   r7   __classcell__)r   s   @r   r   r      sG        	 	 	 	 		) 	) 	) 	) 	) 	) 	)r   r   Fc                    t          d          }d |t          fv s"t          d                              d          st	          d           | j                    } t          |           }|                    |           }t          |          }|                                 |	                    |           |
                    |          }t          |          }|                                 |	                    |           |                                                                }|r?|j        j        dk    s |j        j        t!          |           dz
  k    rt#          d          t%          |          }	|	S )Nantlr4zantlr4-python3-runtimez4.11zLaTeX parsing requires the antlr4 Python package, provided by pip (antlr4-python3-runtime) or conda (antlr-python-runtime), version 4.11r   r   zInvalid LaTeX)r   r   r   r)   ImportErrorstripInputStreamr   removeErrorListenersaddErrorListenerCommonTokenStreamr   mathrelationstartstopr"   r	   convert_relation)
sympystrictr=   	matherrorstreamlextokensparserrE   exprs
             r   parse_latexrQ   =   sn   8$$F)***011<<VDD + H I I 	I EKMME!%((I&&F
V

C###%%c**F  F !!!
I&&&{{}}%%''H 18>'1,,0Bc%jjSTn0T0T000H%%DKr   c                    |                                  r!t          |                                            S t          |                     d                    }t          |                     d                    }|                                 rt          j        ||          S |                                 rt          j        ||          S | 	                                rt          j
        ||          S |                                 rt          j        ||          S |                                 rt          j        ||          S |                                 rt          j        ||          S d S Nr   r   )rP   convert_exprrH   rE   LTrI   StrictLessThanLTELessThanGTStrictGreaterThanGTEGreaterThanEQUALEqNEQNe)rellhrhs      r   rH   rH   ]   s/   
xxzz (CHHJJ'''	#,,q//	*	*B	#,,q//	*	*B
vvxx  #B+++	 	 ~b"%%%	  &r2...	   R(((	  xB	  xB   r   c                 D    t          |                                           S r   )convert_addadditive)rP   s    r   rT   rT   q   s    t}}'''r   c                    |                                  r[t          |                     d                    }t          |                     d                    }t          j        ||d          S |                                 rt          |                     d                    }t          |                     d                    }t          |d          r!|j        rt          j        |d|z  d          S t          j        |t          j        d|d          d          S t          | 
                                          S )Nr   r   Fevaluateis_Atom)ADDre   rf   rI   AddSUBhasattrrj   Mul
convert_mpmp)addrb   rc   s      r   re   re   u   s	   
wwyy $a))a))yR%0000	 $a))a))2y!! 	:bj 	:9Rb59999yUYr2>>>OOOO#&&((###r   c                 ^   t          | d          r+|                     d          }|                     d          }n*|                     d          }|                     d          }|                                 s(|                                 s|                                 r5t          |          }t          |          }t          j        ||d          S | 	                                s(| 
                                s|                                 rJt          |          }t          |          }t          j        |t          j        |dd          d          S t          | d          r!t          |                                           S t          |                                           S )Nrr   r   r   Frh   rk   unary)ro   rr   	mp_nofuncMUL	CMD_TIMESCMD_CDOTrq   rI   rp   DIVCMD_DIVCOLONPowconvert_unaryru   unary_nofunc)rr   mp_leftmp_rightrb   rc   s        r   rq   rq      sa   r4 #%%((5588,,q//<<??	vvxx 42<<>> 4R[[]] 4  !!yR%0000	 4RZZ\\ 4RXXZZ 4  !!yUYr2>>>OOOO2w 	4 ,,, !2!2333r   c                    t          | d          r|                                 }n|                                 }t          | d          r/|                                 }|                                 }|g|z   }n|                                 }|                                 rt          |          S |                                 rt          |          }| S |rt          |          S d S )Nru   postfix_nofunc)	ro   ru   r   postfixr   rl   r~   rn   convert_postfix_list)ru   nested_unaryfirsttailr   numabss         r   r~   r~      s    ug ,{{}}))++u&'' "##%%'D.--//yy{{ -\***	 -|,,w	 -#G,,,- -r   c                    |t          |           k    rt          d          t          | |                   }t          |t          j                  r>|t          |           dz
  k    r|S |dk    rt          | |dz
                     }t          | |dz                      }t          |t          j                  rt          |t          j                  rt          | |dz
                                         t          j                  }t          | |dz                                          t          j                  }|s(|s&t          |          dk    rt          | |dz             S t	          j
        |t          | |dz             d          S |d         }|t          |           dz
  k    rt          d          t          | |dz             }t	          j        ||          S )NzIndex out of boundsr   r   xFrh   z"Expected expression for derivative)r"   r	   convert_postfix
isinstancerI   ExpratomsSymbolstrr   rp   
Derivative)	arrr$   resleftright	left_syms
right_symswrtrP   s	            r   r   r      s   CHH}} 5666
#a&
!
!C#uz"" /C1J1uu&s1q5z22'AE
33dEJ// @Juz5+ 5+ @ /AE
 ; ; A A%, O OI!0QU!<!<!B!B"& "&J & @ @SS3CQ???9)#q1u55G G G G !fC1#$HIII'QU33D#D#...r   c                    |                                 rt          |                                           }|                    t          j                  }t          |          dk    r| S t          |          dk    r2t          t          |                    }|                     ||          S d S |	                                r~t          |	                                                     d                    }t          |	                                                     d                    }|                     ||          S d S rS   )
rP   rT   r   rI   r   r"   nextitersubsequality)rP   atat_exprsymssymrb   rc   s          r   do_subsr      s   	wwyy !rwwyy))}}U\**t99>>KYY]]tDzz""C99S'*** ] 
 !"++--,,Q//00"++--,,Q//00yyR   ! !r   c                    t          | d          r|                                 }n|                                 }t          |          }|                                 D ]}|                                r;t          |t                    rt          d          t          j
        |d          }R|                                r|                                }d }d }|                                r"t          ||                                          }|                                r"t          ||                                          }||t          j        |d|z  d          }
||}||}|S )Nexpz"Cannot apply postfix to derivativeFrh   rk   )ro   r   
exp_nofuncconvert_exp
postfix_opBANGr   listr	   rI   	factorialeval_ateval_at_supr   eval_at_subrm   )r   
exp_nestedr   opevat_bat_as          r   r   r      sf   w *[[]]

''))

j
!
!C  ""  7799 	#t$$ N'(LMMM/#666CCZZ\\ 	BDD~~ 6sBNN$4$455~~ 6sBNN$4$455D$4ib4i%@@@!!Jr   c                    t          | d          r|                                 }n|                                 }|rt          |          }t	          |t
                    rt          d          |                                 r"t          |                                           }n5| 	                                r!t          | 	                                          }t          j        ||d          S t          | d          r!t          |                                           S t          |                                           S )Nr   z Cannot raise derivative to powerFrh   comp)ro   r   r   r   r   r   r	   atomconvert_atomrP   rT   rI   r}   convert_compr   comp_nofunc)r   r   baseexponents       r   r   r      s   sE &WWYY

^^%%
 3:&&dD!! 	H#$FGGG88:: 	0#CHHJJ//HHXXZZ 	0#CHHJJ//Hyx%88883 	3

+++ 1 1222r   c                    |                                  r3t          |                                                                            S |                                 rGt	          j        t          |                                                                           d          S |                                 r!t          |                                           S |                                 r!t          |                                           S | 
                                r!t          | 
                                          S |                                 r!t          |                                           S d S NFrh   )grouprT   rP   	abs_grouprI   Absr   r   floorconvert_floorceilconvert_ceilfuncconvert_func)r   s    r   r   r     s   zz|| )DJJLL--//000			 	)ydnn&6&6&;&;&=&=>>OOOO	 )DIIKK(((	 )TZZ\\***	 )DIIKK(((	 )DIIKK((() )r   c                 l	   |                                  rB|                                                                  }|                                 r|                                                                 r4t	          |                                                                           }n3t          |                                                                           }|dt                                          |          z   dz   z  }| 	                                r)|| 	                                                                z  }t          j        |          S |                                 r#|                                                                 dd          }|dk    rt          j        S |                                 rd }|                                                                 r4t	          |                                                                           }n3t          |                                                                           }t                                          |          }|d|z   dz   z  }t          j        |          S |                                 rN|                                                                                     dd          }t          j        |          S |                                 r=t%          |                                           }t          j        d|j        z             S |                                 rGt+          |                                                                           }t          j        |          S |                                 r!t1          |                                           S |                                 r!t5          |                                           S |                                 rBt	          |                                                                           }t9          |          S |                                 rBt	          |                                                                           }t=          |          S d S )N_{}r   infty, d)LETTERgetTextsubexprrP   rT   r   r   r   doprintSINGLE_QUOTESrI   r   SYMBOLoonumberreplaceNumberDIFFERENTIALget_differential_varnamemathit	rule2textmathit_textfracconvert_fracbinomconvert_binombrar   ketr   )r   sname	subscriptssubscriptNamevartextvals           r   r   r   $  s   {{}} +%%''<<>> 	B||~~""$$ @()<)<)>)>??		()<)<)>)>??	TJLL00;;;cAAE 	4T''))11333E|E"""	  KKMM!!##ABB'<<8O||~~ 0 	<<>>&&(( D ,T\\^^-@-@-B-B C CII ,T\\^^-@-@-B-B C CI * 4 4Y ? ?TM)C//<??"	 KKMM!!##++C44|A					 "4#4#4#6#677|C#(N+++	 224455|D!!!	 	DIIKK(((	 TZZ\\***	 488::??,,--3xx	 488::??,,--3xx r   c                     | j                                         }| j         j         }| j        j        }|                    ||          S r   )rF   getInputStreamrG   r   )ctxrL   startIdxstopIdxs       r   r   r   S  s;    Y%%''FyHhmG>>(G,,,r   c                    d}d}| j         r| j        r| j                                         }|d         |d         z
  dz   }| j         j        | j         j        k    r@| j         j        j        t          j        k    r!t          | j         j        j	                  }d}n|dk    r| j         j        j        t          j
        k    r| j         j        j	        dk    rz| j         j        j        t          j        k    s| j         j        j        t          j
        k    r<d}| j         j        j	        }| j         j        j        t          j
        k    r
|dd          }|s|rQt          j        |          }|rQ| j        j        | j        j        k    r7| j        j        j        t          j        k    r| j        j        j	        dk    r|gS |rQ| j        j        | j        j        k    r7| j        j        j        t          j
        k    r| j        j        j	        dk    r|gS t          | j                  }d }|r-|                    d          rt!          |dd                    }n;|r9| j        j        j	        dk    r$t!          |t#          d          d                    }|rt          j        ||          S | j        rt'          | j                  }nt          j        | j        j	                  }| j         rt'          | j                   }nt          j        | j        j	                  }t          j        |dd	          }	|dk    r|	S t          j        ||	d	          S )
NFr   r   T   z\partialr   rk   rh   )loweruppergetSourceIntervalrF   rG   typer   r   get_differential_var_strr   r   r   rI   r   r   r)   rQ   r"   r   rT   r   upperdlowerdr}   rp   )
r   diff_op
partial_op	lower_itvlower_itv_lenr   
upper_textexpr_topexpr_botinverse_denoms
             r   r   r   ]  s   GJz "7dj "7J0022	!!y|3a7J
//J$)Z-DDD*4:+;+@AACGGq  TZ%5%:j>O%O%O*"';66:?':+<<<jo*j.???J*/&Cz#z'888!""g 	7j 	7,s##C DJ,
??
(-1BBB
(-44u !1TZ_!D!Dj&+z/@@@j&+{::u"4:..JH F:0055 F&z!""~66 F
 0 5 D D&z#k2B2B2C2C'DEE 7'#666z 2
++< 011z 2
++< 011IhU;;;M1}}y=5AAAAr   c                     t          | j                  }t          | j                  }t          j        ||d          S r   )rT   nkrI   binomial)r   expr_nexpr_ks      r   r   r     s7    %'""F%'""F>&&59999r   c                 V    t          | j                  }t          j        |d          S r   )rT   r   rI   r   )r   r   s     r   r   r     s&    
uy
!
!C;sU++++r   c                 V    t          | j                  }t          j        |d          S r   )rT   r   rI   ceiling)r   r   s     r   r   r     s&    
tx
 
 C=u----r   c                 n   |                                  r|                                 r"t          |                                           }n!t          |                                           }|                                  j        j        dd          }|dv r2d|dd          z   } t          t          j	        |          |d          }|dv r2d|dd          z   } t          t          j	        |          |d          }|d	k    rt          j
        |d          }|d
v r|                                 r|                                                                 r4t          |                                                                           }nMt          |                                                                           }n|dk    rd}n|dv rt          j        }t          j        ||d          }d }d}|                                 r|                                                                 r4t          |                                                                           }n3t          |                                                                           }|dv r2|dk    rd|z   }d} t          t          j	        |          |d          }|r|rt          j        ||d          }|S |                                 s|                                 rg|                                 r'|                                                                 }nB|                                 r.|                                                                 dd          }t/          |          }|                                 r|                                                                 r4t          |                                                                           }n3t          |                                                                           }t1                                          |          }	|d|	z   dz   z  }|                                 r)||                                                                 z  }|                                 }
g }|
                                r\|                    t          |
                                                     |
                                }
|
                                \|                    t          |
                                                      t          j        |          | S |                                 rt?          |           S |                                  r\t          | j!                  }| j"        r+t          | j"                  }t          j"        ||d          S t          j#        |d          S | $                                r*t          | j!                  }t          j%        |d          S | &                                rtO          | d          S | (                                rtO          | d          S | )                                rtU          |           S d S )Nr   )arcsinarccosarctanarccscarcsecarccota   Frh   )arsinharcoshartanhr   r   )loglglnr  r'   )r  r  T)	sincostancscseccotsinhcoshtanhrk   r   r   	summationproduct)+func_normalL_PARENconvert_func_argfunc_argfunc_arg_noparensrF   r   getattrrI   	functionsr   r   rP   rT   r   r   Er  supexprr}   r   r   r   r   r   r   r   argsappendFunctionFUNC_INThandle_integral	FUNC_SQRTr   rootsqrtFUNC_OVERLINE	conjugateFUNC_SUMhandle_sum_or_prod	FUNC_PRODFUNC_LIMhandle_limit)r   argr   rP   r   func_pow
should_powfnamer   r   
input_argsoutput_argsrs                r   r   r     s    ]"<<>> 	="4==??33CC"4#9#9#;#;<<C!!',QRR0  
 
 
 abb>D175?D11#FFFD111abb>D175?D11#FFFD5==9S5111D&&&||~~ <<>>&&(( ?'(;(;(=(=>>DD'(;(;(=(=>>DD&&w9S$777D
<<>> 	?||~~""$$ ?'(;(;(=(=>>'(;(;(=(=>> 
 
 
 2~~Tz"
175?D11#FFFD 	=
 	=9T8e<<<D	 '"$++-- '";;== 	0KKMM))++EE[[]] 	0KKMM))++ABB/EE

<<>> 	0||~~""$$ @()<)<)>)>??		()<)<)>)>??	&LL00;;MTM)C//E 	4T''))11333EYY[[
oo 	+|JOO,=,=>>???#**J oo 	+ 	<
(9(9::;;;$u~e$$k22	 "t$$$			 "DI&&9 	4TY''A:dA6666:dU3333					 "DI&&te4444	 "!$444			 "!$	222	 "D!!!" "r   c                     t          | d          r!t          |                                           S t          |                                           S )NrP   )ro   rT   rP   rq   rv   )r<  s    r   r&  r&    s@    sF +CHHJJ'''#--//***r   c                    |                                  r"t          |                                            }n8|                                 r"t          |                                           }nd}d }|                                 r"t          |                                           }n|                    t          j                  D ]w}t          |          }t          |          dk    rS|d         dk    rG|d         dk    rt          j        |dd                    }nt          j        |dd                    }|}x|r|                    |d          }nt          j        d          }|                                 r2|                                                                 r4t          |                                                                           }n3t          |                                                                           }|                                                                 r4t          |                                                                           }n3t          |                                                                           }t          j        ||||f          S t          j        ||          S )Nr   r   r   \r   r   )rf   re   r   r   r   r   r   rI   r   r   r"   r   r   r   r   rT   rP   r,  Integral)r   	integrandint_varr   r   int_symr   r   s           r   r1  r1    s8   }} 00			  --			G (&t'8'8':':;;??5<00 	 	CCA1vvzzadckkQ44<<#l1QRR511GG#l1QRR511G 	(!w22II l3''G||~~ 2<<>>   	8 !4!4!6!677EE !4!4!6!677E<<>>   	8 !4!4!6!677EE !4!4!6!677E~i'5%)@AAA~i111r   c                    t          |                                           }t          |                                                                                     d                    }t          |                                                                                     d                    }|                                                                 r4t          |                                                                           }n3t          |                                                                           }|dk    rt          j
        ||||f          S |dk    rt          j        ||||f          S d S )Nr   r   r"  r#  )rq   rr   rT   subeqr   rP   r,  r   r   rI   SumProduct)r   r   r   iter_varrF   ends         r   r8  r8  .  s%   
TWWYY

CDJJLL113388;;<<H..0055a8899E||~~ 24<<>>..00114<<>>..0011{yx4555			}S8UC"8999 
	r   c                    |                                  }|                                r9t          j        |                                                                          }ni|                                rAt          j        |                                                                dd                    }nt          j        d          }|                                rd}n|                                rd}nd}t          |	                                          }t          |                                           }t          j        ||||          S )Nr   r   -+z+-)	limit_subr   rI   r   r   r   rn   rl   rT   rP   rq   rr   Limit)r   subr   	directionapproachingcontents         r   r;  r;  =  s   
..

C
zz||  l3::<<//1122	  l3::<<//11!""566l3
wwyy 			 			sxxzz**K##G;w[)<<<r   c                 l    t          |                                           }t          j        |          S r   )r   r   rI   r   )r   r   s     r   r   r   Q  s'    #AIIKK00D<r   c                     t          dt          |                     D ]&}| |         }|dk    s|dk    s|dk    s
|dk    s|} n'| |d          } | d         dk    r
| dd          } | S )Nr   r(   
	r   rE  )ranger"   )r   r$   cidxs       r   r   r   V  s    1c$ii    GSAIIda4iiCE:DAw$ABBxKr   )F)r   ))importlib.metadatar   rI   sympy.externalr   sympy.printing.strr   sympy.physics.quantum.stater   r   errorsr	   r   r   r   	Exceptionr   rQ   rH   rT   re   rq   r~   r   r   r   r   r   r   r   r   r   r   r   r   r&  r1  r8  r;  r   r   r!   r   r   <module>rg     s   ' & & & & &  ( ( ( ( ( ( ) ) ) ) ) ) 0 0 0 0 0 0 0 0 % % % % % % 04 3 3j,	- H/9M?.KM M MMX F.8<.-IK K KKU J 	 	 	D	 :15-7/9J,K       )) ) ) ) )M7 ) ) )<   @     (( ( ($ $ $4 4 4.- - -,/ / / /B! ! !  <3 3 3,) ) ), , ,^- - -2B 2B 2Bh: : :
, , ,. . .^" ^" ^"B+ + +%2 %2 %2P: : := = =(  
	 	 	 	 	s   *A AA