§
    rŠtj	T ã                   óP$  — d Z ddlZddlZddlZ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 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'm(Z(m)Z)m*Z*m+Z+m,Z, ddl-m.Z.m/Z/m0Z0 ddl1m2Z2m3Z3 ddl4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z< ddl=m>Z> ddl?m@Z@mAZAmBZBmCZCmDZDmEZE ddlFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZa d„ Zbd„ Zcejd         e                    dejf         f                    d¦  «         eEdd¬¦  «        g¦  «        d„ ¦   «         Zgd„ Zhd„ Zid „ Zjejd         e                    d!ejk        d"fejl        d#fejl        d"fg¦  «        ejd         e                    d$ejm        ejn        ejo        g¦  «        d%„ ¦   «         ¦   «         Zpejd         e                    d&ejk        d'd(d)fejk        dd(d*fejk        d+d(d,fejk        dd#d*fejl        d'd(d-fejl        dd(d.fejl        d/d(d0fejl        d'd1d2fejl        d'd3d-fg	¦  «        ejd         e                    d$ejm        ejn        ejo        g¦  «        d4„ ¦   «         ¦   «         Zqejd         e                    d5g d6¢¦  «        ejd         e                    d$ejm        ejn        ejo        g¦  «        d7„ ¦   «         ¦   «         Zrd8„ Zsejd         e                    d9 ejt        d3ejl        gg¦  «        d:f ejt        d3ejl        gg¦  «        d:f ejt        d3ejk        gg¦  «        d;f ejt        d3ejl        ggeu¬<¦  «        d=fg¦  «        ejd         e                    d>d(d"g¦  «        d?„ ¦   «         ¦   «         Zvd@„ Zwejd         x                    dA¦  «        dB„ ¦   «         Zyejd         e                    ddCdDgdEdFgg ejt        dCdDgdEdFggdG¬<¦  «         ejt        dCdDgdEdFggdH¬<¦  «        dIdJgdKdLgg ejt        dIdJgdKdLggdM¬<¦  «        g¦  «        dN„ ¦   «         ZzdO„ Z{ejd         e                    dPg dQ¢¦  «        ejd         e                    dRej|        ej}        gej|        fej}        ej}        fdSej}        fg¦  «        dT„ ¦   «         ¦   «         Z~dU„ ZdV„ Z€dW„ Z�dX„ Z‚dY„ ZƒdZ„ Z„d[„ Z… ej†        g d\¢¬]¦  «        d^„ ¦   «         Z‡d_„ Zˆd`„ Z‰da„ ZŠdb„ Z‹dc„ ZŒdd„ Z�de„ ZŽdf„ Z�dg„ Z�dh„ Z‘ejd         e                    di ed¦  «        e’e“gg dj¢¬k¦  «        dl„ ¦   «         Z”dm„ Z•ejd         e                    dn e0¦   «         ¦  «        do„ ¦   «         Z–dp„ Z—dq„ Z˜dr„ Z™ejd         e                    dsej}        ej|        fej}        ddSf¦  «        ejd         e                    dtdu¦  «        dv„ ¦   «         ¦   «         Zšdw„ Z›dx„ Zœ G dy„ dz¦  «        Z� G d{„ d|¦  «        Zžd}„ ZŸejd         e                    d~d(d"g¦  «        d„ ¦   «         Z ejd         e                    d€d� e¡d‚dƒd„d(i¦  «        dd(dfd… e¡d‚dƒd„d(i¦  «        dd(dfd† e¡d‚dƒd„d(i¦  «        gd†gd(dfd‡ e¡d‚dƒd„d(i¦  «        d‡gd(dfdˆ e¡d‚dƒd„d(i¦  «        dde¢fd… e¡d‚dƒd‰d(i¦  «        dde£fgg dŠ¢¬k¦  «        d‹„ ¦   «         Z¤ejd         e                    d$ejm        ejo        ej¥        ej¦        ej§        ej¨        ej©        ejª        ejn        ej«        ej¬        ej­        ej®        ej¯        ej°        g¦  «        dŒ„ ¦   «         Z±d�„ Z²dŽ„ Z³ejd         e                    d�g d�¢¦  «        d‘„ ¦   «         Z´ejd         e                    d�g d’¢¦  «        d“„ ¦   «         Zµejd         e                    d”g d•¢¦  «        d–„ ¦   «         Z¶ejd         e                    d—d3d˜e·d™dšd› e¸dœ¦  «        fdd˜ej¹        d™dšd› e¸d�¦  «        fdd˜ejº        d™dšd› e¸dž¦  «        fd3d˜e·e»fd™dšd› e¸dŸ¦  «        fd3d e¼d™dšd› e¢d¡¦  «        fd¢d£e¼d™dšd› e¢d¤¦  «        fd™d¥e¼d™dšd¦ e¢d§¦  «        fdšd¨e¼d™dšd© e¢dª¦  «        fdšd«e¼d™dšd¬ e¢d­¦  «        fdšd®e¼ddšd© e¢d¯¦  «        fdšd°e¼d™dd¦ e¢d±¦  «        fg¦  «        d²„ ¦   «         Z½d³ ejt        d3d™g¦  «        dd'f ejt        d3d™g¦  «         ejt        d3d™g¦  «        dd'fd´ ejt        d¢dg¦  «        edµfd¶ ejt        d¢dg¦  «        ed'f ejt        d3d·gej|        ¬<¦  «         ejt        d3dgej|        ¬<¦  «        ed¸f ejt        d3d¹gej}        ¬<¦  «         ejt        d3dgej}        ¬<¦  «        edºfd» ejt        d¢dg¦  «        ed¼fd½œZ¾ejd         e                    d¾ e’e¾ ¿                    ¦   «         ¦  «         e’e¾ À                    ¦   «         ¦  «        ¬k¦  «        ejd         e                    d¿d(d"g¦  «        dÀ„ ¦   «         ¦   «         ZÁdÁe¢dÂfdÃe¢dÄfdÅe¢dÆf ejt        dÇdÈgej|        ¬<¦  «        e¢dÆf ejt        dÉdÊgej}        ¬<¦  «        e¢dÆfdËœZÂejd         e                    dÌ e’eÂ ¿                    ¦   «         ¦  «         e’eÂ À                    ¦   «         ¦  «        ¬k¦  «        dÍ„ ¦   «         ZÃdÎ„ ZÄdÏ„ ZÅejd         e                    dn e0¦   «         ¦  «        dÐ„ ¦   «         ZÆejd         e                    dÑdgdd3gdÒd3gg dÓ¢g dÔ¢g¦  «        dÕ„ ¦   «         ZÇejd         e                    dn e0¦   «         ¦  «        ejd         e                    dÑdgdd3gdÒd3gg dÓ¢g dÔ¢g¦  «        dÖ„ ¦   «         ¦   «         ZÈejd         e                    dÑg d×¢dØgddÒgg¦  «        dÙ„ ¦   «         ZÉejd         e                    dn e0¦   «         ¦  «        ejd         e                    dÑg d×¢dØgddÒgg¦  «        dÚ„ ¦   «         ¦   «         ZÊejn        ejo        ej«        ej¥        gZËejd         e                    dÛejt        geËz   ¦  «        dÜ„ ¦   «         ZÌejd         e                    dÛejt        geËz   ¦  «        dÝ„ ¦   «         ZÍejd         e                    dÛeË¦  «        dÞ„ ¦   «         ZÎdß„ ZÏdà„ ZÐdá„ ZÑejd         e                    dâdd3dãgg¦  «        dä„ ¦   «         ZÒejd         e                    dåg dæ¢¦  «        dç„ ¦   «         ZÓdè„ ZÔejd         e                    dég dê¢¦  «        dë„ ¦   «         ZÕejd         e                    dìdídîejÖ        fdïdðejÖ        fdídñejÖ        fdòdóej×        fdôdõej×        fdöd÷ej×        fdødùej×        fdúdùej×        fdûdüej×        fdýdøej×        fdþdÿejØ        f�d �dejØ        f�d�dejØ        f�d�dejØ        f�d�dejØ        fg¦  «        �d„ ¦   «         ZÙejd         e                    d�g �d	¢¦  «        �d
„ ¦   «         ZÚejd         e                    dg �d¢g �d¢g �d¢g �d¢�dd3i�dd™i�ddãiggg �d¢¬k¦  «        ejd         e                    d�g �d¢¦  «        �d„ ¦   «         ¦   «         ZÛejd         e                    dg �d¢g �d¢¬k¦  «        �d„ ¦   «         ZÜejd         e                    �d e’ eÝd™¦  «        ¦  «         eÝd™¦  «        d�d�dg�d�dgggg �d¢¬k¦  «        �d„ ¦   «         ZÞejd         e                    �dg �d¢¦  «        �d„ ¦   «         Zß�d„ Zàejd         e                    �d �dd3g�d!f�d"�d#g�d$fg�d%�d&g¬k¦  «        �d'„ ¦   «         Zá G �d(„ �d)e¦  «        Zâejd         e                    g �d*¢�d+g �d,¢�d-f�d.g �d¢�d/f�d0g �d¢�d/fg¦  «        �d1„ ¦   «         Zã�d2„ Zäejd         e                    �d3g �d4¢¦  «        �d5„ ¦   «         Zå�d6„ Zæ�d7„ Zçejd         e                    �d8dd3dd3dejl        gg �d9¢g¦  «        �d:„ ¦   «         Zèe<�d;„ ¦   «         Zéejd         e                    �d<g �d=¢¦  «        ejd         e                    �d>d(d"g¦  «        �d?„ ¦   «         ¦   «         Zêejd         e                    �d@eBeAz   e@z   eCz   ¦  «        ejd         e                    �dAg �dB¢¦  «        �dC„ ¦   «         ¦   «         Zëejd         e                    �dD ejt        d3¦  «         ejt        d™¦  «        gd3d™gdãdšggg¦  «        �dE„ ¦   «         Zì�dF„ Zí�dG„ Zî�dH„ Zï�dI„ Zðe<�dJ„ ¦   «         Zñejd         e                    g �dK¢ ejt        d3d™gdãdšggd3d™gdãdšggg¦  «         e¦   «         �dLf ejt        d3d™gdãdšggd3d™gdãdšggg¦  «        d�dMfg¦  «        �dN„ ¦   «         Zòejd         e                    �dO�dPg�dQ�dRg ejó        �dS¦  «        f ejt        �dQ�dTgeu¬<¦  «         ejó        �dU¦  «        fddÒg ejó        �dV¦  «        fg �dW¢ ejó        �dX¦  «        fg¦  «        �dY„ ¦   «         Zôejd         e                    �dO�dZgg �d[¢d(fd3d™gd(f�d�dgd"f�d\g¦  «        ejd         e                    d�g �d]¢¦  «        �d^„ ¦   «         ¦   «         Zõ�d_„ ZödS (`  z$Tests for input validation functionsé    N)Úproduct)Ú
itemgetter)ÚNamedTemporaryFile)Úconfig_context)ÚBaseEstimator)Ú
make_blobs)ÚRandomForestRegressor)ÚNotFittedErrorÚPositiveSpectrumWarning)ÚARDRegression)ÚEstimatorWithFit)ÚKNeighborsClassifier)Ú_sparse_random_matrix)ÚSVR)Ú_safe_indexingÚas_float_arrayÚcheck_arrayÚcheck_symmetricÚ	check_X_yÚ
deprecated)Ú_is_numpy_namespaceÚmove_toÚ)yield_namespace_device_dtype_combinations)ÚMockDataFrameÚ_MockEstimatorOnOffPrediction)Ú
TempMemmapÚ_array_api_for_testsÚ_convert_containerÚassert_allcloseÚassert_allclose_dense_sparseÚassert_array_equalÚcreate_memmap_backed_dataÚ'skip_if_array_api_compat_not_configured)Ú_NotAnArray)ÚCOO_CONTAINERSÚCSC_CONTAINERSÚCSR_CONTAINERSÚDIA_CONTAINERSÚDOK_CONTAINERSÚ_sparse_random_array)ÚFLOAT_DTYPESÚ_allclose_dense_sparseÚ_check_categorical_featuresÚ_check_feature_names_inÚ_check_method_paramsÚ_check_pos_label_consistencyÚ_check_psd_eigenvaluesÚ_check_response_methodÚ_check_sample_weightÚ_check_yÚ_deprecate_positional_argsÚ_estimator_hasÚ_get_feature_namesÚ
_is_fittedÚ_num_featuresÚ_num_samplesÚ_to_object_arrayÚassert_all_finiteÚcheck_consistent_lengthÚcheck_is_fittedÚcheck_memoryÚcheck_non_negativeÚcheck_random_stateÚcheck_scalarÚcolumn_or_1dÚhas_fit_parameterÚvalidate_datac                  ó  — t          d ¦  «        t          j        j        j        u sJ ‚t          t          j        ¦  «        t          j        j        j        u sJ ‚t          j                             d¦  «        } t          d¦  «                             d¦  «        |                      d¦  «        k    sJ ‚t          j                             d¦  «        } t          | ¦  «        | u sJ ‚t          j                             d¦  «        } t          d¦  «                             d¦  «        |                      d¦  «        k    sJ ‚t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Né*   éd   é+   zsome invalid seed)
rA   ÚnpÚrandomÚmtrandÚ_randÚRandomStateÚrandintÚpytestÚraisesÚ
ValueError)Úrng_42s    úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sklearn/utils/tests/test_validation.pyÚtest_make_rngrU   ^   s‡  € å˜dÑ#Ô#¥r¤yÔ'7Ô'=Ð=Ð=Ð=Ð=Ý�bœiÑ(Ô(­B¬IÔ,<Ô,BÐBÐBÐBÐBåŒY×"Ò" 2Ñ&Ô&€FÝ˜bÑ!Ô!×)Ò)¨#Ñ.Ô.°&·.².ÀÑ2EÔ2EÒEÐEÐEÐEåŒY×"Ò" 2Ñ&Ô&€FÝ˜fÑ%Ô%¨Ð/Ð/Ð/Ð/åŒY×"Ò" 2Ñ&Ô&€FÝ˜bÑ!Ô!×)Ò)¨#Ñ.Ô.°&·.².ÀÑ2EÔ2EÒEÐEÐEÐEå	Œ•zÑ	"Ô	"ð 0ð 0ÝÐ.Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð 0ð 0s   ÅE5Å5E9Å<E9c                  óÊ  — t          j        dt           j        ¬¦  «        } | t          j        dt           j        ¬¦  «        z   } t	          | d¬¦  «        }|j        t           j        k    sJ ‚|                      t           j        ¦  «        } t	          | d¬¦  «        }t	          | d¬¦  «        | usJ ‚|j        t           j	        k    sJ ‚t          t           j        t           j        t           j        t           j        t           j        t           j        g}|D ]=}|                      |¦  «        } t	          | ¦  «        }|j        t           j        k    sJ ‚Œ>|                      t           ¦  «        } t	          | d¬¦  «        }|j        t           j	        k    sJ ‚t          j        dt           j        ¬¦  «        } t	          | d¬¦  «        | u sJ ‚t          j        | ¦  «        } t          j        t	          | d¬¦  «        ¦  «        sJ ‚t'          j        t          j        d¦  «        ¦  «                             ¦   «         t'          j        t          j        d¦  «        g¦  «                             ¦   «         t/          ddd	¬
¦  «                             ¦   «         g}|D ]J}t	          |d¬¦  «        }t           j        |d<   t          j        |¦  «                             ¦   «         rJ ‚ŒKd S )N)é   é
   ©ÚdtyperX   F©ÚcopyT)rW   é   é   çš™™™™™¹?)Údensity©r   r   )rJ   ÚonesÚint32Úaranger   rZ   Úfloat32ÚastypeÚint64Úfloat64ÚboolÚint8Úint16Úuint8Úuint16Úuint32ÚobjectÚasfortranarrayÚ	isfortranÚspÚ
csc_matrixÚtoarrayÚ	csc_arrayr   ÚnanÚisnanÚany)ÚXÚX2Útested_dtypesrZ   ÚmatricesÚMÚNs          rT   Útest_as_float_arrayr   p   s|  € å
Œ��rœxÐ(Ñ(Ô(€AØ	�BŒI�b¥¤Ð)Ñ)Ô)Ñ)€AÝ	˜ Ð	&Ñ	&Ô	&€BØŒ8•r”zÒ!Ð!Ð!Ð!à	�Š•”ÑÔ€AÝ	˜ Ð	%Ñ	%Ô	%€Bå˜! %Ð(Ñ(Ô(°Ð1Ð1Ð1Ð1ØŒ8•r”zÒ!Ð!Ð!Ð!å�2œ7¥B¤H­b¬h½¼Å"Ä)ÍRÌYÐW€MØð &ð &ˆØ�HŠH�U‰OŒOˆÝ˜AÑÔˆØŒx�2œ:Ò%Ð%Ð%Ð%Ð%ð 	
�Š•ÑÔ€AÝ	˜ Ð	%Ñ	%Ô	%€BØŒ8•r”zÒ!Ð!Ð!Ð!õ 	Œ��bœjÐ)Ñ)Ô)€AÝ˜! %Ð(Ñ(Ô(¨AÐ-Ð-Ð-Ð-å
Ô˜!ÑÔ€AÝŒ<� q¨tÐ4Ñ4Ô4Ñ5Ô5Ð5Ð5Ð5õ 	Œ•b”i ‘l”lÑ#Ô#×+Ò+Ñ-Ô-Ý
Œ•b”i ‘l”l�^Ñ$Ô$×,Ò,Ñ.Ô.Ý˜b "¨dÐ3Ñ3Ô3×;Ò;Ñ=Ô=ð€Hð
 ð %ð %ˆÝ˜1 4Ð(Ñ(Ô(ˆÝ”&ˆˆ$‰Ý”8˜A‘;”;—?’?Ñ$Ô$Ð$Ð$Ð$Ð$ð%ð %ó    ry   ©rX   r]   Úcsr©Úformatc                 ó¬   — |                       ¦   «         } t          j        | d<   t          j        | d<   t          | d¬¦  «        }t	          || ¦  «         d S )N)r^   r   )é   é   ú	allow-nan©Úensure_all_finite)r\   rJ   rv   r   r    )ry   ÚX_converteds     rT   Útest_as_float_array_nanrŒ   ›   sO   € ð 	
�Š‰Œ€AÝŒf€A€d�GÝŒf€A€d�GÝ  °kÐBÑBÔB€KÝ  ¨aÑ0Ô0Ð0Ð0Ð0r€   c                  ó”  — t          j        d¦  «                             dd¦  «        } t          t	          | ¦  «        t           j        ¦  «        rJ ‚t          t	          t          j        | ¦  «        ¦  «        t           j        ¦  «        rJ ‚t          t	          t          j        | ¦  «        ¦  «        t           j        ¦  «        rJ ‚d S )Né   rW   é   )	rJ   rd   ÚreshapeÚ
isinstancer   Úmatrixrr   rs   ru   ©ry   s    rT   Útest_np_matrixr”   ¦   s—   € å
Œ	�"‰Œ×Ò˜a Ñ#Ô#€Aå�.¨Ñ+Ô+­R¬YÑ7Ô7Ð7Ð7Ð7Ý�.­¬°qÑ)9Ô)9Ñ:Ô:½B¼IÑFÔFÐFÐFÐFÝ�.­¬°a©¬Ñ9Ô9½2¼9ÑEÔEÐEÐEÐEÐEÐEr€   c                  óx  — d„ } t          d¬¦  «        5 }t          j        |dt          j        ¬¦  «        }d|d d …<   t          t          j        | fD ]O} ||¦  «        }d|d d …<   t          |                     ¦   «         |                     ¦   «         ¦  «         d|d d …<   ŒP	 d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó$   — t          | d¬¦  «        S )NFr[   )r   ©Úxs    rT   ú<lambda>ztest_memmap.<locals>.<lambda>²   s   € •n Q¨UÐ3Ñ3Ô3€ r€   zsklearn-test)Úprefix©rX   rX   )ÚshaperZ   r   r‡   )r   rJ   Úmemmapre   r   Úasarrayr!   Úravel)ÚasfltÚtmpr}   Úfry   s        rT   Útest_memmapr£   ¯   s	  € ð 4Ð3€Eå	 >Ð	2Ñ	2Ô	2ð °cÝŒI�c µ´Ð<Ñ<Ô<ˆØˆˆ!ˆ!ˆ!‰å�rœz¨5Ð1ð 	ð 	ˆAØ��!‘”ˆAØˆAˆaˆaˆa‰DÝ˜qŸwšw™yœy¨!¯'ª'©)¬)Ñ4Ô4Ð4ØˆAˆaˆaˆa‰DˆDð		ð	ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ”BB/Â/B3Â6B3c                  ó^  — t          j        d¦  «        } | | j        fD ]Q}dD ]L}t          |d|¬¦  «        }|j        d         sJ ‚t          |d|¬¦  «        }|j        d         sJ ‚|r||usJ ‚ŒMŒRt          j        | ¦  «        } | j        d d d…         | _        | j        j        d         rJ ‚d S )	N)rX   r^   )TFÚC)Úorderr\   ÚC_CONTIGUOUSÚFÚF_CONTIGUOUSéÿÿÿÿ)rJ   rb   ÚTr   Úflagsrr   Ú	csr_arrayÚdata)ry   ÚAr\   ÚBs       rT   Útest_orderingr±   ¿   sÝ   € õ 	Œ�ÑÔ€AØ�”ˆVð "ð "ˆØ!ð 	"ð 	"ˆDÝ˜A S¨tÐ4Ñ4Ô4ˆAØ”7˜>Ô*Ð*Ð*Ð*Ý˜A S¨tÐ4Ñ4Ô4ˆAØ”7˜>Ô*Ð*Ð*Ð*Øð "Ø �z�z�z�zøð	"õ 	Œ�Q‰Œ€AØŒV�D�D�b�DŒ\€A„FØŒvŒ|˜NÔ+Ð+Ð+Ð+Ð+Ð+r€   zvalue, ensure_all_finiteFrˆ   Úretypec                 óæ   —  |t          j        d¦  «                             dd¦  «                             t          ¦  «        ¦  «        }| |d<   t          ||d¬¦  «        }t          ||¦  «         d S )Nr�   r]   ra   T)rŠ   Úaccept_sparse)rJ   rd   r�   rf   Úfloatr   r    )ÚvaluerŠ   r²   ry   Ú	X_checkeds        rT   Ú(test_check_array_ensure_all_finite_validr¸   Ò   sn   € ð 	ˆ�rŒy˜‰|Œ|×#Ò# A qÑ)Ô)×0Ò0µÑ7Ô7Ñ8Ô8€AØ€A€d�GÝ˜AÐ1BÐRVÐWÑWÔW€IÝ   IÑ.Ô.Ð.Ð.Ð.r€   z/value, input_name, ensure_all_finite, match_msgÚ TzInput contains infinityzInput X contains infinityÚsample_weightz%Input sample_weight contains infinityúInput contains NaNzInput X contains NaNÚyzInput y contains NaNz	allow-infz1ensure_all_finite should be a bool or 'allow-nan'r‡   c                 ó:  —  |t          j        d¦  «                             dd¦  «                             t           j        ¦  «        ¦  «        }| |d<   t          j        t          |¬¦  «        5  t          |||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr�   r]   ra   ©ÚmatchT)Ú
input_namerŠ   r´   )	rJ   rd   r�   rf   rh   rP   rQ   rR   r   )r¶   rÀ   rŠ   Ú	match_msgr²   ry   s         rT   Ú*test_check_array_ensure_all_finite_invalidrÂ   Þ   sà   € ð. 	ˆ�rŒy˜‰|Œ|×#Ò# A qÑ)Ô)×0Ò0µ´Ñ<Ô<Ñ=Ô=€AØ€A€d�GÝ	Œ•z¨Ð	3Ñ	3Ô	3ð 
ð 
ÝØØ!Ø/Øð		
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s   Á/BÂBÂBrÀ   )ry   r¼   rº   c                 ó  —  |t          j        d¦  «                             dd¦  «                             t           j        ¦  «        ¦  «        }t           j        |d<   t          ¦   «         }d|j        j        › d�}t          j
        t          d| › d�¬¦  «        5 }t          ||| d	¬
¦  «         d d d ¦  «         n# 1 swxY w Y   | dk    r||j        j        d         v sJ ‚n||j        j        d         vsJ ‚| dk    rŒt          j
        t          d| › d�¬¦  «        5 }t          ¦   «                              |t          j        |j        d         ¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y   ||j        j        d         v sJ ‚d S d S )Nr�   r]   ra   ú
aX   does not accept missing values encoded as NaN natively. For supervised learning, you might want to consider sklearn.ensemble.HistGradientBoostingClassifier and Regressor which accept missing values encoded as NaNs natively. Alternatively, it is possible to preprocess the data, for instance by using an imputer transformer in a pipeline or drop samples with missing values. See https://scikit-learn.org/stable/modules/impute.html You can find a list of all estimators that handle NaN values at the following page: https://scikit-learn.org/stable/modules/impute.html#estimators-that-handle-nan-valueszInput z contains NaNr¾   T)Ú	estimatorrÀ   r´   ry   r   )rJ   rd   r�   rf   rh   rv   r   Ú	__class__Ú__name__rP   rQ   rR   r   r¶   ÚargsÚfitrb   rœ   )rÀ   r²   r®   rÅ   Úextended_msgÚctxs         rT   Ú0test_check_array_links_to_imputer_doc_only_for_XrÌ      s   € ð ˆ6•"”)˜A‘,”,×&Ò& q¨!Ñ,Ô,×3Ò3µB´JÑ?Ô?Ñ@Ô@€DÝ”€Dˆ�JÝ‘”€Ið	-ˆYÔ Ô)ð 	-ð 	-ð 	-ð õ 
Œ•zÐ)K°*Ð)KÐ)KÐ)KÐ	LÑ	LÔ	Lð 
ÐPSÝØØØ!Øð		
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð �SÒÐØ˜sœyœ~¨aÔ0Ð0Ð0Ð0Ð0Ð0à 3¤9¤>°!Ô#4Ð4Ð4Ð4Ð4à�SÒÐõ Œ]�:Ð-O°jÐ-OÐ-OÐ-OÐPÑPÔPð 	4ÐTWÝ‰EŒE�IŠI�d�BœG D¤J¨q¤MÑ2Ô2Ñ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4à˜sœyœ~¨aÔ0Ð0Ð0Ð0Ð0ð Ðð
 1Ð0s%   ÂB;Â;B?ÃB?ÄA E*Å*E.Å1E.c                  óN  — t          j        ddt           j        ggt          ¬¦  «        j        } t          | d d¬¦  «        }| |u sJ ‚t          | d d¬¦  «        }| |u sJ ‚t          j        t          d¬¦  «        5  t          | d d	¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )
NÚaÚbrY   rˆ   ©rZ   rŠ   Fr»   r¾   T)	rJ   Úarrayrv   ro   r«   r   rP   rQ   rR   )ry   r·   s     rT   Ú)test_check_array_ensure_all_finite_objectrÒ   *  sö   € Ý
Œ�3˜�RœVÐ$Ð%­VÐ4Ñ4Ô4Ô6€Aå˜A T¸[ÐIÑIÔI€IØ�	ˆ>ˆ>ˆ>ˆ>å˜A T¸UÐCÑCÔC€IØ�	ˆ>ˆ>ˆ>ˆ>å	Œ•zÐ)=Ð	>Ñ	>Ô	>ð ;ð ;Ý�A˜T°TÐ:Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;s   Á:BÂBÂ!Bz
X, err_msgúInput contains NaN.z5Input contains infinity or a value too large for.*intrY   z#cannot convert float NaN to integerrŠ   c                 óœ   — t          j        t          |¬¦  «        5  t          | t          |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¾   rÐ   )rP   rQ   rR   r   Úint)ry   Úerr_msgrŠ   s      rT   Ú8test_check_array_ensure_all_finite_object_unsafe_castingr×   7  s§   € õ0 
Œ•z¨Ð	1Ñ	1Ô	1ð Gð GÝ�A�SÐ4EÐFÑFÔFÐFðGð Gð Gñ Gô Gð Gð Gð Gð Gð Gð Gð Gøøøð Gð Gð Gð Gð Gð Gs   œAÁAÁAc                  ó  — t          j        d¦  «        } |                      g d¢¦  «        }dt          |¦  «        › d�}t          j        t
          |¬¦  «        5  t          |d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )	zÓ
    Check that we raise a proper error message when passing a Series and we expect a
    2-dimensional container.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/27498
    Úpandas©r‡   r]   rW   z+Expected a 2-dimensional container but got z	 instead.r¾   T©Ú	ensure_2dN)rP   ÚimportorskipÚSeriesÚtyperQ   rR   r   )ÚpdÚserÚmsgs      rT   Útest_check_array_series_err_msgrã   S  sË   € õ 
Ô	˜XÑ	&Ô	&€BØ
�)Š)�I�I�IÑ
Ô
€CØ
L½¸S¹	¼	Ð
LÐ
LÐ
L€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð )ð )Ý�C 4Ð(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   ÁA9Á9A=Â A=z3ignore:Can't check dok sparse matrix for nan or infc                  óâ  ‡— ddgddgg} t          j        | ¦  «        }t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          g d¢d¬¦  «        }|j        dk    sJ ‚t          j        t          d¬	¦  «        5  t          g d¢d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬	¦  «        5  t          dd
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          t           d¦  «        r~t          t          t          j        | ¦  «        ¦  «        ¦  «        }|j        dk    rEt          j        t          d¬	¦  «        5  t          |d
d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «                             ddd¦  «        }t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d
¬¦  «         t          j        d¦  «                             dd¦  «                             d¦  «        Š‰                     d¦  «        }‰                     t           ¦  «        }‰                     t"          ¦  «        }‰|||g}t          j        t           t"          t          j        d t(          t*          g}	g d¢}
d
dg}t-          ||	|
|¦  «        D ]Ü\  } }}}t          | |||¬¦  «        }|�|j        |k    sJ ‚n|j        | j        k    sJ ‚|dk    r|j        d         sJ ‚|j        d         rJ ‚n$|dk    r|j        d         sJ ‚|j        d         rJ ‚|r| |usJ ‚ŒŽ| j        |j        k    r>|j        d         | j        d         k    r"|j        d         | j        d         k    r| |u sJ ‚ŒÝg }|                     ˆfd„t4          t6          z   t8          z   t:          z   D ¦   «         ¦  «         |                     |d                              t          j        ¦  «        |d                              t          j        ¦  «        g¦  «         ddgddgg}d„ |	D ¦   «         }t-          ||||¦  «        D ]š\  } }}}t          | |||¬¦  «        }|�|j        |k    sJ ‚n|j        | j        k    sJ ‚| j         |v r| j         |j         k    sJ ‚n|j         |d         k    sJ ‚|r| |usJ ‚Œt| j        |j        k    r| j         |j         k    r| |u sJ ‚Œ›t          ddgddgg¦  «        }tC          |t          j"        ¦  «        sJ ‚t          j        t          ¦  «        5  t          | #                    ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          | #                    ¦   «         d
¬¦  «         tI          |¦  «        }t          |¦  «        }tC          |t          j"        ¦  «        sJ ‚t          ddgddgg¦  «        }d }t          j        t          |¬	¦  «        5  t          |d
d!tK          ¦   «         ¬"¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )#Nr‡   r]   rW   r�   )r   r‡   r]   FrÛ   z'Expected 2D array, got 1D array insteadr¾   Tz+Expected 2D array, got scalar array insteadrX   r­   zExpected 2D input, got)r´   rÜ   é   ©Úallow_ndr¥   r¨   )r¥   r¨   N)rZ   r¦   r\   r§   r©   c                 ó&   •— g | ]} |‰¦  «        ‘ŒS © ré   )Ú.0Úsparse_containerÚX_Cs     €rT   ú
<listcomp>z$test_check_array.<locals>.<listcomp>ª  s4   ø€ ð 	
ð 	
ð 	
à ð Ð˜SÑ!Ô!ð	
ð 	
ð 	
r€   r   r‚   ÚcooÚdokc                 ó$   — g | ]}|t           u¯|‘ŒS ré   )ro   )rê   Údts     rT   rí   z$test_check_array.<locals>.<listcomp>·  s"   € ÐAÐAÐA °½&Ð0@Ð0@˜Ð0@Ð0@Ð0@r€   ©rZ   r´   r\   éýÿÿÿz<Negative values in data passed to X in RandomForestRegressorry   )Úensure_non_negativerÀ   rÅ   )&rr   r­   rP   rQ   Ú	TypeErrorr   ÚndimrR   ÚhasattrÚnextÚiterrJ   rd   r�   r\   rf   rÕ   rµ   rc   re   ri   ro   r   rZ   r¬   Úextendr'   r&   r%   r)   rg   rh   r„   r‘   ÚndarrayÚtolistr$   r	   )ry   ÚX_csrÚX_arrayÚ
sparse_rowÚX_ndimÚX_FÚX_intÚX_floatÚXsÚdtypesÚordersÚcopysrZ   r¦   r\   r·   Úaccept_sparsesÚnon_object_dtypesr´   ÚX_denseÚ
X_no_arrayÚresultÚX_negrÖ   rì   s                           @rT   Útest_check_arrayr  b  s‘  ø€ ð ˆQˆ�!�Q�Ð€AÝŒL˜‰OŒO€EÝ	Œ•yÑ	!Ô	!ð ð Ý�EÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ˜)˜)˜)¨uÐ5Ñ5Ô5€GØŒ<˜1ÒÐÐÐå	Œ•zÐ)RÐ	SÑ	SÔ	Sð /ð /Ý�I�I�I¨Ð.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ 
Œ•zÐ)VÐ	WÑ	WÔ	Wð (ð (Ý�B $Ð'Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (õ �r�;ÑÔð LÝ�$�rœ|¨A™œÑ/Ô/Ñ0Ô0ˆ
ØŒ?˜aÒÐå”�zÐ1IÐJÑJÔJð Lð LÝ˜J°dÀdÐKÑKÔKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Lõ ŒY�q‰\Œ\×!Ò! ! Q¨Ñ*Ô*€FÝ	Œ•zÑ	"Ô	"ð ð Ý�FÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð å� Ð&Ñ&Ô&Ð&õ Œ)�A‰,Œ,×
Ò
˜q !Ñ
$Ô
$×
)Ò
)¨#Ñ
.Ô
.€CØ
�(Š(�3‰-Œ-€CØ�JŠJ•s‰OŒO€EØ�jŠj�ÑÔ€GØ
ˆs�E˜7Ð	#€BÝŒh��U¥B¤J°µd½FÐC€FØÐÐ€FØ�5ˆM€Eå!(¨¨V°V¸UÑ!CÔ!Cð &ð &Ñˆˆ5�%˜Ý ¨°eÀ$ÐGÑGÔGˆ	ØÐØ”? eÒ+Ð+Ð+Ð+Ð+à”? a¤gÒ-Ð-Ð-Ð-Ø�CŠ<ˆ<Ø”? >Ô2Ð2Ð2Ð2Ø ” ~Ô6Ð6Ð6Ð6Ð6Ø�cŠ\ˆ\Ø”? >Ô2Ð2Ð2Ð2Ø ” ~Ô6Ð6Ð6Ð6Øð 		&Ø˜IÐ%Ð%Ð%Ð%Ð%ð ”˜9œ?Ò*Ð*Ø”O NÔ3°q´w¸~Ô7NÒNÐNØ”O NÔ3°q´w¸~Ô7NÒNÐNà˜I�~�~�~�~øð
 
€BØ‡I‚Ið	
ð 	
ð 	
ð 	
å$2Ýñ%åñ%õ ñ%ð	
ñ 	
ô 	
ñô ð ð ‡I‚Iˆr�!Œu�|Š|�BœHÑ%Ô% r¨!¤u§|¢|µB´JÑ'?Ô'?Ð@ÑAÔAÐAà˜e�n u¨e nÐ5€Nð BÐA fÐAÑAÔAÐÝ)0Ø
Ð˜~¨uñ*ô *ð &ð &Ñ%ˆˆ5�- õ   ¨¸mÐRVÐWÑWÔWˆ	ØÐØ”? eÒ+Ð+Ð+Ð+Ð+à”? a¤gÒ-Ð-Ð-Ð-ØŒ8�}Ð$Ð$à”8˜yÔ/Ò/Ð/Ð/Ð/Ð/ð Ô# }°QÔ'7Ò7Ð7Ð7Ð7Øð 	&Ø˜IÐ%Ð%Ð%Ð%Ð%ð Œw˜)œ/Ò)Ð)¨a¬h¸)Ô:JÒ.JÐ.JØ˜I�~�~�~�~øõ ˜A˜q˜6 A q 6Ð*Ñ+Ô+€GÝ�g�rœzÑ*Ô*Ð*Ð*Ð*å	Œ•zÑ	"Ô	"ð %ð %Ý�F—M’M‘O”OÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å�—’‘”¨$Ð/Ñ/Ô/Ð/õ ˜WÑ%Ô%€JÝ˜Ñ$Ô$€FÝ�f�bœjÑ)Ô)Ð)Ð)Ð)õ ˜!˜Q˜ " a Ð)Ñ*Ô*€EØL€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð 
ð 
ÝØØ $ØÝ+Ñ-Ô-ð		
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
ð 
ð 
s}   ·AÁAÁAÂB9Â9B=Ã B=ÃC=Ã=DÄDÅ1FÆFÆFÇG9Ç9G=È G=Õ/"VÖV!Ö$V!Ø7 Y$Ù$Y(Ù+Y(Ú1Ú2Ú3Ú4ÚUÚSó   1ó   2ó   3ó   4ÚV1c                 ó”   — d}t          j        t          |¬¦  «        5  t          | d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zmTest that check_array errors when it receives an array of bytes/string
    while a numeric dtype is required.z>dtype='numeric' is not compatible with arrays of bytes/stringsr¾   ÚnumericrY   N©rP   rQ   rR   r   )ry   Úexpected_msgs     rT   Útest_check_array_numeric_errorr  ç  s–   € ð U€LÝ	Œ•z¨Ð	6Ñ	6Ô	6ð (ð (Ý�A˜YÐ'Ñ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   ž=½AÁAc                  óP  — t          j        d¦  «        } |                      g d¢g d¢dœ¦  «        }t          j        t          ¦  «        5  t          |d¬¦  «         ddd¦  «         n# 1 swxY w Y   |                      g d¢g d¢dœ¦  «        }t          j        t          ¦  «        5  t          |d¬¦  «         ddd¦  «         n# 1 swxY w Y   |                      g d	¢¦  «        }t          j        t          ¦  «        5  t          |dd
¬¦  «         ddd¦  «         n# 1 swxY w Y   t          |d¬¦  «        }|j        t          j	        k    sJ ‚t          ||j        ¦  «         t          |dd
¬¦  «        }|j        t          j	        k    sJ ‚t          ||j        ¦  «         dS )a  check_array raises an error for pandas StringDtype with dtype='numeric'.

    Non-regression test for pandas 3 where string columns use StringDtype
    instead of object dtype. check_array should reject string data when
    dtype='numeric' is requested.
    rÙ   )r˜   r¼   Úz)r  r  r  ©rÎ   rÏ   r  rY   N)ç      ð?ç       @ç      @©rÎ   rÏ   ÚcF©rZ   rÜ   )rP   rÝ   Ú	DataFramerQ   rR   r   rÞ   rZ   rJ   Úobject_r!   Úvalues)rà   Údf_strÚdf_mixedÚs_strr  s        rT   Ú2test_check_array_pandas_string_dtype_numeric_errorr.  ù  sW  € õ 
Ô	˜XÑ	&Ô	&€Bð �\Š\   °o°o°oÐFÐFÑGÔG€FÝ	Œ•zÑ	"Ô	"ð -ð -Ý�F )Ð,Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -ð �|Š| / / /¸¸¸ÐHÐHÑIÔI€HÝ	Œ•zÑ	"Ô	"ð /ð /Ý�H IÐ.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð �IŠI�o�o�oÑ&Ô&€EÝ	Œ•zÑ	"Ô	"ð =ð =Ý�E °eÐ<Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =õ ˜ tÐ,Ñ,Ô,€FØŒ<�2œ:Ò%Ð%Ð%Ð%Ý�v˜vœ}Ñ-Ô-Ð-å˜ d°eÐ<Ñ<Ô<€FØŒ<�2œ:Ò%Ð%Ð%Ð%Ý�v˜uœ|Ñ,Ô,Ð,Ð,Ð,s6   Á
A(Á(A,Á/A,Â(CÃC
ÃC
ÄD Ä D$Ä'D$Úpd_dtype)ÚInt8ÚInt16ÚUInt8ÚUInt16ÚFloat32ÚFloat64zdtype, expected_dtyper  c                 ó¼  — t          j        d¦  «        }| dv rt          j        dd¬¦  «        }t          j        dddt          j        t          j        gt          j        t          j        dd	d
gg d¢g¦  «        j        }|                     || g d¢¬¦  «        }|d                              d¦  «        |d<   t          |d|¬¦  «        }t          ||¦  «         |j
        |k    sJ ‚t          |d|¬¦  «        }t          ||¦  «         |j
        |k    sJ ‚d}t          j        t          |¬¦  «        5  t          |d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÙ   >   r4  r5  z1.2)Ú
minversionr‡   r]   rW   rå   r�   r†   )r‡   r]   rW   r�   r^   r%  )rZ   Úcolumnsr&  rµ   rˆ   )rŠ   rZ   Fr»   r¾   Tr‰   )rP   rÝ   rJ   rÑ   rv   r«   r(  rf   r   r   rZ   rQ   rR   )r/  rZ   Úexpected_dtyperà   ÚX_npry   r·   râ   s           rT   Ú"test_check_array_pandas_na_supportr;    s­  € õ 
Ô	˜XÑ	&Ô	&€BàÐ)Ð)Ð)åÔ  °eÐ<Ñ<Ô<ˆåŒ8Ø
ˆQ�•2”6�2œ6Ð	"¥R¤V­R¬V°Q¸¸1Ð$=¸¸¸ÐOñô äð 	ð
 	�Š�T °?°?°?ˆÑCÔC€AàˆsŒV�]Š]˜7Ñ#Ô#€A€c�FÝ˜A°ÀEÐJÑJÔJ€IÝ�I˜tÑ$Ô$Ð$ØŒ?˜nÒ,Ð,Ð,Ð,å˜A°¸eÐDÑDÔD€IÝ�I˜tÑ$Ô$Ð$ØŒ?˜nÒ,Ð,Ð,Ð,à
€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð /ð /Ý�A¨Ð.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /ð /ð /s   Ä2EÅEÅEc                  ó(  — t          j        d¦  «        } |                      dd| j        gd¬¦  «        }d}t          j        t
          |¬¦  «        5  t          |dd	¬
¦  «         ddd¦  «         n# 1 swxY w Y   t          |d	d	¬
¦  «        }t          |ddt          j	        g¦  «         |j
        t          j        k    sJ ‚t          |d	d	t          j        ¬¦  «        }t          |ddt          j	        g¦  «         |j
        t          j        k    sJ ‚dS )z4Check check_array is correct with pd.NA in a series.rÙ   r‡   r]   ÚInt64rY   r»   r¾   TF)rŠ   rÜ   N)rŠ   rÜ   rZ   )rP   rÝ   rÞ   ÚNArQ   rR   r   r   rJ   rv   rZ   rh   re   )rà   ÚX_int64râ   ÚX_outs       rT   Ú*test_check_array_panadas_na_support_seriesrA  C  s[  € å	Ô	˜XÑ	&Ô	&€Bà�iŠi˜˜A˜rœu˜¨WˆiÑ5Ô5€Gà
€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð Fð FÝ�G¨t¸uÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fõ ˜°5ÀEÐJÑJÔJ€EÝ�E˜A˜q¥"¤&˜>Ñ*Ô*Ð*ØŒ;�"œ*Ò$Ð$Ð$Ð$åØ 5°EÅÄðñ ô €Eõ �E˜A˜q¥"¤&˜>Ñ*Ô*Ð*ØŒ;�"œ*Ò$Ð$Ð$Ð$Ð$Ð$s   ÁA0Á0A4Á7A4c                  ó&  — t          j        d¦  «        } t          j        g d¢g d¢g d¢gt          j        ¬¦  «        }|                      |¦  «        }t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚| 	                    dt          j
        i¦  «        }t          |j        t          j
        t          j        t          j        f¦  «         t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚| 	                    dt          j        i¦  «        }t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚| 	                    dt          j
        i¦  «        }t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚| 	                    t          j        ¦  «        }t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚|                      d|                      g d¢¦  «        i¦  «        }t          |¦  «        j        t          j        k    sJ ‚t          |t          ¬¦  «        j        t          j        k    sJ ‚d S )	NrÙ   rÚ   ©r�   r^   r†   ©é   rå   é	   rY   r   r]   Úcat_col)rP   rÝ   rJ   rÑ   re   r(  r   rZ   r+   rf   Úfloat16r!   r  rk   rh   ÚCategoricalrg   )rà   ry   ÚX_dfÚcat_dfs       rT   Ú%test_check_array_pandas_dtype_castingrL  X  sw  € å	Ô	˜XÑ	&Ô	&€BÝ
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	Ð2½"¼*ÐEÑEÔE€AØ�<Š<˜‰?Œ?€DÝ�tÑÔÔ"¥b¤jÒ0Ð0Ð0Ð0Ý�t¥<Ð0Ñ0Ô0Ô6½"¼*ÒDÐDÐDÐDà�;Š;˜�2œ:�Ñ'Ô'€DÝ�t”{¥R¤Zµ´½R¼ZÐ$HÑIÔIÐIÝ�tÑÔÔ"¥b¤jÒ0Ð0Ð0Ð0Ý�t¥<Ð0Ñ0Ô0Ô6½"¼*ÒDÐDÐDÐDà�;Š;˜�2œ8�}Ñ%Ô%€Då�tÑÔÔ"¥b¤jÒ0Ð0Ð0Ð0Ý�t¥<Ð0Ñ0Ô0Ô6½"¼*ÒDÐDÐDÐDà�;Š;˜�2œ:�Ñ'Ô'€Då�tÑÔÔ"¥b¤jÒ0Ð0Ð0Ð0Ý�t¥<Ð0Ñ0Ô0Ô6½"¼*ÒDÐDÐDÐDà�;Š;•r”xÑ Ô €DÝ�tÑÔÔ"¥b¤hÒ.Ð.Ð.Ð.õ �t¥<Ð0Ñ0Ô0Ô6½"¼*ÒDÐDÐDÐDð
 �\Š\˜9 b§n¢n°Y°Y°YÑ&?Ô&?Ð@ÑAÔA€FÝ�vÑÔÔ$­¬Ò0Ð0Ð0Ð0Ý�v¥\Ð2Ñ2Ô2Ô8½B¼JÒFÐFÐFÐFÐFÐFr€   c                  ó.  — t          j        ddgddgddgddgg¦  «        } t          | ¦  «        }t          |¦  «        }|j        | j        k    sJ ‚t          |t           j        ¬¦  «        }|j        t          j        t           j        ¦  «        k    sJ ‚d S )Nçš™™™™™É?gffffffæ?g333333ã?g      à?gš™™™™™Ù?r_   rY   )rJ   rÑ   r   r   rZ   re   )ÚarrÚmock_dfÚchecked_arrs      rT   Ú"test_check_array_on_mock_dataframerR  }  s”   € Ý
Œ(�S˜#�J  c 
¨S°#¨J¸¸c¸
ÐCÑ
DÔ
D€CÝ˜CÑ Ô €GÝ˜gÑ&Ô&€KØÔ ¤	Ò)Ð)Ð)Ð)Ý˜g­R¬ZÐ8Ñ8Ô8€KØÔ¥¤­¬Ñ 4Ô 4Ò4Ð4Ð4Ð4Ð4Ð4r€   c                  óœ   — g d¢g d¢g d¢g} t          | ¦  «        j        j        dk    sJ ‚t          | d¬¦  «        j        j        dk    sJ ‚d S )NrÚ   rC  rD  ÚiFrÛ   )r   rZ   Úkindr“   s    rT   Ú test_check_array_dtype_stabilityrV  †  sa   € à	ˆˆ�I�I�I˜y˜y˜yÐ)€AÝ�q‰>Œ>ÔÔ$¨Ò+Ð+Ð+Ð+Ý�q EÐ*Ñ*Ô*Ô0Ô5¸Ò<Ð<Ð<Ð<Ð<Ð<r€   c                  óþ  — g d¢g d¢g d¢g} t          j        | t           j        ¬¦  «        }t          j        | t           j        ¬¦  «        }t	          j        |¦  «        }t	          j        |¦  «        }t	          j        |t           j        ¬¦  «        }||g}|||g}t          j	        ¦   «         5  t          j
        d¦  «         |D ]5}t          |t           j        d¬¦  «        }	|	j        t           j        k    sJ ‚Œ6|D ]�}t          |t           j        t           j        gd¬¦  «        }	|	j        t           j        k    sJ ‚|	|u sJ ‚t          |t           j        t           j        gdd	gd¬
¦  «        }	|	j        t           j        k    sJ ‚|	|usJ ‚Œ�t          |t           j        t           j        gdd	gd¬
¦  «        }	|	j        t           j        k    sJ ‚|	|usJ ‚|	j        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NrÚ   rC  rD  rY   ÚerrorT)rZ   r´   r‚   rï   rò   F)rJ   rž   re   rg   rr   r­   ru   rc   ÚwarningsÚcatch_warningsÚsimplefilterr   rh   rZ   r„   )
Ú
X_int_listÚ	X_float32r?  ÚX_csr_float32ÚX_csc_float32ÚX_csc_int32Úinteger_dataÚfloat32_datary   r·   s
             rT   Útest_check_array_dtype_warningrc  �  sl  € Ø�)�)˜Y˜Y˜Y¨	¨	¨	Ð2€JÝ”
˜:­R¬ZÐ8Ñ8Ô8€IÝŒj˜­2¬8Ð4Ñ4Ô4€GÝ”L Ñ+Ô+€MÝ”L Ñ+Ô+€MÝ”,˜w­b¬hÐ7Ñ7Ô7€KØ˜[Ð)€LØ˜}¨mÐ<€LÝ	Ô	 Ñ	"Ô	"ð )ð )ÝÔ˜gÑ&Ô&Ð&àð 	1ð 	1ˆAÝ# A­R¬ZÀtÐLÑLÔLˆIØ”?¥b¤jÒ0Ð0Ð0Ð0Ð0àð 	&ð 	&ˆAÝ#Ø�"œ*¥b¤jÐ1Àðñ ô ˆIð ”?¥b¤jÒ0Ð0Ð0Ð0Ø �>�>�>�>å#ØÝ”z¥2¤:Ð.Ø$ e˜nØð	ñ ô ˆIð ”?¥b¤jÒ0Ð0Ð0Ð0Ø AÐ%Ð%Ð%Ð%Ð%åØÝ”:�rœzÐ*Ø  %˜.Øð	
ñ 
ô 
ˆ	ð Œ¥"¤*Ò,Ð,Ð,Ð,Ø Ð-Ð-Ð-Ð-ØÔ 5Ò(Ð(Ð(Ð(Ð(ð?)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )ð )ð )s   Â0D4G2Ç2G6Ç9G6c                  ó  — ddgddgg} t          j        | ¦  «        }t          ¦   «         }d}t          j        t
          |¬¦  «        5  t          |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   d	}t          j        t          |¬¦  «        5  t          ||¬¦  «         d d d ¦  «         n# 1 swxY w Y   d
}t          j        t          |¬¦  «        5  t          |g ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t
          d¬¦  «        5  t          ||g¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr‡   r]   rW   r�   ziSparse data was passed, but dense data is required. Use '.toarray\(\)' to convert to a dense numpy array.r¾   F©r´   zjParameter 'accept_sparse' should be a string, boolean or list of strings. You provided 'accept_sparse=.*'.z]When providing 'accept_sparse' as a tuple or list, it must contain at least one string value.ré   r   )rr   r­   r   rP   rQ   rõ   r   rR   )ry   rý   Úinvalid_typerâ   s       rT   Ú-test_check_array_accept_sparse_type_exceptionrg  ¸  sÒ  € Ø
ˆQˆ�!�Q�Ð€AÝŒL˜‰OŒO€EÝ‘5”5€Lð	Að õ 
Œ•y¨Ð	,Ñ	,Ô	,ð 0ð 0Ý�E¨Ð/Ñ/Ô/Ð/ð0ð 0ð 0ñ 0ô 0ð 0ð 0ð 0ð 0ð 0ð 0øøøð 0ð 0ð 0ð 0ð	Gð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð 7ð 7Ý�E¨Ð6Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð	5ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð -ð -Ý�E¨Ð,Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	Œ•z¨Ð	-Ñ	-Ô	-ð -ð -Ý�E¨Ð,Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	Œ•y¨Ð	.Ñ	.Ô	.ð 9ð 9Ý�E¨,¨Ð8Ñ8Ô8Ð8ð9ð 9ð 9ñ 9ô 9ð 9ð 9ð 9ð 9ð 9ð 9ð 9øøøð 9ð 9ð 9ð 9ð 9ð 9sZ   ÁA&Á&A*Á-A*ÂB,Â,B0Â3B0ÃC2Ã2C6Ã9C6ÄD6Ä6D:Ä=D:ÅE<Å<F ÆF c                  óÈ   — ddgddgg} t          j        | ¦  «        }t          |d¬¦  «         t          |d¬¦  «         t          |dg¬¦  «         t          |d¬¦  «         d S )	Nr‡   r]   rW   r�   Tre  r‚   )r‚   )rr   r­   r   )ry   rý   s     rT   Ú+test_check_array_accept_sparse_no_exceptionri  ×  su   € Ø
ˆQˆ�!�Q�Ð€AÝŒL˜‰OŒO€Eå� TÐ*Ñ*Ô*Ð*Ý� UÐ+Ñ+Ô+Ð+Ý� e WÐ-Ñ-Ô-Ð-Ý� XÐ.Ñ.Ô.Ð.Ð.Ð.r€   )r‚   Úcscrî   Úbsr)Úparamsc              #   ó¶  K  — t          d| j        ¬¦  «        }| j        dk    rst          |d¦  «        r$t          d„ |j        D ¦   «         ¦  «        |_        n}|j                             d¦  «        |_        |j                             d¦  «        |_        n>|j                             d¦  «        |_        |j	                             d¦  «        |_	        |V — d S )N)é   rX   rƒ   rî   Úcoordsc              3   ó@   K  — | ]}|                      d ¦  «        V — ŒdS )rg   N)rf   )rê   Úvs     rT   ú	<genexpr>zX_64bit.<locals>.<genexpr>ì  s.   è è € ÐAÐA°1˜QŸXšX gÑ.Ô.ÐAÐAÐAÐAÐAÐAr€   rg   )
r*   Úparamr÷   Útuplero  Úrowrf   ÚcolÚindicesÚindptr)Úrequestry   s     rT   ÚX_64bitrz  á  sÄ   è è € å˜X¨g¬mÐ<Ñ<Ô<€Aà„}˜ÒÐÝ�1�hÑÔð 
	*õ ÐAÐA¸¼ÐAÑAÔAÑAÔAˆAŒHˆHð ”E—L’L Ñ)Ô)ˆAŒEØ”E—L’L Ñ)Ô)ˆAŒEˆEà”I×$Ò$ WÑ-Ô-ˆŒ	Ø”8—?’? 7Ñ+Ô+ˆŒà
€G€G€G€G€Gr€   c                 ó*   — t          | dd¬¦  «         d S )NT)Úaccept_large_sparser´   )r   )rz  s    rT   Ú1test_check_array_accept_large_sparse_no_exceptionr}  ø  s   € å�¨TÀÐFÑFÔFÐFÐFÐFr€   c                 ó–   — d}t          j        t          |¬¦  «        5  t          | dd¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NzbOnly sparse matrices with 32-bit integer indices are accepted. Got int64 indices. Please do reportr¾   TF)r´   r|  r  )rz  râ   s     rT   Ú4test_check_array_accept_large_sparse_raise_exceptionr  ý  s°   € ð	<ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð Lð LÝ�G¨4ÀUÐKÑKÔKÐKðLð Lð Lñ Lô Lð Lð Lð Lð Lð Lð Lð Løøøð Lð Lð Lð Lð Lð Ls   ž>¾AÁAc                  ó\  — d} t          j        t          | ¬¦  «        5  t          g g¦  «         d d d ¦  «         n# 1 swxY w Y   d} t          j        t          | ¬¦  «        5  t          g d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t	          j        d¦  «        } t          j        t          | ¬¦  «        5  t          dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        }t          j        d	¦  «        }d
} t          j        t          | ¬¦  «        5  t          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          | ¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        }t          j        d¦  «        }d} t          j        t          | ¬¦  «        5  t          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          | ¬¦  «        5  t          ||dd¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j
        d¦  «                             dd¦  «        }t          j        d¦  «        }d} t          j        t          | ¬¦  «        5  t          ||¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¦  «        }t          j        d¦  «        }t          ||d¬¦  «        \  }}t          ||¦  «         t          ||¦  «         d S )NzC0 feature\(s\) \(shape=\(1, 0\)\) while a minimum of 1 is required.r¾   z@0 sample\(s\) \(shape=\(0,\)\) while a minimum of 1 is required.FrÛ   zgInput should have at least 1 dimension i.e. satisfy `len(x.shape) > 0`, got scalar `array(42)` instead.rG   )r‡   rX   r‡   zC1 sample\(s\) \(shape=\(1, 10\)\) while a minimum of 2 is required.r]   )Úensure_min_samples)r�  rÜ   r�   zD2 feature\(s\) \(shape=\(10, 2\)\) while a minimum of 3 is required.rW   )Úensure_min_featuresT)r‚  rç   r   rX   zD0 feature\(s\) \(shape=\(10, 0\)\) while a minimum of 1 is required.)rX   r   é   rƒ  ræ   )rP   rQ   rR   r   ÚreÚescaperõ   rJ   rb   r   Úemptyr�   r!   )râ   ry   r¼   r·   Ú	y_checkeds        rT   Ú2test_check_array_min_samples_and_features_messagesrˆ    sí  € à
P€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�R�DÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð
 N€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð )ð )Ý�B %Ð(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ Œ)ðBñô €Cõ 
Œ•y¨Ð	,Ñ	,Ô	,ð )ð )Ý�B %Ð(Ñ(Ô(Ð(ð)ð )ð )ñ )ô )ð )ð )ð )ð )ð )ð )øøøð )ð )ð )ð )õ 	Œ�ÑÔ€AÝ
Œ�‰
Œ
€AØ
P€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð .ð .Ý�!�Q¨1Ð-Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .õ
 
Œ•z¨Ð	-Ñ	-Ô	-ð ?ð ?Ý�!�Q¨1¸Ð>Ñ>Ô>Ð>ð?ð ?ð ?ñ ?ô ?ð ?ð ?ð ?ð ?ð ?ð ?øøøð ?ð ?ð ?ð ?õ
 	Œ�ÑÔ€AÝ
Œ�‰
Œ
€AØ
Q€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð /ð /Ý�!�Q¨AÐ.Ñ.Ô.Ð.ð/ð /ð /ñ /ô /ð /ð /ð /ð /ð /ð /øøøð /ð /ð /ð /õ
 
Œ•z¨Ð	-Ñ	-Ô	-ð >ð >Ý�!�Q¨A¸Ð=Ñ=Ô=Ð=ð>ð >ð >ñ >ô >ð >ð >ð >ð >ð >ð >øøøð >ð >ð >ð >õ
 	Œ�‰Œ×Ò˜B Ñ"Ô"€AÝ
Œ�‰Œ€AØ
Q€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 	Œ�Ñ Ô €AÝ
Œ�‰Œ€AÝ$ Q¨°DÐ9Ñ9Ô9Ñ€IˆyÝ�q˜)Ñ$Ô$Ð$Ý�q˜)Ñ$Ô$Ð$Ð$Ð$s‹   ž;»?Á?Á#BÂBÂBÂ;CÃCÃ CÄ)EÅEÅEÅ.FÆFÆFÇG=Ç=HÈHÈ#IÉIÉ
IÊ'KËKËKc                  óÎ  — t          j        g d¢g d¢g¦  «        } t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   g d¢g d¢g} t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   d} t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        t          j        g d¢¦  «        g} t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        t          j        g d¢¦  «        f} t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          t          j        g d¢g d¢g¦  «        ¦  «        } t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        ddgddgg¦  «        } t          j        t          d¬¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        g d¢¦  «        }t          j        t          d¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	N©ù      ð?       @ù      @      @ù      @      @©ù       @      @ù      @      @ù      @      @zComplex data not supportedr¾   )rŠ  rŽ  r   r‹  )r‹  rŒ  r�  r�  r�  r‘  )
rJ   rÑ   rP   rQ   rR   r   r   rr   Ú	coo_arrayr4   )ry   r¼   s     rT   Ú#test_check_array_complex_data_errorr“  F  sÁ  € Ý
ŒÐ*Ð*Ð*Ð,DÐ,DÐ,DÐEÑFÔF€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 
"Ð	!Ð	!Ð#;Ð#;Ð#;Ð<€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð 	=€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
ŒÐ*Ð*Ð*Ñ	+Ô	+­R¬XÐ6NÐ6NÐ6NÑ-OÔ-OÐP€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
ŒÐ*Ð*Ð*Ñ	+Ô	+­R¬XÐ6NÐ6NÐ6NÑ-OÔ-OÐP€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 	•b”hÐ 8Ð 8Ð 8Ð:RÐ:RÐ:RÐSÑTÔTÑUÔU€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 	Œ�q˜&�k A q 6Ð*Ñ+Ô+€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ
 	ŒÐAÐAÐAÑBÔB€AÝ	Œ•zÐ)EÐ	FÑ	FÔ	Fð ð Ý�‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s�   ¶AÁAÁAÂ BÂB Â#B ÃC Ã C$Ã'C$Ä2EÅEÅEÆ F<Æ<G ÇG È	H%È%H)È,H)É%JÊJÊJÊ=KËKË!Kc                  ó  — t          t          d¦  «        rJ ‚t          t          d¦  «        sJ ‚t          t          d¦  «        sJ ‚t          t          ¦   «         d¦  «        sJ ‚ G d„ d¦  «        } t          | d¦  «        s
J d¦   «         ‚d S )Nrº   c                   ó8   — e Zd Z ed¦  «        dd„¦   «         ZdS )ú@test_has_fit_parameter.<locals>.TestClassWithDeprecatedFitMethodz7Deprecated for the purpose of testing has_fit_parameterNc                 ó   — d S ©Nré   )Úselfry   r¼   rº   s       rT   rÉ   zDtest_has_fit_parameter.<locals>.TestClassWithDeprecatedFitMethod.fitw  ó   € àˆDr€   r˜  )rÇ   Ú
__module__Ú__qualname__r   rÉ   ré   r€   rT   Ú TestClassWithDeprecatedFitMethodr–  v  s?   € € € € € Ø	ˆÐMÑ	NÔ	Nð	ð 	ð 	ñ 
OÔ	Nð	ð 	ð 	r€   r�  z=has_fit_parameter fails for class with deprecated fit method.)rD   r   r	   r   )r�  s    rT   Útest_has_fit_parameterrž  p  s¼   € Ý Õ!5°ÑGÔGÐGÐGÐGÝÕ2°OÑDÔDÐDÐDÐDÝ�S /Ñ2Ô2Ð2Ð2Ð2Ý�S™UœU OÑ4Ô4Ð4Ð4Ð4ðð ð ð ð ñ ô ð õ
 Ð=¸ÑOÔOð ð ØGñô ÐOð ð r€   c            	      ó  — t          j        ddgddgg¦  «        } t          j        d¦  «        }t          j        ddgddgg¦  «        }|t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j        |¦  «        t          j	        |¦  «        dœ}t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   |                     ¦   «         D ]ì\  }}t          j        t           ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |d¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |d¬¦  «        }t          j        |¦  «        r0|j        |k    sJ ‚t'          |                     ¦   «         | ¦  «         ŒÜt'          || ¦  «         Œíd S )	Nr   r‡   r]   )Údenserï   r‚   rj  rî   Úlilrk  T)Úraise_exceptionF)Úraise_warning)rJ   rÑ   rb   rr   Ú	dok_arrayr­   ru   r’  Ú	lil_arrayÚ	bsr_arrayrP   rQ   rR   r   ÚitemsÚwarnsÚUserWarningÚissparser„   r!   rt   )Úarr_symÚarr_badÚarr_asymÚtest_arraysÚ
arr_formatrO  Úoutputs          rT   Útest_check_symmetricr±  €  sš  € ÝŒh˜˜A˜  A Ð'Ñ(Ô(€GÝŒg�a‰jŒj€GÝŒx˜!˜Q˜ ! Q Ð(Ñ)Ô)€Hð ÝŒ|˜HÑ%Ô%ÝŒ|˜HÑ%Ô%ÝŒ|˜HÑ%Ô%ÝŒ|˜HÑ%Ô%ÝŒ|˜HÑ%Ô%ÝŒ|˜HÑ%Ô%ðð €Kõ 
Œ•zÑ	"Ô	"ð !ð !Ý˜Ñ Ô Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !ð '×,Ò,Ñ.Ô.ð 0ð 0‰ˆ
�CåŒ\�+Ñ&Ô&ð 	!ð 	!Ý˜CÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!åŒ]�:Ñ&Ô&ð 	7ð 	7Ý˜C°Ð6Ñ6Ô6Ð6ð	7ð 	7ð 	7ñ 	7ô 	7ð 	7ð 	7ð 	7ð 	7ð 	7ð 	7øøøð 	7ð 	7ð 	7ð 	7õ ! °EÐ:Ñ:Ô:ˆÝŒ;�vÑÔð 	0Ø”= JÒ.Ð.Ð.Ð.Ý˜vŸ~š~Ñ/Ô/°Ñ9Ô9Ð9Ð9å˜v wÑ/Ô/Ð/Ð/ð0ð 0s6   ÃC4Ã4C8Ã;C8Ä1EÅE	ÅE	Å1FÆF	ÆF	c                  ó  —  G d„ dt           ¦  «        } t          j        t          ¦  «        5  t	           | ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   t	           | ¦   «                              ¦   «         ¦  «         d S )Nc                   ó   — e Zd Zd„ Zd„ ZdS )ú6test_check_is_fitted_with_is_fitted.<locals>.Estimatorc                 ó   — d| _         | S )NT)r8   ©r™  Úkwargss     rT   rÉ   z:test_check_is_fitted_with_is_fitted.<locals>.Estimator.fit¥  s   € Ø"ˆDŒOØˆKr€   c                 ó0   — t          | d¦  «        o| j        S )Nr8   )r÷   r8   ©r™  s    rT   Ú__sklearn_is_fitted__zLtest_check_is_fitted_with_is_fitted.<locals>.Estimator.__sklearn_is_fitted__©  s   € Ý˜4 Ñ.Ô.ÐB°4´?ÐBr€   N)rÇ   r›  rœ  rÉ   rº  ré   r€   rT   Ú	Estimatorr´  ¤  s7   € € € € € ð	ð 	ð 	ð	Cð 	Cð 	Cð 	Cð 	Cr€   r»  )r   rP   rQ   r
   r>   rÉ   )r»  s    rT   Ú#test_check_is_fitted_with_is_fittedr¼  £  sÓ   € ðCð Cð Cð Cð C•Mñ Cô Cð Cõ 
Œ•~Ñ	&Ô	&ð %ð %Ý˜	˜	™œÑ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %å�I�I‘K”K—O’OÑ%Ô%Ñ&Ô&Ð&Ð&Ð&s   ­AÁAÁAc                  óZ   —  G d„ dt           ¦  «        } t           | ¦   «         ¦  «         dS )z;Check that check_is_fitted passes for stateless estimators.c                   ó$   ‡ — e Zd Zd„ Zˆ fd„Zˆ xZS )ú:test_check_is_fitted_stateless.<locals>.StatelessEstimatorc                 ó   — | S r˜  ré   r¶  s     rT   rÉ   z>test_check_is_fitted_stateless.<locals>.StatelessEstimator.fitµ  ó   € ØˆKr€   c                 óV   •— t          ¦   «                              ¦   «         }d|_        |S )NF)ÚsuperÚ__sklearn_tags__Úrequires_fit)r™  ÚtagsrÆ   s     €rT   rÄ  zKtest_check_is_fitted_stateless.<locals>.StatelessEstimator.__sklearn_tags__¸  s%   ø€ Ý‘7”7×+Ò+Ñ-Ô-ˆDØ %ˆDÔØˆKr€   )rÇ   r›  rœ  rÉ   rÄ  Ú__classcell__)rÆ   s   @rT   ÚStatelessEstimatorr¿  ´  sG   ø€ € € € € ð	ð 	ð 	ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	r€   rÈ  N)r   r>   )rÈ  s    rT   Útest_check_is_fitted_statelessrÉ  ±  sL   € ðð ð ð ð �]ñ ô ð õ Ð&Ð&Ñ(Ô(Ñ)Ô)Ð)Ð)Ð)r€   c                  ó8  — t          j        t          ¦  «        5  t          t          ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t	          ¦   «         } t          ¦   «         }	 t          j        t          ¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          |¦  «         d d d ¦  «         n# 1 swxY w Y   n# t          $ r J d¦   «         ‚w xY wd}d}t          j        t          |¬¦  «        5  t          | |¬¦  «         d d d ¦  «         n# 1 swxY w Y   d}d	}t          j        t          |¬¦  «        5  t          ||¬¦  «         d d d ¦  «         n# 1 swxY w Y    | j	        t          ¦   «         Ž   |j	        t          ¦   «         Ž  t          | ¦  «        �J ‚t          |¦  «        �J ‚d S )
Nr   Fz&check_is_fitted failed with ValueErrorz!Random message %(name)s, %(name)sz+Random message ARDRegression, ARDRegressionr¾   )râ   z"Another message %(name)s, %(name)szAnother message SVR, SVR)rP   rQ   rõ   r>   r   r   r
   rR   ÚAttributeErrorrÉ   r   )ÚardÚsvrrâ   r¿   s       rT   Útest_check_is_fittedrÎ  À  sy  € å	Œ•yÑ	!Ô	!ð 'ð 'Ý�Ñ&Ô&Ð&ð'ð 'ð 'ñ 'ô 'ð 'ð 'ð 'ð 'ð 'ð 'øøøð 'ð 'ð 'ð 'å	Œ•yÑ	!Ô	!ð ð Ý˜ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ ‰/Œ/€CÝ
‰%Œ%€Cð?ÝŒ]�>Ñ*Ô*ð 	!ð 	!Ý˜CÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!åŒ]�>Ñ*Ô*ð 	!ð 	!Ý˜CÑ Ô Ð ð	!ð 	!ð 	!ñ 	!ô 	!ð 	!ð 	!ð 	!ð 	!ð 	!ð 	!øøøð 	!ð 	!ð 	!ð 	!øøåð ?ð ?ð ?Ø>Ð>Ñ>Ô>ˆuð?øøøð .€CØ9€EÝ	Œ•z¨Ð	/Ñ	/Ô	/ð &ð &Ý˜ Ð%Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð /€CØ&€EÝ	Œ•~¨UÐ	3Ñ	3Ô	3ð &ð &Ý˜ Ð%Ñ%Ô%Ð%ð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð €C„G�Z‰\Œ\ÐÐØ€C„G�Z‰\Œ\ÐÐå˜3ÑÔÐ'Ð'Ð'Ý˜3ÑÔÐ'Ð'Ð'Ð'Ð's—   š;»?Á?ÁA;Á;A?ÂA?Â#D$ Â<CÃD$ ÃCÃD$ ÃCÃ D$ Ã<DÄD$ ÄDÄD$ ÄDÄ D$ Ä$D9ÅE9Å9E=Æ E=Æ#GÇGÇGc                  ó¾  —  G d„ dt           ¦  «        } d} | ¦   «         }t          |ddg¬¦  «        rJ ‚t          j        t          |¬¦  «        5  t          |ddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |ddgt          ¬¦  «        rJ ‚t          j        t          |¬¦  «        5  t          |ddgt          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |ddgt          ¬¦  «        rJ ‚t          j        t          |¬¦  «        5  t          |ddgt          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   d	|_        t          |ddg¬¦  «        rJ ‚t          j        t          |¬¦  «        5  t          |ddg¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |ddgt          ¬¦  «        rJ ‚t          j        t          |¬¦  «        5  t          |ddgt          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          |ddgt          ¬¦  «        sJ ‚t          |ddgt          ¬¦  «         d
|_	        t          |ddg¬¦  «        sJ ‚t          |ddg¬¦  «         t          |ddgt          ¬¦  «        sJ ‚t          |ddgt          ¬¦  «         t          |ddgt          ¬¦  «        sJ ‚t          |ddgt          ¬¦  «         d S )Nc                   ó   — e Zd Zd„ ZdS )ú4test_check_is_fitted_attributes.<locals>.MyEstimatorc                 ó   — | S r˜  ré   ©r™  ry   r¼   s      rT   rÉ   z8test_check_is_fitted_attributes.<locals>.MyEstimator.fitæ  rÁ  r€   N)rÇ   r›  rœ  rÉ   ré   r€   rT   ÚMyEstimatorrÑ  å  s#   € € € € € ð	ð 	ð 	ð 	ð 	r€   rÔ  z
not fittedÚa_Úb_)Ú
attributesr¾   )r×  Ú
all_or_anyrÎ   rÏ   )
r   r8   rP   rQ   r
   r>   Úallrx   rÕ  rÖ  )rÔ  râ   Úests      rT   Útest_check_is_fitted_attributesrÛ  ä  s…  € ðð ð ð ð •mñ ô ð ð €CØ
ˆ+‰-Œ-€Cå˜#¨4°¨,Ð7Ñ7Ô7Ð7Ð7Ð7Ý	Œ•~¨SÐ	1Ñ	1Ô	1ð 6ð 6Ý˜¨¨t¨Ð5Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6å˜#¨4°¨,Å3ÐGÑGÔGÐGÐGÐGÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð Fð FÝ˜¨¨t¨ÅÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Få˜#¨4°¨,Å3ÐGÑGÔGÐGÐGÐGÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð Fð FÝ˜¨¨t¨ÅÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Fð €C„FÝ˜#¨4°¨,Ð7Ñ7Ô7Ð7Ð7Ð7Ý	Œ•~¨SÐ	1Ñ	1Ô	1ð 6ð 6Ý˜¨¨t¨Ð5Ñ5Ô5Ð5ð6ð 6ð 6ñ 6ô 6ð 6ð 6ð 6ð 6ð 6ð 6øøøð 6ð 6ð 6ð 6å˜#¨4°¨,Å3ÐGÑGÔGÐGÐGÐGÝ	Œ•~¨SÐ	1Ñ	1Ô	1ð Fð FÝ˜¨¨t¨ÅÐEÑEÔEÐEðFð Fð Fñ Fô Fð Fð Fð Fð Fð Fð Føøøð Fð Fð Fð Få�c t¨T l½sÐCÑCÔCÐCÐCÐCÝ�C T¨4 L½SÐAÑAÔAÐAà€C„FÝ�c t¨T lÐ3Ñ3Ô3Ð3Ð3Ð3Ý�C T¨4 LÐ1Ñ1Ô1Ð1Ý�c t¨T l½sÐCÑCÔCÐCÐCÐCÝ�C T¨4 L½SÐAÑAÔAÐAÝ�c t¨T l½sÐCÑCÔCÐCÐCÐCÝ�C T¨4 L½SÐAÑAÔAÐAÐAÐAsZ   ÁA0Á0A4Á7A4Â1CÃCÃCÄD>Ä>EÅEÆ F Æ F$Æ'F$Ç!HÈHÈHÚwrap)ÚsingleÚlistrt  )Úidsc                 ó¸  — t          ¦   «         }t          j        t          d¬¦  «        5  t	          | | dg¦  «        ¦  «         d d d ¦  «         n# 1 swxY w Y    |j        t          ¦   «         Ž  t	          | | dg¦  «        ¦  «         t          j        t          d¬¦  «        5  t	          | | dg¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nzis not fitted yetr¾   Úcoef_Ú	coef_bad_)r   rP   rQ   r
   r>   rÉ   r   )rÜ  rÌ  s     rT   Ú$test_check_is_fitted_with_attributesrã  	  s[  € õ ‰/Œ/€CÝ	Œ•~Ð-@Ð	AÑ	AÔ	Að .ð .Ý˜˜T˜T 7 )™_œ_Ñ-Ô-Ð-ð.ð .ð .ñ .ô .ð .ð .ð .ð .ð .ð .øøøð .ð .ð .ð .ð €C„G�Z‰\Œ\ÐÐõ �C˜˜˜w˜i™œÑ)Ô)Ð)õ 
Œ•~Ð-@Ð	AÑ	AÔ	Að 2ð 2Ý˜˜T˜T ; -Ñ0Ô0Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2ð 2ð 2s#   ªAÁAÁAÂ'CÃCÃCc                  óä  — t          dgdgdgdgdg¦  «         t          ddgddgggddgddg¦  «         t          dgdt          j        dg¦  «        t          j        d	¦  «        ¦  «         t          j        t          d
¬¦  «        5  t          ddgdg¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          ddgd¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          ddgt          ¦   «         ¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          ¦  «        5  t          ddgt          j        d¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5  t          ddgt          ¦   «         ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zpTest that `check_consistent_length` raises on inconsistent lengths and wrong
    input types trigger TypeErrors.r‡   r]   rW   r�   r^   rÎ   rÏ   )r]   ©r‡   r]   úinconsistent numbers of samplesr¾   Nzgot <\w+ 'int'>zgot <\w+ 'object'>úExpected sequence or array-like)r=   rJ   rÑ   rr   r­   rP   rQ   rR   rõ   ro   r	   ré   r€   rT   Útest_check_consistent_lengthrè    s&  € õ ˜Q˜C !  q c¨A¨3°°Ñ4Ô4Ð4Ý˜a ˜V q¨! f XÐ.°°A°¸¸c¸
ÑCÔCÐCÝ˜Q˜C ¥r¤x°°¡}¤}µb´lÀ6Ñ6JÔ6JÑKÔKÐKÝ	Œ•zÐ)JÐ	KÑ	KÔ	Kð -ð -Ý  A ¨¨Ñ,Ô,Ð,ð-ð -ð -ñ -ô -ð -ð -ð -ð -ð -ð -øøøð -ð -ð -ð -å	Œ•yÐ(:Ð	;Ñ	;Ô	;ð +ð +Ý  A ¨Ñ*Ô*Ð*ð+ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +å	Œ•yÐ(=Ð	>Ñ	>Ô	>ð 2ð 2Ý  A ­©¬Ñ1Ô1Ð1ð2ð 2ð 2ñ 2ô 2ð 2ð 2ð 2ð 2ð 2ð 2øøøð 2ð 2ð 2ð 2å	Œ•yÑ	!Ô	!ð 5ð 5Ý  A ­¬°©¬Ñ4Ô4Ð4ð5ð 5ð 5ñ 5ô 5ð 5ð 5ð 5ð 5ð 5ð 5øøøð 5ð 5ð 5ð 5õ 
Œ•yÐ(IÐ	JÑ	JÔ	Jð Að AÝ  A Õ(=Ñ(?Ô(?Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Að Aøøøð Að Að Að Að Að AsZ   ÂB(Â(B,Â/B,ÃC-Ã-C1Ã4C1ÄD>Ä>EÅEÅ"%FÆFÆFÆ9G%Ç%G)Ç,G)z(array_namespace, device_name, dtype_namec                 ób  — t          | ||¦  «        \  }}t          d¬¦  «        5  t          |                     g d¢|¬¦  «        |                     ddgddgddgg|¬¦  «        g d¢g d¢t	          j        dt
          ¬	¦  «        t          j        d
dgdd
gd
d
gg¦  «        ¦  «         t          j	        t          d¬¦  «        5  t          |                     ddg|¬¦  «        |                     dg|¬¦  «        ¦  «         ddd¦  «         n# 1 swxY w Y   ddd¦  «         dS # 1 swxY w Y   dS )zCTest that check_consistent_length works with different array types.T©Úarray_api_dispatchrÚ   ©Údevicer‡   r]   rW   r%  rY   r   ræ  r¾   N)r   r   r=   rž   rJ   ro   rr   r­   rP   rQ   rR   )Úarray_namespaceÚdevice_nameÚ
dtype_nameÚxprí  s        rT   Ú&test_check_consistent_length_array_apirò  /  sÈ  € õ & o°{ÀJÑOÔO�J€Bˆå	¨4Ð	0Ñ	0Ô	0ð ð ÝØ�JŠJ�y�y�y¨ˆJÑ0Ô0Ø�JŠJ˜˜A˜  A ¨¨A¨Ð/¸ˆJÑ?Ô?ØˆIˆIØˆOˆOÝŒJ�­fÐ5Ñ5Ô5ÝŒL˜1˜a˜& 1 a &¨1¨a¨&Ð1Ñ2Ô2ñ	
ô 	
ð 	
õ Œ]�:Ð-NÐOÑOÔOð 	ð 	Ý#Ø—
’
˜A˜q˜6¨&�
Ñ1Ô1Ø—
’
˜A˜3 v�
Ñ.Ô.ñô ð ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s6   ¥BD$Ã>DÄ D$ÄD	ÄD$ÄD	ÄD$Ä$D(Ä+D(c                  ó¸   — t          j        d¦  «        } t          j        g d¢g d¢g d¢g¦  «        }|                      |g d¢¬¦  «        }t          |¦  «         d S )NrÙ   rÚ   rC  rD  )rÎ   rÏ   rÉ   ©r8  )rP   rÝ   rJ   rÑ   r(  r=   )rà   ry   rJ  s      rT   Ú"test_check_dataframe_fit_attributerõ  H  sf   € õ 
Ô	˜XÑ	&Ô	&€BÝ
Œ�)�)�)˜Y˜Y˜Y¨	¨	¨	Ð2Ñ3Ô3€AØ�<Š<˜Ð#4Ð#4Ð#4ˆ<Ñ5Ô5€DÝ˜DÑ!Ô!Ð!Ð!Ð!r€   c                  óº  — t          j        dt           j        g¦  «        } t          j        t
          ¦  «        5  t          | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        d¬¦  «         t          | ¦  «         t          j        d¬¦  «         t          j        t
          ¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr   T)Úassume_finiteF)	rJ   rÑ   ÚinfrP   rQ   rR   r<   ÚsklearnÚ
set_configr“   s    rT   Útest_suppress_validationrû  R  sB  € Ý
Œ�!•R”V�ÑÔ€AÝ	Œ•zÑ	"Ô	"ð ð Ý˜!ÑÔÐðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åÔ TÐ*Ñ*Ô*Ð*Ý�aÑÔÐÝÔ UÐ+Ñ+Ô+Ð+Ý	Œ•zÑ	"Ô	"ð ð Ý˜!ÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s#   ºAÁAÁAÂ3CÃCÃCc                  ó�  — t          j        d¦  «        } t          |                      g d¢¦  «        d¬¦  «        }t	          |t          j        g d¢¦  «        ¦  «         |                      g d¢¦  «                             d¦  «        }t          |d d¬¦  «        }t	          |t          j        g d¢t          ¬¦  «        ¦  «         d S )	NrÙ   rÚ   FrÛ   r%  Úcategoryr'  rY   )	rP   rÝ   r   rÞ   r!   rJ   rÑ   rf   ro   )rà   ÚresÚss      rT   Útest_check_array_seriesr   ]  s´   € å	Ô	˜XÑ	&Ô	&€BÝ
�b—i’i 	 	 	Ñ*Ô*°eÐ
<Ñ
<Ô
<€CÝ�s�BœH Y Y YÑ/Ô/Ñ0Ô0Ð0ð 	�	Š	�/�/�/Ñ"Ô"×)Ò)¨*Ñ5Ô5€AÝ
�a˜t¨uÐ
5Ñ
5Ô
5€CÝ�s�BœH _ _ _½FÐCÑCÔCÑDÔDÐDÐDÐDr€   rZ   Ú
bool_dtype)ri   Úbooleanc                 óV  — t          j        d¦  «        }|                     g d¢g d¢|                     g d¢|¬¦  «        dœg d¢¬¦  «        }t	          || ¬¦  «        }|j        t          j        k    sJ ‚t          j        g d¢g d	¢g d
¢gt          ¬¦  «        }t          ||¦  «         d S )NrÙ   rÚ   )r   r_   çÍÌÌÌÌÌ @©TFTrY   )rÕ   rµ   ri   rô  )r"  ç        r"  )r#  r_   r  )r$  r  r"  )rP   rÝ   r(  rÞ   r   rZ   rJ   rh   rÑ   rµ   r    )rZ   r  rà   ÚdfrÑ   Úexpected_arrays         rT   Ú'test_check_dataframe_mixed_float_dtypesr	  i  sØ   € õ 
Ô	˜XÑ	&Ô	&€Bà	�Šà�9�9Ø"�]�]Ø—I’IÐ1Ð1Ð1¸�IÑDÔDð	
ð 	
ð
 )Ð(Ð(ð 
ñ 
ô 
€Bõ ˜ %Ð(Ñ(Ô(€EØŒ;�"œ*Ò$Ð$Ð$Ð$Ý”XØ	ˆˆ˜/˜/˜/¨?¨?¨?Ð;Å5ðñ ô €Nõ ! ¨Ñ7Ô7Ð7Ð7Ð7r€   c                  óž  — t          j        d¦  «        } |                      dg d¢i¦  «        }t          |d¬¦  «        }|j        t
          j        k    sJ ‚t          |dgdgdgg¦  «         |                      g d¢g d¢d	œdd
g¬¦  «        }t          |d¬¦  «        }|j        t
          j        k    sJ ‚t          |ddgddgddgg¦  «         dS )z>Check that pandas.DataFrame with bool return a boolean arrays.rÙ   ri   r  NrY   TFrÚ   )ri   rÕ   rÕ   rô  r  r‡   r   r]   rW   )	rP   rÝ   r(  r   rZ   rJ   Úbool_r!   rg   ©rà   r  rÑ   s      rT   Ú#test_check_dataframe_with_only_boolr  ‡  sû   € å	Ô	˜XÑ	&Ô	&€BØ	�Š�vÐ2Ð2Ð2Ð3Ñ	4Ô	4€Bå˜ $Ð'Ñ'Ô'€EØŒ;�"œ(Ò"Ð"Ð"Ð"Ý�u ˜v¨ w°°Ð7Ñ8Ô8Ð8ð 
�ŠØ$Ð$Ð$¨Y¨Y¨YÐ7Ð7Ø˜�ð 
ñ 
ô 
€Bõ ˜ )Ð,Ñ,Ô,€EØŒ;�"œ(Ò"Ð"Ð"Ð"Ý�u  1˜v¨¨1 v°°1¨vÐ6Ñ7Ô7Ð7Ð7Ð7r€   c                  ó  — t          j        d¦  «        } |                      d|                      g d¢d¬¦  «        i¦  «        }t	          |d¬¦  «        }|j        t          j        k    sJ ‚t          |dgdgdgg¦  «         dS )	zMCheck that pandas.DataFrame with boolean return a float array with dtype=NonerÙ   ri   r  r  rY   NTF)	rP   rÝ   r(  rÞ   r   rZ   rJ   rh   r!   r  s      rT   Ú&test_check_dataframe_with_only_booleanr  š  s‰   € å	Ô	˜XÑ	&Ô	&€BØ	�Š�v˜rŸyšyÐ)<Ð)<Ð)<ÀI˜yÑNÔNÐOÑ	PÔ	P€Bå˜ $Ð'Ñ'Ô'€EØŒ;�"œ*Ò$Ð$Ð$Ð$Ý�u ˜v¨ w°°Ð7Ñ8Ô8Ð8Ð8Ð8r€   c                   ó   — e Zd Zd„ ZdS )ÚDummyMemoryc                 ó   — |S r˜  ré   )r™  Úfuncs     rT   ÚcachezDummyMemory.cache¥  s   € Øˆr€   N)rÇ   r›  rœ  r  ré   r€   rT   r  r  ¤  s#   € € € € € ðð ð ð ð r€   r  c                   ó   — e Zd ZdS )ÚWrongDummyMemoryN©rÇ   r›  rœ  ré   r€   rT   r  r  ©  s   € € € € € Ø€Dr€   r  c                 ó,  — t          | dz  ¦  «        }t          |¦  «        }|j        |k    sJ ‚t          d ¦  «        }|j        �J ‚t          ¦   «         }t          |¦  «        }||u sJ ‚d}t	          j        t          |¬¦  «        5  t          d¦  «         d d d ¦  «         n# 1 swxY w Y   t          ¦   «         }d                     |¦  «        }t	          j        t          |¬¦  «        5  t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NÚcache_directoryzf'memory' should be None, a string or have the same interface as joblib.Memory. Got memory='1' instead.r¾   r‡   zg'memory' should be None, a string or have the same interface as joblib.Memory. Got memory='{}' instead.)	Ústrr?   Úlocationr  rP   rQ   rR   r  r„   )Útmp_pathr  ÚmemoryÚdummyrâ   s        rT   Útest_check_memoryr  ­  s�  € Ý˜(Ð%6Ñ6Ñ7Ô7€OÝ˜/Ñ*Ô*€FØŒ?˜oÒ-Ð-Ð-Ð-å˜$ÑÔ€FØŒ?Ð"Ð"Ð"å‰MŒM€EÝ˜%Ñ Ô €FØ�Uˆ?ˆ?ˆ?ˆ?ð	2ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð åÑÔ€Eð	3ß39²6¸%±=´=ð õ 
Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�UÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s$   ÂB#Â#B'Â*B'Ã,D	Ä	DÄDr\   c                 ó  — t          j        d¦  «        }t          |d¬¦  «        5 }t          || ¬¦  «        }t          j        ||¦  «        |  k    sJ ‚|j        d         | k    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )N)r�   r�   Úr©Ú	mmap_moder[   Ú	WRITEABLE)rJ   rb   r   r   Úmay_share_memoryr¬   )r\   ry   ÚX_memmapr·   s       rT   Útest_check_array_memmapr'  È  sÐ   € å
Œ�‰Œ€AÝ	�A Ð	%Ñ	%Ô	%ð 4¨Ý ¨tÐ4Ñ4Ô4ˆ	ÝÔ" 8¨YÑ7Ô7À¸HÒEÐEÐEÐEØŒ˜{Ô+¨tÒ3Ð3Ð3Ð3Ð3ð4ð 4ð 4ñ 4ô 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4øøøð 4ð 4ð 4ð 4ð 4ð 4s   ¦AA5Á5A9Á<A9zOestimator_name, estimator_value, delegates, expected_result, expected_exceptionÚ
estimator_ÚSubEstimatorré   Úattribute_presentrÅ   Úestimators_Úcustom_estimatorÚno_estimatorÚattribute_absent)Ú'fitted_estimator_with_default_delegatesÚ estimator_with_default_delegatesÚ#list_of_estimators_with_estimators_Ú&custom_estimator_with_custom_delegatesÚ#no_estimator_with_default_delegatesÚ5estimator_with_default_delegates_but_absent_attributec                 ó6  — |€t          d¦  «        }nt          d|¬¦  «        } G d„ d¦  «        } |¦   «         }t          || |¦  «         |r:t          j        |¦  «        5   ||¦  «         ddd¦  «         dS # 1 swxY w Y   dS  ||¦  «        |k    sJ ‚dS )zå
    Tests the _estimator_has function by verifying:
    - Functionality with default and custom delegates.
    - Raises ValueError if delegates are missing.
    - Raises AttributeError if the specified attribute is missing.
    Nr*  )Ú	delegatesc                   ó   — e Zd ZdS )ú)test_estimator_has.<locals>.MockEstimatorNr  ré   r€   rT   ÚMockEstimatorr8    s   € € € € € Øˆr€   r9  )r6   ÚsetattrrP   rQ   )Úestimator_nameÚestimator_valuer6  Úexpected_resultÚexpected_exceptionÚcheckr9  rÎ   s           rT   Útest_estimator_hasr@  Ñ  s   € ðJ ÐÝÐ2Ñ3Ô3ˆˆåÐ2¸iÐHÑHÔHˆðð ð ð ð ñ ô ð ð 	ˆ‰Œ€AÝˆAˆ~˜Ñ/Ô/Ð/àð +ÝŒ]Ð-Ñ.Ô.ð 	ð 	ØˆE�!‰HŒHˆHð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	ð ˆu�Q‰xŒx˜?Ò*Ð*Ð*Ð*Ð*Ð*s   Á"A;Á;A?ÂA?c                 óf  — t          j        g d¢g d¢g d¢g d¢g¦  «        } | |¦  «        }t          |d¦  «          | ddgddgg¦  «        }t          |d¦  «         d|d<    | |¦  «        }t          j        t
          d¬¦  «        5  t          |d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )	N)r‡   r‡   r   r   )r   r   r   r   r¹   r   rª   ra   z	Negative r¾   )rJ   rÑ   r@   rP   rQ   rR   )r²   r¯   ry   s      rT   Útest_check_non_negativerB  (  s  € õ* 	Œ�,�,�,   ¨l¨l¨l¸L¸L¸LÐIÑJÔJ€AØˆˆq‰	Œ	€AÝ�q˜"ÑÔÐØˆ��A�˜˜A˜ÐÑ Ô €AÝ�q˜"ÑÔÐà€A€d�GØˆˆq‰	Œ	€AÝ	Œ•z¨Ð	5Ñ	5Ô	5ð "ð "Ý˜1˜bÑ!Ô!Ð!ð"ð "ð "ñ "ô "ð "ð "ð "ð "ð "ð "ð "øøøð "ð "ð "ð "ð "ð "s   ÂB&Â&B*Â-B*c                  ód  — t          j        d¦  «        } d }d}t          j        t          |¬¦  «        5  t          | |¦  «         d d d ¦  «         n# 1 swxY w Y   d}t          j        t          |¬¦  «        5  t          | |t          ¦   «         ¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©r]   r]   z;estimator requires y to be passed, but the target y is Noner¾   zGRandomForestRegressor requires y to be passed, but the target y is None©rÅ   )rJ   rb   rP   rQ   rR   r   r	   )ry   r¼   râ   s      rT   Ú test_check_X_y_informative_errorrF  I  s-  € Ý
Œ�‰Œ€AØ€AØ
G€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ð Ý�!�Q‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð T€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð ;ð ;Ý�!�QÕ"7Ñ"9Ô"9Ð:Ñ:Ô:Ð:ð;ð ;ð ;ñ ;ô ;ð ;ð ;ð ;ð ;ð ;ð ;ð ;øøøð ;ð ;ð ;ð ;ð ;ð ;s#   ´AÁAÁAÁ9B%Â%B)Â,B)c                  ó0  —  G d„ d¦  «        }  | ¦   «         }t          |¦  «        t          |¦  «        k    sJ ‚ G d„ d¦  «        }t          j        t          d¬¦  «        5  t           |¦   «         ¦  «         ddd¦  «         n# 1 swxY w Y    G d„ d	¦  «        } |t          j        d
¦  «        ¦  «        }t          |¦  «        d
k    sJ ‚ |t          j        d¦  «                             d
d¦  «        ¦  «        }t          |¦  «        d
k    sJ ‚dS )z4Test _num_samples on different non standard input X.c                   ó   — e Zd Zd„ Zd„ ZdS )úCtest_num_samples_on_non_standard_shape.<locals>.TestNonNumericShapec                 ó   — d| _         d S ©N)znot numeric©rœ   r¹  s    rT   Ú__init__zLtest_num_samples_on_non_standard_shape.<locals>.TestNonNumericShape.__init__Y  ó   € Ø)ˆDŒJˆJˆJr€   c                 ó$   — t          g d¢¦  «        S )NrÚ   )Úlenr¹  s    rT   Ú__len__zKtest_num_samples_on_non_standard_shape.<locals>.TestNonNumericShape.__len__\  s   € Ý�y�y�y‘>”>Ð!r€   N)rÇ   r›  rœ  rM  rQ  ré   r€   rT   ÚTestNonNumericShaperI  X  s2   € € € € € ð	*ð 	*ð 	*ð	"ð 	"ð 	"ð 	"ð 	"r€   rR  c                   ó   — e Zd Zd„ ZdS )úCtest_num_samples_on_non_standard_shape.<locals>.TestNoLenWeirdShapec                 ó   — d| _         d S rK  rL  r¹  s    rT   rM  zLtest_num_samples_on_non_standard_shape.<locals>.TestNoLenWeirdShape.__init__d  rN  r€   N)rÇ   r›  rœ  rM  ré   r€   rT   ÚTestNoLenWeirdShaperT  c  s#   € € € € € ð	*ð 	*ð 	*ð 	*ð 	*r€   rV  rç  r¾   Nc                   ó   — e Zd Zd„ Zdd„ZdS )úPtest_num_samples_on_non_standard_shape.<locals>.TestNoLenNoShapeButArrayProtocolc                 ó   — || _         d S r˜  r—   )r™  r˜   s     rT   rM  zYtest_num_samples_on_non_standard_shape.<locals>.TestNoLenNoShapeButArrayProtocol.__init__k  s   € ØˆDŒFˆFˆFr€   Nc                 ó8   — t          j        | j        |¬¦  «        S )NrY   )rJ   rž   r˜   )r™  rZ   r\   s      rT   Ú	__array__zZtest_num_samples_on_non_standard_shape.<locals>.TestNoLenNoShapeButArrayProtocol.__array__n  s   € Ý”:˜dœf¨EÐ2Ñ2Ô2Ð2r€   )NN)rÇ   r›  rœ  rM  r[  ré   r€   rT   Ú TestNoLenNoShapeButArrayProtocolrX  j  s7   € € € € € ð	ð 	ð 	ð	3ð 	3ð 	3ð 	3ð 	3ð 	3r€   r\  rW   r†   r]   )r:   rP  rP   rQ   rõ   rJ   rd   r�   )rR  ry   rV  r\  s       rT   Ú&test_num_samples_on_non_standard_shaper]  U  s¢  € ð"ð "ð "ð "ð "ñ "ô "ð "ð 	ÐÑÔ€AÝ˜‰?Œ?�c !™fœfÒ$Ð$Ð$Ð$ð*ð *ð *ð *ð *ñ *ô *ð *õ 
Œ•yÐ(IÐ	JÑ	JÔ	Jð ,ð ,ÝÐ(Ð(Ñ*Ô*Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð 	)Ð(­¬°1©¬Ñ6Ô6€AÝ˜‰?Œ?˜aÒÐÐÐØ(Ð(­¬°1©¬×)=Ò)=¸aÀÑ)CÔ)CÑDÔD€AÝ˜‰?Œ?˜aÒÐÐÐÐÐs   Á"BÂB
ÂB
Úconstructor_name)rÞ  rt  rÑ   ÚseriesÚpolars_seriesc                 ó„   — t          t          t          d¦  «        ¦  «        | ¦  «        }t          |¦  «        dk    sJ ‚dS )z*Test _num_samples on different 1d input X.rW   N)r   rÞ  Úranger:   ©r^  ry   s     rT   Útest_num_samples_on_1drd  w  s=   € õ
 	�4¥ a¡¤™>œ>Ð+;Ñ<Ô<€AÝ˜‰?Œ?˜aÒÐÐÐÐÐr€   )rÞ  rt  rÑ   ÚsparserÙ   ÚpyarrowÚpolarsc                 ób   — t          ddgddgddgg| ¦  «        }t          |¦  «        dk    sJ ‚dS )z6Test _num_samples on different dataframe-like input X.r‡   é   r]   é   rW   é!   N)r   r:   rc  s     rT   Ú#test_num_samples_on_dataframe_likesrl  €  sD   € õ 	˜Q ˜G a¨ W¨q°"¨gÐ6Ð8HÑIÔI€AÝ˜‰?Œ?˜aÒÐÐÐÐÐr€   r˜   )r]   rW   g      @r^   c           	      óÒ   — t          j        ¦   «         5  t          j        d¦  «         t          | dt          j        ddd¬¦  «        }ddd¦  «         n# 1 swxY w Y   || k    sJ ‚dS )zPTest that check_scalar returns no error/warning if valid inputs are
    providedrX  Ú	test_namer]   r^   Úboth©Útarget_typeÚmin_valÚmax_valÚinclude_boundariesN)rY  rZ  r[  rB   ÚnumbersÚReal)r˜   Úscalars     rT   Útest_check_scalar_validrx  Š  s´   € õ 
Ô	 Ñ	"Ô	"ð 	
ð 	
ÝÔ˜gÑ&Ô&Ð&ÝØØÝœØØØ%ð
ñ 
ô 
ˆð	
ð 	
ð 	
ñ 	
ô 	
ð 	
ð 	
ð 	
ð 	
ð 	
ð 	
øøøð 	
ð 	
ð 	
ð 	
ð �QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;s   ”4AÁAÁAzJx, target_name, target_type, min_val, max_val, include_boundaries, err_msgÚ
test_name1r]   r�   Úneitherz1test_name1 must be an instance of float, not int.z6test_name1 must be an instance of float, not NoneType.z4test_name1 must be an instance of int, not NoneType.z9test_name1 must be an instance of {float, bool}, not int.Ú
test_name2ztest_name2 == 1, must be > 2.r^   Ú
test_name3ztest_name3 == 5, must be < 4.Ú
test_name4Úrightztest_name4 == 2, must be > 2.Ú
test_name5Úleftztest_name5 == 4, must be < 4.Ú
test_name6zbad parameter valuezyUnknown value for `include_boundaries`: 'bad parameter value'. Possible values are: ('left', 'right', 'both', 'neither').Ú
test_name7zT`include_boundaries`='left' without specifying explicitly `min_val` is inconsistent.Ú
test_name8zU`include_boundaries`='right' without specifying explicitly `max_val` is inconsistent.c           	      ó(  — t          j        t          ¦  «        5 }t          | |||||¬¦  «         ddd¦  «         n# 1 swxY w Y   t	          |j        ¦  «        t	          |¦  «        k    sJ ‚t          |j        t          |¦  «        ¦  «        sJ ‚dS )zLTest that check_scalar returns the right error if a wrong input is
    givenrp  N)rP   rQ   Ú	ExceptionrB   r  r¶   r‘   rß   )r˜   Útarget_namerq  rr  rs  rt  rÖ   Úraised_errors           rT   Útest_check_scalar_invalidrˆ  ›  sÙ   € õl 
Œ•yÑ	!Ô	!ð 
 \ÝØØØ#ØØØ1ð	
ñ 	
ô 	
ð 	
ð
ð 
ð 
ñ 
ô 
ð 
ð 
ð 
ð 
ð 
ð 
øøøð 
ð 
ð 
ð 
õ ˆ|Ô!Ñ"Ô"¥c¨'¡l¤lÒ2Ð2Ð2Ð2Ý�lÔ(­$¨w©-¬-Ñ8Ô8Ð8Ð8Ð8Ð8Ð8s   š<¼A ÁA rå  )r^   y        -Cëâ6
?zJThere are imaginary parts in eigenvalues \(1e\-05 of the maximum real part)r^   g-Cëâ6
¿g�íµ ÷Æ°¾z?There are negative eigenvalues \(1e\-06 of the maximum positiveg»½×Ùß|Û½z?There are negative eigenvalues \(1e\-10 of the maximum positive)r^   gê-�™—‘=z=the largest eigenvalue is more than 1e\+12 times the smallest)ÚnominalÚnominal_np_arrayÚinsignificant_imagzinsignificant negzinsignificant neg float32zinsignificant neg float64zinsignificant posz(lambdas, expected_lambdas, w_type, w_msgÚenable_warningsc                 ó^  — |sd }|€Wt          j        ¦   «         5  t          j        dt          ¦  «         t	          | |¬¦  «        }d d d ¦  «         n# 1 swxY w Y   n?t          j        ||¬¦  «        5  t	          | |¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          ||¦  «         d S )NrX  )rŒ  r¾   )rY  rZ  r[  r   r1   rP   r¨  r   )ÚlambdasÚexpected_lambdasÚw_typeÚw_msgrŒ  Úlambdas_fixeds         rT   Ú test_check_psd_eigenvalues_validr“  =  sF  € ð ð Øˆà€~ÝÔ$Ñ&Ô&ð 	ð 	ÝÔ! 'Õ+BÑCÔCÐCÝ2Ø¨ðñ ô ˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øõ Œ\˜&¨Ð.Ñ.Ô.ð 	ð 	Ý2Ø¨ðñ ô ˆMð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	õ
 Ð$ mÑ4Ô4Ð4Ð4Ð4s#   š,AÁAÁAÁ4BÂBÂB)r^   y              @z/There are significant imaginary parts in eigenv)éûÿÿÿrª   z,All eigenvalues are negative \(maximum is -1)r^   rª   z*There are significant negative eigenvaluesga2U0*©3?g�íµ ÷ÆÀ¾gñhãˆµøä>g»½×Ùß|ë½)Úsignificant_imagzall negativezsignificant negzsignificant neg float32zsignificant neg float64zlambdas, err_type, err_msgc                 ó‚   — t          j        ||¬¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¾   )rP   rQ   r1   )rŽ  Úerr_typerÖ   s      rT   Ú"test_check_psd_eigenvalues_invalidr˜  x  s‹   € õ 
Œ�x wÐ	/Ñ	/Ô	/ð (ð (Ý˜wÑ'Ô'Ð'ð(ð (ð (ñ (ô (ð (ð (ð (ð (ð (ð (ð (øøøð (ð (ð (ð (ð (ð (s   —4´8»8c                 ó*  — t          d |                      d¦  «        ¬¦  «        }t          t          |t          d¬¦  «        t	          j        d¦  «        ¦  «         t          d|                      d¦  «        ¬¦  «        }t          t          |t          d¬¦  «        dt	          j        d¦  «        z  ¦  «         t          j        t          d¬	¦  «        5  t          |                      d
¦  «        |                      d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          j	        d|                      d¦  «        j
        › d�¦  «        }t          j        t          |¬	¦  «        5  t          |                      d¦  «        |                      d¦  «        ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d¦  «        }|                      d| j        ¬¦  «        }t          ||¦  «        }|j        | j        k    sJ ‚|                      d¦  «        }|                      t          |¦  «        ¦  «        }d|d<   d}t          j        t          |¬	¦  «        5  t          ||d¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      d¦  «        }|                      t          |¦  «        ¦  «        }d}t          j        t          |¬	¦  «        5  t          ||d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )N©r^   r]   r“   Úcpu)rñ  rí  r^   r#  r]   z)Sample weights must be 1D array or scalarr¾   )r]   r�   rD  zsample_weight.shape == r�   z, expected (2,)!rY   éöÿÿÿrª   z1Negative values in data passed to `sample_weight`T)rô   z9Sample weights must contain at least one non-zero number.F)Úallow_all_zero_weights)r3   rb   r   r   rJ   rP   rQ   rR   r„  r…  rœ   re   rZ   r:   Úzeros)rñ  rº   râ   ry   rÖ   s        rT   Ú_check_sample_weight_commonrŸ  …  sÓ  € õ )¨°·²¸±´ÐAÑAÔA€MÝ•G˜M­b¸Ð?Ñ?Ô?ÅÄÈÁÄÑLÔLÐLõ )¨°·²¸±´Ð@Ñ@Ô@€MÝ•G˜M­b¸Ð?Ñ?Ô?ÀÅRÄWÈQÁZÄZÁÑPÔPÐPõ 
Œ•zÐ)UÐ	VÑ	VÔ	Vð Að AÝ˜RŸWšW V™_œ_°·²¸±´Ð@Ñ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Aõ Œ)ÐP¨b¯gªg°a©j¬jÔ.>ÐPÐPÐPÑ
QÔ
Q€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð <ð <Ý˜RŸWšW Q™ZœZ¨2¯7ª7°6©?¬?Ð;Ñ;Ô;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð 	�Š�‰Œ€AØ—G’G˜A R¤Z�GÑ0Ô0€MÝ(¨¸Ñ:Ô:€MØÔ "¤*Ò,Ð,Ð,Ð,ð 	�Š�‰Œ€AØ—G’G�L¨™OœOÑ,Ô,€MØ€M�"ÑØA€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð Ið IÝ˜]¨AÀ4ÐHÑHÔHÐHðIð Ið Iñ Iô Ið Ið Ið Ið Ið Ið Iøøøð Ið Ið Ið Ið 	�Š�‰Œ€AØ—H’H�\¨!™_œ_Ñ-Ô-€MØI€GÝ	Œ•z¨Ð	1Ñ	1Ô	1ð Mð MÝ˜]¨AÀeÐLÑLÔLÐLðMð Mð Mñ Mô Mð Mð Mð Mð Mð Mð Mð Møøøð Mð Mð Mð Mð Mð MsH   Ã8DÄDÄ DÅ/8F3Æ3F7Æ:F7É*J	Ê	JÊJË(LÌLÌLc                  ó|  — t          j        d¦  «        d d d…         } | j        d         rJ ‚t          | t          j        d¦  «        ¬¦  «        } | j        d         sJ ‚t	          t           ¦  «         t          j        dt
          ¬¦  «        }t          d ||j        ¬¦  «        } | j        t           j        k    sJ ‚d S )NrX   r]   r§   ©r^   r‡   r“   rš  rY   )rJ   rb   r¬   r3   rŸ  rÕ   rZ   rh   )rº   ry   s     rT   Útest_check_sample_weightr¢  ¯  s²   € å”G˜B‘K”K   ! Ô$€MØÔ" >Ô2Ð2Ð2Ð2Ý(¨½"¼'À&¹/¼/ÐJÑJÔJ€MØÔ˜~Ô.Ð.Ð.Ð.å¥Ñ#Ô#Ð#õ 	Œ��cÐ"Ñ"Ô"€AÝ(¨¨q¸¼Ð@Ñ@Ô@€MØÔ¥"¤*Ò,Ð,Ð,Ð,Ð,Ð,r€   c                 óš  — t          | ||¦  «        \  }}t          d¬¦  «        5  |                     d¦  «        d d d…         }t          |¦  «        r|j        d         rJ ‚t          ||                     d¦  «        ¬¦  «        }t          |¦  «        r|j        d         sJ ‚t          |¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NTrê  rX   r]   r§   r¡  r“   )r   r   rb   r   r¬   r3   rŸ  )rî  rï  rð  rñ  rí  rº   s         rT   Ú"test_check_sample_weight_array_apir¤  ¾  s  € õ
 & o°{ÀJÑOÔO�J€BˆÝ	¨4Ð	0Ñ	0Ô	0ð 	(ð 	(àŸš ™œ C C a CÔ(ˆÝ˜rÑ"Ô"ð 	;Ø$Ô*¨>Ô:Ð:Ð:Ð:Ý,¨]¸b¿gºgÀf¹o¼oÐNÑNÔNˆÝ˜rÑ"Ô"ð 	7Ø Ô& ~Ô6Ð6Ð6Ð6å# BÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s   ¥BC Ã CÃCÚy_truerª   )r‡   r‡   r‡   )rª   rª   rª   c                 ó2   — t          d | ¦  «        dk    sJ ‚d S )Nr‡   )r0   ©r¥  s    rT   Ú test_check_pos_label_consistencyr¨  Ð  s#   € å'¨¨fÑ5Ô5¸Ò:Ð:Ð:Ð:Ð:Ð:r€   c                 óÜ   — t          | ||¦  «        \  }}t          d¬¦  «        5  |                     ||¬¦  «        }t          d |¦  «        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NTrê  rì  r‡   )r   r   rž   r0   ©rî  rï  rð  r¥  rñ  rí  rO  s          rT   Ú*test_check_pos_label_consistency_array_apir«  Õ  sÁ   € õ & o°{ÀJÑOÔO�J€BˆÝ	¨4Ð	0Ñ	0Ô	0ð <ð <Ø�jŠj˜¨ˆjÑ/Ô/ˆÝ+¨D°#Ñ6Ô6¸!Ò;Ð;Ð;Ð;Ð;ð<ð <ð <ñ <ô <ð <ð <ð <ð <ð <ð <ð <øøøð <ð <ð <ð <ð <ð <s   ¥.A!Á!A%Á(A%)r]   rW   r�   rœ  c                 ó¸   — t          j        t          d¬¦  «        5  t          d | ¦  «         d d d ¦  «         n# 1 swxY w Y   t          d| ¦  «        dk    sJ ‚d S )Núy_true takes value inr¾   rÎ   )rP   rQ   rR   r0   r§  s    rT   Ú(test_check_pos_label_consistency_invalidr®  ã  s    € å	Œ•zÐ)@Ð	AÑ	AÔ	Að 3ð 3Ý$ T¨6Ñ2Ô2Ð2ð3ð 3ð 3ñ 3ô 3ð 3ð 3ð 3ð 3ð 3ð 3øøøð 3ð 3ð 3ð 3õ (¨¨VÑ4Ô4¸Ò;Ð;Ð;Ð;Ð;Ð;s   œ9¹=Á =c                 ób  — t          | ||¦  «        \  }}t          d¬¦  «        5  |                     ||¬¦  «        }t          j        t
          d¬¦  «        5  t          d |¦  «         d d d ¦  «         n# 1 swxY w Y   t          d|¦  «        dk    sJ ‚	 d d d ¦  «         d S # 1 swxY w Y   d S )NTrê  rì  r­  r¾   rÎ   )r   r   rž   rP   rQ   rR   r0   rª  s          rT   Ú2test_check_pos_label_consistency_invalid_array_apir°  ë  s>  € õ & o°{ÀJÑOÔO�J€BˆÝ	¨4Ð	0Ñ	0Ô	0ð =ð =Ø�jŠj˜¨ˆjÑ/Ô/ˆÝŒ]�:Ð-DÐEÑEÔEð 	4ð 	4Ý(¨¨sÑ3Ô3Ð3ð	4ð 	4ð 	4ñ 	4ô 	4ð 	4ð 	4ð 	4ð 	4ð 	4ð 	4øøøð 	4ð 	4ð 	4ð 	4õ ,¨C°Ñ5Ô5¸Ò<Ð<Ð<Ð<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s5   ¥3B$ÁA5Á)B$Á5A9	Á9B$Á<A9	Á=B$Â$B(Â+B(rt   c                 ó¦   — t          j        d¦  «                             dd¦  «        } | |¦  «         | |¦  «        }}t          ||¦  «        sJ ‚d S )NrF  rW   ©rJ   rd   r�   r,   ©rt   Úbaser˜   r¼   s       rT   Ú!test_allclose_dense_sparse_equalsrµ  ÿ  sT   € åŒ9�Q‰<Œ<×Ò  1Ñ%Ô%€DØˆ7�4‰=Œ=˜'˜' $™-œ-€q€AÝ! ! QÑ'Ô'Ð'Ð'Ð'Ð'Ð'r€   c                 ó¬   — t          j        d¦  «                             dd¦  «        } | |¦  «         | |dz   ¦  «        }}t          ||¦  «        rJ ‚d S )NrF  rW   r‡   r²  r³  s       rT   Ú%test_allclose_dense_sparse_not_equalsr·    sZ   € åŒ9�Q‰<Œ<×Ò  1Ñ%Ô%€DØˆ7�4‰=Œ=˜'˜' $¨¡(Ñ+Ô+€q€AÝ% a¨Ñ+Ô+Ð+Ð+Ð+Ð+Ð+r€   c                 óþ   — t          j        d¦  «                             dd¦  «        } | |dz   ¦  «        }d}t          j        t
          |¬¦  «        5  t          ||¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrF  rW   r‡   zFCan only compare two sparse matrices, not a sparse matrix and an arrayr¾   )rJ   rd   r�   rP   rQ   rR   r,   )rt   r˜   r¼   râ   s       rT   Ú test_allclose_dense_sparse_raiser¹    s¾   € å
Œ	�!‰Œ×Ò˜Q Ñ"Ô"€AØˆ��A‘‰Œ€Aà
R€CÝ	Œ•z¨Ð	-Ñ	-Ô	-ð %ð %Ý˜q !Ñ$Ô$Ð$ð%ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s   ÁA2Á2A6Á9A6c                  ó‚  — t           dddœd„¦   «         } t          j        t          d¬¦  «        5   | ddd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5   | dddd	¦  «         d d d ¦  «         n# 1 swxY w Y   t           ddddd
œd„¦   «         }t          j        t          d¬¦  «        5   |dd¦  «         d d d ¦  «         n# 1 swxY w Y   t           dddœd„¦   «         }t          j        t          d¬¦  «        5   |dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr‡   ©r&  Údc                ó   — d S r˜  ré   ©rÎ   rÏ   r&  r¼  s       rT   Úf1z=test_deprecate_positional_args_warns_for_function.<locals>.f1  ó   € àˆr€   úPass c=3 as keyword argsr¾   r]   rW   úPass c=3, d=4 as keyword argsr�   )rÏ   r&  r¼  c                ó   — d S r˜  ré   r¾  s       rT   Úf2z=test_deprecate_positional_args_warns_for_function.<locals>.f2"  rÀ  r€   zPass b=2 as keyword argsc                ó   — d S r˜  ré   r¾  s       rT   Úf3z=test_deprecate_positional_args_warns_for_function.<locals>.f3*  rÀ  r€   )r‡   ©r5   rP   r¨  ÚFutureWarning)r¿  rÄ  rÆ  s      rT   Ú1test_deprecate_positional_args_warns_for_functionrÉ    sŒ  € ÝØ˜1ð ð ð ð ñ  Ôðõ 
Œ•mÐ+FÐ	GÑ	GÔ	Gð ð Ø
ˆˆ1ˆa�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•mÐ+KÐ	LÑ	LÔ	Lð ð Ø
ˆˆ1ˆa��A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ  ð�Q˜!˜qð ð ð ð ñ  Ôðõ 
Œ•mÐ+FÐ	GÑ	GÔ	Gð ð Ø
ˆˆ1ˆa‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ  Ø˜1ð ð ð ð ñ  Ôðõ 
Œ•mÐ+FÐ	GÑ	GÔ	Gð ð Ø
ˆˆ1ˆa‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sG   °A
Á
AÁAÁ0BÂBÂBÃC Ã C$Ã'C$ÄD4Ä4D8Ä;D8c                  ó¸   — t          d¬¦  «        d„ ¦   «         } t          j        t          d¬¦  «        5   | dd¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz1.1)Úversionc                ó   — d S r˜  ré   r!  s     rT   r¿  zEtest_deprecate_positional_args_warns_for_function_version.<locals>.f13  rÀ  r€   z,From version 1.1 passing these as positionalr¾   r‡   r]   rÇ  )r¿  s    rT   Ú9test_deprecate_positional_args_warns_for_function_versionrÍ  2  s»   € Ý¨Ð.Ñ.Ô.ðð ñ /Ô.ðõ 
ŒÝÐLð
ñ 
ô 
ð ð ð 	ˆˆ1ˆa‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   µAÁAÁAc                  ó@  —  G d„ d¦  «        } t          j        t          d¬¦  «        5   | ddd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5   | dddd	¦  «         d d d ¦  «         n# 1 swxY w Y    G d
„ d¦  «        }t          j        t          d¬¦  «        5   |ddd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          d¬¦  «        5   |dddd	¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc                   ó,   — e Zd Zedddœd„¦   «         ZdS )ú:test_deprecate_positional_args_warns_for_class.<locals>.A1r‡   r»  c                ó   — d S r˜  ré   ©r™  rÎ   rÏ   r&  r¼  s        rT   rM  zCtest_deprecate_positional_args_warns_for_class.<locals>.A1.__init__?  rš  r€   N©rÇ   r›  rœ  r5   rM  ré   r€   rT   ÚA1rÐ  >  s=   € € € € € Ø	#Ø&'¨1ð 	ð 	ð 	ð 	ñ 
$Ô	#ð	ð 	ð 	r€   rÔ  rÁ  r¾   r‡   r]   rW   rÂ  r�   c                   ó.   — e Zd Zeddddœd„¦   «         ZdS )ú:test_deprecate_positional_args_warns_for_class.<locals>.A2r‡   r»  c                ó   — d S r˜  ré   rÒ  s        rT   rM  zCtest_deprecate_positional_args_warns_for_class.<locals>.A2.__init__J  rš  r€   N)r‡   r‡   rÓ  ré   r€   rT   ÚA2rÖ  I  sA   € € € € € Ø	#ð	¨!¨qð 	ð 	ð 	ð 	ñ 
$Ô	#ð	ð 	ð 	r€   rØ  )rP   r¨  rÈ  )rÔ  rØ  s     rT   Ú.test_deprecate_positional_args_warns_for_classrÙ  =  s]  € ðð ð ð ð ñ ô ð õ
 
Œ•mÐ+FÐ	GÑ	GÔ	Gð ð Ø
ˆˆ1ˆa�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•mÐ+KÐ	LÑ	LÔ	Lð ð Ø
ˆˆ1ˆa��A‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ðð ð ð ð ñ ô ð õ
 
Œ•mÐ+FÐ	GÑ	GÔ	Gð ð Ø
ˆˆ1ˆa�‰Œˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ 
Œ•mÐ+KÐ	LÑ	LÔ	Lð ð Ø
ˆˆ1ˆa��A‰Œˆðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sG   ©AÁAÁ
AÁ)BÂBÂBÂ7CÃCÃCÃ7DÄDÄDrw  rW   c           
      ó.  — t           j                             dd¦  «        }g d¢t          j        g d¢¦  «        t	          j        g d¢g¦  «        j        t	          j        g d¢g¦  «        t	          j        g d¢g¦  «        j        t	          j        g d¢g¦  «        ddd dœ	}t          ||| ¬¦  «        }| �| n&t          t          |j        d         ¦  «        ¦  «        }d	D ]}||         ||         u sJ ‚Œ|d
         t          |d
         |¦  «        k    sJ ‚t          |d         t          |d         |¦  «        ¦  «         t          |d         t          |d         |¦  «        ¦  «         t          |d         t          |d         |¦  «        ¦  «         d S )Nr�   r]   )r‡   r]   rW   r�   r‡   Úxxx)	rÞ  rÑ   úsparse-col2úsparse-row2ú
sparse-colú
sparse-rowú
scalar-intú
scalar-strÚNone)rl  rw  r   )rß  rÝ  rà  rá  râ  rÞ  rÑ   rÞ  rÜ  )rJ   rK   ÚrandnrÑ   rr   rs   r«   ru   r/   rÞ  rb  rœ   r   r!   r    )rw  ry   Ú_paramsr  Úindices_Úkeys         rT   Útest_check_method_paramsrç  U  s£  € å
Œ	�Š˜˜1ÑÔ€Aà��Ý”˜,˜,˜,Ñ'Ô'Ý”} l l l ^Ñ4Ô4Ô6Ý”} l l l ^Ñ4Ô4Ý”l L L L >Ñ2Ô2Ô4Ý”l L L L >Ñ2Ô2ØØØð
ð 
€Gõ " !¨G¸WÐEÑEÔE€FØ!Ð-ˆwˆwµ4½¸a¼gÀa¼jÑ8IÔ8IÑ3JÔ3J€HàPð +ð +ˆØ�cŒ{˜g cœlÐ*Ð*Ð*Ð*Ð*à�&Œ>�^¨G°F¬O¸XÑFÔFÒFÐFÐFÐFÝ�v˜g”­°w¸wÔ7GÈÑ(RÔ(RÑSÔSÐSÝ Øˆ|Ô�n¨W°\Ô-BÀHÑMÔMñô ð õ !Øˆ}Ô�~¨g°mÔ.DÀhÑOÔOñô ð ð ð r€   Ú	sp_format)Tr‚   rj  rî   rk  c                 ó   — t          j        d¦  «        }t          dd¦  «        }|j        j                             |¦  «        }t          || ¬¦  «        }| du rd} t          j        |¦  «        sJ ‚|j	        | k    sJ ‚t          ||¦  «         d S )NrÙ   rX   rW   re  Trî   )rP   rÝ   r   r(  re  Úfrom_spmatrixr   rr   rª  r„   r    )rè  rà   Úsp_matÚsdfr  s        rT   Ú"test_check_sparse_pandas_sp_formatrí  s  sœ   € õ 
Ô	˜XÑ	&Ô	&€BÝ" 2 qÑ)Ô)€Fà
Œ,Ô
×
+Ò
+¨FÑ
3Ô
3€CÝ˜¨IÐ6Ñ6Ô6€Fà�DÐÐàˆ	åŒ;�vÑÔÐÐÐØŒ=˜IÒ%Ð%Ð%Ð%Ý  ¨Ñ0Ô0Ð0Ð0Ð0r€   c                  óÖ  — t          j        d¦  «        } |                      dt          j        ddd¦  «        i¦  «        }t          dd¦  «        D ]S}t          j        d¦  «        }t          j        d¦  «        |dd…<   | j         	                    |d¬¦  «        }||d	|› �<   ŒTd
}t          j
        t          |¬¦  «        5  t          |d¬¦  «         ddd¦  «         n# 1 swxY w Y   |                     d¬¦  «        }t          |d¦  «        sJ ‚t          j        ¦   «         5  t          j        dt          ¦  «         t          |d¬¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zDTest that check_array warns on pandas dataframe with sparse columns.rÙ   Úcol_0r   r‡   rX   r�   N)Ú
fill_valueÚcol_z+pandas.DataFrame with sparse columns found.r¾   Tre  rô  re  rX  )rP   rÝ   r(  rJ   Úlinspacerb  rž  rd   ÚarraysÚSparseArrayr¨  r©  r   Údropr÷   rY  rZ  r[  )rà   r  rT  rO  râ   s        rT   Ú,test_check_array_pd_sparse_dataframe_warningrö  …  sâ  € å	Ô	˜XÑ	&Ô	&€Bð 
�Š�w¥¤¨A¨q°"Ñ 5Ô 5Ð6Ñ	7Ô	7€BÝ�1�a‰[Œ[ð ð ˆÝŒh�r‰lŒlˆÝ”)˜A‘,”,ˆˆBˆQˆB‰ØŒi×#Ò# C°AÐ#Ñ6Ô6ˆØˆˆ:�!ˆ:ˆ:‰ˆà
7€CÝ	Œ•k¨Ð	-Ñ	-Ô	-ð ,ð ,Ý�B dÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð 
�Š˜ˆÑ	!Ô	!€BÝ�2�xÑ Ô Ð Ð Ð å	Ô	 Ñ	"Ô	"ð ,ð ,ÝÔ˜g¥{Ñ3Ô3Ð3Ý�B dÐ+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s$   ÃCÃC#Ã&C#Ä%,EÅE"Å%E"zntype1, ntype2)	)Ú
longdoublerH  )rH  re   )re   Údouble)rk   rc   )rc   Úlong)Úbyterm   )Úushortrn   )rn   Úuint64)rl   rj   c                 óø   — t          j        d¦  «        }|                     |j                             g d¢| d¬¦  «        |j                             g d¢|d¬¦  «        dœ¦  «        }t          |ddg¬	¦  «         d
S )zWCheck that pandas.DataFrame having sparse extension arrays with mixed dtypes
    works.rÙ   ©r   r‡   r   r   ©rZ   rð  ©r‡   r   r‡   ©Úcol1Úcol2r‚   rj  re  N)rP   rÝ   r(  ró  rô  r   )Úntype1Úntype2rà   r  s       rT   Ú%test_check_pandas_sparse_mixed_dtypesr  Ÿ  sŒ   € õ" 
Ô	˜XÑ	&Ô	&€BØ	�Šà”I×)Ò)¨)¨)¨)¸6ÈaÐ)ÑPÔPØ”I×)Ò)¨)¨)¨)¸6ÈaÐ)ÑPÔPð	
ð 	
ñ
ô 
€Bõ � 5¨% .Ð1Ñ1Ô1Ð1Ð1Ð1r€   z ntype1, ntype2, expected_subtyperø  r÷  rÝ  re   rh   rj   rú  Úshortrk   Úintcrc   Úintprù  rÕ   rg   ÚlonglongÚint_Úubyterl   rm   rû  Úuintcrn   Úuintrü  ÚuintpÚ	ulonglongc                 ó0  — t          j        d¦  «        }|                     |j                             g d¢| d¬¦  «        |j                             g d¢|d¬¦  «        dœ¦  «        }t          |ddg¬	¦  «        }t          j        |j        |¦  «        sJ ‚d S )
NrÙ   rþ  r   rÿ  r   r  r‚   rj  re  )	rP   rÝ   r(  ró  rô  r   rJ   Ú
issubdtyperZ   )r  r  Úexpected_subtyperà   r  rO  s         rT   Útest_check_pandas_sparse_validr  º  s¦   € õ. 
Ô	˜XÑ	&Ô	&€BØ	�Šà”I×)Ò)¨)¨)¨)¸6ÈaÐ)ÑPÔPØ”I×)Ò)¨)¨)¨)¸6ÈaÐ)ÑPÔPð	
ð 	
ñ
ô 
€Bõ �b¨°¨Ð
7Ñ
7Ô
7€CÝŒ=˜œÐ$4Ñ5Ô5Ð5Ð5Ð5Ð5Ð5r€   )rÞ  rt  rÑ   rÙ   Ú
sparse_csrÚ
sparse_cscc                 ó`   — g d¢g d¢g}t          || ¦  «        }t          |¦  «        dk    sJ ‚dS )z$Check _num_features for array-likes.rÚ   rC  rW   N)r   r9   rc  s     rT   Útest_num_featuresr  Ü  sE   € ð 
ˆˆ�I�I�IÐ€AÝ˜1Ð.Ñ/Ô/€AÝ˜ÑÔ˜qÒ Ð Ð Ð Ð Ð r€   rÚ   r%  )FTF)r"  g333333@g      @rÎ   rÏ   r&  )rÕ   r  ri   rµ   Údict)rÞ  rt  rÑ   r_  c                 ó°  — t          | |¦  «        } |dk    rd}n|dk    rd}n|}d|› �}t          | d¦  «        r|t          j        d¦  «        z  }nAt	          | d         t
          ¦  «        r|d	z  }n t	          | d         t          ¦  «        r|d
z  }t          j        t          |¬¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )NrÑ   znumpy.ndarrayr_  zpandas.*Seriesú5Unable to find the number of features from X of type rœ   z with shape (3,)r   z" where the samples are of type strz# where the samples are of type dictr¾   )r   r÷   r„  r…  r‘   r  r  rP   rQ   rõ   r9   )ry   r^  Úexpected_type_nameÚmessages       rT   Ú&test_num_features_errors_1d_containersr  ç  sI  € õ 	˜1Ð.Ñ/Ô/€AØ˜7Ò"Ð"Ø,ÐÐØ	˜XÒ	%Ð	%Ø-ÐÐà-ÐàTÐ@RÐTÐTð õ ˆq�'ÑÔð 9Ø•2”9Ð/Ñ0Ô0Ñ0ˆˆÝ	�A�a”D�#Ñ	Ô	ð 9ØÐ7Ñ7ˆˆÝ	�A�a”D�$Ñ	Ô	ð 9ØÐ8Ñ8ˆÝ	Œ•y¨Ð	0Ñ	0Ô	0ð ð Ý�aÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   Â.CÃCÃC)r‡   rÏ   Fr$  )rÕ   r  ri   rµ   c                 óº   — dt          | ¦  «        j        › �}t          j        t          |¬¦  «        5  t          | ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr  r¾   )rß   rœ  rP   rQ   rõ   r9   )ry   râ   s     rT   Ú test_num_features_errors_scalarsr     sŸ   € à
XÅ$ÀqÁ'Ä'ÔBVÐ
XÐ
X€CÝ	Œ•y¨Ð	,Ñ	,Ô	,ð ð Ý�aÑÔÐðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s   ³AÁAÁAÚnamesr¼  )zlist-intrb  ÚdefaultÚ
MultiIndexc                 ó  — t          j        d¦  «        }|                     ddgddgddgg| ¬¦  «        }t          j        ¦   «         5  t          j        dt          ¦  «         t          |¦  «        } d	d	d	¦  «         n# 1 swxY w Y   | �J ‚d	S )
z‘Get feature names with pandas.DataFrames without warning.

    Column names with consistent dtypes will not warn, such as int or MultiIndex.
    rÙ   r‡   r]   r�   r^   r†   rô  rX  N)rP   rÝ   r(  rY  rZ  r[  rÈ  r7   )r!  rà   ry   s      rT   Ú2test_get_feature_names_pandas_with_ints_no_warningr%    sÏ   € õ 
Ô	˜XÑ	&Ô	&€BØ
�Š�q˜!�f˜q !˜f q¨! fÐ-°uˆÑ=Ô=€Aå	Ô	 Ñ	"Ô	"ð &ð &ÝÔ˜g¥}Ñ5Ô5Ð5Ý" 1Ñ%Ô%ˆð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð ˆ=ˆ=ˆ=ˆ=ˆ=s   Á*A>Á>BÂBzconstructor_name, minversion))rf  z13.0.0)rÙ   z1.5.0)rg  z0.18.2c                 ó‚   — g d¢g d¢g}g d¢}t          || ||¬¦  «        }t          |¦  «        }t          ||¦  «         dS )z'Test _get_features_names on dataframes.)r‡   r�   r]   )rW   rW   r†   )rï  Úcol_1Úcol_2)Úcolumn_namesr7  N)r   r7   r!   )r^  r7  r®   r8  r  Úfeature_namess         rT   Ú#test_get_feature_names_4_dataframesr+  "  sd   € ð ˆIˆI�y�y�yÐ!€DØ)Ð)Ð)€GÝ	ØÐ¨WÀð
ñ 
ô 
€Bõ ' rÑ*Ô*€Må�} gÑ.Ô.Ð.Ð.Ð.r€   c                  ó`   — t          j        g d¢g d¢g¦  «        } t          | ¦  «        }|�J ‚dS )z/Get feature names return None for numpy arrays.rÚ   rC  N)rJ   rÑ   r7   )ry   r!  s     rT   Útest_get_feature_names_numpyr-  2  s8   € å
Œ�)�)�)˜Y˜Y˜YÐ'Ñ(Ô(€AÝ˜qÑ!Ô!€EØˆ=ˆ=ˆ=ˆ=ˆ=r€   znames, dtypesz['int', 'str']Úpizzar!  z['str', 'tuple']zstr-intz	str-tuplec                 ó$  — t          j        d¦  «        }|                     ddgddgddgg| ¬¦  «        }t          j        d|› d	�¦  «        }t          j        t          |¬
¦  «        5  t          |¦  «        } ddd¦  «         dS # 1 swxY w Y   dS )zAGet feature names errors when the feature names have mixed dtypesrÙ   r‡   r]   r�   r^   r†   rô  z]Feature names are only supported if all input features have string names, but your input has a.   as feature name / column name types. If you want feature names to be stored and validated, you must convert them all to strings, by using X.columns = X.columns.astype(str) for example. Otherwise you can remove feature / column names from your input data, or convert them all to a non-string data type.r¾   N)rP   rÝ   r(  r„  r…  rQ   rõ   r7   )r!  r  rà   ry   râ   s        rT   Ú%test_get_feature_names_invalid_dtypesr0  9  sì   € õ 
Ô	˜XÑ	&Ô	&€BØ
�Š�q˜!�f˜q !˜f q¨! fÐ-°uˆÑ=Ô=€Aå
Œ)ð	?Ø$ð	?ð 	?ð 	?ñô €Cõ 
Œ•y¨Ð	,Ñ	,Ô	,ð &ð &Ý" 1Ñ%Ô%ˆð&ð &ð &ñ &ô &ð &ð &ð &ð &ð &ð &ð &øøøð &ð &ð &ð &ð &ð &s   Á(BÂB	ÂB	c                   ó$   — e Zd Zdd„Zd„ Zdd„ZdS )ÚPassthroughTransformerNc                 ó*   — t          | |d¬¦  «         | S )NT)Úreset)rE   rÓ  s      rT   rÉ   zPassthroughTransformer.fitS  s   € Ý�d˜A TÐ*Ñ*Ô*Ð*Øˆr€   c                 ó   — |S r˜  ré   )r™  ry   s     rT   Ú	transformz PassthroughTransformer.transformW  s   € Øˆr€   c                 ó"   — t          | |¦  «        S r˜  )r.   )r™  Úinput_featuress     rT   Úget_feature_names_outz,PassthroughTransformer.get_feature_names_outZ  s   € Ý& t¨^Ñ<Ô<Ð<r€   r˜  )rÇ   r›  rœ  rÉ   r6  r9  ré   r€   rT   r2  r2  R  sK   € € € € € ðð ð ð ðð ð ð=ð =ð =ð =ð =ð =r€   r2  )r^  r*  râ   rÑ   )Úx0Úx1Úx2z*input_features should have length equal torÙ   zinput_features is not equal torg  c                 ór  — t          j        g d¢g¦  «        }t          || g d¢¬¦  «        }t          ¦   «                              |¦  «        }|                     ¦   «         }t          ||¦  «         |dd…         }t          j        t          |¬¦  «        5  |                     |¦  «         ddd¦  «         n# 1 swxY w Y   |`
| dk    rJt          j        t          d¬¦  «        5  |                     ¦   «          ddd¦  «         dS # 1 swxY w Y   dS t          |                     ¦   «         |¦  «         dS )	z4Check behavior of check_feature_names_in for arrays.)r  r"  r#  r%  )r)  Nr]   r¾   rÑ   z Unable to generate feature names)rJ   rÑ   r   r2  rÉ   r9  r!   rP   rQ   rR   Ún_features_in_)r^  r*  râ   ry   rÚ  r!  Úincorrect_len_namess          rT   Útest_check_feature_names_inr@  ^  s¾  € õ 	Œ�/�/�/Ð"Ñ#Ô#€AÝ˜1Ð.¸_¸_¸_ÐMÑMÔM€AÝ
 Ñ
"Ô
"×
&Ò
& qÑ
)Ô
)€Cà×%Ò%Ñ'Ô'€EÝ�u˜mÑ,Ô,Ð,à'¨¨¨Ô+ÐÝ	Œ•z¨Ð	-Ñ	-Ô	-ð 7ð 7Ø×!Ò!Ð"5Ñ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7ð 	ÐØ˜7Ò"Ð"ÝŒ]�:Ð-OÐPÑPÔPð 	(ð 	(Ø×%Ò%Ñ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(õ 	˜3×4Ò4Ñ6Ô6¸ÑFÔFÐFÐFÐFs$   ÂB8Â8B<Â?B<Ã&DÄDÄDc                  óª   — d} t          j        t          | ¬¦  «        5  t          t	          ¦   «         d¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z@Check the error message when passing an unknown response method.zKRandomForestRegressor has none of the following attributes: unknown_method.r¾   Úunknown_methodN)rP   rQ   rË  r2   r	   )rÖ   s    rT   Ú)test_check_response_method_unknown_methodrC  |  s´   € ð 	Vð õ 
Œ•~¨WÐ	5Ñ	5Ô	5ð Jð JÝÕ4Ñ6Ô6Ð8HÑIÔIÐIðJð Jð Jñ Jô Jð Jð Jð Jð Jð Jð Jð Jøøøð Jð Jð Jð Jð Jð Js   žAÁAÁAÚresponse_method)Údecision_functionÚpredict_probaÚpredictc                 ó²   — d| › d�}t          j        t          |¬¦  «        5  t          t	          ¦   «         | ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )zUCheck the error message when a response method is not supported by the
    estimator.z7EstimatorWithFit has none of the following attributes: ú.r¾   N)rP   rQ   rË  r2   r   )rD  rÖ   s     rT   Ú8test_check_response_method_not_supported_response_methodrJ  …  s¾   € ð 	UÀ/ÐTÐTÐTð õ 
Œ•~¨WÐ	5Ñ	5Ô	5ð Dð DÝÕ/Ñ1Ô1°?ÑCÔCÐCðDð Dð Dñ Dô Dð Dð Dð Dð Dð Dð Dð Døøøð Dð Dð Dð Dð Dð Ds   ¢AÁAÁAc                  óº  — dg} t          | ¦  «        }d}ddg}dd                     |¦  «        › d�}t          j        t          |¬¦  «        5   t          ||¦  «        |¦  «         d	d	d	¦  «         n# 1 swxY w Y   ddg} t          ||¦  «        |¦  «        }|dk    sJ ‚ddg} t          | ¦  «        }g d
¢} t          ||¦  «        |¦  «        }|dk    sJ ‚d	S )z0Check that we can pass a list of ordered method.rF  Úmocking_datarE  rG  zD_MockEstimatorOnOffPrediction has none of the following attributes: z, rI  r¾   N)rE  rG  rF  )r   ÚjoinrP   rQ   rË  r2   )Úmethod_implementedÚmy_estimatorry   rD  rÖ   Úmethod_name_predictings         rT   Ú#test_check_response_method_list_strrQ  ’  s|  € à)Ð*ÐÝ0Ð1CÑDÔD€Là€Að +¨IÐ6€Oð	)Ø�9Š9�_Ñ%Ô%ð	)ð 	)ð 	)ð õ 
Œ•~¨WÐ	5Ñ	5Ô	5ð Að AØ=Õ˜|¨_Ñ=Ô=¸aÑ@Ô@Ð@ðAð Að Añ Aô Að Að Að Að Að Að Aøøøð Að Að Að Að +¨OÐ<€OØRÕ3°LÀ/ÑRÔRÐSTÑUÔUÐØ! _Ò4Ð4Ð4Ð4ð *¨9Ð5ÐÝ0Ð1CÑDÔD€LØGÐGÐG€OØRÕ3°LÀ/ÑRÔRÐSTÑUÔUÐØ! YÒ.Ð.Ð.Ð.Ð.Ð.s   ÁA3Á3A7Á:A7c                  óê   — t          j        d¦  «        } t          |                      ddg¦  «        d¬¦  «        }t	          j        ddg¦  «        }|j        |j        k    sJ ‚t          ||¦  «         dS )zRegression test for gh-25145rÙ   TFrÛ   N)rP   rÝ   r   rÞ   rJ   rÑ   rZ   r!   )rà   rþ  Úexpecteds      rT   Ú#test_boolean_series_remains_booleanrT  ¯  sr   € å	Ô	˜XÑ	&Ô	&€BÝ
�b—i’i  u Ñ.Ô.¸%Ð
@Ñ
@Ô
@€CÝŒx˜˜u˜Ñ&Ô&€HàŒ9˜œÒ&Ð&Ð&Ð&Ý�s˜HÑ%Ô%Ð%Ð%Ð%r€   Úinput_values)r   r‡   r   r‡   r   r‡   c                 óú   — t          j        d¦  «        }|                     | d¬¦  «        }t          |dddd¬¦  «        }t	          j        |j        j        t          j        ¦  «        sJ ‚t          || ¦  «         dS )zpCheck pandas array with extensions dtypes returns a numeric ndarray.

    Non-regression test for gh-25637.
    rÙ   ÚInt32rY   NF)rZ   rÜ   rç   rŠ   )
rP   rÝ   rÑ   r   rJ   r  rZ   rU  Úfloatingr   )rU  rà   Úinput_seriesr  s       rT   Ú!test_pandas_array_returns_ndarrayrZ  ¹  sƒ   € õ 
Ô	˜XÑ	&Ô	&€BØ—8’8˜L°�8Ñ8Ô8€LÝØØØØØðñ ô €Fõ Œ=˜œÔ*­B¬KÑ8Ô8Ð8Ð8Ð8Ý�F˜LÑ)Ô)Ð)Ð)Ð)r€   c                  ó�  — t          j        d¦  «        } |                      | j        ddgd| j        dgg| j        ¬¦  «        }t          d¬¦  «        5  t          j        t          d¬	¦  «        5  t          |¦  «         d
d
d
¦  «         n# 1 swxY w Y   d
d
d
¦  «         n# 1 swxY w Y   |                      | j	        ddgd| j	        dgg| j        ¬¦  «        }t          d¬¦  «        5  t          j        t          d¬	¦  «        5  t          |¦  «         d
d
d
¦  «         n# 1 swxY w Y   d
d
d
¦  «         d
S # 1 swxY w Y   d
S )z9Checks that Array API arrays checks non-finite correctly.Úarray_api_strictr‡   r   rW   rY   Trê  rÓ   r¾   Nzinfinity or a value too large)
rP   rÝ   rž   rv   re   r   rQ   rR   r   rø  )rñ  ÚX_nanÚX_infs      rT   Ú)test_check_array_array_api_has_non_finiter_  Ì  s<  € õ 
Ô	Ð/Ñ	0Ô	0€Bà�JŠJ˜œ  A˜¨¨B¬F°A¨Ð7¸r¼zˆJÑJÔJ€EÝ	¨4Ð	0Ñ	0Ô	0ð ð ÝŒ]�:Ð-BÐCÑCÔCð 	ð 	Ý˜ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð ð �JŠJ˜œ  A˜¨¨B¬F°A¨Ð7¸r¼zˆJÑJÔJ€EÝ	¨4Ð	0Ñ	0Ô	0ð ð ÝŒ]�:Ð-LÐMÑMÔMð 	ð 	Ý˜ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð sl   ÁB"Á/BÁ?B"ÂB	ÂB"ÂB	ÂB"Â"B&Â)B&Ã+D;ÄD#ÄD;Ä#D'	Ä'D;Ä*D'	Ä+D;Ä;D?ÅD?zextension_dtype, regular_dtype))r  ri   )r=  rg   )r5  rh   )rý  ro   Úinclude_objectc                 ó¸  — t          j        d¦  «        }|                     |                     g d¢|¬¦  «        |                     g d¢d¬¦  «        dœ¦  «        }|r|                     g d¢d¬¦  «        |d	<   |                     |d
                              | ¦  «        ¬¦  «        }t          |d¬¦  «        }t          |d¬¦  «        }t          ||¦  «         dS )zKCheck pandas extension arrays give the same result as non-extension arrays.rÙ   )r‡   r   r‡   r   rY   )rF  rå   rE  r†   rg   )rÎ   r&  r¾  ro   rÏ   rÎ   )rÎ   N)rP   rÝ   r(  rÞ   Úassignrf   r   r!   )Úextension_dtypeÚregular_dtyper`  rà   Ú	X_regularÚX_extensionÚX_regular_checkedÚX_extension_checkeds           rT   Ú$test_check_array_multiple_extensionsri  Ü  sð   € õ 
Ô	˜XÑ	&Ô	&€BØ—’à—’˜<˜<˜<¨}�Ñ=Ô=Ø—’˜<˜<˜<¨w�Ñ7Ô7ð	
ð 	
ñô €Ið ð IØŸšÐ#7Ð#7Ð#7¸x˜ÑHÔHˆ	�#‰à×"Ò" Y¨s¤^×%:Ò%:¸?Ñ%KÔ%KÐ"ÑLÔL€Kå# I°TÐ:Ñ:Ô:ÐÝ% k¸Ð>Ñ>Ô>ÐÝÐ(Ð*=Ñ>Ô>Ð>Ð>Ð>r€   rë   Úoutput_format)r‚   rj  rî   c                 ó>  —  | ddgddggt           j        ¬¦  «        }t          |d¦  «        r*|j                             t           j        ¦  «        |_        n¼t          |d¦  «        r:t          |d¦  «        r*|j                             t           j        ¦  «        |_        nrt          |d¦  «        rbt          |d¦  «        rR|j                             t           j        ¦  «        |_        |j                             t           j        ¦  «        |_        t          ||¬	¦  «        }|d
k    r:|j        j
        t           j        k    sJ ‚|j        j
        t           j        k    sJ ‚dS |j        j
        t           j        k    sJ ‚|j        j
        t           j        k    sJ ‚dS )zGCheck the consistency of the indices dtype with sparse matrices/arrays.r   r‡   rY   Úoffsetsru  rv  rw  rx  re  rî   N)rJ   rh   r÷   rl  rf   rc   ru  rw  rx  r   rZ   rv  )rë   rj  ry   r·   s       rT   Ú1test_check_array_dia_to_int32_indexed_csr_csc_coorm  û  sq  € ð 	Ð˜1˜a˜& 1 a &Ð)µ´Ð<Ñ<Ô<€Aõ ˆq�)ÑÔð -Ø”I×$Ò$¥R¤XÑ.Ô.ˆŒ	ˆ	Ý	��EÑ	Ô	ð -�w q¨%Ñ0Ô0ð -Ø”—’�RœXÑ&Ô&ˆŒˆÝ	��IÑ	Ô	ð -¥7¨1¨hÑ#7Ô#7ð -Ø”I×$Ò$¥R¤XÑ.Ô.ˆŒ	Ø”8—?’?¥2¤8Ñ,Ô,ˆŒå˜A¨]Ð;Ñ;Ô;€IØ˜ÒÐØŒ}Ô"¥b¤hÒ.Ð.Ð.Ð.ØŒ}Ô"¥b¤hÒ.Ð.Ð.Ð.Ð.Ð.àÔ Ô&­"¬(Ò2Ð2Ð2Ð2ØÔÔ%­¬Ò1Ð1Ð1Ð1Ð1Ð1r€   Úsequencec                 óš   — t          | ¦  «        }t          |t          j        ¦  «        sJ ‚|j        j        dk    sJ ‚|j        dk    sJ ‚d S )NÚOr‡   )r;   r‘   rJ   rû   rZ   rU  rö   )rn  Úouts     rT   Útest_to_object_arrayrr  	  sO   € å
˜8Ñ
$Ô
$€CÝ�c�2œ:Ñ&Ô&Ð&Ð&Ð&ØŒ9Œ>˜SÒ Ð Ð Ð ØŒ8�qŠ=ˆ=ˆ=ˆ=ˆ=ˆ=r€   c                  ó  — dg d¢fdg d¢fdt          j        d¦  «        dz  fdg d¢fdg d	¢fdd
gdgdggfdg d¢g d¢gfdg d¢gfdd
d
gddgdd
ggfddd
gddgdd
ggfdg d¢gfdt          j        d¦  «                             d¦  «        fg} | D ]y\  }}|dv r0t          t	          |¦  «        t          j        |¦  «        ¦  «         Œ9t          j        t          ¦  «        5  t	          |¦  «         d d d ¦  «         n# 1 swxY w Y   Œzd S )NÚbinary)ÚspamÚeggru  )r   r‡   r   r‡   Ú
continuousrX   g      4@Ú
multiclassrÚ   )r   r‡   r]   r]   r   r‡   r]   rW   zmultilabel-indicatorrþ  )r   r   r‡   zmulticlass-multioutputr^   r�   zcontinuous-multioutputé   )rª   rW   )rt  rx  rw  )	rJ   rd   r�   r!   rC   rŸ   rP   rQ   rR   )ÚEXAMPLESÚy_typer¼   s      rT   Útest_column_or_1dr|  	  s§  € à	Ð*Ð*Ð*Ð+Ø	�<�<�<Ð Ø	•r”y ‘}”} tÑ+Ð,Ø	�y�y�yÐ!Ø	���Ð'Ø	˜˜˜a˜S 1 #�Ð'Ø	 ) ) )¨Y¨Y¨YÐ!7Ð8Ø	! I I I ;Ð/Ø	! Q¨ F¨Q°¨F°Q¸°FÐ#;Ð<Ø	! Q¨ F¨Q°¨F°Q¸°FÐ#;Ð<Ø	! I I I ;Ð/Ø	!¥2¤9¨R¡=¤=×#8Ò#8¸Ñ#AÔ#AÐBð€Hð ð  ð  ‰	ˆ�ØÐ;Ð;Ð;Ý�|¨A™œµ´¸±´Ñ<Ô<Ð<Ð<å”�zÑ*Ô*ð  ð  Ý˜Q‘”�ð ð  ð  ñ  ô  ð  ð  ð  ð  ð  ð  øøøð  ð  ð  ð  øð	 ð  s   Ã!C=Ã=D	ÄD	c                  ó:  — t           j                             d¬¦  «        } t          | dd¬¦  «        }t          j        || ¦  «        sJ ‚|j        j        sJ ‚d| j        _        t          | dd¬¦  «        }t          j        || ¦  «        rJ ‚|j        j        sJ ‚dS )zyCheck the behavior of check_array when a writeable array is requested
    without copy if possible, on numpy arrays.
    r›   ©ÚsizeFT©r\   Úforce_writeableN)rJ   rK   Úuniformr   r%  r¬   Ú	writeable)ry   rq  s     rT   Útest_check_array_writeable_npr„  6	  s¨   € õ 	Œ	×Ò˜xÐÑ(Ô(€Aå
�a˜e°TÐ
:Ñ
:Ô
:€CåÔ˜s AÑ&Ô&Ð&Ð&Ð&ØŒ9ÔÐÐÐà€A„GÔå
�a˜e°TÐ
:Ñ
:Ô
:€CåÔ" 3¨Ñ*Ô*Ð*Ð*Ð*ØŒ9ÔÐÐÐÐÐr€   c                  óf  — t           j                             d¬¦  «        } t          | d¬¦  «        }t	          |dd¬¦  «        }t          j        ||¦  «        sJ ‚|j        j        sJ ‚t          | d¬¦  «        }t	          |dd¬¦  «        }t          j        ||¦  «        rJ ‚|j        j        sJ ‚d	S )
a  Check the behavior of check_array when a writeable array is requested
    without copy if possible, on a memory-map.

    A common situation is when a meta-estimators run in parallel using multiprocessing
    with joblib, which creates read-only memory-maps of large arrays.
    r›   r~  zw+r"  FTr€  r!  N)rJ   rK   r‚  r"   r   r%  r¬   rƒ  )ry   Úmmaprq  s      rT   Útest_check_array_writeable_mmapr‡  I	  sÂ   € õ 	Œ	×Ò˜xÐÑ(Ô(€Aå$ Q°$Ð7Ñ7Ô7€DÝ
�d ¸Ð
=Ñ
=Ô
=€CåÔ˜s DÑ)Ô)Ð)Ð)Ð)ØŒ9ÔÐÐÐå$ Q°#Ð6Ñ6Ô6€DÝ
�d ¸Ð
=Ñ
=Ô
=€CåÔ" 3¨Ñ-Ô-Ð-Ð-Ð-ØŒ9ÔÐÐÐÐÐr€   c                  ó¾  — t          j        d¦  «        } t          j                             d¬¦  «        }|                      |d¬¦  «        }t          |dd¬¦  «        }t          j        ||¦  «        sJ ‚|j        j	        sJ ‚d|j        _	        |                      |d¬¦  «        }t          |dd¬¦  «        }t          j        ||¦  «        rJ ‚|j        j	        sJ ‚dS )	zxCheck the behavior of check_array when a writeable array is requested
    without copy if possible, on a dataframe.
    rÙ   r›   r~  Fr[   Tr€  N)
rP   rÝ   rJ   rK   r‚  r(  r   r%  r¬   rƒ  )rà   ry   r  rq  s       rT   Útest_check_array_writeable_dfr‰  _	  sâ   € õ 
Ô	˜XÑ	&Ô	&€Bå
Œ	×Ò˜xÐÑ(Ô(€AØ	�Š�a˜eˆÑ	$Ô	$€Bå
�b˜u°dÐ
;Ñ
;Ô
;€CåÔ˜s BÑ'Ô'Ð'Ð'Ð'ØŒ9ÔÐÐÐà€A„GÔØ	�Š�a˜eˆÑ	$Ô	$€Bå
�b˜u°dÐ
;Ñ
;Ô
;€CåÔ" 3¨Ñ+Ô+Ð+Ð+Ð+ØŒ9ÔÐÐÐÐÐr€   c                  óV  — t          j        g d¢g d¢g¦  «        } t          d¬¦  «        5  t          j        t	          | d¬¦  «        ¦  «        sJ ‚t          j        t          ¦  «        5  t	          | ¦  «         d d d ¦  «         n# 1 swxY w Y   d d d ¦  «         d S # 1 swxY w Y   d S )Nrþ  r   Trê  re  )rr   r­   r   rª  r   rP   rQ   rõ   )ÚX_sps    rT   Ú8test_check_array_on_sparse_inputs_with_array_api_enabledrŒ  v	  s)  € åŒ<˜˜˜ I I IÐ.Ñ/Ô/€DÝ	¨4Ð	0Ñ	0Ô	0ð ð ÝŒ{�; t¸4Ð@Ñ@Ô@ÑAÔAÐAÐAÐAåŒ]�9Ñ%Ô%ð 	ð 	Ý˜ÑÔÐð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s5   «?BÁ*BÁ:BÂB
	Â
BÂB
	ÂBÂB"Â%B"©ry   rÅ   Úexpected_error_messagezLFound array with dim 3, while dim <= 2 is required by RandomForestRegressor.z3Found array with dim 3, while dim <= 2 is required.c                 ó�   — t          j        t          |¬¦  «        5  t          | |¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr¾   rE  r  r�  s      rT   Ú test_check_array_allow_nd_errorsr�  €	  s‘   € õ" 
Œ•zÐ)?Ð	@Ñ	@Ô	@ð ,ð ,Ý�A Ð+Ñ+Ô+Ð+ð,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,øøøð ,ð ,ð ,ð ,ð ,ð ,s   œ;»?Á?Úcategorical_featuresr  s   hellos   worldzMcategorical_features must be an array-like of bool, int or str, got: bytes40.gÍÌÌÌÌÌô?zRcategorical_features must be an array-like of bool, int or str, got: bytes, float.zJcategorical_features set as integer indices must be in [0, n_features - 1])TTFFTzHcategorical_features set as a boolean mask must have shape (n_features,)c                 ó
  — t           j                             d¦  «        }d\  }}|                     dd||f¬¦  «        }t	          j        t          |¬¦  «        5  t          || ¦  «         ddd¦  «         dS # 1 swxY w Y   dS )z<Test that check_categorical_features raises expected errors.r   r›   rW   r~  r¾   N)rJ   rK   rN   rO   rP   rQ   rR   r-   )r‘  r  ÚrngÚ	n_samplesÚ
n_featuresry   s         rT   Ú&test_check_categorical_features_raisesr–  •	  sÊ   € õF Œ)×
Ò
 Ñ
"Ô
"€CØ"Ñ€IˆzØ�Š�A�q 	¨:Ð6ˆÑ7Ô7€Aå	Œ•z¨Ð	6Ñ	6Ô	6ð =ð =Ý# AÐ';Ñ<Ô<Ð<ð=ð =ð =ñ =ô =ð =ð =ð =ð =ð =ð =ð =øøøð =ð =ð =ð =ð =ð =s   ÁA8Á8A<Á?A<Úon_array©FTTF)Ú
from_dtypeF)rÑ   rÙ   rg  c                 óH  — t           j                             d¦  «        }d\  }}|                     dd||f¬¦  «        }|dk    r|sdS |dk    r|                     t
          ¦  «        }t          ||g d¢d	d
g¬¦  «        }t          || ¦  «        }t          |g d¢¦  «         dS )zHTest that check_categorical_features returns as expected on simple data.r   )ry  r�   rW   r~  rÑ   Nrg  r¾  rÏ   r&  )r)  Úcategorical_feature_namesr˜  )	rJ   rK   rN   rO   rf   r  r   r-   r   )r‘  r—  r^  r“  r”  r•  ry   r  s           rT   Útest_check_categorical_featuresrœ  À	  sÇ   € õ Œ)×
Ò
 Ñ
"Ô
"€CØ!Ñ€IˆzØ�Š�A�q 	¨:Ð6ˆÑ7Ô7€AØ˜7Ò"Ð"¨8Ð"ØˆØ	˜XÒ	%Ð	%Ø�HŠH•S‰MŒMˆÝØ	ØØ)Ð)Ð)Ø#&¨ *ð		ñ 	ô 	€Aõ )¨Ð,@ÑAÔA€FÝ�FÐ6Ð6Ð6Ñ7Ô7Ð7Ð7Ð7r€   c                  ó€   — t          j        d¦  «         ddlm}  t	           | g d¢g¦  «        ¦  «        }|dk    sJ ‚d S )Nrf  r   )Úchunked_array)r_   rN  g333333Ó?rW   )rP   rÝ   rf  rž  r:   )rž  r  s     rT   Ú!test_num_samples_pa_chunked_arrayrŸ  Þ	  sT   € å
Ô˜	Ñ"Ô"Ð"Ø%Ð%Ð%Ð%Ð%Ð%å˜-˜-¨¨¨Ð(9Ñ:Ô:Ñ;Ô;€FØ�QŠ;ˆ;ˆ;ˆ;ˆ;ˆ;r€   )÷Ú__doc__ru  r„  rY  Ú	itertoolsr   Úoperatorr   Útempfiler   ÚnumpyrJ   rP   Úscipy.sparsere  rr   rù  Úsklearn._configr   Úsklearn.baser   Úsklearn.datasetsr   Úsklearn.ensembler	   Úsklearn.exceptionsr
   r   Úsklearn.linear_modelr   Ú(sklearn.metrics.tests.test_score_objectsr   Úsklearn.neighborsr   Úsklearn.random_projectionr   Úsklearn.svmr   Úsklearn.utilsr   r   r   r   r   r   Úsklearn.utils._array_apir   r   r   Úsklearn.utils._mockingr   r   Úsklearn.utils._testingr   r   r   r   r    r!   r"   r#   Úsklearn.utils.estimator_checksr$   Úsklearn.utils.fixesr%   r&   r'   r(   r)   r*   Úsklearn.utils.validationr+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rU   r   ÚmarkÚparametrizerK   rŒ   r”   r£   r±   rø  rv   rž   r­   Ú
csr_matrixr¸   rÂ   rÌ   rÒ   rÑ   ro   r×   rã   Úfilterwarningsr  r  r.  re   rh   r;  rA  rL  rR  rV  rc  rg  ri  Úfixturerz  r}  r  rˆ  r“  rž  r±  r¼  rÉ  rÎ  rÛ  rÞ  rt  rã  rè  rò  rõ  rû  r   r	  r  r  r  r  r  r'  rß   rR   rË  r@  rs   Ú
coo_matrixÚ
lil_matrixÚ
bsr_matrixÚ
dok_matrixÚ
dia_matrixru   r’  r¥  r¦  r¤  Ú	dia_arrayrB  rF  r]  rd  rl  rx  rµ   rõ   rv  ÚIntegralri   rÕ   rˆ  Ú_psd_cases_validr*  Úkeysr“  Ú_psd_cases_invalidr˜  rŸ  r¢  r¤  r¨  r«  r®  r°  Ú	CS_SPARSErµ  r·  r¹  rÉ  rÍ  rÙ  rç  rí  rö  r  rX  ÚintegerÚunsignedintegerr  r  r  r   rb  r%  r+  r-  r0  r2  r@  rC  rJ  rQ  rT  rZ  r_  ri  rm  rr  r|  r„  r‡  r‰  rŒ  r�  r…  r–  rœ  rŸ  ré   r€   rT   ú<module>rÉ     sn  ðØ *Ð *à €€€Ø 	€	€	€	Ø €€€Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à Ð Ð Ð Ø €€€Ø Ð Ð Ð Ð Ð à €€€Ø *Ð *Ð *Ð *Ð *Ð *Ø &Ð &Ð &Ð &Ð &Ð &Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ .Ð .Ð .Ð .Ð .Ð .ð FÐ EÐ EÐ EÐ EÐ EØ 2Ð 2Ð 2Ð 2Ð 2Ð 2Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø Ð Ð Ð Ð Ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð
ð ð ð ð ð ð ð ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 7Ð 6Ð 6Ð 6Ð 6Ð 6ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð>0ð 0ð 0ð$(%ð (%ð (%ðV „×ÒØˆ"Œ)×
Ò
˜7Ñ
#Ô
#Ð%9Ð%9¸'È%Ð%PÑ%PÔ%PÐ	Qñô ð1ð 1ñô ð1ðFð Fð Fðð ð ð ,ð ,ð ,ð& „×ÒØØ„fˆe€_�r”v˜{Ð+¨b¬f°e¨_Ð=ñô ð „×Ò˜ B¤J°´¸b¼mÐ#LÑMÔMð/ð /ñ NÔMñ	ô ð
/ð „×ÒØ5à	Œ��TÐ4Ð5Ø	Œ��dÐ7Ð8Ø	Œ� $Ð(OÐPØ	Œ��kÐ#>Ð?Ø	Œ��TÐ/Ð0Ø	Œ��dÐ2Ð3Ø	Œ��dÐ2Ð3àŒFØØØ?ð		
ð 
Œ��QÐ,Ð-ðñô ð& „×Ò˜ B¤J°´¸b¼mÐ#LÑMÔMð
ð 
ñ NÔMñ'ô ð(
ð „×Ò˜Ð'BÐ'BÐ'BÑCÔCØ„×Ò˜ B¤J°´¸b¼mÐ#LÑMÔMð%1ð %1ñ NÔMñ DÔCð%1ðP
;ð 
;ð 
;ð „×ÒØð ˆBŒH�q˜"œ&�k�]Ñ#Ô#Ø!ð	
ð
 ˆBŒH�q˜"œ&�k�]Ñ#Ô#Ø!ð	
ð
 ˆBŒH�q˜"œ&�k�]Ñ#Ô#ØCð	
ð 
ˆŒ�A�r”v�;�- vÐ	.Ñ	.Ô	.Ð0UÐVðñô ð$ „×ÒÐ,¨t°U¨mÑ<Ô<ðGð Gñ =Ô<ñ%ô ð&Gð)ð )ð )ð „×ÒÐQÑRÔRðA
ð A
ñ SÔRðA
ðH „×ÒØà
ˆsˆ�c˜3�ZÐ ØˆŒ�3˜�*˜s C˜jÐ)°Ð5Ñ5Ô5ØˆŒ�3˜�*˜s C˜jÐ)°Ð5Ñ5Ô5Ø
�ˆ˜˜d�|Ð$ØˆŒ�4˜�,  t Ð-°TÐ:Ñ:Ô:ðñ	ô 	ð(ð (ñ	ô 	ð(ð-ð -ð -ðD „×ÒØÐJÐJÐJñô ð „×ÒØà
Œ*�b”jÐ	! 2¤:Ð.Ø	Œ�R”ZÐ Ø	�B”JÐðñô ð/ð /ñô ñô ð/ð:%ð %ð %ð*"Gð "Gð "GðJ5ð 5ð 5ð=ð =ð =ð()ð ()ð ()ðV9ð 9ð 9ð>/ð /ð /ð €„Ð3Ð3Ð3Ð4Ñ4Ô4ðð ñ 5Ô4ðð,Gð Gð Gð
Lð Lð Lð<%ð <%ð <%ð~'ð 'ð 'ðTð ð ð  0ð  0ð  0ðF'ð 'ð 'ð*ð *ð *ð!(ð !(ð !(ðH"Bð "Bð "BðJ „×ÒØ
ˆZˆZ˜‰]Œ]˜D %Ð(Ð.IÐ.IÐ.Ið ñ ô ð2ð 2ñô ð2ðAð Að Að( „×ÒØ.Ø-Ð-Ñ/Ô/ñô ðð ñ	ô ðð*"ð "ð "ðð ð ð	Eð 	Eð 	Eð „×ÒØˆrŒz˜2œ:Ð&¨¬
°D¸)ÐDñô ð „×Ò˜Ð':Ñ;Ô;ð8ð 8ñ <Ô;ñô ð8ð48ð 8ð 8ð&9ð 9ð 9ðð ð ð ð ñ ô ð ð
	ð 	ð 	ð 	ð 	ñ 	ô 	ð 	ðð ð ð6 „×Ò˜ $¨ Ñ/Ô/ð4ð 4ñ 0Ô/ð4ð „×ÒØUð ØˆD� Ð&9¸4Ð%@ÑAÔAØØØð	
ð ØˆD� Ð&9¸4Ð%@ÑAÔAØØØð	
ð à��^ RÐ*=¸tÐ)DÑEÔEðð ˆOØØð	
ð ØˆD� Ð&9¸4Ð%@ÑAÔAØÐ ØØð	
ð ØˆD� Ð&9¸4Ð%@ÑAÔAØØØð	
ð ØˆD� Ð&8¸$Ð%?Ñ@Ô@ØØØð	
ðM-ð\	ð 	ð 	ða ñ 8ô 8ðr+ð +ñs8ô 8ðr+ð< „×ÒØà
Œ
Ø
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
ŒØ
Œðñô ð(
"ð 
"ñ)ô ð(
"ð	;ð 	;ð 	;ð ð  ð  ðD „×ÒØÐMÐMÐMñô ð ð  ñô ð ð „×ÒØØGÐGÐGñô ð ð  ñ	ô ð ð „×Ò˜˜n˜n˜nÑ-Ô-ðð ñ .Ô-ðð  „×ÒØPð ØØØØØØˆIÐIÑJÔJð	
ð ØØŒLØØØØˆIÐNÑOÔOð	
ð ØØÔØØØØˆIÐLÑMÔMð	
ð ØØ�DˆMØØØØˆIÐQÑRÔRð	
ð ØØØØØØˆJÐ6Ñ7Ô7ð	
ð ØØØØØØˆJÐ6Ñ7Ô7ð	
ð ØØØØØØˆJÐ6Ñ7Ô7ð	
ð ØØØØØØˆJÐ6Ñ7Ô7ð	
ð ØØØØØ!ØˆJðMñô ð	
ð ØØØØØØˆJð#ñô ð	
ð ØØØØØØˆJð#ñô ð	
ðCmñpô pðb9ð 9ñcpô pðb9ð& ˜˜œ ! Q Ñ(Ô(¨$°Ð3Ø!˜œ 1 a &Ñ)Ô)¨8¨2¬8°Q¸°FÑ+;Ô+;¸TÀ2ÐFàØˆŒ�!�Q�ÑÔØØVð	ð % h b¤h°°1¨vÑ&6Ô&6Ð8OÐQSÐTàˆŒ�!�U� 2¤:Ð.Ñ.Ô.ØˆŒ�!�Q�˜rœzÐ*Ñ*Ô*ØØKð	"ð 	ˆŒ�!�V� B¤JÐ/Ñ/Ô/ØˆŒ�!�Q�˜rœzÐ*Ñ*Ô*ØØKð	"ð 	ØˆŒ�!�Q�ÑÔØØHð	ð-ð Ð ð> „×ÒØ.Ø€DÐ	×	 Ò	 Ñ	"Ô	"Ñ#Ô#ØˆÐ×"Ò"Ñ$Ô$Ñ%Ô%ð ñ ô ð
 „×ÒÐ*¨T°5¨MÑ:Ô:ð5ð 5ñ ;Ô:ñô ð5ð4 	ØØ9ðð 	ØØ7ðð 	ØØ4ðð 	ˆŒ�$˜� b¤jÐ1Ñ1Ô1ØØ4ð ð 	ˆŒ�$˜� r¤zÐ2Ñ2Ô2ØØ4ð ð+ð Ð ð: „×ÒØ Ø€DÐ	×	"Ò	"Ñ	$Ô	$Ñ%Ô%ØˆÐ×$Ò$Ñ&Ô&Ñ'Ô'ð ñ ô ð
(ð (ñô ð
(ð'Mð 'Mð 'MðT-ð -ð -ð „×ÒØ.Ø-Ð-Ñ/Ô/ñô ð(ð (ñ	ô ð(ð „×Ò˜ Q C¨!¨Q¨°"°a°¸)¸)¸)À\À\À\Ð#RÑSÔSð;ð ;ñ TÔSð;ð „×ÒØ.Ø-Ð-Ñ/Ô/ñô ð „×Ò˜ Q C¨!¨Q¨°"°a°¸)¸)¸)À\À\À\Ð#RÑSÔSð<ð <ñ TÔSñ	ô ð
<ð „×Ò˜ I I I°¨u°q¸"°gÐ#>Ñ?Ô?ð<ð <ñ @Ô?ð<ð „×ÒØ.Ø-Ð-Ñ/Ô/ñô ð „×Ò˜ I I I°¨u°q¸"°gÐ#>Ñ?Ô?ð	=ð 	=ñ @Ô?ñ	ô ð
	=ð Œ\˜2œ=¨"¬,¸¼ÐF€	ð „×Ò˜ R¤X J°Ñ$:Ñ;Ô;ð(ð (ñ <Ô;ð(ð „×Ò˜ R¤X J°Ñ$:Ñ;Ô;ð,ð ,ñ <Ô;ð,ð „×Ò˜ IÑ.Ô.ð%ð %ñ /Ô.ð%ðð ð ð6ð ð ðð ð ð0 „×Ò˜ T¨A¨q¨6 NÑ3Ô3ðð ñ 4Ô3ðð: „×Ò˜Ð&HÐ&HÐ&HÑIÔIð1ð 1ñ JÔIð1ð",ð ,ð ,ð4 „×ÒØð
ð 
ð 
ñô ð
2ð 
2ñô ð
2ð „×ÒØ&à	�< ¤Ð-Ø	�9˜bœkÐ*Ø	�9˜bœkÐ*Ø	�˜œÐ$Ø	�'˜2œ:Ð&Ø	�˜"œ*Ð%Ø	�˜œÐ$Ø	�˜œ
Ð#Ø	�*˜bœjÐ)Ø	�˜œÐ$Ø	�'˜2Ô-Ð.Ù	‘8˜RÔ/Ð0Ù	‘(˜BÔ.Ð/Ù	‘˜2Ô-Ð.Ù	‘+˜rÔ1Ð2ðñô ñ(6ð 6ñ)ô ð(6ð „×ÒØØDÑDÐDñô ñ!ð !ñ	ô ð!ð „×ÒØà‰	ˆ	Ø‰ˆØÑÐØ‰ˆÙ
ˆqˆ‘C˜�8™c 1˜XÐ&ðð 	0Ñ/Ð/ð ñ 
ô 
ð „×ÒÐ+Ð-QÑ-QÐ-QÑRÔRñð ñ SÔRñ
ô 
ðð* „×Ò˜Ð2Ñ2Ð2Ð8WÑ8WÐ8WÐÑXÔXñð ñ YÔXðð „×ÒÙØ	€Tˆ%ˆ%�‰(Œ(�^„^�U�U˜1‘X”X˜t¡s©C j±3¹°*Ð%=Ð>Ø6Ñ6Ð6ð ñ ô ñ
ð ñô ð
ð „×ÒÙ"ØFÑFÐFñô ñ	/ð 	/ñ	ô ð	/ñð ð ð „×ÒÙá
ˆqˆÑ#Ð$Ù
‘:Ð	Ñ 2Ð3ðñ 
‘KÐ ð ñ ô ñ&ð &ñô ð&ð"	=ð 	=ñ 	=ð 	=ñ 	=˜]ñ 	=ô 	=ð 	=ð „×ÒØ0Ñ0Ð0á	Ð$Ñ$Ð$Ñ&RÐSÙ	�?‘?�?Ñ$DÐEÙ	�?‘?�?Ñ$DÐEðñô ñGð Gñô ðGñ,Jð Jð Jð „×ÒÙÐHÑHÐHñô ñDð Dñô ðDñ/ð /ð /ñ:&ð &ð &ð „×Ò™¨1¨a°°A°q¸"¼&Ð*AÐCUÑCUÐCUÐ)VÑWÔWñ*ð *ñ XÔWð*ð$ )ñð ñ )Ô(ðð „×ÒÙ$ðñ ð ñô ð „×ÒÑ)¨D°%¨=Ñ9Ô9ñ?ð ?ñ :Ô9ñô ð?ð* „×ÒÙØ�^Ñ# nÑ4°~ÑEñô ð „×Ò™Ð*?Ñ*?Ð*?Ñ@Ô@ñ2ð 2ñ AÔ@ñ	ô ð
2ð, „×Ò™ x r¤x°¡{¤{°H°B´H¸Q±K´KÐ&@ÀAÀqÀ6ÈAÈqÈ6ÐBRÐ%SÑTÔTñð ñ UÔTðñ ð  ð  ñ0ð ð ñ&ð ð ñ,ð ð ð. )ñð ñ )Ô(ðð „×ÒØ0Ñ0Ð0ð ˆBŒH˜˜1�v  1˜vÐ&¨!¨Q¨°!°Q°Ð(8Ð9Ñ:Ô:Ø!Ð!Ñ#Ô#ñ%ð	
ð ˆBŒH˜˜1�v  1˜vÐ&¨!¨Q¨°!°Q°Ð(8Ð9Ñ:Ô:ØÙAð	
ðñô ñ ,ð ,ñ!ô ð ,ð
 „×ÒÙ™^Ð,ñ ‘xÐ ØˆBŒIñ ñô ð	
ð ˆBŒH‘h¡�_¨FÐ3Ñ3Ô3ØˆBŒIñ%ñô ð	
ð �ˆGØˆBŒIñ&ñô ð	
ð -Ñ,Ð,ØˆBŒIñ ñô ð	
ð-ñ ô  ñB=ð =ñC ô  ðB=ð „×ÒÙ™ZÐ(à	#Ñ	#Ð	# TÐ*Ø
ˆQˆ�ˆÙ
‰sˆ�UÐÙð	ñô ð „×ÒÐ+Ð-JÑ-JÐ-JÑKÔKñ8ð 8ñ LÔKñô ð8ñ(ð ð ð ð r€   