U
    _»{j’Ü  ã                   @   s  d Z ddl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ZddlZddlmZ ddlmZ ddlmZmZmZmZ dd	lmZmZ dd
lmZmZm Z m!Z! ddl"m#Z# dZ$dZ%G dd„ dƒZ&eedd�Zdd„ Z'e!ej( )ddddidddfddddœdddfdddidddfddddœdddfdddid d!dfdd"ddœd d!dfd#dd#id$d%d&fd'dd'id(d)dfd'd*d+id(d)dfd,dd,id!d-dfd,d*d.id!d-dfd/dd/id0d$dfg¡ej( )d1d2d3g¡ej( )d4dd5g¡d6d7„ ƒƒƒƒZ*e!ej( )ddddidddfddddœdddfdddidddfddddœdddfdddid d!dfdd"ddœd d!dfd#dd#id$d%d&fd'dd'id(d)dfd'd*d+id(d)dfd,dd,id!d-dfd,d*d.id!d-dfg¡ej( )d1d2d3g¡d8d9„ ƒƒƒZ+e!ej( )ddd'd/g¡d:d;„ ƒƒZ,e!ej( )d1d2d3g¡d<d=„ ƒƒZ-e!ej( )d1d2d3g¡d>d?„ ƒƒZ.e!ej( )d1d2d3g¡ej( )d@dAdAdBgg¡dCdD„ ƒƒƒZ/e!ej( )ddddd#d'g¡ej( )d1d2d3g¡dEdF„ ƒƒƒZ0e!ej( )dddd#d'g¡ej( )d1d2d3g¡dGdH„ ƒƒƒZ1e!dIdJ„ ƒZ2ej3dKdL�dMdN„ ƒZ4ej3dKdL�dOdP„ ƒZ5e!ej( )dQdRdSdTdUdVdWdXdYdZd[d\d]d^d_g¡ej( )d4dd5g¡d`da„ ƒƒƒZ6ej( 7db¡ej( )dcd1ddidefdfddidgfg¡dhdi„ ƒƒZ8ej( )djddkdlœdkdkdlœd5d3dlœg¡dmdn„ ƒZ9dodp„ Z:ej( 7dq¡ej( 7db¡ej( )dcd1d3idrfdfdidsfd3ddtœdsfg¡dudv„ ƒƒƒZ;e!ej( 7dq¡ej( )dwdxdyg¡dzd{„ ƒƒƒZ<e!d|d}„ ƒZ=ej( )d4dd5g¡d~d„ ƒZ>ej( )d4dd5g¡d€d�„ ƒZ?ej( )d4dd5g¡ej( )d1d2d3g¡d‚dƒ„ ƒƒZ@ej( )d4dd5g¡ej( )d„dd…idd†dd‡œg¡dˆd‰„ ƒƒZAej( )d4dd5g¡ej( )dŠd…d*d†ieBd‹fdddŒd�gdŽœeBd�fd/d/d5d�œeBd‘fddd’dd“œeBd”fddd’d5d“œeBd”fddd•dŽœeCd–fddd•d�gdŽœeCd–fg¡ej( )d1d2d3g¡d—d˜„ ƒƒƒZDej( )d™dšdd›d‡œeBdœfdšd�džœeBdŸfdšd�d›d‡œeBd fi eBd¡fg¡d¢d£„ ƒZEej( )d4dd5g¡d¤d¥„ ƒZFej( )d4dd5g¡d¦d§„ ƒZGej( )d4dd5g¡d¨d©„ ƒZHdªd«„ ZIej( )d4dd5g¡d¬d­„ ƒZJej( )d®dd5g¡d¯d°„ ƒZKd±d²„ ZLd³d´„ ZMej( )d4dd5g¡dµd¶„ ƒZNe!ej( )d·d¸d¹dºd»g¡d¼d½„ ƒƒZOd¾d¿„ ZPej( )d4dd5g¡ej( )d1dÀ¡dÁdÂ„ ƒƒZQdÃdÄ„ ZRdÅdÆ„ ZSdÇdÈ„ ZTdÉdÊ„ ZUdS )ËzTest the openml loader.é    N)Úpartial)ÚBytesIO©Ú	HTTPError)Úconfig_context)Úfetch_openml)Ú_OPENML_PREFIXÚ_get_local_pathÚ_open_openml_urlÚ_retry_with_clean_cache)ÚBunchÚcheck_pandas_support)ÚSkipTestÚassert_allcloseÚassert_array_equalÚfails_if_pypy)Ú_open_binaryz"sklearn.datasets.tests.data.openmlTc                   @   sF   e Zd Zdd„ Zddd„Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Z	dS )Ú_MockHTTPResponsec                 C   s   || _ || _d S ©N)ÚdataÚis_gzip)Úselfr   r   © r   úa/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sklearn/datasets/tests/test_openml.pyÚ__init__&   s    z_MockHTTPResponse.__init__éÿÿÿÿc                 C   s   | j  |¡S r   )r   Úread)r   Úamtr   r   r   r   *   s    z_MockHTTPResponse.readc                 C   s   | j  ¡  d S r   )r   Úclose©r   r   r   r   r   -   s    z_MockHTTPResponse.closec                 C   s   | j rddiS i S )NzContent-EncodingÚgzip©r   r   r   r   r   Úinfo0   s    z_MockHTTPResponse.infoc                 C   s
   t | jƒS r   )Úiterr   r   r   r   r   Ú__iter__5   s    z_MockHTTPResponse.__iter__c                 C   s   | S r   r   r   r   r   r   Ú	__enter__8   s    z_MockHTTPResponse.__enter__c                 C   s   dS )NFr   )r   Úexc_typeÚexc_valÚexc_tbr   r   r   Ú__exit__;   s    z_MockHTTPResponse.__exit__N)r   )
Ú__name__Ú
__module__Ú__qualname__r   r   r   r"   r$   r%   r)   r   r   r   r   r   %   s   
r   )Ú	data_homec                    sº   d‰
d‰d‰d‰d‰t j‰	td d|› � ‰‡fdd	„‰ ‡ ‡‡‡	fd
d„‰‡‡
fdd„‰‡‡fdd„‰‡‡fdd„‰‡ ‡‡	‡fdd„‰‡‡‡‡‡
‡‡‡fdd„}tr¶|  tjjd|¡ d S )Nz(https://api.openml.org/api/v1/json/data/z1https://api.openml.org/api/v1/json/data/features/zhttps://api.openml.org/data/v1/z-https://api.openml.org/api/v1/json/data/list/z.gzÚ.Úid_c                    s~   t  dd| tdƒd … ¡| ˆ  }| dd¡ dd¡ dd	¡ d
d¡ dd¡ dd¡ dd¡ dd¡ dd¡ dd¡ dd¡S )Nz\Wú-zhttps://api.openml.org/z-json-data-listz-jdlz-json-data-featuresz-jdfz-json-data-qualitiesz-jdqz
-json-dataz-jdz
-data_namez-dnz	-downloadz-dlz-limitz-lz-data_versionz-dvz-statusz-sz-deactivatedz-dactz-activez-act)ÚreÚsubÚlenÚreplace)ÚurlÚsuffixÚoutput)Úpath_suffixr   r   Ú
_file_nameT   sL    ÿþÿ ÿ þ ý ü û ú ù ø	 ÷
 öÿz4_monkey_patch_webbased_functions.<locals>._file_namec              
      sˆ   |   |¡st‚ˆ | |ƒ}tˆ|ƒ�\}|rNˆrNt| ¡ ƒ}t|dƒW  5 Q R £ S ˆ|dƒ}t| ¡ ƒ}t|dƒW  5 Q R £ S W 5 Q R X d S )NTÚrbF)Ú
startswithÚAssertionErrorr   r   r   r   )r5   Úhas_gzip_headerÚexpected_prefixr6   Údata_file_nameÚfÚfpÚdecompressed_f)r9   Údata_moduleÚgzip_responseÚread_fnr   r   Ú_mock_urlopen_sharedj   s    

z>_monkey_patch_webbased_functions.<locals>._mock_urlopen_sharedc                    s   ˆ | |ˆdd�S ©Nú.json©r5   r=   r>   r6   r   ©r5   r=   )rF   Úurl_prefix_data_descriptionr   r   Ú_mock_urlopen_data_descriptionx   s    üzH_monkey_patch_webbased_functions.<locals>._mock_urlopen_data_descriptionc                    s   ˆ | |ˆdd�S rG   r   rJ   )rF   Úurl_prefix_data_featuresr   r   Ú_mock_urlopen_data_features€   s    üzE_monkey_patch_webbased_functions.<locals>._mock_urlopen_data_featuresc                    s   ˆ | |ˆdd�S )Nz.arffrI   r   rJ   )rF   Úurl_prefix_download_datar   r   Ú_mock_urlopen_download_dataˆ   s    üzE_monkey_patch_webbased_functions.<locals>._mock_urlopen_download_datac              
      sÖ   |   ˆ¡st‚ˆ | dƒ}tˆ|ƒ�(}ˆ|dƒ}| ¡  d¡}t |¡}W 5 Q R X d|krjtd ddd d d�‚tˆ|ƒ�X}|rœt| ¡ ƒ}t	|dƒW  5 Q R £ S ˆ|dƒ}t| ¡ ƒ}t	|d	ƒW  5 Q R £ S W 5 Q R X d S )
NrH   r:   zutf-8Úerroréœ  úSimulated mock error©r5   ÚcodeÚmsgÚhdrsrA   TF)
r;   r<   r   r   ÚdecodeÚjsonÚloadsr   r   r   )r5   r=   r?   r@   rB   Z	decoded_sZ	json_datarA   )r9   rC   rE   Úurl_prefix_data_listr   r   Ú_mock_urlopen_data_list�   s*    

    ÿ
zA_monkey_patch_webbased_functions.<locals>._mock_urlopen_data_listc                    sv   |   ¡ }|  d¡dk}| ˆ¡r*ˆ||ƒS | ˆ¡r>ˆ||ƒS | ˆ¡rRˆ||ƒS | ˆ¡rfˆ ||ƒS td| ƒ‚d S )NzAccept-encodingr    zUnknown mocking URL pattern: %s)Úget_full_urlÚ
get_headerr;   Ú
ValueError)ÚrequestÚargsÚkwargsr5   r=   )rL   rN   r\   rP   rK   rM   r[   rO   r   r   Ú_mock_urlopen¨   s    







z7_monkey_patch_webbased_functions.<locals>._mock_urlopenÚurlopen)r    ÚopenÚOPENML_TEST_DATA_MODULEÚtest_offlineÚsetattrÚsklearnÚdatasetsÚ_openml)ÚcontextÚdata_idrD   rc   r   )r9   rL   rN   r\   rP   rF   rC   rD   r8   rE   rK   rM   r[   rO   r   Ú _monkey_patch_webbased_functionsF   s     rn   z9data_id, dataset_params, n_samples, n_features, n_targetsé=   rm   é–   é   é   Úiris)ÚnameÚversioné   é   é&   Zannealé1  éÑ   é   Úcpué�ž  é   éH   é   é_  é
   é   rt   zadult-censusé   éM   ZMiceProteinéñŸ  i  Úparserú	liac-arffÚpandasrD   Fc           
      C   s
  t  d¡}t| ||d� tf dd|dœ|—Ž}	t|	jd ƒ|ksDt‚t|	tƒsRt‚t|	j	|j
ƒsdt‚|	j	j||| fks|t‚t|	j|j
ƒsŽt‚|	jj||fks¢t‚|dkrÐt|	j|jƒs¼t‚|	jj|fksöt‚n&t|	j|j
ƒsât‚|	jj||fksöt‚|	jdk�st‚dS )	zŒCheck the behaviour of `fetch_openml` with `as_frame=True`.

    Fetch by ID and/or name (depending if the file was previously cached).
    r‰   ©rD   TF©Úas_frameÚcacher‡   Úidrr   N)ÚpytestÚimportorskiprn   r   ÚintÚdetailsr<   Ú
isinstancer   ÚframeÚ	DataFrameÚshaper   ÚtargetÚSeriesÚ
categories)
Úmonkeypatchrm   Údataset_paramsÚ	n_samplesÚ
n_featuresÚ	n_targetsr‡   rD   ÚpdÚbunchr   r   r   Útest_fetch_openml_as_frame_trueÁ   s*    )
ýür¡   c                 C   sÜ   t  d¡ t| |dd� tf dd|dœ|—Ž}t|jd ƒ|ksDt‚t|tƒsRt‚|j	dks`t‚t|j
tjƒsrt‚|j
j||fks†t‚t|jtjƒs˜t‚|dkr´|jj|fksÈt‚n|jj||fksÈt‚t|jtƒsØt‚dS )	znCheck the behaviour of `fetch_openml` with `as_frame=False`.

    Fetch both by ID and/or name + version.
    r‰   TrŠ   Fr‹   rŽ   Nrr   )r�   r�   rn   r   r‘   r’   r<   r“   r   r”   r   ÚnpZndarrayr–   r—   r™   Údict)rš   rm   r›   rœ   r�   rž   r‡   r    r   r   r   Ú test_fetch_openml_as_frame_false	  s&    %
ýür¤   c           
         s¸   t  d¡‰t| |dd� t|dddd�}t|dddd�}|j|j }‰ ‡ ‡fdd„}| |¡}ˆj |ˆ ¡ |j|j }‰ˆj ˆ|j	 ˆ ¡ ‡‡fd	d
„}| |¡}	ˆj |	ˆ¡ dS )z:Check the consistency of the LIAC-ARFF and pandas parsers.r‰   TrŠ   Frˆ   ©rm   rŒ   r�   r‡   c                    s,   ˆ | j  }ˆjj |¡r$|  |j¡S | S d S r   )rt   ÚapiÚtypesÚis_numeric_dtypeÚastypeÚdtype©ZseriesZpandas_series)Údata_pandasrŸ   r   r   Úconvert_numerical_dtypesc  s    
zFtest_fetch_openml_consistency_parser.<locals>.convert_numerical_dtypesc                    sJ   ˆ | j  }ˆjj |¡r$|  |j¡S t|jˆjƒrB| j 	|jj
¡S | S d S r   )rt   r¦   r§   r¨   r©   rª   r“   ÚCategoricalDtypeÚcatZrename_categoriesr™   r«   )Úframe_pandasrŸ   r   r   Ú(convert_numerical_and_categorical_dtypesw  s    
zVtest_fetch_openml_consistency_parser.<locals>.convert_numerical_and_categorical_dtypesN)
r�   r�   rn   r   r   ÚapplyÚtestingÚassert_frame_equalr”   Úfeature_names)
rš   rm   Z
bunch_liacÚbunch_pandasZ	data_liacr­   Zdata_liac_with_fixed_dtypesZ
frame_liacr±   Zframe_liac_with_fixed_dtypesr   )r¬   r°   rŸ   r   Ú$test_fetch_openml_consistency_parserJ  s2    
üü

ÿr·   c                 C   s\   t  d¡ d}t| |dd� t|dd|d�}t|dd|d�}t|j|jƒ t|j|jƒ dS )z^Check the equivalence of the dataset when using `as_frame=False` and
    `as_frame=True`.
    r‰   ro   TrŠ   Fr¥   N)r�   r�   rn   r   r   r   r   r—   )rš   r‡   rm   Zbunch_as_frame_trueZbunch_as_frame_falser   r   r   Ú-test_fetch_openml_equivalence_array_dataframe�  s"    
üür¸   c                 C   s„  t  d¡}|jjj}d}d}d}d}|dddgƒ}tjgd	 }	d
dddg}
d}t| |dƒ t|dd|d�}|j	}|j
}|j}t||jƒsŒt‚t |j|	k¡s t‚|j|ks®t‚t |j|
k¡sÂt‚t |j|
k¡sÖt‚|j|gksæt‚t||jƒsöt‚|j|k�st‚|j|k�st‚|j|k�s&t‚|jj�s4t‚t||jƒ�sFt‚|j|k�sVt‚t |j|	|g k¡�srt‚|jj�s€t‚dS )z>Check fetching on a numerical only dataset with string labels.r‰   ro   ©rp   rq   )rp   )rp   é   zIris-setosazIris-versicolorzIris-virginicarq   ÚsepallengthÚ
sepalwidthÚpetallengthÚ
petalwidthÚclassTFr¥   N)r�   r�   r¦   r§   r®   r¢   Zfloat64rn   r   r   r—   r”   r“   r•   r<   ÚallÚdtypesr–   Úcolumnsrµ   Ztarget_namesr˜   rª   rt   ÚindexZ	is_unique)rš   r‡   rŸ   r®   rm   Z
data_shapeZtarget_shapeZframe_shapeZtarget_dtypeZdata_dtypesZ
data_namesZtarget_namer    r   r—   r”   r   r   r   Útest_fetch_openml_iris_pandas«  sJ    

ÿürÄ   Útarget_columnr¾   r½   c                 C   s¦   t  d¡}d}t| |dƒ t|dd||d�}t|dd|d�}|j |j|j¡ t|tƒr‚|j 	|j
j| |¡¡ |jjdks¢t‚n |j
j|ks’t‚|jjdks¢t‚d	S )
z@Check that we can force the target to not be the default target.r‰   ro   TF)rm   rŒ   r�   rÅ   r‡   r¥   )rp   é   r¹   N)r�   r�   rn   r   r³   r´   r”   r“   ÚlistZassert_index_equalr—   rÂ   ÚIndexr   r–   r<   rt   )rš   r‡   rÅ   rŸ   rm   Zbunch_forcing_targetZbunch_defaultr   r   r   Ú!test_fetch_openml_forcing_targetsÞ  s2    
ûü
 ÿrÉ   c                 C   s‚   t  d¡}t| |dd� t|ddd|d�}t|ddd|d�\}}|j |j|¡ t||jƒrn|j 	|j
|¡ n|j |j
|¡ dS )z>Check the behaviour of `return_X_y=True` when `as_frame=True`.r‰   TrŠ   F©rm   rŒ   r�   Ú
return_X_yr‡   N)r�   r�   rn   r   r³   r´   r   r“   r˜   Úassert_series_equalr—   )rš   rm   r‡   rŸ   r    ÚXÚyr   r   r   Ú.test_fetch_openml_equivalence_frame_return_X_y  s(    
ûû
rÏ   c                 C   s\   t  d¡ t| |dd� t|ddd|d�}t|ddd|d�\}}t|j|ƒ t|j|ƒ dS )z?Check the behaviour of `return_X_y=True` when `as_frame=False`.r‰   TrŠ   FrÊ   N)r�   r�   rn   r   r   r   r—   )rš   rm   r‡   r    rÍ   rÎ   r   r   r   Ú.test_fetch_openml_equivalence_array_return_X_y"  s$    
ûû
rÐ   c                 C   sf   t  d¡ d}t| |dd� d}t||ddd�}t||ddd�}|jjjdksRt‚|jjd	ksbt‚d
S )z9Check the difference between liac-arff and pandas parser.r‰   r�   TrŠ   Frˆ   r¥   r@   ÚON)r�   r�   rn   r   r   rª   Úkindr<   )rš   rm   rŒ   Zbunch_liac_arffr¶   r   r   r   Ú$test_fetch_openml_difference_parsers?  s$    
üürÓ   Úmodule)Úscopec                S   C   sî  dddddgdddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+dg'd,d-d.d/d0d1d2dgd3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~dd€gNd�d‚dƒd„d…d†d‡dˆd‰dŠd‹dŒd�dŽdgd�d�d‘d’d“d”d•d–d—d˜d™dšd›dœd�dždŸd d¡d¢d£d¤d¥d¦d§d¨d©dªd«d¬d­d®d¯d°d±d²d³d´dµd¶d·d¸d¹dºd»d¼d½d¾d¿dÀdÁdÂdÃdÄdÅdÆdÇdÈdÉdÊdËdÌdÍdÎdÏdÐdÑdÒdÓdÔdÕdÖd×dØdÙdÚdÛdgNdÜdÝdÞdßd�dàdádâdãdädådædçdègdéœS )êz+Returns the columns names for each dataset.r»   r¼   r½   r¾   r¿   Úfamilyzproduct-typeZsteelÚcarbonZhardnessÚtemper_rollingÚ	conditionÚformabilityZstrengthú
non-ageingúsurface-finishzsurface-qualityÚenamelabilityÚbcÚbfÚbtúbw%2FmeÚblÚmÚchromÚphosÚcbondÚmarviÚexptlÚferroÚcorrúblue%2Fbright%2Fvarn%2FcleanÚlustreÚjurofmÚsÚpr–   ZthickÚwidthr3   ÚoilZboreÚpackingÚvendorZMYCTZMMINZMMAXZCACHZCHMINZCHMAXZ Mean_Acc1298_Mean_Mem40_CentroidZMean_Acc1298_Mean_Mem40_RolloffZMean_Acc1298_Mean_Mem40_FluxZMean_Acc1298_Mean_Mem40_MFCC_0ZMean_Acc1298_Mean_Mem40_MFCC_1ZMean_Acc1298_Mean_Mem40_MFCC_2ZMean_Acc1298_Mean_Mem40_MFCC_3ZMean_Acc1298_Mean_Mem40_MFCC_4ZMean_Acc1298_Mean_Mem40_MFCC_5ZMean_Acc1298_Mean_Mem40_MFCC_6ZMean_Acc1298_Mean_Mem40_MFCC_7ZMean_Acc1298_Mean_Mem40_MFCC_8ZMean_Acc1298_Mean_Mem40_MFCC_9ZMean_Acc1298_Mean_Mem40_MFCC_10ZMean_Acc1298_Mean_Mem40_MFCC_11ZMean_Acc1298_Mean_Mem40_MFCC_12ZMean_Acc1298_Std_Mem40_CentroidZMean_Acc1298_Std_Mem40_RolloffZMean_Acc1298_Std_Mem40_FluxZMean_Acc1298_Std_Mem40_MFCC_0ZMean_Acc1298_Std_Mem40_MFCC_1ZMean_Acc1298_Std_Mem40_MFCC_2ZMean_Acc1298_Std_Mem40_MFCC_3ZMean_Acc1298_Std_Mem40_MFCC_4ZMean_Acc1298_Std_Mem40_MFCC_5ZMean_Acc1298_Std_Mem40_MFCC_6ZMean_Acc1298_Std_Mem40_MFCC_7ZMean_Acc1298_Std_Mem40_MFCC_8ZMean_Acc1298_Std_Mem40_MFCC_9ZMean_Acc1298_Std_Mem40_MFCC_10ZMean_Acc1298_Std_Mem40_MFCC_11ZMean_Acc1298_Std_Mem40_MFCC_12ZStd_Acc1298_Mean_Mem40_CentroidZStd_Acc1298_Mean_Mem40_RolloffZStd_Acc1298_Mean_Mem40_FluxZStd_Acc1298_Mean_Mem40_MFCC_0ZStd_Acc1298_Mean_Mem40_MFCC_1ZStd_Acc1298_Mean_Mem40_MFCC_2ZStd_Acc1298_Mean_Mem40_MFCC_3ZStd_Acc1298_Mean_Mem40_MFCC_4ZStd_Acc1298_Mean_Mem40_MFCC_5ZStd_Acc1298_Mean_Mem40_MFCC_6ZStd_Acc1298_Mean_Mem40_MFCC_7ZStd_Acc1298_Mean_Mem40_MFCC_8ZStd_Acc1298_Mean_Mem40_MFCC_9ZStd_Acc1298_Mean_Mem40_MFCC_10ZStd_Acc1298_Mean_Mem40_MFCC_11ZStd_Acc1298_Mean_Mem40_MFCC_12ZStd_Acc1298_Std_Mem40_CentroidZStd_Acc1298_Std_Mem40_RolloffZStd_Acc1298_Std_Mem40_FluxZStd_Acc1298_Std_Mem40_MFCC_0ZStd_Acc1298_Std_Mem40_MFCC_1ZStd_Acc1298_Std_Mem40_MFCC_2ZStd_Acc1298_Std_Mem40_MFCC_3ZStd_Acc1298_Std_Mem40_MFCC_4ZStd_Acc1298_Std_Mem40_MFCC_5ZStd_Acc1298_Std_Mem40_MFCC_6ZStd_Acc1298_Std_Mem40_MFCC_7ZStd_Acc1298_Std_Mem40_MFCC_8ZStd_Acc1298_Std_Mem40_MFCC_9ZStd_Acc1298_Std_Mem40_MFCC_10ZStd_Acc1298_Std_Mem40_MFCC_11ZStd_Acc1298_Std_Mem40_MFCC_12ZBH_LowPeakAmpZBH_LowPeakBPMZBH_HighPeakAmpZBH_HighPeakBPMZBH_HighLowRatioZBHSUM1ZBHSUM2ZBHSUM3zamazed.suprisedzhappy.pleasedzrelaxing.calmzquiet.stillz
sad.lonelyzangry.aggresiveÚageZ	workclasszfnlwgt:z
education:zeducation-num:zmarital-status:zoccupation:zrelationship:zrace:zsex:zcapital-gain:zcapital-loss:zhours-per-week:znative-country:ZDYRK1A_NZITSN1_NZBDNF_NZNR1_NZNR2A_NZpAKT_NZpBRAF_NZ	pCAMKII_NZpCREB_NZpELK_NZpERK_NZpJNK_NZPKCA_NZpMEK_NZpNR1_NZpNR2A_NZpNR2B_NZpPKCAB_NZpRSK_NZAKT_NZBRAF_NZCAMKII_NZCREB_NZELK_NZERK_NZGSK3B_NZJNK_NZMEK_NZTRKA_NZRSK_NZAPP_NZ
Bcatenin_NZSOD1_NZMTOR_NZP38_NZpMTOR_NZDSCR1_NZAMPKA_NZNR2B_NZpNUMB_NZRAPTOR_NZTIAM1_NZpP70S6_NÚNUMB_NZP70S6_NZpGSK3B_NZpPKCG_NZCDK5_NZS6_NZADARB1_NZAcetylH3K9_NZRRP1_NZBAX_NZARC_NZERBB4_NZnNOS_NZTau_NZGFAP_NZGluR3_NZGluR4_NZIL1B_NZP3525_NZpCASP9_NZPSD95_NZSNCA_NZUbiquitin_NZpGSK3B_Tyr216_NZSHH_NZBAD_NÚBCL2_NZpS6_NZpCFOS_NZSYP_NZ	H3AcK18_NZEGR1_NZH3MeK4_NZCaNA_NZpclassZsurvivedrt   ÚsexZsibspZparchÚticketÚfareÚcabinÚembarkedÚboatÚbodyú	home.dest©ro   rv   ry   r}   r�   r„   r†   r   r   r   r   r   Údatasets_column_names_  sÒ   Ù)²Qñ²Qò€ £r   c                   C   s`   i ddddddddddddddddddddddddddddœi i i dd	id
dddddddœdœS )Nrw   é	   rv   rq   r‚   é   )rÖ   rØ   rÙ   rÚ   rÛ   rÜ   rÝ   rÞ   rß   rà   rá   râ   rã   rä   rå   ræ   rç   rè   ré   rê   rë   rì   rí   rî   rï   rñ   rò   rö   r{   i  rr   iö  i7  i¤  i4  )rô   rù   rú   rû   rü   rý   rþ   rÿ   r   r   r   r   r   Údatasets_missing_valuesR  sT    åùÝr  zJdata_id, parser, expected_n_categories, expected_n_floats, expected_n_ints)ro   rˆ   rr   rq   r   )ro   r‰   rr   rq   r   )rv   rˆ   é!   r€   r   )rv   r‰   r  rv   rq   )ry   rˆ   rr   r{   r   )ry   r‰   rr   r   r{   )r}   rˆ   r€   r   r   )r}   r‰   r€   éE   rÆ   )r�   rˆ   r  r€   r   )r�   r‰   r  r   r€   )r„   rˆ   rr   r…   r   )r„   r‰   rr   r…   r   )r†   rˆ   rÆ   r€   r   )r†   r‰   rÆ   rÆ   rÆ   c	                    sô   t  d¡}	|	jjj‰ t| ||d� t|dd|d�}
|
j}t‡ fdd„|j	D ƒƒ}tdd„ |j	D ƒƒ}td	d„ |j	D ƒƒ}||ks„t
‚||ks�t
‚||ksœt
‚|j ¡ || ks²t
‚| ¡  ¡  ¡ }| ¡ D ]$\}}||  |d
¡}||ksÊt
‚qÊdS )zYCheck that `fetch_openml` infer the right number of categories, integers, and
    floats.r‰   rŠ   TFr¥   c                    s   g | ]}t |ˆ ƒr|‘qS r   )r“   ©Ú.0rª   ©r®   r   r   Ú
<listcomp>¼  s     
 z5test_fetch_openml_types_inference.<locals>.<listcomp>c                 S   s   g | ]}|j d kr|‘qS )r@   ©rÒ   r  r   r   r   r	  ¾  s     
 c                 S   s   g | ]}|j d kr|‘qS )Úir
  r  r   r   r   r	  ¿  s     
 r   N)r�   r�   r¦   r§   r®   rn   r   r”   r3   rÁ   r<   rÂ   ÚtolistÚisnaÚsumÚto_dictÚitemsÚget)rš   rm   r‡   Zexpected_n_categoriesZexpected_n_floatsZexpected_n_intsrD   r   r  rŸ   r    r”   Zn_categoriesZn_floatsZn_intsZframe_feature_to_n_nanrt   Z	n_missingZexpected_missingr   r  r   Ú!test_fetch_openml_types_inference…  s.    )

üÿr  z0ignore:The default value of `parser` will changezparams, err_msgÚunknownz:The 'parser' parameter of fetch_openml must be a str amongrŒ   z<The 'as_frame' parameter of fetch_openml must be an instancec              	   C   s@   d}t | |dƒ tjt|d�� tf d|i|—Ž W 5 Q R X d S )Nr�   T©Úmatchrm   )rn   r�   Úraisesr_   r   ©rš   ÚparamsÚerr_msgrm   r   r   r   Ú&test_fetch_openml_validation_parameterÒ  s    r  r  Úauto©rŒ   r‡   c                 C   sn   d}zt dƒ W nP tk
r`   t| |dƒ d}tjt|d�� tf d|i|—Ž W 5 Q R X Y n
X tdƒ‚dS )	z=Check that we raise the proper errors when we require pandas.r�   Ú!test_fetch_openml_requires_pandasTz:requires pandas to be installed. Alternatively, explicitlyr  rm   ú.This test requires pandas to not be installed.N)r   ÚImportErrorrn   r�   r  r   r   )rš   r  rm   r  r   r   r   Ú'test_fetch_openml_requires_pandas_errorç  s    
"r   c                 C   sx   dddœ}d}zt dƒ W nP tk
rj   t| |dƒ d}tjt|d�� tf d	|i|—Ž W 5 Q R X Y n
X td
ƒ‚dS )zICheck that we raise a warning that pandas will be required in the future.Fr  r  r�   r  TzGFrom version 1.4, `parser='auto'` with `as_frame=False` will use pandasr  rm   r  N)r   r  rn   r�   ÚwarnsÚFutureWarningr   r   )rš   r  rm   Úwarn_msgr   r   r   Ú+test_fetch_openml_requires_pandas_in_futureþ  s    
ÿ"r$  z2ignore:Version 1 of dataset Australian is inactivez:Sparse ARFF datasets cannot be loaded with parser='pandas'z9Sparse ARFF datasets cannot be loaded with as_frame=True.)r‡   rŒ   c              	   C   sL   t  d¡ d}t| |dƒ t jt|d�� tf |ddœ|—Ž W 5 Q R X dS )ztCheck that we raise the expected error for sparse ARFF datasets and
    a wrong set of incompatible parameters.
    r‰   é$  Tr  F)rm   r�   N)r�   r�   rn   r  r_   r   r  r   r   r   Ú#test_fetch_openml_sparse_arff_error  s    
þýr&  zdata_id, data_type)ro   Ú	dataframe)r%  Úsparsec                 C   sP   t  d¡}t| |dƒ t|dddd�}|dkr4|jntjj}t|j	|ƒsLt
‚dS )z&Check the auto mode of `fetch_openml`.r‰   Tr  F)rm   rŒ   r‡   r�   r'  N)r�   r�   rn   r   r•   Úscipyr(  Z
csr_matrixr“   r   r<   )rš   rm   Z	data_typerŸ   r   Úklassr   r   r   Útest_fetch_openml_auto_mode5  s
    
r+  c              
   C   sb   t  d¡ d}t| |dƒ d}t jt|d��, tdd�� t|ddd	d
� W 5 Q R X W 5 Q R X dS )z[Check that we raise a warning regarding the working memory when using
    LIAC-ARFF parser.r‰   r�   Tz*Could not adhere to working_memory config.r  g�íµ ÷Æ°>)Zworking_memoryFrˆ   r¥   N)r�   r�   rn   r!  ÚUserWarningr   r   )rš   rm   rV   r   r   r   Ú:test_convert_arff_data_dataframe_warning_low_memory_pandasJ  s    
ür-  c              	   C   sF   d}d}t | ||ƒ d}tjt|d�� t|dddd� W 5 Q R X dS )	z\Check that a warning is raised when multiple versions exist and no version is
    requested.ro   rs   zƒMultiple active versions of the dataset matching the name iris exist. Versions may be fundamentally different, returning version 1.r  Frˆ   )rt   rŒ   r�   r‡   N©rn   r�   r!  r,  r   )rš   rD   rm   Z	data_namerV   r   r   r   Ú,test_fetch_openml_iris_warn_multiple_version^  s    ÿür/  c                 C   sT   d}d}d}d}t | ||ƒ t||dddd�}|jj||fksBt‚|jdksPt‚dS )z/Check that we can get a dataset without target.ro   Nrp   rº   Frˆ   ©rm   rÅ   r�   rŒ   r‡   )rn   r   r   r–   r<   r—   )rš   rD   rm   rÅ   Zexpected_observationsZexpected_featuresr   r   r   r   Útest_fetch_openml_no_targetu  s    ûr1  c                 C   sd   t  d¡ d}t| ||d� t|dd|d�}|jjd }|jd  ¡  ¡ sNt‚t	|j
dd	d
gƒ dS )zRcheck that missing values in categories are compatible with pandas
    categoricalr‰   iY¦  rŠ   FT©rm   r�   rŒ   r‡   r÷   ZFEMALEZMALEÚ_N)r�   r�   rn   r   r   rÁ   r  Úanyr<   r   r™   )rš   rD   r‡   rm   ZpenguinsZ	cat_dtyper   r   r   Útest_missing_values_pandas‰  s    
ür5  r›   éãž  Úglass2)rm   rt   ru   c              	   C   sj   d}t | ||ƒ d}tjt|d�� tf ddddœ|—Ž}W 5 Q R X |jjdksTt‚|jd d	ksft‚d
S )z;Check that we raise a warning when the dataset is inactive.r6  z(Version 1 of dataset glass2 is inactive,r  Frˆ   )r�   rŒ   r‡   )é£   r  rŽ   Z40675N)	rn   r�   r!  r,  r   r   r–   r<   r’   )rš   rD   r›   rm   rV   r7  r   r   r   Útest_fetch_openml_inactiveŸ  s    
  ÿÿr9  z"data_id, params, err_type, err_msgzNo active dataset glass2 foundr¼   r¿   )rm   rÅ   z1Can only handle homogeneous multi-target datasets)rm   rŒ   zOSTRING attributes are not supported for array representation. Try as_frame=TruerÖ   )rm   rÅ   rŒ   zTarget column 'family'Z	undefinedz(Could not find target_column='undefined'c              	   C   s\   t | ||ƒ | dd¡s |dkr*t d¡ tj||d�� tf d|dœ|—Ž W 5 Q R X d S )NrŒ   Tr‰   r  F)r�   r‡   )rn   r  r�   r�   r  r   )rš   rD   rm   r  Úerr_typer  r‡   r   r   r   Útest_fetch_openml_error´  s
    2
r;  zparams, err_type, err_msgr   ru   zCThe 'version' parameter of fetch_openml must be an int in the rangeZnAmE)rm   rt   zCThe 'data_id' parameter of fetch_openml must be an int in the rangez6The 'version' parameter of fetch_openml must be an intzFNeither name nor data_id are provided. Please provide name or data_id.c              	   C   s(   t j||d�� tf | Ž W 5 Q R X d S )Nr  )r�   r  r   )r  r:  r  r   r   r   Ú)test_fetch_openml_raises_illegal_argumentí  s    r<  c              	   C   s  d}d}d}t | ||ƒ d}| |¡}tjt|d�� t||dddd� W 5 Q R X d	}| |¡}tjt|d�� t||dddd� W 5 Q R X d}| |¡}tjt|d�� t||d
gdddd� W 5 Q R X d	}| |¡}tjt|d�� t||d
gdddd� W 5 Q R X d S )Nr„   z.target_column='{}' has flag is_row_identifier.z&target_column='{}' has flag is_ignore.ZMouseIDr  Frˆ   r0  ZGenotyper¿   )rn   Úformatr�   r!  r,  r   )rš   rD   rm   Zexpected_row_id_msgZexpected_ignore_msgZ
target_colrV   r   r   r   Útest_warn_ignore_attribute  sX    
û
û
û
ûr>  c              	   C   sB   d}t | ||ƒ d}tjt|d�� t|dddd� W 5 Q R X d S )Nrr   zJOpenML registered a problem with the dataset. It might be unusable. Error:r  Frˆ   r2  r.  ©rš   rD   rm   rV   r   r   r   Útest_dataset_with_openml_error=  s
    r@  c              	   C   sB   d}t | ||ƒ d}tjt|d�� t|dddd� W 5 Q R X d S )NrÆ   zFOpenML raised a warning on the dataset. It might be unusable. Warning:r  Frˆ   r2  r.  r?  r   r   r   Ú test_dataset_with_openml_warningF  s
    rA  c                 C   sŽ   t  d¡ d}t| |dd� |ddddœ}tf |Ž}tf |dddii—Ž}td	d
„ |jd jjD ƒƒsjt‚t	dd
„ |jd jjD ƒƒrŠt‚dS )zACheck that we can overwrite the default parameters of `read_csv`.r‰   é6  F©rm   rD   Tr¥   Zread_csv_kwargsÚskipinitialspacec                 s   s   | ]}|  d ¡V  qdS ©ú N©r;   ©r  r¯   r   r   r   Ú	<genexpr>b  s    zFtest_fetch_openml_overwrite_default_params_read_csv.<locals>.<genexpr>r¿   c                 s   s   | ]}|  d ¡V  qdS rE  rG  rH  r   r   r   rI  e  s   ÿN)
r�   r�   rn   r   rÀ   r”   r¯   r™   r<   r4  )rš   rm   Úcommon_paramsZadult_without_spacesZadult_with_spacesr   r   r   Ú3test_fetch_openml_overwrite_default_params_read_csvO  s(    
ü	
ÿÿÿþrK  c           	      C   st   d}t | ||ƒ tjjj |¡}t| d¡ƒ}t||ƒ}t	||ƒ}t
j |¡sRt‚t||ƒ}| ¡ | ¡ kspt‚d S )Nro   Úscikit_learn_data)rn   ri   rj   rk   Ú
_DATA_FILEr=  ÚstrÚmkdirr
   r	   ÚosÚpathÚisfiler<   r   )	rš   rD   Útmpdirrm   Úopenml_pathÚcache_directoryZ	response1ÚlocationZ	response2r   r   r   Útest_open_openml_url_cacheo  s    


rW  Úwrite_to_diskc              	      s„   d}t jjj |¡}t| d¡ƒ}t||ƒ‰ ‡ ‡fdd„}|  t jjd|¡ t	j
tdd�� t||ƒ W 5 Q R X tj ˆ ¡r€t‚d S )Nro   rL  c              	      s0   ˆr$t ˆ dƒ�}| d¡ W 5 Q R X tdƒ‚d S )NÚwÚ úInvalid request)re   Úwriter_   )r`   ra   rb   r@   ©rV  rX  r   r   rc   ‡  s    z>test_open_openml_url_unlinks_local_path.<locals>._mock_urlopenrd   r[  r  )ri   rj   rk   rM  r=  rN  rO  r	   rh   r�   r  r_   r
   rP  rQ  Úexistsr<   )rš   rS  rX  rm   rT  rU  rc   r   r]  r   Ú'test_open_openml_url_unlinks_local_path€  s    
r_  c              	      s¨   d}t jjj |¡}t|  d¡ƒ}t||ƒ‰ t 	tj
 ˆ ¡¡ tˆ dƒ�}| d¡ W 5 Q R X t||ƒ‡ fdd„ƒ}d}tjt|d�� |ƒ }W 5 Q R X |d	ks¤t‚d S )
Nro   rL  rY  rZ  c                      s   t j ˆ ¡rtdƒ‚dS )NzFile exist!rr   )rP  rQ  r^  Ú	Exceptionr   ©rV  r   r   Ú
_load_dataŸ  s    z/test_retry_with_clean_cache.<locals>._load_dataz!Invalid cache, redownloading filer  rr   )ri   rj   rk   rM  r=  rN  rO  r	   rP  ÚmakedirsrQ  Údirnamere   r\  r   r�   r!  ÚRuntimeWarningr<   )rS  rm   rT  rU  r@   rb  r#  Úresultr   ra  r   Útest_retry_with_clean_cache•  s    
rg  c              	   C   s\   d}t jjj |¡}t|  d¡ƒ}t||ƒdd„ ƒ}d}tj	t
|d�� |ƒ  W 5 Q R X d S )Nro   rL  c                   S   s   t d ddd d d�‚d S )NrR   rS   rT   r   r   r   r   r   rb  ±  s        ÿz:test_retry_with_clean_cache_http_error.<locals>._load_datarS   r  )ri   rj   rk   rM  r=  rN  rO  r   r�   r  r   )rS  rm   rT  rU  rb  Ú	error_msgr   r   r   Ú&test_retry_with_clean_cache_http_error¬  s    
ri  c           
      C   sˆ   dd„ }d}t | d¡ƒ}t| ||ƒ t|d|dddd�\}}|  tjjd	|¡ t|d|dddd�\}}	tj	 
||¡ tj	 
||	¡ d S )
Nc                 _   s   t d|  ¡  ƒ‚d S )NzhThis mechanism intends to test correct cachehandling. As such, urlopen should never be accessed. URL: %s)r_   r]   ©r`   ra   rb   r   r   r   Ú_mock_urlopen_raise¾  s
    ýÿz4test_fetch_openml_cache.<locals>._mock_urlopen_raisero   rL  TFrˆ   )rm   r�   r-   rË   rŒ   r‡   rd   )rN  rO  rn   r   rh   ri   rj   rk   r¢   r³   r   )
rš   rD   rS  rk  rm   rU  Z	X_fetchedZ	y_fetchedZX_cachedZy_cachedr   r   r   Útest_fetch_openml_cache¼  s.    ú
	ú
rl  zas_frame, parser)Trˆ   )Frˆ   )Tr‰   )Fr‰   c              	      s  |s|dkrt  d¡ d}t| |dƒ td d|› � }d}|d ‰ t||ƒ�.}t |d¡}	t|	 ¡ ƒ}
d	|
t	|
ƒd
 < W 5 Q R X t 
ˆ d¡�}| |
¡ W 5 Q R X tjjj‰‡ ‡fdd„}|  tjjd|¡ t  t¡�}tjj|d||d� W 5 Q R X | d¡�st‚dS )z/Check that the checksum is working as expected.r‰   rv   Tr.   r/   zdata-v1-dl-1666876.arff.gzztest_invalid_checksum.arffr:   é%   rr   Úwbc              	      sL   |   ¡ }| d¡r@tˆ dƒ�}| ¡ }W 5 Q R X tt|ƒdd�S ˆ| ƒS d S )Nzdata/v1/download/1666876r:   Tr!   )r]   Úendswithre   r   r   r   )r`   ra   rb   r5   r@   Zcorrupted_data©Zcorrupt_copy_pathZmocked_openml_urlr   r   Úswap_file_mock  s    
z9test_fetch_openml_verify_checksum.<locals>.swap_file_mockrd   Fr2  Z1666876N)r�   r�   rn   rf   r   r    re   Ú	bytearrayr   r3   ÚGzipFiler\  ri   rj   rk   rd   rh   r  r_   r   r  r<   )rš   rŒ   r�   rS  r‡   rm   Zoriginal_data_moduleZoriginal_data_file_nameZ	orig_fileZ	orig_gzipr   Zmodified_gziprq  Úexcr   rp  r   Ú!test_fetch_openml_verify_checksumâ  s0    

	   ÿru  c              
   C   s†   dd„ }|   tjjd|¡ d}tjtt dt	| › d�¡d��>}tj
tdd�� t|d d	d
� W 5 Q R X t|ƒdksxt‚W 5 Q R X d S )Nc                 _   s   t dddd d ƒ‚d S )NrZ  i”  úSimulated network errorr   rj  r   r   r   Ú_mock_urlopen_network_error  s    zPtest_open_openml_url_retry_on_network_error.<locals>._mock_urlopen_network_errorrd   zinvalid-urlz+A network error occurred while downloading z. Retrying...r  rv  r   )ÚdelayrÆ   )rh   ri   rj   rk   r�   r!  r,  r1   Úescaper   r  r   r
   r3   r<   )rš   rw  Zinvalid_openml_urlÚrecordr   r   r   Ú+test_open_openml_url_retry_on_network_error  s"      ÿÿþr{  )rˆ   r‰   c                 C   sh   |dkrt  d¡ d}t| ||ƒ tjj|dd|d�}|dk	sBt‚|d jdksTt‚d|d	 ksdt‚dS )
z‰Check that we can load the "zoo" dataset.
    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/14340
    r‰   é>   Fr2  Nr   )ée   é   Zanimalrµ   )r�   r�   rn   ri   rj   r   r<   r–   )rš   rD   r‡   rm   Zdatasetr   r   r   Ú&test_fetch_openml_with_ignored_feature3  s    
   ÿr  c                 C   s  t  d¡}d}t| |dd� dd|dœ}tf ddi|—Ž}tf ddi|—Ž}|j |j|j¡ |jj d	¡ 	¡ rtt
‚|jj d	¡ 	¡ rŠt
‚tf dd
dœ|—Ž}tf dd
dœ|—Ž}|j |jd |jd ¡ |jd j d	¡ 	¡ ræt
‚|jd j d	¡ 	¡ �rt
‚dS )z§Check that we strip the single quotes when used as a string delimiter.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/23381
    r‰   r„   FrC  T©rŒ   r�   rm   r‡   rˆ   ú'rõ   )r‡   rÅ   r¿   N)r�   r�   rn   r   r³   rÌ   r—   rN  r;   r4  r<   ro  r”   )rš   rŸ   rm   rJ  Zmice_pandasZmice_liac_arffr   r   r   Útest_fetch_openml_strip_quotesI  s,    
 ÿÿ ÿr‚  c                 C   sj   t  d¡}d}t| |dd� dd|dœ}tf ddi|—Ž}tf ddi|—Ž}|j |jd	 |jd	 ¡ d
S )z�Check that we can strip leading whitespace in pandas parser.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/25311
    r‰   rB  FrC  Tr€  r‡   rˆ   r¿   N)r�   r�   rn   r   r³   rÌ   r”   ©rš   rŸ   rm   rJ  Zadult_pandasZadult_liac_arffr   r   r   Ú$test_fetch_openml_leading_whitespacef  s    
 ÿr„  c                 C   sb   t  d¡}d}t| |dd� dd|dœ}tf ddi|—Ž}tf ddi|—Ž}|j |j|j¡ d	S )
z¡Check that we can handle escapechar and single/double quotechar.

    Non-regression test for:
    https://github.com/scikit-learn/scikit-learn/issues/25478
    r‰   iZ¤  FrC  Tr€  r‡   rˆ   N)r�   r�   rn   r   r³   r´   r”   rƒ  r   r   r   Ú&test_fetch_openml_quotechar_escapecharx  s    
r…  c              	   C   sH   t  d¡ d}t| |dd� t jtdd�� tjj|d� W 5 Q R X dS )	z?Check that we raise a deprecation warning for parser parameter.r‰   ro   FrC  z)The default value of `parser` will changer  )rm   N)r�   r�   rn   r!  r"  ri   rj   r   )rš   rm   r   r   r   Ú$test_fetch_openml_deprecation_parser�  s
    
r†  )VÚ__doc__r    rY   rP  r1   Ú	functoolsr   Úior   Úurllib.errorr   Únumpyr¢   r�   Zscipy.sparser)  ri   r   Zsklearn.datasetsr   Zfetch_openml_origZsklearn.datasets._openmlr   r	   r
   r   Zsklearn.utilsr   r   Zsklearn.utils._testingr   r   r   r   Zsklearn.utils.fixesr   rf   rg   r   rn   ÚmarkZparametrizer¡   r¤   r·   r¸   rÄ   rÉ   rÏ   rÐ   rÓ   Zfixturer   r  r  Úfilterwarningsr  r   r$  r&  r+  r-  r/  r1  r5  r9  r_   ÚKeyErrorr;  r<  r>  r@  rA  rK  rW  r_  rg  ri  rl  ru  r{  r  r‚  r„  r…  r†  r   r   r   r   Ú<module>   s  {íþ-ïþ)A1!


 s

2ëþ1
þþûþýþ


þþþ÷þ
þþ



þþüû

ü
üüüÝþ-

ýý
ýýðþ

1

 


%üþ	-