§
    ¬³ÙgÆ>  ã                   óF  — d dl mZ d dlmZ d dlmZmZ d dlmZ d dl	m
Z
 d dlmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d d	lmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z& d d
l'm(Z(m)Z) d dl*m+Z+m,Z,m-Z- d dl.m/Z/m0Z0m1Z1m2Z2 d dl3m4Z4 d dl5m6Z6m7Z7 d dl8m9Z9m:Z: d dl;m<Z<m=Z= d dl>m?Z?m@Z@mAZAmBZBmCZC d dlDmEZE d dlFmGZG  ed¦  «        \  ZHZIZJ e<d¦  «        ZKd„ ZLd„ ZMd„ ZNd„ ZOd„ ZPd„ ZQd„ ZRd„ ZSd„ ZTd„ ZU G d „ d!e¦  «        ZVd"„ ZWd#„ ZXd$„ ZYd%„ ZZd&„ Z[d'„ Z\d(„ Z]d)„ Z^d*„ Z_d+„ Z`d,„ Zad-„ Zbd.S )/é    )Ú
Assignment)Únone)Úexpm1Úlog1p)Úcosm1)ÚMatrixSolve)
ÚExprÚModÚsymbolsÚEqÚLeÚGtÚzooÚooÚRationalÚPow)Úpi)ÚS)ÚacosÚKroneckerDeltaÚ	PiecewiseÚsignÚsqrtÚMinÚMaxÚcotÚacschÚasecÚcothÚsec)ÚAndÚOr)ÚSparseMatrixÚMatrixSymbolÚIdentity)ÚMpmathPrinterÚPythonCodePrinterÚpycodeÚSymPyPrinter)ÚTensorflowPrinter)ÚNumPyPrinterÚSciPyPrinter)ÚraisesÚskip)ÚIndexedBaseÚIdx)ÚArraySymbolÚArrayDiagonalÚArrayContractionÚ	ZeroArrayÚOneArray)Úimport_module)Úloggammazx y zÚpc            
      óÄ	  — t          ¦   «         } | j        rJ ‚|                      t          t          z  ¦  «        dk    sJ ‚|                      t          t          d¦  «        ¦  «        dk    sJ ‚|                      t          t          t          ¦  «         ¦  «        dk    sJ ‚|                      t          t           t          ¦  «        ¦  «        dk    sJ ‚|                      t          t          t          ¦  «        ¦  «        dk    sJ ‚|                      t          t          t          ¦  «        ¦  «        dk    sJ ‚|                      dt          t          z   z  ¦  «        d	k    sJ ‚| j        rJ ‚|                      t          ¦  «        d
k    sJ ‚| j        ddhik    sJ ‚|                      t          t          dd¦  «        z  ¦  «        dk    sJ ‚|                      t          t          ¦  «        ¦  «        dk    sJ ‚| j        dddhik    sJ ‚|                      t          t          ¦  «        ¦  «        dk    sJ ‚|                      t          t          ¦  «        ¦  «        dk    sJ ‚|                      t          t          ¦  «        ¦  «        dk    sJ ‚|                      t          t          ¦  «        ¦  «        dk    sJ ‚|                      t          t          ¦  «        ¦  «        dk    sJ ‚|                      t!          t          d¦  «        ¦  «        dk    sJ ‚|                      t#          dt%          t          d¦  «        fdt          dk    f¦  «        ¦  «        dk    sJ ‚|                      t#          dt'          t          d¦  «        fdt)          t          d¦  «        fd¬¦  «        ¦  «        dk    sJ ‚|                      t+          t          ¦  «        ¦  «        dk    sJ ‚|                      t,          d         ¦  «        dk    sJ ‚|                      t/          t          t          ¦  «        ¦  «        dk    sJ ‚|                      d ¦  «        d!k    sJ ‚|                      ddg¦  «        d"k    sJ ‚|                      t1          t          t          ¦  «        ¦  «        d#k    sJ ‚|                      t3          t          t          ¦  «        ¦  «        d$k    sJ ‚d S )%Nzx**yé   zx % 2z-(x % y)z(-x) % yzx and yzx or yé   z	1/(x + y)zmath.piÚmathr   úmath.sqrt(x)r   zmath.acos(x)z(1/math.tan(x))z;((math.exp(x) + math.exp(-x))/(math.exp(x) - math.exp(-x)))z(math.acos(1/x))z((math.log(math.sqrt(1 + x**(-2)) + 1/x))zx = 2r   é   z/((1) if (x == 0) else (2) if (x > 6) else None)é   F©Úevaluatez/((2) if (x <= 0) else (3) if (x > 0) else None)z((0.0 if x == 0 else math.copysign(1, x))©r   r;   zp[0, 1]z(1 if x == y else 0)©r:   r?   z(2, 3)z[2, 3]z	min(x, y)z	max(x, y))r'   Úmodule_importsÚdoprintÚxÚyr
   r!   r"   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r8   r   r   r   ©Úprntrs    úV/granary/edev/quantum/lib/python3.11/site-packages/sympy/printing/tests/test_pycode.pyÚtest_PythonCodePrinterrK      sW  € ÝÑÔ€EàÔ#Ð#Ð#Ð#à�=Š=��A™ÑÔ &Ò(Ð(Ð(Ð(Ø�=Š=��Q ™œÑ#Ô# wÒ.Ð.Ð.Ð.Ø�=Š=�#�a¥™)œ)˜Ñ$Ô$¨
Ò2Ð2Ð2Ð2Ø�=Š=��a˜R¥™œÑ$Ô$¨
Ò2Ð2Ð2Ð2Ø�=Š=��Q¥™œÑ#Ô# yÒ0Ð0Ð0Ð0Ø�=Š=��A�q™œÑ"Ô" hÒ.Ð.Ð.Ð.Ø�=Š=˜�A�a™C™Ñ!Ô! [Ò0Ð0Ð0Ð0ØÔ#Ð#Ð#Ð#à�=Š=�ÑÔ 	Ò)Ð)Ð)Ð)ØÔ F¨T¨FÐ#3Ò3Ð3Ð3Ð3à�=Š=��H Q¨™NœNÑ*Ñ+Ô+¨~Ò=Ð=Ð=Ð=Ø�=Š=��a™œÑ!Ô! ^Ò3Ð3Ð3Ð3ØÔ F¨T°6¨NÐ#;Ò;Ð;Ð;Ð;à�=Š=��a™œÑ!Ô! ^Ò3Ð3Ð3Ð3Ø�=Š=��Q™œÑ Ô Ð$5Ò5Ð5Ð5Ð5Ø�=Š=��a™œÑ!Ô!Ð%bÒbÐbÐbÐbØ�=Š=��a™œÑ!Ô!Ð%7Ò7Ð7Ð7Ð7Ø�=Š=��q™œÑ"Ô"Ð&PÒPÐPÐPÐPà�=Š=�¥A qÑ)Ô)Ñ*Ô*¨gÒ5Ð5Ð5Ð5Ø�=Š=� A¥r­!¨Q¡x¤x =Ø�A˜ašC˜ñ"ô "ñ #ô #Ø&WòXð Xð Xð Xà�=Š=� A¥r­!¨Q¡x¤x =Ø�B�q !™HœH˜°ð7ñ 7ô 7ñ 8ô 8ð<UòUð Uð Uð Uð �=Š=��a™œÑ!Ô!Ð%OÒOÐOÐOÐOØ�=Š=�˜4œÑ!Ô! YÒ.Ð.Ð.Ð.Ø�=Š=�­­!Ñ,Ô,Ñ-Ô-Ð1GÒGÐGÐGÐGà�=Š=˜ÑÔ 8Ò+Ð+Ð+Ð+Ø�=Š=˜!˜A˜ÑÔ 8Ò+Ð+Ð+Ð+à�=Š=��Q¥™œÑ#Ô# {Ò2Ð2Ð2Ð2Ø�=Š=��Q¥™œÑ#Ô# {Ò2Ð2Ð2Ð2Ð2Ð2ó    c                  óh   — t          ¦   «         } | j        dk    sJ ‚t          t          d„ ¦  «         d S )NÚpython3c                  ó$   — t          ddi¦  «        S )NÚstandardÚpython4)r'   © rL   rJ   ú<lambda>z1test_PythonCodePrinter_standard.<locals>.<lambda>M   s   € Õ0°*¸YÐ1GÑHÔH€ rL   )r'   rP   r-   Ú
ValueErrorrH   s    rJ   Útest_PythonCodePrinter_standardrU   H   s:   € ÝÑÔ€EàŒ>˜YÒ&Ð&Ð&Ð&å
�:ÐHÐHÑIÔIÐIÐIÐIrL   c                  ó.  — t          ¦   «         } |                      t          t          ¦  «        ¦  «        dk    sJ ‚|                      t	          dd¦  «        ¦  «        dk    sJ ‚|                      t
          j        ¦  «        dk    sJ ‚|                      t
          j        ¦  «        dk    sJ ‚|                      t
          j        ¦  «        dk    sJ ‚|                      t
          j	        ¦  «        dk    sJ ‚|                      t
          j
        ¦  «        d	k    sJ ‚|                      t
          j        ¦  «        d
k    sJ ‚|                      t
          j        ¦  «        dk    sJ ‚|                      t          t          ¦  «        ¦  «        dk    sJ ‚d S )Nzmpmath.sign(x)r;   r:   zmpmath.mpf(1)/mpmath.mpf(2)zmpmath.ez	mpmath.piz
mpmath.phizmpmath.eulerz
mpmath.nanz
mpmath.infzmpmath.ninfzmpmath.loggamma(x))r&   rE   r   rF   r   r   ÚExp1ÚPiÚGoldenRatioÚ
EulerGammaÚNaNÚInfinityÚNegativeInfinityr7   )r8   s    rJ   Útest_MpmathPrinterr^   P   sW  € Ý‰Œ€AØ�9Š9•T�!‘W”WÑÔÐ!1Ò1Ð1Ð1Ð1Ø�9Š9•X˜a ‘^”^Ñ$Ô$Ð(EÒEÐEÐEÐEà�9Š9•Q”VÑÔ 
Ò*Ð*Ð*Ð*Ø�9Š9•Q”T‰?Œ?˜kÒ)Ð)Ð)Ð)Ø�9Š9•Q”]Ñ#Ô# |Ò3Ð3Ð3Ð3Ø�9Š9•Q”\Ñ"Ô" nÒ4Ð4Ð4Ð4Ø�9Š9•Q”UÑÔ˜|Ò+Ð+Ð+Ð+Ø�9Š9•Q”ZÑ Ô  LÒ0Ð0Ð0Ð0Ø�9Š9•QÔ'Ñ(Ô(¨MÒ9Ð9Ð9Ð9Ø�9Š9•X�a‘[”[Ñ!Ô!Ð%9Ò9Ð9Ð9Ð9Ð9Ð9rL   c                  óÞ  — ddl m}  ddlm} ddlm}m}m} ddlm	} ddl
m} ddlm} ddlm}m}	 dd	lm}
m} t)          ¦   «         }|                     t-          t.          ¦  «        ¦  «        d
k    sJ ‚t1          ddd¦  «        }t1          ddd¦  «        }t1          ddd¦  «        }t1          ddd¦  «        }|                     |dz  ¦  «        dk    sJ ‚|                     |dz  ¦  «        dk    sJ ‚|                     t3          d¦  «        ¦  «        dk    sJ ‚t1          ddd¦  «        }t1          ddd¦  «        }|                     t5          ||¦  «        ¦  «        dk    sJ ‚|                     t5          ||¦  «        |z   ¦  «        dk    sJ ‚|                      |	dd¦  «        ¦  «        dk    sJ ‚|                      |dd¦  «        ¦  «        dk    sJ ‚|                      |dd | |
|f|
|z   ¦  «        ¦  «        ¦  «        dk    sJ ‚|                      |||¦  «        ¦  «        dk    sJ ‚|                      |||¦  «        ¦  «        d k    sJ ‚|                      ||¦  «        ¦  «        d!k    sJ ‚|                      ||¦  «        ¦  «        d"k    sJ ‚|                      ||¦  «        ¦  «        d#k    sJ ‚|                      ||¦  «        ¦  «        d$k    sJ ‚|                     t.          dz  ¦  «        d%k    sJ ‚|                     t.          d&z  ¦  «        d'k    sJ ‚t7          ddd(¬)¦  «        }|                     |¦  «        d*k    sJ ‚|                     t8          j        ¦  «        d+k    sJ ‚|                     t8          j        ¦  «        d,k    sJ ‚|                     t8          j        ¦  «        d-k    sJ ‚|                     t8          j         ¦  «        d.k    sJ ‚|                     t8          j!        ¦  «        d/k    sJ ‚|                     t8          j"        ¦  «        d0k    sJ ‚|                     tG          t.          ¦  «        dz  ¦  «        d1k    sJ ‚d S )2Nr   )ÚLambda)ÚAdjoint)Ú
DiagMatrixÚDiagonalMatrixÚ
DiagonalOf)ÚFunctionMatrix)ÚHadamardProduct)ÚKroneckerProduct)Ú	OneMatrixÚ
ZeroMatrix)ÚaÚbznumpy.sign(x)ÚAr:   ÚBÚCr;   é   ÚDr?   é   éÿÿÿÿznumpy.linalg.inv(A)znumpy.linalg.matrix_power(A, 5)znumpy.eye(3)rF   rG   znumpy.linalg.solve(A, x)znumpy.linalg.solve(A, x) + yznumpy.zeros((2, 3))znumpy.ones((2, 3))z.numpy.fromfunction(lambda a, b: a + b, (4, 5))znumpy.multiply(A, B)znumpy.kron(A, B)z#numpy.conjugate(numpy.transpose(A))z%numpy.reshape(numpy.diag(A), (-1, 1))znumpy.diagflat(C)z"numpy.multiply(D, numpy.eye(3, 4))z	x**(-1.0)éþÿÿÿz	x**(-2.0)Fr@   z	2**(-1.0)únumpy.eznumpy.piznumpy.euler_gammaz	numpy.nanz	numpy.infz
-numpy.infz(numpy.cos(x)**(-1.0))**2)$Úsympy.core.functionr`   Ú"sympy.matrices.expressions.adjointra   Ú#sympy.matrices.expressions.diagonalrb   rc   rd   Ú%sympy.matrices.expressions.funcmatrixre   Ú#sympy.matrices.expressions.hadamardrf   Ú$sympy.matrices.expressions.kroneckerrg   Ú"sympy.matrices.expressions.specialrh   ri   Ú	sympy.abcrj   rk   r+   rE   r   rF   r$   r%   r   r   r   rW   rX   rZ   r[   r\   r]   r    )r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   r8   rl   rm   rn   rp   ÚuÚvÚexprs                       rJ   Útest_NumPyPrinterr€   _   sÝ  € Ø*Ð*Ð*Ð*Ð*Ð*Ø:Ð:Ð:Ð:Ð:Ð:Ø\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\Ð\ØDÐDÐDÐDÐDÐDØCÐCÐCÐCÐCÐCØEÐEÐEÐEÐEÐEØJÐJÐJÐJÐJÐJÐJÐJØÐÐÐÐÐÐÐÝ‰Œ€AØ�9Š9•T�!‘W”WÑÔ Ò0Ð0Ð0Ð0Ý�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AØ�9Š9�Q˜‘WÑÔÐ!6Ò6Ð6Ð6Ð6Ø�9Š9�Q˜‘T‰?Œ?Ð?Ò?Ð?Ð?Ð?Ø�9Š9•X˜a‘[”[Ñ!Ô! ^Ò3Ð3Ð3Ð3å�S˜!˜QÑÔ€AÝ�S˜!˜QÑÔ€AØ�9Š9•[  AÑ&Ô&Ñ'Ô'Ð+EÒEÐEÐEÐEØ�9Š9•[  AÑ&Ô&¨Ñ*Ñ+Ô+Ð/MÒMÐMÐMÐMà�9Š9�Z�Z  1Ñ%Ô%Ñ&Ô&Ð*?Ò?Ð?Ð?Ð?Ø�9Š9�Y�Y˜q !‘_”_Ñ%Ô%Ð)=Ò=Ð=Ð=Ð=Ø�9Š9�^�^ A q¨&¨&°!°Q°¸¸Q¹Ñ*?Ô*?Ñ@Ô@ÑAÔAØ8ò9ð 9ð 9ð 9à�9Š9�_�_ Q¨Ñ*Ô*Ñ+Ô+Ð/EÒEÐEÐEÐEØ�9Š9Ð%Ð% a¨Ñ+Ô+Ñ,Ô,Ð0BÒBÐBÐBÐBØ�9Š9�W�W˜Q‘Z”ZÑ Ô Ð$IÒIÐIÐIÐIØ�9Š9�Z�Z ‘]”]Ñ#Ô#Ð'NÒNÐNÐNÐNØ�9Š9�Z�Z ‘]”]Ñ#Ô#Ð':Ò:Ð:Ð:Ð:Ø�9Š9�^�^ AÑ&Ô&Ñ'Ô'Ð+OÒOÐOÐOÐOð �9Š9•Q˜‘UÑÔ˜{Ò*Ð*Ð*Ð*Ø�9Š9•Q˜‘UÑÔ˜{Ò*Ð*Ð*Ð*åˆq�"˜uÐ%Ñ%Ô%€DØ�9Š9�T‰?Œ?˜kÒ)Ð)Ð)Ð)à�9Š9•Q”VÑÔ 	Ò)Ð)Ð)Ð)Ø�9Š9•Q”T‰?Œ?˜jÒ(Ð(Ð(Ð(Ø�9Š9•Q”\Ñ"Ô"Ð&9Ò9Ð9Ð9Ð9Ø�9Š9•Q”UÑÔ˜{Ò*Ð*Ð*Ð*Ø�9Š9•Q”ZÑ Ô  KÒ/Ð/Ð/Ð/Ø�9Š9•QÔ'Ñ(Ô(¨LÒ8Ð8Ð8Ð8ð �9Š9•S�‘V”V˜Q‘YÑÔÐ#>Ò>Ð>Ð>Ð>Ð>Ð>rL   c                  ód  — t          d¦  «        } | st          d¦  «         ddlm}m} ddlm}  |dt          z  dz   t          dz   d	t          z  dz   ¦  «        } |t          |d¦  «        } ||                      ddd¦  «        ¦  «        g d
¢k     	                    ¦   «         sJ ‚ |d¦  «        dk    sJ ‚ |t          dz  t          dz  ¦  «        } |t          |d¦  «        } ||                      ddd¦  «        ¦  «        g d¢k     	                    ¦   «         sJ ‚ |d¦  «        dk    sJ ‚d S )NÚnumpyznumpy not installed.r   )r   r   )Úlambdifygš™™™™™¹?r?   r;   g      à?)g      ð?g      ü?g      @rq   r:   rr   )r;   r   r;   é   é@   )
r6   r.   Ú(sympy.functions.elementary.miscellaneousr   r   Úsympy.utilities.lambdifyrƒ   rF   ÚlinspaceÚall)r‚   r   r   rƒ   Úexpr1Úfuncs         rJ   Útest_issue_18770rŒ   ”   s[  € Ý˜'Ñ"Ô"€EØð %ÝÐ#Ñ$Ô$Ð$àCÐCÐCÐCÐCÐCÐCÐCØ1Ð1Ð1Ð1Ð1Ð1àˆC�•A‘˜‘	�1˜q™5 #¥a¡%¨!¡)Ñ,Ô,€EØˆ8•A�u˜gÑ&Ô&€DØˆD�—’  1 aÑ(Ô(Ñ)Ô)Ð->Ð->Ð->Ò>×CÒCÑEÔEÐEÐEÐEØˆD�‰GŒG�qŠLˆLˆLˆLàˆC•�1‘•a˜‘d‰OŒO€EØˆ8•A�e˜WÑ%Ô%€DØˆD�—’  A qÑ)Ô)Ñ*Ô*¨l¨l¨lÒ:×@Ò@ÑBÔBÐBÐBÐBØˆ4�‰7Œ7�bŠ=ˆ=ˆ=ˆ=ˆ=ˆ=rL   c                  ó<  — t          ¦   «         } t          t          ¦  «        }d| j        vsJ ‚|                      |¦  «        dk    sJ ‚d| j        v sJ ‚t          d„ | j        D ¦   «         ¦  «        rJ ‚t          ddddi¦  «        }|                      |¦  «        dk    sJ ‚d	| j        v sJ ‚|                      t          j        ¦  «        d
k    sJ ‚|                      t          j	        ¦  «        dk    sJ ‚|                      t          j
        ¦  «        dk    sJ ‚d S )Nr‚   znumpy.arccos(x)c              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS )ÚscipyN)Ú
startswith)Ú.0Úms     rJ   ú	<genexpr>z$test_SciPyPrinter.<locals>.<genexpr>­   s.   è è € ÐCÐC¨Q�1—<’< Ñ(Ô(ÐCÐCÐCÐCÐCÐCrL   r:   ro   rB   r?   z8scipy.sparse.coo_matrix(([3], ([0], [1])), shape=(2, 5))zscipy.sparsezscipy.constants.golden_ratiozscipy.constants.pirt   )r,   r   rF   rD   rE   Úanyr#   r   rY   rX   rW   )r8   r   Úsmats      rJ   Útest_SciPyPrinterr–   §   s4  € Ý‰Œ€AÝ•‰7Œ7€DØ˜!Ô*Ð*Ð*Ð*Ð*Ø�9Š9�T‰?Œ?Ð/Ò/Ð/Ð/Ð/Ø�aÔ&Ð&Ð&Ð&Ð&ÝÐCÐC°!Ô2BÐCÑCÔCÑCÔCÐCÐCÐCÝ˜˜1˜v q˜kÑ*Ô*€DØ�9Š9�T‰?Œ?ØBòCð Cð Cð Cà˜QÔ-Ð-Ð-Ð-Ð-à�9Š9•Q”]Ñ#Ô#Ð'EÒEÐEÐEÐEØ�9Š9•Q”T‰?Œ?Ð2Ò2Ð2Ð2Ð2Ø�9Š9•Q”VÑÔ 	Ò)Ð)Ð)Ð)Ð)Ð)rL   c                  ó�   ‡‡— t          d¦  «        \  ŠŠt          t          ˆˆfd„¦  «         t          ‰‰z   ¦  «        } | dv sJ ‚d S )Nzif elsec                  ó,   •— t          ‰ ‰z   d¬¦  «        S )NT)Úerror_on_reserved)r(   )Ús1Ús2s   €€rJ   rS   z,test_pycode_reserved_words.<locals>.<lambda>º   s   ø€ �v b¨2¡gÀÐFÑFÔF€ rL   )zelse_ + if_zif_ + else_)r   r-   rT   r(   )Úpy_strrš   r›   s    @@rJ   Útest_pycode_reserved_wordsr�   ¸   sY   øø€ Ý�YÑÔ�F€BˆÝ
�:ÐFÐFÐFÐFÐFÑGÔGÐGÝ�B˜‘G‰_Œ_€FØÐ3Ð3Ð3Ð3Ð3Ð3Ð3rL   c                  ó”   — t          d¦  «        \  } }}| |z  }t          |¦  «        dk    sJ ‚||z  }t          |¦  «        dk    sJ ‚d S )Nza_{b} b a_{11}za_b*bza_11*b)r   r(   )Úa_brk   Úa_11r   s       rJ   Útest_issue_20762r¡   ¿   s\   € åÐ+Ñ,Ô,�L€CˆˆDØˆq‰5€DÝ�$‰<Œ<˜7Ò"Ð"Ð"Ð"Ø�‰6€DÝ�$‰<Œ<˜8Ò#Ð#Ð#Ð#Ð#Ð#rL   c                  ó(  — t          ¦   «         } |                      t          t          ¦  «        d¬¦  «        dk    sJ ‚|                      dt          t          ¦  «        z  d¬¦  «        dk    sJ ‚t          ddi¦  «        } |                      t          t          ¦  «        d¬¦  «        d	k    sJ ‚|                      dt          t          ¦  «        z  d¬¦  «        d
k    sJ ‚t	          ¦   «         } |                      t          t          ¦  «        d¬¦  «        dk    sJ ‚|                      t          t          ¦  «        d¬¦  «        dk    sJ ‚t          ¦   «         } |                      t          t          ¦  «        d¬¦  «        dk    sJ ‚|                      t          t          ¦  «        d¬¦  «        d	k    sJ ‚t          ¦   «         } |                      t          t          ¦  «        d¬¦  «        dk    sJ ‚|                      t          t          ¦  «        d¬¦  «        d	k    sJ ‚t          ¦   «         } |                      t          t          ¦  «        d¬¦  «        dk    sJ ‚|                      t          t          ¦  «        d¬¦  «        d	k    sJ ‚d S )NF)Úrationalr=   r;   z1/math.sqrt(x)rP   rN   Tzx**(1/2)z	x**(-1/2)zmpmath.sqrt(x)z x**(mpmath.mpf(1)/mpmath.mpf(2))znumpy.sqrt(x)zsympy.sqrt(x))r'   Ú
_print_Powr   rF   r&   r+   r,   r)   rH   s    rJ   Ú	test_sqrtr¥   È   sV  € ÝÑÔ€EØ×Ò�D¥™GœG¨eÐÑ4Ô4¸ÒFÐFÐFÐFØ×Ò˜A�d¥1™gœg™I°ÐÑ6Ô6Ð:JÒJÐJÐJÐJå˜z¨IÐ6Ñ7Ô7€EØ×Ò�D¥™GœG¨dÐÑ3Ô3°zÒAÐAÐAÐAØ×Ò˜A�d¥1™gœg™I°ÐÑ5Ô5¸ÒDÐDÐDÐDå‰OŒO€EØ×Ò�D¥™GœG¨eÐÑ4Ô4Ð8HÒHÐHÐHÐHØ×Ò�D¥™GœG¨dÐÑ3Ô3Ø*ò+ð +ð +ð +õ ‰NŒN€EØ×Ò�D¥™GœG¨eÐÑ4Ô4¸ÒGÐGÐGÐGØ×Ò�D¥™GœG¨dÐÑ3Ô3°zÒAÐAÐAÐAå‰NŒN€EØ×Ò�D¥™GœG¨eÐÑ4Ô4¸ÒGÐGÐGÐGØ×Ò�D¥™GœG¨dÐÑ3Ô3°zÒAÐAÐAÐAå‰NŒN€EØ×Ò�D¥™GœG¨eÐÑ4Ô4¸ÒGÐGÐGÐGØ×Ò�D¥™GœG¨dÐÑ3Ô3°zÒAÐAÐAÐAÐAÐArL   c                  óÌ  — ddl m}   | t          ¦  «        }t          ¦   «         }|                     |¦  «        dk    sJ ‚t          ¦   «         }|                     |¦  «        dk    sJ ‚t          ¦   «         }|                     |¦  «        dk    sJ ‚t          ¦   «         }|                     |¦  «        dk    sJ ‚t          ¦   «         }|                     |¦  «        dk    sJ ‚d S )Nr   )Úfracznumpy.mod(x, 1)zx % 1zmpmath.frac(x)z+sympy.functions.elementary.integers.frac(x))	Ú#sympy.functions.elementary.integersr§   rF   r+   rE   r,   r'   r&   r)   )r§   r   rI   s      rJ   Ú	test_fracr©   ã   së   € Ø8Ð8Ð8Ð8Ð8Ð8àˆ4•‰7Œ7€DÝ‰NŒN€EØ�=Š=˜ÑÔÐ"3Ò3Ð3Ð3Ð3å‰NŒN€EØ�=Š=˜ÑÔÐ"3Ò3Ð3Ð3Ð3åÑÔ€EØ�=Š=˜ÑÔ 'Ò)Ð)Ð)Ð)å‰OŒO€EØ�=Š=˜ÑÔÐ"2Ò2Ð2Ð2Ð2å‰NŒN€EØ�=Š=˜ÑÔÐ"OÒOÐOÐOÐOÐOÐOrL   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚCustomPrintedObjectc                 ó   — dS )Nr‚   rR   ©ÚselfÚprinters     rJ   Ú
_numpycodezCustomPrintedObject._numpycodeø   s   € ØˆwrL   c                 ó   — dS )NÚmpmathrR   r­   s     rJ   Ú_mpmathcodezCustomPrintedObject._mpmathcodeû   s   € ØˆxrL   N)Ú__name__Ú
__module__Ú__qualname__r°   r³   rR   rL   rJ   r«   r«   ÷   s2   € € € € € ðð ð ðð ð ð ð rL   r«   c                  ó¾   — t          ¦   «         } t          ¦   «                              | ¦  «        dk    sJ ‚t          ¦   «                              | ¦  «        dk    sJ ‚d S )Nr‚   r²   )r«   r+   rE   r&   )Úobjs    rJ   Útest_printmethodr¹   ÿ   sY   € Ý
Ñ
Ô
€CÝ‰>Œ>×!Ò! #Ñ&Ô&¨'Ò1Ð1Ð1Ð1Ý‰?Œ?×"Ò" 3Ñ'Ô'¨8Ò3Ð3Ð3Ð3Ð3Ð3rL   c                  ó:   — t          t          ¦  «        dk    sJ ‚d S )NÚNone)r(   r   rR   rL   rJ   Útest_codegen_ast_nodesr¼     s   € Ý•$‰<Œ<˜6Ò!Ð!Ð!Ð!Ð!Ð!rL   c                  ó¤   — t          ¦   «         } |                      t          ¦  «        dk    sJ ‚|                      t           ¦  «        dk    sJ ‚d S )Nzmath.nanzfloat('-inf'))r'   rE   r   r   rH   s    rJ   Útest_issue_14283r¾   	  sO   € ÝÑÔ€Eà�=Š=�ÑÔ Ò+Ð+Ð+Ð+Ø�=Š=�"˜ÑÔ Ò0Ð0Ð0Ð0Ð0Ð0rL   c                  ór   — t          ¦   «         } |                      t          d¦  «        ¦  «        dk    sJ ‚d S )Nr:   z(0, 1,))r+   Ú
_print_seqÚrange)Úns    rJ   Útest_NumPyPrinter_print_seqrÃ     s4   € Ý‰Œ€Aà�<Š<�˜a™œÑ!Ô! YÒ.Ð.Ð.Ð.Ð.Ð.rL   c                  ó   — ddl m} m} t          d¦  «        } | |t          ¦  «        } ||t          ¦  «        }t          ¦   «         }|                     |¦  «        dk    sJ ‚|                     |¦  «        dk    sJ ‚t          ¦   «         }t          ddi¦  «        }||fD ]\}t          t          ¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   d|                     |¦  «        v sJ ‚Œ]d S )	Nr   )Ú
lowergammaÚ
uppergammarj   z3scipy.special.gamma(a)*scipy.special.gammainc(a, x)z4scipy.special.gamma(a)*scipy.special.gammaincc(a, x)ÚstrictFúNot supported)Ú'sympy.functions.special.gamma_functionsrÅ   rÆ   r   rF   r,   rE   r+   r'   r-   ÚNotImplementedError)	rÅ   rÆ   rj   rŠ   Úexpr2rI   Úp_numpyÚp_pycoder   s	            rJ   Útest_issue_16535_16536rÎ     s\  € ØPÐPÐPÐPÐPÐPÐPÐPå�‰Œ€AØˆJ�q�!ÑÔ€EØˆJ�q�!ÑÔ€Eå‰NŒN€EØ�=Š=˜ÑÔÐ#XÒXÐXÐXÐXØ�=Š=˜ÑÔÐ#YÒYÐYÐYÐYå‰nŒn€GÝ  (¨EÐ!2Ñ3Ô3€Hà˜�ð 9ð 9ˆÝÕ'Ñ(Ô(ð 	#ð 	#Ø�OŠO˜EÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#à (×"2Ò"2°4Ñ"8Ô"8Ð8Ð8Ð8Ð8Ð8ð9ð 9s   Â7CÃC	Ã C	c                  óP  ‡‡‡— ddl m}  ddlm}  | | t           ¦  «        t          dt
          f¦  «        } |t          dz   | t          t          z  ¦  «        z  t          t           t          ft          dt          f¦  «        } |t          dz  t          ¦  «        Š |t          dz  t          df¦  «        Št          ¦   «         Š‰ 	                    |¦  «        dk    sJ ‚‰ 	                    |¦  «        dk    sJ ‚t          t          ˆˆfd„¦  «         t          t          ˆˆfd	„¦  «         t          ¦   «         Š‰ 	                    |¦  «        d
k    sJ ‚‰ 	                    |¦  «        dk    sJ ‚t          t          ˆˆfd„¦  «         t          t          ˆˆfd„¦  «         d S )Nr   )Úexp)ÚIntegralr:   r;   z>scipy.integrate.quad(lambda x: numpy.exp(-x), 0, numpy.inf)[0]zMscipy.integrate.nquad(lambda x, y: x**2*numpy.exp(x*y), ((-z, z), (0, z)))[0]c                  ó.   •— ‰                      ‰ ¦  «        S ©N©rE   ©Ú
indefiniterI   s   €€rJ   rS   ztest_Integral.<locals>.<lambda>6  ó   ø€ ¨¯ª°jÑ(AÔ(A€ rL   c                  ó.   •— ‰                      ‰ ¦  «        S rÓ   rÔ   ©Ú
evaluateatrI   s   €€rJ   rS   ztest_Integral.<locals>.<lambda>7  r×   rL   z6mpmath.quad(lambda x: mpmath.exp(-x), (0, mpmath.inf))z?mpmath.quad(lambda x, y: x**2*mpmath.exp(x*y), (-z, z), (0, z))c                  ó.   •— ‰                      ‰ ¦  «        S rÓ   rÔ   rÕ   s   €€rJ   rS   ztest_Integral.<locals>.<lambda><  r×   rL   c                  ó.   •— ‰                      ‰ ¦  «        S rÓ   rÔ   rÙ   s   €€rJ   rS   ztest_Integral.<locals>.<lambda>=  r×   rL   )Ú&sympy.functions.elementary.exponentialrÐ   Úsympy.integrals.integralsrÑ   rF   r   rG   Úzr,   rE   r-   rÊ   r&   )rÐ   rÑ   ÚsingleÚdoublerÚ   rÖ   rI   s       @@@rJ   Útest_Integralrâ   *  sµ  øøø€ Ø:Ð:Ð:Ð:Ð:Ð:Ø2Ð2Ð2Ð2Ð2Ð2àˆX�c�c�1˜"‘g”g¥ 1¥b˜zÑ*Ô*€FØˆX•a˜‘d˜3˜3�q¥™s™8œ8‘m¥a­!¨­Q Zµ!°Q½°Ñ;Ô;€FØ��!˜Q™$¥Ñ"Ô"€JØ��!˜Q™$¥ A Ñ'Ô'€Jå‰NŒN€EØ�=Š=˜Ñ Ô Ð$dÒdÐdÐdÐdØ�=Š=˜Ñ Ô Ð$sÒsÐsÐsÐsÝ
ÕÐ AÐ AÐ AÐ AÐ AÑBÔBÐBÝ
ÕÐ AÐ AÐ AÐ AÐ AÑBÔBÐBå‰OŒO€EØ�=Š=˜Ñ Ô Ð$\Ò\Ð\Ð\Ð\Ø�=Š=˜Ñ Ô Ð$eÒeÐeÐeÐeÝ
ÕÐ AÐ AÐ AÐ AÐ AÑBÔBÐBÝ
ÕÐ AÐ AÐ AÐ AÐ AÑBÔBÐBÐBÐBrL   c                  ó°  — ddl m} m}  | t          ¦  «        } |t          ¦  «        }t	          ¦   «         }|                     |¦  «        dk    sJ ‚|                     |¦  «        dk    sJ ‚t          ¦   «         }t          ¦   «         }t          ¦   «         }||fD ]„}t          t          ¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          ¦  «        5  |                     |¦  «         d d d ¦  «         n# 1 swxY w Y   Œ…|                     |¦  «        dk    sJ ‚|                     |¦  «        dk    sJ ‚d S )Nr   )ÚfresnelcÚfresnelszscipy.special.fresnel(x)[1]zscipy.special.fresnel(x)[0]zmpmath.fresnelc(x)zmpmath.fresnels(x))Ú'sympy.functions.special.error_functionsrä   rå   rF   r,   rE   r+   r'   r&   r-   rÊ   )	rä   rå   rŠ   rË   rI   rÌ   rÍ   Úp_mpmathr   s	            rJ   Útest_fresnel_integralsrè   @  sà  € ØLÐLÐLÐLÐLÐLÐLÐLàˆH•Q‰KŒK€EØˆH•Q‰KŒK€Eå‰NŒN€EØ�=Š=˜ÑÔÐ#@Ò@Ð@Ð@Ð@Ø�=Š=˜ÑÔÐ#@Ò@Ð@Ð@Ð@å‰nŒn€GÝ Ñ"Ô"€HÝ‰Œ€HØ˜�ð #ð #ˆÝÕ'Ñ(Ô(ð 	"ð 	"Ø�OŠO˜DÑ!Ô!Ð!ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"åÕ'Ñ(Ô(ð 	#ð 	#Ø×Ò˜TÑ"Ô"Ð"ð	#ð 	#ð 	#ñ 	#ô 	#ð 	#ð 	#ð 	#ð 	#ð 	#ð 	#øøøð 	#ð 	#ð 	#ð 	#øð ×Ò˜EÑ"Ô"Ð&:Ò:Ð:Ð:Ð:Ø×Ò˜EÑ"Ô"Ð&:Ò:Ð:Ð:Ð:Ð:Ð:s$   Â1CÃC	ÃC	Ã2DÄD	ÄD	c                  óÞ  — ddl m}   | t          t          ¦  «        }t	          ¦   «         }|                     |¦  «        dk    sJ ‚t          ¦   «         }|                     |¦  «        dk    sJ ‚t          ¦   «         }|                     |¦  «        dk    sJ ‚t          ddi¦  «        }|                     |¦  «        dk    sJ ‚t          ¦   «         }|                     |¦  «        dk    sJ ‚d S )Nr   )Úbetazscipy.special.beta(x, y)z/(math.gamma(x)*math.gamma(y)/math.gamma(x + y))Úallow_unknown_functionsTzmpmath.beta(x, y))	Ú&sympy.functions.special.beta_functionsrê   rF   rG   r,   rE   r+   r'   r&   )rê   r   rI   s      rJ   Ú	test_betarí   W  sø   € Ø;Ð;Ð;Ð;Ð;Ð;àˆ4••1‰:Œ:€Då‰NŒN€EØ�=Š=˜ÑÔÐ"<Ò<Ð<Ð<Ð<å‰NŒN€EØ�=Š=˜ÑÔÐ"SÒSÐSÐSÐSåÑÔ€EØ�=Š=˜ÑÔÐ"SÒSÐSÐSÐSåÐ8¸$Ð?Ñ@Ô@€EØ�=Š=˜ÑÔÐ"SÒSÐSÐSÐSå‰OŒO€EØ�=Š=˜ÑÔÐ#6Ò6Ð6Ð6Ð6Ð6Ð6rL   c                  óê  — ddl m} m}  | t          ¦  «        } |t          ¦  «        }t	          ¦   «         }|                     |¦  «        dk    sJ ‚|                     |¦  «        dk    sJ ‚t          ddi¦  «        }d|                     |¦  «        v sJ ‚d|                     |¦  «        v sJ ‚t          ddi¦  «        }d|                     |¦  «        v sJ ‚d|                     |¦  «        v sJ ‚d S )Nr   )ÚairyaiÚairybizscipy.special.airy(x)[0]zscipy.special.airy(x)[2]rÇ   FrÈ   )Úsympy.functions.special.besselrï   rð   rF   r,   rE   r+   r'   )rï   rð   rŠ   rË   rI   s        rJ   Ú	test_airyrò   k  s  € Ø?Ð?Ð?Ð?Ð?Ð?Ð?Ð?àˆF•1‰IŒI€EØˆF•1‰IŒI€Eå‰NŒN€EØ�=Š=˜ÑÔÐ#=Ò=Ð=Ð=Ð=Ø�=Š=˜ÑÔÐ#=Ò=Ð=Ð=Ð=å˜( EÐ*Ñ+Ô+€EØ˜eŸmšm¨EÑ2Ô2Ð2Ð2Ð2Ð2Ø˜eŸmšm¨EÑ2Ô2Ð2Ð2Ð2Ð2å˜x¨Ð/Ñ0Ô0€EØ˜eŸmšm¨EÑ2Ô2Ð2Ð2Ð2Ð2Ø˜eŸmšm¨EÑ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2rL   c                  óê  — ddl m} m}  | t          ¦  «        } |t          ¦  «        }t	          ¦   «         }|                     |¦  «        dk    sJ ‚|                     |¦  «        dk    sJ ‚t          ddi¦  «        }d|                     |¦  «        v sJ ‚d|                     |¦  «        v sJ ‚t          ddi¦  «        }d|                     |¦  «        v sJ ‚d|                     |¦  «        v sJ ‚d S )Nr   )ÚairyaiprimeÚairybiprimezscipy.special.airy(x)[1]zscipy.special.airy(x)[3]rÇ   FrÈ   )rñ   rô   rõ   rF   r,   rE   r+   r'   )rô   rõ   rŠ   rË   rI   s        rJ   Útest_airy_primerö   }  s  € ØIÐIÐIÐIÐIÐIÐIÐIàˆK�‰NŒN€EØˆK�‰NŒN€Eå‰NŒN€EØ�=Š=˜ÑÔÐ#=Ò=Ð=Ð=Ð=Ø�=Š=˜ÑÔÐ#=Ò=Ð=Ð=Ð=å˜( EÐ*Ñ+Ô+€EØ˜eŸmšm¨EÑ2Ô2Ð2Ð2Ð2Ð2Ø˜eŸmšm¨EÑ2Ô2Ð2Ð2Ð2Ð2å˜x¨Ð/Ñ0Ô0€EØ˜eŸmšm¨EÑ2Ô2Ð2Ð2Ð2Ð2Ø˜eŸmšm¨EÑ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2rL   c                  ó0  — t          ¦   «         } |                      t          t          ¦  «        ¦  «        dk    sJ ‚|                      t	          t          ¦  «        ¦  «        dk    sJ ‚|                      t          t          ¦  «        ¦  «        dk    sJ ‚d S )Nznumpy.expm1(x)znumpy.log1p(x)zscipy.special.cosm1(x))r,   rE   r   rF   r   r   rH   s    rJ   Ú!test_numerical_accuracy_functionsrø   �  s}   € Ý‰NŒN€EØ�=Š=��q™œÑ"Ô"Ð&6Ò6Ð6Ð6Ð6Ø�=Š=��q™œÑ"Ô"Ð&6Ò6Ð6Ð6Ð6Ø�=Š=��q™œÑ"Ô"Ð&>Ò>Ð>Ð>Ð>Ð>Ð>rL   c            	      ó4  — t          dd¦  «        } t          d¦  «        }t          dd¦  «        t          dd¦  «        t          dd	¦  «        }}}t          ¦   «         }|                     t          d
¦  «        ¦  «        dk    sJ ‚|                     t          d
¦  «        ¦  «        dk    sJ ‚|                     t          | ddg¦  «        ¦  «        dk    sJ ‚|                     |¦  «        dk    sJ ‚|                     t          | g d¢¦  «        ¦  «        dk    sJ ‚|                     t          | ddgddg¦  «        ¦  «        dk    sJ ‚|                     t          | dgdg¦  «        ¦  «        dk    sJ ‚|                     t          ||||f         ||||f         ¦  «        ¦  «        dk    sJ ‚t          ¦   «         }|                     t          d
¦  «        ¦  «        dk    sJ ‚|                     t          d
¦  «        ¦  «        dk    sJ ‚|                     t          | ddg¦  «        ¦  «        dk    sJ ‚|                     |¦  «        dk    sJ ‚|                     t          | g d¢¦  «        ¦  «        dk    sJ ‚|                     t          | ddgddg¦  «        ¦  «        dk    sJ ‚|                     t          | dgdg¦  «        ¦  «        dk    sJ ‚|                     t          ||||f         ||||f         ¦  «        ¦  «        dk    sJ ‚d S )Nrl   )rq   rq   r>   r>   r>   ÚIÚirB   ÚjrC   Úk)rq   ro   ro   znumpy.zeros((5,))znumpy.ones((5,))r:   r?   znumpy.einsum("abccd->abd", A))r:   r?   rq   znumpy.einsum("abccc->abc", A)r   r;   znumpy.einsum("aabbc->cab", A)znumpy.einsum("abcde->abe", A)zI = Iztensorflow.zeros((5,))ztensorflow.ones((5,))z)tensorflow.linalg.einsum("abccd->abd", A)z)tensorflow.linalg.einsum("abccc->abc", A)z)tensorflow.linalg.einsum("aabbc->cab", A)z)tensorflow.linalg.einsum("abcde->abe", A))r1   r/   r0   r+   rE   r4   r5   r3   r2   r   r*   )rl   rú   rû   rü   rý   rI   s         rJ   Útest_array_printerrþ   –  s  € Ý�C˜Ñ%Ô%€AÝ�CÑÔ€AÝ��U‰OŒO�S  e™_œ_­c°#°u©o¬oˆ€a€Aå‰NŒN€EØ�=Š=� 1™œÑ&Ô&Ð*=Ò=Ð=Ð=Ð=Ø�=Š=� !™œÑ%Ô%Ð);Ò;Ð;Ð;Ð;Ø�=Š=Õ)¨!¨a°¨UÑ3Ô3Ñ4Ô4Ð8WÒWÐWÐWÐWØ�=Š=˜ÑÔ˜sÒ"Ð"Ð"Ð"Ø�=Š=� q¨'¨'¨'Ñ2Ô2Ñ3Ô3Ð7VÒVÐVÐVÐVØ�=Š=� q¨1¨Q¨%°!°A°Ñ7Ô7Ñ8Ô8Ð<[Ò[Ð[Ð[Ð[Ø�=Š=Õ)¨!¨a¨S°1°#Ñ6Ô6Ñ7Ô7Ð;ZÒZÐZÐZÐZØ�=Š=� A a¨¨! e¤H¨a°°!°A°¬hÑ7Ô7Ñ8Ô8¸GÒCÐCÐCÐCåÑÔ€EØ�=Š=� 1™œÑ&Ô&Ð*BÒBÐBÐBÐBØ�=Š=� !™œÑ%Ô%Ð)@Ò@Ð@Ð@Ð@Ø�=Š=Õ)¨!¨a°¨UÑ3Ô3Ñ4Ô4Ð8cÒcÐcÐcÐcØ�=Š=˜ÑÔ˜sÒ"Ð"Ð"Ð"Ø�=Š=� q¨'¨'¨'Ñ2Ô2Ñ3Ô3Ð7bÒbÐbÐbÐbØ�=Š=� q¨1¨Q¨%°!°A°Ñ7Ô7Ñ8Ô8Ð<gÒgÐgÐgÐgØ�=Š=Õ)¨!¨a¨S°1°#Ñ6Ô6Ñ7Ô7Ð;fÒfÐfÐfÐfØ�=Š=� A a¨¨! e¤H¨a°°!°A°¬hÑ7Ô7Ñ8Ô8¸GÒCÐCÐCÐCÐCÐCrL   N)cÚsympy.codegenr   Úsympy.codegen.astr   Úsympy.codegen.cfunctionsr   r   Úsympy.codegen.scipy_nodesr   Úsympy.codegen.matrix_nodesr   Ú
sympy.corer	   r
   r   r   r   r   r   r   r   r   Úsympy.core.numbersr   Úsympy.core.singletonr   Úsympy.functionsr   r   r   r   r   r   r   r   r   r   r   r    Úsympy.logicr!   r"   Úsympy.matricesr#   r$   r%   Úsympy.printing.pycoder&   r'   r(   r)   Úsympy.printing.tensorflowr*   Úsympy.printing.numpyr+   r,   Úsympy.testing.pytestr-   r.   Úsympy.tensorr/   r0   Ú0sympy.tensor.array.expressions.array_expressionsr1   r2   r3   r4   r5   Úsympy.externalr6   rÉ   r7   rF   rG   rß   r8   rK   rU   r^   r€   rŒ   r–   r�   r¡   r¥   r©   r«   r¹   r¼   r¾   rÃ   rÎ   râ   rè   rí   rò   rö   rø   rþ   rR   rL   rJ   ú<module>r     sø  ðØ $Ð $Ð $Ð $Ð $Ð $Ø "Ð "Ð "Ð "Ð "Ð "Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø +Ð +Ð +Ð +Ð +Ð +Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ !Ð !Ð !Ð !Ð !Ð !Ø "Ð "Ð "Ð "Ð "Ð "Ø nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nÐ nØ Ð Ð Ð Ð Ð Ð Ð Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?ðð ð ð ð ð ð ð ð ð ð ð ð 8Ð 7Ð 7Ð 7Ð 7Ð 7Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ð ~Ø (Ð (Ð (Ð (Ð (Ð (Ø <Ð <Ð <Ð <Ð <Ð <ð ˆ'�'Ñ
Ô
�€€1€aØ€K�ÑÔ€ð)3ð )3ð )3ðXJð Jð Jð:ð :ð :ð2?ð 2?ð 2?ðjð ð ð&*ð *ð *ð"4ð 4ð 4ð$ð $ð $ðBð Bð Bð6Pð Pð Pð(ð ð ð ð ˜$ñ ô ð ð4ð 4ð 4ð"ð "ð "ð1ð 1ð 1ð/ð /ð /ð9ð 9ð 9ð(Cð Cð Cð,;ð ;ð ;ð.7ð 7ð 7ð(3ð 3ð 3ð$3ð 3ð 3ð&?ð ?ð ?ðDð Dð Dð Dð DrL   