+
    ‹°³j¾š  ã                  óÔ  € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIHtHt ^ RIt^ RIH	t	H
t
HtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtH t H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t8H9t9H:t:H;t;H<t<H=t=H>t>H?t?H@t@HAtAHBtBHCtCHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtLHMtMHNtN ^ RIOHPtPHQtQ ^ RIRHStS ^ RITHUtU ^ R	IVHWtW RR
 ltXR tYR tZR t[][ ! R R4      4       t\R# )é    )ÚannotationsN)Úproduct)ÚAnyÚCallable)FÚMulÚAddÚPowÚRationalÚlogÚexpÚsqrtÚcosÚsinÚtanÚasinÚacosÚacotÚasecÚacscÚsinhÚcoshÚtanhÚasinhÚacoshÚatanhÚacothÚasechÚacschÚexpandÚimÚflattenÚpolylogÚcancelÚexpand_trigÚsignÚsimplifyÚUnevaluatedExprÚSÚatanÚatan2ÚModÚMaxÚMinÚrfÚEiÚSiÚCiÚairyaiÚairyaiprimeÚairybiÚprimepiÚprimeÚisprimeÚcotÚsecÚcscÚcschÚsechÚcothÚFunctionÚIÚpiÚTupleÚGreaterThanÚStrictGreaterThanÚStrictLessThanÚLessThanÚEqualityÚOrÚAndÚLambdaÚIntegerÚDummyÚsymbols)ÚsympifyÚ_sympify)Úairybiprime)Úli)Úsympy_deprecation_warningc                óh   € \        R RRR7       \        V4      p\        VP                  V 4      4      # )zóThe ``mathematica`` function for the Mathematica parser is now
deprecated. Use ``parse_mathematica`` instead.
The parameter ``additional_translation`` can be replaced by SymPy's
.replace( ) or .subs( ) methods on the output expression instead.z1.11zmathematica-parser-new)Údeprecated_since_versionÚactive_deprecations_target)rQ   ÚMathematicaParserrM   Ú
_parse_old)ÚsÚadditional_translationsÚparsers   && ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/parsing/mathematica.pyÚmathematicar[      s;   € Üð	Eð "(Ø#;õô Ð6Ó7€FÜ�6×$Ñ$ QÓ'Ó(Ð(ó    c                ó8   € \        4       pVP                  V 4      # )a  
Translate a string containing a Wolfram Mathematica expression to a SymPy
expression.

If the translator is unable to find a suitable SymPy expression, the
``FullForm`` of the Mathematica expression will be output, using SymPy
``Function`` objects as nodes of the syntax tree.

Examples
========

>>> from sympy.parsing.mathematica import parse_mathematica
>>> parse_mathematica("Sin[x]^2 Tan[y]")
sin(x)**2*tan(y)
>>> e = parse_mathematica("F[7,5,3]")
>>> e
F(7, 5, 3)
>>> from sympy import Function, Max, Min
>>> e.replace(Function("F"), lambda *x: Max(*x)*Min(*x))
21

Both standard input form and Mathematica full form are supported:

>>> parse_mathematica("x*(a + b)")
x*(a + b)
>>> parse_mathematica("Times[x, Plus[a, b]]")
x*(a + b)

To get a matrix from Wolfram's code:

>>> m = parse_mathematica("{{a, b}, {c, d}}")
>>> m
((a, b), (c, d))
>>> from sympy import Matrix
>>> Matrix(m)
Matrix([
[a, b],
[c, d]])

If the translation into equivalent SymPy expressions fails, an SymPy
expression equivalent to Wolfram Mathematica's "FullForm" will be created:

>>> parse_mathematica("x_.")
Optional(Pattern(x, Blank()))
>>> parse_mathematica("Plus @@ {x, y, z}")
Apply(Plus, (x, y, z))
>>> parse_mathematica("f[x_, 3] := x^3 /; x > 0")
SetDelayed(f(Pattern(x, Blank()), 3), Condition(x**3, x > 0))
)rU   Úparse)rW   rY   s   & rZ   Úparse_mathematicar_       s   € ôd Ó €FØ�<‰<˜‹?Ðr\   c                 ó@  € \        V 4      ^8X  dÍ   V ^ ,          p\        R4      pVP                  V4      pV Uu. uF  qDP                  ^ ,          NK  	  pp\	        V4      p\        V\        4      '       dZ   \        RV 2\        R7      p\        YqP                  \        V4       UU	u/ uF  w  r‰V! V^,           4      V	bK  	  up	p4      4      # \        RV4      # \        V 4      ^8X  d   V ^ ,          pV ^,          p
\        Wz4      # \        R4      hu upi u up	pi )é   ÚSlotzdummy0:©Úclsz&Function node expects 1 or 2 arguments© )Úlenr>   ÚatomsÚargsÚmaxÚ
isinstancerJ   rL   rK   rI   ÚxreplaceÚ	enumerateÚSyntaxError)rh   Úargrb   ÚslotsÚaÚnumbersÚnumber_of_argumentsÚ	variablesÚiÚvÚbodys   *          rZ   Ú_parse_Functionrw   V   sú   € Ü
ˆ4ƒy�A„~Ø�1�gˆÜ˜ÓˆØ—	‘	˜$“ˆÙ&+Ó,¡e —6‘6˜!—9�9¡eˆÐ,Ü! '›lÐÜÐ)¬7×3Ò3Ü 'Ð*=Ð)>Ð ?ÄUÔKˆIÜ˜)§\¡\ÌIÐV_ÔL`Ô2aÑL`ÁDÀA±4¸¸!½³9¸a²<ÑL`Ò2aÓ%bÓcÐcÜ�b˜#‹ÐÜ	ˆT‹�aŒØ˜•Gˆ	Ø�A�wˆÜ�iÓ&Ð&äÐBÓCÐCùò -ùó 3bs   ºDÂ*Dc                ó&   € V P                  4        V # ©N)Ú_initialize_classrc   s   &rZ   Ú_decor{   i   s   € Ø×ÑÔØ€Jr\   c            $      ó	  € ] tR t^nt$ Rt/ RRbRRbRRbRR	bR
RbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbR R!bR"R#bR$R%R&R'R(R)R*R+R,R-R.R//Ct]! ER(ER)ER*4       F}  w  ttt	]],           ]	,           R7,           t
]'       d'   R8]P                  4       ,           ]	,           R9,           tM]P                  4       ]	,           R9,           t]P                  ]
]/4       K  	  R:R0R;R<R=R>R?R@/tRA]P                   ! RB]P"                  4      RC3RD]P                   ! RE]P"                  4      RC3RF]P                   ! RG]P"                  4      RH3RI]P                   ! RJ]P"                  4      RK3/t]P                   ! RL]P"                  4      t]P                   ! RM]P"                  4      tRNt/ tRO]RP&   / tRO]RQ&   / tRO]RR&   ]RS 4       tER+RU lt]RV 4       tRW tRX t]RY 4       t ]RZ 4       t!]R[ 4       t"]R\ 4       t#R] t$R^ t%R_t&R`t'Rat(Rbt)Rct*Rdt+](RTReRf /3]&])ReRg/3]&]*RhRiRjRkRlRmRnRoRpRqRrRs/3]&]+RtRu /3](RTRvRw/3]&]+RxRy/3]&]*RzR{R|R}/3]&]+R~R/3]&])R€R�/3](RTR‚RƒR„R…/3]&])R†R‡/3]&])RˆR‰/3]'RTRŠR‹/3]&])RŒR�RŽR�/3]&])R�R‘R’R“R”R•R–R—R˜R™RšR›/3]&RTRœR�/3]&])RžRŸR RŸ/3]&])RCR¡R¢R¡/3]&])R£R¤/3]'RTR R¥ RžR¦ /3]&]*R;R§/3]&]*R¨R©RªR«R¬R­R®R¯ /3](RTR°R±RŠR²R³R´RµR¶/3]&RTR>R· R¸R¹ /3]'RTR=Rº R»R¼ /3]&RTR½R¾/3](RTR¿RÀ RÁRÂ RÃRÄ RÅRÆ /3]&RTR¿RÇ /3]'RTRÈRÉRÊRË/3.t,RÌ]RÍ&   RÈRÎ RÊRÏ /t-RÐt.RÑt/. ER,Ot0. ER-Ot1]RÒ 4       t2]RÓ 4       t3RTt4RÔ t5RÕ RÖ lt6R× RØ lt7RÙ RÚ lt8RÛ RÜ lt9RÝ RÞ lt:Rß Rà lt;Rá Râ lt<ER.Rã Rä llt=Rå Ræ lt>Rç Rè lt?Ré Rê lt@/ R¡]AbRŸ]BbR§]CbRë]DbRìRí bRîRï bRðRñ bRò]EbRó]FbR1]GbR2]HbR3]IbR4]JbR5]KbR6]LbRô]MbRõ]Nb/ RöR÷ bRø]ObRù]PbRú]QbRû]RbRü]SbRý]TbRþ]UbRÿ]VbER ]WbER]XbER]YbER]ZbER][bER]\bER]]bER]^bC/ ER]_bER	]`P                  bER
]abER]bbER]cbER]dbER]ebER]fbER]gbER]hbERER bER]ibER]jbER]kbER]lbER]mbER]nbC/ ER]obER]pbER]qbER]rbER]sbER]tbER ]ubER!]vbER"]wbER#]xbR›]ybR™]zbR—]{bR•]|bR‘]}bR‡]~bR‰]bCRw]€/Ct�ER$]‚RI]ƒ/t„ER% t…ER& t†ER't‡RT# (/  rU   a8  
An instance of this class converts a string of a Wolfram Mathematica
expression to a SymPy expression.

The main parser acts internally in three stages:

1. tokenizer: tokenizes the Mathematica expression and adds the missing *
    operators. Handled by ``_from_mathematica_to_tokens(...)``
2. full form list: sort the list of strings output by the tokenizer into a
    syntax tree of nested lists and strings, equivalent to Mathematica's
    ``FullForm`` expression output. This is handled by the function
    ``_from_tokens_to_fullformlist(...)``.
3. SymPy expression: the syntax tree expressed as full form list is visited
    and the nodes with equivalent classes in SymPy are replaced. Unknown
    syntax tree nodes are cast to SymPy ``Function`` objects. This is
    handled by ``_from_fullformlist_to_sympy(...)``.

zSqrt[x]zsqrt(x)zRational[x,y]zRational(x,y)zExp[x]zexp(x)zLog[x]zlog(x)zLog[x,y]zlog(y,x)zLog2[x]zlog(x,2)zLog10[x]z	log(x,10)zMod[x,y]zMod(x,y)zMax[*x]zMax(*x)zMin[*x]zMin(*x)zPochhammer[x,y]zrf(x,y)zArcTan[x,y]z
atan2(y,x)zExpIntegralEi[x]zEi(x)zSinIntegral[x]zSi(x)zCosIntegral[x]zCi(x)z	AiryAi[x]z	airyai(x)zAiryAiPrime[x]zairyaiprime(x)z	AiryBi[x]z	airybi(x)zAiryBiPrime[x]zairybiprime(x)zLogIntegral[x]z li(x)z
PrimePi[x]z
primepi(x)zPrime[x]zprime(x)z	PrimeQ[x]z
isprime(x)Ú ÚSinÚCosÚTanÚCotÚSecÚCscz[x]rp   z(x)Ú Ú^z**Ú{Ú[Ú}Ú]Ú
whitespacezñ
                (?:(?<=[a-zA-Z\d])|(?<=\d\.))     # a letter or a number
                \s+                               # any number of whitespaces
                (?:(?=[a-zA-Z\d])|(?=\.\d))       # a letter or a number
                Ú*úadd*_1zÐ
                (?:(?<=[])\d])|(?<=\d\.))       # ], ) or a number
                                                # ''
                (?=[(a-zA-Z])                   # ( or a single letter
                úadd*_2z¬
                (?<=[a-zA-Z])       # a letter
                \(                  # ( as a character
                (?=.)               # any characters
                z*(ÚPiz¿
                (?:
                \A|(?<=[^a-zA-Z])
                )
                Pi                  # 'Pi' is 3.14159... in Mathematica
                (?=[^a-zA-Z])
                r@   zÞ
                (?:
                \A|(?<=[^a-zA-Z])   # at the top or a non-letter
                )
                [A-Z][a-zA-Z\d]*    # Function
                (?=\[)              # [ as a character
                z(
                \{.*\}
                zº
                (?:
                \A|(?<=[^a-zA-Z])
                )
                {arguments}         # model argument like x, y,...
                (?=[^a-zA-Z])
                z%dict[tuple[str, int], dict[str, Any]]ÚTRANSLATIONSÚcache_originalÚcache_compiledc                	ór   € V P                  V P                  4      pV P                  P                  V4       R # ry   )Ú_compile_dictionaryÚCORRESPONDENCESr�   Úupdate)rd   Úds   & rZ   rz   Ú#MathematicaParser._initialize_class÷   s.   € ð ×#Ñ# C×$7Ñ$7Ó8ˆØ×Ñ×Ñ Ö"r\   Nc                	ó¢  € / V n         V P                   P                  V P                  4       Vf   / pV P                  P                  V8w  dS   \        V\        4      '       g   \        R4      hV P                  V4      pWP                  n        W P                  n	        V P                   P                  V P                  P                  4       R # )NzThe argument must be dict type)
Útranslationsr•   r�   Ú	__class__r�   rj   ÚdictÚ
ValueErrorr“   r‘   )ÚselfrX   r–   s   && rZ   Ú__init__ÚMathematicaParser.__init__ý   s«   € ØˆÔð 	×Ñ× Ñ  ×!2Ñ!2Ô3à"Ò*Ø&(Ð#ð �>‰>×(Ñ(Ð,CÔCÜÐ5´t×<Ò<Ü Ð!AÓBÐBð ×(Ñ(Ð)@ÓAˆAð -D�N‰NÔ)Ø,-�N‰NÔ)ð 	×Ñ× Ñ  §¡×!>Ñ!>Ö?r\   c                	ó  € / pVP                  4        EFã  w  r4V P                  V4       V P                  V4       V P                  VR 4      pV P                  VR 4      pV P                  VR4      pV P                  VR4      pV P                  P                  V4      pVf   RP                  VR7      p\        V4      hVP                  4       pV P                  V4      w  r‰VP                  4       ^ 8w  g   V	\        V4      8w  d   RP                  VR7      p\        V4      hVR,          ^ ,          R8X  d   Rp
M\        V4      p
Wz3pV Uu. uF  qÌ^ ,          R8w  d   TMRV,           NK  	  ppRRP                  V4      ,           R,           pV P                  P                  VR	7      p\        P                  ! V\        P                   4      p/ W+&   WBV,          R
&   W‚V,          R&   VW+,          R&   EKæ  	  V# u upi )rŠ   r„   ú'{f}' function form is invalid.©Úfr‹   Ú\z(?:(Ú|z)))Ú	argumentsÚfsrh   Úpatéÿÿÿÿ)ÚitemsÚ_check_inputÚ_apply_rulesÚ_replaceÚ
FM_PATTERNÚsearchÚformatrœ   ÚgroupÚ	_get_argsÚstartrf   ÚjoinÚARGS_PATTERN_TEMPLATEÚreÚcompileÚVERBOSE)rd   Údicr–   Úfmr§   ÚmÚerrÚfm_namerh   ÚendÚkey_argÚkeyÚxÚre_argsÚxyzÚpatStrr¨   s   &&               rZ   r“   Ú%MathematicaParser._compile_dictionary  sá  € ð ˆà—i‘i—k‰FˆBà×Ñ˜RÔ Ø×Ñ˜RÔ ð ×!Ñ! " lÓ3ˆBØ×!Ñ! " lÓ3ˆBð —‘˜b #Ó&ˆBØ—‘˜b #Ó&ˆBð —‘×%Ñ% bÓ)ˆAð ŠyØ7×>Ñ>ÀÐ>ÓD�Ü  “oÐ%ð —g‘g“iˆGð Ÿ™ aÓ(‰IˆDð �w‰w‹y˜AŒ~ ¬¨B«¤Ø7×>Ñ>ÀÐ>ÓD�Ü  “oÐ%ð �B�x˜�{˜cÔ!Ø‘ä˜d›)�àÐ$ˆCñ @DÓD¹t¸!˜a�D CœK‘q¨T°A­XÒ5¹tˆGÐDð ˜3Ÿ8™8 GÓ,Õ,¨tÕ3ˆCð ×.Ñ.×5Ñ5ÀÐ5ÓDˆFä—*’*˜V¤R§Z¡ZÓ0ˆCð ˆA‰FØˆc�F�4‰LØ!ˆc�F�6‰NØˆA�F�5ŒMño "ðr ˆùò! Es   Å!G=c                ó  € V P                   pRp^ p VP                  V4      pVf   W1,          p V# VP                  4       pV P                  V4      w  rxVP	                  4       p	V P                  WWyV4      pT	pW1RV ,          pWR pKz  )z'Parse Mathematica function to SymPy oner}   N)r®   r¯   r±   r²   r³   Ú_convert_one_function)
r�   rW   r¨   ÚscannedÚcurr»   rº   rh   r¾   Úbgns
   &&        rZ   Ú_convert_functionÚ#MathematicaParser._convert_functionU  s¡   € ð �o‰oˆàˆØˆØØ—
‘
˜1“ˆAàŠyà•�Øð. ˆð) —‘“ˆBð Ÿ™ qÓ)‰IˆDð —'‘'“)ˆCð ×*Ñ*¨1°$¸SÓAˆAð ˆCð ˜˜#�wÕˆGð �$�ŠAr\   c                	óR  € V\        V4      3V P                  9   d=   V\        V4      3pV P                  V,          R ,          p\        \        Ws4      4      pM”VR3V P                  9   de   VR3pV P                  V,          R ,          p/ p\	        V4       F4  w  ršV
^ ,          R8X  d   RP                  W9R 4      WŠ&    M,W9,          WŠ&   K6  	  MRP                  VR7      p\        V4      hV P                  V,          R,          pV P                  V,          R,          pRp^ p VP                  V4      pVf
   Wì,          pMNVP                  4       p
VP                  4       pWìRV WŠ,          ,           ,          pVP                  4       pWÏR pKm  VRV V,           WR ,           pV# )	rh   r‹   Ú,Nz'{f}' is out of the whitelist.r¢   r§   r¨   r}   )rf   r™   r›   Úziprl   r´   r°   rœ   r¯   r±   r³   r¾   )r�   rW   rº   rh   rÊ   r¾   rÀ   Úx_argsr–   rt   rÁ   r¼   Útemplater¨   rÈ   rÉ   r»   Úxbgns   &&&&&&            rZ   rÇ   Ú'MathematicaParser._convert_one_function|  s¥  € à”�D“	ˆ?˜d×/Ñ/Ô/Ø”s˜4“y�/ˆCð ×&Ñ& sÕ+¨FÕ3ˆFô ”S˜Ó&Ó'‰Að �#ˆY˜$×+Ñ+Ô+Ø�s�)ˆCð ×&Ñ& sÕ+¨FÕ3ˆFð ˆAÜ! &Ö)‘�Ø�Q•4˜3”;ØŸ8™8 D¨ HÓ-�A‘DÙØ•w�“ò	 *ð 3×9Ñ9¸BÐ9Ó?ˆCÜ˜S“/Ð!ð ×$Ñ$ SÕ)¨$Õ/ˆð ×Ñ Õ$ UÕ+ˆàˆØˆØØ—
‘
˜8Ó$ˆAàŠyØÕ#�Øð —‘“	ˆAð —7‘7“9ˆDð   �¨­Õ-Õ-ˆGð —%‘%“'ˆCð   �~ŠHð ˆdˆsˆG�gÕ  $ Õ'ˆàˆr\   c                ó  € VP                   pVP                  4       ^,           p. . rT. pTp\        W#R V4       F¸  w  r‰V	R8X  d-   V'       g%   V'       g   VP                  W'V 4       V^,           pV	R8X  d   VP                  V	4       MV	R8X  d   VP	                  4        V	R8X  d   VP                  V	4       K‚  V	R8X  g   K‹  V'       d   VP	                  4        K¥  VP                  W'V 4        M	  X^,           p
Wj3# )z'Get arguments of a Mathematica functionNrÎ   r†   rˆ   r‡   r‰   )Ústringr¾   rl   ÚappendÚpop)rd   r»   rW   ÚancÚsquareÚcurlyrh   rÉ   rt   ÚcÚfunc_ends   &&         rZ   r²   ÚMathematicaParser._get_args¾  sÜ   € ð �H‰HˆØ�e‰e‹g˜�kˆØ˜B�Øˆð ˆÜ˜a ˜g sÖ+‰DˆAà�CŒx§·%Ø—‘˜A !˜HÔ%Ø˜!•e�ð �CŒxØ—‘˜Q•Ø�c”Ø—	‘	”ð �CŒxØ—‘˜aÖ Ø�c–ßØ—J‘J–Là—K‘K  a Ô)Ùñ) ,ð. �q•5ˆàˆ~Ðr\   c                	óN   € V P                   V,          pVP                  W#4      pV# ry   )ÚREPLACEMENTSÚreplace)rd   rW   ÚbefÚafts   &&& rZ   r­   ÚMathematicaParser._replaceä  s%   € à×Ñ˜sÕ#ˆØ�I‰I�cÓˆØˆr\   c                	óN   € V P                   V,          w  r4VP                  WA4      # ry   )ÚRULESÚsub)rd   rW   rá   r¨   râ   s   &&&  rZ   r¬   ÚMathematicaParser._apply_rulesê  s   € à—9‘9˜S•>‰ˆØ�w‰w�s‹Ðr\   c                	óà   € R FS  pVP                  V^ ,          4      VP                  V^,          4      8w  g   K8  RP                  VR7      p\        V4      h	  RV9   d   Rp\        V4      hR# )r‡   r†   r¡   r¢   z Currently list is not supported.N))r‡   r‰   )r†   rˆ   )Ú(Ú))Úcountr°   rœ   )rd   rW   Úbracketr¼   s   &&  rZ   r«   ÚMathematicaParser._check_inputï  sh   € ã;ˆGØ�w‰w�w˜q•zÓ" a§g¡g¨g°a­jÓ&9Ö9Ø7×>Ñ>ÀÐ>ÓC�Ü  “oÐ%ñ <ð
 �!Œ8Ø4ˆCÜ˜S“/Ð!ñ r\   c                	ó"  € V P                  V4       V P                  VR 4      pV P                  VR4      pV P                  VR4      pV P                  VR4      pV P                  V4      pV P                  VR4      pV P                  VR4      pV# )rŠ   r„   rŒ   r�   r…   rŽ   )r«   r¬   r­   rË   )r�   rW   s   &&rZ   rV   ÚMathematicaParser._parse_oldú  s›   € à×Ñ˜!Ôð ×Ñ˜a Ó.ˆð �M‰M˜!˜SÓ!ˆð ×Ñ˜a Ó*ˆØ×Ñ˜a Ó*ˆð ×"Ñ" 1Ó%ˆð �M‰M˜!˜SÓ!ˆð ×Ñ˜a Ó&ˆð ˆr\   c                	ól   € V P                  V4      pV P                  V4      pV P                  V4      pV# ry   )Ú_from_mathematica_to_tokensÚ_from_tokens_to_fullformlistÚ_from_fullformlist_to_sympy)r�   rW   Ús2Ús3Ús4s   &&   rZ   r^   ÚMathematicaParser.parse  s7   € Ø×-Ñ-¨aÓ0ˆØ×.Ñ.¨rÓ2ˆØ×-Ñ-¨bÓ1ˆØˆ	r\   ÚInfixÚPrefixÚPostfixÚFlatÚRightÚLeftÚ;c                	óx   € \        V \        4      '       d!   V '       d   V ^ ,          R8X  d   V R.,           # RV R.# )r   ÚCompoundExpressionÚNull)rj   Úlist©rÁ   s   &rZ   Ú<lambda>ÚMathematicaParser.<lambda>%  sP   € ¼
À1Äd×8KÒ8K×PQÐVWÐXYÕVZÐ^rÔVr¨¨V¨H­ð  )Zð  zNð  PQð  SYð  yZð  )Zr\   r   Ú=ÚSetz:=Ú
SetDelayedz+=ÚAddToz-=ÚSubtractFromz*=ÚTimesByz/=ÚDivideByz//c                	ó   € W.# ry   re   ©rÁ   Úys   &&rZ   r  r  (  s   € ¨1©&r\   Ú&r>   z/.Ú
ReplaceAllz->ÚRulez:>ÚRuleDelayedz/;Ú	Conditionr¥   ÚAlternativesz..ÚRepeatedz...ÚRepeatedNullz||rG   z&&rH   Ú!ÚNotz===ÚSameQz=!=ÚUnsameQz==ÚEqualz!=ÚUnequalz<=Ú	LessEqualÚ<ÚLessz>=ÚGreaterEqualÚ>ÚGreaterz;;ÚSpanÚ+ÚPlusÚ-ÚTimesÚ/Ú.ÚDotc                	ó,   € \         P                  V 4      # ry   )rU   Ú_get_negr  s   &rZ   r  r  8  s   € Ô'8×'AÑ'AÀ!Ô'Dr\   c                	ó   € V # ry   re   r  s   &rZ   r  r  9  s   € ¡qr\   ÚPowerz@@ÚApplyz/@ÚMapz//@ÚMapAllz@@@c                	ó   € R WRR..# )r0  ÚListÚ1re   r  s   &&rZ   r  r  ;  s   € ÐZaÐcdÐjpÐruÐivÑYwr\   Ú'Ú
DerivativeÚ	Factorialz!!Ú
Factorial2z--Ú	Decrementc                	ó   € V .VO# ry   re   r  s   &&rZ   r  r  =  s
   € ¨!¨¨a©r\   ú[[c                	ó   € R V .VO# )ÚPartre   r  s   &&rZ   r  r  =  s   € ÀfÈaÀ_ÐRSÁ_r\   c                	ó   € R .V O# )r4  re   r  s   &rZ   r  r  >  s
   € ¨ |°¡|r\   ré   c                	ó   € V ^ ,          # )r   re   r  s   &rZ   r  r  >  s   € ÀAÀaÆDr\   Ú?ÚPatternTestÚ_c                	ó   € R V R..# ©ÚPatternÚBlankre   r  s   &rZ   r  r  A  s   € ˜I q¨7¨)Ñ4r\   z_.c                	ó   € R RV R...# )ÚOptionalrF  rG  re   r  s   &rZ   r  r  B  s   € ˜Z¨)°Q¸¸	Ð)BÑCr\   Ú__c                	ó   € R V R..# )rF  ÚBlankSequencere   r  s   &rZ   r  r  C  s   € ˜Y¨¨OÐ+<Ñ=r\   Ú___c                	ó   € R V R..# )rF  ÚBlankNullSequencere   r  s   &rZ   r  r  D  s   € ˜i¨Ð-@Ð,AÑBr\   c                	ó   € R V RV..# rE  re   r  s   &&rZ   r  r  F  s   € ¨)°Q¸À!¸Ñ)Er\   Ú#rb   z##ÚSlotSequencez7list[tuple[str, str | None, dict[str, str | Callable]]]Ú_mathematica_op_precedencec                 	ó
   € R R.# )rb   r5  re   re   r\   rZ   r  r  K  s   € �f˜c‘]r\   c                 	ó
   € R R.# )rR  r5  re   re   r\   rZ   r  r  L  s	   € �~ sÑ+r\   z[A-Za-z][A-Za-z0-9]*z (?:[0-9]+(?:\.[0-9]*)?|\.[0-9]+)c                	ó˜   € \        V\        4      '       d1   \        P                  ! \        P
                  V4      '       d   R V 2# RRV.# )r'  r(  ú-1)rj   Ústrr¶   ÚmatchrU   Ú_number©rd   rÁ   s   &&rZ   r-  ÚMathematicaParser._get_negU  sA   € ä$ Q¬×,Ò,´·²Ô:K×:SÑ:SÐUV×1WÒ1W��1�#ˆwÐoÐ^eÐgkÐmnÐ]oÐor\   c                	ó   € R VR.# )r/  rW  re   r[  s   &&rZ   Ú_get_invÚMathematicaParser._get_invY  s   € à˜˜DÐ!Ð!r\   c                	ób  € V P                   e   V P                   # V P                  V P                  .pV P                  R,          V P                  R,          ,           pV P
                   F   w  r4pV F  pVP                  V4       K  	  K"  	  VP                  R R7       VP                  \        \        P                  V4      4       VP                  R4       VP                  R4       \        P                  ! RRP                  V4      ,           R,           4      pWpn         V P                   # )	N:NNNc                ó   € \        V 4      ) # ry   )rf   r  s   &rZ   r  Ú2MathematicaParser._get_tokenizer.<locals>.<lambda>h  s
   € ¬#¨a«&©r\   )rÀ   rÎ   Ú
ré   r¥   rê   )Ú_regex_tokenizerÚ_literalrZ  Ú_enclosure_openÚ_enclosure_closerS  rÖ   ÚsortÚextendÚmapr¶   Úescaper·   r´   )r�   ÚtokensÚtokens_escapeÚtypÚstratÚsymdictÚkÚ	tokenizers   &       rZ   Ú_get_tokenizerÚ MathematicaParser._get_tokenizer_  sð   € Ø× Ñ Ò,à×(Ñ(Ð(Ø—-‘- §¡Ð.ˆØ×,Ñ,¨QÕ/°$×2GÑ2GÈÕ2JÕJˆØ#'×#BÔ#BÑˆC˜Û�Ø×$Ñ$ QÖ'ó ñ $Cð 	×ÑÑ0ÐÔ1Ø�‰”cœ"Ÿ)™) ]Ó3Ô4Ø�‰�cÔØ�‰�dÔÜ—J’J˜s S§X¡X¨fÓ%5Õ5¸Õ;Ó<ˆ	Ø )ÔØ×$Ñ$Ð$r\   c               ó   € V ^8„  d   QhRR/# )é   ÚcoderX  re   )r°   s   "rZ   Ú__annotate__ÚMathematicaParser.__annotate__p  s   € ÷ -ñ -°ñ -r\   c                	ó€  € V P                  4       p. p VP                  R4      pVR8X  d#   \        V4      ^ 8”  d   VP                  V4       M \        P
                  ! RW^,           R 4      pVf   \        R4      hWEP                  4       ,           ^,           pV^ 8”  d   VP                  VRV 4       VP                  RW^,           V P                  RR4      .4       W^,           R pKÛ  \        V4       F{  w  rx\        V\        4      '       d   K   VP                  R4      p	V	R8X  d   M@VP                  R4      p
V
R8X  g   W©8  d   \        R	4      hVRV	 WŠ^,           R ,           pKZ  WƒV&   K}  	  V Uu. uFC  p\        V\        4      '       d(   VP                  4       '       d   VP                  V4      MV.NKE  	  ppV UUu. uF  qw F  qÌNK  	  K  	  pppV'       d"   V^ ,          R
8X  d   VP                  ^ 4       K)  V'       d"   VR,          R
8X  d   VP                  R4       K)  V# u upi u uppi )TÚ"z(?<!\\)"Nz"mismatch in string "  " expressionÚ_Strz\"z(*z*)zmismatch in comment (*  *) coderc  r©   )rs  Úfindrf   rÖ   r¶   r¯   rm   r³   rà   rl   rj   r  rX  ÚisasciiÚfindallr×   )r�   rw  rr  Úcode_splitsÚstring_startÚ	match_endÚ
string_endrt   Ú
code_splitÚpos_comment_startÚpos_comment_endÚtoken_listsÚjrl  s   &&            rZ   rñ   Ú-MathematicaParser._from_mathematica_to_tokensp  s  € Ø×'Ñ'Ó)ˆ	ð )+ˆØØŸ9™9 T›?ˆLØ˜rÔ!Ü�t“9˜q”=Ø×&Ñ& tÔ,ØÜŸ	š	 +¨tÀµN°OÐ/DÓEˆIØÒ Ü!Ð"FÓGÐGØ%¯©Ó(9Õ9¸AÕ=ˆJØ˜aÔØ×"Ñ" 4¨¨Ð#6Ô7Ø×Ñ ¨¸!­^¸JÐ(G×(OÑ(OÐPUÐWZÓ([Ð\Ô]Ø 1�˜Ð&ŠDô ' {Ö3‰MˆAÜ˜*¤d×+Ò+ÙØØ$.§O¡O°DÓ$9Ð!Ø$¨Ô*ØØ",§/¡/°$Ó"7�Ø" bÔ(¨OÔ,OÜ%Ð&GÓHÐHØ'Ð(:Ð):Ð;¸jÐYZÕIZÐI[Ð>\Õ\’
Ø'˜‹Nñ 4ñ epÓpÑdoÐ_`¬z¸!¼S×/AÒ/AÀaÇiÁiÇkÂk�y×(Ñ(¨Ô+ÐXYÐWZÒZÑdoˆÐpÙ(Ô4™[˜²!¨Q’!±!‘!™[ˆÑ4÷ ˜ � dÔ*Ø�J‰J�qŽMç˜ � tÔ+Ø�J‰J�rŽNàˆùò qùÛ4s   Å<0H5Æ-H5ÇH:c               ó    € V ^8„  d   QhRRRR/# ©rv  Útokenz
str | listÚreturnÚboolre   )r°   s   "rZ   rx  ry  Ÿ  s   € ÷ ñ ˜Jð ¨4ñ r\   c                	óè   € \        V\        4      '       d   R # \        P                  ! V P                  V4      '       d   R # \        P                  ! RV P
                  ,           V4      '       d   R # R# )Fz-?T)rj   r  r¶   rY  re  rZ  ©r�   rŒ  s   &&rZ   Ú_is_opÚMathematicaParser._is_opŸ  sJ   € Ü�eœT×"Ò"ÙÜ�8Š8�D—M‘M 5×)Ò)ÙÜ�8Š8�D˜4Ÿ<™<Õ'¨×/Ò/ÙÙr\   c               ó    € V ^8„  d   QhRRRR/# r‹  re   )r°   s   "rZ   rx  ry  ¨  ó   € ÷ &ñ & Zð &°Dñ &r\   c                	ó@   € VR9   d   R# V P                  V4      '       * # )rê   T)rê   rˆ   ©r‘  r�  s   &&rZ   Ú_is_valid_star1Ú!MathematicaParser._is_valid_star1¨  ó   € Ø�JÔÙØ—;‘;˜uÓ%Ô%Ð%r\   c               ó    € V ^8„  d   QhRRRR/# r‹  re   )r°   s   "rZ   rx  ry  ­  r”  r\   c                	ó@   € VR9   d   R# V P                  V4      '       * # )ré   T)ré   r†   r–  r�  s   &&rZ   Ú_is_valid_star2Ú!MathematicaParser._is_valid_star2­  r™  r\   c               ó   € V ^8„  d   QhRR/# ©rv  rl  r  re   )r°   s   "rZ   rx  ry  ²  s   € ÷ 52ñ 52°4ñ 52r\   c                	ó”  € . .p. p^ pV\        V4      8  Edÿ   W,          pWPP                  9   d=   VR,          P                  V4       VP                  V4       VP                  . 4       EMžVR8X  d{   \        VR,          4      ^ 8X  d6   VR,          R,          VR,          8X  d   \        RVR,          ,          4      hV P	                  VR,          4      VR&   VP                  . 4       EMWPP
                  9   Edõ   V P
                  P                  V4      pV P                  V,          VR,          8w  dµ   \        R4      pVR8X  d¡   VR,          R8X  d“   VR,          R8X  d   VP                  V^,           R4       MlVR,          R8X  d\   W^,           ,          R8X  d   RW^,           &   M>W^,           ,          R8X  d&   RW^,           &   VP                  V^,           R4       MVhMVh\        VR,          4      ^ 8X  d!   VR,          R,          R8X  d   \        R	4      hV P	                  VR,          R
4      pW‚R&   . p	VR,          R,          VR,          8w  d"   V	P                  VP                  4       4       K=  V	P                  4        VR,          R8X  d,   \        V	4      ^8w  d   \        R\        V	4      ,          4      hVR,          P                  V	4       VP                  R4       MVR,          P                  V4       V^,          pEK  \        V4      ^8w  d   \        R4      hV P	                  V^ ,          4      # )r   rÎ   z %s cannot be followed by comma ,zunmatched enclosureú]]r‡   r‰   r<  ré   z( ) not valid syntaxTz1( must be followed by one expression, %i detectedz"Stack should have only one elementr©   éþÿÿÿ)rf   rf  rÖ   rm   Ú_parse_after_bracesrg  ÚindexÚinsertr×   ÚreverseÚRuntimeError)
r�   rl  ÚstackÚopen_seqÚpointerrŒ  ÚindÚunmatched_enclosureÚ
last_stackÚnew_stack_elements
   &&        rZ   rò   Ú.MathematicaParser._from_tokens_to_fullformlist²  s·  € Ø˜DˆØˆØˆØœ˜F›Õ#Ø•OˆEØ×,Ñ,Ô,Ø�b•	× Ñ  Ô'Ø—‘ Ô&Ø—‘˜RÖ Ø˜#”Ü�u˜R•y“> QÔ&¨5°­9°R­=¸HÀR½LÔ+HÜ%Ð&HÈ8ÐTVÍ<Õ&WÓXÐXØ ×4Ñ4°U¸2µYÓ?��b‘	Ø—‘˜RÖ Ø×/Ñ/Õ/Ø×+Ñ+×1Ñ1°%Ó8�Ø×'Ñ'¨Õ,°¸µÔ<Ü*5Ð6KÓ*LÐ'Ø ”}¨°"­¸Ô)<Ø# B�<¨3Ô.ð
 #ŸM™M¨'°!­)°SÕ9Ø% b�\¨TÔ1Ø%¨a¥iÕ0°CÔ7Ø48 ¨q¥yÒ 1Ø!'°­	Õ!2°dÔ!:Ø48 ¨q¥yÑ 1Ø &§¡¨g°a­i¸Õ =à&9Ð 9ð 2ð 2Ð1Ü�u˜R•y“> QÔ&¨5°­9°R­=¸CÔ+?Ü%Ð&<Ó=Ð=Ø!×5Ñ5°e¸BµiÀÓF�
Ø&�b‘	Ø$&Ð!Ø˜B•i •m x°¥|Ô3Ø%×,Ñ,¨U¯Y©Y«[Ö9Ø!×)Ñ)Ô+Ø˜B•< 3Ô&¬3Ð/@Ó+AÀQÔ+FÜ%Ð&YÔ\_Ð`qÓ\rÕ&rÓsÐsØ�b•	× Ñ Ð!2Ô3Ø—‘˜RÕ à�b•	× Ñ  Ô'Ø�q�L‹GÜˆu‹:˜Œ?ÜÐCÓDÐDØ×'Ñ'¨¨a­Ó1Ð1r\   c               ó$   € V ^8„  d   QhRRRRRR/# )rv  Úlinesr  rl  Úinside_enclosurerŽ  re   )r°   s   "rZ   rx  ry  é  s"   € ÷ !ñ !¨4ð !¸ð !ÐQUñ !r\   c                	óˆ  € ^ p\        V4      pWE8  Ed   W$,          pVR8X  dæ   V'       d   VP                  V4       V^,          pK:  V^ 8X  d   VP                  ^ 4       V^,          pK]  V^8”  d    V P                  VRV V4      pM	V^ ,          p\        V4      ^ 8”  d(   V^ ,          R8X  d   VP	                  VR,          4       MVP                  V4       \        V4       F  pVP                  ^ 4       K  	  WT,          p^ pKû  V^,          pEK  R#   \         d     TP                  T4       T^,          p EK2  i ; i)r   rc  Nr   ºra   NN)rf   r×   r£  rm   ri  rÖ   Úrange)	r�   r±  rl  r²  rª  ÚsizerŒ  Ú	prev_exprrt   s	   &&&&     rZ   Ú_util_remove_newlinesÚ'MathematicaParser._util_remove_newlinesé  s   € ØˆÜ�6‹{ˆØ�nØ•OˆEØ˜Œ}ß#à—J‘J˜wÔ'Ø˜A•I�DÙØ˜a”<Ø—J‘J˜q”MØ˜A•I�DÙØ˜Q”;ð!Ø$(×$<Ñ$<¸VÀHÀWÐ=MÐO_Ó$`™	ð !' q¥	�IÜ�y“> AÔ%¨)°A­,Ð:NÔ*NØ—L‘L ¨2¥Õ/à—L‘L Ô+Ü˜wž�AØ—J‘J˜q–Mñ (à•�Ø�ÙØ�q�L‹Gñ= øô 'ô !ØŸ
™
 7Ô+Ø �	˜Û ð!ús   Á3D Ä%EÅ Ec               ó   € V ^8„  d   QhRR/# rŸ  re   )r°   s   "rZ   rx  ry    s   € ÷ ñ °$ñ r\   c                	ó|  € \        V4      p^ pW28  d©   V^ 8”  d—   V P                  W^,
          ,          4      '       ds   V P                  W,          4      '       dV   W,          R8X  d%   RW&   W^,           ,          ^ ,          W^,           &   M$VP                  VR4       V^,          pV^,          pV^,          pK®  R# )r   ré   r‹   N)rf   r—  rœ  r¥  )r�   rl  r¶  rª  s   &&  rZ   Ú_util_add_missing_asterisksÚ-MathematicaParser._util_add_missing_asterisks  s    € Ü˜“KˆØˆØŒnØ˜!”Ø×(Ñ(¨¸!µÕ)<×=Ò=Ø×(Ñ(¨­×9Ò9ð
 •? cÔ)à&)�F‘OØ*0¸1µÕ*=¸aÕ*@�F Q�;Ò'à—M‘M '¨3Ô/Ø˜q•L�GØ˜A•I�DØ�q�LŠGñ! r\   c               ó    € V ^8„  d   QhRRRR/# )rv  rl  r  r²  rŽ  re   )r°   s   "rZ   rx  ry  !  s   € ÷ wñ w¨$ð wÀ$ñ wr\   c                	óP  € R p. pV P                  WAV4       \        V P                  4       EFÍ  w  rVpRV9   d   V P                  V4       \	        V4      p^ p	W˜8  g   K4  W,          p
\        V
\        4      '       Edr   W§9   Edk   Wz,          p\        V\        4      '       d   V.p^pM. p^ pV
R	9   dG   WPP                  8X  d7   V	^ 8”  d0   V P                  W^,
          ,          4      '       g   V	^,          p	K£  WPP                  8X  di   V	^ 8X  gV   W˜^,
          8X  gI   V P                  W^,
          ,          4      '       g%   V P                  W^,           ,          4      '       d   V	^,          p	EK  RpWÁV	&   WPP                  8X  Edº   VP                  V	^,
          4      pVP                  V	4      pV
R8X  d   V P                  V4      pMV
R8X  d   V P                  V4      pV	^,          p	V^,          pVP                  V4       TpW`P                  8X  dÄ   V	^,           V8  d£   V P                  W^,           ,          V
4      '       d~   VP                  V4       VP                  V	^,           4      pVP                  V	^,           4      pVR8X  d   V P                  V4      pMVR8X  d   V P                  V4      pV^,          pK°  VP                  V4       EM¡W`P                   8X  dŒ   V	^,           V8  dk   W^,           ,          V
8X  dW   VP                  W¿.4       VR
,          pVP                  V	^,           4       VP                  V	^,           4      pV^,          pKx  VP                  V4       EMW`P"                  8X  dª   V	^,           V8  d‰   W^,           ,          V
8X  du   \        V\        4      '       d   VVV,          V.VV&   MV! VV,          V4      VV&   VP                  V	^,           4       VP                  V	^,           4      pV^,          pK–  VP                  V4       EMMVP                  V4       EM:WPP                  8X  d�   Ve   \%        R4      hW˜^,
          8X  g%   V P                  W^,           ,          4      '       d   V P&                  V
,          ! 4       W&   MÏVP                  VP                  V	^,           4      4       V^,          pMžWPP(                  8X  d�   Ve   \%        R4      hV	^ 8X  g%   V P                  W^,
          ,          4      '       d   V P&                  V
,          ! 4       W&   M9VP                  VP                  V	^,
          4      4       V	^,          p	V^,          p\        V\*        4      '       d^   \,        P.                  ! \*        V4      pV! V!  pVP1                  4        \        V\2        4      '       d   VP5                  V4       MVW&   V	^,          p	EK¤  	  \	        V4      ^8”  g!   \	        V4      ^ 8X  d5   \	        V4      ^ 8X  d%   V'       d   V P7                  W4      # \9        R4      h\	        V4      ^ 8”  d>   V^ ,          '       d&   V^ ,          ^ ,          R8X  d   V^ ,          R,          pR.VOVOpV# V^ ,          # )Fr‹   r'  Tr)  z1'Prefix' op_type should not have a grouping stratz0unable to create a single AST for the expressionr   r´  )r%  r'  r©   )r¸  ÚreversedrS  r¼  rf   rj   rX  ÚPREFIXr‘  ÚINFIXr×   r^  r-  rÖ   ÚFLATÚ_check_op_compatibleÚRIGHTÚLEFTÚ	TypeErrorÚ_missing_arguments_defaultÚPOSTFIXr   ÚtypingÚcastÚclearr  ri  r£  rm   )r�   rl  r²  Úchangedr±  Úop_typeÚgrouping_stratÚop_dictr¶  rª  rŒ  Úop_nameÚnodeÚfirst_indexÚarg1Úarg2Únode_pÚother_opÚop_callÚnew_nodeÚcompound_expressions   &&&                  rZ   r£  Ú%MathematicaParser._parse_after_braces!  sg  € àˆØˆà×"Ñ" 5Ð2BÔCä08¸×9XÑ9X×0YÑ,ˆG WØ�gŒ~Ø×0Ñ0°Ô8Ü˜F›ˆDØˆGØ–.Ø��Ü˜e¤S×)Ó)¨eÕ.>Ø.5­n�Gô " '¬3×/Ò/Ø '˜y˜Ø&'™à!˜Ø&'˜Ø 
Ô*¨w¿+¹+Ô/EÈ'ÐTUÌ+Ð^b×^iÑ^iÐjpÐ{|Õq|Õj}×^~Ò^~ð   1�˜Ù Ø§*¡*Ô,Ø" aœ<¨7¸QµhÔ+>À$Ç+Á+ÈfÐ_`ÕU`ÕNa×BbÒBbÐfj×fqÑfqÐrxð  DEõ  zEõ  sF÷  gGò  gGØ# q�L˜GÚ$Ø"�GØ&*˜7‘OØ§*¡*Õ,Ø%Ÿz™z¨'°!­)Ó4˜Ø%Ÿz™z¨'Ó2˜Ø  Cœ<Ø#'§=¡=°Ó#6™DØ" cœ\Ø#'§=¡=°Ó#6˜DØ 1�˜Ø �	˜ØŸ™ DÔ)Ø!%˜Ø)¯Y©YÔ6Ø")¨A¥+°Ô"4¸×9RÑ9RÐSYÐbcÕZcÕSdÐfk×9lÒ9lØ &§¡¨dÔ 3Ø+1¯:©:°g¸aµiÓ+@ Ø'-§z¡z°'¸!µ)Ó'< Ø#+¨s¤?Ø+/¯=©=¸Ó+>¡DØ%-°¤_Ø+/¯=©=¸Ó+> DØ $¨¥	¢Ø"ŸM™M¨$Ö/Ø+¯z©zÔ9Ø")¨A¥+°Ô"4¸ÈÅ	Õ9JÈeÔ9SØ &§¡¨w¨oÔ >Ø)/°­ Ø &§
¡
¨7°1­9Ô 5Ø'-§z¡z°'¸!µ)Ó'< Ø $¨¥	¢Ø"ŸM™M¨$Ö/Ø+¯y©yÔ8Ø")¨A¥+°Ô"4¸ÈÅ	Õ9JÈeÔ9SÜ#-¨g´s×#;Ò#;Ø;BÀFÈ;ÕDWÐY]Ð:^ F¨;Ò$7á:AÀ&ÈÕBUÐW[Ó:\ F¨;Ñ$7Ø &§
¡
¨7°1­9Ô 5Ø'-§z¡z°'¸!µ)Ó'< Ø $¨¥	¢Ø"ŸM™M¨$Ö/à ŸK™K¨Ö-Ø §K¡KÔ/Ø)Ò5Ü"+Ð,_Ó"`Ð`Ø"¨Q¥hÔ.°$·+±+¸fÈqÅ[Õ>Q×2RÒ2RØ.2×.MÑ.MÈeÖ.TÓ.V˜FšOà ŸK™K¨¯
©
°7¸1µ9Ó(=Ô>Ø  A�I™DØ §L¡LÔ0Ø)Ò5Ü"+Ð,_Ó"`Ð`Ø" aœ<¨4¯;©;°vÈ½kÕ7J×+KÒ+KØ.2×.MÑ.MÈeÖ.TÓ.V˜FšOà ŸK™K¨¯
©
°7¸1µ9Ó(=Ô>Ø# q�L˜GØ  A�I˜DÜ! '¬8×4Ò4Ü,2¯KªK¼À'Ó,J˜Ù#*¨D¡>˜ØŸ
™
œÜ% h´×5Ò5Ø ŸK™K¨Õ1à.6˜F™OØ˜1•“ñ 1Zô@ ˆv‹;˜Œ?œs 5›z¨Qœ´3°v³;À!Ô3Cßð ×/Ñ/°ÓIÐIÜÐPÓQÐQÜˆu‹:˜Œ>Ø�a�yŒy˜V A�Y q�\Ð-AÔAØ � 2��Ø#7Ð"I¸%Ð"IÀ&Ð"IÐØ&Ð&Ø�a�yÐr\   c               ó    € V ^8„  d   QhRRRR/# )rv  Úop1rX  Úop2re   )r°   s   "rZ   rx  ry  š  s   € ÷ 	ñ 	¨ð 	°#ñ 	r\   c                	ó^   € W8X  d   R # RR0pRR0pW9   d	   W#9   d   R # W9   d	   W$9   d   R # R# )Tr‹   r)  r%  r'  Fre   )r�   rÝ  rÞ  ÚmuldivÚaddsubs   &&&  rZ   rÄ  Ú&MathematicaParser._check_op_compatibleš  s7   € ØŒ:ÙØ�s�ˆØ�s�ˆØŒ=˜Sœ]ÙØŒ=˜Sœ]ÙÙr\   c               ó   € V ^8„  d   QhRR/# )rv  ÚwmexprrX  re   )r°   s   "rZ   rx  ry  ¥  s   € ÷ ñ °Sñ r\   c                óÔ  € . pV.p\         P                  ! RV4      p^ pV EF;  pVf    V^ ,          # VP                  4       pWV P                  RR4      P                  RR4      P                  RR4      P	                  4       pVP                  4       R8X  d!   VR8w  d   VR,          P                  V4       M’VP                  4       R8X  d1   VR8w  d   VR,          P                  V4       VP                  4        MMVP                  4       R8X  d9   VR,          P                  V.4       VP                  VR,          R,          4       VP                  4       pEK>  	  V^ ,          # )z8
Parses FullForm[Downvalues[]] generated by Mathematica
z[\[\],]rÎ   r}   r‰   r‡   r©   )	r¶   Úfinditerr³   rà   Ústripr±   rÖ   r×   r¾   )	r�   rä  Úoutr¨  Ú	generatorÚlast_posrY  ÚpositionÚ	last_exprs	   &&       rZ   Ú_from_fullform_to_fullformlistÚ0MathematicaParser._from_fullform_to_fullformlist¥  s0  € ð ˆØ�ˆÜ—K’K 
¨FÓ3ˆ	ØˆÜˆEØŠ}Øð �1�vˆð —{‘{“}ˆHØ¨Ð1×9Ñ9¸#¸rÓB×JÑJÈ3ÐPRÓS×[Ñ[Ð\_ÐacÓd×jÑjÓlˆIà�{‰{‹} Ô#Ø ”?Ø˜"•I×$Ñ$ YÔ/øØ—‘“ #Ô%Ø ”?Ø˜"•I×$Ñ$ YÔ/Ø—	‘	•Ø—‘“ #Ô%Ø�b•	× Ñ  ) Ô-Ø—‘˜U 2�Y r�]Ô+Ø—y‘y“{‹Hñ! ð" �1�vˆr\   c               ó   € V ^8„  d   QhRR/# )rv  Úpylistr  re   )r°   s   "rZ   rx  ry  À  s   € ÷ !ñ !¸$ñ !r\   c                	ó8   aaa€ ^ RI HoHo VVV3R loS! V4      # )r   )r>   ÚSymbolc                ó(  <€ \        V \        4      '       dO   \        V 4      ^ 8”  d4   V ^ ,          pV R,           Uu. uF  pS! V4      NK  	  ppS! V4      ! V!  # \        R4      h\        V \        4      '       d	   S! V 4      # \        V 4      # u upi )r   r´  zEmpty list of expressions)rj   r  rf   rœ   rX  rN   )ÚexprÚheadrn   rh   r>   rò  Ú	converters   &   €€€rZ   rö  ÚHMathematicaParser._from_fullformlist_to_fullformsympy.<locals>.converterÃ  s‚   ø€ Ü˜$¤×%Ò%Ü�t“9˜q”=Ø �7�DØ6:¸2¶hÓ?±h¨s™I cžN±h�DÐ?Ù# Dœ>¨4Ñ0Ð0ä$Ð%@ÓAÐAÜ˜D¤#×&Ò&Ù˜d“|Ð#ä “~Ð%ùò @s   ¼B)Úsympyr>   rò  )r�   rð  r>   rò  rö  s   &&@@@rZ   Ú#_from_fullformlist_to_fullformsympyÚ5MathematicaParser._from_fullformlist_to_fullformsympyÀ  s   ú€ ß*÷	&ñ ˜Ó Ð r\   r
   ÚLogc                 	ó&   € \        \        V 4      !  # ry   )r   rÀ  ©rp   s   *rZ   r  r  ×  s   € œ#œx¨›{Ò+r\   ÚLog2c                	ó   € \        V ^4      # ©rv  ©r   r  s   &rZ   r  r  Ø  s
   € œ#˜a œ)r\   ÚLog10c                	ó   € \        V ^
4      # )é
   r  r  s   &rZ   r  r  Ù  s
   € œ3˜q "œ:r\   ÚExpÚSqrtÚArcSinÚArcCosÚArcTanc                 	óX   € \        V 4      ^8X  d   \        \        V 4      !  # \        V !  # r   )rf   r*   rÀ  r)   rý  s   *rZ   r  r  æ  s#   € ´C¸³F¸a´KœU¤H¨Q£KÑ0ÐMÄTÈ1ÁXÐMr\   ÚArcCotÚArcSecÚArcCscÚSinhÚCoshÚTanhÚCothÚSechÚCschÚArcSinhÚArcCoshÚArcTanhÚArcCothÚArcSechÚArcCschÚExpandÚImÚReÚFlattenÚPolylogÚCancelÚ
TrigExpandÚSignÚSimplifyÚDeferÚIdentityr  c                 	ó"   € \         P                  # ry   )r(   ÚZerorý  s   *rZ   r  r    s   € œ1Ÿ6š6r\   r+   r,   r-   Ú
PochhammerÚExpIntegralEiÚSinIntegralÚCosIntegralÚAiryAiÚAiryAiPrimeÚAiryBiÚAiryBiPrimeÚLogIntegralÚPrimePiÚPrimeÚPrimeQr4  r?   c                	ó$   a a€ VV 3R  loS! V4      # )c                óŠ  <€ \        V \        4      '       d„   \        V ^ ,          \        4      '       d   S! V ^ ,          4      pM3SP                  P                  V ^ ,          \	        V ^ ,          4      4      pT! V R,           Uu. uF  pS! V4      NK  	  up!  # SP
                  P                  V \        V 4      4      # u upi )r   r´  )rj   r  Ú_node_conversionsÚgetr>   Ú_atom_conversionsrM   )rô  rõ  rn   Úrecurser�   s   &  €€rZ   r8  Ú>MathematicaParser._from_fullformlist_to_sympy.<locals>.recurse,  s™   ø€ Ü˜$¤×%Ò%Ü˜d 1�g¤t×,Ò,Ù" 4¨¥7Ó+‘Dà×1Ñ1×5Ñ5°d¸1µg¼xÈÈQÍÓ?PÓQ�DÙ°d¸2¶hÓ?±h¨s™g cžl±hÑ?Ñ@Ð@à×-Ñ-×1Ñ1°$¼À»ÓFÐFùò @s   ÂC re   )r�   Úfull_form_listr8  s   f&@rZ   ró   Ú-MathematicaParser._from_fullformlist_to_sympy*  s   ù€ ö	Gñ �~Ó&Ð&r\   c                	ó†   € TpV P                   P                  4        F   w  r4VP                  \        V4      V4      pK"  	  V# ry   )r5  rª   rà   r>   )r�   Úmformrô  Úmma_formÚ
sympy_nodes   &&   rZ   Ú_from_fullformsympy_to_sympyÚ.MathematicaParser._from_fullformsympy_to_sympy8  s>   € àˆØ$(×$:Ñ$:×$@Ñ$@Ö$BÑ ˆHØ—<‘<¤¨Ó 2°JÓ?ŠDñ %Càˆr\   )rd  r™   )r}   ÚArc)r~   r   r€   r�   r‚   rƒ   )r}   Úhry   )ré   r‡   r<  r†   )rê   r‰   r¡  rˆ   )F)ˆÚ__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r”   r   ÚarcÚtrirC  rº   Úlowerr§   r•   rß   r¶   r·   r¸   rå   r®   ÚARG_MTRX_PATTERNrµ   r�   Ú__annotations__r�   r‘   Úclassmethodrz   rž   r“   rË   rÇ   r²   r­   r¬   r«   rV   r^   rÂ  rÁ  rÉ  rÃ  rÅ  rÆ  rS  rÈ  re  rZ  rf  rg  r-  r^  rd  rs  rñ   r‘  r—  rœ  rò   r¸  r¼  r£  rÄ  rí  rù  r   r   r	   r
   r   r   r   r   r   r8   r9   r:   r   r   r   r   r   r   r   r   r=   r<   r;   r   r   r   r   r   r   r   r    rø  r!   r"   r#   r$   r%   r&   r'   r(   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   rO   rP   r5   r6   r7   rA   rC   rB   rD   rE   rF   rG   rH   rw   r5  r?   r@   r7  ró   r@  Ú__static_attributes__re   r\   rZ   rU   rU   n   sm
  ‡ ñð(Ø�9ðà˜ðð 	�(ðð 	�(ð	ð
 	�Jðð 	�:ðð 	�Kðð 	�Jðð 	�9ðð 	�9ðð 	˜)ðð 	�lðð 	˜Gðð 	˜'ðð 	˜'ðð  	�[ð!ð" 	Ð*ð#ð$ 	�[ØÐ*Ø˜Ø�lØ�JØ�\ñ/€Oñ6 ™{ñ -6Ù7@öB‰ˆˆS�!à�3�Y˜�]˜UÕ"ˆßØ�s—y‘y“{Õ" QÕ&¨Õ.‰Bà—‘“˜q• 5Õ(ˆBØ×Ñ  B˜xÖ(ñBð 	ˆRØˆTØˆSØˆSð	€Lð 	Ø�JŠJð ð —Z‘Zó	!ð
 ðð 	Ø�JŠJð ð —Z‘Zó	!ð
 ðð 	Ø�JŠJð ð —Z‘Zó	!ð
 ðð 	Ø�JŠJð ð —Z‘Zó!ð ðð;&€EðR —’ð ð —Z‘Zó!€Jð —z’zð #à—Z‘Zó!Ðð
Ðð ;=€LÐ7Ó<ð =?€NÐ9Ó>ð =?€NÐ9Ó>àñ#ó ð#õ
@ð0 ñ=ó ð=ò~%òN@ðD ñ#ó ð#ðJ ñó ðð
 ñó ðð ñ"ó ð"òò:ð €EØ€FØ€GØ€DØ€EØ€Dð 
�$˜ñ  Zð  [ð  	\Ø	��sÐ0Ð1Ð2Ø	�˜˜U D¨,¸¸gÀtÈ^Ð]aÐclÐnrÐt~Ðð  	AØ	��tÑ0Ð1Ð2Ø	�$˜˜jÐ)Ð*Ø	��t˜\Ð*Ð+Ø	�˜˜f d¨MÐ:Ð;Ø	��t˜[Ð)Ð*Ø	��s˜NÐ+Ð,Ø	�$˜˜z¨5°.ÐAÐBØ	��t˜T�lÐ#Ø	��t˜U�mÐ$Ø	�˜˜U�|Ð$Ø	��u˜g u¨iÐ8Ð9Ø	��t˜W d¨I°t¸[È#ÈvÐW[Ð]kÐmpÐr{Ð|Ð}Ø	��t˜V�nÐ%Ø	��s˜F C¨Ð0Ð1Ø	��s˜G S¨'Ð2Ð3Ø	��s˜E�lÐ#Ø	�˜ÑDØ™[ð*ð 	+à	�˜˜W�~Ð&Ø	�˜˜g t¨U°E¸8ÀUÑLwÐxÐyØ	�$˜˜l¨C°¸dÀLÐRVÐXcÐdÐeØ	��sÑ0°$Ñ8TÐUÐVØ	�˜Ñ3°S¹.ÐIÐJØ	��s˜MÐ*Ð+Ø	�$ØÑ4ØÑCØÑ=ØÑBð	
ð 	ð 
��sÑEÐFÐGØ	�˜˜V T¨>Ð:Ð;ðG$[ÐÐ Wó $ðN 	Ñ"ØÑ+ð"Ðð
 '€HØ1€Gã+€OÛ,Ðàñpó ðpð ñ"ó ð"ð Ðò%õ"-õ^õ&õ
&õ
52õn!õF÷*wð wõr	õõ6!ð$QØ�ðQà�ðQð 	�ðQð 	�Hð	Qð
 	Ñ+ðQð 	Ñ#ðQð 	Ñ%ðQð 	ˆsðQð 	�ðQð 	ˆsðQð 	ˆsðQð 	ˆsðQð 	ˆsðQð 	ˆsðQð  	ˆsð!Qð$ 	�$ð%Qð& 	�$ñ'Qð( 	ÑMð)Qð* 	�$ð+Qð, 	�$ð-Qð. 	�$ð/Qð2 	�ð3Qð4 	�ð5Qð6 	�ð7Qð8 	�ð9Qð: 	�ð;Qñ< 	�ð=Qñ@ 	�5ðAQñB 	�5ðCQñD 	�5ðEQñF 	�5ðGQñH 	�5ðIQñJ 	�5ðKQñN 	�&òOQñP 	ˆbðQQñR 	ˆe�h‰hðSQñT 	�7ðUQñV 	�7ðWQñX 	�&ðYQñ\ 	�kð]Qñ^ 	�ð_Qñ` 	�HðaQñb 	�ðcQñd 	�AðeQñl 	Ò!ðmQñn 	ˆsðoQñp 	ˆsðqQñr 	ˆsðsQñt 	�bðuQñv 	˜ðwQñx 	�ròyQñz 	�rð{Qñ| 	�&ð}Qñ~ 	�{ðQñ@ 	�&ðAQñB 	�{ðCQñD 	�rðEQñF 	�7ðGQñH 	�ðIQñJ 	�'ðKQñN 	�ðOQðP 	Ð$ðQQðR 	˜ðSQðT 	�ðUQðV 	�XðWQðX 	�ðYQðZ 	ˆbð[Qð\ 	ˆsñ]Qð` 	�OñaQÐñh 	ˆQØˆbðÐó
'÷ð r\   rU   ry   )]Ú
__future__r   r¶   rÊ  Ú	itertoolsr   r   r   rø  r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   Úsympy.core.sympifyrM   rN   Úsympy.functions.special.besselrO   Ú'sympy.functions.special.error_functionsrP   Úsympy.utilities.exceptionsrQ   r[   r_   rw   r{   rU   re   r\   rZ   Ú<module>rV     sÃ   ðÝ "Û 	Û Ý ß  ã ÷A÷ A÷ A÷ A÷ A÷ A÷ A÷ A÷ A÷ A÷ A÷ A÷ A÷ A÷ A÷ A÷ A÷ A÷
 1Ý 6Ý 6Ý @ô
)ò3òlDò&ð
 ÷Nð Nó òNr\   