ó
    Š*£h×�  ã                  ó  • S r SSKJr  SSKJr  SSKJrJrJrJ	r	J
r
Jr  SSKJr  SSKJr  SSKJr  SSKJr  SS	KJr  S
SKJrJr  S
SKJrJr  SSKJrJr   " S S\5      r\" \5      S 5       r  " S S\5      r!\" \!5      S 5       r"g)zI
A Printer for generating readable representation of most SymPy classes.
é    )Úannotations)ÚAny)ÚSÚRationalÚPowÚBasicÚMulÚNumber)Ú_keep_coeff)ÚInteger)Ú
Relational)Údefault_sort_key)Úsifté   )Ú
precedenceÚ
PRECEDENCE)ÚPrinterÚprint_function)Úprec_to_dpsÚto_strc            	      ó~  • \ rS rSr% SrSSSSSSSSS.rS\S	'   0 rS
\S'   S’S jrS“S jr	S r
S”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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+S0 r,S1 r-S2 r.S3 r/S4 r0S5 r1S6 r2S7 r3S8 r4S9 r5S: r6S; r7S< r8S= r9S> r:S? r;S@ r<SA r=SB r>SC r?SD r@SE rASF rBSG rCSH rDSI rESJ rFSK rGSL rHSM rISN rJSO rKSP rLSQ rMSR rNS’SS jrOST rPSU rQSV rRSW rSSX rTSY rUSZ rVS[ rWS\ rXS] rYS^ rZS_ r[S` r\Sa r]Sb r^Sc r_Sd r`Se raSf rbSg rcSh rdSi reSj rfSk rgSl rhSm riSn rjSo rk\krl\krmSp rnSq roSr rpSs rqSt rrSu rsSv rtSw ruSx rvSy rwSz rxS{ ryS| rzS} 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ŒS� r�S� rŽS‘r�g)•Ú
StrPrinteré   Ú	_sympystrNÚautoFT)ÚorderÚ	full_precÚsympy_integersÚabbrevÚperm_cyclicÚminÚmaxÚdpszdict[str, Any]Ú_default_settingszdict[str, str]Ú_relationalsc                ó–   • [        U5      U:  d  U(       d#  [        U5      U::  a  SU R                  U5      -  $ U R                  U5      $ )Nú(%s))r   Ú_print)ÚselfÚitemÚlevelÚstricts       ÚO/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/printing/str.pyÚparenthesizeÚStrPrinter.parenthesize#   s@   € Ü�tÓ˜uÓ$®v¼:ÀdÓ;KÈuÓ;TØ˜DŸK™K¨Ó-Ñ-Ð-à—;‘;˜tÓ$Ð$ó    c           	     ól   • UR                  U Vs/ s H  o@R                  XC5      PM     sn5      $ s  snf ©N)Újoinr.   )r)   ÚargsÚsepr+   r*   s        r-   Ú	stringifyÚStrPrinter.stringify)   s,   € Ø�x‰xÁDÓIÂD¸D×*Ñ*¨4Ö7ÁDÑIÓJÐJùÒIs   �1c                ó†   • [        U[        5      (       a  U$ [        U[        5      (       a  [        U5      $ [        U5      $ r2   )Ú
isinstanceÚstrr   Úrepr©r)   Úexprs     r-   ÚemptyPrinterÚStrPrinter.emptyPrinter,   s5   € Ü�dœC× Ñ ØˆKÜ˜œe×$Ñ$Ü˜“:Ðä�t“9Ðr0   c                ó¾  • U R                  XS9n[        U5      n/ nU H�  nU R                  U5      nUR                  S5      (       a  UR                  (       d  SnUSS  nOSn[        U5      U:  d  UR                  (       a  UR                  USU-  /5        M}  UR                  X‡/5        M‘     UR                  S5      nUS:X  a  SnUSR                  U5      -   $ )	N©r   Ú-r   Ú+r'   r   Ú Ú )Ú_as_ordered_termsr   r(   Ú
startswithÚis_AddÚextendÚpopr3   )	r)   r=   r   ÚtermsÚprecÚlÚtermÚtÚsigns	            r-   Ú
_print_AddÚStrPrinter._print_Add4   sÊ   € Ø×&Ñ& tÐ&Ð9ˆä˜$ÓˆØˆÛˆDØ—‘˜DÓ!ˆAØ�|‰|˜C× Ñ ¨¯¯Ø�Ø�a�b�E‘à�Ü˜$Ó $Ó&¨$¯+¯+Ø—‘˜$ ¨¡
Ð+Ö,à—‘˜$˜Ö#ñ ð �u‰u�Q‹xˆØ�3‹;ØˆDØ�c—h‘h˜q“kÑ!Ð!r0   c                ó   • g)NÚTrue© r<   s     r-   Ú_print_BooleanTrueÚStrPrinter._print_BooleanTrueI   s   € Ør0   c                ó   • g)NÚFalserU   r<   s     r-   Ú_print_BooleanFalseÚStrPrinter._print_BooleanFalseL   ó   € Ør0   c                óT   • SU R                  UR                  S   [        S   5      -  $ )Nz~%sr   ÚNot)r.   r4   r   r<   s     r-   Ú
_print_NotÚStrPrinter._print_NotO   s'   € Ø�t×(Ñ(¨¯©°1©´jÀÑ6GÓHÑIÐIr0   c                óJ  • [        UR                  5      n[        U5       Hf  u  p4[        U[        5      (       d  M  UR
                  R                  [        R                  L d  ME  UR                  SUR                  U5      5        Mh     U R                  US[        S   5      $ )Nr   z & Ú
BitwiseAnd)Úlistr4   Ú	enumerater9   r   Ú	canonicalÚrhsr   ÚNegativeInfinityÚinsertrJ   r6   r   )r)   r=   r4   ÚjÚis        r-   Ú
_print_AndÚStrPrinter._print_AndR   sr   € Ü�D—I‘I‹ˆÜ˜d–O‰DˆAÜ˜!œZ×(Ó(Ø—K‘K—O‘O¤q×'9Ñ'9Ô9Ø—‘˜A˜tŸx™x¨›{Ö+ñ $ð �~‰~˜d E¬:°lÑ+CÓDÐDr0   c                óJ   • U R                  UR                  S[        S   5      $ )Nz | Ú	BitwiseOr©r6   r4   r   r<   s     r-   Ú	_print_OrÚStrPrinter._print_OrZ   s   € Ø�~‰~˜dŸi™i¨´
¸;Ñ0GÓHÐHr0   c                óJ   • U R                  UR                  S[        S   5      $ )Nz ^ Ú
BitwiseXorro   r<   s     r-   Ú
_print_XorÚStrPrinter._print_Xor]   s   € Ø�~‰~˜dŸi™i¨´
¸<Ñ0HÓIÐIr0   c                ó|   • U R                  UR                  5      < SU R                  UR                  S5      < S3$ ©NÚ(ú, Ú))r(   Úfunctionr6   Ú	argumentsr<   s     r-   Ú_print_AppliedPredicateÚ"StrPrinter._print_AppliedPredicate`   s/   € à�K‰K˜Ÿ™Ö&¨¯©°t·~±~ÀtÖ(LðNð 	Nr0   c                ó¶   • UR                    Vs/ s H  o R                  U5      PM     nnUR                  R                  SSR	                  U5      -  -   $ s  snf ©Nr'   ry   )r4   r(   Ú	__class__Ú__name__r3   )r)   r=   ÚorM   s       r-   Ú_print_BasicÚStrPrinter._print_Basicd   sG   € Ø%)§Y¢YÓ/¢Y �[‰[˜Ž^¡YˆÐ/Ø�~‰~×&Ñ&¨°$·)±)¸A³,Ñ)>Ñ>Ð>ùò 0s   �Ac                ó¨   • UR                   R                  S:X  a  U R                  UR                   S   5        U R                  UR                   5      $ )N)r   r   )r   r   )ÚblocksÚshaper(   )r)   ÚBs     r-   Ú_print_BlockMatrixÚStrPrinter._print_BlockMatrixh   s9   € Ø�8‰8�>‰>˜VÓ#Ø�K‰K˜Ÿ™ ™Ô'Ø�{‰{˜1Ÿ8™8Ó$Ð$r0   c                ó   • g)NÚCatalanrU   r<   s     r-   Ú_print_CatalanÚStrPrinter._print_Catalanm   s   € Ør0   c                ó   • g)NÚzoorU   r<   s     r-   Ú_print_ComplexInfinityÚ!StrPrinter._print_ComplexInfinityp   ó   € Ør0   c                ó  • [        UR                  UR                  4 Vs/ s H  o R                  U5      PM     sn5      nUR                  [
        R                  L a  SU-  $ X0R                  UR                  5      4-  nSU-  $ s  snf )NzConditionSet(%s, %s)zConditionSet(%s, %s, %s))ÚtupleÚsymÚ	conditionr(   Úbase_setr   ÚUniversalSet)r)   Úsrj   r4   s       r-   Ú_print_ConditionSetÚStrPrinter._print_ConditionSets   st   € Ü¨q¯u©u°a·k±kÑ.BÓCÒ.B¨—k‘k !–nÑ.BÑCÓDˆØ�:‰:œŸ™Ò'Ø)¨DÑ0Ð0Ø—‘˜QŸZ™ZÓ(Ð*Ñ*ˆØ)¨DÑ0Ð0ùò	 Ds    B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nf )Nr   r   zDerivative(%s)ry   c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr2   ©r(   ©Ú.0Úargr)   s     €r-   Ú	<genexpr>Ú/StrPrinter._print_Derivative.<locals>.<genexpr>}   s   øé € Ð,YÊÀ#¨T¯[©[¸×-=Ð-=Êùó   ƒ!)r=   Úvariable_countr3   )r)   r=   Údexprrj   Údvarss   `    r-   Ú_print_DerivativeÚStrPrinter._print_Derivativez   s`   ø€ Ø—	‘	ˆØ37×3FÒ3FÓGÒ3F¨a˜1™ ›��1’¨Ò)Ñ3FˆÐGØ $§)¡)Ô,YÈ%ÈÐSXÊÓ,YÓ"ZÑZÐZùò Hs   œAc                óì   • [        UR                  5       [        S9n/ nU H=  nU R                  U5      < SU R                  X   5      < 3nUR	                  U5        M?     SSR                  U5      -  $ )N©Úkeyz: ú{%s}ry   )ÚsortedÚkeysr   r(   Úappendr3   )r)   Údr±   Úitemsr®   r*   s         r-   Ú_print_dictÚStrPrinter._print_dict   sd   € Ü�a—f‘f“hÔ$4Ñ5ˆØˆãˆCØ#Ÿ{™{¨3Ö/°·±¸Q¹VÕ1DÐEˆDØ�L‰L˜Öñ ð ˜Ÿ	™	 %Ó(Ñ(Ð(r0   c                ó$   • U R                  U5      $ r2   )rµ   r<   s     r-   Ú_print_DictÚStrPrinter._print_Dict‰   ó   € Ø×Ñ Ó%Ð%r0   c                ó@  • [        US5      (       a"  SU R                  UR                  5       5      -   $ [        US5      (       a=  SU R                  UR                  5      -   S-   U R                  UR                  5      -   $ SU R                  UR                  5      -   $ )NÚ
as_booleanzDomain: Úsetz in z
Domain on )Úhasattrr(   r¼   Úsymbolsr½   )r)   r³   s     r-   Ú_print_RandomDomainÚStrPrinter._print_RandomDomainŒ   s„   € Ü�1�l×#Ñ#Ø §¡¨A¯L©L«NÓ ;Ñ;Ð;Ü�Q˜×ÑØ §¡¨Q¯Y©YÓ!7Ñ7¸&Ñ@Ø—K‘K §¡Ó&ñ'ð (ð   $§+¡+¨a¯i©iÓ"8Ñ8Ð8r0   c                ó    • SUR                   -   $ ©NÚ_©Únamer<   s     r-   Ú_print_DummyÚStrPrinter._print_Dummy•   s   € Ø�T—Y‘Y‰Ðr0   c                ó   • g)NÚ
EulerGammarU   r<   s     r-   Ú_print_EulerGammaÚStrPrinter._print_EulerGamma˜   s   € Ør0   c                ó   • g)NÚErU   r<   s     r-   Ú_print_Exp1ÚStrPrinter._print_Exp1›   ó   € Ør0   c                ó|   • SU R                  UR                  5      < SU R                  UR                  5      < S3$ rw   )r(   r=   Úcondr<   s     r-   Ú_print_ExprCondPairÚStrPrinter._print_ExprCondPairž   s'   � Ø!Ÿ[™[¨¯©Ö3°T·[±[ÀÇÁÖ5KÐLÐLr0   c                ón   • UR                   R                  SU R                  UR                  S5      -  -   $ r€   )Úfuncr‚   r6   r4   r<   s     r-   Ú_print_FunctionÚStrPrinter._print_Function¡   s+   € Ø�y‰y×!Ñ! F¨T¯^©^¸D¿I¹IÀtÓ-LÑ$LÑLÐLr0   c                ó   • g)NÚGoldenRatiorU   r<   s     r-   Ú_print_GoldenRatioÚStrPrinter._print_GoldenRatio¤   s   € Ør0   c                ón   • UR                   R                  SU R                  UR                  S5      -  -   $ r€   )r×   r‚   r6   Úpargsr<   s     r-   Ú_print_HeavisideÚStrPrinter._print_Heaviside§   s-   € ð �y‰y×!Ñ! F¨T¯^©^¸D¿J¹JÈÓ-MÑ$MÑMÐMr0   c                ó   • g)NÚTribonacciConstantrU   r<   s     r-   Ú_print_TribonacciConstantÚ$StrPrinter._print_TribonacciConstant¬   s   € Ø#r0   c                ó   • g©NÚIrU   r<   s     r-   Ú_print_ImaginaryUnitÚStrPrinter._print_ImaginaryUnit¯   rÑ   r0   c                ó   • g)NÚoorU   r<   s     r-   Ú_print_InfinityÚStrPrinter._print_Infinity²   ó   € Ør0   c                óÄ   ^ • U 4S jnSR                  UR                   Vs/ s H
  o2" U5      PM     sn5      nST R                  UR                  5      < SU< S3$ s  snf )Nc                ó’   >• [        U 5      S:X  a  TR                  U S   5      $ TR                  U S   4[        U SS  5      -   5      $ ©Nr   r   ©Úlenr(   r–   ©Úxabr)   s    €r-   Ú
_xab_tostrÚ.StrPrinter._print_Integral.<locals>._xab_tostr¶   óE   ø€ Ü�3‹x˜1‹}Ø—{‘{ 3 q¡6Ó*Ð*à—{‘{ C¨¡F 9¬u°S¸¸°W«~Ñ#=Ó>Ð>r0   ry   z	Integral(rz   ©r3   Úlimitsr(   r{   ©r)   r=   r÷   rM   ÚLs   `    r-   Ú_print_IntegralÚStrPrinter._print_Integralµ   sL   ø€ õ	?ð
 �I‰I¨d¯kªkÓ:ªk¨�z !–}©kÑ:Ó;‰Ø%)§[¡[°·±Ö%?ÃÐCÐCùò ;ó   ¡Ac                ó`  • SnUR                   u  p4pVUR                  (       a  UR                  (       a  SnOdUR                  (       a
  U(       d  SnOIUR                  (       a
  U(       d  SnO.U(       d
  U(       d  SnOU(       a
  U(       a  SnOU(       a  SnOSnUR                  " S0 X4US.D6$ )NzInterval{m}({a}, {b})rD   z.openz.Lopenz.Ropen)ÚaÚbÚmrU   )r4   Úis_infiniteÚformat)r)   rj   Úfinr  r  rM   Úrr  s           r-   Ú_print_IntervalÚStrPrinter._print_Interval¾   sz   € Ø&ˆØ—V‘V‰
ˆˆaØ�=�=˜QŸ]Ÿ]Ø‰AØ�]�]¦1Ø‰AØ�]�]¦1Ø‰AÞž1Ø‰AÞ–1Ø‰AÞØ‰AàˆAØ�zŠzÑ5 !°!Ñ4Ñ5Ð5r0   c                ó|   • SU R                  UR                  5      < SU R                  UR                  5      < S3$ )NzAccumBounds(ry   rz   )r(   r!   r"   )r)   rj   s     r-   Ú_print_AccumulationBoundsÚ$StrPrinter._print_AccumulationBoundsÑ   s,   � Ø(,¯©°A·E±EÖ(:Ø(,¯©°A·E±EÖ(:ð<ð 	<r0   c                óN   • SU R                  UR                  [        S   5      -  $ )Nz%s**(-1)r   ©r.   r£   r   )r)   rè   s     r-   Ú_print_InverseÚStrPrinter._print_InverseÕ   s#   € Ø˜D×-Ñ-¨a¯e©e´ZÀÑ5FÓGÑGÐGr0   c                óÔ   • UR                   nUR                  n[        U5      S:X  a  US   R                  (       a  US   nSU R	                  U5      < SU R	                  U5      < S3$ )Nr   r   zLambda(ry   rz   )r=   Ú	signaturerô   Ú	is_symbolr(   )r)   Úobjr=   Úsigs       r-   Ú_print_LambdaÚStrPrinter._print_LambdaØ   sR   € Ø�x‰xˆØ�m‰mˆÜˆs‹8�q‹=˜S ™V×-×-Ø�a‘&ˆCøØ#'§;¡;¨sÖ#3°T·[±[ÀÖ5FÐGÐGr0   c                óž   ^ • [        UR                  [        S9nUR                  R                  SSR                  U 4S jU 5       5      -  -   $ )Nr­   r'   ry   c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr2   r    r¡   s     €r-   r¤   Ú.StrPrinter._print_LatticeOp.<locals>.<genexpr>á   s   øé € Ð6XÒSWÈC°t·{±{À3×7GÐ7GÒSWùr¦   )r°   r4   r   r×   r‚   r3   ©r)   r=   r4   s   `  r-   Ú_print_LatticeOpÚStrPrinter._print_LatticeOpß   s>   ø€ Ü�d—i‘iÔ%5Ñ6ˆØ�y‰y×!Ñ! F¨T¯Y©YÔ6XÑSWÓ6XÓ-XÑ$XÑXÐXr0   c           
     óh   • UR                   u  p#pES[        [        U R                  X#XE45      5      -  $ )NzLimit(%s, %s, %s, dir='%s'))r4   r–   Úmapr(   )r)   r=   ÚeÚzÚz0Údirs         r-   Ú_print_LimitÚStrPrinter._print_Limitã   s.   € ØŸ	™	‰ˆˆbØ,¬u´S¸¿¹ÀqÈRÀoÓ5VÓ/WÑWÐWr0   c                ó,   • SU R                  US5      -  $ )Nú[%s]ry   )r6   r<   s     r-   Ú_print_listÚStrPrinter._print_listè   s   € Ø˜Ÿ™ t¨TÓ2Ñ2Ð2r0   c                ó$   • U R                  U5      $ r2   )r)  r<   s     r-   Ú_print_ListÚStrPrinter._print_Listë   rº   r0   c                ó$   • UR                  U 5      $ r2   )Ú_format_strr<   s     r-   Ú_print_MatrixBaseÚStrPrinter._print_MatrixBaseî   rº   r0   c                óÂ   • U R                  UR                  [        S   SS9SU R                  UR                  5      < SU R                  UR
                  5      < S3-   $ )NÚAtomT©r,   Ú[ry   Ú])r.   Úparentr   r(   rj   ri   r<   s     r-   Ú_print_MatrixElementÚStrPrinter._print_MatrixElementñ   sN   € Ø× Ñ  §¡¬j¸Ñ.@ÈÐ ÑNØ ŸK™K¨¯©Ö/°·±¸T¿V¹VÖ1DÐEñFð 	Fr0   c                ó  ^ • U 4S jnT R                  UR                  [        S   SS9S-   U" UR                  UR                  R                  5      -   S-   U" UR
                  UR                  R                  5      -   S-   $ )Nc                ó    >• [        U 5      n U S   S:X  a  U S	 U S   S:X  a  SU S'   U S   U:X  a  SU S'   SR                  U4S jU  5       5      $ )Né   r   r   rD   Ú:c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr2   r    r¡   s     €r-   r¤   ÚBStrPrinter._print_MatrixSlice.<locals>.strslice.<locals>.<genexpr>þ   s   øé € Ð;º°#˜TŸ[™[¨×-Ð-ºùr¦   )rc   r3   )ÚxÚdimr)   s     €r-   ÚstrsliceÚ/StrPrinter._print_MatrixSlice.<locals>.strsliceö   s[   ø€ Ü�Q“ˆAØ�‰t�q‹yØ�a�DØ�‰t�q‹yØ��!‘Ø�‰t�s‹{Ø��!‘Ø—8‘8Ô;¹Ó;Ó<Ð<r0   r3  Tr4  r5  ry   r6  )r.   r7  r   ÚrowsliceÚrowsÚcolsliceÚcols)r)   r=   rB  s   `  r-   Ú_print_MatrixSliceÚStrPrinter._print_MatrixSliceõ   s€   ø€ õ	=ð ×!Ñ! $§+¡+¬z¸&Ñ/AÈ$Ð!ÐOÐRUÑUÙ˜Ÿ™¨¯©×(8Ñ(8Ó9ñ:Ø<@ñAá˜Ÿ™¨¯©×(8Ñ(8Ó9ñ:à<?ñ@ð 	Ar0   c                ó   • UR                   $ r2   rÅ   r<   s     r-   Ú_print_DeferredVectorÚ StrPrinter._print_DeferredVector  ó   € Ø�y‰yÐr0   c           
     ó&  • [        U5      nUR                  nUS   [        R                  L d  [	        S USS   5       5      (       Gaö  [        US SS9u  pE[        U5       H™  u  pgUR                  R                  (       a  UR                  * nO>[        UR                  R                  5      n	U	S   * U	S'   [        R                  " U	5      nUS-
  (       a  [        UR                  USS9OUR                  XF'   M›     / n
U(       aM  US   R                  (       d9  US   R                  5       (       a!  U R!                  UR#                  S5      5      /n
U
U Vs/ s H  nU R%                  X²SS	9PM     sn-   nU(       d  S
/n['        U5      S:”  a:  US   R                  5       (       a"  U R!                  UR#                  S5      5      /n
O/ n
U
U Vs/ s H  nU R%                  X²SS	9PM     sn-   nSR)                  U5      nSR)                  U5      n['        U5      S:”  a
  U< SU< S3$ U(       a	  U< SU< 3$ U$ UR+                  5       u  pèUS:  a  [-        U* U5      nSnOSn/ n/ n/ nU R.                  S;  a  UR1                  5       nO[        R2                  " U5      nS nU GH«  nUR4                  (       aó  [7        U[        5      (       aÞ  [9        UR                  R+                  5       S   S:  5      (       a°  UR                  [        R:                  La  UR=                  U" U5      5        MŽ  ['        UR                  S   R                  5      S:w  a6  [7        UR                  [        [        45      (       a  UR=                  U5        UR=                  UR                  5        GM  UR>                  (       a�  U[        R@                  Lan  URB                  S:w  a$  UR=                  [E        URB                  5      5        URF                  S:w  a'  UR=                  [E        URF                  5      5        GM—  GMš  UR=                  U5        GM®     U=(       d    [        R                  /nU Vs/ s H  nU R%                  UUSS	9PM     nnU Vs/ s H  nU R%                  UUSS	9PM     nnU HR  nUR                  U;   d  M  SUURI                  UR                  5         -  UURI                  UR                  5      '   MT     U(       d  USR)                  U5      -   $ ['        U5      S:X  a  USR)                  U5      -   S-   US   -   $ USR)                  U5      -   SSR)                  U5      -  -   $ s  snf s  snf s  snf s  snf )Nr   c              3  ó®   #   • U  HK  n[        U[        5      =(       d/    UR                  =(       a    [        S  UR                   5       5      v •  MM     g7f)c              3  ó8   #   • U  H  oR                   v •  M     g 7fr2   )Ú
is_Integer)r¢   Úais     r-   r¤   Ú2StrPrinter._print_Mul.<locals>.<genexpr>.<genexpr>  s   é € Ð @º°2§¦ºùs   ‚N)r9   r
   Úis_PowÚallr4   )r¢   r  s     r-   r¤   Ú(StrPrinter._print_Mul.<locals>.<genexpr>  sG   é € ð ##ò "�Aô ˜1œfÓ%÷ AØ—‘×@œSÑ @¸¿ºÓ @Ó@ôAâ!ùs   ‚AAr   c                ó‚   • [        U [        5      =(       a)    [        U R                  R	                  5       S   S:  5      $ ©Nr   )r9   r   ÚboolÚexpÚas_coeff_Mul)r@  s    r-   Ú<lambda>Ú'StrPrinter._print_Mul.<locals>.<lambda>  s0   € Ü˜1œcÓ"×H¤t¨A¯E©E×,>Ñ,>Ó,@ÀÑ,CÀaÑ,GÓ'HÐHr0   T)ÚbinaryF©Úevaluater4  Ú1Ú*z/(rz   Ú/rB   rD   )ÚoldÚnonec                óD  • U R                  5       u  p[        [        R                  " U5      5      nUS   [        R
                  L a  USS  nO	US   * US'   [        R                  " U5      n[        U [        5      (       a  U R                  XSS9$ U R                  USS9$ )Nr   r   Fr_  )
Úas_base_exprc   r	   Ú	make_argsr   ÚNegativeOneÚ
_from_argsr9   r   r×   )rj   r  r!  Úeargss       r-   ÚapowÚ#StrPrinter._print_Mul.<locals>.apowL  s�   € Ø—=‘=“?‰DˆAÜœŸš qÓ)Ó*ˆEØ�Q‰xœ1Ÿ=™=Ò(Ø˜a˜b˜	‘à! !™H˜9��a‘Ü—’˜uÓ%ˆAÜ˜!œS×!Ñ!Ø—v‘v˜a¨U�vÐ3Ð3Ø—6‘6˜! e�6Ð,Ð,r0   r'   z/(%s))%r   r4   r   ÚOneÚanyr   rd   rZ  Ú	is_Numberrc   r	   rj  r   ÚbaserH   Úcould_extract_minus_signr(   rJ   r.   rô   r3   r[  r   r   Úas_ordered_factorsrh  Úis_commutativer9   rY  ri  r²   Úis_RationalÚInfinityÚpr   ÚqÚindex)r)   r=   rL   r4   r³   Únrj   Údir!  ÚdargsÚprer  ÚnfactorsÚdfactorsÚcrP   r  Ú	pow_parenrl  r*   r@  Úa_strÚb_strs                          r-   Ú
_print_MulÚStrPrinter._print_Mul  s·  € ä˜$Óˆð �y‰yˆØ�‰7”a—e‘eÒœsñ ##ð ˜a˜b™ó##÷  #ò  #ô ˜ñ Iàñ‰DˆAô # 1ž‘�Ø—6‘6×#×#ØŸ™˜‘Aä  §¡§¡Ó-�EØ % a¡˜y�E˜!‘HÜŸš uÓ-�AØ:;¸a¿%”s˜2Ÿ7™7 A°Ò6ÀRÇWÁW�“ñ &ð ˆCæ˜˜1™ŸŸ¨¨1©×)FÑ)F×)HÑ)HØ—{‘{ 1§5¡5¨£8Ó,Ð-�àÙóÚ�Að #×/Ñ/°ÀÐ/ÓFÙññ ˆHæØ˜5�ô �1‹v˜‹z˜a ™d×;Ñ;×=Ñ=Ø—{‘{ 1§5¡5¨£8Ó,Ð-‘à�ØÙóÚ�Að #×/Ñ/°ÀÐ/ÓFÙññ ˆHð —‘˜Ó"ˆAØ—‘˜Ó"ˆAÜ�8‹}˜qÓ Û$%£qÐ)Ð)ÞÛ"#¢QÐ'Ð'ØˆHà× Ñ Ó"‰ˆØˆq‹5Ü ˜r 1Ó%ˆDØ‰DàˆDàˆØˆàˆ	à�:‰:˜_Ó,Ø×*Ñ*Ó,‰Dô —=’= Ó&ˆDò
	-ô ˆDØ×#×#Ü˜t¤S×)Ñ)Ü˜Ÿ™×.Ñ.Ó0°Ñ3°aÑ7×8Ñ8Ø—8‘8¤1§=¡=Ò0Ø—H‘H™T $›ZÖ(ä˜DŸI™I a™L×-Ñ-Ó.°!Ó3Ü& t§y¡y´3¼°*×=Ñ=à!×(Ñ(¨Ô.Ø—H‘H˜TŸY™Y×'Ø×!×! d´!·*±*Ò&<Ø—6‘6˜Q“;Ø—H‘HœX d§f¡fÓ-Ô.Ø—6‘6˜Q“;Ø—H‘HœX d§f¡fÓ-×.ò ð —‘˜—ñ% ð( �L”!—%‘%�ˆáCDÓEÂ1¸a�×"Ñ" 1 d°5Ð"Ó9Á1ˆÐEÙCDÓEÂ1¸a�×"Ñ" 1 d°5Ð"Ó9Á1ˆÐEó ˆDØ�y‰y˜A�~Ø,2°U¸1¿7¹7À4Ç9Á9Ó;MÑ5NÑ,N��a—g‘g˜dŸi™iÓ(Ó)ñ ö Ø˜#Ÿ(™( 5›/Ñ)Ð)Ü�‹V�q‹[Ø˜#Ÿ(™( 5›/Ñ)¨CÑ/°%¸±(Ñ:Ð:à˜#Ÿ(™( 5›/Ñ)¨G°c·h±h¸u³oÑ,EÑEÐEùòmùòùò~ FùÚEs   ÅU?ÇVÑ9V	ÒVc                óÎ  • UR                  5       u  p#SnUR                  (       au  UR                  5       u  pVUR                  (       a!  UR                  (       a  [        U* U5      nSnO1UR                  (       a   UR                  (       a  [        U* U5      nSnUSR                  UR                   Vs/ s H  opR                  U[        U5      5      PM     sn5      -   $ s  snf )NrD   rB   rb  )
Úas_coeff_mmulÚ	is_numberÚas_real_imagÚis_zeroÚis_negativer   r3   r4   r.   r   )r)   r=   r€  r  rP   ÚreÚimr£   s           r-   Ú_print_MatMulÚStrPrinter._print_MatMul|  s­   € Ø×!Ñ!Ó#‰ˆàˆØ�;�;Ø—^‘^Ó%‰FˆBØ�z�z˜bŸnŸnÜ" A 2 qÓ)�Ø‘Ø—— §§Ü" A 2 qÓ)�Ø�à�c—h‘hØAEÇÂÓKÂ¸#×Ñ˜s¤J¨tÓ$4Ö5ÁÑKó
ñ 
ð 	
ùÚKs   Â5$C"
c                ól   • SR                  UR                  U R                  UR                  5      5      $ )Nz{}.({}))r  r{   r(   r=   r<   s     r-   Ú_print_ElementwiseApplyFunctionÚ*StrPrinter._print_ElementwiseApplyFunction�  s,   € Ø×ÑØ�M‰MØ�K‰K˜Ÿ	™	Ó"ó
ð 	
r0   c                ó   • g)NÚnanrU   r<   s     r-   Ú
_print_NaNÚStrPrinter._print_NaN“  r”   r0   c                ó   • g)Nz-oorU   r<   s     r-   Ú_print_NegativeInfinityÚ"StrPrinter._print_NegativeInfinity–  r”   r0   c                óp  • UR                   (       a!  [        S UR                   5       5      (       ae  [        UR                   5      S::  a  SU R	                  UR
                  5      -  $ SU R                  UR
                  4UR                   -   SS5      -  $ SU R                  UR                  SS5      -  $ )Nc              3  óD   #   • U  H  o[         R                  L v •  M     g 7fr2   )r   ÚZero)r¢   rw  s     r-   r¤   Ú*StrPrinter._print_Order.<locals>.<genexpr>š  s   é € Ð$Eº*°Q¬!¯&©&¥[º*ùs   ‚ r   zO(%s)ry   r   )Ú	variablesrU  Úpointrô   r(   r=   r6   r4   r<   s     r-   Ú_print_OrderÚStrPrinter._print_Order™  sŠ   € Ø�~�~¤Ñ$E¸$¿*º*Ó$E×!EÑ!EÜ�4—>‘>Ó" aÓ'Ø §¡¨T¯Y©YÓ!7Ñ7Ð7à §¡°·±°¸t¿~¹~Ñ0MÈtÐUVÓ!WÑWÐWà˜TŸ^™^¨D¯I©I°t¸QÓ?Ñ?Ð?r0   c                ó"   • UR                  5       $ r2   ©Ú__str__r<   s     r-   Ú_print_OrdinalÚStrPrinter._print_Ordinal¢  ó   € Ø�|‰|‹~Ðr0   c                ó"   • UR                  5       $ r2   r£  r<   s     r-   Ú_print_CycleÚStrPrinter._print_Cycle¥  r§  r0   c                óh  • SSK JnJn  SSKJn  UR
                  nUb  U" SU S3SSSS	9  OU R                  R                  S
S5      nU(       a„  UR                  (       d  gU" U5      " UR                  S-
  5      R                  5       [        S5      S  nUR                  S5      nUS:X  d  SXgS  ;  a
  XgS  US U -   nUR                  SS5      nU$ UR                  5       nU(       dL  UR                  S:  a  SU R                  UR                  5      -  $ SU R                  UR                  5      -  $ U R                  UR                  S US   S-    5      SU R                  UR                  5      -  -   nU R                  UR                  5      =pš[        U5      [        U
5      :  a  Un	SU	-  $ )Nr   )ÚPermutationÚCycle)Úsympy_deprecation_warningzw
                Setting Permutation.print_cyclic is deprecated. Instead use
                init_printing(perm_cyclic=z).
                z1.6z#deprecated-permutation-print_cyclicé   )Údeprecated_since_versionÚactive_deprecations_targetÚ
stacklevelr    Tz()r   r­  rx   Ú,rD   é   zPermutation(%s)zPermutation([], size=%s)éÿÿÿÿz	, size=%s)Ú sympy.combinatorics.permutationsr¬  r­  Úsympy.utilities.exceptionsr®  Úprint_cyclicÚ	_settingsÚgetÚsizeÚ__repr__rô   ÚrfindÚreplaceÚsupportr(   Ú
array_form)r)   r=   r¬  r­  r®  r    r›   ÚlastÚtrimÚuseÚfulls              r-   Ú_print_PermutationÚStrPrinter._print_Permutation¨  s’  € ßGÝHà!×.Ñ.ˆØÑ"Ù%ð+à+6¨-ð 8ðð */Ø+PØóð Ÿ.™.×,Ñ,¨]¸DÓAˆKæØ—9—9Øñ �d”˜DŸI™I¨™MÓ*×3Ñ3Ó5´c¸'³l°mÐDˆAØ—7‘7˜3“<ˆDØ˜1“9 ¨A¨e¨HÓ!4Ø�e�H˜q  $˜xÑ'�Ø—	‘	˜#˜rÓ"ˆAØˆHà—‘“ˆAÞØ—9‘9˜q“=Ø,¨t¯{©{¸4¿?¹?Ó/KÑKÐKØ1°D·K±KÀÇ	Á	Ó4JÑJÐJØ—;‘;˜tŸ™¨z°°"±¸±	Ð:Ó;¸kÈDÏKÉKÐX\×XaÑXaÓLbÑ>bÑbˆDØŸ™ T§_¡_Ó5Ð5ˆCÜ�4‹yœ3˜t›9Ó$Ø�Ø$ sÑ*Ð*r0   c                óÞ   • UR                   u  p#n[        UR                  5      S:X  a
  US   nUS   nSU R                  U5      < SU R                  U5      < SU R                  U5      < S3$ )Nr   r   zSubs(ry   rz   )r4   rô   rŸ  r(   )r)   r  r=   rd  Únews        r-   Ú_print_SubsÚStrPrinter._print_SubsÑ  s`   € ØŸ™‰ˆ�3Üˆs�y‰y‹>˜QÓØ�a‘&ˆCØ�a‘&ˆCøà�K‰K˜Ö˜tŸ{™{¨3Ö/°·±¸SÖ1AðCð 	Cr0   c                ó"   • UR                  5       $ r2   r    r<   s     r-   Ú_print_TensorIndexÚStrPrinter._print_TensorIndexÙ  ó   € Ø�{‰{‹}Ðr0   c                ó"   • UR                  5       $ r2   r    r<   s     r-   Ú_print_TensorHeadÚStrPrinter._print_TensorHeadÜ  rÎ  r0   c                ó"   • UR                  5       $ r2   r    r<   s     r-   Ú_print_TensorÚStrPrinter._print_Tensorß  rÎ  r0   c                óª   • UR                  5       u  p#USR                  U Vs/ s H  o@R                  U[        U5      5      PM     sn5      -   $ s  snf )Nrb  )Ú!_get_args_for_traditional_printerr3   r.   r   )r)   r=   rP   r4   r£   s        r-   Ú_print_TensMulÚStrPrinter._print_TensMulâ  sO   € à×;Ñ;Ó=‰
ˆØ�c—h‘hÙAEÓFÂ¸#×Ñ˜s¤J¨tÓ$4Ö5ÁÑFó
ñ 
ð 	
ùÚFs   £$A
c                ó"   • UR                  5       $ r2   r    r<   s     r-   Ú_print_TensAddÚStrPrinter._print_TensAddé  rÎ  r0   c                ó8   • U R                  UR                  5      $ r2   ©r(   rÆ   r<   s     r-   Ú_print_ArraySymbolÚStrPrinter._print_ArraySymbolì  s   € Ø�{‰{˜4Ÿ9™9Ó%Ð%r0   c           
     óÔ   • U R                  UR                  [        S   S5      < SSR                  UR                   Vs/ s H  o R                  U5      PM     sn5      < S3$ s  snf )NÚFuncTr5  ry   r6  )r.   rÆ   r   r3   Úindicesr(   )r)   r=   rj   s      r-   Ú_print_ArrayElementÚStrPrinter._print_ArrayElementï  sW   € à×Ñ˜dŸi™i¬°FÑ);¸TÖBÀDÇIÁIÐgk×gsÒgsÓNtÒgsÐbcÏ{É{Ð[\Î~ÑgsÑNtÖDuðwð 	wùÚNts   Á A%c                ó�   • UR                    Vs/ s H  nSU R                  U5      -  PM     nnSSR                  U5      -  $ s  snf )Nz    %szPermutationGroup([
%s])z,
)r4   r(   r3   )r)   r=   r  rw  s       r-   Ú_print_PermutationGroupÚ"StrPrinter._print_PermutationGroupó  s?   € Ø04·	²	Ó:²	¨1ˆX˜Ÿ™ A›Ô&±	ˆÐ:Ø)¨E¯J©J°q«MÑ9Ð9ùò ;s   �Ac                ó   • g)NÚpirU   r<   s     r-   Ú	_print_PiÚStrPrinter._print_Pi÷  rï   r0   c                óÌ   ^ • SSR                  U 4S jUR                   5       5      < ST R                  UR                  5      < ST R                  UR                  5      < S3$ )NzPolynomial ring in ry   c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr2   r    )r¢   Úrsr)   s     €r-   r¤   Ú-StrPrinter._print_PolyRing.<locals>.<genexpr>ü  s   øé € Ð?²,¨B˜Ÿ™ BŸ˜²,ùr¦   ú over ú with ú order©r3   r¿   r(   Údomainr   )r)   Úrings   ` r-   Ú_print_PolyRingÚStrPrinter._print_PolyRingú  sB   ø� à�Y‰YÔ?°$·,²,Ó?Ö@Ø�K‰K˜Ÿ™Ö$ d§k¡k°$·*±*Ö&=ð?ð 	?r0   c                óÌ   ^ • SSR                  U 4S jUR                   5       5      < ST R                  UR                  5      < ST R                  UR                  5      < S3$ )NzRational function field in ry   c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr2   r    )r¢   Úfsr)   s     €r-   r¤   Ú.StrPrinter._print_FracField.<locals>.<genexpr>  s   øé € Ð@²-¨B˜Ÿ™ BŸ˜²-ùr¦   rð  rñ  rò  ró  ©r)   Úfields   ` r-   Ú_print_FracFieldÚStrPrinter._print_FracFieldÿ  sD   ø� à�Y‰YÔ@°%·-²-Ó@ÖAØ�K‰K˜Ÿ™Ö% t§{¡{°5·;±;Ö'?ðAð 	Ar0   c                ó"   • UR                  5       $ r2   r£  )r)   Úelms     r-   Ú_print_FreeGroupElementÚ"StrPrinter._print_FreeGroupElement  s   € Ø�{‰{‹}Ðr0   c                ó@   • SUR                   < SUR                  < S3$ )Nrx   ú + z*I))r@  Úy©r)   Úpolys     r-   Ú_print_GaussianElementÚ!StrPrinter._print_GaussianElement  s   � Ø $§¤¨¯¬Ð/Ð/r0   c                ó2   • UR                  U [        SS5      $ )Nz%s**%srb  )r:   r   r  s     r-   Ú_print_PolyElementÚStrPrinter._print_PolyElement
  s   € Ø�x‰x˜œj¨(°CÓ8Ð8r0   c                óð   • UR                   S:X  a  U R                  UR                  5      $ U R                  UR                  [        S   SS9nU R                  UR                   [        S   SS9nUS-   U-   $ )Nr   r	   Tr4  r3  rc  )Údenomr(   Únumerr.   r   )r)   Úfracr  r  s       r-   Ú_print_FracElementÚStrPrinter._print_FracElement  so   € Ø�:‰:˜‹?Ø—;‘;˜tŸz™zÓ*Ð*à×%Ñ% d§j¡j´*¸UÑ2CÈDÐ%ÐQˆEØ×%Ñ% d§j¡j´*¸VÑ2DÈTÐ%ÐRˆEØ˜3‘; Ñ&Ð&r0   c                óˆ  • [         S   S-
  n/ UR                   Vs/ s H  o0R                  X25      PM     nnnUR                  5        GHh  u  pg/ n[	        U5       HA  u  pšU
S:”  d  M  U
S:X  a  UR                  XY   5        M(  UR                  XY   SU
-  -   5        MC     SR                  U5      nUR                  (       a1  U(       a  SU R                  U5      -   S-   nO{U R                  U5      nOiU(       aQ  U[        R                  L a  UR                  SU/5        MÚ  U[        R                  L a  UR                  S	U/5        GM  U R                  U5      nU(       d  UnOUS-   U-   nUR                  S	5      (       a  UR                  S	USS  /5        GMU  UR                  SU/5        GMk     US   S
;   a"  UR                  S5      nUS	:X  a  S	US   -   US'   UR                  R                   S-   nSSKJn   USUR'                  5       -  -  nUS-  n[	        U5       HM  u  nn[+        U5      S:”  d  M  US S S:X  d  M"  U[+        U5      S-
  S  S:X  d  M9  US[+        U5      S-
   UU'   MO     USR                  U5      SR                  U5      4-  $ s  snf ! U a    USUR)                  5       -  -  n N©f = f)Nr3  r   r   z**%drb  rx   rz   rC   rB   )rB   rC   z(%s, %s)ÚPolynomialErrorz, modulus=%sz, domain='%s'r<  rE   ry   )r   Úgensr.   rK   rd   r²   r3   rH   r(   r   rn  rI   ri  rG   rJ   r�   r‚   Úsympy.polys.polyerrorsr  Úget_modulusÚ
get_domainrô   )r)   r=   Ú	ATOM_PRECr›   rK   r  ÚmonomÚcoeffÚs_monomrj   r!  Ús_coeffÚs_termÚmodifierr  r  ry  r*   s                     r-   Ú_print_PolyÚStrPrinter._print_Poly  s‰  € Ü˜vÑ&¨Ñ*ˆ	ØÀTÇYÂYÓPÂYÀ×-Ñ-¨aÖ;ÁYˆtÐPˆà ŸJ™JŸL‰LˆEØˆGä! %Ö(‘�Ø�q•5Ø˜A“vØŸ™ t¡wÖ/àŸ™ t¡w°¸!±Ñ';Ö<ñ )ð —h‘h˜wÓ'ˆGà�|�|ÞØ! D§K¡K°Ó$6Ñ6¸Ñ<‘Gà"Ÿk™k¨%Ó0‘GæØ¤§¡’~ØŸ™ c¨7 ^Ô4Ù à¤§¡Ò-ØŸ™ c¨7 ^Ô4Ú àŸ+™+ eÓ,�æØ ‘à  3™¨Ñ0�à× Ñ  ×%Ñ%Ø—‘˜c 6¨!¨" :Ð.×/à—‘˜c 6˜]×+ñK )ðN �‰8�zÓ!Ø—y‘y “|ˆHà˜3‹Ø  q¡™>��a‘à—‘×(Ñ(¨9Ñ4ˆå:ð	:Ø�n t×'7Ñ'7Ó'9Ñ9Ñ9ˆFð 	�#‰ˆä$ Tž?‰KˆE�4Ü�4‹y˜1�} $ r¨ (¨c¥/°d¼3¸t»9Àq¹=¸>Ð6JÈcÕ6QØ" 1¤S¨£Y°¡]Ð3��U“ñ +ð ˜Ÿ™ %›¨$¯)©)°D«/Ð:Ñ:Ð:ùò} Qøðj ó 	:Ø�o¨¯©Ó(9Ñ9Ñ9ŠFð	:ús   œJÈJ" Ê"KË Kc                ó   • g)Nrš   rU   )r)   rw  s     r-   Ú_print_UniversalSetÚStrPrinter._print_UniversalSetW  s   € Ør0   c                ó¼   • UR                   (       a-  U R                  UR                  5       R                  5       5      $ U R                  UR                  5       5      $ r2   )Ú
is_aliasedr(   Úas_polyÚas_exprr<   s     r-   Ú_print_AlgebraicNumberÚ!StrPrinter._print_AlgebraicNumberZ  s<   € Ø�?�?Ø—;‘;˜tŸ|™|›~×5Ñ5Ó7Ó8Ð8à—;‘;˜tŸ|™|›~Ó.Ð.r0   c                ó¢  ^ • [        U5      nUR                  [        R                  L a%  U(       d  ST R	                  UR
                  5      -  $ UR                  (       a´  UR                  * [        R                  L a9  U(       d2  S[        U 4S j[        R                  UR
                  4 5       5      -  $ UR                  [        R                  * L a?  T R	                  [        R                  5      < ST R                  UR
                  USS9< 3$ T R                  UR                  USS9nT R                  S:X  ap  UR                  R                  (       aU  UR                  R                  S:w  a;  UR                  S	5      (       a%  T R                  UR
                  USS9< S
USS < 3$ T R                  UR
                  USS9< S
U< 3$ )aL  Printing helper function for ``Pow``

Parameters
==========

rational : bool, optional
    If ``True``, it will not attempt printing ``sqrt(x)`` or
    ``x**S.Half`` as ``sqrt``, and will use ``x**(1/2)``
    instead.

    See examples for additional details

Examples
========

>>> from sympy import sqrt, StrPrinter
>>> from sympy.abc import x

How ``rational`` keyword works with ``sqrt``:

>>> printer = StrPrinter()
>>> printer._print_Pow(sqrt(x), rational=True)
'x**(1/2)'
>>> printer._print_Pow(sqrt(x), rational=False)
'sqrt(x)'
>>> printer._print_Pow(1/sqrt(x), rational=True)
'x**(-1/2)'
>>> printer._print_Pow(1/sqrt(x), rational=False)
'1/sqrt(x)'

Notes
=====

``sqrt(x)`` is canonicalized as ``Pow(x, S.Half)`` in SymPy,
so there is no need of defining a separate printer for ``sqrt``.
Instead, it should be handled here as well.
zsqrt(%s)z%s/sqrt(%s)c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr2   r    r¡   s     €r-   r¤   Ú(StrPrinter._print_Pow.<locals>.<genexpr>�  s   øé € Ð-]ÒJ\À3¨d¯k©k¸#×.>Ð.>ÒJ\ùr¦   rc  Fr4  Ú
_sympyreprr   z	(Rationalú**rµ  )r   rZ  r   ÚHalfr(   rq  rt  r–   rn  r.   Úprintmethodru  rx  rG   )r)   r=   ÚrationalÚPRECr!  s   `    r-   Ú
_print_PowÚStrPrinter._print_Pow`  si  ø€ ôL ˜$Óˆà�8‰8”q—v‘vÒ¦hØ §¡¨D¯I©IÓ 6Ñ6Ð6à××Ø—‘ˆyœAŸF™FÒ"®8ð %¤uÔ-]Ì1Ï5É5ÐRV×R[ÑR[ÑJ\Ó-]Ó'^Ñ^Ð^Ø�x‰xœAŸE™E˜6Ò!à"&§+¡+¬a¯e©eÖ"4Ø"&×"3Ñ"3°D·I±I¸tÈEÐ"3Ò"RðTð Tð ×Ñ˜dŸh™h¨°UÐÐ;ˆØ×Ñ˜|Ó+°·±×0D×0DÈÏÉÏÉÐWXËð �|‰|˜K×(Ñ(Ø#'×#4Ñ#4°T·Y±YÀÈUÐ#4Ó#SÐUVÐWXÐY[ÒU\Ð]Ð]Ø×,Ñ,¨T¯Y©Y¸ÀUÐ,ÓKÊQÐOÐOr0   c                ó>   • U R                  UR                  S   5      $ rX  ©r(   r4   r<   s     r-   Ú_print_UnevaluatedExprÚ!StrPrinter._print_UnevaluatedExpr�  s   € Ø�{‰{˜4Ÿ9™9 Q™<Ó(Ð(r0   c                óŽ   • [        U5      nU R                  UR                  USS9< SU R                  UR                  USS9< 3$ )NFr4  r0  )r   r.   rq  rZ  )r)   r=   r4  s      r-   Ú_print_MatPowÚStrPrinter._print_MatPow   sJ   € Ü˜$ÓˆØ×,Ñ,¨T¯Y©Y¸ÀUÐ,ÓKØ×*Ñ*¨4¯8©8°TÀ%Ð*ÒHðJð 	Jr0   c                óx   • U R                   R                  SS5      (       a  SU-  $ [        UR                  5      $ )Nr   FzS(%s))r¹  rº  r:   rw  r<   s     r-   Ú_print_IntegerÚStrPrinter._print_Integer¥  s3   € Ø�>‰>×ÑÐ.°×6Ñ6Ø˜dÑ#Ð#Ü�4—6‘6‹{Ðr0   c                ó   • g)NÚIntegersrU   r<   s     r-   Ú_print_IntegersÚStrPrinter._print_Integersª  ó   € Ør0   c                ó   • g)NÚNaturalsrU   r<   s     r-   Ú_print_NaturalsÚStrPrinter._print_Naturals­  rE  r0   c                ó   • g)NÚ	Naturals0rU   r<   s     r-   Ú_print_Naturals0ÚStrPrinter._print_Naturals0°  ó   € Ør0   c                ó   • g)NÚ	RationalsrU   r<   s     r-   Ú_print_RationalsÚStrPrinter._print_Rationals³  rN  r0   c                ó   • g)NÚRealsrU   r<   s     r-   Ú_print_RealsÚStrPrinter._print_Reals¶  r\   r0   c                ó   • g)NÚ	ComplexesrU   r<   s     r-   Ú_print_ComplexesÚStrPrinter._print_Complexes¹  rN  r0   c                ó   • g)NÚEmptySetrU   r<   s     r-   Ú_print_EmptySetÚStrPrinter._print_EmptySet¼  rE  r0   c                ó   • g)NÚEmptySequencerU   r<   s     r-   Ú_print_EmptySequenceÚStrPrinter._print_EmptySequence¿  s   € Ør0   c                ó   • [        U5      $ r2   ©r:   r<   s     r-   Ú
_print_intÚStrPrinter._print_intÂ  ó   € Ü�4‹yÐr0   c                ó   • [        U5      $ r2   rd  r<   s     r-   Ú
_print_mpzÚStrPrinter._print_mpzÅ  rg  r0   c                ó  • UR                   S:X  a  [        UR                  5      $ U R                  R	                  SS5      (       a  SUR                  < SUR                   < 3$ UR                  < SUR                   < 3$ )Nr   r   FzS(z)/rc  )rx  r:   rw  r¹  rº  r<   s     r-   Ú_print_RationalÚStrPrinter._print_RationalÈ  sY   € Ø�6‰6�Q‹;Ü�t—v‘v“;Ðà�~‰~×!Ñ!Ð"2°E×:Ò:Ø%)§V¤V¨T¯V«VÐ4Ð4Ø"Ÿfœf d§f£fÐ-Ð-r0   c                ó‚   • UR                   S:X  a  [        UR                  5      $ SUR                  UR                   4-  $ )Nr   z%d/%d)rx  r:   rw  r<   s     r-   Ú_print_PythonRationalÚ StrPrinter._print_PythonRationalÐ  s3   € Ø�6‰6�Q‹;Ü�t—v‘v“;Ðà˜dŸf™f d§f¡fÐ-Ñ-Ð-r0   c                ó†   • UR                   S:X  a  [        UR                  5      $ UR                  < SUR                   < 3$ ©Nr   rc  ©Údenominatorr:   Ú	numeratorr<   s     r-   Ú_print_FractionÚStrPrinter._print_FractionÖ  ó4   € Ø×Ñ˜qÓ Ü�t—~‘~Ó&Ð&à"Ÿnœn¨d×.>Ó.>Ð?Ð?r0   c                ó†   • UR                   S:X  a  [        UR                  5      $ UR                  < SUR                   < 3$ rr  rs  r<   s     r-   Ú
_print_mpqÚStrPrinter._print_mpqÜ  rx  r0   c                óz  • UR                   nU R                  R                  SS 5      nUc  US:  a  SO[        UR                   5      nU R                  S   SL a  SnO7U R                  S   SL a  SnO"U R                  S   S:X  a  U R                  S:„  nS	U R                  ;   a  U R                  S	   OS nS
U R                  ;   a  U R                  S
   OS n[        UR                  UWXVS9nUR                  S5      (       a	  SUSS  -   nOUR                  S5      (       a  SUSS  -   nUR                  S5      nU$ )Nr#   r´  r   r   TFr   r   r!   r"   )Ústrip_zerosÚ	min_fixedÚ	max_fixedz-.0z-0.é   z.0z0.r<  rC   )	Ú_precr¹  rº  r   Ú_print_levelÚmlib_to_strÚ_mpf_rG   Úremoveprefix)r)   r=   rL   r#   ÚstripÚlowÚhighÚrvs           r-   Ú_print_FloatÚStrPrinter._print_Floatâ  s"  € Ø�z‰zˆØ�n‰n× Ñ  ¨Ó-ˆØ‰;Ø˜a“x‘!¤[°·±Ó%<ˆCØ�>‰>˜+Ñ&¨$Ò.Ø‰EØ�^‰^˜KÑ(¨EÒ1Ø‰EØ�^‰^˜KÑ(¨FÓ2Ø×%Ñ%¨Ñ)ˆEØ',°·±Ó'>ˆd�n‰n˜UÒ#ÀDˆØ(-°·±Ó(?ˆt�~‰~˜eÒ$ÀTˆÜ˜Ÿ™ S°eÀsÑ[ˆØ�=‰=˜×ÑØ˜˜A˜B˜‘‰BØ�]‰]˜4× Ñ Ø˜˜1˜2˜‘ˆBØ�_‰_˜SÓ!ˆØˆ	r0   c           
     óâ  • SSSSSSSSS	.nUR                   U;   aL  X!R                      < S
U R                  UR                  5      < SU R                  UR                  5      < S3$ U R	                  UR                  [        U5      5      < SU R                  R                  UR                   5      =(       d    UR                   < SU R	                  UR                  [        U5      5      < 3$ )NÚEqÚNeÚ
AssignmentÚAddAugmentedAssignmentÚSubAugmentedAssignmentÚMulAugmentedAssignmentÚDivAugmentedAssignmentÚModAugmentedAssignment)z==z!=z:=z+=z-=z*=z/=z%=rx   ry   rz   rE   )Úrel_opr(   Úlhsrf   r.   r   r%   rº  )r)   r=   Úcharmaps      r-   Ú_print_RelationalÚStrPrinter._print_Relational÷  sÈ   € ð ØØØ*Ø*Ø*Ø*Ø*ñ	
ˆð �;‰;˜'Ó!Ø#*¯;©;Ô#7¸¿¹ÀTÇXÁXÖ9NØ#'§;¡;¨t¯x©xÖ#8ð:ð :ð "×.Ñ.¨t¯x©x¼ÀDÓ9IÖJØ×,Ñ,×0Ñ0°·±Ó=×LÀÇÁÒLØ×,Ñ,¨T¯X©X´zÀ$Ó7GÕHðJð 	Jr0   c                óT   • SU R                  UR                  SS9UR                  4-  $ )NzCRootOf(%s, %d)ÚlexrA   )rQ   r=   ry  r<   s     r-   Ú_print_ComplexRootOfÚStrPrinter._print_ComplexRootOf  s.   € Ø  D§O¡O°D·I±IÀe OÐ$LØ$(§J¡Jð$0ñ 0ð 	0r0   c                óî   • U R                  UR                  SS9/nUR                  [        R                  La*  UR                  U R                  UR                  5      5        SSR                  U5      -  $ )Nr›  rA   zRootSum(%s)ry   )rQ   r=   Úfunr   ÚIdentityFunctionr²   r(   r3   r  s      r-   Ú_print_RootSumÚStrPrinter._print_RootSum  sY   € Ø—‘ §	¡	°�Ð7Ð8ˆà�8‰8œ1×-Ñ-Ò-Ø�K‰K˜Ÿ™ D§H¡HÓ-Ô.à˜tŸy™y¨›Ñ.Ð.r0   c                óà  • UR                   R                  nUR                   Vs/ s H  o0R                  X1R                  S9PM     nnSSR                  U5      -  nUR                   Vs/ s H  oPR                  U5      PM     nnSU R                  UR                  5      -  nSU R                  UR                  5      -  nU/U-   Xx/-   n	U< SSR                  U	5      < S3$ s  snf s  snf )NrA   r(  ry   zdomain='%s'z
order='%s'rx   rz   )	r�   r‚   ÚexprsrQ   r   r3   r  r(   rô  )
r)   ÚbasisÚclsr£   r¤  Úgenr  rô  r   r4   s
             r-   Ú_print_GroebnerBasisÚStrPrinter._print_GroebnerBasis  sÆ   € Ø�o‰o×&Ñ&ˆàDIÇKÂKÓPÂK¸S—‘ ¯K©K�Ó8ÁKˆÐPØ˜Ÿ™ 5Ó)Ñ)ˆà-2¯ZªZÓ9ªZ c—‘˜SÖ!©ZˆÐ9Ø §¡¨U¯\©\Ó!:Ñ:ˆØ˜tŸ{™{¨5¯;©;Ó7Ñ7ˆàˆw˜‰~  Ñ/ˆã §	¡	¨$¦Ð0Ð0ùò Qùò :s   ¥"C&Á+C+c                óp   ^ • [        U[        S9nSR                  U 4S jU 5       5      nU(       d  gSU-  $ )Nr­   ry   c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr2   r    ©r¢   r*   r)   s     €r-   r¤   Ú(StrPrinter._print_set.<locals>.<genexpr>)  ó   øé € Ð=²u¨t˜Ÿ™ T×*Ð*²uùr¦   zset()r¯   )r°   r   r3   ©r)   r›   r´   r4   s   `   r-   Ú
_print_setÚStrPrinter._print_set&  s4   ø€ Ü�qÔ.Ñ/ˆà�y‰yÔ=±uÓ=Ó=ˆÞØØ˜‰}Ðr0   c                óÜ   ^ ^• SSK Jm  [        U[        S9nSR	                  U 4S jU 5       5      n[        U4S jU 5       5      (       a  SR                  U5      $ SR                  U5      $ )	Nr   )Ú	FiniteSetr­   ry   c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr2   r    r¬  s     €r-   r¤   Ú.StrPrinter._print_FiniteSet.<locals>.<genexpr>2  r®  r¦   c              3  óD   >#   • U  H  oR                  T5      v •  M     g 7fr2   )Úhas)r¢   r*   r³  s     €r-   r¤   rµ  3  s   øé € Ð5ªu t�x‰x˜	×"Ð"ªuùs   ƒ zFiniteSet({})z{{{}}})Úsympy.sets.setsr³  r°   r   r3   ro  r  )r)   r›   r´   r4   r³  s   `   @r-   Ú_print_FiniteSetÚStrPrinter._print_FiniteSet.  sX   ù€ Ý-Ü�qÔ.Ñ/ˆà�y‰yÔ=±uÓ=Ó=ˆÜÔ5©uÓ5×5Ñ5Ø"×)Ñ)¨$Ó/Ð/Ø�‰˜tÓ$Ð$r0   c                óx   ^ • [        U[        S9nSR                  U 4S jU 5       5      nSR                  U5      $ )Nr­   ry   c              3  óF   >#   • U  H  nTR                  U5      v •  M     g 7fr2   r    r¡   s     €r-   r¤   Ú.StrPrinter._print_Partition.<locals>.<genexpr>:  s   øé € Ð;²U¨c˜Ÿ™ S×)Ð)²Uùr¦   zPartition({}))r°   r   r3   r  r¯  s   `   r-   Ú_print_PartitionÚStrPrinter._print_Partition7  s5   ø€ Ü�qÔ.Ñ/ˆà�y‰yÔ;±UÓ;Ó;ˆØ×%Ñ% dÓ+Ð+r0   c                ó:   • U(       d  gSU R                  U5      -  $ )Nzfrozenset()zfrozenset(%s))r°  ©r)   r›   s     r-   Ú_print_frozensetÚStrPrinter._print_frozenset=  s   € ÞØ Ø §¡°Ó!3Ñ3Ð3r0   c                óÄ   ^ • U 4S jnSR                  UR                   Vs/ s H
  o2" U5      PM     sn5      nST R                  UR                  5      < SU< S3$ s  snf )Nc                ó’   >• [        U 5      S:X  a  TR                  U S   5      $ TR                  U S   4[        U SS  5      -   5      $ rò   ró   rõ   s    €r-   r÷   Ú)StrPrinter._print_Sum.<locals>._xab_tostrC  rù   r0   ry   zSum(rz   rú   rü   s   `    r-   Ú
_print_SumÚStrPrinter._print_SumB  sL   ø€ õ	?ð
 �I‰I¨d¯kªkÓ:ªk¨�z !–}©kÑ:Ó;‰Ø $§¡¨D¯M©MÖ :»AÐ>Ð>ùò ;r   c                ó   • UR                   $ r2   rÅ   r<   s     r-   Ú_print_SymbolÚStrPrinter._print_SymbolK  rM  r0   c                ó   • grç   rU   r<   s     r-   Ú_print_IdentityÚStrPrinter._print_IdentityP  rÑ   r0   c                ó   • g)NÚ0rU   r<   s     r-   Ú_print_ZeroMatrixÚStrPrinter._print_ZeroMatrixS  rÑ   r0   c                ó   • g)Nra  rU   r<   s     r-   Ú_print_OneMatrixÚStrPrinter._print_OneMatrixV  rÑ   r0   c                ó    • SUR                   -  $ )NzQ.%srÅ   r<   s     r-   Ú_print_PredicateÚStrPrinter._print_PredicateY  s   € Ø˜Ÿ	™	Ñ!Ð!r0   c                ó   • [        U5      $ r2   rd  r<   s     r-   Ú
_print_strÚStrPrinter._print_str\  rg  r0   c                óx   • [        U5      S:X  a  SU R                  US   5      -  $ SU R                  US5      -  $ )Nr   z(%s,)r   r'   ry   )rô   r(   r6   r<   s     r-   Ú_print_tupleÚStrPrinter._print_tuple_  s;   € Üˆt‹9˜‹>Ø˜TŸ[™[¨¨a©Ó1Ñ1Ð1à˜DŸN™N¨4°Ó6Ñ6Ð6r0   c                ó$   • U R                  U5      $ r2   )rÝ  r<   s     r-   Ú_print_TupleÚStrPrinter._print_Tuplee  s   € Ø× Ñ  Ó&Ð&r0   c                óN   • SU R                  UR                  [        S   5      -  $ )Nz%s.Tr   r  )r)   ÚTs     r-   Ú_print_TransposeÚStrPrinter._print_Transposeh  s#   € Ø˜×)Ñ)¨!¯%©%´¸EÑ1BÓCÑCÐCr0   c                ó|   • SU R                  UR                  5      < SU R                  UR                  5      < S3$ )NzUniform(ry   rz   )r(   r  r  r<   s     r-   Ú_print_UniformÚStrPrinter._print_Uniformk  s'   � Ø$(§K¡K°·±Ö$7¸¿¹ÀTÇVÁVÖ9LÐMÐMr0   c                ó€   • U R                   R                  SS5      (       a  SUR                  -  $ SUR                  -  $ )Nr   Fz%s)r¹  rº  r   rÆ   r<   s     r-   Ú_print_QuantityÚStrPrinter._print_Quantityn  s7   € Ø�>‰>×Ñ˜h¨×.Ñ.Ø˜$Ÿ+™+Ñ%Ð%Ø�d—i‘iÑÐr0   c           	     óþ   • UR                    Vs/ s H  o R                  U[        S   SS9PM     nnUS   /[        USS  S5       VVs/ s H  u  p$US-   U-   PM     snn-   nSR	                  U5      $ s  snf s  snnf )	Nr	   Tr4  r   r   Úijkrb  r  )r4   r.   r   Úzipr3   )r)   r=   rj   r›   ri   r  s         r-   Ú_print_QuaternionÚStrPrinter._print_Quaternions  s~   € ØKOÏ9Ê9ÓUÊ9Àa×Ñ˜q¤*¨UÑ"3¸DÐÓAÉ9ˆÐUØˆq‰TˆF¬#¨a°°¨e°UÔ*;Ô<Ò*;¡$ !�a˜‘e˜A”gÑ*;Ò<Ñ<ˆØ�z‰z˜!‹}Ðùò VùÛ<s   �!A4Á	A9c                ó   • [        U5      $ r2   rd  r<   s     r-   Ú_print_DimensionÚStrPrinter._print_Dimensionx  rg  r0   c                ó    • UR                   S-   $ rÃ   rÅ   r<   s     r-   Ú_print_WildÚStrPrinter._print_Wild{  ó   € Ø�y‰y˜3‰Ðr0   c                ó    • UR                   S-   $ rÃ   rÅ   r<   s     r-   Ú_print_WildFunctionÚStrPrinter._print_WildFunction~  r÷  r0   c                ó   • UR                   $ r2   rÅ   r<   s     r-   Ú_print_WildDotÚStrPrinter._print_WildDot�  rM  r0   c                ó   • UR                   $ r2   rÅ   r<   s     r-   Ú_print_WildPlusÚStrPrinter._print_WildPlus„  rM  r0   c                ó   • UR                   $ r2   rÅ   r<   s     r-   Ú_print_WildStarÚStrPrinter._print_WildStar‡  rM  r0   c                óz   • U R                   R                  SS5      (       a  gU R                  [        S5      5      $ )Nr   FzS(0)r   )r¹  rº  r?  r   r<   s     r-   Ú_print_ZeroÚStrPrinter._print_ZeroŠ  s2   € Ø�>‰>×ÑÐ.°×6Ñ6ØØ×"Ñ"¤7¨1£:Ó.Ð.r0   c                ó¾   • UR                   R                  nU R                  UR                  5       5      nU R                  UR                  5      nU< SU< SU< S3$ rw   )r�   r‚   r(   Úto_listÚdom)r)   rw  r¦  Úrepr	  s        r-   Ú
_print_DMPÚStrPrinter._print_DMP�  sD   € Ø�k‰k×"Ñ"ˆØ�k‰k˜!Ÿ)™)›+Ó&ˆØ�k‰k˜!Ÿ%™%Ó ˆã"£C«Ð-Ð-r0   c                óô   • UR                   R                  nU R                  UR                  5      nU R                  UR                  5      nU R                  UR
                  5      nU< SU< SU< SU< S3$ rw   )r�   r‚   r(   ÚnumÚdenr	  )r)   r=   r¦  r  r  r	  s         r-   Ú
_print_DMFÚStrPrinter._print_DMF–  sV   € Ø�n‰n×%Ñ%ˆØ�k‰k˜$Ÿ(™(Ó#ˆØ�k‰k˜$Ÿ(™(Ó#ˆØ�k‰k˜$Ÿ(™(Ó#ˆã#&««S³#Ð6Ð6r0   c                ó    • SUR                   -  $ )NzObject("%s")rÅ   )r)   r  s     r-   Ú_print_ObjectÚStrPrinter._print_Objectž  s   € Ø §¡Ñ(Ð(r0   c                ó    • SUR                   -  $ )NzIdentityMorphism(%s))rô  ©r)   Úmorphisms     r-   Ú_print_IdentityMorphismÚ"StrPrinter._print_IdentityMorphism¡  s   € Ø%¨¯©Ñ7Ð7r0   c                ó\   • SUR                   < SUR                  < SUR                  < S3$ )NzNamedMorphism(ry   z, "z"))rô  ÚcodomainrÆ   r  s     r-   Ú_print_NamedMorphismÚStrPrinter._print_NamedMorphism¤  s#   � à—” ×!2Ô!2°H·M´MðCð 	Cr0   c                ó    • SUR                   -  $ )NzCategory("%s")rÅ   )r)   Úcategorys     r-   Ú_print_CategoryÚStrPrinter._print_Category¨  s   € Ø (§-¡-Ñ/Ð/r0   c                ó.   • UR                   R                   $ r2   rÅ   )r)   Úmanifolds     r-   Ú_print_ManifoldÚStrPrinter._print_Manifold«  s   € Ø�}‰}×!Ñ!Ð!r0   c                ó.   • UR                   R                   $ r2   rÅ   )r)   Úpatchs     r-   Ú_print_PatchÚStrPrinter._print_Patch®  s   € Ø�z‰z�‰Ðr0   c                ó.   • UR                   R                   $ r2   rÅ   )r)   Úcoordss     r-   Ú_print_CoordSystemÚStrPrinter._print_CoordSystem±  s   € Ø�{‰{×ÑÐr0   c                ó\   • UR                   R                  UR                     R                  $ r2   ©Ú
_coord_sysr¿   Ú_indexrÆ   rü  s     r-   Ú_print_BaseScalarFieldÚ!StrPrinter._print_BaseScalarField´  s#   € Ø×Ñ×'Ñ'¨¯©Ñ5×:Ñ:Ð:r0   c                ób   • SUR                   R                  UR                     R                  -  $ )Nze_%sr/  rü  s     r-   Ú_print_BaseVectorFieldÚ!StrPrinter._print_BaseVectorField·  s(   € Ø˜×(Ñ(×0Ñ0°·±Ñ>×CÑCÑCÐCr0   c                óÄ   • UR                   n[        US5      (       a0  SUR                  R                  UR                     R
                  -  $ SU R                  U5      -  $ )Nr0  zd%szd(%s))Ú_form_fieldr¾   r0  r¿   r1  rÆ   r(   )r)   Údiffrý  s      r-   Ú_print_DifferentialÚStrPrinter._print_Differentialº  sT   € Ø× Ñ ˆÜ�5˜,×'Ñ'Ø˜5×+Ñ+×3Ñ3°E·L±LÑA×FÑFÑFÐFà˜TŸ[™[¨Ó/Ñ/Ð/r0   c                óN   • S< SU R                  UR                  S   5      < S3$ )NÚTrrx   r   rz   r8  r<   s     r-   Ú	_print_TrÚStrPrinter._print_TrÁ  s   € ã §¡¨T¯Y©Y°q©\Ö!:Ð;Ð;r0   c                ó8   • U R                  UR                  5      $ r2   rÝ  rÁ  s     r-   Ú
_print_StrÚStrPrinter._print_StrÅ  s   € Ø�{‰{˜1Ÿ6™6Ó"Ð"r0   c                ó¸   • UR                   nU R                  U5      < SU R                  UR                  5      < SU R                  UR                  5      < S3$ rw   )r{   r(   r–  rf   )r)   r=   Úrels      r-   Ú_print_AppliedBinaryRelationÚ'StrPrinter._print_AppliedBinaryRelationÈ  sA   € Ø�m‰mˆØ#Ÿ{™{¨3Ö/Ø#Ÿ{™{¨4¯8©8Ö4Ø#Ÿ{™{¨4¯8©8Ö4ð6ð 	6r0   rU   )F)r   r2   )�r‚   Ú
__module__Ú__qualname__Ú__firstlineno__r2  r$   Ú__annotations__r%   r.   r6   r>   rQ   rV   rZ   r_   rk   rp   rt   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  r8  rH  rK  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*  r5  r9  r<  r?  rC  rH  rL  rQ  rU  rY  r]  ra  re  ri  rl  ro  rv  rz  rŠ  r˜  rœ  r¡  r¨  r°  r¹  r¾  rÂ  rÇ  rÊ  Ú_print_MatrixSymbolÚ_print_RandomSymbolrÍ  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,  r2  r5  r:  r>  rA  rE  Ú__static_attributes__rU   r0   r-   r   r      s  ‡ Ø€KàØØØØØØØñ	)Ð�~ó 	ð $&€L�.Ó%ô%ôKòô"ò*òòJòEòIòJòNò?ò%ò
òò1ò[ò
)ò&ò9òòòòMòMòòNò
$òòòDò6ò&<òHòHòYòXò
3ò&ò&òFòAòòtFòl
ò"
òòò@òòò'+òRCòòòò
òò&òwò:òò?ò
Aò
ò0ò9ò'ò@;òDò/ô;Pòz)òJò
ò
òòòòòòòòòò.ò.ò@ò@òò*Jò*0ò/ò1òò%ò,ò4ò
?òà'ÐØ'Ðòòòò"òò7ò'òDòNò ò
ò
òòòòòò/ò
.ò7ò)ò8òCò0ò"òò ò;òDò0ò<ò#õ6r0   r   c                ó>   • [        U5      nUR                  U 5      nU$ )a:  Returns the expression as a string.

For large expressions where speed is a concern, use the setting
order='none'. If abbrev=True setting is used then units are printed in
abbreviated form.

Examples
========

>>> from sympy import symbols, Eq, sstr
>>> a, b = symbols('a b')
>>> sstr(Eq(a + b, 0))
'Eq(a + b, 0)'
)r   Údoprint©r=   Úsettingsrw  r›   s       r-   ÚsstrrR  Ï  s    € ô" 	�8Ó€AØ	�	‰	�$‹€Aà€Hr0   c                  ó$   • \ rS rSrSrS rS rSrg)ÚStrReprPrinteriæ  z(internal) -- see sstrreprc                ó   • [        U5      $ r2   )r;   rÁ  s     r-   rÚ  ÚStrReprPrinter._print_stré  s   € Ü�A‹wˆr0   c                óp   • UR                   R                  < SU R                  UR                  5      < S3$ )Nrx   rz   )r�   r‚   r(   rÆ   rÁ  s     r-   rA  ÚStrReprPrinter._print_Strì  s$   € àŸ;™;×/Ô/°·±¸Q¿V¹VÖ1DÐEÐEr0   rU   N)r‚   rG  rH  rI  Ú__doc__rÚ  rA  rM  rU   r0   r-   rT  rT  æ  s   † Ù$òõFr0   rT  c                ó>   • [        U5      nUR                  U 5      nU$ )zÅreturn expr in mixed str/repr form

i.e. strings are returned in repr form with quotes, and everything else
is returned in str form.

This function could be useful for hooking into sys.displayhook
)rT  rO  rP  s       r-   Ússtrreprr[  ð  s    € ô 	�xÓ €AØ	�	‰	�$‹€Aà€Hr0   N)#rY  Ú
__future__r   Útypingr   Ú
sympy.corer   r   r   r   r	   r
   Úsympy.core.mulr   Úsympy.core.numbersr   Úsympy.core.relationalr   Úsympy.core.sortingr   Úsympy.utilities.iterablesr   r   r   Úprinterr   r   Úmpmath.libmpr   r   rƒ  r   rR  rT  r[  rU   r0   r-   Ú<module>rf     s   ðñõ #Ý ç ;× ;Ý &Ý &Ý ,Ý /Ý *ß .ß ,ç ;ôx6�ô x6ñv �
Óñó ðô,F�Zô Fñ �Óñó  ñr0   