Ë
    ¤ehï2  ã                   óÈ  — d dl Zd dlZd dlmZ d dlmZmZmZm	Z	m
Z
 d dlmZ ej                  j                  Zd„ Zd„ Zej                  j'                  d«      ej                  j)                  ddd	g«      ej                  j)                  d
ddg«      ej                  j)                  ddd	g«      d„ «       «       «       «       Zej                  j'                  d«      ej                  j)                  ddd	g«      ej                  j)                  d
ddg«      d„ «       «       «       Zd„ Zej                  j)                  ddddgiddidddgddœid edd¬«      ig«      d„ «       Zej                  j)                  ddd„ idf ej2                  dd„ d„ giddgej                  j5                  d¬ «      ¬!«      g«      d"„ «       Zej                  j)                  ddddgiddiddd#œg«      d$„ «       Zej                  j                  ej                  j)                  d% e	g d&¢«      dddgif e	g d&¢«      ddif eg d&¢g d'¢dœdd(g¬)«      dddgif eg d&¢g d'¢dœdd(g¬)«      ddif eg d&¢g d'¢dœdd(g¬)«      dddgddœif eg d&¢g d'¢dœdd(g¬)«      d* edd¬«      ifg«      d+„ «       «       Zd,„ Zd-„ Zd.„ Z ej                  j'                  d«      d/„ «       Z!d0„ Z"d1„ Z#d2„ Z$y)3é    N)ÚNumbaUtilError)Ú	DataFrameÚIndexÚNamedAggÚSeriesÚoption_contextc                  ó®  — t        j                  d«       d„ } t        g d¢g d¢dœddg¬«      }t        j                  t        d	¬
«      5  |j                  d«      j                  | d¬«       d d d «       t        j                  t        d	¬
«      5  |j                  d«      d   j                  | d¬«       d d d «       y # 1 sw Y   ŒSxY w# 1 sw Y   y xY w)NÚnumbac                 ó   — t        | «      dz  S ©Ngš™™™™™@©Úsum©Úxs    úg/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pandas/tests/groupby/aggregate/test_numba.pyÚincorrect_functionz;test_correct_function_signature.<locals>.incorrect_function   s   € Ü�1‹v˜‰|Ðó    ©Úar   Úbr   r   ©ç      ð?ç       @g      @g      @g      @©ÚkeyÚdatar   r   ©ÚcolumnszThe first 2©Úmatch©Úengine©ÚpytestÚimportorskipr   Úraisesr   ÚgroupbyÚagg©r   r   s     r   Útest_correct_function_signaturer*      sÈ   € Ü
×Ñ˜Ô òô Ú)Ò3LÑMØ˜�ô€Dô 
�‰”~¨]Ô	;ñ DØ�‰�UÓ×ÑÐ 2¸7ÐÔC÷Dô 
�‰”~¨]Ô	;ñ LØ�‰�UÓ˜FÑ#×'Ñ'Ð(:À7Ð'ÔK÷Lð L÷Dð Dú÷Lð Lús   Á
#B?Â&CÂ?CÃCc                  ó²  — t        j                  d«       d„ } t        g d¢g d¢dœddg¬«      }t        j                  t        d	¬
«      5  |j                  d«      j                  | dd¬«       d d d «       t        j                  t        d	¬
«      5  |j                  d«      d   j                  | dd¬«       d d d «       y # 1 sw Y   ŒTxY w# 1 sw Y   y xY w)Nr
   c                 ó   — t        | «      dz  S r   r   ©ÚvaluesÚindexs     r   r   z6test_check_nopython_kwargs.<locals>.incorrect_function&   s   € Ü�6‹{˜SÑ Ð r   r   r   r   r   r   r   znumba does not supportr   é   )r"   r   r#   r)   s     r   Útest_check_nopython_kwargsr1   #   sÎ   € Ü
×Ñ˜Ô ò!ô Ú)Ò3LÑMØ˜�ô€Dô 
�‰”~Ð-EÔ	Fñ IØ�‰�UÓ×ÑÐ 2¸7ÀaÐÔH÷Iô 
�‰”~Ð-EÔ	Fñ QØ�‰�UÓ˜FÑ#×'Ñ'Ð(:À7ÈaÐ'ÔP÷Qð Q÷Ið Iú÷Qð Qús   Á
$CÂ'CÃC
ÃCÚignoreÚjitTFÚ
pandas_objr   r   Úas_indexc                 óP  — t        j                  d«       d„ }| rdd l}|j                  |«      }t	        g d¢g d¢dœddg¬«      }|||d	œ}	|j                  d|¬
«      }
|dk(  r|
d   }
|
j                  |d|	¬«      }|
j                  d„ d¬«      }t        j                  ||«       y )Nr
   c                 ó2   — t        j                  | «      dz  S r   ©ÚnpÚmeanr-   s     r   Ú
func_numbaz(test_numba_vs_cython.<locals>.func_numba<   ó   € Ü�w‰w�v‹ Ñ$Ð$r   r   r   r   ©r   r0   r0   r   ©ÚnogilÚparallelÚnopython)r5   r   ©r"   Úengine_kwargsc                 ó2   — t        j                  | «      dz  S r   r8   r   s    r   ú<lambda>z&test_numba_vs_cython.<locals>.<lambda>N   ó   € ¤R§W¡W¨Q£Z°#Ñ%5€ r   Úcythonr!   ©	r$   r%   r
   r3   r   r'   r(   ÚtmÚassert_equal)r3   r4   r?   r@   rA   r5   r;   r
   r   rC   ÚgroupedÚresultÚexpecteds                r   Útest_numba_vs_cythonrN   4   s­   € ô ×Ñ˜Ô ò%ñ ãà—Y‘Y˜zÓ*ˆ
äÚ%Ò*CÑDÈqÐRSÈfô€Dð $°ÀxÑP€MØ�l‰l˜1 xˆlÓ0€GØ�XÒØ˜!‘*ˆà�[‰[˜¨GÀ=ˆ[ÓQ€FØ�{‰{Ñ5¸hˆ{ÓG€Hä‡O�O�F˜HÕ%r   c                 ól  — t        j                  d«       d„ }d„ }| r&dd l}|j                  |«      }|j                  |«      }t	        g d¢g d¢dœddg¬	«      }|||d
œ}	|j                  d«      }
|dk(  r|
d   }
|
j                  |d|	¬«      }|
j                  d„ d¬«      }t        j                  ||«       |
j                  |d|	¬«      }|
j                  d„ d¬«      }t        j                  ||«       |
j                  |d|	¬«      }|
j                  d„ d¬«      }t        j                  ||«       y )Nr
   c                 ó2   — t        j                  | «      dz
  S ©Ng333333@r8   r-   s     r   Úfunc_1ztest_cache.<locals>.func_1[   r<   r   c                 ó2   — t        j                  | «      dz  S r   r8   r-   s     r   Úfunc_2ztest_cache.<locals>.func_2^   r<   r   r   r   r   r=   r0   r   r>   r   rB   c                 ó2   — t        j                  | «      dz
  S rQ   r8   r   s    r   rE   ztest_cache.<locals>.<lambda>p   rF   r   rG   r!   c                 ó2   — t        j                  | «      dz  S r   r8   r   s    r   rE   ztest_cache.<locals>.<lambda>u   rF   r   c                 ó2   — t        j                  | «      dz
  S rQ   r8   r   s    r   rE   ztest_cache.<locals>.<lambda>z   rF   r   rH   )r3   r4   r?   r@   rA   rR   rT   r
   r   rC   rK   rL   rM   s                r   Ú
test_cacherX   S   s)  € ô ×Ñ˜Ô ò%ò%ñ Ûà—‘˜6Ó"ˆØ—‘˜6Ó"ˆäÚ%Ò*CÑDÈqÐRSÈfô€Dð $°ÀxÑP€MØ�l‰l˜1‹o€GØ�XÒØ˜!‘*ˆà�[‰[˜¨¸}ˆ[ÓM€FØ�{‰{Ñ5¸hˆ{ÓG€HÜ‡O�O�F˜HÔ%ð �[‰[˜¨¸}ˆ[ÓM€FØ�{‰{Ñ5¸hˆ{ÓG€HÜ‡O�O�F˜HÔ%ð �[‰[˜¨¸}ˆ[ÓM€FØ�{‰{Ñ5¸hˆ{ÓG€HÜ‡O�O�F˜HÕ%r   c                  ó<  — t        j                  d«       d„ } t        g d¢g d¢dœddg¬«      }|j                  d«      }|j	                  | d¬	«      }t        d
d«      5  |j	                  | d ¬	«      }d d d «       t        j                  |«       y # 1 sw Y   Œ xY w)Nr
   c                 ó2   — t        j                  | «      dz
  S rQ   r8   r-   s     r   rR   z&test_use_global_config.<locals>.func_1�   r<   r   r   r   r=   r   r0   r   r!   zcompute.use_numbaT)r$   r%   r   r'   r(   r   rI   Úassert_frame_equal)rR   r   rK   rM   rL   s        r   Útest_use_global_configr\   ~   s”   € Ü
×Ñ˜Ô ò%ô Ú%Ò*CÑDÈqÐRSÈfô€Dð �l‰l˜1‹o€GØ�{‰{˜6¨'ˆ{Ó2€HÜ	Ð+¨TÓ	2ñ 2Ø—‘˜V¨D�Ó1ˆ÷2ä×Ñ˜( FÕ+÷2ð 2ús   ÁBÂBÚ
agg_kwargsÚfuncÚminÚmaxr   )r0   é   Úbminr0   )ÚcolumnÚaggfuncc                 ó  — t        j                  d«       t        g d¢g d¢g d¢dœg d¢¬«      }|j                  d«      } |j                  d
i | ¤ddi¤Ž} |j                  d
i | ¤dd	i¤Ž}t        j                  ||«       y )Nr
   r   r   ©r0   ra   é   é   é   ©r   r0   ra   r   r   r"   rG   © ©r$   r%   r   r'   r(   rI   r[   )r]   r   rK   rL   rM   s        r   Ú$test_multifunc_numba_vs_cython_framerm   Ž   s~   € ô ×Ñ˜Ô Üâ(Ú(Úñ	
ò
 ô€Dð �l‰l˜1‹o€GØˆW�[‰[Ñ6˜:Ñ6¨gÒ6€FØˆw�{‰{Ñ9˜ZÑ9°Ò9€HÜ×Ñ˜& (Õ+r   zagg_kwargs,expected_funcc                 ó"   — | j                  «       S ©Nr   r-   s     r   rE   rE   ª   s   € ¨¯
©
«€ r   c                 ó"   — | j                  «       S ro   r   r-   s     r   rE   rE   ¯   ó   € ¨&¯*©*«,€ r   c                 ó"   — | j                  «       S ro   ©r_   r-   s     r   rE   rE   °   rq   r   z2This doesn't work yet! Fails in nopython pipeline!)Úreason)Úmarksc                 ó  — t        j                  d«       t        g d¢g d¢g d¢dœg d¢¬«      }|j                  d«      } |j                  di | ¤ddi¤Ž}|j	                  |d	¬
«      }t        j                  ||d¬«       y )Nr
   r   r   rf   rj   r   r   r"   rG   r!   F)Úcheck_dtyperk   rl   )r]   Úexpected_funcr   rK   rL   rM   s         r   Útest_multifunc_numba_udf_framery   §   s|   € ô( ×Ñ˜Ô Üâ(Ú(Úñ	
ò
 ô€Dð �l‰l˜1‹o€GØˆW�[‰[Ñ6˜:Ñ6¨gÒ6€FØ�{‰{˜=°ˆ{Ó:€Hô ×Ñ˜& (¸Ö>r   )Úmin_valÚmax_valc                 óH  — t        j                  d«       g d¢}t        g d¢«      }|j                  |«      }d| d<    |j                  di | ¤Ž}d| d<    |j                  di | ¤Ž}t        |t        «      rt        j                  ||«       y t        j                  ||«       y )Nr
   r   r   r"   rG   rk   )
r$   r%   r   r'   r(   Ú
isinstancer   rI   r[   Úassert_series_equal)r]   Úlabelsr   rK   rL   rM   s         r   Ú%test_multifunc_numba_vs_cython_seriesr€   Ì   s”   € ô
 ×Ñ˜Ô Ú&€FÜÒ+Ó,€DØ�l‰l˜6Ó"€GØ"€JˆxÑØˆW�[‰[Ñ&˜:Ñ&€FØ#€JˆxÑØˆw�{‰{Ñ(˜ZÑ(€HÜ�(œIÔ&Ü
×Ñ˜f hÕ/ä
×Ñ˜v xÕ0r   zdata,agg_kwargsr   rf   ra   r   Úmin_colc                 ó0  — t        j                  d«       g d¢}| j                  |«      } |j                  di |¤dddidœ¤Ž} |j                  di |¤ddi¤Ž}t	        |t
        «      rt        j                  ||«       y t        j                  ||«       y )Nr
   r   r@   TrB   r"   rk   )	r$   r%   r'   r(   r}   r   rI   r[   r~   )r   r]   r   rK   rL   rM   s         r   Ú&test_multifunc_numba_kwarg_propagationrƒ   ß   sˆ   € ôB ×Ñ˜Ô Ú&€FØ�l‰l˜6Ó"€GØˆW�[‰[ÑX˜:ÐX¨gÀjÐRVÐEWÓX€FØˆw�{‰{Ñ8˜ZÑ8°Ò8€HÜ�(œIÔ&Ü
×Ñ˜f hÕ/ä
×Ñ˜v xÕ0r   c                  ó¤  — t        j                  d«       d„ } t        g d¢g d¢dœ«      }|j                  d«      d   }|j	                  | dd¬	«      }t        d
gdz  dt        ddgd¬«      ¬«      }t        j                  ||«       |j	                  | dd¬	«      }t        dgdz  dt        ddgd¬«      ¬«      }t        j                  ||«       y )Nr
   c                 ó*   — | | d  j                  «       S ro   r   )r.   r/   Úns      r   Úsum_lastz&test_args_not_cached.<locals>.sum_last  s   € Ø�q�b�cˆ{�‰Ó Ð r   )r   r   r0   r0   )r0   r0   r0   r0   )Úidr   rˆ   r   r0   r!   r   ra   r   ©Úname)rŠ   r/   r   )	r$   r%   r   r'   r(   r   r   rI   r~   )r‡   ÚdfÚ	grouped_xrL   rM   s        r   Útest_args_not_cachedr�     s¿   € ä
×Ñ˜Ô ò!ô 
š,ª\Ñ:Ó	;€BØ—
‘
˜4Ó  Ñ%€IØ�]‰]˜8 Q¨wˆ]Ó7€FÜ�s�e˜a‘i c´¸¸1°vÀDÔ1IÔJ€HÜ×Ñ˜6 8Ô,à�]‰]˜8 Q¨wˆ]Ó7€FÜ�s�e˜a‘i c´¸¸1°vÀDÔ1IÔJ€HÜ×Ñ˜6 8Õ,r   c                  ó  — t        j                  d«       d„ } t        g d¢g d¢dœg d¢¬«      }|j                  d«      j	                  | d¬	«      }t        d
dgdgt        ddgd¬«      ¬«      }t        j                  ||«       y )Nr
   c                 ó,   — t        j                  |«      S ro   r8   r-   s     r   Úfz+test_index_data_correctly_passed.<locals>.f!  s   € Ü�w‰w�u‹~Ðr   )ÚAr‘   ÚB)rh   ri   é   )ÚgroupÚv)éÿÿÿÿéþÿÿÿéýÿÿÿ)r/   r”   r!   g      ø¿g      Àr•   r‘   r’   r‰   )r   r/   )r$   r%   r   r'   Ú	aggregater   rI   r[   )r�   r‹   rL   rM   s       r   Ú test_index_data_correctly_passedrš     sz   € ä
×Ñ˜Ô òô 
š_²9Ñ=Â\Ô	R€BØ�Z‰Z˜Ó ×*Ñ*¨1°WÐ*Ó=€FÜØ	ˆtˆ˜s˜e¬5°#°s°À'Ô+Jô€Hô ×Ñ˜& (Õ+r   c                  ó¬  ‡‡‡— t        j                  d«       dŠdŠdŠˆˆˆfd„} ‰‰‰dœ}t        dg d¢i«      }|j                  d¬	«      j	                  | d|¬
«      }t        dg d¢i«      }t        j                  ||«       dŠ‰‰‰dœ}|j                  d¬	«      j	                  | d|¬
«      }t        dg d¢i«      }t        j                  ||«       y )Nr
   TFc                 ó   •— ‰‰z   ‰z   S ro   rk   )r.   r/   r?   rA   r@   s     €€€r   Úfunc_kwargsz2test_engine_kwargs_not_cached.<locals>.func_kwargs4  s   ø€ Ø�xÑ (Ñ*Ð*r   ©rA   r?   r@   Úvalue)r   r   r   r   )ÚlevelrB   )r   r   r   )r   r   r   )r$   r%   r   r'   r™   rI   r[   )r�   rC   r‹   rL   rM   r?   rA   r@   s        @@@r   Útest_engine_kwargs_not_cachedr¡   ,  så   ú€ ô ×Ñ˜Ô Ø€EØ€HØ€Hö+ð "*°EÀxÑP€MÜ	�GšYÐ'Ó	(€BØ�Z‰Z˜aˆZÓ ×*Ñ*Ø˜G°=ð +ó €Fô ˜'¢?Ð3Ó4€HÜ×Ñ˜& (Ô+à€EØ!)°EÀxÑP€MØ�Z‰Z˜aˆZÓ ×*Ñ*Ø˜G°=ð +ó €Fô ˜'¢?Ð3Ó4€HÜ×Ñ˜& (Õ+r   c                 ó,  — t        j                  d«       d„ }t        ddddœg«      j                  ddg«      }|| |d	œ}|j	                  d«      j                  |d|¬
«      }t        dgt        dgd¬«      dg¬«      }t        j                  ||«       y )Nr
   c                  ó   — y©Nr0   rk   r-   s     r   Ú
numba_funcz+test_multiindex_one_key.<locals>.numba_funcL  ó   € Ør   r0   ra   rg   ©r‘   r’   ÚCr‘   r’   rž   rB   r   r‰   r¨   )r/   r   )	r$   r%   r   Ú	set_indexr'   r(   r   rI   r[   )r?   r@   rA   r¥   r‹   rC   rL   rM   s           r   Útest_multiindex_one_keyrª   H  s—   € ä
×Ñ˜Ô òô 
˜! !¨!Ñ,Ð-Ó	.×	8Ñ	8¸#¸s¸Ó	D€BØ!)°EÀxÑP€MØ�Z‰Z˜‹_× Ñ Ø˜7°-ð !ó €Fô ˜#˜¤e¨Q¨C°cÔ&:ÀSÀEÔJ€HÜ×Ñ˜& (Õ+r   c                 ó,  — t        j                  d«       d„ }t        ddddœg«      j                  ddg«      }|| |d	œ}t        j                  t
        d
¬«      5  |j                  ddg«      j                  |d|¬«       d d d «       y # 1 sw Y   y xY w)Nr
   c                  ó   — yr¤   rk   r-   s     r   r¥   z;test_multiindex_multi_key_not_supported.<locals>.numba_func[  r¦   r   r0   ra   rg   r§   r‘   r’   rž   zmore than 1 grouping labelsr   rB   )r$   r%   r   r©   r&   ÚNotImplementedErrorr'   r(   )r?   r@   rA   r¥   r‹   rC   s         r   Ú'test_multiindex_multi_key_not_supportedr®   X  s’   € Ü
×Ñ˜Ô òô 
˜! !¨!Ñ,Ð-Ó	.×	8Ñ	8¸#¸s¸Ó	D€BØ!)°EÀxÑP€MÜ	�‰Ô*Ð2OÔ	Pñ 
Ø
�
‰
�C˜�:Ó×"Ñ"Ø˜w°mð 	#ô 	
÷
÷ 
ñ 
ús   Á&B
Â
Bc                 ó2  — t        j                  d«       | \  }}t        g d¢g d¢t        j                  j                  d«      j                  d«      t        j                  j                  d«      j                  d«      dœ«      }|j                  ddg«      } |j                  |fd	di|¤Ž} |j                  |fd	d
i|¤Ž}t        j                  ||«        t        ||«      dd	di|¤Ž} t        ||«      dd	d
i|¤Ž}t        j                  ||«       y )Nr
   ©ÚfooÚbarr±   r²   r±   r²   r±   r±   ©Úoner´   ÚtwoÚthreerµ   rµ   r´   r¶   ra   é   ©r‘   r’   r¨   ÚDr‘   r’   r"   rG   rk   )r$   r%   r   r9   ÚrandomÚdefault_rngÚstandard_normalr'   r(   rI   r[   Úgetattr)	Únumba_supported_reductionsÚ	reductionÚkwargsr‹   ÚgbÚres_aggÚexpected_aggÚ
direct_resÚdirect_expecteds	            r   Útest_multilabel_numba_vs_cythonrÆ   f  s  € Ü
×Ñ˜Ô Ø2Ñ€IˆvÜ	âIÚMÜ—‘×&Ñ& qÓ)×9Ñ9¸!Ó<Ü—‘×&Ñ& qÓ)×9Ñ9¸!Ó<ñ		
ó
€Bð 
�‰�S˜#�JÓ	€BØˆb�f‰f�YÑ9 wÐ9°&Ñ9€GØ�2—6‘6˜)Ñ?¨HÐ?¸Ñ?€LÜ×Ñ˜' <Ô0à'”˜˜YÓ'ÑA¨wÐA¸&ÑA€JØ,”g˜b )Ó,ÑG°HÐGÀÑG€OÜ×Ñ˜* oÕ6r   c                  ó¨  — t        j                  d«       t        g d¢g d¢t        j                  j                  d«      j                  d«      t        j                  j                  d«      j                  d«      dœ«      } | j                  ddg«      }|j                  d	„ d¬
«      }|j                  d„ d¬
«      }t        j                  ||«       y )Nr
   r°   r³   ra   r·   r¸   r‘   r’   c                 ó"   — | j                  «       S ro   rs   r-   s     r   rE   z5test_multilabel_udf_numba_vs_cython.<locals>.<lambda>†  rq   r   r!   c                 ó"   — | j                  «       S ro   rs   r   s    r   rE   z5test_multilabel_udf_numba_vs_cython.<locals>.<lambda>‡  s   €  §¡£€ r   rG   )r$   r%   r   r9   rº   r»   r¼   r'   r(   rI   r[   )r‹   rÁ   rL   rM   s       r   Ú#test_multilabel_udf_numba_vs_cythonrÊ   {  s©   € Ü
×Ñ˜Ô Ü	âIÚMÜ—‘×&Ñ& qÓ)×9Ñ9¸!Ó<Ü—‘×&Ñ& qÓ)×9Ñ9¸!Ó<ñ		
ó
€Bð 
�‰�S˜#�JÓ	€BØ�V‰VÑ6¸wˆVÓG€FØ�v‰vÑ'°ˆvÓ9€HÜ×Ñ˜& (Õ+r   )%Únumpyr9   r$   Úpandas.errorsr   Úpandasr   r   r   r   r   Úpandas._testingÚ_testingrI   ÚmarkÚ
single_cpuÚ
pytestmarkr*   r1   ÚfilterwarningsÚparametrizerN   rX   r\   rm   ÚparamÚxfailry   r€   rƒ   r�   rš   r¡   rª   r®   rÆ   rÊ   rk   r   r   ú<module>r×      s�  ðÛ Û å (÷õ õ à�[‰[×#Ñ#€
òLò"Qð" ‡�×Ñ˜HÓ%à‡�×Ñ˜  u Ó.Ø‡�×Ñ˜¨°+Ð'>Ó?Ø‡�×Ñ˜ d¨E ]Ó3ñ&ó 4ó @ó /ó &ð
&ð4 ‡�×Ñ˜HÓ%à‡�×Ñ˜  u Ó.Ø‡�×Ñ˜¨°+Ð'>Ó?ñ$&ó @ó /ó &ð$&òN,ð  ‡�×ÑØà	�%˜�Ð Ø	�ˆØ	�e˜U�^¨Ñ.Ð/Ø	‘ ¨EÔ2Ð3ð	óñ,óð,ð  ‡�×ÑØà
Ñ4Ð	5°uÐ=àˆ�‰àÙ6Ù6ððð �EˆNØ—+‘+×#Ñ#ØKð $ó ô	
ðóñ&?ó'ð&?ð$ ‡�×ÑØØˆu�eˆnÐ ¨˜¸EÈeÑ0TÐUóñ1ó	ð1ð ‡�×ÑØ‡�×ÑØá	Ò)Ó	*¨V°e¸U°^Ð,DÐEÙ	Ò)Ó	*¨V°U¨OÐ<áÚ-²/ÑBÈQÐPQÈFôð �e˜U�^Ð$ð		
ñ Ú-²/ÑBÈQÐPQÈFôð �UˆOð		
ñ Ú-²/ÑBÈQÐPQÈFôð ˜% ˜¨EÑ2Ð3ð		
ñ Ú-²/ÑBÈQÐPQÈFôð ™¨°5Ô9Ð:ð		
ð+óñ>	1ó?ó ð@	1ò-ò$,ò,ð8 ‡�×Ñ˜HÓ%ñ,ó &ð,ò
ò7ó*,r   