§
    OŠtj ã                  óœ  — 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
 ddl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 ddlmZmZmZmZ ddlmZ ddlmZm Z  ddl!m"Z"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z) d dl*m+Z+  G d„ de¦  «        Z, e+d¦  «        Z-e- .                    e/e/fe,¦  «         ddl.m0Z0 ddl1m2Z2m3Z3 ddl4m5Z5m6Z6 ddl7m8Z8m9Z9m:Z: dS )é    )Úannotations)ÚCallableÚTYPE_CHECKING)Úproducté   )Ú_sympify)Úcacheit)ÚS)ÚExpr)ÚPrecisionExhausted)Úexpand_complexÚexpand_multinomialÚ
expand_mulÚ_mexpandÚ	PoleError)Ú
fuzzy_boolÚ	fuzzy_notÚ	fuzzy_andÚfuzzy_or)Úglobal_parameters)Úis_gtÚis_lt)Ú
NumberKindÚUndefinedKind)Úsift)Úsympy_deprecation_warning)Úas_int)Ú
Dispatcherc                  óö  ‡ — e Zd ZdZdZdZeredEd„¦   «         ZedFd„¦   «         Z	edFd	„¦   «         Z
ed
„ ¦   «         ZedGdHd„¦   «         ZdId„Zed„ ¦   «         Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd „ Zd!„ Zd"„ Z d#„ Z!d$„ Z"d%„ Z#d&„ Z$d'„ Z%d(„ Z&d)„ Z'd*„ Z(d+„ Z)dJd,„Z*d-„ Z+d.„ Z,d/„ Z-d0„ Z.d1„ Z/d2„ Z0d3„ Z1d4„ Z2d5„ Z3d6„ Z4dKd8„Z5dLd:„Z6d;„ Z7ed<„ ¦   «         Z8ˆ fd=„Z9d>„ Z:d?„ Z;d@„ Z<dA„ Z=dMdB„Z>dC„ Z?dD„ Z@ˆ xZAS )NÚPowa%  
    Defines the expression x**y as "x raised to a power y"

    .. deprecated:: 1.7

       Using arguments that aren't subclasses of :class:`~.Expr` in core
       operators (:class:`~.Mul`, :class:`~.Add`, and :class:`~.Pow`) is
       deprecated. See :ref:`non-expr-args-deprecated` for details.

    Singleton definitions involving (0, 1, -1, oo, -oo, I, -I):

    +--------------+---------+-----------------------------------------------+
    | expr         | value   | reason                                        |
    +==============+=========+===============================================+
    | z**0         | 1       | Although arguments over 0**0 exist, see [2].  |
    +--------------+---------+-----------------------------------------------+
    | z**1         | z       |                                               |
    +--------------+---------+-----------------------------------------------+
    | (-oo)**(-1)  | 0       |                                               |
    +--------------+---------+-----------------------------------------------+
    | (-1)**-1     | -1      |                                               |
    +--------------+---------+-----------------------------------------------+
    | S.Zero**-1   | zoo     | This is not strictly true, as 0**-1 may be    |
    |              |         | undefined, but is convenient in some contexts |
    |              |         | where the base is assumed to be positive.     |
    +--------------+---------+-----------------------------------------------+
    | 1**-1        | 1       |                                               |
    +--------------+---------+-----------------------------------------------+
    | oo**-1       | 0       |                                               |
    +--------------+---------+-----------------------------------------------+
    | 0**oo        | 0       | Because for all complex numbers z near        |
    |              |         | 0, z**oo -> 0.                                |
    +--------------+---------+-----------------------------------------------+
    | 0**-oo       | zoo     | This is not strictly true, as 0**oo may be    |
    |              |         | oscillating between positive and negative     |
    |              |         | values or rotating in the complex plane.      |
    |              |         | It is convenient, however, when the base      |
    |              |         | is positive.                                  |
    +--------------+---------+-----------------------------------------------+
    | 1**oo        | nan     | Because there are various cases where         |
    | 1**-oo       |         | lim(x(t),t)=1, lim(y(t),t)=oo (or -oo),       |
    |              |         | but lim( x(t)**y(t), t) != 1.  See [3].       |
    +--------------+---------+-----------------------------------------------+
    | b**zoo       | nan     | Because b**z has no limit as z -> zoo         |
    +--------------+---------+-----------------------------------------------+
    | (-1)**oo     | nan     | Because of oscillations in the limit.         |
    | (-1)**(-oo)  |         |                                               |
    +--------------+---------+-----------------------------------------------+
    | oo**oo       | oo      |                                               |
    +--------------+---------+-----------------------------------------------+
    | oo**-oo      | 0       |                                               |
    +--------------+---------+-----------------------------------------------+
    | (-oo)**oo    | nan     |                                               |
    | (-oo)**-oo   |         |                                               |
    +--------------+---------+-----------------------------------------------+
    | oo**I        | nan     | oo**e could probably be best thought of as    |
    | (-oo)**I     |         | the limit of x**e for real x as x tends to    |
    |              |         | oo. If e is I, then the limit does not exist  |
    |              |         | and nan is used to indicate that.             |
    +--------------+---------+-----------------------------------------------+
    | oo**(1+I)    | zoo     | If the real part of e is positive, then the   |
    | (-oo)**(1+I) |         | limit of abs(x**e) is oo. So the limit value  |
    |              |         | is zoo.                                       |
    +--------------+---------+-----------------------------------------------+
    | oo**(-1+I)   | 0       | If the real part of e is negative, then the   |
    | -oo**(-1+I)  |         | limit is 0.                                   |
    +--------------+---------+-----------------------------------------------+

    Because symbolic computations are more flexible than floating point
    calculations and we prefer to never return an incorrect answer,
    we choose not to conform to all IEEE 754 conventions.  This helps
    us avoid extra test-case code in the calculation of limits.

    See Also
    ========

    sympy.core.numbers.Infinity
    sympy.core.numbers.NegativeInfinity
    sympy.core.numbers.NaN

    References
    ==========

    .. [1] https://en.wikipedia.org/wiki/Exponentiation
    .. [2] https://en.wikipedia.org/wiki/Zero_to_the_power_of_zero
    .. [3] https://en.wikipedia.org/wiki/Indeterminate_forms

    T©Úis_commutativeÚreturnútuple[Expr, Expr]c                ó   — d S ©N© ©Úselfs    úN/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/core/power.pyÚargszPow.argsu   s   € àˆCó    r   c                ó   — | j         d         S )Nr   ©r+   r(   s    r*   ÚbasezPow.basey   ó   € àŒy˜Œ|Ðr,   c                ó   — | j         d         S ©Nr   r.   r(   s    r*   ÚexpzPow.exp}   r0   r,   c                óN   — | j         j        t          u r| j        j        S t          S r&   )r3   Úkindr   r/   r   r(   s    r*   r5   zPow.kind�   s!   € àŒ8Œ=�JÐ&Ð&Ø”9”>Ð!å Ð r,   NÚbúExpr | complexÚec                ó   — |€t           j        }t          |¦  «        }t          |¦  «        }ddlm} t          ||¦  «        st          ||¦  «        rt          d¦  «        ‚||fD ]@}t          |t          ¦  «        s)t          dt          |¦  «        j
        ›d�ddd¬	¦  «         ŒA|�rO|t          j        u rt          j        S |t          j        u r¨t          |t          j        ¦  «        rt          j        S t          |t          j        ¦  «        r&t%          |t          j        ¦  «        rt          j        S t%          |t          j        ¦  «        r(|j        rt          j        S |j        d
u rt          j        S |t          j        u rt          j        S |t          j        u r|S |dk    r|st          j        S |j        j
        dk    rI|t          j        k    r8ddlm}  |t3          ||j        ¦  «        t3          ||j        ¦  «        ¦  «        S nb|j        r|j        s|j        rM|j        r|j         s|j!        r8| "                    ¦   «         r$|j#        r| }n|j$        rt3          | |¦  «         S t          j        ||fv rt          j        S |t          j        u r,tK          |¦  «        j&        rt          j        S t          j        S ddl'm(}	 |j)        �s	|t          j        urût          ||	¦  «        sëddl*m+}
 ddl'm,} ddl-m.}  |
|d
¬¦  «         /                    ¦   «         \  }} ||¦  «        \  }}t          ||¦  «        r#|j0        d         |k    rt          j        ||z  z  S |j1        roddl2m3}m4}  | ||¦  «        ¦  «        }|j!        rL|rJ| | |
|d
¬¦  «         ¦  «        |t          j5        z  t          j6        z  z   k    rt          j        ||z  z  S | 7                    |¦  «        }|�|S t          j8        | ||¦  «        }|  9                    |¦  «        }t          |t2          ¦  «        s|S |j:        o|j:        |_:        |S )Nr   )Ú
Relationalz Relational cannot be used in Powzf
    Using non-Expr arguments in Pow is deprecated (in this case, one of the
    arguments is of type zf).

    If you really did intend to construct a power with this base, use the **
    operator instead.z1.7znon-expr-args-deprecatedé   )Údeprecated_since_versionÚactive_deprecations_targetÚ
stacklevelFéÿÿÿÿÚAccumulationBoundsr   ©ÚAccumBounds)Ú	exp_polar)Úfactor_terms©Úlog)Úfraction)Úsign)rH   Úim);r   Úevaluater   Ú
relationalr:   Ú
isinstanceÚ	TypeErrorr   r   ÚtypeÚ__name__r
   ÚComplexInfinityÚNaNÚInfinityr   ÚOneÚNegativeOner   ÚZeroÚ	is_finiteÚ	__class__ÚExp1Ú!sympy.calculus.accumulationboundsrB   r    ÚminÚmaxÚ	is_SymbolÚ
is_integerÚ
is_IntegerÚ	is_numberÚis_MulÚ	is_NumberÚcould_extract_minus_signÚis_evenÚis_oddÚabsÚis_infiniteÚ&sympy.functions.elementary.exponentialrC   Úis_AtomÚ	exprtoolsrD   rF   Úsympy.simplify.radsimprG   Úas_coeff_Mulr+   Úis_AddÚ$sympy.functions.elementary.complexesrH   rI   ÚImaginaryUnitÚPiÚ_eval_powerÚ__new__Ú _exec_constructor_postprocessorsr"   )Úclsr6   r8   rJ   r/   r3   r:   ÚargrB   rC   rD   rF   rG   ÚcÚexÚnumÚdenrH   rI   ÚsÚobjs                        r*   rq   zPow.__new__ˆ   sÆ  € àÐÝ(Ô1ˆHå˜‰{Œ{ˆÝ�q‰kŒkˆð 	+Ð*Ð*Ð*Ð*Ð*Ý�d˜JÑ'Ô'ð 	@­:°c¸:Ñ+FÔ+Fð 	@ÝÐ>Ñ?Ô?Ð?ð ˜#�;ð 	ð 	ˆCÝ˜c¥4Ñ(Ô(ð Ý)ðå˜s™)œ)Ô,ðð ð ð .3Ø/IØ ð
ñ 
ô 
ð 
øð ñ >	Ø•aÔ'Ð'Ð'Ý”u�Ø•a”jÐ Ð Ý˜�qœuÑ%Ô%ð &Ýœ:Ð%Ý˜�qœ}Ñ-Ô-ð "µ%¸½a¼eÑ2DÔ2Dð "Ýœ6�MÝ˜�qœ}Ñ-Ô-ð %Ø”~ð 1Ý Ô0Ð0Ø”~¨Ð.Ð.Ý œu˜Ø•a”fˆ}ˆ}Ý”u�Ø�œ��Ø�Ø˜’� 4�ÝÔ(Ð(Ø”Ô'Ð+?Ò?Ð?Ø�1œ6’>�>ØMÐMÐMÐMÐMÐMØ&˜;¥s¨4°´Ñ'9Ô'9½3¸tÀSÄWÑ;MÔ;MÑNÔNÐNð "ð ”-ð , C¤Nð ,°c´nð ,Øœ>ð,Ø.2¬kð,Ø=A¼^ð,à×7Ò7Ñ9Ô9ð,ð ”;ð ,Ø ˜5�D�DØ”Zð ,Ý   s™OœOÐ+Ð+ÝŒu˜˜s˜Ð#Ð#Ý”u�Ø�œ��Ý�s‘8”8Ô'ð !Ýœ5�LÝ”u�ð MÐLÐLÐLÐLÐLØ”{ñ 3 tµ1´6Ð'9Ð'9Å*ÈTÐS\ÑB]ÔB]Ð'9Ø7Ð7Ð7Ð7Ð7Ð7ØJÐJÐJÐJÐJÐJØ?Ð?Ð?Ð?Ð?Ð?Ø(˜L¨°5Ð9Ñ9Ô9×FÒFÑHÔH‘E�A�rØ'˜x¨™|œ|‘H�C˜Ý! # sÑ+Ô+ð 3°´¸´¸tÒ0CÐ0CÝ œv¨¨#©™Ð.Øœð 3ØQÐQÐQÐQÐQÐQÐQÐQØ ˜D   D¡¤™NœN˜Øœ;ð 3¨1ð 3°Ø #  \ \°$¸UÐ%CÑ%CÔ%CÐ$CÑ DÔ DÀqÍÌÑGXÕYZÔY]ÑG]Ñ ]ò2^ð 2^å#$¤6¨A¨c©E¡?Ð2à×&Ò& sÑ+Ô+�Ø�?Ø�JÝŒl˜3  cÑ*Ô*ˆØ×2Ò2°3Ñ7Ô7ˆÝ˜#�sÑ#Ô#ð 	ØˆJØ"Ô1ÐH°cÔ6HˆÔØˆ
r,   r   c                ó@   — | j         t          j        k    rddlm} |S d S ©Nr   rE   )r/   r
   rX   rg   rF   )r)   ÚargindexrF   s      r*   ÚinversezPow.inverseë   s-   € ØŒ9�œÒÐØBÐBÐBÐBÐBÐBØˆJØˆtr,   c                ó   — dd| j         fS )Né   é   )rO   ©rs   s    r*   Ú	class_keyzPow.class_keyñ   s   € à�!�S”\Ð!Ð!r,   c                ót  — ddl m}m} |                      ¦   «         \  }} ||                     |¦  «        |¦  «        ru|                     ¦   «         rc ||                     |¦  «        |¦  «        rt          | |¦  «        S  ||                     |¦  «        |¦  «        rt          | |¦  «         S d S d S d S )Nr   )ÚaskÚQ)	Úsympy.assumptions.askr…   r†   Úas_base_expÚintegerrb   Úevenr    Úodd)r)   Úassumptionsr…   r†   r6   r8   s         r*   Ú_eval_refinezPow._eval_refineõ   sÜ   € Ø0Ð0Ð0Ð0Ð0Ð0Ð0Ð0Ø×ÒÑ!Ô!‰ˆˆ1Øˆ3ˆq�yŠy˜‰|Œ|˜[Ñ)Ô)ð 	#¨a×.HÒ.HÑ.JÔ.Jð 	#Øˆs�1—6’6˜!‘9”9˜kÑ*Ô*ð #Ý˜A˜2˜q‘z”zÐ!Ø��Q—U’U˜1‘X”X˜{Ñ+Ô+ð #Ý˜Q˜B ™
œ
�{Ð"ð		#ð 	#ð 	#ð 	#ð#ð #r,   c                ó˜  — |                       ¦   «         \  }}|t          j        u r||z  |z  S d }|j        rd}�nw|j        rd}�nl|j        ��dddlm}m}m	}m
} ddlm}	m}
 ddlm} d„ }d„ }|j        �r’|dk    rS ||¦  «        rG|j        d	u r$t          j        |z  t%          | ||z  ¦  «        z  S |j        d
u rt%          || ¦  «        S nI|j        rB|j        rt)          |¦  «        }|j        r%t)           ||¦  «        ¦  «        t          j        z  }t)          |¦  «        dk     d	k    s|dk    rd}�ny|j        rd}�nn ||¦  «        j        rt)          |¦  «        dk     d	k    rd}�nC ||¦  «        r� |	dt          j        z  t          j        z  |z   |t          j        | ||¦  «        z  dt          j        z  z  z
  ¦  «        z  ¦  «        }|j        r' | ||¦  «        |z
  ¦  «        dk    r ||¦  «        }n­d }nª	  |	dt          j        z  t          j        z  |z   |t          j         || |
|¦  «        z  ¦  «        dz  t          j        z  z
  ¦  «        z  ¦  «        }|j        r' | ||¦  «        |z
  ¦  «        dk    r ||¦  «        }nd }n# t4          $ r d }Y nw xY w|�|t%          |||z  ¦  «        z  S d S )Nr   r   )rt   rI   ÚrerH   ©r3   rF   )Úfloorc                ó„   — t          | dd¦  «        dk    rdS |                      ¦   «         \  }}|j        r|dk    rdS dS dS )zZReturn True if the exponent has a literal 2 as the
                denominator, else None.ÚqNr�   T)ÚgetattrÚas_numer_denomr]   )r8   ÚnÚds      r*   Ú_halfzPow._eval_power.<locals>._half  sZ   € õ ˜1˜c 4Ñ(Ô(¨AÒ-Ð-Ø˜4Ø×'Ò'Ñ)Ô)‘��1Ø”<ð   A¨¢F FØ˜4ð ð   F Fr,   c                ój   — 	 |                       dd¬¦  «        }|j        r|S dS # t          $ r Y dS w xY w)zXReturn ``e`` evaluated to a Number with 2 significant
                digits, else None.r�   T©ÚstrictN)Úevalfra   r   )r8   Úrvs     r*   Ú_n2zPow._eval_power.<locals>._n2  sW   € ðØŸš ¨4˜Ñ0Ô0�BØ”|ð "Ø!˜	ð"ð "øå)ð ð ð Ø�D�Dðøøøs   ‚$ ¤
2±2r?   TFr�   )rˆ   r
   rQ   r]   Úis_polarÚis_extended_realrm   rt   rI   r�   rH   rg   r3   rF   Ú#sympy.functions.elementary.integersr‘   Úis_negativerT   r    rc   re   Úis_imaginaryrn   Úis_extended_nonnegativero   ÚHalfr   )r)   Úexptr6   r8   ry   rt   rI   r�   rH   r3   rF   r‘   r˜   rž   s                 r*   rp   zPow._eval_powerþ   s€  € Ø×ÒÑ!Ô!‰ˆˆ1Ø•”ˆ:ˆ:Ø�q‘D˜4‘<ÐàˆØŒ?ð I	ØˆA‰AØŒZð G	ØˆA‰AØÔÑ+ØNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNÐNØGÐGÐGÐGÐGÐGÐGÐGØAÐAÐAÐAÐAÐAð ð  ð  ðð ð ð Ô!ñ .ð ˜’7�7à�u˜T‘{”{ð 1Øœ=¨DÐ0Ð0Ý#$¤=°$Ñ#6µs¸A¸2¸qÀ¹v±´Ñ#FÐFØœ]¨eÐ3Ð3Ý#& q¨4¨%¡=¤=Ð0øØ”Yð 7ØÔ)ð #Ý ™FœF˜Ø”~ð 7Ý   1¡¤™JœJ¥q¤Ñ6˜å˜‘F”F˜Q’J 4Ò'Ð'¨1°ª6¨6Ø�A‘AØÔ.ð 
!Ø�A‘AØ�R˜‘U”UÔ2ð !½¸A¹¼Àº
ÀtÒ7KÐ7KØ�A‘AØ�U˜4‘[”[ð !Ø˜˜A�aœd™F¥1¤?Ñ2°4Ñ7¸¸Ýœ  3 3 q¡6¤6¡¨1­Q¬T©6Ñ!2Ñ2ñ94ô 94ñ 4ñ 5ô 5�AàÔ)ð !¨c¨c°$°$°q±'´'¸A±+Ñ.>Ô.>À!Ò.CÐ.CØ ˜D ™GœG˜˜à ˜øð

Ø˜˜A�aœoÑ-­a¬dÑ2°4Ñ7Ø˜�aœf r r¨!¨C¨C°©F¬F©(¡|¤|°A¡~µa´dÑ':Ñ:Ñ;Ô;ñ<ñ =ô =�Að Ô)ð !¨c¨c°$°$°q±'´'¸A±+Ñ.>Ô.>À!Ò.CÐ.CØ ˜D ™GœG˜˜à ˜øøÝ)ð ð ð Ø�A�A�Aðøøøð ˆ=Ø•S˜˜A˜d™F‘^”^Ñ#Ð#ð ˆ=s   È	BJ  Ê J/Ê.J/c                óê  — | j         | j        }}|j        �rÒ|j        �rÌ|j        r||z  dk    rt          j        S ddlm} |j        rÐ|j        rÉ|j        rÂt          |¦  «        t          |¦  «        t          |¦  «        }}}| 
                    ¦   «         }|dk    r]||k    rW| 
                    ¦   «         dz  |k    r<t           ||¦  «        ¦  «        }	t          t          ||	||	z  z   |¦  «        ¦  «        S t          t          |||¦  «        ¦  «        S ddlm}
 t          |t           ¦  «        r6|j        r/|j        r( |
||¦  «        } |
t!          ||d¬¦  «        |¦  «        S t          |t           ¦  «        ro|j        rj|j        ret          |¦  «         
                    ¦   «         }|dk    r@ ||¦  «        }	|	 |
||	¦  «        z   } |
t!          ||d¬¦  «        |¦  «        S d	S d	S d	S d	S d	S d	S )
aO  A dispatched function to compute `b^e \bmod q`, dispatched
        by ``Mod``.

        Notes
        =====

        Algorithms:

        1. For unevaluated integer power, use built-in ``pow`` function
        with 3 arguments, if powers are not too large wrt base.

        2. For very large powers, use totient reduction if $e \ge \log(m)$.
        Bound on m, is for safe factorization memory wise i.e. $m^{1/4}$.
        For pollard-rho to be faster than built-in pow $\log(e) > m^{1/4}$
        check is added.

        3. For any unevaluated power found in `b` or `e`, the step 2
        will be recursed down to the base and the exponent
        such that the $b \bmod q$ becomes the new base and
        $\phi(q) + e \bmod \phi(q)$ becomes the new exponent, and then
        the computation for the reduced expression can be done.
        r   )ÚtotientéP   r;   r   )ÚModF©rJ   N)r/   r3   r]   Úis_positiver
   rU   Ú%sympy.functions.combinatorial.numbersr¨   r^   ÚintÚ
bit_lengthÚIntegerÚpowÚmodrª   rL   r    r_   )r)   r“   r/   r3   r¨   r6   r8   ÚmÚmbÚphirª   r¯   s               r*   Ú	_eval_ModzPow._eval_ModR  sI  € ð0 ”I˜tœxˆcˆàŒ>ñ 	B˜cœoñ 	BØŒ|ð   q¡¨A¢ Ý”v�àEÐEÐEÐEÐEÐEàŒð - 3¤>ð -°a´lð -Ý˜d™)œ)¥S¨¡X¤X­s°1©v¬v�a�1�Ø—\’\‘^”^�Ø˜’8�8  R¢ ¨A¯LªL©N¬N¸AÑ,=ÀÒ,BÐ,BÝ˜g˜g a™jœj™/œ/�CÝ"¥3 q¨#°°#±©+°qÑ#9Ô#9Ñ:Ô:Ð:Ý�s 1 a¨™|œ|Ñ,Ô,Ð,à Ð Ð Ð Ð Ð å˜$¥Ñ$Ô$ð >¨¬ð >¸T¼^ð >Ø�s˜4 ‘|”|�Ø�s�3˜t S°5Ð9Ñ9Ô9¸1Ñ=Ô=Ð=å˜#�sÑ#Ô#ð B¨¬ð B¸3¼=ð BÝ  ™VœV×.Ò.Ñ0Ô0�
ð  Ò#Ð#Ø!˜' !™*œ*�CØ   C¨¡¤Ñ-�CØ˜3�s 4¨°uÐ=Ñ=Ô=¸qÑAÔAÐAð9	Bð 	Bð 	Bð 	Bð(Bð Bð Bð Bð Bð Bð
 $Ð#r,   c                óR   — | j         j        r| j         j        r| j        j        S d S d S r&   )r3   r]   r¬   r/   rc   r(   s    r*   Ú_eval_is_evenzPow._eval_is_evenŠ  s:   € ØŒ8Ôð 	% 4¤8Ô#7ð 	%Ø”9Ô$Ð$ð	%ð 	%ð 	%ð 	%r,   c                óP   — t                                | ¦  «        }|du r| j        S |S ©NT)r    Ú_eval_is_extended_negativerV   )r)   Úext_negs     r*   Ú_eval_is_negativezPow._eval_is_negativeŽ  s+   € Ý×0Ò0°Ñ6Ô6ˆØ�dˆ?ˆ?Ø”>Ð!Øˆr,   c                ó"  — | j         | j        k    r| j         j        rdS d S | j         j        r| j        j        rdS d S | j         j        r| j        j        rdS | j        j        rdS d S | j         j        r| j        j	        r| j        j        S d S | j         j
        r| j        j        rdS d S | j         j        rX| j        j        r%| j        dz  }|j        rdS |j        r|j        du rdS | j        j        rddlm}  || j         ¦  «        j        S d S d S )NTFr;   r   rE   )r/   r3   r¤   r¬   Úis_realÚis_extended_negativerc   rd   Úis_zeror    Úis_extended_nonpositiver£   r]   rg   rF   )r)   r³   rF   s      r*   Ú_eval_is_extended_positivezPow._eval_is_extended_positive”  s|  € ØŒ9˜œÒ Ð ØŒyÔ0ð Ø�tðð àŒYÔ"ð 	3ØŒxÔð Ø�tðð àŒYÔ+ð 	3ØŒxÔð Ø�tØŒxŒð Ø�uðð àŒYÔð 	3ØŒxÔ(ð (Ø”xÔ'Ð'ð(ð (àŒYÔ.ð 	3ØŒxŒð Ø�uðð àŒYÔ#ð 		3ØŒxÔ"ð !Ø”H˜q‘L�Ø”9ð  Ø˜4Ø”<ð ! A¤I°Ð$6Ð$6Ø ˜5ØŒxÔ$ð 3ØFÐFÐFÐFÐFÐFØ�s˜4œ9‘~”~Ô2Ð2ð		3ð 		3ð3ð 3r,   c                óä  — | j         t          j        u r| j        j        s| j        j        rdS | j        j        r*| j         j        r| j        j        rdS | j         j	        rdS d S | j        j
        r| j         j        rdS d S | j        j        r| j         j        rdS d S | j        j        r| j         j        rdS d S | j        j        r| j         j	        rdS d S | j        j        r| j         j	        rdS d S d S ©NFT)r3   r
   r¥   r/   Ú
is_complexr    rÀ   rd   rV   rc   Úis_extended_positiverÁ   r¤   rÂ   r(   s    r*   r»   zPow._eval_is_extended_negative±  sL  € ØŒ8•q”vÐÐØŒyÔ#ð  t¤yÔ'Að Ø�uØŒ9Ô)ð 	ØŒxŒð  4¤9Ô#6ð Ø�tØŒxÔð Ø�uðð àŒYÔ+ð 	ØŒxÔ(ð Ø�uðð àŒYÔð 	ØŒxÔ(ð Ø�uðð àŒYÔ.ð 	ØŒxÔ/ð Ø�uðð àŒYÔ.ð 	ØŒxÔð Ø�uðð àŒYÔ'ð 	ØŒxÔð Ø�uð	ð 	ðð r,   c                óZ  — | j         j        r| j        j        rdS | j        j        rdS d S | j         t
          j        k    r| j        t
          j        u S | j         j        du r®| j         j        r| j        j        rdS | j        j	        r| j         j
        S | j        j        rdS | j        j
        r\| j        j        rRdt          | j         ¦  «        z
  j        r| j        j        S dt          | j         ¦  «        z
  j        r| j        j        S d S d S d S | j         j        r| j        j	        rdS d S d S )NTFr   )r/   rÁ   r3   rÇ   rÂ   r
   rX   ÚNegativeInfinityrV   r¢   rf   Úis_nonnegativer    re   rÀ   r(   s    r*   Ú_eval_is_zerozPow._eval_is_zeroÊ  sc  € ØŒ9Ôð 	ØŒxÔ,ð Ø�tØ”Ô1ð Ø�uðð àŒY�!œ&Ò Ð Ø”8�qÔ1Ð1Ð1ØŒYÔ %Ð'Ð'ØŒyÔ"ð 
9 t¤xÔ'9ð 
9Ø�uØ”Ô%ð 9Ø”yÔ,Ð,Ø”Ô(ð 9Ø�uØ”Ô%ð 9¨$¬(Ô*Cð 9Ø�˜DœI™œÑ&Ô<ð 9Øœ8Ô8Ð8Ø�#˜dœi™.œ.Ñ(Ô>ð 9Øœ8Ô8Ð8ð	9ð 9ð 9ð 9ð9ð 9àŒYÔ ð 	 T¤XÔ%9ð 	à�5ð	ð 	ð 	ð 	r,   c                óø  — | j         \  }}|j        r|j        du r	|j        rdS |j        r'|j        r |t          j        u rdS |j        s|j        rdS |j        rE|j        r>|j        s|j        r0t          |dz
  j
        ¦  «        rt          |dz   j
        ¦  «        rdS |j        r|j        r | j        | j         Ž }|j        S |j        r|j        r|dz
  j        rdS |j        r|j        r|dz   j        rdS d S d S d S )NFTr   )r+   Úis_rationalr]   r¬   r
   rT   rÊ   r¢   rV   r   rÁ   ra   Úfuncr^   )r)   r6   r8   Úchecks       r*   Ú_eval_is_integerzPow._eval_is_integerâ  sY  € ØŒy‰ˆˆ1ØŒ=ð 	ØŒ|˜uÐ$Ð$¨¬Ð$Ø�uØŒ<ð 	˜AœLð 	Ø•A”MÐ!Ð!Ø�tØÔð  1¤=ð Ø�tØŒ<ð 	˜AœMð 	¨q¬{ð 	¸a¼lð 	Ý˜!˜a™%œÑ)Ô)ð ­i¸¸Q¹¼Ñ.HÔ.Hð Ø�uØŒ;ð 	$˜1œ;ð 	$Ø�D”I˜tœyÐ)ˆEØÔ#Ð#ØŒ=ð 	˜Qœ]ð 	°°A±Ô/Bð 	Ø�5ØŒ=ð 	˜Qœ]ð 	°°A±Ô/Bð 	Ø�5ð	ð 	ð 	ð 	ð 	ð 	r,   c                óH  — | j         t          j        u rC| j        j        rdS | j        j        r)dt          j        z  | j        z  t          j        z  j        S ddl	m
}m} | j         j        }|€y| j         j        |k    r| j         j        j        r| j        j        S | j         j        t          k    r5| j         j         t          j        u r| j         j        j        r| j        j        S d S | j        j        }|€d S |rx|rv| j         j        rdS | j         j        r| j        j        rdS | j        j        r| j         j        rdS | j        j        r| j        j        rdS | j         j        r| j        j        rdS |r:| j        j        r.| j         j        du r t          | j         | j         ¦  «        j        S | j         j        }| j        j        }|rÎ| j        j        r| j        j        rdS | j        j        rdS n¥|r || j         ¦  «        j        rdS | j        j        rM| j                             ¦   «         \  }}|r.|j        r't3          | j         |z  | j         |z  d¬¦  «        j        S n3| j         t          j         t          j        fv r| j        dz  j        du rdS |r�|r›| j         t          j        u rdS | j                             t          j        ¦  «        }|r`| j         j        r+|j        r$| j         j        r| j         dz
  j        r	|j        rdS | || j         ¦  «        z  t          j        z  j        }	|	�|	S |du rg|rgt=          | j        t>          ¦  «        r| j        j         dk    rdS ddl!m"}
  |
| j         ¦  «        | j        z  t          j        z  }|j#        r|j        S d S d S d S )	NTr�   r   )rF   r3   Fr«   r   ©rt   )$r/   r
   rX   r3   r    r£   rn   ro   rc   rg   rF   rÎ   r    rÇ   r¤   r]   Úis_extended_nonzerorÊ   rÀ   Úis_RationalrÁ   rd   rl   Úas_coeff_Addr^   ÚMulrT   ÚcoeffrÍ   Ú
is_nonzerorL   ÚRationalÚprm   rt   rÆ   )r)   rF   r3   Úreal_bÚreal_eÚim_bÚim_eru   ÚaÚokrt   Úis               r*   Ú_eval_is_extended_realzPow._eval_is_extended_real÷  sÿ  € ØŒ9�œÐÐØŒxÔ(ð AØ�tØ”Ô&ð AØ�!œ/Ñ)¨$¬(Ñ2µ1´4Ñ7Ô@Ð@àCÐCÐCÐCÐCÐCÐCÐCØ”Ô+ˆØˆ>ØŒyŒ~ Ò$Ð$¨¬¬Ô)CÐ$Ø”xÔ,Ð,ØŒyŒ~¥Ò$Ð$¨¬¬½1¼6Ð)AÐ)AÀdÄiÄmÔF`Ð)AØ”xÔ,Ð,ØˆFØ”Ô*ˆØˆ>ØˆFØð 	!�fð 	!ØŒyÔ-ð 
!Ø�tØ”Ô2ð !°t´xÔ7Wð !Ø�tØ”Ô$ð !¨¬Ô)Fð !Ø�tØ”Ô$ð !¨¬Ô)@ð !Ø�tØ”Ô/ð !Ø”8Ô'ð !Ø ˜5Øð 	>�d”hÔ3ð 	>¸¼	Ô8IÈUÐ8RÐ8RÝ�t”y 4¤8 )Ñ,Ô,Ô=Ð=ØŒyÔ%ˆØŒxÔ$ˆØð 	!ØŒxÔ"ð !Ø”8Ô#ð !Ø˜4Ø”X”_ð !Ø ˜5ð!àð 	!˜#˜#˜dœi™.œ.Ô5ð 	!Ø�tØ””ð !Ø”x×,Ò,Ñ.Ô.‘��1Øð U˜œð UÝØœ	 1™ d¤i°¡l¸UðDñ Dô DÜDTðUøà”¥¤Ð/µ´ÐAÐAÐAØ”H˜Q‘JÔ*¨eÐ3Ð3Ø ˜5Øð 
	�dð 
	ØŒy�AœMÐ)Ð)Ø�tØ”—’�qœÑ/Ô/ˆAØð Ø”9Ô(ð %¨Q¬]ð %Ø”yÔ+ð %°´¸Q±Ô0Jð %ÈqÌ|ð %Ø$˜uØ˜˜˜DœI™œÑ&¥q¤tÑ+Ô7�Ø�>Ø�Ià�Uˆ?ˆ?˜vˆ?Ý˜$œ(¥HÑ-Ô-ð °$´(´*À²/°/Ø�uØ@Ð@Ð@Ð@Ð@Ð@Ø��D”I‘”˜tœxÑ'­¬Ñ,ˆAØŒ|ð $Ø”|Ð#ð ˆ?ˆ?ˆ?ð
$ð $r,   c                óæ   — | j         t          j        k    r%t          | j        j        | j        j        g¦  «        S t          d„ | j        D ¦   «         ¦  «        r|  	                    ¦   «         rdS d S d S )Nc              3  ó$   K  — | ]}|j         V — Œd S r&   )rÆ   )Ú.0rß   s     r*   ú	<genexpr>z'Pow._eval_is_complex.<locals>.<genexpr>B  s$   è è € Ð/Ð/ ˆqŒ|Ð/Ð/Ð/Ð/Ð/Ð/r,   T)
r/   r
   rX   r   r3   rÆ   rÀ   Úallr+   Ú_eval_is_finiter(   s    r*   Ú_eval_is_complexzPow._eval_is_complex=  s{   € àŒ9�œÒÐÝ˜TœXÔ0°$´(Ô2OÐPÑQÔQÐQåÐ/Ð/ T¤YÐ/Ñ/Ô/Ñ/Ô/ð 	°D×4HÒ4HÑ4JÔ4Jð 	Ø�4ð	ð 	ð 	ð 	r,   c                óÂ  — | j         j        du rdS | j         j        r| j        j        r| j        j        }|�|S d S | j         t          j        k    r8d| j        z  t          j        t          j	        z  z  }|j
        rdS |j        rdS d S | j        j        rddlm}  || j         ¦  «        j        }|�dS | j         j        rW| j        j        rK| j         j        rdS | j        j        }|s|S | j        j        rdS d| j        z  j        }|r| j         j        S |S | j         j        du r9ddlm}  || j         ¦  «        | j        z  t          j        z  }d|z  j        }	|	�|	S d S d S )NFr�   Tr   rE   rÒ   )r/   r"   r£   r3   r]   rd   r
   rX   ro   rn   rc   rg   rF   r    r¬   rÍ   r¢   rm   rt   )
r)   r‹   ÚfrF   ÚimlogÚratÚhalfrt   rá   Úisodds
             r*   Ú_eval_is_imaginaryzPow._eval_is_imaginaryE  s¯  € ØŒ9Ô# uÐ,Ð,Ø�5àŒ9Ô!ð 	ØŒxÔ"ð Ø”h”o�Ø�?Ø�JØ�àŒ9�œÒÐØ�D”H‘¥¤¥Q¤_Ñ 4Ñ5ˆAàŒyð Ø�uàŒxð Ø�tØ�4àŒ8Ô ð 	ØBÐBÐBÐBÐBÐBØ�C˜œ	‘N”NÔ/ˆEØÐ Ø�uàŒ9Ô%ð 	 ¨$¬(Ô*Cð 	 ØŒyÔ$ð  Ø�uà”hÔ*�Øð Ø�JØ”8Ô&ð  Ø ˜5à˜dœh™JÔ2�DØð 5Ø#œyÔ4Ð4Ø�KàŒ9Ô%¨Ð.Ð.Ø@Ð@Ð@Ð@Ð@Ð@Ø��D”I‘”˜tœxÑ'­¬Ñ,ˆAØ�q‘S”LˆEØÐ Ø�ð /Ð.ð !Ð r,   c                ó°   — | j         j        rG| j         j        r| j        j        S | j         j        r| j        j        rdS | j        t          j        u rdS d S d S rº   )r3   r]   r¬   r/   rd   rÊ   r
   rT   r(   s    r*   Ú_eval_is_oddzPow._eval_is_oddv  sk   € ØŒ8Ôð 	ØŒxÔ#ð Ø”yÔ'Ð'Ø”Ô(ð ¨T¬YÔ-=ð Ø�tØ”�aœmÐ+Ð+Ø�tð	ð 	ð
 ,Ð+r,   c                ó  — | j         j        r(| j        j        rdS | j        j        s| j        j        rdS | j        j        }|€d S | j         j        }|€d S |r)|r)| j         j        st          | j        j        ¦  «        rdS d S d S d S rÅ   )	r3   r¢   r/   rÁ   rf   rØ   rV   rÊ   r   )r)   Úc1Úc2s      r*   rè   zPow._eval_is_finite  sº   € ØŒ8Ôð 	ØŒyÔ ð Ø�uØŒyÔ$ð ¨¬	Ô(<ð Ø�tØŒYÔ ˆØˆ:ØˆFØŒXÔˆØˆ:ØˆFØð 	�"ð 	ØŒxÔ&ð ­)°D´IÔ4EÑ*FÔ*Fð Ø�tð	ð 	ð 	ð 	ðð r,   c                ó`   — | j         j        r| j        j        r| j        dz
  j        rdS dS dS dS )zM
        An integer raised to the n(>=2)-th power cannot be a prime.
        r   FN)r/   r]   r3   r¬   r(   s    r*   Ú_eval_is_primezPow._eval_is_prime�  sP   € ð Œ9Ôð 	 D¤HÔ$7ð 	¸T¼XÈ¹\Ô<Vð 	Ø�5ð	ð 	ð 	ð 	ð 	ð 	r,   c                óÔ   — | j         j        rS| j        j        rI| j         dz
  j        r| j        dz
  j        s'| j         dz   j        r| j        j        r| j        j        r
dS dS dS dS dS dS )zS
        A power is composite if both base and exponent are greater than 1
        r   TN)r/   r]   r3   r¬   r¢   rc   r(   s    r*   Ú_eval_is_compositezPow._eval_is_composite–  s£   € ð ŒIÔ ð 	 T¤XÔ%8ð 	ØŒi˜!‰mÔ(ð	Ø.2¬h¸©lÔ-Gð	àŒY˜‰]Ô'ð	à,0¬HÔ,@ð	àEIÄXÔEUð	ð �4ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	r,   c                ó   — | j         j        S r&   )r/   rŸ   r(   s    r*   Ú_eval_is_polarzPow._eval_is_polarŸ  s   € ØŒyÔ!Ð!r,   c                ód  — ddl m} t          | j        |¦  «        rq| j                             ||¦  «        }| j                             ||¦  «        }t          ||¦  «        r|                     |¦  «        S |                      ||¦  «        S ddlm}m	} d„ }|| j        k    s||k    rs| j        t          j        k    r^|j        r9t          |t          ¦  «        r$ || j                             ||¦  «        ¦  «        S || j                             ||¦  «        z  S t          || j        ¦  «        r=| j        |j        k    r- || j        |j        ¦  «        }	|	j        rt!          ||	¦  «        S t          || j        ¦  «        �r¿| j        |j        k    �r®| j        j        du r”| j                             t&          d¬¦  «        }
|j                             t&          d¬¦  «        } ||
||¦  «        \  }}}|r=|                      ||¦  «        }|�#t)          |t!          |j        |¦  «        ¦  «        }|S �n|j        }g }g }|                     ¦   «         }| j        j        D ]•}|                     ||¦  «        }|                     ¦   «         }
 ||
||¦  «        \  }}}|r0|                     ||z  ¦  «         |�|                     |¦  «         Œo|j        s
|j        s d S |                     |¦  «         Œ–|rIt5          |Ž }|                     |dk    rt!          | j        |d¬¦  «        n| j        ¦  «         t)          |Ž S t          ||¦  «        s|j        rÐ|j        t          j        u r¿| j        j        r¯| j        j        r©|j                             t&          d¬¦  «        }
| j         || j        ¦  «        z                       t&          d¬¦  «        } ||
||¦  «        \  }}}|rE|                      ||¦  «        }|�#t)          |t!          |j        |¦  «        ¦  «        }|S d S d S d S d S d S )	Nr   rA   r�   c                óX  — | \  }}|\  }}||k    �r|j         rb||z  }	 t          |d¬¦  «         d}nC# t          $ r6 |                     ¦   «         \  }	}
|	j        r|
j        p|	j        o|
j        }Y nw xY w||dfS t          |t          ¦  «        s|f}t          d„ |D ¦   «         ¦  «        sdS 	 t          t          |¦  «        t          |¦  «        ¦  «        \  }}|dk     r|dk    r|dz  }|t          |¦  «        z  }|dk    rd}nt          |g|¢R Ž }d||fS # t          $ r Y nw xY wdS )	a*  Return (bool, pow, remainder_pow) where, if bool is True, then the
            exponent of Pow `old` will combine with `pow` so the substitution
            is valid, otherwise bool will be False.

            For noncommutative objects, `pow` will be an integer, and a factor
            `Pow(old.base, remainder_pow)` needs to be included. If there is
            no such factor, None is returned. For commutative objects,
            remainder_pow is always None.

            cti are the coefficient and terms of an exponent of self or old
            In this _eval_subs routine a change like (b**(2*x)).subs(b**x, y)
            will give y**2 since (b**x)**2 == b**(2*x); if that equality does
            not hold then the substitution should not occur so `bool` will be
            False.

            Frš   TNc              3  ó$   K  — | ]}|j         V — Œd S r&   )r]   )rå   Úterms     r*   ræ   z1Pow._eval_subs.<locals>._check.<locals>.<genexpr>Ò  s$   è è € ÐBÐB°4˜tœÐBÐBÐBÐBÐBÐBr,   )FNNr   r   )r"   r   Ú
ValueErrorrˆ   r¬   r¿   rÊ   rL   Útuplerç   ÚdivmodrÖ   )Úct1Úct2ÚoldÚcoeff1Úterms1Úcoeff2Úterms2r±   Úcombinesr6   r8   Ú	remainderÚremainder_pows                r*   Ú_checkzPow._eval_subs.<locals>._check®  s¡  € ð" !‰NˆF�FØ ‰NˆF�FØ˜ÒÑØÔ%ð "à  ™-�CðhÝ˜s¨5Ð1Ñ1Ô1Ð1Ø#'˜˜øÝ%ð hð hð hØ"ŸšÑ0Ô0™˜˜1à#$¤=Ð#>°Q´YÐ#gÀ!ÔBRÐBgÐWXÔWg˜˜˜ðhøøøð
 $ S¨$Ð.Ð.õ & f­eÑ4Ô4ð +Ø"( ˜ÝÐBÐB¸6ÐBÑBÔBÑBÔBð 1Ø0Ð0ðå)/µ°v±´ÅÀvÁÄÑ)OÔ)O™˜˜YØ š7˜7 y°A¢~ ~Ø 1™H˜CØ%­°©¬Ñ7˜Ià$¨š>˜>Ø,0˜M˜Må,/°	Ð,C¸FÐ,CÐ,CÐ,C˜Mà# S¨-Ð7Ð7øÝ%ð ð ð à˜ðøøøð %Ð$s"   Ÿ3 ³=A3Á2A3Â/A*D Ä
D'Ä&D'F)Úas_Addr   r«   )rY   rB   rL   r3   r/   ÚsubsÚ__rpow__rÎ   rg   rF   r
   rX   Úis_Functionr   Ú_subsra   r    rl   Úas_independentÚSymbolrÖ   Úas_coeff_mulr+   Úappendr"   r]   ÚAddÚis_Powr    r¬   )r)   r  ÚnewrB   r6   r8   r3   rF   r  Úlr  r  rà   r±   r  ÚresultÚoargÚnew_lÚo_alrß   ÚnewaÚexpos                         r*   Ú
_eval_subszPow._eval_subs¢  s€  € ØAÐAÐAÐAÐAÐAå�d”h Ñ,Ô,ð 	#Ø”	—’˜s CÑ(Ô(ˆAØ”—’˜c 3Ñ'Ô'ˆAÝ˜!˜[Ñ)Ô)ð %Ø—z’z !‘}”}Ð$Ø—9’9˜Q ‘?”?Ð"àCÐCÐCÐCÐCÐCÐCÐCð8	%ð 8	%ð 8	%ðt �$”)ÒÐ  s¢
 
¨t¬y½A¼FÒ/BÐ/BØŒð 5¥:¨cµ8Ñ#<Ô#<ð 5Ø�s˜4œ8Ÿ>š>¨#¨sÑ3Ô3Ñ4Ô4Ð4à˜DœHŸNšN¨3°Ñ4Ô4Ñ4Ð4õ �c˜4œ9Ñ%Ô%ð 	#¨$¬(°c´gÒ*=Ð*=Ø��D”I˜sœxÑ(Ô(ˆAØŒ{ð #Ý˜3 ‘{”{Ð"å�c˜4œ9Ñ%Ô%ñ "	'¨$¬)°s´xÒ*?Ñ*?ØŒxŒ %Ð'Ð'Ø”h×-Ò-­f¸UÐ-ÑCÔC�Ø”g×,Ò,­V¸EÐ,ÑBÔB�Ø)/¨°°S¸#Ñ)>Ô)>Ñ&��C˜Øð "à!ŸYšY s¨CÑ0Ô0�FØ$Ð0Ý!$ V­S°´¸=Ñ-IÔ-IÑ!JÔ!J˜Ø!�Mñ"ð ”w�Ø�Ø�Ø×'Ò'Ñ)Ô)�Øœœð &ð &�AØŸ7š7 3¨Ñ,Ô,�DØ×+Ò+Ñ-Ô-�CØ-3¨V°C¸¸cÑ-BÔ-BÑ*�B˜˜]Øð ØŸš S¨#¡XÑ.Ô.Ð.Ø(Ð4Ø ŸKšK¨Ñ6Ô6Ð6Ø Ø Ô/ð ¸¼ð ð ˜˜Ø—K’K Ñ%Ô%Ð%Ð%Øð 'Ý ˜:�DØ—L’LÈÐQRÊÈ¥ T¤Y°¸uÐ!EÑ!EÔ!EÐ!EÐX\ÔXaÑbÔbÐbÝ ˜;Ð&å�s˜CÑ Ô ð 		 S¤Zð 		°C´HÅÄÐ4FÐ4FÈTÌXÔMfÐ4FÐkoÔktô  lAÐ4FØ”'×(Ò(­¸Ð(Ñ>Ô>ˆCØ”8˜C˜C ¤	™NœNÑ*×:Ò:Ý˜uð ;ñ &ô &ˆCà%+ V¨C°°cÑ%:Ô%:Ñ"ˆB��]Øð ØŸš 3¨Ñ,Ô,�Ø Ð,Ý  ­¨S¬X°}Ñ)EÔ)EÑFÔF�FØ�ð 5GÐ4Fð 		ð 		Ð4FÐ4FÐ4FÐ4Fð
ð r,   c                ó†   — | j         \  }}|j        r-|j        dk    r"|j        dk    rt	          |j        ¦  «        | fS ||fS )aú  Return base and exp of self.

        Explanation
        ===========

        If base a Rational less than 1, then return 1/Rational, -exp.
        If this extra processing is not needed, the base and exp
        properties will give the raw arguments.

        Examples
        ========

        >>> from sympy import Pow, S
        >>> p = Pow(S.Half, 2, evaluate=False)
        >>> p.as_base_exp()
        (2, -2)
        >>> p.args
        (1/2, 2)
        >>> p.base, p.exp
        (1/2, 2)

        r   )r+   rÔ   rÚ   r“   r°   )r)   r6   r8   s      r*   rˆ   zPow.as_base_exp#  sK   € ð. Œy‰ˆˆ1ØŒ=ð 	$˜QœS AšX˜X¨!¬#°ª(¨(Ý˜1œ3‘<”< ! Ð#Ð#Ø�!ˆtˆr,   c                ó  — ddl m} | j        j        | j        j        }}|r || j        ¦  «        | j        z  S |r| j         || j        ¦  «        z  S |du r$|du r"t          | ¦  «        }|| k    r ||¦  «        S d S d S d S )Nr   )ÚadjointF)rm   r$  r3   r]   r/   r¬   r   )r)   r$  rá   rÚ   Úexpandeds        r*   Ú_eval_adjointzPow._eval_adjoint?  s³   € Ø@Ð@Ð@Ð@Ð@Ð@ØŒxÔ" D¤IÔ$9ˆ1ˆØð 	0Ø�7˜4œ9Ñ%Ô% t¤xÑ/Ð/Øð 	0Ø”9˜g˜g d¤hÑ/Ô/Ñ/Ð/Ø�ˆ:ˆ:˜!˜u˜*˜*Ý% dÑ+Ô+ˆHØ˜4ÒÐØ�w˜xÑ(Ô(Ð(ð ˆ:˜*˜*àÐr,   c                ó  — ddl m} | j        j        | j        j        }}|r || j        ¦  «        | j        z  S |r| j         || j        ¦  «        z  S |du r$|du r t          | ¦  «        }|| k    r ||¦  «        S | j        r| S d S )Nr   )Ú	conjugateF)rm   r(  r3   r]   r/   r¬   r   r    )r)   ru   rá   rÚ   r%  s        r*   Ú_eval_conjugatezPow._eval_conjugateK  s¶   € ØGÐGÐGÐGÐGÐGØŒxÔ" D¤IÔ$9ˆ1ˆØð 	*Ø�1�T”Y‘<”< ¤Ñ)Ð)Øð 	*Ø”9˜a˜a ¤™kœkÑ)Ð)Ø�ˆ:ˆ:˜!˜u˜*˜*Ý% dÑ+Ô+ˆHØ˜4ÒÐØ�q˜‘{”{Ð"ØÔ ð 	ØˆKð	ð 	r,   c                ó   — ddl m} | j        t          j        k    r7|                      t          j        | j                             ¦   «         ¦  «        S | j        j        | j        j        p| j        j	        }}|r| j        | j        z  S |r || j        ¦  «        | j        z  S |du r$|du r"t          | ¦  «        }|| k    r ||¦  «        S d S d S d S )Nr   )Ú	transposeF)rm   r+  r/   r
   rX   rÎ   r3   r]   rÆ   rf   r   )r)   r+  rá   rÚ   r%  s        r*   Ú_eval_transposezPow._eval_transposeY  sæ   € ØBÐBÐBÐBÐBÐBØŒ9�œÒÐØ—9’9�QœV T¤X×%7Ò%7Ñ%9Ô%9Ñ:Ô:Ð:ØŒxÔ" T¤YÔ%9Ð%R¸T¼YÔ=Rˆ1ˆØð 	'Ø”9˜dœhÑ&Ð&Øð 	2Ø�9˜TœYÑ'Ô'¨¬Ñ1Ð1Ø�ˆ:ˆ:˜!˜u˜*˜*Ý% dÑ+Ô+ˆHØ˜4ÒÐØ �y Ñ*Ô*Ð*ð ˆ:˜*˜*àÐr,   c                ó6  ‡ ‡— ‰ j         Š‰ j        }‰t          j        k    rJddlm} t          ||¦  «        r4|j        r-ddlm	}  |‰  
                    ‰|j        ¦  «        g|j        ¢R Ž S |j        r§|                     dd¦  «        s‰j        du s|                     ¦   «         rt|j        rt#          ˆˆ fd„|j        D ¦   «         Ž S ‰j        rKt'          |j        d„ d¬	¦  «        \  }}|r.t#          ˆˆ fd
„|D ¦   «         Ž ‰t)          j        |¦  «        z  z  S ‰ S )za**(n + m) -> a**n*a**mr   )ÚSum)ÚProductÚforceFc                ó<   •— g | ]}‰                      ‰|¦  «        ‘ŒS r'   ©rÎ   ©rå   Úxr6   r)   s     €€r*   ú
<listcomp>z.Pow._eval_expand_power_exp.<locals>.<listcomp>s  s%   ø€ Ð=Ð=Ð=°˜TŸYšY q¨!™_œ_Ð=Ð=Ð=r,   c                ó   — | j         S r&   r!   ©r4  s    r*   ú<lambda>z,Pow._eval_expand_power_exp.<locals>.<lambda>u  s	   € ¨qÔ/?€ r,   T©Úbinaryc                ó<   •— g | ]}‰                      ‰|¦  «        ‘ŒS r'   r2  r3  s     €€r*   r5  z.Pow._eval_expand_power_exp.<locals>.<listcomp>w  s%   ø€ Ð <Ð <Ð <°Q §¢¨1¨a¡¤Ð <Ð <Ð <r,   )r/   r3   r
   rX   Úsympy.concrete.summationsr.  rL   r"   Úsympy.concrete.productsr/  rÎ   ÚfunctionÚlimitsrl   ÚgetrÁ   Ú_all_nonneg_or_nonpposrÖ   r+   r   r  Ú
_from_args)r)   Úhintsr8   r.  r/  ru   Úncr6   s   `      @r*   Ú_eval_expand_power_expzPow._eval_expand_power_expg  sj  øø€ àŒIˆØŒHˆØ•”Š;ˆ;Ø5Ð5Ð5Ð5Ð5Ð5Ý˜!˜SÑ!Ô!ð D aÔ&6ð DØ;Ð;Ð;Ð;Ð;Ð;Ø�w˜tŸyšy¨¨A¬JÑ7Ô7ÐC¸!¼(ÐCÐCÐCÐCØŒ8ð 	0˜Ÿš 7¨EÑ2Ô2ð 	0Ø”	˜UÐ"Ð" a×&>Ò&>Ñ&@Ô&@Ð"ØÔð ?ÝÐ=Ð=Ð=Ð=Ð=°a´fÐ=Ñ=Ô=Ð>Ð>ØÔð 0Ý˜QœVÐ%?Ð%?ÈÐMÑMÔM‘��2Øð 0ÝÐ <Ð <Ð <Ð <Ð <¸!Ð <Ñ <Ô <ð Ø�Sœ^¨BÑ/Ô/Ñ/ñ0ð 0àˆr,   c                ó  ‡ ‡‡— ‰                      dd¦  «        }‰ j        }‰ j        Š|j        s‰ S |                     d¬¦  «        \  }}|r‡ˆfd„|D ¦   «         }‰j        rG‰j        rt          |‰z  Ž }n t          d„ |ddd…         D ¦   «         ‰ z  Ž }|r|t          |Ž ‰z  z  }|S |s‰                      t          |Ž ‰d¬¦  «        S t          |Ž g}t          |d	„ d
¬¦  «        \  }}d„ }	t          ||	¦  «        }
|
d
         }||
d         z  }|
d         }|
t          j                 }|�rt          j        }t          |¦  «        dz  }|dk    rnì|dk    r|                     |¦  «         nÐ|dk    r[|r9|                     ¦   «          }|t          j        ur|                     |¦  «         n�|                     t          j        ¦  «         no|r9|                     ¦   «          }|t          j        ur|                     |¦  «         n|                     t          j        ¦  «         |                     |¦  «         ~|s‰j        r||z   |z   }|}�n7‰j        rJ ‚t          |¦  «        dk    r‡t          j        }|s%|d         j        r||                     d¦  «        z  }t          |¦  «        dz  r| }|D ]}|                     | ¦  «         Œ|t          j        ur|                     |¦  «         nŒ|ru|rs|d         j        rP|d         t          j        ur<|                     t          j        ¦  «         |                     |d          ¦  «         n+|                     |¦  «         n|                     |¦  «         ~|}||z  }t          j        }|rL‰j        r,t          |d„ d
¬¦  «        \  }}t          ˆˆ fd„|D ¦   «         Ž }|t          ˆˆ fd„|D ¦   «         Ž z  }|r"|‰                      t          |Ž ‰d¬¦  «        z  }|S )z(a*b)**n -> a**n * b**nr0  F)Úsplit_1c                óN   •— g | ]!}t          |d ¦  «        r |j        di ‰¤Žn|‘Œ"S )Ú_eval_expand_power_baser'   )ÚhasattrrI  )rå   rá   rC  s     €r*   r5  z/Pow._eval_expand_power_base.<locals>.<listcomp>Š  sV   ø€ ð ð ð àõ ˜1Ð7Ñ8Ô8ð@Ð+�!Ô+Ð4Ð4¨eÐ4Ð4Ð4Ø>?ðð ð r,   c                ó   — g | ]}|d z  ‘ŒS )r?   r'   ©rå   rá   s     r*   r5  z/Pow._eval_expand_power_base.<locals>.<listcomp>’  s   € Ð7Ð7Ð7¨˜q "™uÐ7Ð7Ð7r,   Nr?   r«   c                ó   — | j         du S ©NF)r    r7  s    r*   r8  z-Pow._eval_expand_power_base.<locals>.<lambda>�  s   € °!Ô2DÈÐ2M€ r,   Tr9  c                ó|   — | t           j        u rt           j        S | j        }|rdS |€t          | j        ¦  «        S d S rº   )r
   rn   rŸ   r   r¤   )r4  Úpolars     r*   Úpredz)Pow._eval_expand_power_base.<locals>.predŸ  sH   € Ø•A”OÐ#Ð#Ý”Ð&Ø”JˆEØð Ø�tØˆ}Ý! !Ô";Ñ<Ô<Ð<ð ˆ}r,   r;   r   r   r�   c                ó@   — | j         o| j        j        o| j        j        S r&   )r  r3   rÔ   r/   r_   r7  s    r*   r8  z-Pow._eval_expand_power_base.<locals>.<lambda>í  s%   € °A´Hð 5;Ø”EÔ%ð5;Ø*+¬&Ô*:ð r,   c                óV   •— g | ]%}‰                       |j         |j        Ž ‰¦  «        ‘Œ&S r'   )rÎ   r+   ©rå   r6   r8   r)   s     €€r*   r5  z/Pow._eval_expand_power_base.<locals>.<listcomp>ð  s1   ø€ ÐGÐGÐG¸Q˜4Ÿ9š9 V Q¤V¨Q¬V _°aÑ8Ô8ÐGÐGÐGr,   c                ó@   •— g | ]}‰                      |‰d ¬¦  «        ‘ŒS )Fr«   r2  rT  s     €€r*   r5  z/Pow._eval_expand_power_base.<locals>.<listcomp>ñ  s+   ø€ ÐGÐGÐG¸A˜Ÿ	š	 ! Q°˜	Ñ7Ô7ÐGÐGÐGr,   )r@  r/   r3   r`   Úargs_cncr^   r¬   rÖ   rÎ   r   r
   rn   Úlenr  ÚpoprS   rT   r]   ra   ÚextendrÔ   )r)   rC  r0  r6   ÚcargsrD  r�   ÚotherÚ
maybe_realrQ  ÚsiftedÚnonnegÚnegÚimagÚIrá   ÚnonnÚor–   Únpowr8   s   ``                  @r*   rI  zPow._eval_expand_power_base{  s§  øøø€ à—	’	˜' 5Ñ)Ô)ˆàŒIˆØŒHˆØŒxð 	ØˆKà—J’J u�JÑ-Ô-‰	ˆˆrð
 ð 	ðð ð ð àðñ ô ˆBð Œ|ð Ø”=ð <Ý˜b ™d˜�B�BåÐ7Ð7¨b°°°2°¬hÐ7Ñ7Ô7¸¸Ñ:Ð;�BØð )Ø�#˜u˜+ q™.Ñ(�BØ�	àð >Ø—y’y¥ b ¨1°u�yÑ=Ô=Ð=å�r�(�ˆBõ ! Ð(MÐ(MØðñ ô Ñˆˆzð	=ð 	=ð 	=õ �j $Ñ'Ô'ˆØ˜”ˆØ�˜”ÑˆØ�UŒmˆØ•a”oÔ&ˆØñ 	Ý”ˆAÝ�D‘	”	˜A‘ˆAØ�AŠvˆvØØ�a’�Ø—’˜Q‘”��Ø�a’�Øð .ØŸGšG™IœI˜:�DØ¥1¤5Ð(Ð(ØŸš dÑ+Ô+Ð+øà—J’J�qœ}Ñ-Ô-Ð-Ð-àð .ØŸGšG™IœI˜:�DØ¥1¤5Ð(Ð(ØŸš dÑ+Ô+Ð+øà—J’J�qœ}Ñ-Ô-Ð-Ø—’˜Q‘”�Øð ð "	�A”Lð "	à˜S‘L 5Ñ(ˆEØˆE‰Eð ”|Ð#Ð#Ð#õ �3‰xŒx˜!Š|ˆ|Ý”E�Øð $  Q¤Ô!1ð $Ø˜Ÿš ™œ‘O�AÝ�s‘8”8˜a‘<ð Ø˜�AØð &ð &�AØ—M’M 1 "Ñ%Ô%Ð%Ð%Ø�AœE�>�>Ø—L’L ‘O”O�OøØð "˜ð "Ø�q”6Ô#ð &¨¨A¬µa´mÐ(CÐ(CØ—L’L¥¤Ñ/Ô/Ð/Ø—M’M 3 q¤6 'Ñ*Ô*Ð*Ð*à—L’L Ñ%Ô%Ð%Ð%à—’˜SÑ!Ô!Ð!ØàˆEØ�R‰KˆEåŒUˆØð 	IØŒ}ð IÝ" 5ð +;ð +;àð!ñ !ô !‘��eõ ÐGÐGÐGÐGÐGÀ$ÐGÑGÔGÐH�Ø•#ÐGÐGÐGÐGÐGÀÐGÑGÔGÐHÑHˆBØð 	<Ø�$—)’)�C ˜K¨°U�)Ñ;Ô;Ñ;ˆBØˆ	r,   c           	     óÂ	  ‡‡— | j         \  Š}| }|j        �rž|j        dk    �r’‰j        �rŠ|j        s¤t          |j        |j        z  ¦  «        }|s|S |                      ‰||z
  ¦  «        g }}|                      ‰|¦  «        }|j        r| 	                    ¦   «         }t          j        |¦  «        D ]}|                     ||z  ¦  «         Œt          |Ž S t          |¦  «        }‰j        �rSg g }	}‰j         D ]4}
|
j        r|                     |
¦  «         Œ|	                     |
¦  «         Œ5|rit          |	Ž }t          |Ž }|dk    rt!          ||z  d¬¦  «        ||z  |z  z   S t!          ||dz
  z  d¬¦  «        }t#          ||z  d¬¦  «        ||z  |z  z   S ‰j        �rp‰                     ¦   «         \  }}
|j        �rQ|
j        �rI|j        sv|
j        sB|                      |j        |
j        z  |¦  «        }|j        |
j        z  |j        |
j        z  }
}nc|                      |j        |¦  «        }|j        |j        |
z  }
}n6|
j        s-|                      |
j        |¦  «        }||
j        z  |
j        }
}nd}t          |¦  «        t          |
¦  «        ddf\  }}
}}|r:|dz  r||z  |
|z  z
  |
|z  ||z  z   }}|dz  }||z  |
|
z  z
  d|z  |
z  }
}|dz  }|°:t(          j        }|dk    r|||z  z   S t          |¦  «        |z  ||z  |z  z   S |	}ddlm} ddlm}  |t5          |¦  «        |¦  «        } ||g|¢R Ž S |dk    rt          ˆfd„‰j         D ¦   «         Ž S ‰|dz
  z   	                    ¦   «         Š‰j        rt          ˆfd	„‰j         D ¦   «         Ž S t          ˆfd
„‰j         D ¦   «         Ž S |j        r[|j        dk     rP‰j        rIt7          |j        ¦  «        |j        k    r,d|                      ‰| ¦  «         	                    ¦   «         z  S |j        rÁ‰j        rº|                     dd¦  «        s‰j        du s|                     ¦   «         r‡g g }}|j         D ]H}|j        r*|                     |                      ‰|¦  «        ¦  «         Œ3|                     |¦  «         ŒItA          ||                      ‰t          j!        |¦  «        ¦  «        gz   Ž S |S )zA(a + b + ..)**n -> a**n + n*a**(n-1)*b + .., n is nonzero integerr   r�   F©Údeepr   )Úmultinomial_coefficients)Úbasic_from_dictc                ó.   •— g | ]}‰j         D ]}||z  ‘ŒŒS r'   r.   )rå   rë   Úgr/   s      €r*   r5  z0Pow._eval_expand_multinomial.<locals>.<listcomp>U  s,   ø€ Ð KÐ KÐ K¨ÀÄÐ KÐ K¸A  1¡Ð KÐ KÐ KÐ Kr,   c                ó.   •— g | ]}‰j         D ]}||z  ‘ŒŒS r'   r.   )rå   rë   rk  Úmultis      €r*   r5  z0Pow._eval_expand_multinomial.<locals>.<listcomp>Y  sC   ø€ ð %1ð %1ð %1¨QØ%*¤Zð%1ð %1Ø !ð &' q¡Sð %1ð %1ð %1ð %1r,   c                ó   •— g | ]}|‰z  ‘ŒS r'   r'   )rå   rë   rm  s     €r*   r5  z0Pow._eval_expand_multinomial.<locals>.<listcomp>]  s   ø€ Ð$@Ð$@Ð$@° Q u¡WÐ$@Ð$@Ð$@r,   r0  )"r+   rÔ   rÚ   rl   r^   r°   r“   rÎ   r  Ú_eval_expand_multinomialr  Ú	make_argsr  r®   r"   Úis_Orderr   r   r_   Úas_real_imagr
   rn   Úsympy.ntheory.multinomialrh  Úsympy.polys.polyutilsri  rW  re   ra   r@  rÁ   rA  rÖ   rB  )r)   rC  r3   r  r–   ÚradicalÚexpanded_base_nrÿ   Úorder_termsÚother_termsr6   rë   rc  rk  rß   Úkru   r—   ra  rÚ   rh  ri  Úexpansion_dictr×   Útailr/   rm  s                            @@r*   ro  zPow._eval_expand_multinomialö  s±  øø€ ð ”I‰	ˆˆcØˆàŒ?ñ r	˜sœu qšy™y¨T¬[™yØ”>ð (Ý˜CœE S¤U™NÑ+Ô+�àð (Ø!�Mà&*§i¢i°°c¸A±gÑ&>Ô&>À˜V�Gà&*§i¢i°°aÑ&8Ô&8�OØ&Ô-ð Gà+×DÒDÑFÔFð (å #¤¨oÑ >Ô >ð 4ð 4˜ØŸš d¨7¡lÑ3Ô3Ð3Ð3å ˜<Ð'å�C‘”ˆAàÔ"ñ MBØ+-¨r˜[�àœð .ð .�AØ”zð .Ø#×*Ò*¨1Ñ-Ô-Ð-Ð-à#×*Ò*¨1Ñ-Ô-Ð-Ð-àð 	Cå˜[Ð)�AÝ˜[Ð)�Aà˜A’v�vÝ1°!°Q±$¸UÐCÑCÔCÀaÈÁcÈ!ÁeÑKÐKå.¨q°1°q±5©zÀÐFÑFÔF˜Ý)¨!¨A©#°EÐ:Ñ:Ô:¸Q¸q¹SÀ¹UÑBÐBà”>ñ !8ð  ×,Ò,Ñ.Ô.‘D�A�qà”}ñ 8¨¬ñ 8Ø œ|ð "Ø#$¤<ð 2Ø$(§I¢I¨a¬c°A´C©i¸Ñ$;Ô$; Ø'(¤s¨1¬3¡w°´°A´C± 1  à$(§I¢I¨a¬c°1Ñ$5Ô$5 Ø'(¤s¨A¬C°©E 1  Ø!"¤ð "Ø $§	¢	¨!¬#¨qÑ 1Ô 1˜AØ#$ Q¤S¡5¨!¬#˜q˜A˜Aà !˜Aå%(¨¡V¤V­S°©V¬V°Q¸Ð%9™
˜˜1˜a àð $Ø  1™uð 'Ø'(¨¡s¨Q¨q©S¡y°!°A±#¸¸!¹±) 1 Ø ! Q¡ Ø#$ Q¡3¨¨1©¡9¨a°©c°!©e˜q˜AØ !™G˜Að  ð $õ œO˜à š6˜6Ø#$ q¨¡s¡7˜Nå#*¨1¡:¤:¨a¡<°!°A±#°a±%Ñ#7Ð7à�ð OÐNÐNÐNÐNÐNØAÐAÐAÐAÐAÐAØ!9Ð!9½#¸a¹&¼&À!Ñ!DÔ!D�ð '� ~Ð:¸Ð:Ð:Ð:Ð:à˜’6�6ÝÐ KÐ KÐ KÐ K¨d¬iÐ KÑ KÔ KÐLÐLà! A¨¡E™]×DÒDÑFÔF�EØ”|ð BÝ"ð %1ð %1ð %1ð %1°$´)ð %1ñ %1ô %1ð  2ð 2õ  #Ð$@Ð$@Ð$@Ð$@°d´iÐ$@Ñ$@Ô$@ÐAÐAØŒoð 	 #¤%¨!¢) )°´ )Ý�C”E‘
”
˜SœUÒ"Ð"Ø�t—y’y ¨ tÑ,Ô,×EÒEÑGÔGÑGÐGØŒZð 	˜DœNð 	°·	²	¸'À5Ñ0IÔ0Ið 	Ø” Ð%Ð%¨×)CÒ)CÑ)EÔ)EÐ%ð ˜b�4ˆEØœð &ð &�Ø”>ð &Ø—L’L §¢¨4°Ñ!6Ô!6Ñ7Ô7Ð7Ð7à—K’K Ñ%Ô%Ð%Ð%Ý˜ $§)¢)¨Dµ#´.ÀÑ2FÔ2FÑ"GÔ"GÐ!HÑHÐJÐJàˆMr,   c                óX  ‡‡— | j         j        �rddlm} | j         }| j                             |¬¦  «        \  }}|s| t          j        fS t          dt          ¬¦  «        \  ŠŠ|dk    rQ|j
        r8|j
        r1t          | j        |z  ¦  «        }|| k    r|                     ¦   «         S  |‰‰z   |z  ¦  «        }ns|dz  |dz  z   }||z  | |z  }}|j
        rD|j
        r=t          ||t          j        z  z   | z  ¦  «        }|| k    r|                     ¦   «         S  |‰‰z   | z  ¦  «        }d„ |                     ¦   «         D ¦   «         }	t          ˆˆfd„|	D ¦   «         Ž }
d	„ |                     ¦   «         D ¦   «         }	t          ˆˆfd
„|	D ¦   «         Ž }d„ |                     ¦   «         D ¦   «         }	t          ˆˆfd„|	D ¦   «         Ž }|
                     ‰|‰t          j        |z  i¦  «        |                     ‰|‰|i¦  «        |                     ‰|‰| i¦  «        z   fS ddlm}m}m} | j         j        �r| j                             |¬¦  «        \  }}|j        rK| j         t          j        u r8|j        r| t          j        fS |j        rt          j        | j         | j         z  fS |                      |                      |d¦  «        |                      |d¦  «        z   t          j        ¦  «        }	 |||¦  «        }|                      |	| j         ¦  «        || j         z  }}| ||¦  «        z  | ||¦  «        z  fS | j        t          j        u rrddlm } | j                              ¦   «         \  }}|r |j        |fi |¤Ž} |j        |fi |¤Ž} ||¦  «         ||¦  «        }} ||¦  «        |z   ||¦  «        |z  fS ddlm}m} |rDd|d<    | j        |fi |¤Ž}|                      d¦  «        |k    rd S  ||¦  «         ||¦  «        fS  || ¦  «         || ¦  «        fS )Nr   )Úpolyrf  za br‚   r�   c                ó4   — g | ]}|d          d         dz  °|‘ŒS )r   r   r�   r'   rL  s     r*   r5  z$Pow.as_real_imag.<locals>.<listcomp>Ž  s)   € Ð<Ð<Ð<�q°°!´°Q´¸!±Ð<�Ð<Ð<Ð<r,   c                ó8   •— g | ]\  \  }}}|‰|z  z  ‰|z  z  ‘ŒS r'   r'   ©rå   ÚaaÚbbÚccrß   r6   s       €€r*   r5  z$Pow.as_real_imag.<locals>.<listcomp>�  s1   ø€ ÐAÐAÐA©|©x°°B¸˜B˜q "™u™H Q¨¡U™NÐAÐAÐAr,   c                ó<   — g | ]}|d          d         dz  dk    ¯|‘ŒS )r   r   r;   r'   rL  s     r*   r5  z$Pow.as_real_imag.<locals>.<listcomp>‘  ó.   € Ð=Ð=Ð=�q¨A¨a¬D°¬G°a©K¸1Ò,<Ð,<�Ð,<Ð,<Ð,<r,   c                ó8   •— g | ]\  \  }}}|‰|z  z  ‰|z  z  ‘ŒS r'   r'   r€  s       €€r*   r5  z$Pow.as_real_imag.<locals>.<listcomp>’  ó1   ø€ ÐBÐBÐB±±°°R¸"˜R  2¡™X a¨¡e™^ÐBÐBÐBr,   c                ó<   — g | ]}|d          d         dz  dk    ¯|‘ŒS )r   r   r;   r€   r'   rL  s     r*   r5  z$Pow.as_real_imag.<locals>.<listcomp>“  r…  r,   c                ó8   •— g | ]\  \  }}}|‰|z  z  ‰|z  z  ‘ŒS r'   r'   r€  s       €€r*   r5  z$Pow.as_real_imag.<locals>.<listcomp>”  r‡  r,   )Úatan2ÚcosÚsin©r3   )rI   r�   FÚcomplexÚignore)!r3   r^   Úsympy.polys.polytoolsr}  r/   rr  r
   rU   ÚsymbolsÚDummyra   r   rn   Útermsr  r  Ú(sympy.functions.elementary.trigonometricrŠ  r‹  rŒ  rÔ   rÁ   r¥   r¤   rÂ   rÎ   rX   rg   Úexpandrm   rI   r�   r@  )r)   rg  rC  r}  r3   Úre_erÞ   ÚexprÚmagÚrÚre_partÚim_part1Úim_part3rŠ  r‹  rŒ  ÚtÚrpÚtpru   ry   rI   r�   r%  rß   r6   s                           @@r*   rr  zPow.as_real_imagp  sé  øø€ ØŒ8Ôñ &	TØ2Ð2Ð2Ð2Ð2Ð2à”(ˆCØœ×/Ò/°TÐ/Ñ:Ô:‰JˆD�$Øð $Ø�QœV�|Ð#Ý˜5¥eÐ,Ñ,Ô,‰DˆAˆqØ�aŠxˆxØ”>ð 3 d¤nð 3å-¨d¬i¸©nÑ=Ô=�DØ˜t’|�|Ø#×0Ò0Ñ2Ô2Ð2à�tØ˜‘U˜S‘Lñ"ô "��ð ˜A‘g  a¡Ñ'�Ø! #™X¨ u¨S¡y�d�Ø”>ð 3 d¤nð 3å-¨t°d½1¼?Ñ6JÑ/JÈcÈTÑ.QÑRÔR�DØ˜t’|�|Ø#×0Ò0Ñ2Ô2Ð2à�t˜Q ™U c T™MÑ*Ô*�ð =Ð<˜DŸJšJ™LœLÐ<Ñ<Ô<ˆAÝÐAÐAÐAÐAÐA¸qÐAÑAÔAÐBˆGà=Ð=˜DŸJšJ™LœLÐ=Ñ=Ô=ˆAÝÐBÐBÐBÐBÐBÀÐBÑBÔBÐCˆHØ=Ð=˜DŸJšJ™LœLÐ=Ñ=Ô=ˆAÝÐBÐBÐBÐBÐBÀÐBÑBÔBÐCˆHà—L’L ! T¨1­a¬o¸dÑ.BÐ!CÑDÔDØ�MŠM˜1˜d A tÐ,Ñ-Ô-°·²¸qÀ$ÈÈDÈ5Ð>QÑ0RÔ0RÑRðTð Tð 	MÐLÐLÐLÐLÐLÐLÐLÐLÐLàŒ8Ôñ &	*Øœ×/Ò/°TÐ/Ñ:Ô:‰JˆD�$àŒ|ð : ¤­A¬FÐ 2Ð 2ØÔ/ð (Ø¥¤˜<Ð'ØÔ/ð :Ýœ6 T¤Y J°´Ñ#9Ð9Ð9ð
 —	’	˜$Ÿ)š) D¨!Ñ,Ô,¨t¯yªy¸¸qÑ/AÔ/AÑAÅ1Ä6ÑJÔJˆAà��d˜DÑ!Ô!ˆAà—Y’Y˜q $¤(Ñ+Ô+¨Q¨t¬x©Z�ˆBà�c�c˜"‘g”g‘:˜r # # b¡'¤'™zÐ)Ð)ØŒY�!œ&Ð Ð ØBÐBÐBÐBÐBÐBØœ×.Ò.Ñ0Ô0‰JˆD�$Øð 2Ø"�t”{ 4Ð1Ð1¨5Ð1Ð1�Ø"�t”{ 4Ð1Ð1¨5Ð1Ð1�Ø�3�t‘9”9˜c˜c $™iœiˆqˆAØ�3�t‘9”9˜Q‘;   D¡	¤	¨!¡Ð+Ð+àCÐCÐCÐCÐCÐCÐCÐCØð 	*Ø#(��iÑ à&˜4œ; tÐ5Ð5¨uÐ5Ð5�Ø—9’9˜XÑ&Ô&¨(Ò2Ð2Ø˜4à˜B˜x™LœL¨"¨"¨X©,¬,Ð7Ð7à�r˜$‘x”x   D¡¤Ð)Ð)r,   c                óÈ   — ddl m} | j                             |¦  «        }| j                             |¦  «        }| | || j        ¦  «        z  || j        z  | j        z  z   z  S r|   )rg   rF   r/   Údiffr3   )r)   ry   rF   ÚdbaseÚdexps        r*   Ú_eval_derivativezPow._eval_derivativeÃ  sg   € Ø>Ð>Ð>Ð>Ð>Ð>Ø”	—’˜qÑ!Ô!ˆØŒx�}Š}˜QÑÔˆØ�t˜c˜c $¤)™nœnÑ,¨u°t´xÑ/?ÀÄ	Ñ/IÑIÑJÐJr,   c                ó6  — |                       ¦   «         \  }}|t          j        k    r+ddlm}  || j        d¬¦  «                             |¦  «        S |                     |¦  «        }|j        s|                     |¦  «        }|j        rz|j	        rs|j
        du rj|                     ¦   «         ||                     ¦   «         z                       |¦  «        z  }| }|                      ||¦  «                             ¦   «         S |                      ||¦  «        S )Nr   r�  Fr«   )rˆ   r
   rX   rg   r3   Ú_eval_evalfÚ_evalfr^   r¢   r_   r    r(  rÎ   r•  )r)   Úprecr/   r3   Úexp_functions        r*   r¦  zPow._eval_evalfÉ  s  € Ø×$Ò$Ñ&Ô&‰	ˆˆcØ•1”6Š>ˆ>àRÐRÐRÐRÐRÐRØ�< ¤°5Ð9Ñ9Ô9×EÒEÀdÑKÔKÐKØ�{Š{˜4Ñ Ô ˆØŒ~ð 	#Ø—*’*˜TÑ"Ô"ˆCØŒ?ð 	1˜tœ~ð 	1°$Ô2GÈ5Ð2PÐ2PØ—>’>Ñ#Ô# t¨d¯nªnÑ.>Ô.>Ñ'>×&FÒ&FÀtÑ&LÔ&LÑLˆDØ�$ˆCØ—9’9˜T 3Ñ'Ô'×.Ò.Ñ0Ô0Ð0Ø�yŠy˜˜sÑ#Ô#Ð#r,   c                óÂ   —  | j         j        |Ž rdS  | j        j        |Ž r>t          | j                             |¦  «        o| j         j        o
| j         dk    ¦  «        S dS )NFr   T)r3   Úhasr/   ÚboolÚ_eval_is_polynomialr^   ©r)   Úsymss     r*   r­  zPow._eval_is_polynomialØ  ss   € Øˆ4Œ8Œ<˜Ðð 	Ø�5àˆ4Œ9Œ=˜$Ðð 	Ý˜œ	×5Ò5°dÑ;Ô;ð 8Ø”Ô#ð8Ø)-¬°Qªñ9ô 9ð 9ð �4r,   c                ó  — | j         j        r@| j        j        r4t	          t          | j         j        | j        j        g¦  «        ¦  «        rdS  | j        |  	                    ¦   «         Ž }|j
        s|j        S | 	                    ¦   «         \  }}|j        r	|j        rdS |j        r;|j        r&t	          |j        ¦  «        s|j        rdS ||k    rdS n|j        r|j        S |t          j        u r|j        r|j        rdS d S d S d S )NTF)r3   r]   r/   rÍ   r   r   r¢   rÁ   rÎ   rˆ   r  rÔ   rÊ   Úis_irrationalr
   rX   rØ   )r)   rÚ   r6   r8   s       r*   Ú_eval_is_rationalzPow._eval_is_rationalâ  s8  € ð ŒHÔð 	 D¤IÔ$9ð 	Ý�i¨¬Ô)=¸t¼yÔ?PÐ(QÑRÔRÑSÔSð	à�4ØˆDŒI�t×'Ò'Ñ)Ô)Ð*ˆØŒxð 	!Ø”=Ð Ø�}Š}‰Œ‰ˆˆ1ØŒ=ð 	˜Qœ]ð 	ð �5ØŒ<ð 	!ØŒ}ð !Ý˜QœYÑ'Ô'ð  ¨1Ô+;ð  Ø˜4Ø˜’6�6Ø˜4ð à”ð !Ø”yÐ Ø•”ˆ;ˆ;ØŒ}ð  ¤ð Ø�uð ˆ;ðð ð ð r,   c                óT  — d„ }| j         j        s || j         ¦  «        rdS | j         t          j        u r‡ | j        | j        Ž }|j        | j        k    ra| j        j        rQ| j        j        rdS | j        t          j	        z  j
        rdS | j        t          j        t          j	        z  z  j
        rdS d S d S |j        S | j        j
        rh| j         j        du r| j        j        S | j         j        du r&| j        j        r| j         j        S | j         j        rdS | j        j        r| j         j        S d S | j         j        rh| j        j        r^t          | j         j        ¦  «        rt           || j         ¦  «        ¦  «        s| j         j        du s| j         j        r| j        j
        S d S d S d S )Nc                ó:   — 	 | dz
  j         S # t          $ r Y dS w xY w)Nr   F)rÁ   r   )r—  s    r*   Ú_is_onez'Pow._eval_is_algebraic.<locals>._is_oneþ  s6   € ðØ˜q™Ô)Ð)øÝð ð ð à�u�uðøøøs   ‚	 Œ
™TF)r/   rÁ   r
   rX   rÎ   r+   r3   rØ   Úis_algebraicro   rÍ   rn   r¬   r   r]   r±  )r)   rµ  ry   s      r*   Ú_eval_is_algebraiczPow._eval_is_algebraicý  sí  € ð	ð 	ð 	ð Œ9Ôð 	,  ¨¬	Ñ 2Ô 2ð 	,Ø�4ØŒY�!œ&Ð Ð Ø�”	˜4œ9Ð%ˆAØŒv˜œÒ"Ð"Ø”8Ô&ð $Ø”xÔ,ð $Ø$˜uØœ(¥1¤4™-Ô4ð $Ø$˜uØœ(¥A¤OµA´DÑ$8Ñ9ÔFð $Ø#˜tð$ð $ð
$ð $ð ”~Ð%ØŒXÔ!ð 	,ØŒyÔ%¨Ð.Ð.Ø”xÔ'Ð'ØŒyÔ  EÐ)Ð)Ø”8Ô&ð  Øœ9Ô1Ð1Ø”YÔ+ð  Ø˜4ØŒxÔ#ð .Ø”yÔ-Ð-ð.ð .àŒYÔ#ð 	,¨¬Ô(=ð 	,Ý˜4œ9Ô,Ñ-Ô-ð ,Ý˜g˜g d¤iÑ0Ô0Ñ1Ô1ð,à”9Ô'¨5Ð0Ð0Ø”9Ô*ð 1à”xÔ+Ð+ð	,ð 	,ð 	,ð 	,ð 1Ð0r,   c                ó’   —  | j         j        |Ž rdS  | j        j        |Ž r&| j                             |¦  «        o| j         j        S dS rÅ   )r3   r«  r/   Ú_eval_is_rational_functionr^   r®  s     r*   r¹  zPow._eval_is_rational_function$  sY   € Øˆ4Œ8Œ<˜Ðð 	Ø�5àˆ4Œ9Œ=˜$Ðð 	Ø”9×7Ò7¸Ñ=Ô=ð $Ø”Ô#ð$ð �4r,   c                óš  — | j                              ||¦  «        }| j        j        }|r|S | j                             ||¦  «        }|du r|rdnd S |€d S | j                              ||¦  «        }|j        }|rd}n#t          |j        t          |¦  «        f¦  «        }|du r|S |€d S |s|S | j                             ||¦  «        j        S rN  )	r/   Ú_eval_is_meromorphicr3   r^   r  rÁ   r   rV   r   )	r)   r4  rß   Ú
base_meromÚexp_integerÚ	exp_meromr6   Úb_zeroÚlog_defineds	            r*   r»  zPow._eval_is_meromorphic.  sþ   € ð ”Y×3Ò3°A°qÑ9Ô9ˆ
Ø”hÔ)ˆØð 	ØÐà”H×1Ò1°!°QÑ7Ô7ˆ	Ø˜ÐÐð &Ð/�5�5¨4Ð/ØÐØ�4àŒI�NŠN˜1˜aÑ Ô ˆð ”ˆØð 	FØˆKˆKå# Q¤[µ)¸FÑ2CÔ2CÐ$DÑEÔEˆKà˜%ÐÐØÐØÐ Ø�4àð 	ØÐàŒx�}Š}˜Q Ñ"Ô"Ô,Ð,r,   c                ó’   —  | j         j        |Ž rdS  | j        j        |Ž r&| j                             |¦  «        o| j         j        S dS rÅ   )r3   r«  r/   Ú_eval_is_algebraic_exprrÔ   r®  s     r*   rÂ  zPow._eval_is_algebraic_exprS  sY   € Øˆ4Œ8Œ<˜Ðð 	Ø�5àˆ4Œ9Œ=˜$Ðð 	Ø”9×4Ò4°TÑ:Ô:ð %Ø”Ô$ð%ð �4r,   c                ó  — ddl m}m} |j        s*|                     |¦  «        s|                     |¦  «        r||z  S |                     t
          ¦  «        }|                     t
          ¦  «        rMt          j        r(t          t          j
         ||¦  «        |z  |¬¦  «        S  | ||¦  «        |z  |¬¦  «        S ddlm}m}  | | ||¦  «        ¦  «        t          j         ||¦  «        z  z   |z  ¦  «        S )Nr   r�   r«   )rt   ÚAbs)rg   r3   rF   rÁ   r«  r  r   Ú
exp_is_powr    r
   rX   rm   rt   rÄ  rn   )	r)   r/   r   Úkwargsr3   rF   rJ   rt   rÄ  s	            r*   Ú_eval_rewrite_as_expzPow._eval_rewrite_as_exp]  s  € ØCÐCÐCÐCÐCÐCÐCÐCàŒ<ð 	˜4Ÿ8š8 C™=œ=ð 	¨D¯HªH°S©M¬Mð 	Ø˜‘:Ðà—8’8�FÑ#Ô#ˆà�8Š8•FÑÔð 
	Jõ !Ô+ð >Ý�1œ6 3 3 t¡9¤9¨T¡>¸HÐEÑEÔEÐEà�s˜3˜3˜t™9œ9 T™>°HÐ=Ñ=Ô=Ð=ð FÐEÐEÐEÐEÐEÐEÐEØ�3˜˜˜C˜C ™IœI™œ­¬¸¸¸T¹¼Ñ)BÑBÀDÑHÑIÔIÐIr,   c                ó¦  — | j         s| t          j        fS |                      ¦   «         \  }}|                     ¦   «         \  }}|j        }|j        r|s|j        s|                     ¦   «         }|j	        }|j
        s|s|}t          j        }|j        }|r| | }}n|€|s|}t          j        }|r||}}| }|j        rh|t          j        u r&|t          j        ur||                      ||¦  «        fS |t          j        ur&|t          j        u r|                      ||¦  «        |fS |                      ||¦  «        |                      ||¦  «        fS r&   )r"   r
   rS   rˆ   r•   r¢   r`   r¬   rb   r]   r    Úis_nonpositiverf   rÎ   )r)   r/   r3   r–   r—   Úneg_expÚint_expÚdnonposs           r*   r•   zPow.as_numer_denomq  sw  € ØÔ"ð 	Ø�œ�;ÐØ×$Ò$Ñ&Ô&‰	ˆˆcØ×"Ò"Ñ$Ô$‰ˆˆ1ð ”/ˆØŒ:ð 	5˜gð 	5¨c¬oð 	5Ø×2Ò2Ñ4Ô4ˆGØ”.ˆð Ô"ð 	 gð 	ØˆAÝ”ˆAØÔ"ˆØð 	Ø�2˜�rˆqˆAˆAØˆ_ Wˆ_ØˆAÝ”ˆAØð 	Ø�aˆqˆAØ�$ˆCØŒ?ð 	,Ø•A”Eˆzˆz˜a¥q¤u˜n˜nØ˜$Ÿ)š) A sÑ+Ô+Ð+Ð+Ø�œˆ~ˆ~ !¥q¤u * *Ø—y’y  CÑ(Ô(¨!Ð+Ð+Ø�yŠy˜˜CÑ Ô  $§)¢)¨A¨sÑ"3Ô"3Ð3Ð3r,   Fc                ó´  — t          |¦  «        }|€i }|t          j        u r)| j                             t          j        |¦  «        }|�|S t          |t          ¦  «        sd S |                     ¦   «         \  }}|                      ¦   «         \  }}|j	        rH|j
        rA|r?|j        r|                     |||z  z  |¦  «        S |                     |d|z  z  |¦  «        S |                     ¦   «         }| j                             ||¦  «        }|€d S | j                             |¦  «                             ||¦  «        }|€t          j        | ||¦  «        S |S r2   )r   r
   rS   r3   ÚmatchesrU   rL   r   rˆ   r\   r^   rÍ   Úcopyr/   Úxreplace)	r)   r—  Ú	repl_dictr  r—   r6   r8   ÚsbÚses	            r*   rÎ  zPow.matches”  s\  € Ý˜‰~Œ~ˆØÐØˆIð •1”5ˆ=ˆ=Ø”× Ò ¥¤¨Ñ3Ô3ˆAØˆ}Ø�õ ˜$¥Ñ%Ô%ð 	Ø�4à×ÒÑ!Ô!‰ˆˆ1ð ×!Ò!Ñ#Ô#‰ˆˆBØŒ<ð 	7˜BœMð 	7¨dð 	7ØŒ}ð 8Ø—z’z ! a¨¡d¡)¨YÑ7Ô7Ð7Ø—:’:˜d Q r¡T™l¨IÑ6Ô6Ð6à�NŠNÑÔˆØŒI×Ò˜a Ñ#Ô#ˆØˆ9Ø�4àŒH×Ò˜aÑ Ô ×(Ò(¨¨AÑ.Ô.ˆØˆ9Ý”<  d¨IÑ6Ô6Ð6Øˆr,   r   c                ó8  ‡2— ddl m}m} ddlm} ddlm} ddlm}	 | j	        t          j        u rå| j                             |||¬¦  «        }
|
j        rd|
z   S  ||
                     ¦   «         |d¦  «        }|t          j        u r |||z  |¦  «        S |t          j        u r| S |
|z
  } ||¦  «        x}}t#          d|¦  «        D ]'}|||z  z  }|                     |||¬¦  «        }||z  }Œ(| |||z  |¦  «        z  }ddlm}  ||d	d
¬¦  «        S ddlm} ddlm}  || d	¬¦  «                             ¦   «         } |                      ¦   «         \  }} |j        |Ž rt5          ¦   «         ‚|                     |¦  «        r. || ||¦  «        z  ¦  «                             ||||¬¦  «        S |�j|                     |¦  «        rUddlm} t=          d||g¬¦  «        \  }}|                      ||||z  z  ¦  «         ||¦  «        ||z  z   ¦  «        }||z  } |                     ¦   «         }	 ddl m!} |                     |t          j"        ¦  «        r|�tG          ¦   «         ‚| $                    |¦  «        \  }}n¦# tF          tJ          t4          f$ rŒ |                     |tM          d|¦  «        ||¬¦  «                             ¦   «         }|                     t          j'        t          j(        ¦  «        rtK          ¦   «         ‚| $                    |¦  «        \  }}Y nw xY w|                     |¦  «        r#ddl)m*}  ||¦  «         +                    ¦   «         }|j,        sw|j-        r|j.        si| |  /                    |||¬¦  «        k    rM || ||¦  «        z  ¦  «                             ||||¬¦  «        }| || ||¦  «        z  ¦  «        k    r| S |S | 0                    ||¬¦  «        }tc          |¦  «        |z
   +                    ¦   «         }||z  }|j-        stK          ¦   «         ‚|||z  z
  Š2‰2                     td          ¦  «        r |	|¦  «        Š2‰2j3        r ||||z  z  |¦  «        S |j,        r||z  }|| k    r| |||z  |¦  «        z  }|S d„ } ˆ2fd„}!	 | $                    ||¬¦  «        \  }}"nM# tF          tJ          f$ r9  |||‰2z  z  |d¦  «        dk    r||z  |||z  z  |z  z   cY S tK          ¦   «         ‚w xY w|j4        rB|"t          j5        k    r2|                     d„ d„ ¦  «        }| $                    ||¬¦  «        \  }}"|"j6        sŠ| 7                    ¦   «         }|j,        r||z  S | $                    ||¬¦  «        \  }}"|"j6        sI||z
  |z   8                    ¦   «         }| $                    ||¬¦  «        \  }}"|"j6        stK          ¦   «         ‚ddl9m:}# |                     | |#‰2¦  «        ||¬¦  «                             ¦   «         }$i }%tw          j<        |$¦  «        D ]7} | ||¦  «        \  }&}'|% =                    |'t          j5        ¦  «        |&z   |%|'<   Œ8t          j>        }(t          j5        t          j>        i})|%}*ddl?m@}+mA}, |(|"z  ‰2z
  j3        rt |,||(¦  «         |+|(¦  «        z  }-|*D ]1}|) =                    |t          j5        ¦  «        |-|*|         z  z   |)|<   Œ2 |!|*|%¦  «        }*|(t          j>        z  }(|(|"z  ‰2z
  j3        °tddlBmC}. |jD        s±|j,        rª|j3        r£||z
   E                    ||¦  «        }/ |.|/¦  «        j3        r | ||z  dd |z  z  z  |¦  «        \  }0}1np |.|/¦  «        j,        r; |  || ||¦  «        z  ¦  «         0                    |||¬¦  «        |¦  «        \  }0}1n% | ||z  |¦  «        \  }0}1n | ||z  |¦  «        \  }0}1t          j5        }|)D ]}'|'|1z   }||)|'         |0z  ||z  z  z  }Œ|jD        r'|j6        r ||"z  |z
  jF        r|tc          | ¦  «        k    sR	 | |||z  |¦  «        z  }n># tJ          $ r1  || ||¦  «        z  ¦  «                             ||||¬¦  «        cY S w xY w|S )!Nr   r�   )Úlimit)ÚOrder©Úsympify)r–   Úlogxr   )ÚpowsimpTr3   )rg  Úcombine)Ú	powdenest)Ú_illegal)r0  )r–   rÙ  Úcdir)ÚWildzc, ex)rs   Úexclude)Ú	polygammar�   )Ú
logcombine©rÙ  rÞ  ©rÙ  c                óH  — t           j        t           j        }}t          j        | ¦  «        D ]r}|                     |¦  «        rV|                     ¦   «         \  }}||k    r8	 |                      |¦  «        c S # t          $ r | t           j        fcY c S w xY wŒm||z  }Œs||fS r&   )	r
   rS   rU   rÖ   rp  r«  rˆ   Úleadtermr   )rÿ   r4  r×   r3   Úfactorr/   s         r*   Ú	coeff_expz$Pow._eval_nseries.<locals>.coeff_exp  sÄ   € Ýœ¥¤�3ˆEÝœ-¨Ñ-Ô-ð 	$ð 	$�Ø—:’:˜a‘=”=ð $Ø &× 2Ò 2Ñ 4Ô 4‘I�D˜#Ø˜q’y�yð0Ø#'§=¢=°Ñ#3Ô#3Ð3Ð3Ð3øÝ)ð 0ð 0ð 0Ø#'­¬ <Ð/Ð/Ð/Ð/Ð/ð0øøøð !ð ˜V‘O�E�EØ˜#�:Ðs   Á"A9Á9BÂBc                ó¸   •— i }t          | |¦  «        D ]E\  }}||z   }|‰k     r5|                     |t          j        ¦  «        | |         ||         z  z   ||<   ŒF|S r&   )r   r@  r
   rU   )Úd1Úd2ÚresÚe1Úe2rv   Úmaxpows         €r*   ÚmulzPow._eval_nseries.<locals>.mul"  sg   ø€ ØˆCÝ! " b™/œ/ð Bð B‘��BØ˜"‘W�Ø˜’;�;Ø!Ÿgšg b­!¬&Ñ1Ô1°B°r´F¸2¸b¼6±MÑA�C˜‘GøØˆJr,   c                ó   — | j         S r&   )Úis_Floatr7  s    r*   r8  z#Pow._eval_nseries.<locals>.<lambda>6  s   €  A¤J€ r,   c                ó    — t          | ¦  «        S r&   )rÙ   r7  s    r*   r8  z#Pow._eval_nseries.<locals>.<lambda>6  s   € ½(À1¹+¼+€ r,   )Úceiling)Ú	factorialÚff©rI   r?   éþÿÿÿ)Grg   r3   rF   Úsympy.series.limitsrÕ  Úsympy.series.orderrÖ  Úsympy.core.sympifyrØ  r/   r
   rX   Únseriesrq  ÚremoveOrÉ   rR   ÚrangeÚsympy.simplify.powsimprÚ  rÜ  ÚnumbersrÝ  Útrigsimprˆ   r«  r   Ú_eval_nseriesÚsymbolrß  r‘  ÚreplaceÚ'sympy.functions.special.gamma_functionsrá  Ú
EulerGammar   ræ  ÚNotImplementedErrorr[   rQ   rP   Úsympy.simplify.simplifyrâ  ÚcancelrÁ   r_   r¿   Ú_eval_as_leading_termÚas_leading_termr   r  r¢   rò  rU   r¬   Úsimplifyr•  r¡   rô  r  rp  r@  rS   Ú(sympy.functions.combinatorial.factorialsrõ  rö  rm   rI   r]   ÚdirrÉ  )3r)   r4  r–   rÙ  rÞ  r3   rF   rÕ  rÖ  rØ  Úe_seriesÚe0r�  Ú
exp_seriesrÿ   rá   rÚ  rÜ  rÝ  r6   r8   rß  ru   rv   rá  Ú_r³   râ  rì  rë   rk  r™  rè  rð  r—   rô  ÚgpolyÚgtermsÚco1rí  ry  r“  Útkrõ  rö  r×   rI   ÚndirÚincoÚinexrï  s3                                                     @r*   r  zPow._eval_nseries¶  sL
  ø€ ð 	DÐCÐCÐCÐCÐCÐCÐCØ-Ð-Ð-Ð-Ð-Ð-Ø,Ð,Ð,Ð,Ð,Ð,Ø.Ð.Ð.Ð.Ð.Ð.ØŒ9�œÐÐØ”x×'Ò'¨¨Q°TÐ'Ñ:Ô:ˆHØÔ ð $Ø˜8‘|Ð#Ø��x×'Ò'Ñ)Ô)¨1¨aÑ0Ô0ˆBØ•QÔ'Ð'Ð'Ø�u˜Q ™T 1‘~”~Ð%Ø•Q”ZÐÐØ�Ø˜2‘ˆAØ #  B¡¤Ð'ˆJ˜å˜1˜a‘[”[ð #ð #�Ø˜˜!™‘�Ø—|’| A¨°�|Ñ6Ô6�Ø˜dÑ"�
�
Ø˜%˜%  1¡ a™.œ.Ñ(ˆJØ6Ð6Ð6Ð6Ð6Ð6Ø�7˜:¨D¸%Ð@Ñ@Ô@Ð@Ø4Ð4Ð4Ð4Ð4Ð4Ø%Ð%Ð%Ð%Ð%Ð%Øˆy˜ TÐ*Ñ*Ô*×3Ò3Ñ5Ô5ˆØ×ÒÑ!Ô!‰ˆˆ1àˆ1Œ5�(Ðð 	Ý‘+”+Ðà�5Š5�‰8Œ8ð 	MØ�3�q˜˜˜Q™œ‘x‘=”=×.Ò.¨q°A¸DÀtÐ.ÑLÔLÐLàÐ §¢ c¡
¤
ÐØ$Ð$Ð$Ð$Ð$Ð$Ý˜G¨¸°sÐ;Ñ;Ô;‰EˆAˆrØ—	’	˜#˜#˜a  2¡™g™,œ,¨¨¨A©¬°°D±Ñ(8Ñ9Ô9ˆAØ�a‘4ˆDà�IŠI‰KŒKˆð		!ØIÐIÐIÐIÐIÐIØ�uŠu�Y¥¤Ñ-Ô-ð #°$Ð2BÝ ‘l”lÐ"Ø—:’:˜a‘=”=‰DˆAˆqˆqøÝÕ/µÐ;ð 	!ð 	!ð 	!Ø—’ ¥S¨¨A¡Y¤Y°TÀ�ÑEÔE×MÒMÑOÔOˆAØ�uŠu•Q”U�AÔ-Ñ.Ô.ð ,Ý)Ñ+Ô+Ð+Ø—:’:˜a‘=”=‰DˆAˆqˆqˆqð		!øøøð �5Š5�‰:Œ:ð 	'Ø:Ð:Ð:Ð:Ð:Ð:Ø�
˜1‘”×$Ò$Ñ&Ô&ˆAà”	ð 	˜Qœ[ð 	¨Q¬Yð 	Ø�t×1Ò1°!¸$ÀTÐ1ÑJÔJÒJÐJØ�c˜!˜C˜C ™FœF™(‘m”m×1Ò1°!°q¸tÈ$Ð1ÑOÔO�Ø˜#˜#˜a   A¡¤™h™-œ-Ò'Ð'Ø�KØ�
à×Ò˜a dÐÑ+Ô+ˆÝ�a‰[Œ[˜1‰_×$Ò$Ñ&Ô&ˆØˆa‰CˆØŒ{ð 	(Ý%Ñ'Ô'Ð'Ø�Q�q‘S‘ˆØ�:Š:•fÑÔð 	 Ø�W˜Q‘Z”ZˆFàÔð 	&Ø�5˜˜Q˜q™S™ 1Ñ%Ô%Ð%àŒ9ð 	Ø�1‘ˆAØ�DŠyˆyØ�U�U˜1˜a™4 ‘^”^Ñ#�ØˆHð	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð	,Ø—:’:˜a d�:Ñ+Ô+‰DˆAˆqˆqøÝÕ/Ð0ð 	,ð 	,ð 	,Øˆu�Q�q˜&‘y‘[ ! QÑ'Ô'¨1Ò,Ð,à˜!‘t˜a  1¡™f Q™h‘Ð&Ð&Ð&å)Ñ+Ô+Ð+ð	,øøøð Œ:ð 	,˜!�qœvš+˜+ð —	’	Ð.Ð.Ð0EÐ0EÑFÔFˆAØ—:’:˜a d�:Ñ+Ô+‰DˆAˆqØŒ}ð 		0Ø—
’
‘”ˆAØŒyð Ø˜!‘t�Ø—:’:˜a d�:Ñ+Ô+‰DˆAˆqØ”=ð 0Ø˜!‘e˜Q‘Y×&Ò&Ñ(Ô(�Ø—z’z !¨$�zÑ/Ô/‘��1Ø”}ð 0Ý-Ñ/Ô/Ð/à?Ð?Ð?Ð?Ð?Ð?Ø—’  W W¨V¡_¤_¸4Àd�ÑKÔK×SÒSÑUÔUˆØˆå”M %Ñ(Ô(ð 	6ð 	6ˆDØ�i  aÑ(Ô(‰GˆC�ØŸš B­¬Ñ/Ô/°#Ñ5ˆF�2‰JˆJåŒEˆÝ”�œ�ˆØˆàJÐJÐJÐJÐJÐJÐJÐJà�‰s�V‰|Ô(ð 	Ø�B�q˜!‘H”H˜Y˜Y q™\œ\Ñ)ˆEØð Að A�Ø!ŸIšI b­!¬&Ñ1Ô1°E¸"¸R¼&±LÑ@��b‘	�	Ø��R˜‘”ˆBØ•”‰JˆAð �‰s�V‰|Ô(ð 	ð 	<Ð;Ð;Ð;Ð;Ð;àŒ|ð 		, ¤	ð 		,¨a¬mð 		,Ø˜‘E—;’;˜q $Ñ'Ô'ˆDØˆr�$‰xŒxÔ#ð 0Ø&˜Y q¨!¡t¨R°2°a±4©LÑ'8¸!Ñ<Ô<‘
��d�dØ��D‘”Ô!ð 0Ø&˜Y s s¨1¨S¨S°©V¬V©8¡}¤}×'DÒ'DÀQÈTÐX\Ð'DÑ']Ô']Ð_`ÑaÔa‘
��d�dà&˜Y q¨!¡t¨QÑ/Ô/‘
��d�dà"˜ 1 a¡4¨Ñ+Ô+‰JˆD�$ÝŒfˆàð 	*ð 	*ˆBØ�d‘ˆBØ�5˜”9˜T‘> ! b¡'Ñ)Ñ)ˆCˆCà”ð 	Q ¤ð 	Q°A°a±C¸!±GÔ3Kð 	QØ•x ‘~”~Ò%Ð%ðQØ�u�u˜Q ™T 1‘~”~Ñ%��øÝ&ð Qð Qð QØ�s˜1˜S˜S ™VœV™8‘}”}×2Ò2°1¸ÀÈ4Ð2ÑPÔPÐPÐPÐPðQøøøàˆ
s8   È2AJ ÊB L$Ì#L$Ò'S Ó9TÓ=Tá	a á8bâbc                óÈ  — ddl m}m} | j        }| j        }| j        t          j        u r{|                     ||¬¦  «        }|                     |d¦  «        }	|	t          j        u r| 	                    |d¦  «        }	|	j
        du rt          j        |	z  S t          d| z  ¦  «        ‚|                     |¦  «        r/ || ||¦  «        z  ¦  «        }
|
                     |||¬¦  «        S ddlm} 	 |                     |||¬¦  «        }n# t          $ r | cY S w xY w|j        s¬|j        r¥|                     |¦  «        s�||z
                       ||¦  «        } ||¦  «        j        r|                      ||¦  «        dd	|z  z  z  S  ||¦  «        j        r8 ||¦  «                             |||¬¦  «        }|j
        du r |||z  ¦  «        S |                      ||¦  «        S )
Nr   r�   rä  FzCannot expand %s around 0rã  r÷  r?   rø  )rg   r3   rF   r/   r
   rX   r  r  rQ   rÕ  rf   r   r«  rm   rI   r]   r¢   r  rÎ   rÁ   r
  )r)   r4  rÙ  rÞ  r3   rF   r8   r6   rt   Úarg0ÚltrI   rë   r  Úlog_leadterms                  r*   r
  zPow._eval_as_leading_termr  s   € ØCÐCÐCÐCÐCÐCÐCÐCØŒHˆØŒIˆØŒ9�œÐÐØ×#Ò# A¨DÐ#Ñ1Ô1ˆCØ—8’8˜A˜q‘>”>ˆDØ•q”uˆ}ˆ}Ø—y’y  A‘”�ØÔ 5Ð(Ð(Ý”v˜t‘|Ð#ÝÐ7¸4Ñ@ÑAÔAÐAØ�UŠU�1‰XŒXð 	#Ø��Q˜˜˜Q™œ‘Z‘”ˆBØ×%Ò% a¨d¸Ð%Ñ>Ô>Ð>à?Ð?Ð?Ð?Ð?Ð?ðØ×%Ò% a¨d¸Ð%Ñ>Ô>��øÝð ð ð Ø���ðøøøà”<ð 
3 A¤Mð 
3¸!¿%º%À¹(¼(ð 
3Ø˜A™—{’{ 1 dÑ+Ô+�Ø�2�d‘8”8Ô'ð 3ð  Ÿ9š9 Q¨™?œ?¨b°B°q±D©\Ñ9Ð9Ø�R˜‘X”XÔ%ð 3Ø#& 3 q¡6¤6×#?Ò#?ÀÈÐSWÐ#?Ñ#XÔ#X�LØ#Ô/°5Ð8Ð8Ø"˜s 1 \¡>Ñ2Ô2Ð2Ø—9’9˜Q ‘?”?Ð"s   Ã0D	 Ä	DÄDc                ó^   — ddl m}  || j        |¦  «        |                      ||¦  «        z  S )Nr   )Úbinomial)r  r  r3   rÎ   )r)   r–   r4  Úprevious_termsr  s        r*   Ú_taylor_termzPow._taylor_term”  s9   € àEÐEÐEÐEÐEÐEØˆx˜œ !Ñ$Ô$ t§y¢y°°A¡¤Ñ6Ð6r,   c                ó   •— | j         t          j        ur t          ¦   «         j        ||g|¢R Ž S |dk     rt          j        S |dk    rt          j        S ddlm}  ||¦  «        }|r|d         }|�||z  |z  S ddlm	} ||z   ||¦  «        z  S )Nr   r   r×  r?   )rõ  )
r/   r
   rX   ÚsuperÚtaylor_termrU   rS   rØ  r  rõ  )r)   r–   r4  r   rØ  rÚ   rõ  rW   s          €r*   r$  zPow.taylor_term™  sÀ   ø€ ØŒ9�AœFÐ"Ð"Ø&•5‘7”7Ô& q¨!Ð=¨nÐ=Ð=Ð=Ð=ØˆqŠ5ˆ5Ý”6ˆMØ�Š6ˆ6Ý”5ˆLØ$Ð$Ð$Ð$Ð$Ð$ØˆG�A‰JŒJˆØð 	!Ø˜rÔ"ˆAØˆ}Ø˜1‘u˜q‘yÐ ØFÐFÐFÐFÐFÐFØ�!‰t�I�I˜a‘L”LÑ Ð r,   c                óè   — | j         t          j        u r^ddlm}  |t          j        | j        z  t          j        dz  z   ¦  «        t          j         |t          j        | j        z  ¦  «        z  z
  S d S )Nr   )rŒ  r�   )r/   r
   rX   r”  rŒ  rn   r3   ro   )r)   r/   r3   rC  rŒ  s        r*   Ú_eval_rewrite_as_sinzPow._eval_rewrite_as_sin©  sr   € ØŒ9�œÐÐØDÐDÐDÐDÐDÐDØ�3•q” t¤xÑ/µ!´$°q±&Ñ8Ñ9Ô9½A¼OÈCÈCÕPQÔP_Ð`dÔ`hÑPhÑLiÔLiÑ<iÑiÐið Ðr,   c                óè   — | j         t          j        u r^ddlm}  |t          j        | j        z  ¦  «        t          j         |t          j        | j        z  t          j        dz  z   ¦  «        z  z   S d S )Nr   )r‹  r�   )r/   r
   rX   r”  r‹  rn   r3   ro   )r)   r/   r3   rC  r‹  s        r*   Ú_eval_rewrite_as_coszPow._eval_rewrite_as_cos®  st   € ØŒ9�œÐÐØDÐDÐDÐDÐDÐDØ�3•q” t¤xÑ/Ñ0Ô0µ1´?À3À3ÅqÄÐW[ÔW_ÑG_ÕbcÔbfÐghÑbhÑGhÑCiÔCiÑ3iÑiÐið Ðr,   c                ó’   — | j         t          j        u r3ddlm} d || j        dz  ¦  «        z   d || j        dz  ¦  «        z
  z  S d S )Nr   )Útanhr   r�   )r/   r
   rX   Ú%sympy.functions.elementary.hyperbolicr*  r3   )r)   r/   r3   rC  r*  s        r*   Ú_eval_rewrite_as_tanhzPow._eval_rewrite_as_tanh³  s`   € ØŒ9�œÐÐØBÐBÐBÐBÐBÐBØ˜˜˜TœX a™ZÑ(Ô(Ñ(¨1¨t¨t°D´H¸Q±JÑ/?Ô/?Ñ+?Ñ@Ð@ð Ðr,   c                ó‚  — ddl m}m} |t          j        urd S |j        r—|                     t          j        t          j        z  ¦  «        }|rk|j	        rf |t          j        |z  ¦  «         |t          j        |z  ¦  «        }}t          ||¦  «        s(t          ||¦  «        s|t          j        |z  z   S d S d S d S d S d S )Nr   )rŒ  r‹  )r”  rŒ  r‹  r
   rX   r`   r×   ro   rn   r_   rL   )	r)   r/   r3   rÆ  rŒ  r‹  r×   ÚcosineÚsines	            r*   Ú_eval_rewrite_as_sqrtzPow._eval_rewrite_as_sqrt¸  sí   € ØEÐEÐEÐEÐEÐEÐEÐEØ•q”vÐÐØ�4ØŒ:ð 	9Ø—I’I�aœd¥Q¤_Ñ4Ñ5Ô5ˆEØð 9˜œð 9Ø"˜s¥1¤4¨¡:™œ°°µA´D¸±J±´˜�Ý! &¨#Ñ.Ô.ð 9µzÀ4ÈÑ7MÔ7Mð 9Ø!¥A¤O°DÑ$8Ñ8Ð8ð	9ð 	9ð9ð 9ð 9ð 9ð9ð 9ð 9ð 9r,   c           
     óà  — |                       ¦   «         \  }}t          |                     ||¬¦  «        Ž }|                     ||¬¦  «        \  }}|j        rÃ|                     ¦   «         \  }}|j        r¥|t
          j        k    r•||z  }	|                      ||	¦  «        }
t
          j        }|
j        s3t          |	j	        |	j
        ¦  «        \  }}|                      ||¦  «        }
|
|                      |t          ||||z  |	j
        z  z   ¦  «        ¦  «        fS t          ||¦  «        }|j        r�|j        r–|                     ||¬¦  «        \  }}|                      ||¦  «                             ¦   «         \  }
}|                      ¦   «         \  }}|t
          j        u s||k    r&|
|                      t          ||¦  «        |¦  «        fS t
          j        |                      ||¦  «        fS )aþ  Return the tuple (R, self/R) where R is the positive Rational
        extracted from self.

        Examples
        ========

        >>> from sympy import sqrt
        >>> sqrt(4 + 4*sqrt(2)).as_content_primitive()
        (2, sqrt(1 + sqrt(2)))
        >>> sqrt(3 + 3*sqrt(2)).as_content_primitive()
        (1, sqrt(3)*sqrt(1 + sqrt(2)))

        >>> from sympy import expand_power_base, powsimp, Mul
        >>> from sympy.abc import x, y

        >>> ((2*x + 2)**2).as_content_primitive()
        (4, (x + 1)**2)
        >>> (4**((1 + y)/2)).as_content_primitive()
        (2, 4**(y/2))
        >>> (3**((1 + y)/2)).as_content_primitive()
        (1, 3**((y + 1)/2))
        >>> (3**((5 + y)/2)).as_content_primitive()
        (9, 3**((y + 1)/2))
        >>> eq = 3**(2 + 2*x)
        >>> powsimp(eq) == eq
        True
        >>> eq.as_content_primitive()
        (9, 3**(2*x))
        >>> powsimp(Mul(*_))
        3**(2*x + 2)

        >>> eq = (2 + 2*x)**y
        >>> s = expand_power_base(eq); s.is_Mul, s
        (False, (2*x + 2)**y)
        >>> eq.as_content_primitive()
        (1, (2*(x + 1))**y)
        >>> s = expand_power_base(_[1]); s.is_Mul, s
        (True, 2**y*(x + 1)**y)

        See docstring of Expr.as_content_primitive for more examples.
        )ru  Úclear)rˆ   Ú_keep_coeffÚas_content_primitiverÔ   rÕ   r
   rU   rÎ   r  rÚ   r“   r`   rk   rS   )r)   ru  r2  r6   r8   ÚceÚpeÚhr�  Úcehru   r™  Úicehr³   Úmes                  r*   r4  zPow.as_content_primitiveÃ  sÑ  € ðV ×ÒÑ!Ô!‰ˆˆ1Ý˜×/Ò/¸ÀuÐ/ÑMÔMÐNˆØ×'Ò'°¸uÐ'ÑEÔE‰ˆˆBØŒ=ð 	Hð —?’?Ñ$Ô$‰DˆAˆqØŒ}ð H ¥a¤f¢ Ø˜‘d�Ø—I’I˜a Ñ%Ô%�Ý”F�Ø”}ð +Ý$ S¤U¨C¬EÑ2Ô2‘G�D˜!ØŸ	š	 ! TÑ*Ô*�AØ˜$Ÿ)š) A¥{°2°q¸1¸R¹4ÀÄ¹:±~Ñ'FÔ'FÑGÔGÐGÐGÝ˜˜BÑÔˆàŒ=ð 
	:˜QœXð 
	:Ø×)Ò)°'ÀÐ)ÑGÔG‰DˆAˆqØ—9’9˜Q ‘?”?×/Ò/Ñ1Ô1‰DˆAˆqØ—M’M‘O”O‰EˆAˆrØ•A”Eˆzˆz˜R 1šW˜Wð ˜$Ÿ)š)¥K°°1Ñ$5Ô$5°qÑ9Ô9Ð9Ð9ÝŒu�d—i’i  1‘o”oÐ%Ð%r,   c                ó’  — | }|                      dd¦  «        r|                     ¦   «         }|                     ¦   «         \  }}|                     d¦  «        }|r||z  }||k    r|                     ¦   «         S  |j        |Ž } |j        |Ž }	|	r |rdS |                     d¦  «        }|du rdS n|	€d S |                     d¦  «        S )Nr  Tr   F)r@  r  rˆ   ÚequalsÚis_constant)
r)   ÚwrtÚflagsr—  r6   r8   Úbzr  ÚeconÚbcons
             r*   r=  zPow.is_constant  så   € ØˆØ�9Š9�Z Ñ&Ô&ð 	#Ø—=’=‘?”?ˆDØ×ÒÑ!Ô!‰ˆˆ1Ø�XŠX�a‰[Œ[ˆØð 	)Ø�Q‘$ˆCØ�dŠ{ˆ{Ø—’Ñ(Ô(Ð(ØˆqŒ}˜cÐ"ˆØˆqŒ}˜cÐ"ˆØð 	Øð Ø�tØ—’˜!‘”ˆBØ�Uˆ{ˆ{Ø�uð àˆ\Ø�4à�xŠx˜‰{Œ{Ðr,   c                óÀ   — | j         \  }}|                     |¦  «        r<|                     |¦  «        s)|                     |||z   ¦  «        }|||z
  z  dz
  | z  S d S d S r2   )r+   r«  r  )r)   r–   Ústepr6   r8   Únew_es         r*   Ú_eval_difference_deltazPow._eval_difference_delta+  ss   € ØŒy‰ˆˆ1Ø�5Š5�‰8Œ8ð 	/˜AŸEšE !™HœHð 	/Ø—F’F˜1˜a $™hÑ'Ô'ˆEØ˜ ™	‘N QÑ&¨$Ñ.Ð.ð	/ð 	/ð 	/ð 	/r,   )r#   r$   )r#   r   r&   )r6   r7   r8   r7   r#   r   )r   )TrN  )r   )FT)BrO   Ú
__module__Ú__qualname__Ú__doc__r  Ú	__slots__r   Úpropertyr+   r/   r3   r5   r	   rq   r~   Úclassmethodrƒ   r�   rp   r¶   r¸   r½   rÃ   r»   rË   rÐ   râ   ré   rð   rò   rè   r÷   rù   rû   r!  rˆ   r&  r)  r,  rE  rI  ro  rr  r¤  r¦  r­  r²  r·  r¹  r»  rÂ  rÇ  r•   rÎ  r  r
  r!  r$  r&  r(  r,  r0  r4  r=  rF  Ú__classcell__)rW   s   @r*   r    r       sI  ø€ € € € € ðWð Wðp €Fà#€Iàð à	ð	ð 	ð 	ñ 
Œð	ð ðð ð ñ „Xðð ðð ð ñ „Xðð ð!ð !ñ „Xð!ð ð`ð `ð `ð `ñ „Wð`ðDð ð ð ð ð"ð "ñ „[ð"ð#ð #ð #ðR$ð R$ð R$ðh6Bð 6Bð 6Bðp%ð %ð %ðð ð ð3ð 3ð 3ð:ð ð ð2ð ð ð0ð ð ð*D$ð D$ð D$ðLð ð ð/ð /ð /ðbð ð ðð ð ð ð ð ðð ð ð"ð "ð "ðð ð ðBð ð ð8
)ð 
)ð 
)ðð ð ð+ð +ð +ðð ð ð(yð yð yðvxð xð xðtQ*ð Q*ð Q*ð Q*ðfKð Kð Kð$ð $ð $ðð ð ðð ð ð6%,ð %,ð %,ðNð ð ð#-ð #-ð #-ðJð ð ðJð Jð Jð(!4ð !4ð !4ðF ð  ð  ð  ðDzð zð zð zðx #ð  #ð  #ðD ð7ð 7ñ „Wð7ð!ð !ð !ð !ð !ð jð jð jð
jð jð jð
Að Að Að
	9ð 	9ð 	9ðO&ð O&ð O&ð O&ðbð ð ð./ð /ð /ð /ð /ð /ð /r,   r    Úpower)r  )r°   rÙ   )rÖ   r3  )r  r’  r‘  N);Ú
__future__r   Útypingr   r   Ú	itertoolsr   rØ  r   Úcacher	   Ú	singletonr
   r—  r   rœ   r   r>  r   r   r   r   r   Úlogicr   r   r   r   Ú
parametersr   rK   r   r   r5   r   r   Úsympy.utilities.iterablesr   Úsympy.utilities.exceptionsr   Úsympy.utilities.miscr   Úsympy.multipledispatchr   r    rN  ÚaddÚobjectr  r   r°   rÙ   rð  rÖ   r3  r  r  r’  r‘  r'   r,   r*   ú<module>r\     sR  ðØ "Ð "Ð "Ð "Ð "Ð "Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %ð%ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %à =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø )Ð )Ð )Ð )Ð )Ð )Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø *Ð *Ð *Ð *Ð *Ð *Ø @Ð @Ð @Ð @Ð @Ð @Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø -Ð -Ð -Ð -Ð -Ð -ðY/ð Y/ð Y/ð Y/ð Y/ˆ$ñ Y/ô Y/ð Y/ðv8 	ˆ
�7ÑÔ€Ø ‡	‚	ˆ6�6Ð
˜CÑ  Ô  Ð  à Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *r,   