§
    ^²ÅjýR  ã                  óò  — U d 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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 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, ddl-m.Z. ddl/m0Z0 ddl1m2Z2 ddl3m4Z4 ddl5m6Z6 e2e&fd„¦   «         Z7e2e&fd„¦   «         Z8e2e&fd„¦   «         Z9e2d„ ¦   «         Z:i Z;de<d<    G d „ d!e0¦  «        Z= G d"„ d#ee0e¦  «        Z>d$S )%z!Sparse rational function fields. é    )Úannotations)ÚAny)Úreduce)ÚaddÚmulÚltÚleÚgtÚge)ÚExpr)ÚMod)ÚExp1)ÚS)ÚSymbol)ÚCantSympifyÚsympify)ÚExpBase)ÚDomainElement©ÚFractionField)ÚPolynomialRing)Úconstruct_domain)Úlex)ÚCoercionFailed)Úbuild_options)Ú_parallel_dict_from_expr)ÚPolyElement)ÚDefaultPrinting)Úpublic)Úis_sequence)Úpollutec                ó:   — t          | ||¦  «        }|f|j        z   S )zFConstruct new rational function field returning (field, x1, ..., xn). ©Ú	FracFieldÚgens©ÚsymbolsÚdomainÚorderÚ_fields       úCC:\Projects\Historical\venv\Lib\site-packages\sympy/polys/fields.pyÚfieldr,      s$   € õ �w ¨Ñ.Ô.€FØˆ9�v”{Ñ"Ð"ó    c                ó6   — t          | ||¦  «        }||j        fS )zHConstruct new rational function field returning (field, (x1, ..., xn)). r#   r&   s       r+   Úxfieldr/   $   s"   € õ �w ¨Ñ.Ô.€FØ�F”KÐ Ð r-   c                óp   — t          | ||¦  «        }t          d„ |j        D ¦   «         |j        ¦  «         |S )zSConstruct new rational function field and inject generators into global namespace. c                ó   — g | ]	}|j         ‘Œ
S © )Úname)Ú.0Úsyms     r+   ú
<listcomp>zvfield.<locals>.<listcomp>.   s   € Ð2Ð2Ð2˜3ˆcŒhÐ2Ð2Ð2r-   )r$   r!   r'   r%   r&   s       r+   Úvfieldr7   *   s=   € õ �w ¨Ñ.Ô.€FÝÐ2Ð2 &¤.Ð2Ñ2Ô2°F´KÑ@Ô@Ð@Ø€Mr-   c                óš  — d}t          | ¦  «        s| gd}} t          t          t          | ¦  «        ¦  «        } t	          ||¦  «        }g }| D ])}|                     |                     ¦   «         ¦  «         Œ*t          ||¦  «        \  }}|j        €3t          d„ |D ¦   «         g ¦  «        }t          ||¬¦  «        \  |_        }	t          |j        |j        |j        ¦  «        }
g }t          dt          |¦  «        d¦  «        D ]8}|                      |
t#          |||dz   …         ¦  «        ¦  «        ¦  «         Œ9|r
|
|d         fS |
|fS )a«  Construct a field deriving generators and domain
    from options and input expressions.

    Parameters
    ==========

    exprs   : py:class:`~.Expr` or sequence of :py:class:`~.Expr` (sympifiable)

    symbols : sequence of :py:class:`~.Symbol`/:py:class:`~.Expr`

    options : keyword arguments understood by :py:class:`~.Options`

    Examples
    ========

    >>> from sympy import exp, log, symbols, sfield

    >>> x = symbols("x")
    >>> K, f = sfield((x*log(x) + 4*x**2)*exp(1/x + log(x)/3)/x**2)
    >>> K
    Rational function field in x, exp(1/x), log(x), x**(1/3) over ZZ with lex order
    >>> f
    (4*x**2*(exp(1/x)) + x*(exp(1/x))*(log(x)))/((x**(1/3))**5)
    FTNc                óP   — g | ]#}t          |                     ¦   «         ¦  «        ‘Œ$S r2   )ÚlistÚvalues)r4   Úreps     r+   r6   zsfield.<locals>.<listcomp>Y   s(   € Ð9Ð9Ð9¨S•d˜3Ÿ:š:™<œ<Ñ(Ô(Ð9Ð9Ð9r-   )Úoptr   é   )r    r:   Úmapr   r   ÚextendÚas_numer_denomr   r(   Úsumr   r$   r%   r)   ÚrangeÚlenÚappendÚtuple)Úexprsr'   ÚoptionsÚsingler=   ÚnumdensÚexprÚrepsÚcoeffsÚ_r*   ÚfracsÚis                r+   ÚsfieldrQ   1   sc  € ð4 €FÝ�uÑÔð &Ø˜ ˆvˆå••W˜eÑ$Ô$Ñ%Ô%€EÝ
˜ Ñ
)Ô
)€CØ€GØð .ð .ˆØ�Š�t×*Ò*Ñ,Ô,Ñ-Ô-Ð-Ð-Ý(¨°#Ñ6Ô6�I€Dˆ#à
„zÐõ Ð9Ð9°DÐ9Ñ9Ô9¸2Ñ>Ô>ˆÝ(¨°SÐ9Ñ9Ô9‰ˆŒ
�Aå�s”x ¤¨S¬YÑ7Ô7€FØ€EÝ�1•c˜$‘i”i Ñ#Ô#ð 1ð 1ˆØ�Š�V�V�E $ q¨¨1© u¤+Ñ.Ô.Ñ/Ô/Ñ0Ô0Ð0Ð0àð Ø˜˜aœÐ!Ð!à˜ˆÐr-   zdict[Any, Any]Ú_field_cachec                  ó~   — e Zd ZdZefd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d„ Zdd
„Zdd„Zd„ Zd„ Zd„ ZeZd„ Zd„ Zd„ Zd„ Zd	S )r$   z2Multivariate distributed rational function field. c                ó  — ddl m}  ||||¦  «        }|j        }|j        }|j        }|j        }| j        ||||f}t                               |¦  «        }|�€4t           
                    | ¦  «        }||_        t          |¦  «        |_        ||_        t          dt           fd|i¦  «        |_        ||_        ||_        ||_        ||_        |                     |j        ¦  «        |_        |                     |j        ¦  «        |_        |                     ¦   «         |_        t-          |j        |j        ¦  «        D ]B\  }	}
t/          |	t0          ¦  «        r(|	j        }t5          ||¦  «        st7          |||
¦  «         ŒC|t          |<   |S )Nr   ©ÚPolyRingÚFracElementr,   )Úsympy.polys.ringsrV   r'   Úngensr(   r)   Ú__name__rR   ÚgetÚobjectÚ__new__Ú_hash_tupleÚhashÚ_hashÚringÚtyperW   ÚdtypeÚzeroÚoneÚ_gensr%   ÚzipÚ
isinstancer   r3   ÚhasattrÚsetattr)Úclsr'   r(   r)   rV   ra   rY   r^   ÚobjÚsymbolÚ	generatorr3   s               r+   r]   zFracField.__new__k   sx  € Ø.Ð.Ð.Ð.Ð.Ð.Øˆx˜ ¨Ñ/Ô/ˆØ”,ˆØ”
ˆØ”ˆØ”
ˆà”| W¨e°V¸UÐCˆÝ×Ò˜{Ñ+Ô+ˆà‰;Ý—.’. Ñ%Ô%ˆCØ)ˆCŒOÝ˜[Ñ)Ô)ˆCŒIØˆCŒHÝ˜]­[¨N¸WÀc¸NÑKÔKˆCŒIØ!ˆCŒKØˆCŒIØˆCŒJØˆCŒIà—y’y ¤Ñ+Ô+ˆCŒHØ—i’i ¤Ñ)Ô)ˆCŒGà—y’y‘{”{ˆCŒHå%(¨¬°c´hÑ%?Ô%?ð 6ð 6Ñ!�˜	Ý˜f¥fÑ-Ô-ð 6Ø!œ;�Då" 3¨Ñ-Ô-ð 6Ý  T¨9Ñ5Ô5Ð5øà(+�L˜Ñ%àˆ
r-   c                óN   ‡ — t          ˆ fd„‰ j        j        D ¦   «         ¦  «        S )z(Return a list of polynomial generators. c                ó:   •— g | ]}‰                      |¦  «        ‘ŒS r2   ©rc   )r4   ÚgenÚselfs     €r+   r6   z#FracField._gens.<locals>.<listcomp>“   s#   ø€ ÐBÐBÐB¨3�t—z’z #‘”ÐBÐBÐBr-   )rF   ra   r%   ©rs   s   `r+   rf   zFracField._gens‘   s*   ø€ åÐBÐBÐBÐB°$´)´.ÐBÑBÔBÑCÔCÐCr-   c                ó*   — | j         | j        | j        fS ©N)r'   r(   r)   rt   s    r+   Ú__getnewargs__zFracField.__getnewargs__•   s   € Ø”˜dœk¨4¬:Ð6Ð6r-   c                ó   — | j         S rv   )r`   rt   s    r+   Ú__hash__zFracField.__hash__˜   s
   € ØŒzÐr-   c                óº   — t          || j        ¦  «        r,| j                             |                     ¦   «         ¦  «        S t          d| j        ›d|›d�¦  «        ‚)Nzexpected a ú, got z instead)rh   rc   ra   ÚindexÚto_polyÚ
ValueError)rs   rr   s     r+   r|   zFracField.index›   sR   € Ý�c˜4œ:Ñ&Ô&ð 	QØ”9—?’? 3§;¢;¡=¤=Ñ1Ô1Ð1å�*ÀÄ
À
À
È3È3È3ÐOÑPÔPÐPr-   c                ó˜   — t          |t          ¦  «        o5| j        | j        | j        | j        f|j        |j        |j        |j        fk    S rv   )rh   r$   r'   rY   r(   r)   ©rs   Úothers     r+   Ú__eq__zFracField.__eq__¡   sI   € Ý˜%¥Ñ+Ô+ð DØŒ\˜4œ: t¤{°D´JÐ?ØŒ]˜EœK¨¬°u´{ÐCòDð	Dr-   c                ó   — | |k     S rv   r2   r€   s     r+   Ú__ne__zFracField.__ne__¦   s   € Ø˜5’=Ð Ð r-   Nc                ó.   — |                       ||¦  «        S rv   rq   ©rs   ÚnumerÚdenoms      r+   Úraw_newzFracField.raw_new©   s   € Ø�zŠz˜% Ñ'Ô'Ð'r-   c                óz   — |€| j         j        }|                     |¦  «        \  }}|                      ||¦  «        S rv   )ra   re   Úcancelr‰   r†   s      r+   ÚnewzFracField.new«   s8   € Øˆ= $¤)¤-˜%Ø—|’| EÑ*Ô*‰ˆˆuØ�|Š|˜E 5Ñ)Ô)Ð)r-   c                ó6   — | j                              |¦  «        S rv   )r(   Úconvert)rs   Úelements     r+   Ú
domain_newzFracField.domain_new°   s   € ØŒ{×"Ò" 7Ñ+Ô+Ð+r-   c                óÖ  — 	 |                       | j                             |¦  «        ¦  «        S # t          $ r¯ | j        }|j        sŸ|j        r˜| j        }|                     ¦   «         }|                     |¦  «        }|                     | 	                    |¦  «        ¦  «        }|                     | 
                    |¦  «        ¦  «        }|                      ||¦  «        cY S ‚ w xY wrv   )rŒ   ra   Ú
ground_newr   r(   Úis_FieldÚhas_assoc_FieldÚ	get_fieldrŽ   r‡   rˆ   r‰   )rs   r�   r(   ra   Úground_fieldr‡   rˆ   s          r+   r’   zFracField.ground_new³   så   € ð	Ø—8’8˜DœI×0Ò0°Ñ9Ô9Ñ:Ô:Ð:øÝð 	ð 	ð 	Ø”[ˆFà”?ð  vÔ'=ð Ø”y�Ø%×/Ò/Ñ1Ô1�Ø&×.Ò.¨wÑ7Ô7�ØŸš¨×(:Ò(:¸7Ñ(CÔ(CÑDÔD�ØŸš¨×(:Ò(:¸7Ñ(CÔ(CÑDÔD�Ø—|’| E¨5Ñ1Ô1Ð1Ð1Ð1àð	øøøs   ‚,/ ¯B5C(Ã&C(c                óh  — t          |t          ¦  «        r¶| |j        k    r|S t          | j        t          ¦  «        r*| j        j        |j        k    r|                      |¦  «        S t          | j        t          ¦  «        r<| j        j                             ¦   «         |j        k    r|                      |¦  «        S t          d¦  «        ‚t          |t          ¦  «        �r|                     ¦   «         \  }}t          | j        t          ¦  «        r0|j        | j        j        k    r| j                             |¦  «        }nvt          | j        t          ¦  «        rB|j        | j        j                             ¦   «         k    r| j                             |¦  «        }n|                     | j        ¦  «        }| j                             |¦  «        }|                      ||¦  «        S t          |t          ¦  «        rSt!          |¦  «        dk    r@t#          t%          | j        j        |¦  «        ¦  «        \  }}|                      ||¦  «        S t          |t*          ¦  «        rt          d¦  «        ‚t          |t,          ¦  «        r|                      |¦  «        S |                      |¦  «        S )NÚ
conversionr>   Úparsing)rh   rW   r,   r(   r   r’   r   ra   Úto_fieldÚNotImplementedErrorr   Úclear_denomsÚto_ringÚset_ringr‰   rF   rD   r:   r?   Úring_newrŒ   Ústrr   Ú	from_expr)rs   r�   rˆ   r‡   s       r+   Ú	field_newzFracField.field_newÃ   sE  € Ý�g�{Ñ+Ô+ð "	,Ø�w”}Ò$Ð$Ø�å˜$œ+¥}Ñ5Ô5ð 8Ø”Ô! W¤]Ò2Ð2Ø—’ wÑ/Ô/Ð/Ý˜DœK­Ñ8Ô8ð 8Ø”Ô ×)Ò)Ñ+Ô+¨w¬}Ò<Ð<Ø—’ wÑ/Ô/Ð/å)¨,Ñ7Ô7Ð7Ý˜¥Ñ-Ô-ñ 	,Ø"×/Ò/Ñ1Ô1‰LˆE�5å˜$œ+¥~Ñ6Ô6ð 2Ø”
˜dœkÔ.Ò.Ð.Øœ	×,Ò,¨UÑ3Ô3��Ý˜DœK­Ñ7Ô7ð 2Ø”
˜dœkÔ/×7Ò7Ñ9Ô9Ò9Ð9Øœ	×,Ò,¨UÑ3Ô3��àŸš t¤yÑ1Ô1�à”I×(Ò(¨Ñ/Ô/ˆEØ—<’<  uÑ-Ô-Ð-Ý˜¥Ñ'Ô'ð 	,­C°©L¬L¸AÒ,=Ð,=Ý¥ D¤IÔ$6¸Ñ @Ô @ÑAÔA‰LˆE�5Ø—8’8˜E 5Ñ)Ô)Ð)Ý˜¥Ñ%Ô%ð 	,Ý% iÑ0Ô0Ð0Ý˜¥Ñ&Ô&ð 	,Ø—>’> 'Ñ*Ô*Ð*à—?’? 7Ñ+Ô+Ð+r-   c                ó”   ‡‡‡‡— | j         Št          d„ ‰                     ¦   «         D ¦   «         ¦  «        Šˆˆˆˆfd„Š ‰|¦  «        S )Nc              3  óz   K  — | ]6}|j         st          |t          ¦  «        ¯||                     ¦   «         fV — Œ7d S rv   )Úis_Powrh   r   Úas_base_exp)r4   rr   s     r+   ú	<genexpr>z*FracField._rebuild_expr.<locals>.<genexpr>ì   s]   è è € ð 7ð 7°CØŒzð7Ý'¨­WÑ5Ô5ð7˜˜SŸ_š_Ñ.Ô.Ð/ð 7ð 7ð 7ð 7ð 7ð 7r-   c           	     ó¸  •— ‰	                      | ¦  «        }|�|S | j        r5t          t          t	          t          ‰| j        ¦  «        ¦  «        ¦  «        S | j        r5t          t          t	          t          ‰| j        ¦  «        ¦  «        ¦  «        S | j	        st          | t          t          f¦  «        r—|                      ¦   «         \  }}‰
D ]L\  }\  }}||k    r>t          ||¦  «        dk    r*‰	                      |¦  «        t          ||z  ¦  «        z  c S ŒM|j        r)|t"          j        ur ‰|¦  «        t          |¦  «        z  S n3‰	                      d| z  ¦  «        �d‰	                      d| z  ¦  «        z  S 	 ‰                     | ¦  «        S # t(          $ r9 ‰j        s0‰j        r)‰                     ¦   «                              | ¦  «        cY S ‚ w xY w)Nr   é   )r[   Úis_Addr   r   r:   r?   ÚargsÚis_Mulr   r¥   rh   r   r   r¦   r   ÚintÚ
is_Integerr   ÚOnerŽ   r   r“   r”   r•   )rK   rn   ÚbÚerr   ÚbgÚegÚ_rebuildr(   ÚmappingÚpowerss          €€€€r+   r´   z)FracField._rebuild_expr.<locals>._rebuildï   sÖ  ø€ ØŸš DÑ)Ô)ˆIàÐ$Ø Ð Ø”ð -Ý�c¥4­¨H°d´iÑ(@Ô(@Ñ#AÔ#AÑBÔBÐBØ”ð -Ý�c¥4­¨H°d´iÑ(@Ô(@Ñ#AÔ#AÑBÔBÐBØ”ð 	-¥
¨4µ'½4°Ñ AÔ Að 	-Ø×'Ò'Ñ)Ô)‘��1à%+ð ;ð ;‘M�C™˜"˜bØ˜Q’w�w¥3 q¨"¡:¤:°¢? ?Ø&Ÿ{š{¨3Ñ/Ô/µ°Q°r±T±´Ñ:Ð:Ð:Ð:øØ”<ð / A­Q¬U N NØ#˜8 A™;œ;­¨A©¬Ñ.Ð.øØ—’˜Q˜t™VÑ$Ô$Ð0Ø˜Ÿš Q t¡VÑ,Ô,Ñ,Ð,ðØ—~’~ dÑ+Ô+Ð+øÝ!ð ð ð Ø”ð ¨6Ô+Að Ø!×+Ò+Ñ-Ô-×5Ò5°dÑ;Ô;Ð;Ð;Ð;àð	øøøs   ÆF Æ?GÇG)r(   rF   Úkeys)rs   rK   rµ   r´   r(   r¶   s     `@@@r+   Ú_rebuild_exprzFracField._rebuild_exprê   sw   øøøø€ Ø”ˆÝð 7ð 7¸7¿<º<¹>¼>ð 7ñ 7ô 7ñ 7ô 7ˆð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð8 ˆx˜‰~Œ~Ðr-   c                ó"  — t          t          t          | j        | j        ¦  «        ¦  «        ¦  «        }	 |                      t          |¦  «        |¦  «        }|                      |¦  «        S # t          $ r t          d| ›d|›�¦  «        ‚w xY w)Nz=expected an expression convertible to a rational function in r{   )
Údictr:   rg   r'   r%   r¸   r   r¢   r   r~   )rs   rK   rµ   Úfracs       r+   r¡   zFracField.from_expr  sš   € Ý•t�C ¤¨d¬iÑ8Ô8Ñ9Ô9Ñ:Ô:ˆð	(Ø×%Ò%¥g¨d¡m¤m°WÑ=Ô=ˆDð —>’> $Ñ'Ô'Ð'øõ ð 	wð 	wð 	wÝ�*ÐjnÐjnÐjnÐptÐptÐuÑvÔvÐvð	wøøøs   ¶#A. Á. Bc                ó    — t          | ¦  «        S rv   r   rt   s    r+   Ú	to_domainzFracField.to_domain  s   € Ý˜TÑ"Ô"Ð"r-   c                óF   — ddl m}  || j        | j        | j        ¦  «        S )Nr   rU   )rX   rV   r'   r(   r)   )rs   rV   s     r+   r�   zFracField.to_ring  s.   € Ø.Ð.Ð.Ð.Ð.Ð.Øˆx˜œ d¤k°4´:Ñ>Ô>Ð>r-   rv   )rZ   Ú
__module__Ú__qualname__Ú__doc__r   r]   rf   rw   ry   r|   r‚   r„   r‰   rŒ   r�   r’   r¢   Ú__call__r¸   r¡   r½   r�   r2   r-   r+   r$   r$   h   s/  € € € € € Ø<Ð<à,/ð $ð $ð $ð $ðLDð Dð Dð7ð 7ð 7ðð ð ðQð Qð QðDð Dð Dð
!ð !ð !ð(ð (ð (ð (ð*ð *ð *ð *ð
,ð ,ð ,ðð ð ð #,ð #,ð #,ðJ €Hð!ð !ð !ðF(ð (ð (ð#ð #ð #ð?ð ?ð ?ð ?ð ?r-   r$   c                  óö   — e Zd ZdZd'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d„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#d"„ Z$d#„ Z%d'd$„Z&d'd%„Z'd'd&„Z(dS )(rW   z=Element of multivariate distributed rational function field. Nc                ól   — |€| j         j        j        }n|st          d¦  «        ‚|| _        || _        d S )Nzzero denominator)r,   ra   re   ÚZeroDivisionErrorr‡   rˆ   r†   s      r+   Ú__init__zFracElement.__init__!  s>   € Øˆ=Ø”J”OÔ'ˆEˆEØð 	8Ý#Ð$6Ñ7Ô7Ð7àˆŒ
ØˆŒ
ˆ
ˆ
r-   c                ó.   — |                       ||¦  «        S rv   )Ú	__class__©Úfr‡   rˆ   s      r+   r‰   zFracElement.raw_new*  s   € Ø�{Š{˜5 %Ñ(Ô(Ð(r-   c                ó<   —  | j         |                     |¦  «        Ž S rv   )r‰   r‹   rÉ   s      r+   rŒ   zFracElement.new,  s   € ØˆqŒy˜%Ÿ,š, uÑ-Ô-Ð.Ð.r-   c                óD   — | j         dk    rt          d¦  «        ‚| j        S )Nr©   zf.denom should be 1)rˆ   r~   r‡   ©rÊ   s    r+   r}   zFracElement.to_poly/  s#   € ØŒ7�aŠ<ˆ<ÝÐ2Ñ3Ô3Ð3ØŒwˆr-   c                ó4   — | j                              ¦   «         S rv   )r,   r½   rt   s    r+   ÚparentzFracElement.parent4  s   € ØŒz×#Ò#Ñ%Ô%Ð%r-   c                ó*   — | j         | j        | j        fS rv   )r,   r‡   rˆ   rt   s    r+   rw   zFracElement.__getnewargs__7  s   € Ø”
˜DœJ¨¬
Ð3Ð3r-   c                óh   — | j         }|€(t          | j        | j        | j        f¦  «        x| _         }|S rv   )r`   r_   r,   r‡   rˆ   )rs   r`   s     r+   ry   zFracElement.__hash__<  s4   € Ø”
ˆØˆ=Ý!% t¤z°4´:¸t¼zÐ&JÑ!KÔ!KÐKˆDŒJ˜Øˆr-   c                óŠ   — |                       | j                             ¦   «         | j                             ¦   «         ¦  «        S rv   )r‰   r‡   Úcopyrˆ   rt   s    r+   rÓ   zFracElement.copyB  s.   € Ø�|Š|˜DœJŸOšOÑ-Ô-¨t¬z¯ªÑ/@Ô/@ÑAÔAÐAr-   c                ó¾   — | j         |k    r| S |j        }| j                             |¦  «        }| j                             |¦  «        }|                     ||¦  «        S rv   )r,   ra   r‡   rž   rˆ   rŒ   )rs   Ú	new_fieldÚnew_ringr‡   rˆ   s        r+   Ú	set_fieldzFracElement.set_fieldE  sY   € ØŒ:˜Ò"Ð"ØˆKà ”~ˆHØ”J×'Ò'¨Ñ1Ô1ˆEØ”J×'Ò'¨Ñ1Ô1ˆEØ—=’= ¨Ñ.Ô.Ð.r-   c                ó@   —  | j         j        |Ž  | j        j        |Ž z  S rv   )r‡   Úas_exprrˆ   )rs   r'   s     r+   rÙ   zFracElement.as_exprN  s&   € Ø!ˆtŒzÔ! 7Ð+Ð,>¨D¬JÔ,>ÀÐ,HÑHÐHr-   c                óÖ   — t          |t          ¦  «        r0| j        |j        k    r | j        |j        k    o| j        |j        k    S | j        |k    o| j        | j        j        j        k    S rv   )rh   rW   r,   r‡   rˆ   ra   re   ©rÊ   Úgs     r+   r‚   zFracElement.__eq__Q  s_   € Ý�a�Ñ%Ô%ð 	@¨!¬'°Q´WÒ*<Ð*<Ø”7˜aœgÒ%Ð<¨!¬'°Q´WÒ*<Ð<à”7˜a’<Ð? A¤G¨q¬w¬|Ô/?Ò$?Ð?r-   c                ó   — | |k     S rv   r2   rÛ   s     r+   r„   zFracElement.__ne__W  s   € Ø˜’6ˆzÐr-   c                ó*   — t          | j        ¦  «        S rv   )Úboolr‡   rÍ   s    r+   Ú__bool__zFracElement.__bool__Z  s   € Ý�A”G‰}Œ}Ðr-   c                óf   — | j                              ¦   «         | j                             ¦   «         fS rv   )rˆ   Úsort_keyr‡   rt   s    r+   râ   zFracElement.sort_key]  s)   € Ø”
×#Ò#Ñ%Ô% t¤z×':Ò':Ñ'<Ô'<Ð=Ð=r-   c                ó¤   — t          || j        j        ¦  «        r0 ||                      ¦   «         |                     ¦   «         ¦  «        S t          S rv   )rh   r,   rc   râ   ÚNotImplemented)Úf1Úf2Úops      r+   Ú_cmpzFracElement._cmp`  s@   € Ý�b˜"œ(œ.Ñ)Ô)ð 	"Ø�2�b—k’k‘m”m R§[¢[¡]¤]Ñ3Ô3Ð3å!Ð!r-   c                ó8   — |                       |t          ¦  «        S rv   )rè   r   ©rå   ræ   s     r+   Ú__lt__zFracElement.__lt__f  ó   € Ø�wŠw�r�2‰ŒÐr-   c                ó8   — |                       |t          ¦  «        S rv   )rè   r	   rê   s     r+   Ú__le__zFracElement.__le__h  rì   r-   c                ó8   — |                       |t          ¦  «        S rv   )rè   r
   rê   s     r+   Ú__gt__zFracElement.__gt__j  rì   r-   c                ó8   — |                       |t          ¦  «        S rv   )rè   r   rê   s     r+   Ú__ge__zFracElement.__ge__l  rì   r-   c                óB   — |                       | j        | j        ¦  «        S ©z"Negate all coefficients in ``f``. ©r‰   r‡   rˆ   rÍ   s    r+   Ú__pos__zFracElement.__pos__o  s   € à�yŠy˜œ !¤'Ñ*Ô*Ð*r-   c                óD   — |                       | j         | j        ¦  «        S rô   rõ   rÍ   s    r+   Ú__neg__zFracElement.__neg__s  s   € à�yŠy˜!œ'˜ 1¤7Ñ+Ô+Ð+r-   c                ó\  — | j         j        }	 |                     |¦  «        }d|d fS # t          $ ry |j        sn|j        rg|                     ¦   «         }	 |                     |¦  «        }d|                     |¦  «        |                     |¦  «        fcY S # t          $ r Y nw xY wY dS w xY w)Nr©   éÿÿÿÿ)r   NN)	r,   r(   rŽ   r   r“   r”   r•   r‡   rˆ   )rs   r�   r(   r–   s       r+   Ú_extract_groundzFracElement._extract_groundw  sê   € Ø”Ô"ˆð	$Ø—n’n WÑ-Ô-ˆGð �g˜tÐ#Ð#øõ ð 	!ð 	!ð 	!Ø”?ð X vÔ'=ð XØ%×/Ò/Ñ1Ô1�ðXØ*×2Ò2°7Ñ;Ô;�Gð ˜|×1Ò1°'Ñ:Ô:¸L×<NÒ<NÈwÑ<WÔ<WÐWÐWÐWÐWøõ &ð ð ð Ø�Dðøøøð
 !�=�=ð	!øøøs3   Ž( ¨,B+ÁBÁ*+B+Â
B$Â!B+Â#B$Â$B+Â*B+c                óÌ  — | j         }|s| S | s|S t          ||j        ¦  «        rx| j        |j        k    r(|                      | j        |j        z   | j        ¦  «        S |                      | j        |j        z  | j        |j        z  z   | j        |j        z  ¦  «        S t          ||j        j        ¦  «        r+|                      | j        | j        |z  z   | j        ¦  «        S t          |t          ¦  «        r€t          |j        t          ¦  «        r|j        j         |j         k    rnªt          |j         j        t          ¦  «        r*|j         j        j         |k    r| 
                    | ¦  «        S t          S t          |t          ¦  «        rEt          |j        t          ¦  «        r|j        j        |j        k    rn| 
                    | ¦  «        S |  
                    |¦  «        S )z(Add rational functions ``f`` and ``g``. )r,   rh   rc   rˆ   rŒ   r‡   ra   rW   r(   r   Ú__radd__rä   r   r   ©rÊ   rÜ   r,   s      r+   Ú__add__zFracElement.__add__‹  s¦  € à”ˆàð 	)ØˆHØð 	)ØˆHÝ˜˜5œ;Ñ'Ô'ð 	)ØŒw˜!œ'Ò!Ð!Ø—u’u˜QœW q¤wÑ.°´Ñ8Ô8Ð8à—u’u˜QœW Q¤W™_¨q¬w°q´w©Ñ>ÀÄÈÌÁÑPÔPÐPÝ˜˜5œ:Ô+Ñ,Ô,ð 	)Ø—5’5˜œ 1¤7¨1¡9Ñ,¨a¬gÑ6Ô6Ð6å˜!�[Ñ)Ô)ð )Ý˜eœl­MÑ:Ô:ð *¸u¼|Ô?QÐUVÔU\Ò?\Ð?\ØÝ ¤¤µÑ>Ô>ð *À1Ä7Ä>ÔCWÐ[`ÒC`ÐC`ØŸ:š: a™=œ=Ð(å)Ð)Ý˜A�{Ñ+Ô+ð )Ý˜eœl­NÑ;Ô;ð )ÀÄÔ@QÐUVÔU[Ò@[Ð@[ØàŸ:š: a™=œ=Ð(à�zŠz˜!‰}Œ}Ðr-   c                óž  — t          || j        j        j        ¦  «        r+|                      | j        | j        |z  z   | j        ¦  «        S |                      |¦  «        \  }}}|dk    r+|                      | j        | j        |z  z   | j        ¦  «        S |st          S |                      | j        |z  | j        |z  z   | j        |z  ¦  «        S ©Nr©   ©	rh   r,   ra   rc   rŒ   r‡   rˆ   rû   rä   ©rÊ   Úcrç   Úg_numerÚg_denoms        r+   rý   zFracElement.__radd__ª  s¾   € Ý�a˜œœÔ+Ñ,Ô,ð 	7Ø—5’5˜œ 1¤7¨1¡9Ñ,¨a¬gÑ6Ô6Ð6à ×0Ò0°Ñ3Ô3ÑˆˆG�Wà�Š7ˆ7Ø—5’5˜œ 1¤7¨7¡?Ñ2°A´GÑ<Ô<Ð<Øð 	MÝ!Ð!à—5’5˜œ ™¨1¬7°7©?Ñ:¸A¼GÀG¹OÑLÔLÐLr-   c                ó¬  — | j         }|s| S | s| S t          ||j        ¦  «        rx| j        |j        k    r(|                      | j        |j        z
  | j        ¦  «        S |                      | j        |j        z  | j        |j        z  z
  | j        |j        z  ¦  «        S t          ||j        j        ¦  «        r+|                      | j        | j        |z  z
  | j        ¦  «        S t          |t          ¦  «        r€t          |j        t          ¦  «        r|j        j         |j         k    rnªt          |j         j        t          ¦  «        r*|j         j        j         |k    r| 
                    | ¦  «        S t          S t          |t          ¦  «        rEt          |j        t          ¦  «        r|j        j        |j        k    rn| 
                    | ¦  «        S |                      |¦  «        \  }}}|dk    r+|                      | j        | j        |z  z
  | j        ¦  «        S |st          S |                      | j        |z  | j        |z  z
  | j        |z  ¦  «        S )z-Subtract rational functions ``f`` and ``g``. r©   )r,   rh   rc   rˆ   rŒ   r‡   ra   rW   r(   r   Ú__rsub__rä   r   r   rû   ©rÊ   rÜ   r,   rç   r  r  s         r+   Ú__sub__zFracElement.__sub__·  s  € à”ˆàð 	)ØˆHØð 	)Ø�2ˆIÝ˜˜5œ;Ñ'Ô'ð 	)ØŒw˜!œ'Ò!Ð!Ø—u’u˜QœW q¤wÑ.°´Ñ8Ô8Ð8à—u’u˜QœW Q¤W™_¨q¬w°q´w©Ñ>ÀÄÈÌÁÑPÔPÐPÝ˜˜5œ:Ô+Ñ,Ô,ð 	)Ø—5’5˜œ 1¤7¨1¡9Ñ,¨a¬gÑ6Ô6Ð6å˜!�[Ñ)Ô)ð )Ý˜eœl­MÑ:Ô:ð *¸u¼|Ô?QÐUVÔU\Ò?\Ð?\ØÝ ¤¤µÑ>Ô>ð *À1Ä7Ä>ÔCWÐ[`ÒC`ÐC`ØŸ:š: a™=œ=Ð(å)Ð)Ý˜A�{Ñ+Ô+ð )Ý˜eœl­NÑ;Ô;ð )ÀÄÔ@QÐUVÔU[Ò@[Ð@[ØàŸ:š: a™=œ=Ð(à ×0Ò0°Ñ3Ô3ÑˆˆG�Wà�Š7ˆ7Ø—5’5˜œ 1¤7¨7¡?Ñ2°A´GÑ<Ô<Ð<Øð 	MÝ!Ð!à—5’5˜œ ™¨1¬7°7©?Ñ:¸A¼GÀG¹OÑLÔLÐLr-   c                ó¤  — t          || j        j        j        ¦  «        r,|                      | j         | j        |z  z   | j        ¦  «        S |                      |¦  «        \  }}}|dk    r,|                      | j         | j        |z  z   | j        ¦  «        S |st          S |                      | j         |z  | j        |z  z   | j        |z  ¦  «        S r  r  r  s        r+   r  zFracElement.__rsub__Ý  sÅ   € Ý�a˜œœÔ+Ñ,Ô,ð 	8Ø—5’5˜!œ'˜ A¤G¨A¡IÑ-¨q¬wÑ7Ô7Ð7à ×0Ò0°Ñ3Ô3ÑˆˆG�Wà�Š7ˆ7Ø—5’5˜!œ'˜ A¤G¨G¡OÑ3°Q´WÑ=Ô=Ð=Øð 	NÝ!Ð!à—5’5˜!œ'˜ 'Ñ)¨A¬G°G©OÑ;¸Q¼WÀW¹_ÑMÔMÐMr-   c                ó2  — | j         }| r|s|j        S t          ||j        ¦  «        r0|                      | j        |j        z  | j        |j        z  ¦  «        S t          ||j        j        ¦  «        r#|                      | j        |z  | j        ¦  «        S t          |t          ¦  «        r€t          |j	        t          ¦  «        r|j	        j         |j         k    rnªt          |j         j	        t          ¦  «        r*|j         j	        j         |k    r|                     | ¦  «        S t          S t          |t          ¦  «        rEt          |j	        t          ¦  «        r|j	        j        |j        k    rn|                     | ¦  «        S |                      |¦  «        S )z-Multiply rational functions ``f`` and ``g``. )r,   rd   rh   rc   rŒ   r‡   rˆ   ra   rW   r(   r   Ú__rmul__rä   r   r   rþ   s      r+   Ú__mul__zFracElement.__mul__ê  sa  € à”ˆàð 	)˜ð 	)Ø”:ÐÝ˜˜5œ;Ñ'Ô'ð 	)Ø—5’5˜œ ¤™¨!¬'°!´'©/Ñ:Ô:Ð:Ý˜˜5œ:Ô+Ñ,Ô,ð 	)Ø—5’5˜œ ™ A¤GÑ,Ô,Ð,å˜!�[Ñ)Ô)ð )Ý˜eœl­MÑ:Ô:ð *¸u¼|Ô?QÐUVÔU\Ò?\Ð?\ØÝ ¤¤µÑ>Ô>ð *À1Ä7Ä>ÔCWÐ[`ÒC`ÐC`ØŸ:š: a™=œ=Ð(å)Ð)Ý˜A�{Ñ+Ô+ð )Ý˜eœl­NÑ;Ô;ð )ÀÄÔ@QÐUVÔU[Ò@[Ð@[ØàŸ:š: a™=œ=Ð(à�zŠz˜!‰}Œ}Ðr-   c                óh  — t          || j        j        j        ¦  «        r#|                      | j        |z  | j        ¦  «        S |                      |¦  «        \  }}}|dk    r#|                      | j        |z  | j        ¦  «        S |st          S |                      | j        |z  | j        |z  ¦  «        S r  r  r  s        r+   r  zFracElement.__rmul__  s¤   € Ý�a˜œœÔ+Ñ,Ô,ð 	-Ø—5’5˜œ ™ A¤GÑ,Ô,Ð,à ×0Ò0°Ñ3Ô3ÑˆˆG�Wà�Š7ˆ7Ø—5’5˜œ ™¨!¬'Ñ2Ô2Ð2Øð 	;Ý!Ð!à—5’5˜œ ™¨!¬'°'©/Ñ:Ô:Ð:r-   c                óæ  — | j         }|st          ‚t          ||j        ¦  «        r0|                      | j        |j        z  | j        |j        z  ¦  «        S t          ||j        j        ¦  «        r#|                      | j        | j        |z  ¦  «        S t          |t          ¦  «        r€t          |j	        t          ¦  «        r|j	        j         |j         k    rnªt          |j         j	        t          ¦  «        r*|j         j	        j         |k    r|                     | ¦  «        S t          S t          |t          ¦  «        rEt          |j	        t          ¦  «        r|j	        j        |j        k    rn|                     | ¦  «        S |                      |¦  «        \  }}}|dk    r#|                      | j        | j        |z  ¦  «        S |st          S |                      | j        |z  | j        |z  ¦  «        S )z0Computes quotient of fractions ``f`` and ``g``. r©   )r,   rÅ   rh   rc   rŒ   r‡   rˆ   ra   rW   r(   r   Ú__rtruediv__rä   r   r   rû   r	  s         r+   Ú__truediv__zFracElement.__truediv__  s¹  € à”ˆàð 	-Ý#Ð#Ý˜˜5œ;Ñ'Ô'ð 	-Ø—5’5˜œ ¤™¨!¬'°!´'©/Ñ:Ô:Ð:Ý˜˜5œ:Ô+Ñ,Ô,ð 	-Ø—5’5˜œ !¤'¨!¡)Ñ,Ô,Ð,å˜!�[Ñ)Ô)ð -Ý˜eœl­MÑ:Ô:ð *¸u¼|Ô?QÐUVÔU\Ò?\Ð?\ØÝ ¤¤µÑ>Ô>ð *À1Ä7Ä>ÔCWÐ[`ÒC`ÐC`ØŸ>š>¨!Ñ,Ô,Ð,å)Ð)Ý˜A�{Ñ+Ô+ð -Ý˜eœl­NÑ;Ô;ð -ÀÄÔ@QÐUVÔU[Ò@[Ð@[ØàŸ>š>¨!Ñ,Ô,Ð,à ×0Ò0°Ñ3Ô3ÑˆˆG�Wà�Š7ˆ7Ø—5’5˜œ !¤'¨'¡/Ñ2Ô2Ð2Øð 	;Ý!Ð!à—5’5˜œ ™¨!¬'°'©/Ñ:Ô:Ð:r-   c                óz  — | st           ‚t          || j        j        j        ¦  «        r#|                      | j        |z  | j        ¦  «        S |                      |¦  «        \  }}}|dk    r#|                      | j        |z  | j        ¦  «        S |st          S |                      | j        |z  | j        |z  ¦  «        S r  )
rÅ   rh   r,   ra   rc   rŒ   rˆ   r‡   rû   rä   r  s        r+   r  zFracElement.__rtruediv__2  s²   € Øð 	-Ý#Ð#Ý˜˜1œ7œ<Ô-Ñ.Ô.ð 	-Ø—5’5˜œ ™ A¤GÑ,Ô,Ð,à ×0Ò0°Ñ3Ô3ÑˆˆG�Wà�Š7ˆ7Ø—5’5˜œ ™¨!¬'Ñ2Ô2Ð2Øð 	;Ý!Ð!à—5’5˜œ ™¨!¬'°'©/Ñ:Ô:Ð:r-   c                ó¼   — |dk    r&|                       | j        |z  | j        |z  ¦  «        S | st          ‚|                       | j        | z  | j        | z  ¦  «        S )z+Raise ``f`` to a non-negative power ``n``. r   )r‰   r‡   rˆ   rÅ   )rÊ   Úns     r+   Ú__pow__zFracElement.__pow__A  s]   € à�Š6ˆ6Ø—9’9˜QœW a™Z¨¬°!©Ñ4Ô4Ð4Øð 	7Ý#Ð#à—9’9˜QœW q b™[¨!¬'°A°2©+Ñ6Ô6Ð6r-   c                óì   — |                      ¦   «         }|                      | j                             |¦  «        | j        z  | j        | j                             |¦  «        z  z
  | j        dz  ¦  «        S )a  Computes partial derivative in ``x``.

        Examples
        ========

        >>> from sympy.polys.fields import field
        >>> from sympy.polys.domains import ZZ

        >>> _, x, y, z = field("x,y,z", ZZ)
        >>> ((x**2 + y)/(z + 1)).diff(x)
        2*x/(z + 1)

        r>   )r}   rŒ   r‡   Údiffrˆ   )rÊ   Úxs     r+   r  zFracElement.diffJ  sW   € ð �IŠI‰KŒKˆØ�uŠu�Q”W—\’\ !‘_”_ Q¤WÑ,¨q¬w°q´w·|²|ÀA±´Ñ/FÑFÈÌÐQRÉ
ÑSÔSÐSr-   c                ó  — dt          |¦  «        cxk     r| j        j        k    r=n n:|                      t	          t          | j        j        |¦  «        ¦  «        ¦  «        S t          d| j        j        ›dt          |¦  «        ›�¦  «        ‚)Nr   z expected at least 1 and at most z values, got )rD   r,   rY   Úevaluater:   rg   r%   r~   )rÊ   r;   s     r+   rÂ   zFracElement.__call__[  s…   € Ø�s�6‰{Œ{Ð+Ð+Ò+Ð+˜aœgœmÒ+Ð+Ð+Ð+Ð+Ø—:’:�d¥3 q¤w¤|°VÑ#<Ô#<Ñ=Ô=Ñ>Ô>Ð>å�*ÐTUÔT[ÔTaÐTaÐTaÕcfÐgmÑcnÔcnÐcnÐoÑpÔpÐpr-   c                ó¤  — t          |t          ¦  «        rC|€Ad„ |D ¦   «         }| j                             |¦  «        | j                             |¦  «        }}nJ|                     ¦   «         }| j                             ||¦  «        | j                             ||¦  «        }}|j                             ¦   «         }|                     ||¦  «        S )Nc                ó@   — g | ]\  }}|                      ¦   «         |f‘ŒS r2   ©r}   ©r4   ÚXÚas      r+   r6   z(FracElement.evaluate.<locals>.<listcomp>c  ó)   € Ð2Ð2Ð2¡t q¨!�1—9’9‘;”; Ð"Ð2Ð2Ð2r-   )	rh   r:   r‡   r  rˆ   r}   ra   rš   rŒ   )rÊ   r  r!  r‡   rˆ   r,   s         r+   r  zFracElement.evaluatea  s¸   € Ý�a�ÑÔð 	J 1 9Ø2Ð2¨qÐ2Ñ2Ô2ˆAØœ7×+Ò+¨AÑ.Ô.°´×0@Ò0@ÀÑ0CÔ0C�5ˆEˆEà—	’	‘”ˆAØœ7×+Ò+¨A¨qÑ1Ô1°1´7×3CÒ3CÀAÀqÑ3IÔ3I�5ˆEà”
×#Ò#Ñ%Ô%ˆØ�yŠy˜ Ñ&Ô&Ð&r-   c                ór  — t          |t          ¦  «        rC|€Ad„ |D ¦   «         }| j                             |¦  «        | j                             |¦  «        }}nJ|                     ¦   «         }| j                             ||¦  «        | j                             ||¦  «        }}|                      ||¦  «        S )Nc                ó@   — g | ]\  }}|                      ¦   «         |f‘ŒS r2   r  r  s      r+   r6   z$FracElement.subs.<locals>.<listcomp>n  r"  r-   )rh   r:   r‡   Úsubsrˆ   r}   rŒ   )rÊ   r  r!  r‡   rˆ   s        r+   r%  zFracElement.subsl  s™   € Ý�a�ÑÔð 	B 1 9Ø2Ð2¨qÐ2Ñ2Ô2ˆAØœ7Ÿ<š<¨™?œ?¨A¬G¯LªL¸©O¬O�5ˆEˆEà—	’	‘”ˆAØœ7Ÿ<š<¨¨1Ñ-Ô-¨q¬w¯|ª|¸A¸qÑ/AÔ/A�5ˆEà�uŠu�U˜EÑ"Ô"Ð"r-   c                ó   — t           ‚rv   )r›   )rÊ   r  r!  s      r+   ÚcomposezFracElement.composev  s   € Ý!Ð!r-   rv   ))rZ   r¿   rÀ   rÁ   rÆ   r‰   rŒ   r}   rÏ   rw   r`   ry   rÓ   r×   rÙ   r‚   r„   rà   râ   rè   rë   rî   rð   rò   rö   rø   rû   rÿ   rý   r
  r  r  r  r  r  r  r  rÂ   r  r%  r'  r2   r-   r+   rW   rW     sk  € € € € € ØGÐGðð ð ð ð)ð )ð )ð/ð /ð /ðð ð ð
&ð &ð &ð4ð 4ð 4ð €Eðð ð ðBð Bð Bð/ð /ð /ðIð Ið Ið@ð @ð @ðð ð ðð ð ð>ð >ð >ð"ð "ð "ðð ð ðð ð ðð ð ðð ð ð+ð +ð +ð,ð ,ð ,ð$ð $ð $ð(ð ð ð>Mð Mð Mð$Mð $Mð $MðLNð Nð Nðð ð ð4;ð ;ð ;ð;ð ;ð ;ðB;ð ;ð ;ð7ð 7ð 7ðTð Tð Tð"qð qð qð	'ð 	'ð 	'ð 	'ð#ð #ð #ð #ð"ð "ð "ð "ð "ð "r-   rW   N)?rÁ   Ú
__future__r   Útypingr   Ú	functoolsr   Úoperatorr   r   r   r	   r
   r   Úsympy.core.exprr   Úsympy.core.modr   Úsympy.core.numbersr   Úsympy.core.singletonr   Úsympy.core.symbolr   Úsympy.core.sympifyr   r   Ú&sympy.functions.elementary.exponentialr   Ú!sympy.polys.domains.domainelementr   Ú!sympy.polys.domains.fractionfieldr   Ú"sympy.polys.domains.polynomialringr   Úsympy.polys.constructorr   Úsympy.polys.orderingsr   Úsympy.polys.polyerrorsr   Úsympy.polys.polyoptionsr   Úsympy.polys.polyutilsr   rX   r   Úsympy.printing.defaultsr   Úsympy.utilitiesr   Úsympy.utilities.iterablesr    Úsympy.utilities.magicr!   r,   r/   r7   rQ   rR   Ú__annotations__r$   rW   r2   r-   r+   ú<module>r@     sí  ðØ 'Ð 'Ð 'à "Ð "Ð "Ð "Ð "Ð "Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ð -à  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø #Ð #Ð #Ð #Ð #Ð #Ø "Ð "Ð "Ð "Ð "Ð "Ø $Ð $Ð $Ð $Ð $Ð $Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø :Ð :Ð :Ð :Ð :Ð :Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø =Ð =Ð =Ð =Ð =Ð =Ø 4Ð 4Ð 4Ð 4Ð 4Ð 4Ø %Ð %Ð %Ð %Ð %Ð %Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø :Ð :Ð :Ð :Ð :Ð :Ø )Ð )Ð )Ð )Ð )Ð )Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø "Ð "Ð "Ð "Ð "Ð "Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø )Ð )Ð )Ð )Ð )Ð )àØ!$ð #ð #ð #ñ „ð#ð
 Ø"%ð !ð !ð !ñ „ð!ð
 Ø"%ð ð ð ñ „ðð ð2ð 2ñ „ð2ðh  "€Ð !Ð !Ð !Ñ !ðt?ð t?ð t?ð t?ð t?�ñ t?ô t?ð t?ðlY"ð Y"ð Y"ð Y"ð Y"�- °+ñ Y"ô Y"ð Y"ð Y"ð Y"r-   