
    \h1                       S r SSKJr  SSKJr  SSKJrJrJr  SSK	J
r
  SSKJr  SSKJr  0 SS	 S
4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_S S! S"4/_S#S$ S%4/_S&S' S(4/_S)S* S+4/_S,S- S.4/_S/S0 S14/_S2S3 S44/_S5S6 S74/_S8S9 S:4/_0 S;S< S=4/_S>S? S@4/_SASB SC4/_SDSE SF4/_SGSH SI4/_SJSK SL4/_SMSN SO4/_SPSQ SR4/_SSST SU4/_SVSW SX4/_SYSZ S[4/_S\S] S\4/_S^S_ S^4/_S`Sa Sb4/_ScSd Sb4/_SeSf Sg4/_ShSi Sj4/_E0 SkSl Sm4/_SnSo Sp4/_SqSr Sm4/_SsSt Su4/_SvSw Sx4/_SySz S{4/_S|S} S~4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_E0 SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_E0 SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_SS S4/_E0 SGS  GS4/_GSGS GS4/_GSGS GS4/_GSGS	 GS
4/_GSGS GS4/_GSGS GS4/_GSGS GS4/_GSGS GS4/_GSGS GS4/_GSGS GS4/_GSGS GS4/_GS GS! GS"4/_GS#GS$ GS%4/_GS&GS' GS(4/_GS)GS* GS)4/_GS+GS, GS-4/_GS.GS/ GS.4/_EGS0GS1 GS24/0Er " GS3 GS4\5      rGS5 rGg6(7  z
Mathematica code printer
    )annotations)Any)BasicExprFloat)default_sort_key)CodePrinter)
precedenceexpc                    gNT xs    R/var/www/auris/envauris/lib/python3.13/site-packages/sympy/printing/mathematica.py<lambda>r          t    Explogc                    gr   r   r   s    r   r   r      r   r   Logsinc                    gr   r   r   s    r   r   r      r   r   Sincosc                    gr   r   r   s    r   r   r      r   r   Costanc                    gr   r   r   s    r   r   r      r   r   Tancotc                    gr   r   r   s    r   r   r      r   r   Cotsecc                    gr   r   r   s    r   r   r      r   r   Seccscc                    gr   r   r   s    r   r   r      r   r   Cscasinc                    gr   r   r   s    r   r   r          r   ArcSinacosc                    gr   r   r   s    r   r   r      r-   r   ArcCosatanc                    gr   r   r   s    r   r   r      r-   r   ArcTanacotc                    gr   r   r   s    r   r   r      r-   r   ArcCotasecc                    gr   r   r   s    r   r   r      r-   r   ArcSecacscc                    gr   r   r   s    r   r   r      r-   r   ArcCscsinhc                    gr   r   r   s    r   r   r      r-   r   Sinhcoshc                    gr   r   r   s    r   r   r      r-   r   Coshtanhc                    gr   r   r   s    r   r   r       r-   r   Tanhcothc                    gr   r   r   s    r   r   r   !   r-   r   Cothsechc                    gr   r   r   s    r   r   r   "   r-   r   Sechcschc                    gr   r   r   s    r   r   r   #   r-   r   Cschasinhc                    gr   r   r   s    r   r   r   $       r   ArcSinhacoshc                    gr   r   r   s    r   r   r   %   rR   r   ArcCoshatanhc                    gr   r   r   s    r   r   r   &   rR   r   ArcTanhacothc                    gr   r   r   s    r   r   r   '   rR   r   ArcCothasechc                    gr   r   r   s    r   r   r   (   rR   r   ArcSechacschc                    gr   r   r   s    r   r   r   )   rR   r   ArcCschsincc                    gr   r   r   s    r   r   r   *   r-   r   Sinc	conjugatec                    gr   r   r   s    r   r   r   +       Tr   	ConjugateMaxc                     gr   r   r   s    r   r   r   ,   r-   r   Minc                     gr   r   r   s    r   r   r   -   r-   r   erfc                    gr   r   r   s    r   r   r   .   r   r   Erferf2c                     gr   r   r   s    r   r   r   /   rR   r   erfcc                    gr   r   r   s    r   r   r   0   r-   r   Erfcerfic                    gr   r   r   s    r   r   r   1   r-   r   Erfierfinvc                    gr   r   r   s    r   r   r   2       $r   
InverseErferfcinvc                    gr   r   r   s    r   r   r   3       4r   InverseErfcerf2invc                     gr   r   r   s    r   r   r   4       Dr   expintc                     gr   r   r   s    r   r   r   5   r   r   ExpIntegralEEic                    gr   r   r   s    r   r   r   6       dr   ExpIntegralEifresnelcc                    gr   r   r   s    r   r   r   7   r   r   FresnelCfresnelsc                    gr   r   r   s    r   r   r   8   r   r   FresnelSgammac                    gr   r   r   s    r   r   r   9   rR   r   Gamma
uppergammac                     gr   r   r   s    r   r   r   :       tr   	polygammac                     gr   r   r   s    r   r   r   ;       dr   	PolyGammaloggammac                    gr   r   r   s    r   r   r   <   r   r   LogGammabetac                     gr   r   r   s    r   r   r   =   rR   r   BetaCic                    gr   r   r   s    r   r   r   >   r   r   CosIntegralSic                    gr   r   r   s    r   r   r   ?   r   r   SinIntegralChic                    gr   r   r   s    r   r   r   @   r   r   CoshIntegralShic                    gr   r   r   s    r   r   r   A   r   r   SinhIntegrallic                    gr   r   r   s    r   r   r   B   r   r   LogIntegral	factorialc                    gr   r   r   s    r   r   r   C   rh   r   	Factorial
factorial2c                    gr   r   r   s    r   r   r   D   r   r   
Factorial2subfactorialc                    gr   r   r   s    r   r   r   E       r   Subfactorialcatalanc                    gr   r   r   s    r   r   r   F   r   r   CatalanNumberharmonicc                     gr   r   r   s    r   r   r   G   rh   r   HarmonicNumberlucasc                    gr   r   r   s    r   r   r   H   rR   r   LucasLRisingFactorialc                     gr   r   r   s    r   r   r   I   s    Dr   
PochhammerFallingFactorialc                     gr   r   r   s    r   r   r   J   s    Tr   FactorialPowerlaguerrec                     gr   r   r   s    r   r   r   K   rh   r   	LaguerreLassoc_laguerrec                     gr   r   r   s    r   r   r   L       4r   hermitec                     gr   r   r   s    r   r   r   M   r   r   HermiteHjacobic                     gr   r   r   s    r   r   r   N   r   r   JacobiP
gegenbauerc                     gr   r   r   s    r   r   r   O   r   r   GegenbauerC
chebyshevtc                     gr   r   r   s    r   r   r   P   r   r   
ChebyshevT
chebyshevuc                     gr   r   r   s    r   r   r   Q   r   r   
ChebyshevUlegendrec                     gr   r   r   s    r   r   r   R   rh   r   	LegendrePassoc_legendrec                     gr   r   r   s    r   r   r   S   r   r   mathieucc                     gr   r   r   s    r   r   r   T   rh   r   MathieuCmathieusc                     gr   r   r   s    r   r   r   U   rh   r   MathieuSmathieucprimec                     gr   r   r   s    r   r   r   V       $r   MathieuCPrimemathieusprimec                     gr   r   r   s    r   r   r   W   r   r   MathieuSPrime	stieltjesc                    gr   r   r   s    r   r   r   X   rh   r   StieltjesGamma
elliptic_ec                     gr   r   r   s    r   r   r   Y   r   r   	EllipticE
elliptic_fc                     gr   r   r   s    r   r   r   Z   r   r   
elliptic_kc                    gr   r   r   s    r   r   r   [   r   r   	EllipticKelliptic_pic                     gr   r   r   s    r   r   r   \   r   r   
EllipticPizetac                     gr   r   r   s    r   r   r   ]   rR   r   Zetadirichlet_etac                    gr   r   r   s    r   r   r   ^   s    r   DirichletEta
riemann_xic                    gr   r   r   s    r   r   r   _   r   r   	RiemannXibesselic                     gr   r   r   s    r   r   r   `   r   r   BesselIbesseljc                     gr   r   r   s    r   r   r   a   r   r   BesselJbesselkc                     gr   r   r   s    r   r   r   b   r   r   BesselKbesselyc                     gr   r   r   s    r   r   r   c   r   r   BesselYhankel1c                     gr   r   r   s    r   r   r   d   r   r   HankelH1hankel2c                     gr   r   r   s    r   r   r   e   r   r   HankelH2airyaic                    gr   r   r   s    r   r   r   f   r{   r   AiryAiairybic                    gr   r   r   s    r   r   r   g   r{   r   AiryBiairyaiprimec                    gr   r   r   s    r   r   r   h   r   r   AiryAiPrimeairybiprimec                    gr   r   r   s    r   r   r   i   r   r   AiryBiPrimepolylogc                     gr   r   r   s    r   r   r   j   r   r   PolyLoglerchphic                     gr   r   r   s    r   r   r   k   rh   r   LerchPhigcdc                     gr   r   r   s    r   r   r   l   r-   r   GCDlcmc                     gr   r   r   s    r   r   r   m   r-   r   LCMjnc                     gr   r   r   s    r   r   r   n   r   r   SphericalBesselJync                     gr   r   r   s    r   r   r   o   r   r   SphericalBesselYhyperc                     gr   r   r   s    r   r   r   p   r{   r   HypergeometricPFQmeijergc                     gr   r   r   s    r   r   r   q   r   r   MeijerGappellf1c                     gr   r   r   s    r   r   r   r   rh   r   AppellF1
DiracDeltac                    gr   r   r   s    r   r   r   s   r   r   	Heavisidec                    gr   r   r   s    r   r   r   t   rh   r   HeavisideThetaKroneckerDeltac                     gr   r   r   s    r   r   r   u   r   r   sqrtc                    gr   r   r   s    r   r   r   v   r-   r   Sqrtc                  h  ^  \ rS rSr% SrSrSr\" \R                  40 S0 S.D6r	S\
S'   \" 5       rS	\
S
'   \" 5       rS\
S'   0 4S jrS rS rU 4S jrS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S  r!S! r"\"r#\"r$S" r%S# r&S$ r'S% r(S& r)\)r*S' r+S( r,S) r-S* r.S+ r/S, r0S-r1U =r2$ ).MCodePrinterz   zUA printer to convert Python expressions to
strings of the Wolfram's Mathematica code
_mcodezWolfram Language   )	precisionuser_functionszdict[str, Any]_default_settingszset[tuple[Expr, Float]]_number_symbolsz
set[Basic]_not_supportedc                >   [         R                  " X5        [        [        5      U l        UR	                  S0 5      R                  5       nUR                  5        H$  u  p4[        U[        5      (       a  M  S U4/X#'   M&     U R                  R                  U5        g)z+Register function mappings supplied by userrP  c                     gr   r   r   s    r   r   'MCodePrinter.__init__.<locals>.<lambda>   s    Dr   N)
r	   __init__dictknown_functionsgetcopyitems
isinstancelistupdate)selfsettings	userfuncskvs        r   rW  MCodePrinter.__init__   s|    T,#O4LL!126;;=	OO%DAa&&!0! 45	 & 	##I.r   c                    U$ Nr   )r`  liness     r   _format_codeMCodePrinter._format_code   s    r   c                    [        U5      nU R                  UR                  U5      < SU R                  UR                  U5      < 3$ )N^)r
   parenthesizebaser   )r`  exprPRECs      r   
_print_PowMCodePrinter._print_Pow   s>    $++DIIt<++DHHd;= 	=r   c                   >^ ^ [        U5      mUR                  5       u  p#[        TT ]  UR                  " U6 5      nU(       a$  US-  nUSR                  UU 4S jU 5       5      -  nU$ )N*z**c              3  H   >#    U  H  nTR                  UT5      v   M     g 7frg  )rm  ).0arp  r`  s     r   	<genexpr>*MCodePrinter._print_Mul.<locals>.<genexpr>   s!     DAT..q$77s   ")r
   args_cncsuper
_print_Mulfuncjoin)r`  ro  cncresrp  	__class__s   `    @r   r|  MCodePrinter._print_Mul   s[    $g A/3JC499DDDDC
r   c                    U R                  UR                  5      nU R                  UR                  5      nUR                  nSR	                  X$U5      $ )Nz{} {} {})_printlhsrhsrel_opformat)r`  ro  lhs_coderhs_codeops        r   _print_RelationalMCodePrinter._print_Relational   sB    ;;txx(;;txx([[  x88r   c                    g)N0r   r`  ro  s     r   _print_ZeroMCodePrinter._print_Zero       r   c                    g)N1r   r  s     r   
_print_OneMCodePrinter._print_One   r  r   c                    g)Nz-1r   r  s     r   _print_NegativeOneMCodePrinter._print_NegativeOne       r   c                    g)Nz1/2r   r  s     r   _print_HalfMCodePrinter._print_Half   s    r   c                    g)NIr   r  s     r   _print_ImaginaryUnit!MCodePrinter._print_ImaginaryUnit   r  r   c                    g)NInfinityr   r  s     r   _print_InfinityMCodePrinter._print_Infinity   s    r   c                    g)Nz	-Infinityr   r  s     r   _print_NegativeInfinity$MCodePrinter._print_NegativeInfinity   s    r   c                    g)NComplexInfinityr   r  s     r   _print_ComplexInfinity#MCodePrinter._print_ComplexInfinity   s     r   c                    g)NIndeterminater   r  s     r   
_print_NaNMCodePrinter._print_NaN   s    r   c                    g)NEr   r  s     r   _print_Exp1MCodePrinter._print_Exp1   r  r   c                    g)NPir   r  s     r   	_print_PiMCodePrinter._print_Pi   r  r   c                    g)NGoldenRatior   r  s     r   _print_GoldenRatioMCodePrinter._print_GoldenRatio   s    r   c                X    UR                  SS9n[        U5      nU R                  X#5      $ )NT)r}  )expandr
   rm  )r`  ro  expandedrp  s       r   _print_TribonacciConstant&MCodePrinter._print_TribonacciConstant   s-    ;;D;)$  00r   c                    g)N
EulerGammar   r  s     r   _print_EulerGammaMCodePrinter._print_EulerGamma   s    r   c                    g)NCatalanr   r  s     r   _print_CatalanMCodePrinter._print_Catalan   s    r   c                F   ^  SSR                  U 4S jU 5       5      -   S-   $ )N{, c              3  F   >#    U  H  nTR                  U5      v   M     g 7frg  doprintrv  rw  r`  s     r   rx  +MCodePrinter._print_list.<locals>.<genexpr>   s     =1t||A   !}r~  r  s   ` r   _print_listMCodePrinter._print_list   s"    TYY====CCr   c                @    U R                  UR                  5       5      $ rg  r  tolistr  s     r   _print_ImmutableDenseMatrix(MCodePrinter._print_ImmutableDenseMatrix       ||DKKM**r   c                h   ^ ^^ U 4S jmUU4S jnUU 4S jnSR                  U" 5       U" 5       5      $ )Nc                   > SR                  TR                  U S   S-   U S   S-   45      TR                  U5      5      $ )N{} -> {}r      r  r  posvalr`  s     r   
print_rule=MCodePrinter._print_ImmutableSparseMatrix.<locals>.print_rule   sD    $$LL#a&(CF1H-.S0AC Cr   c                    > [        TR                  5       R                  5       [        S9n SSR	                  U4S jU  5       5      -   S-   $ )N)keyr  r  c              3  8   >#    U  H  u  pT" X5      v   M     g 7frg  r   )rv  rc  rd  r  s      r   rx  PMCodePrinter._print_ImmutableSparseMatrix.<locals>.print_data.<locals>.<genexpr>   s     =utq*Q**us   r  )sortedtodokr\  r   r~  )r\  ro  r  s    r   
print_data=MCodePrinter._print_ImmutableSparseMatrix.<locals>.print_data   sF    4::<--/5EFE		=u==> r   c                 :   > TR                  T R                  5      $ rg  r  shapero  r`  s   r   
print_dims=MCodePrinter._print_ImmutableSparseMatrix.<locals>.print_dims   s    <<

++r   SparseArray[{}, {}]r  )r`  ro  r  r  r  s   ``  @r   _print_ImmutableSparseMatrix)MCodePrinter._print_ImmutableSparseMatrix   s,    	C		, %++JL*,GGr   c                @    U R                  UR                  5       5      $ rg  r  r  s     r   _print_ImmutableDenseNDimArray+MCodePrinter._print_ImmutableDenseNDimArray   r  r   c                |   ^ ^^^^ S mS mU 4S jmUUUU4S jnUU 4S jnSR                  U" 5       U" 5       5      $ )Nc                >    SSR                  S U  5       5      -   S-   $ )Nr  r  c              3  $   #    U  H  ov   M     g 7frg  r   )rv  rw  s     r   rx  ZMCodePrinter._print_ImmutableSparseNDimArray.<locals>.print_string_list.<locals>.<genexpr>   s     ":k1ks   r  r  )string_lists    r   print_string_listGMCodePrinter._print_ImmutableSparseNDimArray.<locals>.print_string_list   s!    ":k":::S@@r   c                 &    [        S U  5       5      $ )zHelper function to change Python style indexing to
Pathematica indexing.

Python indexing (0, 1 ... n-1)
-> Mathematica indexing (1, 2 ... n)
c              3  *   #    U  H	  oS -   v   M     g7f)r  Nr   )rv  is     r   rx  ]MCodePrinter._print_ImmutableSparseNDimArray.<locals>.to_mathematica_index.<locals>.<genexpr>  s     -1Qs   )tuple)argss    r   to_mathematica_indexJMCodePrinter._print_ImmutableSparseNDimArray.<locals>.to_mathematica_index   s     ----r   c                d   > SR                  TR                  U 5      TR                  U5      5      $ )z.Helper function to print a rule of Mathematicar  r  r  s     r   r  @MCodePrinter._print_ImmutableSparseNDimArray.<locals>.print_rule  s(    $$T\\#%6S8IJJr   c                    > T" [        TR                  R                  5       5       V Vs/ s H   u  pT" T" TR                  U 5      6 U5      PM"     snn 5      $ s  snn f )zHelper function to print data part of Mathematica
sparse array.

It uses the fourth notation ``SparseArray[data,{d1,d2,...}]``
from
https://reference.wolfram.com/language/ref/SparseArray.html

``data`` must be formatted with rule.
)r  _sparse_arrayr\  _get_tuple_index)r  valuero  r  r  r  s     r   r  @MCodePrinter._print_ImmutableSparseNDimArray.<locals>.print_data  sn     % #)););)A)A)C"DF #EJC (4+@+@+EG #EF Fs   'A
c                 :   > TR                  T R                  5      $ )zHelper function to print dimensions part of Mathematica
sparse array.

It uses the fourth notation ``SparseArray[data,{d1,d2,...}]``
from
https://reference.wolfram.com/language/ref/SparseArray.html
r  r  s   r   r  @MCodePrinter._print_ImmutableSparseNDimArray.<locals>.print_dims  s     <<

++r   r  r  )r`  ro  r  r  r  r  r  s   ``  @@@r   _print_ImmutableSparseNDimArray,MCodePrinter._print_ImmutableSparseNDimArray   s<    	A	.	K	 	"	, %++JL*,GGr   c                  ^  UR                   R                  T R                  ;   ai  T R                  UR                   R                     nU H?  u  p4U" UR                  6 (       d  M  U< ST R	                  UR                  S5      < S3s  $    OUR                   R                  T R
                  ;   au  T R
                  UR                   R                     u  pVT R                  U5      (       a:  [        U 4S jU 5       5      (       a   T R                  UR                  U5      5      $ UR                   R                  ST R	                  UR                  S5      -  -   $ )N[r  ]c              3  F   >#    U  H  nTR                  U5      v   M     g 7frg  )
_can_print)rv  fr`  s     r   rx  /MCodePrinter._print_Function.<locals>.<genexpr>2  s     0Y[1C1C[r  z[%s])
r}  __name__rY  r
  	stringify_rewriteable_functionsr  allr  rewrite)r`  ro  
cond_mfunccondmfunctarget_frequired_fss   `      r   _print_FunctionMCodePrinter._print_Function)  s   99!5!55--dii.@.@AJ)##',dnnTYY.MNN  * YY4#>#>>$($?$?		@R@R$S!Hx((S0Y[0Y-Y-Y{{4<<#9::yy!!FT^^DIIt-L$LLLr   c                "   [        UR                  5      S:X  a-  SR                  U R                  UR                  S   5      5      $ SR                  U R                  UR                  S   5      U R                  UR                  S   5      5      $ )Nr  zProductLog[{}]r   zProductLog[{}, {}])lenr
  r  r  r  s     r   _print_LambertWMCodePrinter._print_LambertW8  sp    tyy>Q#**4;;tyy|+DEE#**KK		!%t{{499Q<'@B 	Br   c                    SR                  U R                  UR                  S   5      U R                  UR                  S   5      5      $ )NzArcTan[{}, {}]r  r   )r  r  r
  r  s     r   _print_atan2MCodePrinter._print_atan2>  s>    &&KK		!%t{{499Q<'@B 	Br   c                   ^  [        UR                  5      S:X  a6  UR                  S   SS  (       d  UR                  S   UR                  S   /nOUR                  nSSR	                  U 4S jU 5       5      -   S-   $ )Nr  r   zHold[Integrate[r  c              3  F   >#    U  H  nTR                  U5      v   M     g 7frg  r  r  s     r   rx  /MCodePrinter._print_Integral.<locals>.<genexpr>G  s     ,KdT\\!__dr  ]])r,  	variableslimitsr
  r~  )r`  ro  r
  s   `  r   _print_IntegralMCodePrinter._print_IntegralB  sh    t~~!#DKKN12,>IIaL$.."34D99D 499,Kd,K#KKdRRr   c                Z   ^  SSR                  U 4S jUR                   5       5      -   S-   $ )Nz	Hold[Sum[r  c              3  F   >#    U  H  nTR                  U5      v   M     g 7frg  r  r  s     r   rx  *MCodePrinter._print_Sum.<locals>.<genexpr>J  s     &J	1t||A	r  r5  )r~  r
  r  s   ` r   
_print_SumMCodePrinter._print_SumI  s&    TYY&J		&JJJTQQr   c                   ^  UR                   nUR                   Vs/ s H  o3S   S:X  a  US   OUPM     nnSSR                  U 4S jU/U-    5       5      -   S-   $ s  snf )Nr  r   zHold[D[r  c              3  F   >#    U  H  nTR                  U5      v   M     g 7frg  r  r  s     r   rx  1MCodePrinter._print_Derivative.<locals>.<genexpr>O  s     $NoT\\!__or  r5  )ro  variable_countr~  )r`  ro  dexprr  dvarss   `    r   _print_DerivativeMCodePrinter._print_DerivativeL  se    		373F3FG3Fa11)3FG499$Nugo$NNNQUUU Hs   Ac                $    SR                  U5      $ )Nz(* {} *)r  )r`  texts     r   _get_commentMCodePrinter._get_commentR  s      &&r   )rY  )3r  
__module____qualname____firstlineno____doc__printmethodlanguagerX  r	   rQ  __annotations__setrR  rS  rW  ri  rq  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  _print_tuple_print_Tupler  r  r  r  r)  _print_MinMaxBaser-  r0  r8  r=  rE  rI  __static_attributes____classcell__)r  s   @r   rK  rK  z   s    K!H(,[-J-J )O )~ 
 03uO,4!$NJ& " /=
9
!
1
DLL+H"+,H\M (BBSRV' 'r   rK  c                6    [        U5      R                  U 5      $ )zConverts an expr to a string of the Wolfram Mathematica code

Examples
========

>>> from sympy import mathematica_code as mcode, symbols, sin
>>> x = symbols('x')
>>> mcode(sin(x).series(x).removeO())
'(1/120)*x^5 - 1/6*x^3 + x'
)rK  r  )ro  ra  s     r   mathematica_coderY  V  s     !))$//r   N)rN  
__future__r   typingr   
sympy.corer   r   r   sympy.core.sortingr   sympy.printing.codeprinterr	   sympy.printing.precedencer
   rY  rK  rY  r   r   r   <module>r`     sE	   #  ) ) / 2 0h	^U#$h	^U#$h 
^U#$h 
^U#$	h
 
^U#$h 
^U#$h 
^U#$h 
^U#$h nh'(h nh'(h nh'(h nh'(h nh'(h nh'(h nf%&h  nf%&!h" nf%&#h$ nf%&%h& nf%&'h( nf%&)h* ~y)*+h, ~y)*-h. ~y)*/h0 ~y)*1h2 ~y)*3h4 ~y)*5h6 nf%&7h8 >;/09h: 
_e$%;h< 
_e$%=h> 
^U#$?h@ ou%&AhB nf%&ChD nf%&EhF -.GhH /0IhJ ,/0KhL 01MhN 	NO,
-OhP .*-.QhR .*-.ShT ~w'(UhV OW-.WhX ?K01YhZ .*-.[h\ ov&']h^ 	NM*
+_h` 	NM*
+ahb 
^^,-chd 
^^,-ehf 	NM*
+ghh >;/0ihj NL12khl nn56mhn 12ohp /#345qhr ~x()sht ,78uhv /+;<=whx /;/0yhz 56{h| *-.}h~ +,h@ O]34AhB O\23ChD O\23EhF /;/0GhH 56IhJ /:./KhL /:./MhN 89OhP 89QhR >#345ShT O[12UhV O[12WhX NK01YhZ _l34[h\ ov&']h^ ~~67_h` NK01ahb ),-chd ),-ehf ),-ghh ),-ihj *-.khl *-.mhn )*ohp )*qhr ^]34sht ^]34uhv ),-whx /:./yhz 
_e$%{h| 
_e$%}h~ 	O/0
1h@ 	O/0
1AhB  345ChD ),-EhF /:./GhH NL12IhJ >#345KhL )9:;MhN nf%&OhVY'; Y'x0r   