ó
    ‰*£hˆ¬  ã                  óà  • S SK Jr  S SKJrJrJrJrJrJrJ	r	  S SK
Jr  S SKJr  S SKJrJrJrJrJrJr  S SKJrJr  S SKJrJrJr  S SKJr  S S	KJr  S S
K J!r!  S SK"J#r#   " S S\5      r$ " S S\5      r% " S S\5      r& " S S\5      r' " S S\5      r( " S S\5      r) " S S\5      r* " S S\5      r+ " S S\5      r, " S S\5      r-S  r. " S! S"\5      r/S(S# jr0S)S$ jr1S(S% jr2S*S' jr3g&)+é    )Úannotations)ÚSÚAddÚMulÚsympifyÚSymbolÚDummyÚBasic)ÚExpr)Úfactor_terms)ÚDefinedFunctionÚ
DerivativeÚArgumentIndexErrorÚAppliedUndefÚ
expand_mulÚ	PoleError)Ú	fuzzy_notÚfuzzy_or)ÚpiÚIÚoo)ÚPow)ÚEq)Úsqrt)Ú	Piecewisec                  ón   • \ rS rSr% SrS\S'   SrSrSr\	S 5       r
SS jrS rS	 rS
 rS rS rS rSrg)Úreé   a{  
Returns real part of expression. This function performs only
elementary analysis and so it will fail to decompose properly
more complicated expressions. If completely simplified result
is needed then use ``Basic.as_real_imag()`` or perform complex
expansion on instance of this function.

Examples
========

>>> from sympy import re, im, I, E, symbols
>>> x, y = symbols('x y', real=True)
>>> re(2*E)
2*E
>>> re(2*I + 17)
17
>>> re(2*I)
0
>>> re(im(x) + x*I + 2)
2
>>> re(5 + I + 2)
7

Parameters
==========

arg : Expr
    Real or complex expression.

Returns
=======

expr : Expr
    Real part of expression.

See Also
========

im
útuple[Expr]ÚargsTc                ó   • U[         R                  L a  [         R                  $ U[         R                  L a  [         R                  $ UR                  (       a  U$ UR                  (       d  [
        U-  R                  (       a  [         R                  $ UR                  (       a  UR                  5       S   $ UR                  (       a-  [        U[        5      (       a  [        UR                  S   5      $ / / / pCn[        R                  " U5      nU H¼  nUR!                  [
        5      nUb&  UR                  (       d  UR#                  U5        M?  MA  UR%                  [
        5      (       d$  UR                  (       a  UR#                  U5        M  UR                  US9nU(       a  UR#                  US   5        M«  UR#                  U5        M¾     ['        U5      ['        U5      :w  a%  S X#U4 5       u  pšnU " U	5      [)        U
5      -
  U-   $ g )Nr   ©Úignorec              3  ó2   #   • U  H  n[        U6 v •  M     g 7f©N©r   ©Ú.0Úxss     Úa/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sympy/functions/elementary/complexes.pyÚ	<genexpr>Úre.eval.<locals>.<genexpr>i   ó   é € ÐMÒ.L¨œ3 �8Ò.Lùó   ‚)r   ÚNaNÚComplexInfinityÚis_extended_realÚis_imaginaryr   ÚZeroÚ	is_MatrixÚas_real_imagÚis_FunctionÚ
isinstanceÚ	conjugater   r    r   Ú	make_argsÚas_coefficientÚappendÚhasÚlenÚim©ÚclsÚargÚincludedÚrevertedÚexcludedr    ÚtermÚcoeffÚ	real_imagÚaÚbÚcs               r*   ÚevalÚre.evalD   s„  € à”!—%‘%Š<Ü—5‘5ˆLØ”A×%Ñ%Ò%Ü—5‘5ˆLØ×!×!ØˆJØ××¤! C¡%×!9×!9Ü—6‘6ˆMØ�]�]Ø×#Ñ#Ó% aÑ(Ð(Ø�_�_¤¨C´×!;Ñ!;Ü�c—h‘h˜q‘k“?Ð"ð ,.¨r°2 ˆHÜ—=’= Ó%ˆDÛ�Ø×+Ñ+¬AÓ.�àÑ$Ø ×1×1Ø Ÿ™¨Ö.ñ 2àŸ™¤!Ÿ™¨×)>×)>Ø—O‘O DÖ)ð
 !%× 1Ñ 1¸Ð 1Ð =�IÞ Ø Ÿ™¨	°!©Ö5à Ÿ™¨Ö-ñ! ô$ �4‹yœC ›MÓ)ÙM¨xÀ8Ñ.LÓM‘��aá˜1“v¤ 1£‘~¨Ñ)Ð)ð *ó    c                ó&   • U [         R                  4$ )z6
Returns the real number with a zero imaginary part.

©r   r3   ©ÚselfÚdeepÚhintss      r*   r5   Úre.as_real_imagm   ó   € ð
 ”a—f‘fˆ~ÐrM   c           	     óT  • UR                   (       d  U R                  S   R                   (       a!  [        [        U R                  S   USS95      $ UR                  (       d  U R                  S   R                  (       a)  [
        * [        [        U R                  S   USS95      -  $ g ©Nr   T©Úevaluate)r1   r    r   r   r2   r   r>   ©rQ   Úxs     r*   Ú_eval_derivativeÚre._eval_derivativet   ó}   € Ø×× §¡¨1¡×!>×!>Ü”j §¡¨1¡¨q¸4Ñ@ÓAÐAØ�>�>˜TŸY™Y q™\×6×6Ü�2Ü”Z §	¡	¨!¡¨a¸$Ñ?Ó@ñAð Að 7rM   c                ó`   • U R                   S   [        [        U R                   S   5      -  -
  $ ©Nr   )r    r   r>   ©rQ   rA   Úkwargss      r*   Ú_eval_rewrite_as_imÚre._eval_rewrite_as_im{   s'   € Ø�y‰y˜‰|œa¤ 4§9¡9¨Q¡<Ó 0Ñ0Ñ0Ð0rM   c                ó4   • U R                   S   R                  $ r`   ©r    Úis_algebraic©rQ   s    r*   Ú_eval_is_algebraicÚre._eval_is_algebraic~   ó   € Ø�y‰y˜‰|×(Ñ(Ð(rM   c                óx   • [        U R                  S   R                  U R                  S   R                  /5      $ r`   )r   r    r2   Úis_zerorh   s    r*   Ú_eval_is_zeroÚre._eval_is_zero�   s.   € ä˜Ÿ™ 1™×2Ñ2°D·I±I¸a±L×4HÑ4HÐIÓJÐJrM   c                óB   • U R                   S   R                  (       a  gg ©Nr   T©r    Ú	is_finiterh   s    r*   Ú_eval_is_finiteÚre._eval_is_finite…   ó   € Ø�9‰9�Q‰<×!×!Øð "rM   c                óB   • U R                   S   R                  (       a  gg rq   rr   rh   s    r*   Ú_eval_is_complexÚre._eval_is_complex‰   rv   rM   © N©T)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r1   Ú
unbranchedÚ_singularitiesÚclassmethodrK   r5   r\   rc   ri   rn   rt   rx   Ú__static_attributes__rz   rM   r*   r   r      sX   ‡ ñ'ðR ÓàÐØ€JØ€Nàñ&*ó ð&*ôPòAò1ò)òKòõrM   r   c                  ón   • \ rS rSr% SrS\S'   SrSrSr\	S 5       r
SS jrS rS	 rS
 rS rS rS rSrg)r>   éŽ   as  
Returns imaginary part of expression. This function performs only
elementary analysis and so it will fail to decompose properly more
complicated expressions. If completely simplified result is needed then
use ``Basic.as_real_imag()`` or perform complex expansion on instance of
this function.

Examples
========

>>> from sympy import re, im, E, I
>>> from sympy.abc import x, y
>>> im(2*E)
0
>>> im(2*I + 17)
2
>>> im(x*I)
re(x)
>>> im(re(x) + y)
im(y)
>>> im(2 + 3*I)
3

Parameters
==========

arg : Expr
    Real or complex expression.

Returns
=======

expr : Expr
    Imaginary part of expression.

See Also
========

re
r   r    Tc                ó2  • U[         R                  L a  [         R                  $ U[         R                  L a  [         R                  $ UR                  (       a  [         R                  $ UR
                  (       d  [        U-  R                  (       a
  [        * U-  $ UR                  (       a  UR                  5       S   $ UR                  (       a.  [        U[        5      (       a  [        UR                  S   5      * $ / / / pCn[        R                  " U5      nU H¼  nUR!                  [        5      nUb7  UR                  (       d  UR#                  U5        M?  UR#                  U5        MR  UR%                  [        5      (       d  UR                  (       a  M  UR                  US9nU(       a  UR#                  US   5        M«  UR#                  U5        M¾     ['        U5      ['        U5      :w  a%  S X#U4 5       u  pšnU " U	5      [)        U
5      -   U-   $ g )Né   r   r"   c              3  ó2   #   • U  H  n[        U6 v •  M     g 7fr%   r&   r'   s     r*   r+   Úim.eval.<locals>.<genexpr>â   r-   r.   )r   r/   r0   r1   r3   r2   r   r4   r5   r6   r7   r8   r>   r    r   r9   r:   r;   r<   r=   r   r?   s               r*   rK   Úim.eval¾   s‰  € à”!—%‘%Š<Ü—5‘5ˆLØ”A×%Ñ%Ò%Ü—5‘5ˆLØ×!×!Ü—6‘6ˆMØ××¤! C¡%×!9×!9Ü�2˜‘8ˆOØ�]�]Ø×#Ñ#Ó% aÑ(Ð(Ø�_�_¤¨C´×!;Ñ!;Ü�s—x‘x ‘{“OÐ#Ð#à+-¨r°2 ˆHÜ—=’= Ó%ˆDÛ�Ø×+Ñ+¬AÓ.�àÑ$Ø ×1×1Ø Ÿ™¨Ö.à Ÿ™¨Ö.Ø—X‘Xœa—[‘[¨×(=×(=Ñ(=ð !%× 1Ñ 1¸Ð 1Ð =�IÞ Ø Ÿ™¨	°!©Ö5à Ÿ™¨Ö-ñ! ô$ �4‹yœC ›MÓ)ÙM¨xÀ8Ñ.LÓM‘��aá˜1“v¤ 1£‘~¨Ñ)Ð)ð *rM   c                ó&   • U [         R                  4$ )z3
Return the imaginary part with a zero real part.

rO   rP   s      r*   r5   Úim.as_real_imagæ   rU   rM   c           	     óT  • UR                   (       d  U R                  S   R                   (       a!  [        [        U R                  S   USS95      $ UR                  (       d  U R                  S   R                  (       a)  [
        * [        [        U R                  S   USS95      -  $ g rW   )r1   r    r>   r   r2   r   r   rZ   s     r*   r\   Úim._eval_derivativeí   r^   rM   c                ób   • [         * U R                  S   [        U R                  S   5      -
  -  $ r`   )r   r    r   ra   s      r*   Ú_eval_rewrite_as_reÚim._eval_rewrite_as_reô   s)   € Üˆr�4—9‘9˜Q‘<¤" T§Y¡Y¨q¡\Ó"2Ñ2Ñ3Ð3rM   c                ó4   • U R                   S   R                  $ r`   rf   rh   s    r*   ri   Úim._eval_is_algebraic÷   rk   rM   c                ó4   • U R                   S   R                  $ r`   ©r    r1   rh   s    r*   rn   Úim._eval_is_zeroú   ó   € Ø�y‰y˜‰|×,Ñ,Ð,rM   c                óB   • U R                   S   R                  (       a  gg rq   rr   rh   s    r*   rt   Úim._eval_is_finiteý   rv   rM   c                óB   • U R                   S   R                  (       a  gg rq   rr   rh   s    r*   rx   Úim._eval_is_complex  rv   rM   rz   Nr{   )r|   r}   r~   r   r€   r�   r1   r‚   rƒ   r„   rK   r5   r\   r’   ri   rn   rt   rx   r…   rz   rM   r*   r>   r>   Ž   sW   ‡ ñ'ðR ÓàÐØ€JØ€Nàñ%*ó ð%*ôNòAò4ò)ò-òõrM   r>   c                  óœ   ^ • \ rS rSrSrSrSrU 4S jr\S 5       r	S r
S rS rS	 rS
 rS rS rS rS rSS jrS rS rS rS rSrU =r$ )Úsigni	  aR  
Returns the complex sign of an expression:

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

If the expression is real the sign will be:

    * $1$ if expression is positive
    * $0$ if expression is equal to zero
    * $-1$ if expression is negative

If the expression is imaginary the sign will be:

    * $I$ if im(expression) is positive
    * $-I$ if im(expression) is negative

Otherwise an unevaluated expression will be returned. When evaluated, the
result (in general) will be ``cos(arg(expr)) + I*sin(arg(expr))``.

Examples
========

>>> from sympy import sign, I

>>> sign(-1)
-1
>>> sign(0)
0
>>> sign(-3*I)
-I
>>> sign(1 + I)
sign(1 + I)
>>> _.evalf()
0.707106781186548 + 0.707106781186548*I

Parameters
==========

arg : Expr
    Real or imaginary expression.

Returns
=======

expr : Expr
    Complex sign of expression.

See Also
========

Abs, conjugate
Tc                ó¶   >• [         TU ]  5       nX :X  aD  U R                  S   R                  SL a(  U R                  S   [	        U R                  S   5      -  $ U$ )Nr   F)ÚsuperÚdoitr    rm   ÚAbs)rQ   rS   ÚsÚ	__class__s      €r*   r¢   Ú	sign.doitC  sM   ø€ Ü‰G‰L‹NˆØ‹9˜Ÿ™ 1™×-Ñ-°Ò6Ø—9‘9˜Q‘<¤# d§i¡i°¡lÓ"3Ñ3Ð3ØˆrM   c                óŽ  • UR                   (       Ga  UR                  5       u  p#/ n[        U5      nU Hž  nUR                  (       a  U* nM  UR                  (       a  M,  UR
                  (       aP  [        U5      nUR                  (       a!  U[        -  nUR                  (       a  U* nMx  Mz  UR                  U5        M�  UR                  U5        M      U[        R                  L a  [        U5      [        U5      :X  a  g XP" UR                  " U6 5      -  $ U[        R                  L a  [        R                  $ UR                  (       a  [        R                   $ UR                  (       a  [        R                  $ UR                  (       a  [        R"                  $ UR$                  (       a  ['        U[        5      (       a  U$ UR
                  (       an  UR(                  (       a#  UR*                  [        R,                  L a  [        $ [        * U-  nUR                  (       a  [        $ UR                  (       a  [        * $ g g r%   )Úis_MulÚas_coeff_mulrŸ   Úis_extended_negativeÚis_extended_positiver2   r>   Úis_comparabler   r;   r   ÚOner=   Ú_new_rawargsr/   rm   r3   ÚNegativeOner6   r7   Úis_PowÚexpÚHalf)	r@   rA   rJ   r    Úunkr¤   rH   ÚaiÚarg2s	            r*   rK   Ú	sign.evalI  s—  € ð �:�:ˆ:Ø×&Ñ&Ó(‰GˆAØˆCÜ�Q“ˆAÛ�Ø×)×)Ø˜’AØ×+×+Ùà—~—~Ü ›U˜Ø×+×+Ø¤™F˜AØ!×6×6ð &' B¢ñ  7ð
  ŸJ™J qžMàŸ
™
 1žñ# ð$ ”A—E‘EŠzœc #›h¬#¨d«)Ó3ØØ�s˜3×+Ò+¨SÐ1Ó2Ñ2Ð2Ø”!—%‘%Š<Ü—5‘5ˆLØ�;�;Ü—6‘6ˆMØ×#×#Ü—5‘5ˆLØ×#×#Ü—=‘=Ð Ø�?�?Ü˜#œt×$Ñ$Ø�
Ø××Ø�z�z˜cŸg™g¬¯©Ò/ô �Ü�2˜‘8ˆDØ×(×(Ü�Ø×(×(Ü�r�	ð )ð rM   c                ór   • [        U R                  S   R                  5      (       a  [        R                  $ g r`   )r   r    rm   r   r­   rh   s    r*   Ú	_eval_AbsÚsign._eval_Abs{  s)   € Ü�T—Y‘Y˜q‘\×)Ñ)×*Ñ*Ü—5‘5ˆLð +rM   c                óD   • [        [        U R                  S   5      5      $ r`   )rŸ   r8   r    rh   s    r*   Ú_eval_conjugateÚsign._eval_conjugate  s   € Ü”I˜dŸi™i¨™lÓ+Ó,Ð,rM   c                óh  • U R                   S   R                  (       a7  SSKJn  S[	        U R                   S   USS9-  U" U R                   S   5      -  $ U R                   S   R
                  (       a?  SSKJn  S[	        U R                   S   USS9-  U" [        * U R                   S   -  5      -  $ g )Nr   )Ú
DiracDeltaé   TrX   )r    r1   Ú'sympy.functions.special.delta_functionsr¾   r   r2   r   )rQ   r[   r¾   s      r*   r\   Úsign._eval_derivative‚  sœ   € Ø�9‰9�Q‰<×(×(ÝJØ”z $§)¡)¨A¡,°¸DÑAÑAÙ˜TŸY™Y q™\Ó*ñ+ð +à�Y‰Y�q‰\×&×&ÝJØ”z $§)¡)¨A¡,°¸DÑAÑAÙœa˜R $§)¡)¨A¡,Ñ.Ó/ñ0ð 0ð 'rM   c                óB   • U R                   S   R                  (       a  gg rq   )r    Úis_nonnegativerh   s    r*   Ú_eval_is_nonnegativeÚsign._eval_is_nonnegativeŒ  ó   € Ø�9‰9�Q‰<×&×&Øð 'rM   c                óB   • U R                   S   R                  (       a  gg rq   )r    Úis_nonpositiverh   s    r*   Ú_eval_is_nonpositiveÚsign._eval_is_nonpositive�  rÆ   rM   c                ó4   • U R                   S   R                  $ r`   )r    r2   rh   s    r*   Ú_eval_is_imaginaryÚsign._eval_is_imaginary”  rk   rM   c                ó4   • U R                   S   R                  $ r`   r—   rh   s    r*   Ú_eval_is_integerÚsign._eval_is_integer—  r™   rM   c                ó4   • U R                   S   R                  $ r`   )r    rm   rh   s    r*   rn   Úsign._eval_is_zeroš  s   € Ø�y‰y˜‰|×#Ñ#Ð#rM   c                óº   • [        U R                  S   R                  5      (       a4  UR                  (       a"  UR                  (       a  [
        R                  $ g g g r`   )r   r    rm   Ú
is_integerÚis_evenr   r­   )rQ   Úothers     r*   Ú_eval_powerÚsign._eval_power�  sC   € ä�d—i‘i ‘l×*Ñ*×+Ñ+Ø××Ø�M�Mä—5‘5ˆLð ð ð ,rM   c                ó   • U R                   S   nUR                  US5      nUS:w  a  U R                  U5      $ US:w  a  UR                  X5      n[	        U5      S:  a  [
        R                  * $ [
        R                  $ r`   )r    ÚsubsÚfuncÚdirr   r   r­   )rQ   r[   ÚnÚlogxÚcdirÚarg0Úx0s          r*   Ú_eval_nseriesÚsign._eval_nseries¥  sg   € Ø�y‰y˜‰|ˆØ�Y‰Y�q˜!‹_ˆØ�‹7Ø—9‘9˜R“=Ð Ø�1‹9Ø—8‘8˜AÓ$ˆDÜ˜D› A›”—‘ˆvÐ0¬1¯5©5Ð0rM   c                óT   • UR                   (       a  [        SUS:„  4SUS:  4S5      $ g )Nr‰   r   éÿÿÿÿ)r   T)r1   r   ra   s      r*   Ú_eval_rewrite_as_PiecewiseÚsign._eval_rewrite_as_Piecewise®  s/   € Ø××Ü˜a  q¡˜\¨B°°a±¨=¸)ÓDÐDð  rM   c                óN   • SSK Jn  UR                  (       a  U" U5      S-  S-
  $ g )Nr   ©Ú	Heavisider¿   r‰   ©rÀ   rê   r1   ©rQ   rA   rb   rê   s       r*   Ú_eval_rewrite_as_HeavisideÚsign._eval_rewrite_as_Heaviside²  s'   € ÝEØ××Ù˜S“> AÑ%¨Ñ)Ð)ð  rM   c                óN   • [        S[        US5      4U[        U5      -  S45      $ rq   )r   r   r£   ra   s      r*   Ú_eval_rewrite_as_AbsÚsign._eval_rewrite_as_Abs·  s&   € Ü˜!œR  Q›Z˜¨3´°S³©>¸4Ð*@ÓAÐArM   c                óP   • U R                  [        U R                  S   5      5      $ r`   )rÛ   r   r    )rQ   rb   s     r*   Ú_eval_simplifyÚsign._eval_simplifyº  s   € Ø�y‰yœ d§i¡i°¡lÓ3Ó4Ð4rM   rz   ©r   )r|   r}   r~   r   r€   Ú
is_complexrƒ   r¢   r„   rK   r¸   r»   r\   rÄ   rÉ   rÌ   rÏ   rn   r×   râ   ræ   rí   rð   ró   r…   Ú__classcell__)r¥   s   @r*   rŸ   rŸ   	  s|   ø† ñ4ðl €JØ€Nõð ñ/ó ð/òbò-ò0òòò)ò-ò$òô1òEò*ò
B÷5ð 5rM   rŸ   c                  ó¶   • \ rS rSr% SrS\S'   SrSrSrSr	Sr
SS jr\S 5       rS	 rS
 rS rS rS rS rS rS rS rS rSS jrS rS rS rS rS rSrg)r£   i¾  aº  
Return the absolute value of the argument.

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

This is an extension of the built-in function ``abs()`` to accept symbolic
values.  If you pass a SymPy expression to the built-in ``abs()``, it will
pass it automatically to ``Abs()``.

Examples
========

>>> from sympy import Abs, Symbol, S, I
>>> Abs(-1)
1
>>> x = Symbol('x', real=True)
>>> Abs(-x)
Abs(x)
>>> Abs(x**2)
x**2
>>> abs(-x) # The Python built-in
Abs(x)
>>> Abs(3*x + 2*I)
sqrt(9*x**2 + 4)
>>> Abs(8*I)
8

Note that the Python built-in will return either an Expr or int depending on
the argument::

    >>> type(abs(-1))
    <... 'int'>
    >>> type(abs(S.NegativeOne))
    <class 'sympy.core.numbers.One'>

Abs will always return a SymPy object.

Parameters
==========

arg : Expr
    Real or complex expression.

Returns
=======

expr : Expr
    Absolute value returned can be an expression or integer depending on
    input arg.

See Also
========

sign, conjugate
r   r    TFc                óT   • US:X  a  [        U R                  S   5      $ [        X5      e)z5
Get the first derivative of the argument to Abs().

r‰   r   )rŸ   r    r   )rQ   Úargindexs     r*   ÚfdiffÚ	Abs.fdiff   s)   € ð
 �q‹=Ü˜Ÿ	™	 !™Ó%Ð%ä$ TÓ4Ð4rM   c           
     óž  ^^• SSK Jn  [        TS5      (       a  TR                  5       nUb  U$ [	        T[
        5      (       d  [        S[        T5      -  5      eU" TSS9mTR                  5       u  pEUR                  (       a"  UR                  (       d  U " U5      U " U5      -  $ TR                  (       Ga%  / n/ nTR                   Há  nUR                  (       a‘  UR                  R                  (       av  UR                  R                  (       a[  U " UR                   5      n	[	        X�5      (       a  UR#                  U5        M  UR#                  [%        X˜R                  5      5        M¥  U " U5      n
[	        X 5      (       a  UR#                  U5        MÐ  UR#                  U
5        Mã     ['        U6 nU(       a  U " ['        U6 SS9O[(        R*                  nXg-  $ T[(        R,                  L a  [(        R,                  $ T[(        R.                  L a  [0        $ SSKJnJn  TR                  (       Ga%  TR7                  5       u  pÞUR8                  (       a¯  UR                  (       aD  UR:                  (       a  T$ U[(        R<                  L a  [(        R*                  $ [?        U5      U-  $ UR@                  (       a  U[C        U5      -  $ URD                  (       a)  U* [C        U5      -  U" [F        * [I        U5      -  5      -  $ g URK                  [L        5      (       d9  U" U5      RO                  5       u  nnU[P        U-  -   nU" [C        UU-  5      5      $ [	        TU5      (       a  U" [C        TR                  S   5      5      $ [	        T[R        5      (       a(  TRT                  (       a  T$ TR                  (       a  T* $ g TRV                  (       aT  TRK                  [0        [(        RX                  5      (       a+  [[        S TRO                  5        5       5      (       a  [0        $ TR\                  (       a  [(        R^                  $ TR@                  (       a  T$ TR`                  (       a  T* $ TRb                  (       a  [P        * T-  nUR@                  (       a  U$ TR8                  (       a  g U" TRe                  5       SS9mTRg                  [d        5      TRg                  [d        5      -
  nU(       a  [i        U4S	 jU 5       5      (       a  g TT:w  aª  TT* :w  a¢  TRg                  [>        5      nTRk                  U Vs0 s H  nU[m        S
S9_M     sn5      nUR                   Vs/ s H  oÿR8                  b  M  UPM     nnU(       a  [i        U4S jU 5       5      (       d  [o        [q        TT-  5      5      $ g g g s  snf s  snf )Nr   )Úsignsimpr¸   zBad argument type for Abs(): %sFrX   )r±   Úlogc              3  ó8   #   • U  H  oR                   v •  M     g 7fr%   )Úis_infinite)r(   rH   s     r*   r+   ÚAbs.eval.<locals>.<genexpr>P  s   é € Ð=Ò*< Q—=–=Ò*<ùs   ‚c              3  ó`   >#   • U  H#  nTR                  UR                  S    5      v •  M%     g7f)r   N)r<   r    )r(   ÚirA   s     €r*   r+   r  b  s%   øé € ÐAº°1˜CŸG™G A§F¡F¨1¡I×.Ð.ºùs   ƒ+.T)Úrealc              3  óX   >#   • U  H  nTR                  [        U5      5      v •  M!     g 7fr%   )r<   r8   )r(   ÚuÚconjs     €r*   r+   r  h  s!   øé € Ð!FÂ#¸Q $§(¡(¬9°Q«<×"8Ð"8Â#ùs   ƒ'*)9Úsympy.simplify.simplifyrþ   Úhasattrr¸   r7   r   Ú	TypeErrorÚtypeÚas_numer_denomÚfree_symbolsr¨   r    r°   r±   rÔ   Úis_negativeÚbaser;   r   r   r   r­   r/   r0   r   Ú&sympy.functions.elementary.exponentialrÿ   Úas_base_expr1   rÕ   r¯   r£   Úis_extended_nonnegativer   rª   r   r>   r<   r   r5   r   r   Úis_positiveÚis_AddÚNegativeInfinityÚanyrm   r3   Úis_extended_nonpositiver2   r8   ÚatomsÚallÚxreplacer	   r   r   )r@   rA   rþ   ÚobjrÝ   ÚdÚknownr³   ÚtÚbnewÚtnewr±   rÿ   r  ÚexponentrH   rI   Úzrµ   Únew_conjr#   r  Úabs_free_argr  s    `                     @r*   rK   ÚAbs.eval
  s4  ù€ å4ä�3˜×$Ñ$Ø—-‘-“/ˆCØ‰Ø�
Ü˜#œt×$Ñ$ÜÐ=ÄÀSÃ	ÑIÓJÐJñ �s UÑ+ˆØ×!Ñ!Ó#‰ˆØ�>�> !§.§.Ù�q“6™#˜a›&‘=Ð à�:�:ˆ:ØˆEØˆCØ—X”X�Ø—8—8 §¡× 0× 0°Q·U±U×5F×5FÙ˜qŸv™v›;�DÜ! $×,Ñ,ØŸ
™
 1žàŸ™¤S¨¯u©uÓ%5Ö6á˜q›6�DÜ! $×,Ñ,ØŸ
™
 1žàŸ™ TÖ*ñ ô ˜�KˆEÞ47‘#”c˜3�i¨%Ò0¼Q¿U¹UˆCØ‘9ÐØ”!—%‘%Š<Ü—5‘5ˆLØ”!×#Ñ#Ò#ÜˆIßCà�:�:ˆ:Ø Ÿ_™_Ó.‰NˆDØ×$×$Ø×&×&Ø×'×'Ø"˜
ØœqŸ}™}Ò,Ü Ÿu™u˜Ü˜t›9 hÑ.Ð.Ø×/×/Ø¤ H£Ñ-Ð-Ø×,×,Ø!˜E¤B x£LÑ0±´b°S¼¸H»Ñ5EÓ1FÑFÐFØØ—X‘Xœf×%Ñ%á˜4“y×-Ñ-Ó/‘��1Øœ˜!™‘G�Ùœ2˜h q™j›>Ó*Ð*Ü�c˜3×ÑÙ”r˜#Ÿ(™( 1™+“Ó'Ð'Ü�cœ<×(Ñ(Ø��Ø�
Ø——Ø�t�ØØ�:�:˜#Ÿ'™'¤"¤a×&8Ñ&8×9Ñ9ÜÑ=¨#×*:Ñ*:Ô*<Ó=×=Ñ=Ü�	Ø�;�;Ü—6‘6ˆMØ×&×&ØˆJØ×&×&Ø�4ˆKØ××Ü�2˜‘8ˆDØ×+×+Ø�Ø××Øñ ˜Ÿ™›°%Ñ8ˆØ—:‘:œiÓ(¨3¯9©9´YÓ+?Ñ?ˆÞœÔA¹ÓA×AÑAØØ�$‹;˜3 4 %›<Ø—Y‘Yœs“^ˆFØŸ<™<ÁfÓ(MÂfÀ¨¬E°tÑ,<Ò)<ÁfÑ(MÓNˆLØ*×7Ò7ÓVÒ7˜×;MÑ;M—1Ñ7ˆCÐVÞœcÔ!FÁ#Ó!F×FÑFÜœJ s¨4¡xÓ0Ó1Ð1ð Gð	 (ˆ;ùâ(MùÚVs   ÕWÕ.W
ÖW
c                óB   • U R                   S   R                  (       a  gg rq   rr   rh   s    r*   Ú_eval_is_realÚAbs._eval_is_realk  rv   rM   c                ór   • U R                   S   R                  (       a  U R                   S   R                  $ g r`   )r    r1   rÔ   rh   s    r*   rÏ   ÚAbs._eval_is_integero  s,   € Ø�9‰9�Q‰<×(×(Ø—9‘9˜Q‘<×*Ñ*Ð*ð )rM   c                óF   • [        U R                  S   R                  5      $ r`   ©r   Ú_argsrm   rh   s    r*   Ú_eval_is_extended_nonzeroÚAbs._eval_is_extended_nonzeros  ó   € Ü˜Ÿ™ A™×.Ñ.Ó/Ð/rM   c                ó4   • U R                   S   R                  $ r`   )r.  rm   rh   s    r*   rn   ÚAbs._eval_is_zerov  s   € Ø�z‰z˜!‰}×$Ñ$Ð$rM   c                óF   • [        U R                  S   R                  5      $ r`   r-  rh   s    r*   Ú_eval_is_extended_positiveÚAbs._eval_is_extended_positivey  r1  rM   c                ór   • U R                   S   R                  (       a  U R                   S   R                  $ g r`   )r    r1   Úis_rationalrh   s    r*   Ú_eval_is_rationalÚAbs._eval_is_rational|  s,   € Ø�9‰9�Q‰<×(×(Ø—9‘9˜Q‘<×+Ñ+Ð+ð )rM   c                ór   • U R                   S   R                  (       a  U R                   S   R                  $ g r`   )r    r1   rÕ   rh   s    r*   Ú_eval_is_evenÚAbs._eval_is_even€  s,   € Ø�9‰9�Q‰<×(×(Ø—9‘9˜Q‘<×'Ñ'Ð'ð )rM   c                ór   • U R                   S   R                  (       a  U R                   S   R                  $ g r`   )r    r1   Úis_oddrh   s    r*   Ú_eval_is_oddÚAbs._eval_is_odd„  s,   € Ø�9‰9�Q‰<×(×(Ø—9‘9˜Q‘<×&Ñ&Ð&ð )rM   c                ó4   • U R                   S   R                  $ r`   rf   rh   s    r*   ri   ÚAbs._eval_is_algebraicˆ  rk   rM   c                ó   • U R                   S   R                  (       ap  UR                  (       a_  UR                  (       a  U R                   S   U-  $ U[        R
                  La)  UR                  (       a  U R                   S   US-
  -  U -  $ g )Nr   r‰   )r    r1   rÔ   rÕ   r   r¯   Ú
is_Integer)rQ   r"  s     r*   r×   ÚAbs._eval_power‹  sj   € Ø�9‰9�Q‰<×(×(¨X×-@×-@Ø××Ø—y‘y ‘| XÑ-Ð-Ø¤§¡Ò.°8×3F×3FØ—y‘y ‘| h°¡lÑ3°DÑ8Ð8ØrM   c                ó*  • SSK Jn  U R                  S   R                  U5      S   nUR	                  U" U5      5      (       a  UR                  U" U5      U5      nU R                  S   R                  XUS9n[        U5      U-  R                  5       $ )Nr   )rÿ   )rÝ   rÞ   )	r  rÿ   r    Úleadtermr<   rÚ   râ   rŸ   Úexpand)rQ   r[   rÝ   rÞ   rß   rÿ   Ú	directionr¤   s           r*   râ   ÚAbs._eval_nseries“  s~   € Ý>Ø—I‘I˜a‘L×)Ñ)¨!Ó,¨QÑ/ˆ	Ø�=‰=™˜Q›× Ñ Ø!Ÿ™¡s¨1£v¨tÓ4ˆIØ�I‰I�a‰L×&Ñ& q°DÐ&Ð9ˆÜ�Y“ Ñ!×)Ñ)Ó+Ð+rM   c                ó4  • U R                   S   R                  (       d  U R                   S   R                  (       a:  [        U R                   S   USS9[	        [        U R                   S   5      5      -  $ [        U R                   S   5      [        [        U R                   S   5      USS9-  [        U R                   S   5      [        [        U R                   S   5      USS9-  -   [        U R                   S   5      -  nUR                  [        5      $ rW   )
r    r1   r2   r   rŸ   r8   r   r>   r£   Úrewrite)rQ   r[   Úrvs      r*   r\   ÚAbs._eval_derivative›  sã   € Ø�9‰9�Q‰<×(×(¨D¯I©I°a©L×,E×,EÜ˜dŸi™i¨™l¨A¸Ñ=Ü”y §¡¨1¡Ó.Ó/ñ0ð 0ä�—‘˜1‘Ó¤¬B¨t¯y©y¸©|Ó,<¸aØñ"ñ Ü §	¡	¨!¡Ó-´
¼2¸d¿i¹iÈ¹lÓ;KØ˜Dñ1"ñ "ñ"ä%(¨¯©°1©Ó%6ñ7ˆð �z‰zœ$ÓÐrM   c                óZ   • SSK Jn  UR                  (       a  X" U5      U" U* 5      -
  -  $ g )Nr   ré   rë   rì   s       r*   rí   ÚAbs._eval_rewrite_as_Heaviside¤  s0   € õ 	FØ××Ø˜	 #›©°C°4«Ñ8Ñ9Ð9ð  rM   c                óÀ   • UR                   (       a  [        XS:¬  4U* S45      $ UR                  (       a)  [        [        U-  [        U-  S:¬  4[        * U-  S45      $ g rq   )r1   r   r2   r   ra   s      r*   ræ   ÚAbs._eval_rewrite_as_Piecewise«  sZ   € Ø××Ü˜c¨!¡8˜_°¨t°T¨lÓ;Ð;Ø××Üœa ™e¤Q s¡U¨a¡ZÐ0´A°2°c±6¸4°.ÓAÐAð rM   c                ó   • U[        U5      -  $ r%   )rŸ   ra   s      r*   Ú_eval_rewrite_as_signÚAbs._eval_rewrite_as_sign±  s   € Ø”4˜“9‰}ÐrM   c                ó0   • [        U[        U5      -  5      $ r%   )r   r8   ra   s      r*   Ú_eval_rewrite_as_conjugateÚAbs._eval_rewrite_as_conjugate´  s   € Ü�Cœ	 #›Ñ&Ó'Ð'rM   rz   N)r‰   rõ   )r|   r}   r~   r   r€   r�   r1   rª   r  r‚   rƒ   rû   r„   rK   r(  rÏ   r/  rn   r5  r9  r<  r@  ri   r×   râ   r\   rí   ræ   rU  rX  r…   rz   rM   r*   r£   r£   ¾  s™   ‡ ñ7ðr ÓàÐØ ÐØ"ÐØ€JØ€Nô5ð ñ^2ó ð^2ò@ò+ò0ò%ò0ò,ò(ò'ò)òô,ò ò:òBòõ(rM   r£   c                  óT   • \ rS rSrSrSrSrSrSr\	S 5       r
S rS rS rSS jrS	rg
)rA   i¸  a  
Returns the argument (in radians) of a complex number. The argument is
evaluated in consistent convention with ``atan2`` where the branch-cut is
taken along the negative real axis and ``arg(z)`` is in the interval
$(-\pi,\pi]$. For a positive number, the argument is always 0; the
argument of a negative number is $\pi$; and the argument of 0
is undefined and returns ``nan``. So the ``arg`` function will never nest
greater than 3 levels since at the 4th application, the result must be
nan; for a real number, nan is returned on the 3rd application.

Examples
========

>>> from sympy import arg, I, sqrt, Dummy
>>> from sympy.abc import x
>>> arg(2.0)
0
>>> arg(I)
pi/2
>>> arg(sqrt(2) + I*sqrt(2))
pi/4
>>> arg(sqrt(3)/2 + I/2)
pi/6
>>> arg(4 + 3*I)
atan(3/4)
>>> arg(0.8 + 0.6*I)
0.643501108793284
>>> arg(arg(arg(arg(x))))
nan
>>> real = Dummy(real=True)
>>> arg(arg(arg(real)))
nan

Parameters
==========

arg : Expr
    Real or complex expression.

Returns
=======

value : Expr
    Returns arc tangent of arg measured in radians.

Tc                ó  • Un[        S5       HM  n[        X 5      (       a  UR                  S   nM$  US:X  a#  UR                  (       a  [        R
                  s  $   O   [        R
                  $ SSKJnJn  [        X5      (       a  [        U[        5      $ [        X5      (       ak  [        UR                  S   5      nUR                  (       aB  US[        R                  -  -  nU[        R                  :”  a  US[        R                  -  -  nU$ UR                  (       dx  [        U5      R!                  5       u  pxUR"                  (       a=  [%        UR                   Vs/ s H  n['        U5      S;  a  UO
['        U5      PM!     sn6 n['        U5      U-  nOUn[)        S UR+                  [,        5       5       5      (       a  g SSKJn	  UR3                  5       u  p«U	" Xº5      nUR4                  (       a  U$ X�:w  a  U " USS	9$ g s  snf )
Né   r   r¿   ©r±   Ú	exp_polar)rå   r‰   c              3  ó<   #   • U  H  oR                   S L v •  M     g 7fr%   )r«   )r(   r  s     r*   r+   Úarg.eval.<locals>.<genexpr>  s   é € ÐPÒ7O°!×%Ñ%¨Õ-Ò7Oùs   ‚©Úatan2FrX   )Úranger7   r    r1   r   r/   r  r±   r^  Úperiodic_argumentr   r>   r¬   ÚPiÚis_Atomr   Úas_coeff_Mulr¨   r   rŸ   r  r  r   Ú(sympy.functions.elementary.trigonometricrb  r5   Ú	is_number)r@   rA   rH   r  r±   r^  Úi_rJ   Úarg_rb  r[   ÚyrN  s                r*   rK   Úarg.evalí  s›  € àˆÜ�q–ˆAÜ˜!×!Ñ!Ø—F‘F˜1‘I’à˜“6˜a×0×0ÜŸ5™5’LÙñ ô —5‘5ˆLßIÜ�c×%Ñ%Ü$ S¬"Ó-Ð-Ü˜×!Ñ!Ü�C—H‘H˜Q‘K“ˆBØ××Ø�aœŸ™‘f‘�ØœŸ™“9Ø˜!œAŸD™D™&‘L�BØ�	à�{�{Ü" 3Ó'×4Ñ4Ó6‰GˆAØ�{�{ÜØ%)§Y¢Yó0Ú%. ô $(¨£7°'Ó#9™QÜ˜“GòÙ%.ñ0ð 1�ä˜“7˜4‘<‰DàˆDÜÑP°t·z±zÄ,Ô7OÓP×PÑPØÝBØ× Ñ Ó"‰ˆÙ�1‹[ˆØ�<�<ØˆIØ‹;Ù�t eÑ,Ð,ð ùò0s   Å"&Hc                óŽ   • U R                   S   R                  5       u  p#U[        X1SS9-  U[        X!SS9-  -
  US-  US-  -   -  $ )Nr   TrX   r¿   )r    r5   r   )rQ   r  r[   rl  s       r*   r\   Úarg._eval_derivative  sZ   € Ø�y‰y˜‰|×(Ñ(Ó*‰ˆØ”J˜q¨dÑ3Ñ3°aÜ˜q¨dÑ3ñ74ñ 4Ø89¸1¹¸qÀ!¹t¹ñEð 	ErM   c                ó\   • SSK Jn  U R                  S   R                  5       u  pEU" XT5      $ )Nr   ra  )rh  rb  r    r5   )rQ   rA   rb   rb  r[   rl  s         r*   Ú_eval_rewrite_as_atan2Úarg._eval_rewrite_as_atan2  s'   € ÝBØ�y‰y˜‰|×(Ñ(Ó*‰ˆÙ�Q‹{ÐrM   c                ó  • U R                   S   n[        SSS9nUS:X  a  SnUR                  XU-  5      nUR                  (       a  [        R
                  $ UR                  (       a  [        R                  $ [        SU -  5      e)Nr   r  T)Úpositiver‰   zCannot expand %s around 0)	r    r	   rÚ   r  r   r3   r  re  r   )rQ   r[   rÞ   rß   rà   r  r#  s          r*   Ú_eval_as_leading_termÚarg._eval_as_leading_term   sj   € Ø�y‰y˜‰|ˆÜ�# Ñ%ˆØ�1‹9ØˆDØ�I‰I�a˜a™Ó ˆØ�=�=Ü—6‘6ˆMØ�]�]Ü—4‘4ˆKäÐ7¸4Ñ@ÓAÐArM   c                óJ   • SSK Jn  US::  a  U" S5      $ U R                  XUS9$ )Nr   )ÚOrderr‰   )rÞ   rß   )Úsympy.series.orderrx  ru  )rQ   r[   rÝ   rÞ   rß   rx  s         r*   râ   Úarg._eval_nseries-  s+   € Ý,Ø�‹6Ù˜“8ˆOØ×)Ñ)¨!¸TÐ)ÐBÐBrM   rz   Nrõ   )r|   r}   r~   r   r€   r1   Úis_realrs   rƒ   r„   rK   r\   rq  ru  râ   r…   rz   rM   r*   rA   rA   ¸  sI   † ñ-ð^ ÐØ€GØ€IØ€Nàñ&-ó ð&-òPEò
ò
B÷CrM   rA   c                  óV   • \ rS rSrSrSr\S 5       rS rS r	S r
S rS	 rS
 rS rSrg)r8   i4  aÂ  
Returns the *complex conjugate* [1]_ of an argument.
In mathematics, the complex conjugate of a complex number
is given by changing the sign of the imaginary part.

Thus, the conjugate of the complex number
:math:`a + ib` (where $a$ and $b$ are real numbers) is :math:`a - ib`

Examples
========

>>> from sympy import conjugate, I
>>> conjugate(2)
2
>>> conjugate(I)
-I
>>> conjugate(3 + 2*I)
3 - 2*I
>>> conjugate(5 - I)
5 + I

Parameters
==========

arg : Expr
    Real or complex expression.

Returns
=======

arg : Expr
    Complex conjugate of arg as real, imaginary or mixed expression.

See Also
========

sign, Abs

References
==========

.. [1] https://en.wikipedia.org/wiki/Complex_conjugation
Tc                ó.   • UR                  5       nUb  U$ g r%   )r»   ©r@   rA   r  s      r*   rK   Úconjugate.evalb  ó   € à×!Ñ!Ó#ˆØ‰?ØˆJð rM   c                ó   • [         $ r%   )r8   rh   s    r*   ÚinverseÚconjugate.inverseh  s   € ÜÐrM   c                ó0   • [        U R                  S   SS9$ rW   ©r£   r    rh   s    r*   r¸   Úconjugate._eval_Absk  ó   € Ü�4—9‘9˜Q‘<¨$Ñ/Ð/rM   c                ó2   • [        U R                  S   5      $ r`   ©Ú	transposer    rh   s    r*   Ú_eval_adjointÚconjugate._eval_adjointn  ó   € Ü˜Ÿ™ 1™Ó&Ð&rM   c                ó    • U R                   S   $ r`   ©r    rh   s    r*   r»   Úconjugate._eval_conjugateq  ó   € Ø�y‰y˜‰|ÐrM   c                óÎ   • UR                   (       a!  [        [        U R                  S   USS95      $ UR                  (       a"  [        [        U R                  S   USS95      * $ g rW   )r{  r8   r   r    r2   rZ   s     r*   r\   Úconjugate._eval_derivativet  sP   € Ø�9�9ÜœZ¨¯	©	°!©°aÀ$ÑGÓHÐHØ�^�^Üœj¨¯©°1©°qÀ4ÑHÓIÐIÐIð rM   c                ó2   • [        U R                  S   5      $ r`   ©Úadjointr    rh   s    r*   Ú_eval_transposeÚconjugate._eval_transposez  ó   € Ü�t—y‘y ‘|Ó$Ð$rM   c                ó4   • U R                   S   R                  $ r`   rf   rh   s    r*   ri   Úconjugate._eval_is_algebraic}  rk   rM   rz   N)r|   r}   r~   r   r€   rƒ   r„   rK   r‚  r¸   r‹  r»   r\   r—  ri   r…   rz   rM   r*   r8   r8   4  sE   † ñ*ðV €Nàñó ðò
ò0ò'òòJò%õ)rM   r8   c                  ó:   • \ rS rSrSr\S 5       rS rS rS r	Sr
g)	rŠ  i�  a  
Linear map transposition.

Examples
========

>>> from sympy import transpose, Matrix, MatrixSymbol
>>> A = MatrixSymbol('A', 25, 9)
>>> transpose(A)
A.T
>>> B = MatrixSymbol('B', 9, 22)
>>> transpose(B)
B.T
>>> transpose(A*B)
B.T*A.T
>>> M = Matrix([[4, 5], [2, 1], [90, 12]])
>>> M
Matrix([
[ 4,  5],
[ 2,  1],
[90, 12]])
>>> transpose(M)
Matrix([
[4, 2, 90],
[5, 1, 12]])

Parameters
==========

arg : Matrix
     Matrix or matrix expression to take the transpose of.

Returns
=======

value : Matrix
    Transpose of arg.

c                ó.   • UR                  5       nUb  U$ g r%   )r—  r~  s      r*   rK   Útranspose.evalª  r€  rM   c                ó2   • [        U R                  S   5      $ r`   ©r8   r    rh   s    r*   r‹  Útranspose._eval_adjoint°  r�  rM   c                ó2   • [        U R                  S   5      $ r`   r•  rh   s    r*   r»   Útranspose._eval_conjugate³  r™  rM   c                ó    • U R                   S   $ r`   r�  rh   s    r*   r—  Útranspose._eval_transpose¶  r‘  rM   rz   N)r|   r}   r~   r   r€   r„   rK   r‹  r»   r—  r…   rz   rM   r*   rŠ  rŠ  �  s+   † ñ&ðP ñó ðò
'ò%õrM   rŠ  c                  óJ   • \ rS rSrSr\S 5       rS rS rS r	SS jr
S	 rS
rg)r–  iº  aq  
Conjugate transpose or Hermite conjugation.

Examples
========

>>> from sympy import adjoint, MatrixSymbol
>>> A = MatrixSymbol('A', 10, 5)
>>> adjoint(A)
Adjoint(A)

Parameters
==========

arg : Matrix
    Matrix or matrix expression to take the adjoint of.

Returns
=======

value : Matrix
    Represents the conjugate transpose or Hermite
    conjugation of arg.

c                ój   • UR                  5       nUb  U$ UR                  5       nUb  [        U5      $ g r%   )r‹  r—  r8   r~  s      r*   rK   Úadjoint.evalÕ  s<   € à×ÑÓ!ˆØ‰?ØˆJØ×!Ñ!Ó#ˆØ‰?Ü˜S“>Ð!ð rM   c                ó    • U R                   S   $ r`   r�  rh   s    r*   r‹  Úadjoint._eval_adjointÞ  r‘  rM   c                ó2   • [        U R                  S   5      $ r`   r‰  rh   s    r*   r»   Úadjoint._eval_conjugateá  r�  rM   c                ó2   • [        U R                  S   5      $ r`   r   rh   s    r*   r—  Úadjoint._eval_transposeä  r�  rM   Nc                óp   • UR                  U R                  S   5      nSU-  nU(       a  SU< SU< S3nU$ )Nr   z%s^{\dagger}z\left(z	\right)^{Ú})Ú_printr    )rQ   Úprinterr±   r    rA   Útexs         r*   Ú_latexÚadjoint._latexç  s4   € Ø�n‰n˜TŸY™Y q™\Ó*ˆØ Ñ#ˆßÛ-0³#Ð6ˆCØˆ
rM   c                ó    • SSK Jn  UR                  " U R                  S   /UQ76 nUR                  (       a  XC" S5      -  nU$ XC" S5      -  nU$ )Nr   )Ú
prettyFormu   â€ Ú+)Ú sympy.printing.pretty.stringpictr·  r±  r    Ú_use_unicode)rQ   r²  r    r·  Úpforms        r*   Ú_prettyÚadjoint._prettyî  sT   € Ý?Ø—’˜tŸy™y¨™|Ð3¨dÒ3ˆØ××Ø˜: lÓ3Ñ3ˆEð ˆð ˜: c›?Ñ*ˆEØˆrM   rz   r%   )r|   r}   r~   r   r€   r„   rK   r‹  r»   r—  r´  r¼  r…   rz   rM   r*   r–  r–  º  s4   † ñð4 ñ"ó ð"òò'ò'ôõrM   r–  c                  ó<   • \ rS rSrSrSrSr\S 5       rS r	S r
Srg	)
Ú
polar_liftiü  a2  
Lift argument to the Riemann surface of the logarithm, using the
standard branch.

Examples
========

>>> from sympy import Symbol, polar_lift, I
>>> p = Symbol('p', polar=True)
>>> x = Symbol('x')
>>> polar_lift(4)
4*exp_polar(0)
>>> polar_lift(-4)
4*exp_polar(I*pi)
>>> polar_lift(-I)
exp_polar(-I*pi/2)
>>> polar_lift(I + 2)
polar_lift(2 + I)

>>> polar_lift(4*x)
4*polar_lift(x)
>>> polar_lift(4*p)
4*p

Parameters
==========

arg : Expr
    Real or complex expression.

See Also
========

sympy.functions.elementary.exponential.exp_polar
periodic_argument
TFc                óN  • SSK Jn  UR                  (       aF  U" U5      nUS[        S-  [        * S-  [        4;   a!  SSKJn  U" [        U-  5      [        U5      -  $ UR                  (       a  UR                  nOU/n/ n/ n/ nU H8  nUR                  (       a  Xa/-  nM  UR                  (       a  X�/-  nM3  Xq/-  nM:     [        U5      [        U5      :  aK  U(       a  [        Xh-   6 [        [        U6 5      -  $ U(       a
  [        Xh-   6 $ SSKJn  [        U6 U" S5      -  $ g )Nr   ©rA   r¿   ©r^  )Ú$sympy.functions.elementary.complexesrA   ri  r   r  r^  r   Úabsr¨   r    Úis_polarr  r=   r   r¿  )	r@   rA   ÚargumentÚarr^  r    rB   rD   rt  s	            r*   rK   Úpolar_lift.eval%  s  € åHØ�=�=Ù˜#“ˆBð
 �aœ˜A™¤˜s 1™u¤bÐ)Ó)ÝLÙ ¤ 2¡“¤s¨3£xÑ/Ð/à�:�:Ø—8‘8‰Dà�5ˆDØˆØˆØˆÛˆCØ�|�|Ø˜EÑ!’Ø——Ø˜EÑ!’à˜EÑ!’ñ ô ˆx‹=œ3˜t›9Ó$ÞÜ˜XÑ0Ð2´:¼cÀ8¸nÓ3MÑMÐMÞÜ˜XÑ0Ð2Ð2åLÜ˜H�~¡i°£lÑ2Ð2ð %rM   c                ó>   • U R                   S   R                  U5      $ )z-Careful! any evalf of polar numbers is flaky r   )r    Ú_eval_evalf)rQ   Úprecs     r*   rÊ  Úpolar_lift._eval_evalfI  s   € à�y‰y˜‰|×'Ñ'¨Ó-Ð-rM   c                ó0   • [        U R                  S   SS9$ rW   r…  rh   s    r*   r¸   Úpolar_lift._eval_AbsM  r‡  rM   rz   N)r|   r}   r~   r   r€   rÅ  r¬   r„   rK   rÊ  r¸   r…   rz   rM   r*   r¿  r¿  ü  s1   † ñ#ðJ €HØ€Màñ!3ó ð!3òF.õ0rM   r¿  c                  ó>   • \ rS rSrSr\S 5       r\S 5       rS rSr	g)rd  iQ  aI  
Represent the argument on a quotient of the Riemann surface of the
logarithm. That is, given a period $P$, always return a value in
$(-P/2, P/2]$, by using $\exp(PI) = 1$.

Examples
========

>>> from sympy import exp_polar, periodic_argument
>>> from sympy import I, pi
>>> periodic_argument(exp_polar(10*I*pi), 2*pi)
0
>>> periodic_argument(exp_polar(5*I*pi), 4*pi)
pi
>>> from sympy import exp_polar, periodic_argument
>>> from sympy import I, pi
>>> periodic_argument(exp_polar(5*I*pi), 2*pi)
pi
>>> periodic_argument(exp_polar(5*I*pi), 3*pi)
-pi
>>> periodic_argument(exp_polar(5*I*pi), pi)
0

Parameters
==========

ar : Expr
    A polar number.

period : Expr
    The period $P$.

See Also
========

sympy.functions.elementary.exponential.exp_polar
polar_lift : Lift argument to the Riemann surface of the logarithm
principal_branch
c           	     óD  • SSK JnJn  UR                  (       a  UR                  nOU/nSnU Hî  nUR
                  (       d  U[        U5      -  nM$  [        Xb5      (       a!  XVR                  R                  5       S   -  nMU  UR                  (       aV  UR                  R                  5       u  pxXW[        UR                  5      -  Xƒ" [        UR                  5      5      -  -   -  nM¼  [        U[        5      (       a  U[        UR                  S   5      -  nMî    g    U$ )Nr   )r^  rÿ   r‰   )r  r^  rÿ   r¨   r    rÅ  rA   r7   r±   r5   r°   Úunbranched_argumentr  rÄ  r¿  )	r@   rÇ  r^  rÿ   r    r‚   rH   r   r>   s	            r*   Ú_getunbranchedÚ periodic_argument._getunbranchedz  sæ   € çIØ�9�9Ø—7‘7‰Dà�4ˆDØˆ
ÛˆAØ—:—:Øœc !›fÑ$’
Ü˜A×)Ñ)ØŸe™e×0Ñ0Ó2°1Ñ5Ñ5’
Ø——ØŸ™×+Ñ+Ó-‘�ØÔ!4Ø—F‘Fó"ñ Ø  ¤S¨¯©£[Ó!1Ñ1ñ2ñ 2’
ä˜Aœz×*Ñ*Øœc !§&¡&¨¡)›nÑ,’
áñ ð ÐrM   c                ó  • UR                   (       d  g U[        :X  a'  [        U[        5      (       a  [	        UR
                  6 $ [        U[        5      (       a&  US[        -  :¼  a  [	        UR
                  S   U5      $ UR                  (       ab  UR
                   Vs/ s H  o3R                  (       a  M  UPM     nn[        U5      [        UR
                  5      :w  a  [	        [        U6 U5      $ U R                  U5      nUc  g SSKJnJn  UR!                  [        Xv5      (       a  g U[        :X  a  U$ U[        :w  a?  SSKJn  U" XR-  [&        R(                  -
  5      U-  n	U	R!                  U5      (       d  XY-
  $ g g s  snf )Nr¿   r   )Úatanrb  ©Úceiling)r«   r   r7   Úprincipal_branchrd  r    r¿  r   r¨   r  r=   r   rÒ  rh  rÕ  rb  r<   Ú#sympy.functions.elementary.integersr×  r   r²   )
r@   rÇ  Úperiodr[   Únewargsr‚   rÕ  rb  r×  rÝ   s
             r*   rK   Úperiodic_argument.eval‘  s/  € ð ×*×*ØØ”R‹<œJ rÔ+;×<Ñ<Ü$ b§g¡gÐ.Ð.Ü�bœ*×%Ñ%¨&°A´b±D«.Ü$ R§W¡W¨Q¡Z°Ó8Ð8Ø�9�9Ø"$§'¢'Ó?¢'˜Q·µ—q¡'ˆGÐ?Ü�7‹|œs 2§7¡7›|Ó+Ü(¬¨g¨¸Ó?Ð?Ø×'Ñ'¨Ó+ˆ
ØÑØßHØ�>‰>Ô+¨U×9Ñ9ØØ”R‹<ØÐØ”R‹<ÝCÙ˜
Ñ)¬A¯F©FÑ2Ó3°FÑ:ˆAØ—5‘5˜—>‘>Ø!‘~Ð%ð "ð ùò @s   ÂFÂ6Fc                ó0  • U R                   u  p#U[        :X  a+  [        R                  U5      nUc  U $ UR	                  U5      $ [        U[        5      R	                  U5      nSSKJn  XV" XS-  [        R                  -
  5      U-  -
  R	                  U5      $ )Nr   rÖ  )	r    r   rd  rÒ  rÊ  rÙ  r×  r   r²   )rQ   rË  r#  rÚ  r‚   Úubr×  s          r*   rÊ  Úperiodic_argument._eval_evalf¯  s…   € Ø—I‘I‰	ˆØ”R‹<Ü*×9Ñ9¸!Ó<ˆJØÑ!Ø�Ø×)Ñ)¨$Ó/Ð/Ü˜q¤"Ó%×1Ñ1°$Ó7ˆÝ?Ø�W˜R™Y¬¯©Ñ/Ó0°Ñ7Ñ7×DÑDÀTÓJÐJrM   rz   N)
r|   r}   r~   r   r€   r„   rÒ  rK   rÊ  r…   rz   rM   r*   rd  rd  Q  s6   † ñ&ðP ñó ðð, ñ&ó ð&õ:	KrM   rd  c                ó"   • [        U [        5      $ )a(  
Returns periodic argument of arg with period as infinity.

Examples
========

>>> from sympy import exp_polar, unbranched_argument
>>> from sympy import I, pi
>>> unbranched_argument(exp_polar(15*I*pi))
15*pi
>>> unbranched_argument(exp_polar(7*I*pi))
7*pi

See also
========

periodic_argument
)rd  r   rÁ  s    r*   rÑ  rÑ  »  s   € ô& ˜S¤"Ó%Ð%rM   c                  ó6   • \ rS rSrSrSrSr\S 5       rS r	Sr
g)	rØ  iÑ  aZ  
Represent a polar number reduced to its principal branch on a quotient
of the Riemann surface of the logarithm.

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

This is a function of two arguments. The first argument is a polar
number `z`, and the second one a positive real number or infinity, `p`.
The result is ``z mod exp_polar(I*p)``.

Examples
========

>>> from sympy import exp_polar, principal_branch, oo, I, pi
>>> from sympy.abc import z
>>> principal_branch(z, oo)
z
>>> principal_branch(exp_polar(2*pi*I)*3, 2*pi)
3*exp_polar(0)
>>> principal_branch(exp_polar(2*pi*I)*3*z, 2*pi)
3*principal_branch(z, 2*pi)

Parameters
==========

x : Expr
    A polar number.

period : Expr
    Positive real number or infinity.

See Also
========

sympy.functions.elementary.exponential.exp_polar
polar_lift : Lift argument to the Riemann surface of the logarithm
periodic_argument
TFc                ó   • SSK Jn  [        U[        5      (       a  [	        UR
                  S   U5      $ U[        :X  a  U$ [        U[        5      n[        X5      nXE:w  aÑ  UR                  [        5      (       d·  UR                  [        5      (       d�  [        U5      nS nUR                  [        U5      n[        U[        5      nUR                  [        5      (       dO  XE:w  a  U" [        XT-
  -  5      U-  nOUnUR                  (       d   UR                  U5      (       d
  Xƒ" S5      -  nU$ UR                  (       d  USp©OUR                  " UR                  6 u  pš/ nU
 H  nUR                  (       a  Xœ-  n	M  X¼/-  nM!     [        U5      n
[        X’5      nUR                  [        5      (       a  g UR                   (       as  [#        U	5      U:w  d  US:X  a^  U
S:w  aX  U	S:w  aR  US:X  a  [%        U	5      [	        ['        U
6 U5      -  $ [	        U" [        U-  5      ['        U
6 -  U5      [%        U	5      -  $ UR                   (       a@  [%        U5      US-  :  S:X  d  XÒS-  :X  a"  U
S:X  a  U" U[        -  5      [%        U	5      -  $ g g g )Nr   rÂ  c                óF   • [        U [        5      (       d  [        U 5      $ U $ r%   )r7   r   r¿  )Úexprs    r*   ÚmrÚ!principal_branch.eval.<locals>.mr
  s   € Ü! $¬×/Ñ/Ü% dÓ+Ð+Ø�rM   rz   r‰   r¿   T)r  r^  r7   r¿  rØ  r    r   rd  r<   Úreplacer   rÅ  r  r©   r  Útupleri  rÑ  rÄ  r   )rQ   r[   rÚ  r^  rÞ  ÚbargÚplrå  ÚresrJ   ÚmÚothersrl  rA   s                 r*   rK   Úprincipal_branch.evalý  s   € åDÜ�aœ×$Ñ$Ü# A§F¡F¨1¡I¨vÓ6Ð6Ø”R‹<ØˆHÜ˜q¤"Ó%ˆÜ  Ó+ˆØ‹:˜bŸf™fÔ%6×7Ñ7ØŸ™Ô!2×3Ñ3Ü˜A“ˆBòð —‘œJ¨Ó+ˆBä" 2¤rÓ*ˆBØ—6‘6œ*×%Ñ%Ø“:Ù#¤A t¡y¡MÓ2°2Ñ5‘Cà�CØ—|—|¨C¯G©G°I×,>Ñ,>Ø˜9 Q›<Ñ'�CØ�
à�~�~Ø�b‰qà—>’> 1§>¡>Ð2‰DˆAØˆÛˆAØ�}�}Ø‘’à˜#‘’ñ	 ô
 �&‹MˆÜ Ó*ˆØ�7‰7Ô$×%Ñ%ØØ�=�=Ô1°!Ó4¸Ó;Ø" a›x¨A°«G¸¸Q»Ø�a‹xÜ˜1“vÔ.¬s°A¨w¸Ó?Ñ?Ð?Ü#¡I¬a°©eÓ$4´S¸!°WÑ$<¸fÓEÄcÈ!ÃfÑLÐLØ�=�=œs 3›x¨&°©(Ñ2°tÓ;¸sÈQÁh»Ø˜“GÙ˜S¤™UÓ#¤C¨£FÑ*Ð*ð ð @Oˆ=rM   c                óò   • U R                   u  p#[        X#5      R                  U5      n[        U5      [        :”  d  U[        * :X  a  U $ SSKJn  [        U5      U" [        U-  5      -  R                  U5      $ )Nr   )r±   )r    rd  rÊ  rÄ  r   r  r±   r   )rQ   rË  r#  rÚ  Úpr±   s         r*   rÊ  Úprincipal_branch._eval_evalf1  s^   € Ø—I‘I‰	ˆÜ˜aÓ(×4Ñ4°TÓ:ˆÜˆq‹6”B‹;˜!¤˜s›(ØˆKÝ>Ü�A“‘sœ1˜Q™3“x‘×,Ñ,¨TÓ2Ð2rM   rz   N)r|   r}   r~   r   r€   rÅ  r¬   r„   rK   rÊ  r…   rz   rM   r*   rØ  rØ  Ñ  s,   † ñ&ðP €HØ€Màñ1+ó ð1+õf3rM   rØ  c                ó   • SSK Jn  U R                  (       a  U $ U R                  (       a  U(       d  [	        U 5      $ [        U [        5      (       a  U(       d  U(       a  [	        U 5      $ U R                  (       a  U $ U R                  (       aF  U R                  " U R                   Vs/ s H  n[        XASS9PM     sn6 nU(       a  [	        U5      $ U$ U R                  (       aQ  U R                  [        R                  :X  a3  U R                  [        R                  [        U R                   USS95      $ U R"                  (       a2  U R                  " U R                   Vs/ s H  n[        XASS9PM     sn6 $ [        X5      (       an  [        U R$                  XS9n/ nU R                  SS   H3  n[        US   SUS9n	[        USS  XS9n
UR'                  U	4U
-   5        M5     U" U4[)        U5      -   6 $ U R                  " U R                   Vs/ s H$  n[        U[*        5      (       a
  [        XAUS9OUPM&     sn6 $ s  snf s  snf s  snf )Nr   )ÚIntegralT)ÚpauseFr‰   )Úliftrô  )Úsympy.integrals.integralsró  rÅ  ri  r¿  r7   r   rf  r  rÛ   r    Ú	_polarifyr°   r  r   ÚExp1r±   r6   Úfunctionr;   rè  r   )Úeqrõ  rô  ró  rA   ÚrrÛ   ÚlimitsÚlimitÚvarÚrests              r*   r÷  r÷  :  s×  € Ý2Ø	‡{‡{Øˆ	Ø	‡|‡|žEÜ˜"‹~ÐÜ�"”f×Ñ¦e¶Ü˜"‹~ÐØ	��Øˆ	Ø	��Ø�GŠGÀ"Ç'Â'ÓJÂ'¸3”i °Ô6Á'ÑJÐKˆÞÜ˜a“=Ð ØˆØ	���r—w‘w¤!§&¡&Ó(Ø�w‰w”q—v‘vœy¨¯©°¸UÑCÓDÐDØ	��Ø�wŠwÀbÇgÂgÓNÂg¸sœ 3°EÔ:ÁgÑNÐOÐOÜ	�B×	!Ñ	!ä˜Ÿ™ dÑ8ˆØˆØ—W‘W˜Q˜R“[ˆEÜ˜E !™H¨5¸Ñ>ˆCÜ˜U 1 2˜Y¨TÑ?ˆDØ�M‰M˜3˜& 4™-Ö(ñ !ñ ˜4˜'¤E¨&£MÑ1Ð3Ð3à�wŠwØFHÇgÂgóOÚFM¸sœJ s¬D×1Ñ1ô # 3°EÒ:Ø7:ò;ÙFMñOð Pð 	Pùò% Kùò OùòOs   Â)IÅ"IÈ+Ic           	     ó0  • U(       a  Sn[        [        U 5      U5      n U(       d  U $ U R                   Vs0 s H  o3[        UR                  SS9_M     nnU R                  U5      n XR                  5        VVs0 s H  u  p5XS_M	     snn4$ s  snf s  snnf )a[  
Turn all numbers in eq into their polar equivalents (under the standard
choice of argument).

Note that no attempt is made to guess a formal convention of adding
polar numbers, expressions like $1 + x$ will generally not be altered.

Note also that this function does not promote ``exp(x)`` to ``exp_polar(x)``.

If ``subs`` is ``True``, all symbols which are not already polar will be
substituted for polar dummies; in this case the function behaves much
like :func:`~.posify`.

If ``lift`` is ``True``, both addition statements and non-polar symbols are
changed to their ``polar_lift()``ed versions.
Note that ``lift=True`` implies ``subs=False``.

Examples
========

>>> from sympy import polarify, sin, I
>>> from sympy.abc import x, y
>>> expr = (-x)**y
>>> expr.expand()
(-x)**y
>>> polarify(expr)
((_x*exp_polar(I*pi))**_y, {_x: x, _y: y})
>>> polarify(expr)[0].expand()
_x**_y*exp_polar(_y*I*pi)
>>> polarify(x, lift=True)
polar_lift(x)
>>> polarify(x*(1+y), lift=True)
polar_lift(x)*polar_lift(y + 1)

Adds are treated carefully:

>>> polarify(1 + sin((1 + I)*x))
(sin(_x*polar_lift(1 + I)) + 1, {_x: x})
FT)Úpolar)r÷  r   r  r	   ÚnamerÚ   Úitems)rú  rÚ   rõ  r¤   Úrepsrû  s         r*   Úpolarifyr  [  sƒ   € öP ØˆÜ	”7˜2“; Ó	%€BÞØˆ	Ø24·/²/ÓB²/¨QŒu�Q—V‘V 4Ñ(Ò(±/€DÐBØ	�‰�‹€BØ§¡¤Ô.¢™˜�’¡Ò.Ð.Ð.ùò Cùã.s   ¶BÁ:Bc           
     ó
  • [        U [        5      (       a  U R                  (       a  U $ U(       GdQ  SSKJnJn  [        X5      (       a  U" [        U R                  U5      5      $ [        U [        5      (       a3  U R                  S   S[        -  :X  a  [        U R                  S   U5      $ U R                  (       dc  U R                  (       dR  U R                  (       dA  U R                  (       ac  U R                  S;   a  SU R                  ;   d  U R                  S;  a3  U R                  " U R                   Vs/ s H  n[        XQ5      PM     sn6 $ [        U [         5      (       a  [        U R                  S   U5      $ U R"                  (       aN  [        U R                  U5      n[        U R$                  UUR&                  =(       a    U(       + (       + 5      nXv-  $ U R(                  (       aP  [+        U R                  SS5      (       a4  U R                  " U R                   Vs/ s H  n[        XQU5      PM     sn6 $ U R                  " U R                   Vs/ s H  n[        XQS5      PM     sn6 $ s  snf s  snf s  snf )	Nr   r]  r‰   r¿   )z==z!=r‚   FT)r7   r
   rf  r  r±   r^  Ú_unpolarifyrØ  r    r   r  r¨   Ú
is_BooleanÚis_RelationalÚrel_oprÛ   r¿  r°   r  rÔ   r6   Úgetattr)rú  Úexponents_onlyrô  r±   r^  r[   Úexpor  s           r*   r  r  �  sÌ  € Ü�bœ%× Ñ  B§J§JØˆ	çßIÜ�b×$Ñ$Ù”{ 2§6¡6¨>Ó:Ó;Ð;Ü�bÔ*×+Ñ+°·±¸±
¸aÄ¹dÓ0BÜ˜rŸw™w q™z¨>Ó:Ð:à�I�I˜ŸŸ b§m§mØ××Ø—	‘	˜\Ó)¨a°2·7±7«lØ—	‘	 Ó-à—7’7ÀRÇWÂWÓMÂWÀœ[¨Ö;ÁWÑMÐNÐNÜ�bœ*×%Ñ%Ü˜rŸw™w q™z¨>Ó:Ð:à	‡y‡yÜ˜2Ÿ6™6 >Ó2ˆÜ˜2Ÿ7™7 NØ—‘×.¨¤YÔ/ó1ˆà‰zÐà	‡~‡~œ' "§'¡'¨<¸×?Ñ?Ø�wŠwØ—W’WóÚ�ô % Q¸ÖGÙñð ð 	ð �7Š7À2Ç7Â7ÓKÂ7¸a”[ °DÖ9Á7ÑKÐLÐLùò Nùòùò Ls   Ä;I6È(I;ÉJ Nc                ój  • [        U [        5      (       a  U $ [        U 5      n Ub  [        U R	                  U5      5      $ SnSnU(       a  SnU(       a7  Sn[        XU5      nXP:w  a  SnUn [        U[        5      (       a  U$ U(       a  M7  SSKJn  WR	                  U" S5      S[        S5      S05      $ )aÐ  
If `p` denotes the projection from the Riemann surface of the logarithm to
the complex line, return a simplified version `eq'` of `eq` such that
`p(eq') = p(eq)`.
Also apply the substitution subs in the end. (This is a convenience, since
``unpolarify``, in a certain sense, undoes :func:`polarify`.)

Examples
========

>>> from sympy import unpolarify, polar_lift, sin, I
>>> unpolarify(polar_lift(I + 2))
2 + I
>>> unpolarify(sin(polar_lift(I + 7)))
sin(7 + I)
TFr   rÂ  r‰   )	r7   Úboolr   Ú
unpolarifyrÚ   r  r  r^  r¿  )rú  rÚ   r  Úchangedrô  rë  r^  s          r*   r  r  ®  s¬   € ô" �"”d×ÑØˆ	ä	�‹€BØÑÜ˜"Ÿ'™' $›-Ó(Ð(Ø€GØ€EÞØˆÞ
ØˆÜ˜"¨eÓ4ˆØ‹9ØˆGØˆBÜ�cœ4× Ñ ØˆJ÷ ˆ'õ AØ�8‰8‘Y˜q“\ 1¤j°£m°QÐ7Ó8Ð8rM   )F)TF)NF)4Ú
__future__r   Ú
sympy.corer   r   r   r   r   r	   r
   Úsympy.core.exprr   Úsympy.core.exprtoolsr   Úsympy.core.functionr   r   r   r   r   r   Úsympy.core.logicr   r   Úsympy.core.numbersr   r   r   Úsympy.core.powerr   Úsympy.core.relationalr   Ú(sympy.functions.elementary.miscellaneousr   Ú$sympy.functions.elementary.piecewiser   r   r>   rŸ   r£   rA   r8   rŠ  r–  r¿  rd  rÑ  rØ  r÷  r  r  r  rz   rM   r*   Ú<module>r     sù   ðÝ "ç A× AÑ AÝ  Ý -÷)÷ )ç 0ß (Ñ (Ý  Ý $Ý 9Ý :ôwˆô wôtuˆô uôvr5ˆ?ô r5ôjw(ˆ/ô w(ôtyCˆ/ô yCôxJ)�ô J)ôZ6�ô 6ôr;ˆoô ;ôDR0�ô R0ôjgK˜ô gKòT&ô,f3�ô f3ôRPôB//ôdMõB&9rM   