Ë
    ª2Úi³E  ã                  óˆ
  — U d dl mZ d dlmZ d dlmZ d dlZd dlZd dlm	Z	 d dl
Z
d dlmZmZ d dlZd dlmZ d dlmZmZmZ d d	lmZ d dlZd d
lmZmZmZmZmZmZ d dl m!Z!m"Z"m#Z# d dl$m%Z%m&Z& d dl'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z= d dl>m?Z?m@Z@ d dlAmBZBmCZCmDZDmEZE d dlFmGZGmHZHmIZI d dlJmKZK d dlLmMZM erd dlNmOZO d dlPmQZQmRZR g d¢ZSdeTd<   g d¢ZUdeTd<   eVddddgZWdeTd<   g d ¢ZXdeTd!<   eSeWz   ZYeUeXz   ZZg eY¢eZ¢Z[deTd"<   e\d#d$gZ]deTd%<   d&d'gZ^deTd(<   g e]¢e^¢Z_deTd)<   e`d*d+gZadeTd,<    e«       r	d-gZbdeTd.<   n
ecd/d-gZbdeTd.<   g ea¢e]¢ZddeTd0<   d1d2gZedeTd3<   d4d5gZfdeTd6<   egd7gZhdeTd8<   eid9gZjdeTd:<   ekd;gZldeTd<<   e]eYz   Zme^eZz   Zng em¢en¢ZodeTd=<   g eo¢ea¢ZpdeTd><   emeaz   ebz   eez   efz   ehz   elz   ejz   Zqejä                  ejæ                  ejè                  ejê                  ejì                  ejî                  ejð                  ejò                  gZzeceVe\e`e{e|e}e~ee€egeie�e‚gZƒd?d@dAœe	   Z„de�j
                  e�j                   e\dB«      e�j                   edC«      gZˆe�j                  e�j                  fD � �cg c]  } dDD ]  } | dE|«      ‘Œ Œ c}} Z‹e�rd dlŒZ� e�jî                  «        e�jð                  «        e�jò                  «        e��j                  «       gZ� e�jè                  «        e�jê                  «        e�jì                  «        e��j                   «       gZ‘e�e‘z   Z’e’D �cg c]  } ec e|«      «      ‘Œ c}Z“ e�jæ                  «        e��j(                  «       gZ•e•D �cg c]  } ec e|«      «      ‘Œ c}Z– e��j.                  dFdG«      gZ˜ e��j2                  «       gZš e��j6                  «       gZœ e��j:                  dH«       e��j:                  dI«       e��j<                  dJ«       e��j<                  dK«      gZŸ e��j@                  «        e��jB                  «       gZ¢dLD ��cg c]  }dMD ]  } e��jF                  ||¬N«      ‘Œ Œ  c}}Z¤dLD �cg c]  } e��jJ                  |«      ‘Œ c}Z¦ e��jN                  «       gZ¨e’e•z   e˜z   ešz   eœz   eŸz   e¢z   e¤z   e¦z   e¨z   Z©e“e–z   Zªng Z–g Z“g Z©g Zªe]enz   eªz   Z«g dO¢Z¬g dP¢Z­dedfdQ„Z®dR„ Z¯ G dS„ dTe«      Z° G dU„ dVe«      Z±dgdW„Z²dhdX„Z³dY„ Z´didZ„Zµd[„ Z¶d\„ Z·d]„ Z¸d^„ Z¹d_„ Zºd`„ Z»g dL¢Z¼djda„Z½dkdb„Z¾dldc„Z¿g dd¢ZÀyc c}} w c c}w c c}w c c}}w c c}w )mé    )Úannotations)ÚThreadPoolExecutor)ÚDecimalN)Ú	byteorder)ÚTYPE_CHECKINGÚContextManager)Úusing_string_dtype)Úcan_set_localeÚget_localesÚ
set_locale)ÚHAS_PYARROW)Ú
ArrowDtypeÚ	DataFrameÚIndexÚ
MultiIndexÚ
RangeIndexÚSeries)Úround_trip_pathlibÚround_trip_pickleÚwrite_to_compressed)Úassert_produces_warningÚmaybe_produces_warning)Úassert_almost_equalÚassert_attr_equalÚassert_categorical_equalÚassert_class_equalÚassert_contains_allÚassert_copyÚassert_datetime_array_equalÚassert_dict_equalÚassert_equalÚassert_extension_array_equalÚassert_frame_equalÚassert_index_equalÚ!assert_indexing_slices_equivalentÚassert_interval_array_equalÚassert_is_sortedÚassert_metadata_equivalentÚassert_numpy_array_equalÚassert_period_array_equalÚassert_series_equalÚassert_sp_array_equalÚassert_timedelta_array_equalÚraise_assert_detail)Ú	get_dtypeÚget_obj)Údecompress_fileÚraises_chained_assignment_errorÚset_timezoneÚwith_csv_dialect)ÚArrowExtensionArrayÚBaseMaskedArrayÚNumpyExtensionArray)ÚNDArrayBackedExtensionArray)Úextract_array)ÚCallable)ÚDtypeÚNpDtype)Úuint8Úuint16Úuint32Úuint64zlist[NpDtype]ÚUNSIGNED_INT_NUMPY_DTYPES)ÚUInt8ÚUInt16ÚUInt32ÚUInt64zlist[Dtype]ÚUNSIGNED_INT_EA_DTYPESÚint8Úint16Úint32Úint64ÚSIGNED_INT_NUMPY_DTYPES)ÚInt8ÚInt16ÚInt32ÚInt64ÚSIGNED_INT_EA_DTYPESÚALL_INT_DTYPESÚfloat32Úfloat64ÚFLOAT_NUMPY_DTYPESÚFloat32ÚFloat64ÚFLOAT_EA_DTYPESÚALL_FLOAT_DTYPESÚ	complex64Ú
complex128ÚCOMPLEX_DTYPESÚUÚSTRING_DTYPESÚstrÚCOMPLEX_FLOAT_DTYPESzdatetime64[ns]zM8[ns]ÚDATETIME64_DTYPESztimedelta64[ns]zm8[ns]ÚTIMEDELTA64_DTYPESÚboolÚBOOL_DTYPESÚbytesÚBYTES_DTYPESÚobjectÚOBJECT_DTYPESÚALL_REAL_DTYPESÚALL_NUMERIC_DTYPESú<ú>)ÚlittleÚbigÚnanÚNaN)ÚYÚMÚWÚDÚhÚmÚsÚmsÚusÚnsÚpsÚfsÚasÚNaTé   é   rv   rw   rx   ry   )rv   rw   rx   ry   )NÚUTCz
US/Pacificz
US/Eastern)ÚunitÚtz)Ú__add__Ú__radd__Ú__sub__Ú__rsub__Ú__mul__Ú__rmul__Ú__floordiv__Ú__rfloordiv__Ú__truediv__Ú__rtruediv__Ú__pow__Ú__rpow__Ú__mod__Ú__rmod__)Ú__eq__Ú__ne__Ú__le__Ú__lt__Ú__ge__Ú__gt__c                ór  — |t         j                  u rSt        | t        «      r*t	        t        j                  | j                  «      «      } | S t        j                  | d¬«      } | S |t        u rt        | d¬«      } | S |t        u rt        | «      } | S |t        u rDt        | «      j                  «       } |r'| j                  } t        j                  | gdz  d¬«      } | S |t
        j                  u s|t
        j                  u rt        j                  | «      } | S |t        u rt        | «      } | S t!        |«      ‚)z÷
    Helper function to wrap the expected output of a test in a given box_class.

    Parameters
    ----------
    expected : np.ndarray, Index, Series
    box_cls : {Index, Series, DataFrame}

    Returns
    -------
    subclass of box_cls
    F)Úcopyé   T)Úignore_index)ÚpdÚarrayÚ
isinstancer   r7   ÚnpÚasarrayÚ_valuesr   r   r   Úto_frameÚTÚconcatÚndarrayÚto_arrayÚNotImplementedError)ÚexpectedÚbox_clsÚ	transposes      úO/var/www/html/acx/venv/lib/python3.12/site-packages/pandas/_testing/__init__.pyÚbox_expectedr«     s)  € ð ”"—(‘(ÑÜ�h¤
Ô+ä*¬2¯:©:°h×6FÑ6FÓ+GÓHˆHð, €Oô) —x‘x ¨uÔ5ˆHð( €Oð' 
”EÑ	Ü˜¨Ô.ˆð$ €Oð# 
”FÑ	Ü˜(Ó#ˆð  €Oð 
”IÑ	Ü˜(Ó#×,Ñ,Ó.ˆÙð
  —z‘zˆHÜ—y‘y ( ¨a¡¸dÔCˆHð €Oð 
”B—J‘JÑ	 '¬R¯X©XÑ"5Ü—8‘8˜HÓ%ˆð
 €Oð	 
”HÑ	Ü˜HÓ%ˆð €Oô " 'Ó*Ð*ó    c                ód   — t        | dd«      }|€t        j                  | «      S t        | d¬«      S )zQ
    Similar to pd.array, but does not cast numpy dtypes to nullable dtypes.
    ÚdtypeNT)Úextract_numpy)Úgetattrrž   rŸ   r9   )Úobjr®   s     rª   r¥   r¥   ;  s2   € ô
 �C˜ $Ó'€Eà€}Ü�z‰z˜#‹Ðä˜¨DÔ1Ð1r¬   c                  ó4   — e Zd ZddgZed„ «       Zed„ «       Zy)ÚSubclassedSeriesÚtestattrÚnamec                ó   — d„ S )Nc                 ó   — t        | i |¤ŽS ©N©r³   ©ÚargsÚkwargss     rª   ú<lambda>z/SubclassedSeries._constructor.<locals>.<lambda>R  ó   € Ô'7¸Ð'HÀÑ'H€ r¬   © ©Úselfs    rª   Ú_constructorzSubclassedSeries._constructorK  s   € ñ IÐHr¬   c                ó   — d„ S )Nc                 ó   — t        | i |¤ŽS r¸   ©ÚSubclassedDataFramerº   s     rª   r½   z9SubclassedSeries._constructor_expanddim.<locals>.<lambda>V  ó   € Ô':¸DÐ'KÀFÑ'K€ r¬   r¿   rÀ   s    rª   Ú_constructor_expanddimz'SubclassedSeries._constructor_expanddimT  ó   € áKÐKr¬   N)Ú__name__Ú
__module__Ú__qualname__Ú	_metadataÚpropertyrÂ   rÈ   r¿   r¬   rª   r³   r³   H  s6   „ Ø˜VÐ$€IàñIó ðIð ñLó ñLr¬   r³   c                  ó2   — e Zd ZdgZed„ «       Zed„ «       Zy)rÆ   r´   c                ó   — d„ S )Nc                 ó   — t        | i |¤ŽS r¸   rÅ   rº   s     rª   r½   z2SubclassedDataFrame._constructor.<locals>.<lambda>^  rÇ   r¬   r¿   rÀ   s    rª   rÂ   z SubclassedDataFrame._constructor\  rÉ   r¬   c                ó   — d„ S )Nc                 ó   — t        | i |¤ŽS r¸   r¹   rº   s     rª   r½   z9SubclassedDataFrame._constructor_sliced.<locals>.<lambda>c  r¾   r¬   r¿   rÀ   s    rª   Ú_constructor_slicedz'SubclassedDataFrame._constructor_sliceda  s   € áHÐHr¬   N)rÊ   rË   rÌ   rÍ   rÎ   rÂ   rÔ   r¿   r¬   rª   rÆ   rÆ   Y  s3   „ Ø�€IàñLó ðLð ñIó ñIr¬   rÆ   c                óJ   — t         j                  }|j                  | «      |z   S )aW  
    Convert list of CSV rows to single CSV-formatted string for current OS.

    This method is used for creating expected value of to_csv() method.

    Parameters
    ----------
    rows_list : List[str]
        Each element represents the row of csv.

    Returns
    -------
    str
        Expected output of to_csv() in current OS.
    )ÚosÚlinesepÚjoin)Ú	rows_listÚseps     rª   Úconvert_rows_list_to_csv_strrÛ   f  s!   € ô  �*‰*€CØ�8‰8�IÓ Ñ$Ð$r¬   c                ó0   — ddl }|j                  | d¬«      S )a$  
    Helper function to mark pytest.raises that have an external error message.

    Parameters
    ----------
    expected_exception : Exception
        Expected error to raise.

    Returns
    -------
    Callable
        Regular `pytest.raises` function with `match` equal to `None`.
    r   N)Úmatch)ÚpytestÚraises)Úexpected_exceptionrÞ   s     rª   Úexternal_error_raisedrá   z  s   € ó à�=‰=Ð+°4ˆ=Ó8Ð8r¬   c                óF   — g }|D ]  \  }}|j                  | ||f«       Œ |S )a²  
    Combine frame, functions from com._cython_table
    keys and expected result.

    Parameters
    ----------
    ndframe : DataFrame or Series
    func_names_and_expected : Sequence of two items
        The first item is a name of an NDFrame method ('sum', 'prod') etc.
        The second item is the expected return value.

    Returns
    -------
    list
        List of three items (DataFrame, function, expected result)
    )Úappend)ÚndframeÚfunc_names_and_expectedÚresultsÚ	func_namer§   s        rª   Úget_cython_table_paramsrè   �  s5   € ð" €GØ6ò 7Ñˆ	�8Ø�‰˜ ¨HÐ5Õ6ð7à€Nr¬   c                óœ   ‡— | j                  d«      }	 t        t        |«      }|S # t        $ r t        t        |dd «      Šˆfd„}Y |S w xY w)zì
    The operator function for a given op name.

    Parameters
    ----------
    op_name : str
        The op name, in form of "add" or "__add__".

    Returns
    -------
    function
        A function performing the operation.
    Ú_é   Nc                ó   •—  ‰|| «      S r¸   r¿   )ÚxÚyÚrops     €rª   r½   z"get_op_from_name.<locals>.<lambda>¸  s   ø€ ™#˜a ›)€ r¬   )Ústripr°   ÚoperatorÚAttributeError)Úop_nameÚshort_opnameÚoprï   s      @rª   Úget_op_from_namerö   ¤  sY   ø€ ð —=‘= Ó%€Lð$Ü”X˜|Ó,ˆð €Iøô ò $ä”h ¨Q¨RÐ 0Ó1ˆÛ#‰à€Ið$ús   ”& ¦!AÁ
Ac                ó   — | S r¸   r¿   ©rí   s    rª   Úgetitemrù   Á  ó   € Ø€Hr¬   c                ó   — | S r¸   r¿   rø   s    rª   Úsetitemrü   Å  rú   r¬   c                ó   — | j                   S r¸   )Úlocrø   s    rª   rþ   rþ   É  ó   € Ø�5‰5€Lr¬   c                ó   — | j                   S r¸   )Úilocrø   s    rª   r  r  Í  s   € Ø�6‰6€Mr¬   c                ó   — | j                   S r¸   )Úatrø   s    rª   r  r  Ñ  s   € Ø�4‰4€Kr¬   c                ó   — | j                   S r¸   )Úiatrø   s    rª   r  r  Õ  rÿ   r¬   c                ó`   — t         j                  | «      t         j                  |«      k\  r| S |S )z2
    Find the higher of two datetime64 units.
    )Ú_UNITSÚindex)ÚleftÚrights     rª   Úget_finest_unitr  Þ  s(   € ô ‡|�|�DÓœVŸ\™\¨%Ó0Ò0ØˆØ€Lr¬   c                óà  — t        | t        j                  «      r0t        |t        j                  «      rt        j                  | |«      S t        | t        j                  «      rt        || «      S t        | t        «      ryt        | t
        «      rt        | j                  |«      S t        | t        t        f«      rLt        |t        t        f«      r t        | j                  |j                  «      S t        | j                  |«      S t        | t        «      rt        | j                  |«      S t        | t        j                  j                  j                  «      rt        | j                   |«      S t        | t        j                  j                  j"                  «      r.t        | j$                  |«      xs t        | j&                  |«      S t        | t(        «      r›t        |t(        «      ru| j*                  }|j*                  }|j-                  d«      j/                  «       d   }|j-                  d«      j/                  «       d   }|j0                  |j0                  k(  S t        j                  | |«      S t        | t2        «      rft        |t2        «      rVt        j                  | j4                  |j4                  «      xs* t        j                  | j6                  |j6                  «      S t        | t8        «      rQt;        | j<                  j>                  «      dk(  r/| j<                  j>                  d   j@                  }t        ||«      S tC        tE        | «      tE        |«      «      ‚)z-
    Pandas-compat for np.shares_memory.
    Fr   rë   )#r�   rž   r¤   Úshares_memoryr   r   Ú_codesr   r   r    r8   Ú_ndarrayr›   ÚcoreÚarraysÚSparseArrayÚ	sp_valuesÚIntervalArrayÚ_leftÚ_rightr5   Ú	_pa_arrayÚchunkÚbuffersÚaddressr6   Ú_dataÚ_maskr   ÚlenÚ_mgrÚblocksÚvaluesr¦   Útype)r	  r
  Úleft_pa_dataÚright_pa_dataÚ	left_buf1Ú
right_buf1Úarrs          rª   r  r  ç  st  € ô �$œŸ
™
Ô#¬
°5¼"¿*¹*Ô(EÜ×Ñ  eÓ,Ð,Ü	�Dœ"Ÿ*™*Ô	%ä˜U DÓ)Ð)ä�$œ
Ô#ØÜ�$œ
Ô#Ü˜TŸ[™[¨%Ó0Ð0Ü�$œ¤˜Ô(Ü�eœe¤V˜_Ô-Ü  §¡¨u¯}©}Ó=Ð=Ü˜TŸ\™\¨5Ó1Ð1ä�$Ô3Ô4Ü˜TŸ]™]¨EÓ2Ð2Ü�$œŸ™Ÿ™×2Ñ2Ô3Ü˜TŸ^™^¨UÓ3Ð3Ü�$œŸ™Ÿ™×4Ñ4Ô5Ü˜TŸZ™Z¨Ó/ÒT´=ÀÇÁÈeÓ3TÐTä�$Ô+Ô,Ü�eÔ0Ô1àŸ>™>ˆLØ!ŸO™OˆMØ$×*Ñ*¨1Ó-×5Ñ5Ó7¸Ñ:ˆIØ&×,Ñ,¨QÓ/×7Ñ7Ó9¸!Ñ<ˆJØ×$Ñ$¨
×(:Ñ(:Ñ:Ð:ô ×#Ñ# D¨%Ó0Ð0ä�$œÔ(¬Z¸¼Ô-Oô ×Ñ §
¡
¨E¯K©KÓ8ò 
¼B×<LÑ<LØ�J‰J˜Ÿ™ó=
ð 	
ô �$œ	Ô"¤s¨4¯9©9×+;Ñ+;Ó'<ÀÒ'AØ�i‰i×Ñ˜qÑ!×(Ñ(ˆÜ˜S %Ó(Ð(ä
œd 4›j¬$¨u«+Ó
6Ð6r¬   c           	     óF  — t        |¬«      5 }|€g }nt        |«      }|r&t        j                  |«      }|j	                  |«       	 g }t        |«      D ]$  }|j	                   |j                  | g|¢­Ž «       Œ& 	 t        «      |k  r|rj                  «        	 |D ]  }
|
j                  «        Œ 	 d d d «       y # t        $ r&}dd l}	|	j                  d|› d|›d�«       Y d }~Œld }~ww xY w# t        «      |k  r|rj                  «        w w w xY w# 1 sw Y   y xY w)N)Úmax_workersr   z	Spawning z threads failed with error z@ (likely due to resource limits on the system running the tests))r   ÚlistÚ	threadingÚBarrierrã   ÚrangeÚsubmitÚRuntimeErrorrÞ   Úskipr  ÚabortÚresult)Úclosurer(  Ú	argumentsÚpass_barrierÚtpeÚbarrierÚfuturesrê   ÚerÞ   Úfs              rª   Úrun_multithreadedr:    s+  € Ü	¨Ô	4ð ¸ØÐØ‰Iä˜Y›ˆIáÜ×'Ñ'¨Ó4ˆGØ×Ñ˜WÔ%ð	 ØˆGÜ˜;Ó'ò @�Ø—‘˜z˜sŸz™z¨'Ð>°IÒ>Õ?ñ@ô �7‹|˜kÒ)©lØ—‘•Øò 	ˆAØ�H‰H�Jñ	÷3ð øô ò 	Ûà�K‰KØ˜K˜=ð )Ø˜ð ,ð,÷ñ ûð	ûô �7‹|˜kÒ)©lØ—‘•ð /;Ð)ú÷/ð úsG   �9DÁ4B>Á;C0Á<8DÂ>	C-ÃC(Ã#C0Ã(C-Ã-C0Ã0$DÄDÄD )JÚALL_INT_EA_DTYPESÚALL_INT_NUMPY_DTYPESÚALL_NUMPY_DTYPESÚALL_REAL_NUMPY_DTYPESrc   re   r[   r`   ÚENDIANrW   rT   ÚNARROW_NP_DTYPESÚNP_NAT_OBJECTSÚNULL_OBJECTSrg   rP   rK   r]   ra   rF   rA   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Û   r1   rá   rè   r/   r  r   r0   rö   rù   r  r  rþ   r   r.   r2   r   r   r:  r   r3   rü   r  r¥   r4   r   )T)r©   rb   )rÙ   z	list[str]Úreturnr^   )rà   ztype[Exception]rC  r   )ró   r^   rC  r:   )r	  r^   r
  r^   rC  r^   )rC  rb   )NF)ÁÚ
__future__r   Úconcurrent.futuresr   Údecimalr   rñ   rÖ   Úsysr   r*  Útypingr   r   Únumpyrž   Úpandas._configr	   Úpandas._config.localizationr
   r   r   Úpandas.compatr   Úpandasr›   r   r   r   r   r   r   Úpandas._testing._ior   r   r   Úpandas._testing._warningsr   r   Úpandas._testing.assertersr   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   Úpandas._testing.compatr/   r0   Úpandas._testing.contextsr1   r2   r3   r4   Úpandas.core.arraysr5   r6   r7   Úpandas.core.arrays._mixinsr8   Úpandas.core.constructionr9   Úcollections.abcr:   Úpandas._typingr;   r<   rA   Ú__annotations__rF   ÚintrK   rP   r<  r;  rQ   ÚfloatrT   rW   rX   Úcomplexr[   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   r>  ÚALL_REAL_EXTENSION_DTYPESrh   ri   r=  Úfloat16rR   rG   rH   rI   r=   r>   r?   r@  r)  Útupler,  ÚdictÚsetÚ	frozensetÚ	bytearrayÚ
memoryviewÚPYTHON_DATA_TYPESr?  rn   r}   ÚNArB  Ú
datetime64Útimedelta64rA  ÚpyarrowÚpar@   ÚUNSIGNED_INT_PYARROW_DTYPESrJ   ÚSIGNED_INT_PYARROW_DTYPESÚALL_INT_PYARROW_DTYPESÚALL_INT_PYARROW_DTYPES_STR_REPRrS   ÚFLOAT_PYARROW_DTYPESÚFLOAT_PYARROW_DTYPES_STR_REPRÚ
decimal128ÚDECIMAL_PYARROW_DTYPESÚstringÚSTRING_PYARROW_DTYPESÚbinaryÚBINARY_PYARROW_DTYPESÚtime32Útime64ÚTIME_PYARROW_DTYPESÚdate32Údate64ÚDATE_PYARROW_DTYPESÚ	timestampÚDATETIME_PYARROW_DTYPESÚdurationÚTIMEDELTA_PYARROW_DTYPESÚbool_ÚBOOL_PYARROW_DTYPESÚALL_PYARROW_DTYPESÚ ALL_REAL_PYARROW_DTYPES_STR_REPRÚALL_REAL_NULLABLE_DTYPESÚarithmetic_dunder_methodsÚcomparison_dunder_methodsr«   r¥   r³   rÆ   rÛ   rá   rè   rö   rù   rü   rþ   r  r  r  r  r  r  r:  Ú__all__)Úclsr�   Útypr‚   s   0000rª   ú<module>rŠ     sc  ðÞ "å 1Ý Û Û 	Ý Û ÷ó
 å -÷ñ õ &ã ÷÷ ÷ñ ÷
÷÷ ÷ ÷ ÷ ÷ ÷0÷ó ÷ñ õ
 CÝ 2áÝ(÷ò ,SÐ ˜=Ó RÚ&MÐ ˜Ó MØ*-¨v°wÀÈÐ)QÐ ˜Ó QÚ$GÐ �kÓ GØ0Ð3JÑJÐ Ø*Ð-AÑAÐ ØIÐ 4ÐIÐ7HÐI€�Ó Ià%*¨I°yÐ$AÐ �MÓ AØ )¨9Ð5€�Ó 5Ø GÐ"4Ð G°Ð GÐ �+Ó Gà&¨°\ÐB€�Ó BÙÔØ"% €M�;Ô&à"% u¨cÐ!2€M�;Ó2Ø$J nÐ$JÐ7IÐ$JÐ �kÓ Jà"2°HÐ!=Ð �;Ó =Ø#4°hÐ"?Ð �KÓ ?à  &˜>€ˆ[Ó )Ø" GÐ,€ˆkÓ ,Ø$ hÐ/€ˆ{Ó /à*Ð-AÑAÐ Ø+Ð.?Ñ?Ð ØSÐ!6ÐSÐ9RÐS€�Ó SØ"E OÐ"E°nÐ"EÐ �KÓ Eð Øñàñð ñð ñ	ð
 ñð ñð ñð ð ‡J�JØ‡J�JØ‡G�GØ‡H�HØ‡H�HØ‡H�HØ‡I�IØ‡I�Ið	Ð ð ØØ	ØØØ	Ø	ØØØØØ	ØØðÐ ð"  Ñ	$ YÑ	/€à�b—f’f˜bŸfšf¡e¨E£l°B·E²E¹7À5»>ÐJ€ð —’˜rŸ~š~Ð.÷àðòð 	ñ ˆˆtÕðØó€ò( Ûà#+ 2§8¡8£:¨y¨r¯y©y«{¸I¸B¿I¹I»KÈÈÏÊËÐ"UÐØ!( §¡£¨H¨B¯H©H«J¸¸¿¹»
ÀHÀBÇHÂHÃJÐ OÐØ8Ð;TÑTÐà(>ö'Ø!$‰‰J�s‹OÕò'Ð#ð '˜BŸJ™J›L¨*¨"¯*ª*«,Ð7Ðà(<ö%Ø!$‰‰J�s‹OÕò%Ð!ð ,˜bŸmšm¨A¨qÓ1Ð2ÐØ&˜RŸYšY›[˜MÐØ&˜RŸYšY›[˜MÐð 	ˆ�	Š	�#‹Øˆ�	Š	�$‹Øˆ�	Š	�$‹Øˆ�	Š	�$‹ð	Ðð %˜2Ÿ9š9›;¨	¨¯	ª	«Ð4Ðð ,÷àØ;òð ð 	ˆ�Š˜$ 2Ö&ðØ&óÐð
 ?VÖV°d  §¢¨DÕ 1ÒVÐà#˜2Ÿ8š8›:˜,Ðð
 	Ø
ñ	à
 ñ	!ð  ñ	 ð  ñ		 ð
 ñ	ð ñ	ð "ñ	"ð #ñ	#ð ñ		ð ð 	(Ð*GÑGñ %ð %'Ð!Ø&(Ð#ØÐØ')Ð$ð Ð2Ñ2Ð5UÑUð òÐ ò" YÐ ô&òR
2ôL�vô Lô"
I˜)ô 
Ió%ó(9ò&ó.ò:òòòòòò 
!€óó27ójò<K�ùógùò4'ùò%ùóùò
  Ws   Ê	T)Ì:T/Í9T4Ð?#T9Ñ*T?