§
    «³Ùg  ã                  ó˜  — 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 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-m/Z/ ddl0m1Z1m2Z2 ddl3m4Z4m5Z5 ddl6m7Z7m8Z8m9Z9 dS )é    )Úannotations)ÚCallable)Ú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U dZdZdZded<   ded<   edCd„¦   «         ZdDd
„Z	e
dEd„¦   «         Ze
dEd„¦   «         Ze
d„ ¦   «         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(dFd*„Z)d+„ Z*d,„ Z+d-„ Z,d.„ Z-d/„ Z.d0„ Z/d1„ Z0d2„ Z1d3„ Z2d4„ Z3dGd6„Z4dHd8„Z5dId9„Z6ed:„ ¦   «         Z7ˆ fd;„Z8d<„ Z9d=„ Z:d>„ Z;d?„ Z<dJd@„Z=dA„ Z>dB„ Z?ˆ xZ@S )KÚ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_commutativeztuple[Expr, Expr]ÚargsÚ_argsNc                ó   — |€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)r3   Úim);r   Úevaluater   Ú
relationalr%   Ú
isinstanceÚ	TypeErrorr
   r   ÚtypeÚ__name__r	   ÚComplexInfinityÚNaNÚInfinityr   ÚOneÚNegativeOner   ÚZeroÚ	is_finiteÚ	__class__ÚExp1Ú!sympy.calculus.accumulationboundsr-   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.exponentialr.   Úis_AtomÚ	exprtoolsr/   r1   Úsympy.simplify.radsimpr2   Úas_coeff_Mulr"   Úis_AddÚ$sympy.functions.elementary.complexesr3   r4   ÚImaginaryUnitÚPiÚ_eval_powerÚ__new__Ú _exec_constructor_postprocessorsr!   )ÚclsÚbÚer5   r%   Úargr-   r.   r/   r1   r2   ÚcÚexÚnumÚdenr3   r4   ÚsÚobjs                      úF/granary/edev/quantum/lib/python3.11/site-packages/sympy/core/power.pyr\   zPow.__new__v   s³  € àÐÝ(Ô1ˆHå�Q‰KŒKˆÝ�Q‰KŒKˆð 	+Ð*Ð*Ð*Ð*Ð*Ý�a˜Ñ$Ô$ð 	@­
°1°jÑ(AÔ(Að 	@ÝÐ>Ñ?Ô?Ð?ð �q�6ð 	ð 	ˆCÝ˜c¥4Ñ(Ô(ð Ý)ðå˜s™)œ)Ô,ðð ð ð .3Ø/IØ ð
ñ 
ô 
ð 
øð ñ >	Ø•AÔ%Ð%Ð%Ý”u�Ø•A”JˆˆÝ˜�AœE‘?”?ð &Ýœ:Ð%Ý˜�AœMÑ*Ô*ð "­u°Q½¼©¬ð "Ýœ6�MÝ˜�AœMÑ*Ô*ð %Ø”{ð 1Ý Ô0Ð0Ø”{ eÐ+Ð+Ý œu˜Ø•A”Fˆ{ˆ{Ý”u�Ø•a”e��Ø�Ø�b’� �ÝÔ(Ð(Ø”Ô%Ð)=Ò=Ð=Ø�œ’;�;ØMÐMÐMÐMÐMÐMØ&˜;¥s¨1¨a¬e¡}¤}µc¸!¸Q¼U±m´mÑDÔDÐDð ð ”+ð ' !¤,ð '°!´,ð 'Øœ;ð'Ø+,¬8ð'Ø78´{ð'à×4Ò4Ñ6Ô6ð'ð ”9ð 'Ø˜�A�AØ”Xð 'Ý   A™JœJ˜;Ð&ÝŒu˜˜A˜ˆˆÝ”u�Ø•a”e��Ý�q‘6”6Ô%ð !Ýœ5�LÝ”u�ð MÐLÐLÐLÐLÐLØ”yñ 3 Q­a¬f _ _½ZÈÈ9Ñ=UÔ=U _Ø7Ð7Ð7Ð7Ð7Ð7ØJÐJÐJÐJÐJÐJØ?Ð?Ð?Ð?Ð?Ð?Ø(˜L¨°Ð7Ñ7Ô7×DÒDÑFÔF‘E�A�rØ'˜x¨™|œ|‘H�C˜Ý! # sÑ+Ô+ð 3°´¸´¸qÒ0@Ð0@Ý œv¨¨#©™Ð.Øœð 3ØQÐQÐQÐQÐQÐQÐQÐQØ ˜D   A¡¤™KœK˜Øœ;ð 3¨1ð 3°Ø #  \ \°!¸%Ð%@Ñ%@Ô%@Ð$@Ñ AÔ AÀAÅaÄoÑDUÕVWÔVZÑDZÑ Zò2[ð 2[å#$¤6¨A¨c©E¡?Ð2à—m’m AÑ&Ô&�Ø�?Ø�JÝŒl˜3  1Ñ%Ô%ˆØ×2Ò2°3Ñ7Ô7ˆÝ˜#�sÑ#Ô#ð 	ØˆJØÔ.ÐC°1Ô3CˆÔØˆ
ó    r   c                ó@   — | j         t          j        k    rddlm} |S d S ©Nr   r0   )Úbaser	   rC   rR   r1   )ÚselfÚargindexr1   s      rh   ÚinversezPow.inverseÙ   s-   € ØŒ9�œÒÐØBÐBÐBÐBÐBÐBØˆJØˆtri   Úreturnr
   c                ó   — | j         d         S ©Nr   ©r#   ©rm   s    rh   rl   zPow.baseß   ó   € àŒz˜!Œ}Ðri   c                ó   — | j         d         S ©Nr   rs   rt   s    rh   ÚexpzPow.expã   ru   ri   c                óN   — | j         j        t          u r| j        j        S t          S ©N)rx   Úkindr   rl   r   rt   s    rh   r{   zPow.kindç   s!   € àŒ8Œ=�JÐ&Ð&Ø”9”>Ð!å Ð ri   c                ó   — dd| j         fS )Né   é   )r:   ©r^   s    rh   Ú	class_keyzPow.class_keyî   s   € à�!�S”\Ð!Ð!ri   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ÚintegerrM   Úevenr   Úodd)rm   Úassumptionsr‚   rƒ   r_   r`   s         rh   Ú_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 ™
œ
�{Ð"ð		#ð 	#ð 	#ð 	#ð#ð #ri   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   )ra   r4   Úrer3   ©rx   r1   )Ú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_denomrH   )r`   ÚnÚds      rh   Ú_halfzPow._eval_power.<locals>._half
  sZ   € õ ˜1˜c 4Ñ(Ô(¨AÒ-Ð-Ø˜4Ø×'Ò'Ñ)Ô)‘��1Ø”<ð   A¨¢F FØ˜4ð ð   F Fri   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)ÚevalfrL   r   )r`   Úrvs     rh   Ú_n2zPow._eval_power.<locals>._n2  sW   € ðØŸš ¨4˜Ñ0Ô0�BØ”|ð "Ø!˜	ð"ð "øå)ð ð ð Ø�D�Dðøøøs   ‚$ ¤
2±2r*   TFr~   )r…   r	   r<   rH   Úis_polarÚis_extended_realrX   ra   r4   rŒ   r3   rR   rx   r1   Ú#sympy.functions.elementary.integersrŽ   Úis_negativer?   r   rN   rP   Úis_imaginaryrY   Úis_extended_nonnegativerZ   ÚHalfr   )rm   Úotherr_   r`   rf   ra   r4   rŒ   r3   rx   r1   rŽ   r•   r›   s                 rh   r[   zPow._eval_powerû   sƒ  € Ø×ÒÑ!Ô!‰ˆˆ1Ø•”ˆ:ˆ:Ø�q‘D˜5‘=Ð àˆØÔð 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˜U‘|”|ð 2Øœ=¨DÐ0Ð0Ý#$¤=°%Ñ#7½¸Q¸BÀÀ%ÁÑ8HÔ8HÑ#HÐHØœ]¨eÐ3Ð3Ý#& q¨5¨&¡>¤>Ð1øØ”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˜5‘\”\ð !Ø˜˜A�aœd™F¥1¤?Ñ2°5Ñ8¸¸Ýœ  3 3 q¡6¤6¡¨1­Q¬T©6Ñ!2Ñ2ñ:4ô :4ñ 4ñ 5ô 5�AàÔ)ð !¨c¨c°$°$°q±'´'¸A±+Ñ.>Ô.>À!Ò.CÐ.CØ ˜D ™GœG˜˜à ˜øð

Ø˜˜A�aœoÑ-­a¬dÑ2°5Ñ8Ø˜�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˜e™G‘_”_Ñ$Ð$ð ˆ=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©r5   N)rl   rx   rH   Úis_positiver	   r@   Ú%sympy.functions.combinatorial.numbersr¥   rI   ÚintÚ
bit_lengthÚIntegerÚpowÚmodr§   r7   r   rJ   )rm   r�   rl   rx   r¥   r_   r`   ÚmÚmbÚphir§   r¬   s               rh   Ú	_eval_ModzPow._eval_ModO  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ð
 $Ð#ri   c                óR   — | j         j        r| j         j        r| j        j        S d S d S rz   )rx   rH   r©   rl   rN   rt   s    rh   Ú_eval_is_evenzPow._eval_is_even‡  s:   € ØŒ8Ôð 	% 4¤8Ô#7ð 	%Ø”9Ô$Ð$ð	%ð 	%ð 	%ð 	%ri   c                óP   — t                                | ¦  «        }|du r| j        S |S ©NT)r   Ú_eval_is_extended_negativerA   )rm   Úext_negs     rh   Ú_eval_is_negativezPow._eval_is_negative‹  s+   € Ý×0Ò0°Ñ6Ô6ˆØ�dˆ?ˆ?Ø”>Ð!Øˆri   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   r0   )rl   rx   r¡   r©   Úis_realÚis_extended_negativerN   rO   Úis_zeror�   Úis_extended_nonpositiver    rH   rR   r1   )rm   r°   r1   s      rh   Ú_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ð 3ri   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)rx   r	   r¢   rl   Ú
is_complexr�   r½   rO   rA   rN   Úis_extended_positiver¾   r¡   r¿   rt   s    rh   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ð	ð 	ðð ri   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   )rl   r¾   rx   rÄ   r¿   r	   rC   ÚNegativeInfinityrA   rŸ   rQ   Úis_nonnegativer�   rP   r½   rt   s    rh   Ú_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ð	ð 	ð 	ð 	ri   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_rationalrH   r©   r	   r?   rÇ   rŸ   rA   r   r¾   rL   ÚfuncrI   )rm   r_   r`   Úchecks       rh   Ú_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ð	ð 	ð 	ð 	ð 	ð 	ri   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   )r1   rx   Fr¨   r   ©ra   )$rl   r	   rC   rx   r�   r    rY   rZ   rN   rR   r1   rË   r   rÄ   r¡   rH   Úis_extended_nonzerorÇ   r½   Úis_Rationalr¾   rO   rW   Úas_coeff_AddrI   ÚMulr?   ÚcoeffrÊ   Ú
is_nonzeror7   ÚRationalÚprX   ra   rÃ   )rm   r1   rx   Úreal_bÚreal_eÚim_bÚim_erb   ÚaÚokra   Úis               rh   Ú_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ØŒ|ð $Ø”|Ð#ð ˆ?ˆ?ˆ?ð
$ð $ri   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 rz   )rÃ   )Ú.0rÜ   s     rh   ú	<genexpr>z'Pow._eval_is_complex.<locals>.<genexpr>?  s$   è è € Ð/Ð/ ˆqŒ|Ð/Ð/Ð/Ð/Ð/Ð/ri   T)
rl   r	   rC   r   rx   rÃ   r½   Úallr"   Ú_eval_is_finitert   s    rh   Ú_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ð	ð 	ð 	ð 	ri   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   r0   rÏ   )rl   r!   r    rx   rH   rO   r	   rC   rZ   rY   rN   rR   r1   r�   r©   rÊ   rŸ   rX   ra   )
rm   rˆ   Úfr1   ÚimlogÚratÚhalfra   rÞ   Úisodds
             rh   Ú_eval_is_imaginaryzPow._eval_is_imaginaryB  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ØÐ Ø�ð /Ð.ð !Ð ri   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·   )rx   rH   r©   rl   rO   rÇ   r	   r?   rt   s    rh   Ú_eval_is_oddzPow._eval_is_odds  sk   € ØŒ8Ôð 	ØŒxÔ#ð Ø”yÔ'Ð'Ø”Ô(ð ¨T¬YÔ-=ð Ø�tØ”�aœmÐ+Ð+Ø�tð	ð 	ð
 ,Ð+ri   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Â   )	rx   rŸ   rl   r¾   rQ   rÕ   rA   rÇ   r   )rm   Úc1Úc2s      rh   rå   zPow._eval_is_finite|  sº   € ØŒ8Ôð 	ØŒyÔ ð Ø�uØŒyÔ$ð ¨¬	Ô(<ð Ø�tØŒYÔ ˆØˆ:ØˆFØŒXÔˆØˆ:ØˆFØð 	�"ð 	ØŒxÔ&ð ­)°D´IÔ4EÑ*FÔ*Fð Ø�tð	ð 	ð 	ð 	ðð ri   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)rl   rH   rx   r©   rt   s    rh   Ú_eval_is_primezPow._eval_is_primeŒ  sP   € ð Œ9Ôð 	 D¤HÔ$7ð 	¸T¼XÈ¹\Ô<Vð 	Ø�5ð	ð 	ð 	ð 	ð 	ð 	ri   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)rl   rH   rx   r©   rŸ   rN   rt   s    rh   Ú_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ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ri   c                ó   — | j         j        S rz   )rl   rœ   rt   s    rh   Ú_eval_is_polarzPow._eval_is_polarœ  s   € ØŒyÔ!Ð!ri   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   r,   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 rz   )rH   )râ   Úterms     rh   rã   z1Pow._eval_subs.<locals>._check.<locals>.<genexpr>Ï  s$   è è € ÐBÐB°4˜tœÐBÐBÐBÐBÐBÐBri   )FNNr   r   )r!   r   Ú
ValueErrorr…   r©   r¼   rÇ   r7   Útuplerä   ÚdivmodrÓ   )Úct1Úct2ÚoldÚcoeff1Úterms1Úcoeff2Úterms2r®   Úcombinesr_   r`   Ú	remainderÚremainder_pows                rh   Ú_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¨   )rD   r-   r7   rx   rl   ÚsubsÚ__rpow__rË   rR   r1   r	   rC   Úis_Functionr   Ú_subsrL   r   rW   Úas_independentÚSymbolrÓ   Úas_coeff_mulr"   Úappendr!   rH   ÚAddÚis_Powr�   r©   )rm   r  Únewr-   r_   r`   rx   r1   r
  Úlr   r  rÝ   r®   r	  ÚresultÚoargÚnew_lÚo_alrÜ   ÚnewaÚexpos                         rh   Ú
_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ð
ð ri   c                ór   — | j         \  }}|j        r#|j        |j        k     r|j        dk    rd|z  | 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�   )rm   r_   r`   s      rh   r…   zPow.as_base_exp   sG   € ð0 Œy‰ˆˆ1ØŒ=ð 	˜QœS 1¤3šY˜Y¨1¬3°ª7¨7Ø�Q‘3˜˜�7ˆNØ�!ˆtˆri   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)rX   r!  rx   rH   rl   r©   r   )rm   r!  rÞ   r×   Úexpandeds        rh   Ú_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Ñ(Ô(Ð(ð ˆ:˜*˜*àÐri   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)rX   r%  rx   rH   rl   r©   r   r�   )rm   rb   rÞ   r×   r"  s        rh   Ú_eval_conjugatezPow._eval_conjugateI  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ð	ð 	ri   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)rX   r(  rl   r	   rC   rË   rx   rH   rÃ   rQ   r   )rm   r(  rÞ   r×   r"  s        rh   Ú_eval_transposezPow._eval_transposeW  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 Ñ*Ô*Ð*ð ˆ:˜*˜*àÐri   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â   Úxr_   rm   s     €€rh   ú
<listcomp>z.Pow._eval_expand_power_exp.<locals>.<listcomp>q  s%   ø€ Ð=Ð=Ð=°˜TŸYšY q¨!™_œ_Ð=Ð=Ð=ri   c                ó   — | j         S rz   r    ©r2  s    rh   ú<lambda>z,Pow._eval_expand_power_exp.<locals>.<lambda>s  s	   € ¨qÔ/?€ ri   T©Úbinaryc                ó<   •— g | ]}‰                      ‰|¦  «        ‘ŒS r/  r0  r1  s     €€rh   r3  z.Pow._eval_expand_power_exp.<locals>.<listcomp>u  s%   ø€ Ð <Ð <Ð <°Q §¢¨1¨a¡¤Ð <Ð <Ð <ri   )rl   rx   r	   rC   Úsympy.concrete.summationsr+  r7   r!   Úsympy.concrete.productsr,  rË   ÚfunctionÚlimitsrW   Úgetr¾   Ú_all_nonneg_or_nonpposrÓ   r"   r   r  Ú
_from_args)rm   Úhintsr`   r+  r,  rb   Úncr_   s   `      @rh   Ú_eval_expand_power_expzPow._eval_expand_power_expe  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àˆri   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**nr-  F)Úsplit_1c                óN   •— g | ]!}t          |d ¦  «        r |j        di ‰¤Žn|‘Œ"S )Ú_eval_expand_power_baser/  )ÚhasattrrG  )râ   rÞ   rA  s     €rh   r3  z/Pow._eval_expand_power_base.<locals>.<listcomp>ˆ  sV   ø€ ð ð ð àõ ˜1Ð7Ñ8Ô8ð@Ð+�!Ô+Ð4Ð4¨eÐ4Ð4Ð4Ø>?ðð ð ri   c                ó   — g | ]}|d z  ‘ŒS )r*   r/  ©râ   rÞ   s     rh   r3  z/Pow._eval_expand_power_base.<locals>.<listcomp>�  s   € Ð7Ð7Ð7¨˜q "™uÐ7Ð7Ð7ri   Nr*   r¨   c                ó   — | j         du S ©NF)r�   r5  s    rh   r6  z-Pow._eval_expand_power_base.<locals>.<lambda>›  s   € °!Ô2DÈÐ2M€ ri   Tr7  c                ó|   — | t           j        u rt           j        S | j        }|rdS |€t          | j        ¦  «        S d S r·   )r	   rY   rœ   r   r¡   )r2  Úpolars     rh   Úpredz)Pow._eval_expand_power_base.<locals>.pred�  sH   € Ø•A”OÐ#Ð#Ý”Ð&Ø”JˆEØð Ø�tØˆ}Ý! !Ô";Ñ<Ô<Ð<ð ˆ}ri   r&   r   r   r~   c                ó@   — | j         o| j        j        o| j        j        S rz   )r  rx   rÑ   rl   rJ   r5  s    rh   r6  z-Pow._eval_expand_power_base.<locals>.<lambda>ë  s%   € °A´Hð 5;Ø”EÔ%ð5;Ø*+¬&Ô*:ð ri   c                óV   •— g | ]%}‰                       |j         |j        Ž ‰¦  «        ‘Œ&S r/  )rË   r"   ©râ   r_   r`   rm   s     €€rh   r3  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ÐGri   c                ó@   •— g | ]}‰                      |‰d ¬¦  «        ‘ŒS )Fr¨   r0  rR  s     €€rh   r3  z/Pow._eval_expand_power_base.<locals>.<listcomp>ï  s+   ø€ ÐGÐGÐG¸A˜Ÿ	š	 ! Q°˜	Ñ7Ô7ÐGÐGÐGri   )r>  rl   rx   rK   Úargs_cncrI   r©   rÓ   rË   r   r	   rY   Úlenr  Úpopr>   r?   rH   rL   ÚextendrÑ   )rm   rA  r-  r_   ÚcargsrB  rš   r£   Ú
maybe_realrO  ÚsiftedÚnonnegÚnegÚimagÚIrÞ   ÚnonnÚor“   Únpowr`   s   ``                  @rh   rG  zPow._eval_expand_power_basey  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Øˆ	ri   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è   Úgrl   s      €rh   r3  z0Pow._eval_expand_multinomial.<locals>.<listcomp>S  s,   ø€ Ð KÐ KÐ K¨ÀÄÐ KÐ K¸A  1¡Ð KÐ KÐ KÐ Kri   c                ó.   •— g | ]}‰j         D ]}||z  ‘ŒŒS r/  rh  )râ   rè   ri  Úmultis      €rh   r3  z0Pow._eval_expand_multinomial.<locals>.<listcomp>W  sC   ø€ ð %1ð %1ð %1¨QØ%*¤Zð%1ð %1Ø !ð &' q¡Sð %1ð %1ð %1ð %1ri   c                ó   •— g | ]}|‰z  ‘ŒS r/  r/  )râ   rè   rk  s     €rh   r3  z0Pow._eval_expand_multinomial.<locals>.<listcomp>[  s   ø€ Ð$@Ð$@Ð$@° Q u¡WÐ$@Ð$@Ð$@ri   r-  )"r"   rÑ   r×   rW   rI   r­   r�   rË   r  Ú_eval_expand_multinomialr  Ú	make_argsr  r«   r!   Úis_Orderr   r   rJ   Úas_real_imagr	   rY   Úsympy.ntheory.multinomialre  Úsympy.polys.polyutilsrf  rU  rP   rL   r>  r¾   r?  rÓ   r@  )rm   rA  rx   r  r“   ÚradicalÚexpanded_base_nrü   Úorder_termsÚother_termsr_   rè   r`  ri  rÜ   Úkrb   r”   r^  r×   re  rf  Úexpansion_dictrÔ   Útailrl   rk  s                            @@rh   rm  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àˆMri   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   )Úpolyrc  za br   r~   c                ó4   — g | ]}|d          d         dz  °|‘ŒS )r   r   r~   r/  rJ  s     rh   r3  z$Pow.as_real_imag.<locals>.<listcomp>Œ  s)   € Ð<Ð<Ð<�q°°!´°Q´¸!±Ð<�Ð<Ð<Ð<ri   c                ó8   •— g | ]\  \  }}}|‰|z  z  ‰|z  z  ‘ŒS r/  r/  ©râ   ÚaaÚbbÚccrÜ   r_   s       €€rh   r3  z$Pow.as_real_imag.<locals>.<listcomp>�  s1   ø€ ÐAÐAÐA©|©x°°B¸˜B˜q "™u™H Q¨¡U™NÐAÐAÐAri   c                ó<   — g | ]}|d          d         dz  dk    ¯|‘ŒS )r   r   r&   r/  rJ  s     rh   r3  z$Pow.as_real_imag.<locals>.<listcomp>�  ó.   € Ð=Ð=Ð=�q¨A¨a¬D°¬G°a©K¸1Ò,<Ð,<�Ð,<Ð,<Ð,<ri   c                ó8   •— g | ]\  \  }}}|‰|z  z  ‰|z  z  ‘ŒS r/  r/  r~  s       €€rh   r3  z$Pow.as_real_imag.<locals>.<listcomp>�  ó1   ø€ ÐBÐBÐB±±°°R¸"˜R  2¡™X a¨¡e™^ÐBÐBÐBri   c                ó<   — g | ]}|d          d         dz  dk    ¯|‘ŒS )r   r   r&   r}   r/  rJ  s     rh   r3  z$Pow.as_real_imag.<locals>.<listcomp>‘  rƒ  ri   c                ó8   •— g | ]\  \  }}}|‰|z  z  ‰|z  z  ‘ŒS r/  r/  r~  s       €€rh   r3  z$Pow.as_real_imag.<locals>.<listcomp>’  r…  ri   )Úatan2ÚcosÚsin©rx   )r4   rŒ   FÚcomplexÚignore)!rx   rI   Úsympy.polys.polytoolsr{  rl   rp  r	   r@   ÚsymbolsÚDummyrL   r   rY   Útermsr  r  Ú(sympy.functions.elementary.trigonometricrˆ  r‰  rŠ  rÑ   r¾   r¢   r¡   r¿   rË   rC   rR   ÚexpandrX   r4   rŒ   r>  )rm   rd  rA  r{  rx   Úre_erÛ   ÚexprÚmagÚrÚre_partÚim_part1Úim_part3rˆ  r‰  rŠ  ÚtÚrpÚtprb   rf   r4   rŒ   r"  rÜ   r_   s                           @@rh   rp  zPow.as_real_imagn  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¡¤Ð)Ð)ri   c                óÈ   — ddl m} | j                             |¦  «        }| j                             |¦  «        }| | || j        ¦  «        z  || j        z  | j        z  z   z  S rk   )rR   r1   rl   Údiffrx   )rm   rf   r1   ÚdbaseÚdexps        rh   Ú_eval_derivativezPow._eval_derivativeÁ  sg   € Ø>Ð>Ð>Ð>Ð>Ð>Ø”	—’˜qÑ!Ô!ˆØŒx�}Š}˜QÑÔˆØ�t˜c˜c $¤)™nœnÑ,¨u°t´xÑ/?ÀÄ	Ñ/IÑIÑJÐJri   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	   rC   rR   rx   Ú_eval_evalfÚ_evalfrI   rŸ   rJ   r�   r%  rË   r“  )rm   Úprecrl   rx   Úexp_functions        rh   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Ñ#Ô#Ð#ri   c                óÂ   —  | j         j        |Ž rdS  | j        j        |Ž r>t          | j                             |¦  «        o| j         j        o
| j         dk    ¦  «        S dS )NFr   T)rx   Úhasrl   ÚboolÚ_eval_is_polynomialrI   ©rm   Úsymss     rh   r«  zPow._eval_is_polynomialÖ  ss   € Øˆ4Œ8Œ<˜Ðð 	Ø�5àˆ4Œ9Œ=˜$Ðð 	Ý˜œ	×5Ò5°dÑ;Ô;ð 8Ø”Ô#ð8Ø)-¬°Qªñ9ô 9ð 9ð �4ri   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)rx   rH   rl   rÊ   r   r   rŸ   r¾   rË   r…   r  rÑ   rÇ   Úis_irrationalr	   rC   rÕ   )rm   r×   r_   r`   s       rh   Ú_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ð ˆ;ðð ð ð ri   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    rh   Ú_is_onez'Pow._eval_is_algebraic.<locals>._is_oneü  s6   € ðØ˜q™Ô)Ð)øÝð ð ð à�u�uðøøøs   ‚	 Œ
™TF)rl   r¾   r	   rC   rË   r"   rx   rÕ   Úis_algebraicrZ   rÊ   rY   r©   r   rH   r¯  )rm   r³  rf   s      rh   Ú_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Ð0ri   c                ó’   —  | j         j        |Ž rdS  | j        j        |Ž r&| j                             |¦  «        o| j         j        S dS rÂ   )rx   r©  rl   Ú_eval_is_rational_functionrI   r¬  s     rh   r·  zPow._eval_is_rational_function"  sY   € Øˆ4Œ8Œ<˜Ðð 	Ø�5àˆ4Œ9Œ=˜$Ðð 	Ø”9×7Ò7¸Ñ=Ô=ð $Ø”Ô#ð$ð �4ri   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 rL  )	rl   Ú_eval_is_meromorphicrx   rI   r  r¾   r   rA   r   )	rm   r2  rÜ   Ú
base_meromÚexp_integerÚ	exp_meromr_   Úb_zeroÚlog_defineds	            rh   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 Ñ"Ô"Ô,Ð,ri   c                ó’   —  | j         j        |Ž rdS  | j        j        |Ž r&| j                             |¦  «        o| j         j        S dS rÂ   )rx   r©  rl   Ú_eval_is_algebraic_exprrÑ   r¬  s     rh   rÀ  zPow._eval_is_algebraic_exprQ  sY   € Øˆ4Œ8Œ<˜Ðð 	Ø�5àˆ4Œ9Œ=˜$Ðð 	Ø”9×4Ò4°TÑ:Ô:ð %Ø”Ô$ð%ð �4ri   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¨   )ra   ÚAbs)rR   rx   r1   r¾   r©  r  r   Ú
exp_is_powr   r	   rC   rX   ra   rÂ  rY   )	rm   rl   r  Úkwargsrx   r1   r5   ra   rÂ  s	            rh   Ú_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ÐIri   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 rz   )r!   r	   r>   r…   r’   rŸ   rK   r©   rM   rH   r�   Úis_nonpositiverQ   rË   )rm   rl   rx   r“   r”   Úneg_expÚint_expÚdnonposs           rh   r’   zPow.as_numer_denomo  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Ð3ri   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 rw   )r   r	   r>   rx   Úmatchesr@   r7   r
   r…   rG   rI   rÊ   Úcopyrl   Úxreplace)	rm   r•  Ú	repl_dictr  r”   r_   r`   ÚsbÚses	            rh   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Øˆri   r   c                ó   ‡3— 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                    ||¬¦  «        }||z  t          j1        z
   +                    d¬¦  «        }|j-        stK          ¦   «         ‚|||z  z
  Š3‰3                     td          ¦  «        r |	|¦  «        Š3‰3j3        r ||||z  z  |¦  «        S |j,        r||z  }|| k    r| |||z  |¦  «        z  }|S d„ } ˆ3fd„}!	 | $                    ||¬¦  «        \  }}"nM# tF          tJ          f$ r9  |||‰3z  z  |d¦  «        dk    r||z  |||z  z  |z  z   cY S tK          ¦   «         ‚w xY w|j4        r9|"t          j5        k    r)ddl)m6}#  |#|¦  «         $                    ||¬¦  «        \  }}"|"j7        sŠ| 8                    ¦   «         }|j,        r||z  S | $                    ||¬¦  «        \  }}"|"j7        sI||z
  |z   9                    ¦   «         }| $                    ||¬¦  «        \  }}"|"j7        stK          ¦   «         ‚ddl:m;}$ |                     | |$‰3¦  «        ||¬¦  «                             ¦   «         }%i }&ty          j=        |%¦  «        D ]7} | ||¦  «        \  }'}(|& >                    |(t          j5        ¦  «        |'z   |&|(<   Œ8t          j1        })t          j5        t          j1        i}*|&}+ddl?m@},mA}- |)|"z  ‰3z
  j3        rt |-||)¦  «         |,|)¦  «        z  }.|+D ]1}|* >                    |t          j5        ¦  «        |.|+|         z  z   |*|<   Œ2 |!|+|&¦  «        }+|)t          j1        z  })|)|"z  ‰3z
  j3        °tddlBmC}/ |jD        s±|j,        rª|j3        r£||z
   E                    ||¦  «        }0 |/|0¦  «        j3        r | ||z  d d!|z  z  z  |¦  «        \  }1}2np |/|0¦  «        j,        r; |  || ||¦  «        z  ¦  «         0                    |||¬¦  «        |¦  «        \  }1}2n% | ||z  |¦  «        \  }1}2n | ||z  |¦  «        \  }1}2t          j5        }|*D ]}(|(|2z   }||*|(         |1z  ||z  z  z  }Œ|jD        r'|j7        r ||"z  |z
  jF        r|t�          | ¦  «        k    sR	 | |||z  |¦  «        z  }n># tJ          $ r1  || ||¦  «        z  ¦  «                             ||||¬¦  «        cY S w xY w|S )"Nr   r�   )Úlimit)ÚOrder©Úsympify)r“   Úlogxr   )ÚpowsimpTrx   )rd  Úcombine)Ú	powdenest)Ú_illegal)r-  )r“   r×  Úcdir)ÚWildzc, ex)r^   Úexclude)Ú	polygammar~   )Ú
logcombine©r×  rÜ  ©r×  F)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 rz   )	r	   r>   r@   rÓ   rn  r©  r…   Úleadtermrý   )rü   r2  rÔ   rx   Úfactorrl   s         rh   Ú	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 rz   )r   r>  r	   r@   )Úd1Úd2ÚresÚe1Úe2rc   Úmaxpows         €rh   Ú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øØˆJri   )Ú	nsimplify)Úceiling)Ú	factorialÚff©r4   r*   éþÿÿÿ)HrR   rx   r1   Úsympy.series.limitsrÓ  Úsympy.series.orderrÔ  Úsympy.core.sympifyrÖ  rl   r	   rC   Únseriesro  ÚremoveOrÆ   r=   ÚrangeÚsympy.simplify.powsimprØ  rÚ  ÚnumbersrÛ  Útrigsimpr…   r©  r   Ú_eval_nseriesÚsymbolrÝ  r�  ÚreplaceÚ'sympy.functions.special.gamma_functionsrß  Ú
EulerGammarý   rä  ÚNotImplementedErrorrF   r<   r;   Úsympy.simplify.simplifyrà  Úcancelr¾   rJ   r¼   Ú_eval_as_leading_termÚas_leading_termr>   r  rŸ   Úis_Floatr@   rï  r©   Úsimplifyr“  rž   rð  r  rn  r>  Ú(sympy.functions.combinatorial.factorialsrñ  rò  rX   r4   rH   ÚdirrÇ  r   )4rm   r2  r“   r×  rÜ  rx   r1   rÓ  rÔ  rÖ  Úe_seriesÚe0r›  Ú
exp_seriesrü   rÞ   rØ  rÚ  rÛ  r_   r`   rÝ  rb   rc   rß  Ú_r°   rà  rê  rè   ri  r—  ræ  rî  r”   rï  rð  ÚgpolyÚgtermsÚco1rë  rw  r‘  Útkrñ  rò  rÔ   r4   ÚndirÚincoÚinexrí  s4                                                      @rh   rþ  zPow._eval_nseries´  sJ
  ø€ ð 	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ÐÑ+Ô+ˆØˆq‰S•1”5‰[× Ò ¨Ð Ñ.Ô.ˆØŒ{ð 	(Ý%Ñ'Ô'Ð'Ø�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‘Ð&Ð&Ð&å)Ñ+Ô+Ð+ð	,øøøð Œ:ð 	7˜!�qœvš+˜+ð :Ð9Ð9Ð9Ð9Ð9Ø�9˜Q‘<”<×(Ò(¨°Ð(Ñ6Ô6‰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$Ò$R? Ò?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ô  )rR   rx   r1   rl   r	   rC   r  r  r<   rÓ  rQ   r   r©  rX   r4   rH   rŸ   r  rË   r¾   r  )rm   r2  r×  rÜ  rx   r1   r`   r_   ra   Úarg0Últr4   rè   r  Úlog_leadterms                  rh   r  zPow._eval_as_leading_termo  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  rx   rË   )rm   r“   r2  Úprevious_termsr  s        rh   Ú_taylor_termzPow._taylor_term‘  s9   € àEÐEÐEÐEÐEÐEØˆx˜œ !Ñ$Ô$ t§y¢y°°A¡¤Ñ6Ð6ri   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ñ  )
rl   r	   rC   ÚsuperÚtaylor_termr@   r>   rÖ  r
  rñ  )rm   r“   r2  r  rÖ  r×   rñ  rB   s          €rh   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Ñ Ð ri   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~   )rl   r	   rC   r’  rŠ  rY   rx   rZ   )rm   rl   rx   rA  rŠ  s        rh   Ú_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ð Ðri   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~   )rl   r	   rC   r’  r‰  rY   rx   rZ   )rm   rl   rx   rA  r‰  s        rh   Ú_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ð Ðri   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~   )rl   r	   rC   Ú%sympy.functions.elementary.hyperbolicr'  rx   )rm   rl   rx   rA  r'  s        rh   Ú_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Ñ/?Ô/?Ñ+?Ñ@Ð@ð Ðri   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	   rC   rK   rÔ   rZ   rY   rJ   r7   )	rm   rl   rx   rÄ  rŠ  r‰  rÔ   ÚcosineÚsines	            rh   Ú_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ð 9ri   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.
        )rs  Úclear)r…   Ú_keep_coeffÚas_content_primitiverÑ   rÒ   r	   r@   rË   rÿ   r×   r�   rK   rV   r>   )rm   rs  r/  r_   r`   ÚceÚpeÚhr›  Úcehrb   r—  Úicehr°   Úmes                  rh   r1  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Ð%Ð%ri   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)
rm   ÚwrtÚflagsr•  r_   r`   Úbzr  ÚeconÚbcons
             rh   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˜‰{Œ{Ðri   c                óÀ   — | j         \  }}|                     |¦  «        r<|                     |¦  «        s)|                     |||z   ¦  «        }|||z
  z  dz
  | z  S d S d S rw   )r"   r©  r  )rm   r“   Ústepr_   r`   Únew_es         rh   Ú_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Ñ&¨$Ñ.Ð.ð	/ð 	/ð 	/ð 	/ri   rz   )r   )rp   r
   )TrL  )r   rr   )FT)Ar:   Ú
__module__Ú__qualname__Ú__doc__r  Ú	__slots__Ú__annotations__r   r\   ro   Úpropertyrl   rx   r{   Úclassmethodr€   rŠ   r[   r³   rµ   rº   rÀ   r¸   rÈ   rÍ   rß   ræ   rí   rï   rå   rô   rö   rø   r  r…   r#  r&  r)  rC  rG  rm  rp  r¢  r¤  r«  r°  rµ  r·  r¹  rÀ  rÅ  r’   rÌ  rþ  r  r  r!  r#  r%  r)  r-  r1  r:  rC  Ú__classcell__)rB   s   @rh   r   r      s:  ø€ € € € € € ðWð Wðp €Fà#€IàÐÐÑØÐÐÑàð`ð `ð `ñ „Wð`ðDð ð ð ð ðð ð ñ „Xðð ðð ð ñ „Xðð ð!ð !ñ „Xð!ð ð"ð "ñ „[ð"ð#ð #ð #ðR%ð R%ð R%ðh6Bð 6Bð 6Bðp%ð %ð %ðð ð ð3ð 3ð 3ð:ð ð ð2ð ð ð0ð ð ð*D$ð D$ð D$ðLð ð ð/ð /ð /ðbð ð ðð ð ð ð ð ðð ð ð"ð "ð "ðð ð ðBð ð ð:
)ð 
)ð 
)ðð ð ð+ð +ð +ðð ð ð(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yð yð yð yðv #ð  #ð  #ð  #ðD ð7ð 7ñ „Wð7ð!ð !ð !ð !ð !ð jð jð jð
jð jð jð
Að Að Að
	9ð 	9ð 	9ðO&ð O&ð O&ð O&ðbð ð ð./ð /ð /ð /ð /ð /ð /ri   r   Úpower)r  )r­   rÖ   )rÓ   r0  )r  r�  r�  N):Ú
__future__r   Útypingr   Ú	itertoolsr   rÖ  r   Úcacher   Ú	singletonr	   r•  r
   r™   r   r<  r   r   r   r   r   Úlogicr   r   r   r   Ú
parametersr   r6   r   r   r{   r   r   Úsympy.utilities.iterablesr   Úsympy.utilities.exceptionsr   Úsympy.utilities.miscr   Úsympy.multipledispatchr   r   rL  ÚaddÚobjectr  rü  r­   rÖ   rî  rÓ   r0  rÿ  r  r�  r�  r/  ri   rh   ú<module>rZ     sL  ðØ "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø %Ð %Ð %Ð %Ð %Ð %ð%ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %ð %à =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ø )Ð )Ð )Ð )Ð )Ð )Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø +Ð +Ð +Ð +Ð +Ð +Ð +Ð +Ø *Ð *Ð *Ð *Ð *Ð *Ø @Ð @Ð @Ð @Ð @Ð @Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø -Ð -Ð -Ð -Ð -Ð -ðV/ð V/ð V/ð V/ð V/ˆ$ñ V/ô V/ð V/ðp8 	ˆ
�7ÑÔ€Ø ‡	‚	ˆ6�6Ð
˜CÑ  Ô  Ð  à Ð Ð Ð Ð Ð Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *Ð *ri   