ó
    tñ:icÒ  ã                   ó"  • % S r SSKrSSKrSSKrSSKrSSKrSSKJrJrJ	r	J
r
JrJrJrJrJrJrJr  SSKrSSKJrJrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&  SSK'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1  SSK2J3r3J4r4J5r5J6r6J7r7J8r8J9r9J:r:J;r;J<r<J=r=J>r>J?r?J@r@JArAJBrB  SSKCJDrDJErEJFrFJGrGJHrHJIrIJJrJJKrK  \(       a  SSKLrMSS	KNJOrP  SS
KNJQrR  \\R¦                  \\*   \\+   4   rT\\US'   SrVSS1rWS\)S\\,   SS4S jrXS\)SS4S jrYS\)S\Z4S jr[S\)S\ZS\)4S jr\\FRº                  S.S\)S\,S\^S\\*   S\\+   S\FS\T4S jjr_S\)S\Z4S jr`\FRº                  S.S\)S\,S\^S\\*   S\\+   S\FS\T4S jjraS\)S\Z4S jrbS\)S\\RÆ                     4S  jrdS\)S!\\-   S\RÆ                  4S" jre\FRº                  S.S\RÆ                  S\,S\^S\\*   S\\+   S\FS\T4S# jjrfS$S$S$S$S$S$S$S$S%S%S%S&S'.rgS$S$S$S$S$S$S$S$S%S%S&S(.rhS$S$S$S$S$S$S$S$S%S%S%S%S&S).ri\gRÕ                  \h5        \gRÕ                  \i5        S*rkS\)SS4S+ jrlSS,S-\\m   S\\*   S\\+   S.\ZS\\\*   \\+   4   4S/ jrnS!\.S\Z4S0 jroS!\S\Z4S1 jrpS!\S\Z4S2 jrq\Rä                  S\	\./\Z4   4S3 j5       rsS!\.S\Z4S4 jrt\Rä                  S\	\./\Z4   4S5 j5       ruS!\.S\Z4S6 jrvS7\S\RÆ                  4S8 jrw\Rä                  S\Z4S9 j5       rx\Rä                  S\y4S: j5       rzSS,S\\\RÆ                  \4      4S; jr{ " S< S=\5      r|   S|SS,S.\ZS\\*   S\\\+\4      S-\\m   S\\|\\*   \\+   4   4S> jjr}S\)S?\mS!\\-   S@\R¦                  SS4
SA jr~\FRº                  S.SS,S.\ZS\,S\^S\\*   S\\\+\4      S\FS\T4SB jjrS\)S?\mS!\\-   S@\R¦                  SS4
SC jr€S\)S\,S\^S.\ZS\\*   S\\+   S\T4SD jr� " SE SF\5      r‚SSGS.\ZS\\*   S\\\+\4      S\\‚\\*   \\+   4   4
SH jrƒ\FRº                  4S\)S.\ZS\,SI\^S\\*   S\\\+\4      S\FS\T4SJ jjr„\Rä                  S\
\)\m4   4SK j5       r…S\)S\\\m   \4   4SL jr†S\)S?\mS!\\-   S@\R¦                  SS4
SM jr‡S}SN jrˆS\)S.\ZS\\*   S\\\+\4      S\\‚\\*   \\+   4   4
SO jr‰\FRº                  4S\)S.\ZS\,SI\^S\\*   S\\\+\4      S\FS\T4SP jjrŠ\Rä                  S\	\/\Z4   4SQ j5       r‹\Rä                  S\	\/\Z4   4SR j5       rŒ " SS ST\5      r�S\)S\\*   S\\\+\4      S.\ZS\\�\\*   \\+   4   4
SU jrŽS\)S\,S\^S\\*   S\\\+\4      S.\ZS\T4SV jr�S\)S\Z4SW jr�S\)S\(4SX jr‘S\)S\,S\^S\\*   S\\+   S\T4SY jr’S\)S\Z4SZ jr“S\)S\Z4S[ jr”S\)S\Z4S\ jr•S\)S\Z4S] jr–S\)S\,S\^S\\*   S\\+   S\T4S^ jr—S\)S\\/   4S_ jr˜\FRº                  4S\/S\\,   S\\*   S\\+   S\FS\T4S` jjr™S\)S\\š   4Sa jr›\FRº                  S.S\S\,SI\^S\\*   S\\+   S\FS\T4Sb jjrœS\)S\\y   4Sc jr�\FRº                  S.S\S\,SI\^S\\*   S\\+   S\FS\T4Sd jjržS\)S\\E   4Se jrŸS\)S\Z4Sf jr S\)S\)4Sg jr¡Sh\FRº                  Si.S\)S\,Sj\^S\\*   S\\\+\4      S.\ZS\FS\T4Sk jjr¢S\)S?\mSS4Sl jr£S\RÆ                  Sm\mS!\\-   S@\R¦                  SS4
Sn jr¤S\Sm\mS!\\-   S@\R¦                  SS4
So jr¥S\Sm\mS!\\-   S@\R¦                  SS4
Sp jr¦S\)Sm\mS@\R¦                  SS4Sq jr§S\)Sm\mS@\R¦                  SS4Sr jr¨S\)Sm\mS@\R¦                  SS4Ss jr© S~St\GS\)S?\mS!\\-   SS4
Su jjrª " Sv Sw\E5      r«S\)S\\*   S\\+   S.\ZS\04
Sx jr¬S\S\Z4Sy jr­Sz\IS\)SS4S{ jr®g)zData dispatching for DMatrix.é    N)ÚTYPE_CHECKINGÚAnyÚCallableÚDictÚListÚOptionalÚSequenceÚTupleÚ	TypeAliasÚ	TypeGuardÚUnioné   )ÚAifTypeÚ
CategoriesÚDfCatAccessorÚTransformedDfÚ_arrow_array_infÚ_ensure_np_dtypeÚ
_is_df_catÚarray_hasobjectÚarray_interfaceÚarray_interface_dictÚarrow_cat_infÚcheck_cudf_metaÚcuda_array_interfaceÚcuda_array_interface_dictÚcudf_cat_infÚget_ref_categoriesÚis_arrow_dictÚ
pd_cat_inf)
ÚCupyTÚDataTypeÚFeatureNamesÚFeatureTypesÚFloatCompatibleÚ
NumpyDTypeÚPandasDTypeÚPathLikeÚTransformedDataÚc_bst_ulong)Ú	_is_arrowÚ_is_cudf_dfÚ_is_cudf_pandasÚ_is_cudf_serÚ_is_modin_dfÚ_is_modin_seriesÚ_is_pandas_dfÚ_is_pandas_seriesÚ
_is_polarsÚ_is_polars_lazyframeÚ_is_polars_seriesÚimport_pandasÚimport_polarsÚimport_pyarrowÚis_pyarrow_availableÚlazy_isinstance)Ú_LIBÚDataIterÚDataSplitModeÚDMatrixÚ_check_callÚ_ProxyDMatrixÚc_strÚmake_jcargs)Ú	DataFrame)ÚSeriesÚDispatchedDataBackendReturnTypeÚcÚbase_marginÚlabelÚdataÚmissingÚreturnc                 ó¤   • UbM  [         R                  " U5      (       d1  [        R                  " S[	        [        U 5      5      -   [        5        g g g )Nz2`missing` is not used for current input data type:)ÚnpÚisnanÚwarningsÚwarnÚstrÚtypeÚUserWarning)rI   rJ   s     ÚO/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/xgboost/data.pyÚ_warn_unused_missingrU   g   s=   € ØÑ¤b§h¢h¨w×&7Ñ&7Ü�ŠØ@Ä3ÄtÈDÃzÃ?ÑRÜõ	
ð '8Ðó    c                 óp   • [        U S5      (       a%  [        U R                  5      S:w  a  [        S5      eg g )NÚshapeé   z8Please reshape the input data into 2-dimensional matrix.)ÚhasattrÚlenrX   Ú
ValueError©rI   s    rT   Ú_check_data_shaper^   o   s2   € Üˆt�W×Ñ¤# d§j¡j£/°QÓ"6ÜÐSÓTÐTð #7ÐrV   c                 ó¨   • SnSn SSK Jn  [        X5      n SSK Jn  [        X5      nU=(       d    U$ ! [         a     N)f = f! [         a     N'f = f)zPredicate for scipy CSR input.Fr   )Ú	csr_array)Ú
csr_matrix)Úscipy.sparser`   Ú
isinstanceÚImportErrorra   )rI   Úis_arrayÚ	is_matrixr`   ra   s        rT   Úis_scipy_csrrg   t   ód   € à€HØ€IðÝ*ä˜dÓ.ˆðÝ+ä˜tÓ0ˆ	ð × �yÐ øô ó Ùðûô ó Ùðúó    †4 ˜A ´
AÁ AÁ
AÁAÚis_csrc                 ó–  • SSK JnJn  [        U R                  5      [        U R
                  5      :w  a7  [        S[        U R                  5       S[        U R
                  5       35      e[        U R                  U R                  R                  5      u  pE[        U R                  U R                  R                  5      u  pe[        U R
                  U R
                  R                  5      u  puX@R                  Ld  X`R                  Ld  XpR
                  La/  U(       a  U" XvU4U R                  S9n U $ U" XvU4U R                  S9n U $ )zpEnsure correct data alignment and data type for scipy sparse inputs. Input should
be either csr or csc matrix.

r   )Ú
csc_matrixra   zlength mismatch: z vs )rX   )rb   rl   ra   r[   ÚindicesrI   r\   r   ÚindptrÚdtyperX   )rI   rj   rl   ra   rn   Ú_rm   Úvaluess           rT   Útransform_scipy_sparserr   ‡   s÷   € ÷
 4ä
ˆ4�<‰<ÓœC §	¡	›NÓ*ÜÐ,¬S°·±Ó->Ð,?¸tÄCÈÏ	É	ÃNÐCSÐTÓUÐUä  §¡¨d¯k©k×.?Ñ.?Ó@�I€FÜ! $§,¡,°·±×0BÑ0BÓC�J€GÜ  §¡¨D¯I©I¯O©OÓ<�I€Fà—k‘kÒ!ØŸ,™,Ò&ØŸ™Ò"æÙ˜v°Ð7¸t¿z¹zÑJˆDð €Kñ ˜v°Ð7¸t¿z¹zÑJˆDØ€KrV   )Údata_split_modeÚnthreadÚfeature_namesÚfeature_typesrs   c                 ó¢  • [         R                  " 5       n[        U S5      n [        [        R
                  " [        U R                  5      [        U R                  5      [        U R                  5      [        U R                  S   5      [        [        U5      [        U5      [        U5      S9[         R                  " U5      5      5        XcU4$ )z"Initialize data from a CSR matrix.Tr   ©rJ   rt   rs   )ÚctypesÚc_void_prr   r?   r;   ÚXGDMatrixCreateFromCSRr   rn   rm   rI   r*   rX   rB   ÚfloatÚintÚbyref©rI   rJ   rt   ru   rv   rs   Úhandles          rT   Ú_from_scipy_csrr�       sŸ   € ô �_Š_Ó€FÜ! $¨Ó-€DÜÜ×#Ò#Ü˜DŸK™KÓ(Ü˜DŸL™LÓ)Ü˜DŸI™IÓ&Ü˜Ÿ
™
 1™Ó&ÜÜ˜g›Ü˜G›Ü # OÓ 4ñô
 �LŠL˜Ó ó	
ôð  -Ð/Ð/rV   c                 ó¨   • SnSn SSK Jn  [        X5      n SSK Jn  [        X5      nU=(       d    U$ ! [         a     N)f = f! [         a     N'f = f)zPredicate for scipy CSC input.Fr   )Ú	csc_array)rl   )rb   rƒ   rc   rd   rl   )rI   re   rf   rƒ   rl   s        rT   Úis_scipy_cscr„   ¾   rh   ri   c                 ó¢  • [         R                  " 5       n[        U S5        [        [        R
                  " [        U R                  5      [        U R                  5      [        U R                  5      [        U R                  S   5      [        [        U5      [        U5      [        U5      S9[         R                  " U5      5      5        XcU4$ )z"Initialize data from a CSC matrix.Fr   rx   )ry   rz   rr   r?   r;   ÚXGDMatrixCreateFromCSCr   rn   rm   rI   r*   rX   rB   r|   r}   r~   r   s          rT   Ú_from_scipy_cscr‡   Ñ   s�   € ô �_Š_Ó€FÜ˜4 Ô'ÜÜ×#Ò#Ü˜DŸK™KÓ(Ü˜DŸL™LÓ)Ü˜DŸI™IÓ&Ü˜Ÿ
™
 1™Ó&ÜÜ˜g›Ü˜G›Ü # OÓ 4ñô
 �LŠL˜Ó ó	
ôð  -Ð/Ð/rV   c                 ó¨   • SnSn SSK Jn  [        X5      n SSK Jn  [        X5      nU=(       d    U$ ! [         a     N)f = f! [         a     N'f = f)zPredicate for scipy COO input.Fr   )Ú	coo_array)Ú
coo_matrix)rb   r‰   rc   rd   rŠ   )rI   re   rf   r‰   rŠ   s        rT   Úis_scipy_coor‹   î   rh   ri   c                 ó   • [        U S5      $ )NÚ__array_interface__©rZ   r]   s    rT   Ú_is_np_array_liker�     s   € Ü�4Ð.Ó/Ð/rV   ro   c                 óø   •  U R                   R                  (       d  [        R                  " U SUS9n O[        R                  " XS9n  [        X5      u  pU $ ! [
         a    [        R                  " XS9n  N/f = f)zGHandle numpy slice.  This can be removed if we use __array_interface__.T)Úcopyro   ©ro   )ÚflagsÚc_contiguousrM   ÚarrayÚasarrayÚAttributeErrorr   )rI   ro   s     rT   Ú_maybe_np_slicer˜     sf   € ð-Ø�z‰z×&×&Ü—8’8˜D t°5Ñ9‰Dä—:’:˜dÑ0‰Dô # 4Ó/�K€DØ€Køô ó -Ü�zŠz˜$Ñ,Šð-ús   ‚1A ´A ÁA9Á8A9c                 ó<  • [        U 5        [        X R                  5      u  p[        R                  " 5       n[        [        R                  " [        U 5      [        [        U5      [        U5      [        U5      S9[        R                  " U5      5      5        XsU4$ )z(Initialize data from a 2-D numpy matrix.rx   )r^   r   ro   ry   rz   r?   r;   ÚXGDMatrixCreateFromDenser   rB   r|   r}   r~   )rI   rJ   rt   ru   rv   rs   rp   r€   s           rT   Ú_from_numpy_arrayr›     s   € ô �dÔÜ˜t§Z¡ZÓ0�G€DÜ�_Š_Ó€FÜÜ×%Ò%Ü˜DÓ!ÜÜ˜g›Ü˜G›Ü # OÓ 4ñô
 �LŠL˜Ó ó	
ô
ð  -Ð/Ð/rV   r}   r|   Úi)Úint8Úint16Úint32Úint64Úuint8Úuint16Úuint32Úuint64Úfloat16Úfloat32Úfloat64Úbool)ÚInt8ÚInt16ÚInt32ÚInt64ÚUInt8ÚUInt16ÚUInt32ÚUInt64ÚFloat32ÚFloat64Úboolean)zint8[pyarrow]zint16[pyarrow]zint32[pyarrow]zint64[pyarrow]zuint8[pyarrow]zuint16[pyarrow]zuint32[pyarrow]zuint64[pyarrow]zfloat[pyarrow]zfloat32[pyarrow]zdouble[pyarrow]zfloat64[pyarrow]zbool[pyarrow]zpWhen categorical type is supplied, the experimental DMatrix parameter`enable_categorical` must be set to `True`.c                 ól  • [        U S5      (       a�  [        U R                  S5      (       af  [        U R                  5       VVs/ s H/  u  pUR                  [        ;  d  M  U R
                  U    SU 3PM1     nnnSSR                  U5      -   nOSnSnU S[         SU 3n[        U5      es  snnf )	NÚdtypesÚ__iter__z: z Invalid columns:z, Ú z?DataFrame.dtypes for data must be int, float, bool or category.Ú )	rZ   rµ   Ú	enumerateÚnameÚ_pandas_dtype_mapperÚcolumnsÚjoinÚ_ENABLE_CAT_ERRr\   )rI   rœ   ro   Ú
bad_fieldsÚerrÚtype_errÚmsgs          rT   Ú_invalid_dataframe_dtyperÃ   e  s¶   € ô ˆt�X×Ñ¤7¨4¯;©;¸
×#CÑ#Cô & d§k¡kÔ2ô
â2‘�Ø�z‰zÔ!5Ñ5ó *ˆt�|‰|˜A‰Ð˜r % Ó)Ù2ð 	ñ 
ð
 " D§I¡I¨jÓ$9Ñ9‰àˆàP€HØˆj˜œ/Ð*¨!¨C¨5Ð
3€CÜ
�S‹/Ðùó
s   ÁB0Á#B0ÚPdDataFrameÚmetaÚenable_categoricalc                 ó^  • [        5       nUc˜  Uc•  [        U R                  UR                  5      (       aH  U R                   VVs/ s H.  nSR	                  U Vs/ s H  n[        U5      PM     sn5      PM0     nnnO([        U R                  R                  [
        5      5      n/ nSn	U R                   HÃ  n
[        U
5      (       aO  UR                  [        U
R                  R                     5        U	(       a  [        R                  " S5        Sn	M`  Mb  [!        U
5      (       d  [#        U
5      (       a  U(       a  UR                  [$        5        M    UR                  [        U
R                     5        MÅ     Uc  Uc  UnX#4$ s  snf s  snnf ! [&         a    [)        U 5         Mõ  f = f)z)Handle feature info for pandas dataframe.r¸   Tz3Sparse arrays from pandas are converted into dense.F)r6   rc   r¼   Ú
MultiIndexr½   rQ   ÚlistÚmaprµ   Úis_pd_sparse_dtypeÚappendr»   Úsubtyperº   rO   rP   Úis_pd_cat_dtypeÚis_pa_ext_categorical_dtypeÚCAT_TÚKeyErrorrÃ   )rI   rÅ   ru   rv   rÆ   Úpdrœ   ÚxÚnew_feature_typesÚneed_sparse_extension_warnro   s              rT   Úpandas_feature_inforÖ   w  s\  € ô 
‹€Bð Ñ ¡Ü�d—l‘l B§M¡M×2Ñ2ØDHÇLÂLÔQÂL¸q˜SŸX™X±qÓ&9²q°!¤s¨1¦v±qÑ&9Ö:ÁLˆMÑQˆMä  §¡×!1Ñ!1´#Ó!6Ó7ˆMð ÐØ!%ÐØ—”ˆÜ˜e×$Ñ$Ø×$Ñ$Ô%9¸%¿-¹-×:LÑ:LÑ%MÔNÞ)Ü—’ÐSÔTØ-2Ò*ñ *ô ˜E×"Ñ"Ô&AÀ%×&HÑ&HÞ Ø×$Ñ$¤UÖ+ð/Ø!×(Ñ(Ô)=¸e¿j¹jÑ)IÖJñ ð  Ñ ¡Ø)ˆàÐ'Ð'ùò5 ':ùÓQøô( ó /Ü(¨×.ð/ús*   ÁFÁFÁ/FÅ"FÆFÆF,Æ+F,c                 óT  • SSK Jn  [        X5      (       d  gSSKJnJnJn  U" U 5      =(       a    U R                  [        ;   nU" U 5      =(       a    U R                  S:H  nU" U 5      =(       a    U R                  [        ;   nU=(       d    U=(       d    U=(       d    [        U 5      $ )z(Whether dtype is a pandas nullable type.r   )ÚExtensionDtypeF)Úis_bool_dtypeÚis_float_dtypeÚis_integer_dtyper³   )
Úpandas.api.extensionsrØ   rc   Úpandas.api.typesrÙ   rÚ   rÛ   rº   Úpandas_nullable_mapperrÎ   )ro   rØ   rÙ   rÚ   rÛ   Úis_intÚis_boolÚis_floats           rT   Úis_nullable_dtyperâ   ¡  s   € õ 5ä�e×,Ñ,ØçPÑPá˜eÓ$×M¨¯©Ô7MÑ)M€Fá˜EÓ"×> u§z¡z°YÑ'>€GÙ˜eÓ$×M¨¯©Ô7MÑ)M€HØ×B�W×B ×B¬O¸EÓ,BÐBrV   c                 ó   • [        U S5      $ )z;Return whether dtype is a pyarrow extension type for pandasÚpyarrow_dtyperŽ   r’   s    rT   Úis_pa_ext_dtyperå   ²  s   € ä�5˜/Ó*Ð*rV   c                 ó2   • [        [        U SS5      SS5      $ )z)Check whether dtype is a dictionary type.rä   Nzpyarrow.libÚDictionaryType)r:   Úgetattrr’   s    rT   rÏ   rÏ   ·  s    € äÜ��¨Ó-¨}Ð>Nóð rV   c                  óX  ^• [        5       n [        U R                  S5      (       a}  [        U R                  R                  S5      (       aX  U R                  R                  R                  nU" U R
                  5      U" S5      :¼  a  SSKJm  S[        S[        4U4S jjnU$ SS	K
Jn  U$ )
NÚversionÚVersionú2.1.0r   ©ÚCategoricalDtypero   rK   c                 ó   >• [        U T5      $ ©N©rc   ©ro   rî   s    €rT   Úpd_is_cat_210Ú+_lazy_load_pd_is_cat.<locals>.pd_is_cat_210Ç  s   ø€ Ü! %Ð)9Ó:Ð:rV   ©Úis_categorical_dtype)r6   rZ   Úutilrê   rë   Ú__version__Úpandasrî   r'   r¨   rÝ   rö   )rÒ   rë   ró   rö   rî   s       @rT   Ú_lazy_load_pd_is_catrú   ¾  s   ø€ ä	‹€Bäˆr�w‰w˜	×"Ñ"¤w¨r¯w©w¯©À	×'JÑ'JØ—'‘'—/‘/×)Ñ)ˆÙ�2—>‘>Ó"¡g¨gÓ&6Ó6Ý/ð;¤[ð ;´T÷ ;ð !Ð Ý5àÐrV   c                 ó&   • [        5       nU" U 5      $ )z)Wrapper for testing pandas category type.)rú   )ro   Úis_cats     rT   rÎ   rÎ   Ð  s   € ä!Ó#€FÙ�%‹=ÐrV   c                  óX  ^• [        5       n [        U R                  S5      (       a}  [        U R                  R                  S5      (       aX  U R                  R                  R                  nU" U R
                  5      U" S5      :¼  a  SSKJm  S[        S[        4U4S jjnU$ SS	K
Jn  U$ )
Nrê   rë   rì   r   )ÚSparseDtypero   rK   c                 ó   >• [        U T5      $ rð   rñ   )ro   rþ   s    €rT   Úpd_is_sparse_210Ú1_lazy_load_pd_is_sparse.<locals>.pd_is_sparse_210ß  s   ø€ Ü! %¨Ó5Ð5rV   )Ú	is_sparse)r6   rZ   r÷   rê   rë   rø   rù   rþ   r'   r¨   rÝ   r  )rÒ   rë   r   r  rþ   s       @rT   Ú_lazy_load_pd_is_sparser  Ö  s   ø€ ä	‹€Bäˆr�w‰w˜	×"Ñ"¤w¨r¯w©w¯©À	×'JÑ'JØ—'‘'—/‘/×)Ñ)ˆÙ�2—>‘>Ó"¡g¨gÓ&6Ó6Ý*ð6¬ð 6¼÷ 6ð $Ð#å*àÐrV   c                 ó&   • [        5       nU" U 5      $ )z'Wrapper for testing pandas sparse type.)r  )ro   r  s     rT   rË   rË   é  s   € ä'Ó)€Iá�UÓÐrV   Úserc                 ót  • [        5       n[        (       a  SSKnO
[        5       nU R                  nUR                  5       nUR                  5       nUR                  S:H  =(       a*    UR                  R                  UR                  5      (       + nUR                  USS9n[        XwR                  5      u  pxU$ )z Handle pandas pyarrow extention.r   NF)Úzero_copy_onlyÚwritable)r6   r   Úpyarrowr8   r•   Ú__arrow_array__Úcombine_chunksÚ
null_countÚtypesÚ
is_booleanrR   Úto_numpyr   ro   )	r  rÒ   ÚpaÚd_arrayÚaaÚchunkÚ	zero_copyÚarrrp   s	            rT   Úpandas_pa_typer  ð  s–   € ä	‹€Bç‚}ÜäÓˆð
 .1¯Y©Y€Gð $×3Ñ3Ó5€Bà×)Ñ)Ó+€Eà× Ñ  AÑ%×M¨b¯h©h×.AÑ.AÀ%Ç*Á*Ó.MÔ*M€Ið —n‘n°IÈ�nÐN€CÜ˜c§9¡9Ó-�F€CØ€JrV   c                  óœ   • [         R                  R                  [         R                  5      [         R                  R                  S5      :„  $ )Nz1.25.0)rM   ÚlibÚNumpyVersionrø   © rV   rT   Ú_lazy_has_npdtypesr    s/   € ä�6‰6×ÑœrŸ~™~Ó.´·±×1DÑ1DÀXÓ1NÑNÐNrV   c                  ó   • SSK Jn Jn  X4$ )Nr   ©ÚFloat32DtypeÚFloat64Dtype)rù   r  r  r  s     rT   Ú_lazy_load_pd_floatsr     s   € ç1àÐ%Ð%rV   c                 ób  ^^	^
^• [        5       u  mm	/ n[        5       mSSS[        4S jnSSS[        R                  4UU	U
4S jjnSSS[        R                  4U
U4S jjn[        U R                  U R                  5       GH(  u  nm
[        T
5      (       a  [        S5      e[        T
5      (       a  UR                  U" X   5      5        MM  [        T
5      (       a  UR                  [        X   5      5        M{  [        T
5      (       a  UR                  U" X   5      5        M¦  [        T
5      (       aY  X   R                   nUR#                  5       n[%        U5      (       a  ['        XfR(                  5      u  pgUR                  U5        GM  UR                  U" X   5      5        GM+     U$ )z9Handle categorical dtype and extension types from pandas.r  ÚPdSeriesrK   c                 ó   • U R                   $ rð   )Úcat)r  s    rT   Ú	cat_codesÚ(pandas_transform_data.<locals>.cat_codes$  s   € Ø�w‰wˆrV   c                 ó  >• [        TT5      (       a  [        R                  nO2[        TT5      (       a  [        R                  nO[        R                  n[	        U R                  U[        R                  S9U5      S   $ ©N)ro   Úna_valuer   )rc   rM   r¦   r§   r   r  Únan)r  Ú	res_dtyper  r  ro   s     €€€rT   Únu_typeÚ&pandas_transform_data.<locals>.nu_type'  sc   ø€ ä�e˜\×*Ñ*Ü$&§J¡J‰IÜ˜˜|×,Ñ,ÜŸ
™
‰IäŸ
™
ˆIÜØ�L‰L˜y´2·6±6ˆLÐ:¸Ió
à
ñð 	rV   c                 ó¦  >• T=(       aH    [        U R                  [        R                  R                  [        R                  R
                  45      nU(       d$  T[        R                  [        R                  1;   a  U R                  5       nO,U R                  [        R                  [        R                  S9n[        X"R                  5      S   $ r(  )rc   ro   rM   rµ   ÚFloat32DTypeÚFloat64DTyper¦   r§   r  r*  r   )r  Únpdtypesr•   ro   Ú	np_dtypess      €€rT   Úoth_typeÚ'pandas_transform_data.<locals>.oth_type3  s�   ø€ à÷ 
¤Ø�I‰Iô —	‘	×&Ñ&ä—	‘	×&Ñ&ð	ó"
ˆö �u¤§¡¬R¯Z©ZÐ 8Ó8Ø—L‘L“N‰Eð —L‘L¤r§z¡z¼B¿F¹F�LÐCˆEÜ §{¡{Ó3°AÑ6Ð6rV   zFpyarrow dictionary type is not supported. Use pandas category instead.)r   r  r   rM   ÚndarrayÚzipr¼   rµ   rÏ   r\   rÎ   rÌ   rå   r  râ   rË   rq   Úto_denser�   r   ro   )rI   Úresultr%  r,  r3  Úcolr  rp   r  r  ro   r2  s           @@@@rT   Úpandas_transform_datar:    sd  û€ ô "6Ó!7Ñ€L�,à57€FÜ"Ó$€Ið�zð ¤mô ð
�Zð 
¤B§J¡J÷ 
ñ 
ð7�jð 7¤R§Z¡Z÷ 7ð 7ô( ˜$Ÿ,™,¨¯©×4‰
ˆˆUÜ& u×-Ñ-ÜØXóð ô ˜5×!Ñ!Ø�M‰M™) D¡IÓ.Ö/Ü˜U×#Ñ#Ø�M‰Mœ.¨©Ó3Ö4Ü˜u×%Ñ%Ø�M‰M™' $¡)Ó,Ö-Ü ×&Ñ&Ø‘)×"Ñ"ˆCØ—,‘,“.ˆCÜ  ×%Ñ%Ü)¨#¯y©yÓ9‘�Ø�M‰M˜#×à�M‰M™( 4¡9Ó-×.ñ% 5ð. €MrV   c                   óˆ   ^ • \ rS rSrSrS\\\R                  \	4      S\
\   SS4U 4S jjr\S\\\4   4S j5       rS	rU =r$ )
ÚPandasTransformedia  z1A storage class for transformed pandas DataFrame.r¼   Úref_categoriesrK   Nc                 ó”  >• Xl         / nU R                    H¢  n[        U5      (       aR  [        UR                  UR                  5      u  pVnU R
                  R                  U5        UR                  XV45        Me  [        U[        R                  5      (       d   e[        U5      nUR                  U5        M¤     [        T	U ]1  X#S9  g )N©r=  Úaitfs)r¼   r   r    Ú
categoriesÚcodesÚtemporary_buffersrÌ   rc   rM   r5  r   ÚsuperÚ__init__)
Úselfr¼   r=  r@  r9  ÚjnamesÚjcodesÚbufÚinfÚ	__class__s
            €rT   rE  ÚPandasTransformed.__init__d  s£   ø€ ð
 Œàˆð —<”<ˆCÜ˜#�‰ä&0°·±ÀÇÁÓ&KÑ#� Ø×&Ñ&×-Ñ-¨cÔ2Ø—‘˜fÐ-Ö.ä! #¤r§z¡z×2Ñ2Ð2Ð2Ü*¨3Ó/�à—‘˜SÖ!ñ  ô 	‰Ñ¨ÐÒDrV   c                 óp  • [        U R                  S   5      (       a#  [        U R                  S   R                  5      nO`[	        U R                  S   5      (       a'  U R                  S   R
                  R                  S   nOU R                  S   R                  S   nU[        U R                  5      4$ ©z*Return shape of the transformed DataFrame.r   )r   r¼   r[   rm   r   rB  rX   ©rF  Ú	n_sampless     rT   rX   ÚPandasTransformed.shape|  sŽ   € ô ˜Ÿ™ a™×)Ñ)ä˜DŸL™L¨™O×3Ñ3Ó4‰IÜ˜Ÿ™ Q™×(Ñ(àŸ™ Q™×-Ñ-×3Ñ3°AÑ6‰Ið Ÿ™ Q™×-Ñ-¨aÑ0ˆIØœ#˜dŸl™lÓ+Ð+Ð+rV   ©r¼   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   rM   r5  r   r   r   rE  Úpropertyr
   r}   rX   Ú__static_attributes__Ú__classcell__©rK  s   @rT   r<  r<  a  sf   ø† Ù;ðEà�e˜BŸJ™J¨Ð5Ñ6Ñ7ðEð ! Ñ,ðEð 
÷	Eð0 ð,�u˜S #˜X‘ó ,ó ö,rV   r<  c                 óÚ   • U(       a2  [        U R                  5      S:”  a  U[        ;  a  [        SU S35      e[	        U5      u  p5[        XX#U5      u  p#[        U 5      n[        XeS9UU4$ )Nr   zDataFrame for z cannot have multiple columns©r=  )r[   r¼   Ú_matrix_metar\   r   rÖ   r:  r<  )rI   rÆ   ru   rv   rÅ   r=  Úarrayss          rT   Ú_transform_pandas_dfr`  ‹  sy   € ö ”�D—L‘LÓ! AÓ%¨$´lÓ*BÜ˜>¨$¨Ð/LÐMÓNÐNä$6°}Ó$EÑ!€MÜ#6Ø�MÐ2Dó$Ñ €Mô # 4Ó(€Fä˜&Ñ@ØØðð rV   rº   r€   c                 óú   • [        U SUS9u  n   n[        U R                  5      S:X  a  U R                  S   nO*[        R                  " U R                  5      R
                  n[        XR5      u  pR[        XQX#5        g )NF)rÅ   r   r   )r`  r[   r¼   rM   ÚstackÚTr   Ú_meta_from_numpy)rI   rº   ro   r€   rp   r•   s         rT   Ú_meta_from_pandas_dfre  ¢  sd   € ô & d¨E¸Ñ=�J€Dˆ!ˆQÜ
ˆ4�<‰<Ó˜AÓØ—‘˜Q‘‰ä—’˜Ÿ™Ó&×(Ñ(ˆä# EÓ1�L€EÜ�U %Õ0rV   c                 óè   • [        XXE5      u  ptn[        R                  " 5       n[        [        R
                  " UR                  5       [        X2US9[        R                  " U5      5      5        X„U4$ ©N)rt   rJ   rs   )	r`  ry   rz   r?   r;   ÚXGDMatrixCreateFromColumnarr   rB   r~   )	rI   rÆ   rJ   rt   ru   rv   rs   Údfr€   s	            rT   Ú_from_pandas_dfrj  ²  sp   € ô (<Ø -ó(Ñ$€B�}ô �_Š_Ó€FÜÜ×(Ò(Ø×ÑÓ ÜØÀ/ñô �LŠL˜Ó ó	
ôð  -Ð/Ð/rV   c                 ó<  • [        U R                  5      (       a8  U R                  R                  5       R	                  [
        R                  5      n OR[        U R                  5      (       a  [        U 5      n O,U R                  [
        R                  [
        R                  S9n [        [        U SU 5      5      (       a  U R                  5       n [        U R                  5      S:X  d(  U R                  S   S:X  d  U R                  S   S:X  d   e[        XX#5        g)z6Help transform pandas series for meta data like labels)r)  ro   r   r   N)rË   ro   rq   r7  ÚastyperM   r¦   rå   r  r  r*  rè   r[   rX   rd  )rI   rº   ro   r€   s       rT   Ú_meta_from_pandas_seriesrm  Í  sÄ   € ô ˜$Ÿ*™*×%Ñ%Ø�{‰{×#Ñ#Ó%×,Ñ,¬R¯Z©ZÓ8‰Ü	˜Ÿ™×	$Ñ	$Ü˜dÓ#‰à�}‰}œRŸZ™Z´"·&±&ˆ}Ð9ˆäœ' $¨°Ó6×7Ñ7Ø�}‰}‹ˆÜˆt�z‰z‹?˜aÓ 4§:¡:¨a¡=°AÓ#5¸¿¹ÀA¹È!Ó9KÐKÐKÜ�T Õ/rV   c                 óŠ  • U R                   R                  [        ;  a,  [        U R                   5      (       a  U(       d  [	        U 5        U(       a0  [        U R                   5      (       a  U R
                  R                  n [        U R                  R                  U R                  S   S5      R                  S5      UUUUS9$ )Nr   r   r|   ©rI   rJ   rt   ru   rv   )ro   rº   r»   rÎ   rÃ   r$  rB  r›   rq   ÚreshaperX   rl  )rI   rJ   rt   rÆ   ru   rv   s         rT   Ú_from_pandas_seriesrq  Þ  s�   € ð 	�
‰
�‰Ô3Ó3Ü˜Ÿ
™
×#Ñ#Ö(:ä  Ô&Þœo¨d¯j©j×9Ñ9Ø�x‰x�~‰~ˆÜØ�[‰[× Ñ  §¡¨A¡°Ó2×9Ñ9¸'ÓBØØØ#Ø#ñð rV   c                   óv   ^ • \ rS rSrSr SS\\S      S\\   SS4U 4S jjjr	\
S\\\4   4S	 j5       rS
rU =r$ )ÚArrowTransformediö  z,A storage class for transformed arrow table.Nr¼   ©zpa.NumericArrayzpa.DictionaryArrayr=  rK   c                 óÜ   >^ ^^• UT l         / T l        [        (       a  SS KmO
[	        5       m/ mS[
        S   SS 4UUU 4S jjnT R                    H  nU" U5        M     [        TT ]  UTS9  g )Nr   r9  rt  rK   c                 ó€  >• [        U TR                  5      (       a†  U R                  nU R                  n[        UTR                  TR
                  45      (       d  [        S5      e[        X5      u  p4nT	R                  R                  U5        TR                  X445        g [        U 5      nTR                  U5        g )Nz;Only string-based categorical index is supported for arrow.)rc   ÚDictionaryArrayÚ
dictionaryrm   ÚStringArrayÚLargeStringArrayÚ	TypeErrorr   rC  rÌ   r   )
r9  ÚcatsrB  rG  rH  rI  Újdatar@  r  rF  s
          €€€rT   Úpush_seriesÚ.ArrowTransformed.__init__.<locals>.push_series	  sž   ø€ Ü˜#˜r×1Ñ1×2Ñ2Ø—~‘~�ØŸ™�Ü! $¨¯©¸×9LÑ9LÐ(M×NÑNÜ#ØUóð ô '4°DÓ&@Ñ#� Ø×&Ñ&×-Ñ-¨cÔ2Ø—‘˜fÐ-Õ.ä(¨Ó-�Ø—‘˜UÕ#rV   r?  )r¼   rC  r   r	  r8   r   rD  rE  )rF  r¼   r=  r~  r9  r@  r  rK  s   `    @@€rT   rE  ÚArrowTransformed.__init__ù  st   û€ ð
 ˆŒà.0ˆÔçŠ=Ü äÓ!ˆBàˆð	$œUÐ#JÑKð 	$ÐPT÷ 	$ñ 	$ð —<”<ˆCÙ˜Öñ  ô 	‰Ñ¨¸eÐÒDrV   c                 ó\   • [        U R                  S   5      [        U R                  5      4$ rN  )r[   r¼   ©rF  s    rT   rX   ÚArrowTransformed.shape  s%   € ô �4—<‘< ‘?Ó#¤S¨¯©Ó%6Ð6Ð6rV   )r¼   rC  rð   )rS  rT  rU  rV  rW  r   r   r   r   rE  rX  r
   r}   rX   rY  rZ  r[  s   @rT   rs  rs  ö  sj   ø† Ù6ð
 04ñ"Eà�eÐCÑDÑEð"Eð ! Ñ,ð"Eð 
÷	"Eð "EðH ð7�u˜S #˜X‘ó 7ó ö7rV   rs  zpa.Tablec                 óÊ  • [         (       a  SS KnO
[        5       n[        U 5      u  pV[	        U5      u  p7Uc  UnUc  Un/ nU H‘  n	U R                  U	5      n
U
R                  5       n[        X´R                  5      (       a   UR                  UR                  " 5       5      n[        U5      (       a  U(       d  [        S 5        UR                  U5        M“     [        X‡S9nXÂU4$ )Nr   r]  )r   r	  r8   Ú_arrow_feature_infor   Úcolumnr  rc   ÚBooleanArrayÚcastr�   r   rÃ   rÌ   rs  )rI   rÆ   ru   rv   r  Út_namesÚt_typesr=  r¼   ÚcnameÚcol0r9  Údf_ts                rT   Ú_transform_arrow_tablerŽ  #  sÍ   € ÷ ‚}ÜäÓˆä*¨4Ó0Ñ€GÜ$6°}Ó$EÑ!€MàÑØˆØÑØˆà€GÛˆØ�{‰{˜5Ó!ˆØ>B×>QÑ>QÓ>SˆÜ�cŸ?™?×+Ñ+Ø—(‘(˜2Ÿ7š7›9Ó%ˆCÜ˜×ÑÖ&8ô % TÔ*Ø�‰�sÖñ ô ˜GÑC€DØ Ð-Ð-rV   Ú	n_threadsc                 óè   • [        XXE5      u  ptn[        R                  " 5       n[        [        R
                  " UR                  5       [        X2US9[        R                  " U5      5      5        X„U4$ rg  )	rŽ  ry   rz   r?   r;   rh  r   rB   r~   ©	rI   rÆ   rJ   r�  ru   rv   rs   r�  r€   s	            rT   Ú_from_arrow_tabler’  F  sq   € ô *@Ø -ó*Ñ&€D˜ô �_Š_Ó€FÜÜ×(Ò(Ø× Ñ Ó"ÜØ!ÀOñô �LŠL˜Ó ó	
ôð  -Ð/Ð/rV   c                  óª  • SS K n U R                  " 5       SU R                  " 5       SU R                  " 5       SU R                  " 5       SU R
                  " 5       SU R                  " 5       SU R                  " 5       SU R                  " 5       SU R                  " 5       SU R                  " 5       SU R                  " 5       SU R                  " 5       S0nU$ )Nr   r}   r|   rœ   )r	  r�   rž   rŸ   r    r¡   r¢   r£   r¤   r¥   r¦   r§   Úbool_)r  Úmappings     rT   Ú_arrow_dtyper–  _  s™   € ãð 	�Š‹	�5Ø
�Š‹
�EØ
�Š‹
�EØ
�Š‹
�EØ
�Š‹
�EØ
�	Š	‹�UØ
�	Š	‹�UØ
�	Š	‹�UØ
�
Š
‹�gØ
�
Š
‹�gØ
�
Š
‹�gØ
�Š‹
�Cð€Gð €NrV   c                 ó®   ^^• [         (       a  SS KmO
[        5       mU mTR                  nS[        S[        4UU4S jjn[        [        X!5      5      nX4$ )Nr   rº   rK   c                 óª   >• TR                  U 5      n[        UR                  TR                  5      (       a  [        $ [        5       UR                     $ rð   )r†  rc   rR   rç   rÐ   r–  )rº   r9  r  Útables     €€rT   Úmap_typeÚ%_arrow_feature_info.<locals>.map_type~  s>   ø€ Ø�l‰l˜4Ó ˆÜ�c—h‘h × 1Ñ 1×2Ñ2ÜˆLä‹~˜cŸh™hÑ'Ð'rV   )r   r	  r8   Úcolumn_namesrQ   rÉ   rÊ   )rI   Únamesrš  r  r  r™  s       @@rT   r…  r…  u  sT   ù€ ß‚}ÜäÓˆà€EØ×Ñ€Eð(”sð (œs÷ (ð (ô ”�XÓ%Ó&€EØˆ<ÐrV   c                 ó:   • U n[        UR                  5       XUS9  g )N)rº   ro   r€   )re  Ú	to_pandas)rI   rº   ro   r€   r™  s        rT   Ú_meta_from_arrow_tabler   ‰  s   € ð €EÜ˜Ÿ™Ó*°È6ÓRrV   c                  ó8   • [        5       (       d  [        S5      eg )Nz!`pyarrow` is required for polars.)r9   rd   r  rV   rT   Ú_check_pyarrow_for_polarsr¢  “  s   € Ü×!Ñ!ÜÐ=Ó>Ð>ð "rV   c                 óÊ   • [        U 5      (       a,  U R                  5       n[        R                  " S[        5        OU n[        5         UR                  5       n[        XQX#5      $ )Nz}Using the default parameters for the polars `LazyFrame.collect`. Consider passing a realized `DataFrame` or `Series` instead.)r4   ÚcollectrO   rP   rS   r¢  Úto_arrowrŽ  )rI   rÆ   ru   rv   ri  r™  s         rT   Ú_transform_polars_dfr¦  ˜  sY   € ô ˜D×!Ñ!Ø�\‰\‹^ˆÜ�ŠðCäõ	
ð ˆäÔØ�K‰K‹M€EÜ!Ø =óð rV   c                 óè   • [        XXE5      u  ptn[        R                  " 5       n[        [        R
                  " UR                  5       [        X2US9[        R                  " U5      5      5        X„U4$ rg  )	r¦  ry   rz   r?   r;   rh  r   rB   r~   r‘  s	            rT   Ú_from_polars_dfr¨  ¯  sp   € ô *>Ø -ó*Ñ&€D˜ô �_Š_Ó€FÜÜ×(Ò(Ø× Ñ Ó"ÜØ!ÀOñô �LŠL˜Ó ó	
ôð  -Ð/Ð/rV   c                  óž   ^•  SSK Jm  S[        S[        4U4S jjn U $ ! [         a#     SSKJn    U $ ! [         a    SSKJn     U $ f = ff = f)Nr   rí   ro   rK   c                 ó   >• [        U T5      $ rð   rñ   rò   s    €rT   rö   Ú4_lazy_load_cudf_is_cat.<locals>.is_categorical_dtypeÍ  s   ø€ Ü˜eÐ%5Ó6Ð6rV   rõ   )Úcudfrî   r   r¨   rd   Úcudf.api.typesrö   Úcudf.utils.dtypes)rö   rî   s    @rT   Ú_lazy_load_cudf_is_catr¯  È  sa   ø€ ð
?Ý)ð	7¬ð 	7´÷ 	7ð  Ðøô ó ?ð	?Þ;ð  Ðøô ó 	?ß>àÐð	?úð?ús$   ƒ Ÿ
Aª3³AÁAÁAÁAc                  ó   • SSK Jn   U $ )Nr   ©rÙ   )r­  rÙ   r±  s    rT   Ú_lazy_load_cudf_is_boolr²  Ù  s   € å,àÐrV   c                   ót   ^ • \ rS rSrSrS\\S\4      S\\	   SS4U 4S jjr
\S\\\4   4S	 j5       rS
rU =r$ )ÚCudfTransformedià  z/A storage class for transformed cuDF dataframe.r¼   r"  r=  rK   Nc                 ó�   >^ ^• UT l         / mS[        SS 4UU 4S jjnT R                    H  nU" U5        M     [        TT ]  UTS9  g )Nr  rK   c                 ó  >• [        U 5      (       aS  U R                  U R                  p![        X5      u  p4nTR                  R                  U5        TR                  X445        g [        U 5      nTR                  U5        g rð   )r   rA  rB  r   rC  rÌ   r   )	r  r|  rB  Ú	cats_ainfÚ
codes_ainfrI  Úainfr@  rF  s	          €€rT   r~  Ú-CudfTransformed.__init__.<locals>.push_seriesî  se   ø€ Ü˜#�‰Ø!Ÿn™n¨c¯i©i�eÜ-9¸$Ó-FÑ*�	 sØ×&Ñ&×-Ñ-¨cÔ2Ø—‘˜iÐ4Õ5ô 1°Ó5�Ø—‘˜TÕ"rV   r?  )r¼   r   rD  rE  )rF  r¼   r=  r~  r9  r@  rK  s   `    @€rT   rE  ÚCudfTransformed.__init__ã  sW   ú€ ð
 ˆŒð ˆð		#œSð 		# T÷ 		#ð 		#ð —<”<ˆCÙ˜Öñ  ô 	‰Ñ¨¸eÐÒDrV   c                 óð   • [        U R                  S   5      (       a'  U R                  S   R                  R                  S   nOU R                  S   R                  S   nU[	        U R                  5      4$ rN  )r   r¼   rB  rX   r[   rO  s     rT   rX   ÚCudfTransformed.shapeþ  sa   € ô �d—l‘l 1‘o×&Ñ&ØŸ™ Q™×-Ñ-×3Ñ3°AÑ6‰IàŸ™ Q™×-Ñ-¨aÑ0ˆIØœ#˜dŸl™lÓ+Ð+Ð+rV   rR  )rS  rT  rU  rV  rW  r   r   r   r   r   rE  rX  r
   r}   rX   rY  rZ  r[  s   @rT   r´  r´  à  sb   ø† Ù9ðEà�e˜J¨Ð5Ñ6Ñ7ðEð ! Ñ,ðEð 
÷	Eð6 ð,�u˜S #˜X‘ó ,ó ö,rV   r´  c                 ó  ^^• [        5       n[        5       m[        U 5      (       aD  U" U R                  5      (       a  U R	                  [
        R                  5      n U R                  /nOIU R	                  U R                  SS9 Vs0 s H  of[
        R                  _M     sn5      n U R                  n[        UU4S jU 5       5      (       d  [        U 5        Ucª  [        U 5      (       a  U R                  /nOŒ[        U R                  SS5      (       aH  U R                   VVs/ s H.  nSR                  U Vs/ s H  n[        U5      PM     sn5      PM0     nnnO([!        U R                  R#                  [        5      5      n[%        U5      u  p)UcX  / nU HP  n
T" U
5      (       a  T(       a  UR'                  [(        5        M.  UR'                  [*        U
R                     5        MR     / n[        U 5      (       ab  T" U R                  5      (       a#  T(       a  UR'                  U R,                  5        O³T(       a  [/        [0        5      eUR'                  U 5        O‹[3        U R                  U R                  5       Hg  u  pjX   nT" U
5      (       a$  T(       a  UR'                  UR,                  5        M:  T" U
5      (       a  [/        [0        5      eUR'                  U5        Mi     [5        X¹S9UU4$ s  snf s  snf s  snnf )Nr¨   )Úincludec              3   óz   >#   • U  H0  nUR                   [        ;   =(       d    T" U5      =(       a    Tv •  M2     g 7frð   )rº   r»   )Ú.0ro   rÆ   rö   s     €€rT   Ú	<genexpr>Ú%_transform_cudf_df.<locals>.<genexpr>   s>   øé € ð ò ˆEð 	�
‰
Ô*Ñ*÷ 	@Ù  Ó'×>Ð,>ô	@âùs   ƒ8;zcudf.core.multiindexrÈ   r¸   r]  )r²  r¯  r.   ro   rl  rM   r¡   Úselect_dtypesrµ   ÚallrÃ   rº   r:   r¼   r½   rQ   rÉ   rÊ   r   rÌ   rÐ   r»   r$  r\   r¾   r6  r´  )rI   ru   rv   rÆ   rÙ   rµ   r9  rœ   rÓ   r=  ro   r8  Úseriesrö   s      `         @rT   Ú_transform_cudf_dfrÇ    sf  ù€ ô ,Ó-€Mä1Ó3Ðä�D×ÑÙ˜Ÿ™×$Ñ$Ø—;‘;œrŸx™xÓ(ˆDØ—*‘*�‰à�{‰{Ø&*×&8Ñ&8ÀÐ&8Ñ&HÓIÒ&H˜s”"—(‘(Š]Ñ&HÑIó
ˆð —‘ˆäõ ñ ó÷ ñ ô
 	! Ô&ð ÑÜ˜×ÑØ!ŸY™Y˜K‰MÜ˜TŸ\™\Ð+AÀ<×PÑPØDHÇLÂLÔQÂL¸q˜SŸX™X±qÓ&9²q°!¤s¨1¦v±qÑ&9Ö:ÁLˆMÑQˆMä  §¡×!1Ñ!1´#Ó!6Ó7ˆMô %7°}Ó$EÑ!€MØÑØˆÛˆEÙ# E×*Ñ*Ö/AØ×$Ñ$¤UÖ+à×$Ñ$Ô%9¸%¿*¹*Ñ%EÖFñ	 ð €FÜ�D×Ñá §
¡
×+Ñ+Ö0BØ�M‰M˜$Ÿ(™(Õ#ÞÜœ_Ó-Ð-à�M‰M˜$Õä˜dŸl™l¨D¯K©KÖ8‰JˆCØ‘YˆFÙ# E×*Ñ*Ö/AØ—‘˜fŸj™jÖ)Ù% e×,Ñ,Ü ¤Ó1Ð1à—‘˜fÖ%ñ 9ô 	˜Ñ>ØØðð ùòe Jùò  ':ùÓQs   ÂK:Ä&LÄ;K?ÅLË?Lc           
      óæ   • [        XXE5      u  pcn[        R                  " 5       n[        [        R
                  " UR                  5       [        X!S9[        R                  " U5      5      5        XsU4$ )N)rt   rJ   )	rÇ  ry   rz   r?   r;   ÚXGDMatrixCreateFromCudaColumnarr   rB   r~   )rI   rJ   rt   ru   rv   rÆ   ri  r€   s           rT   Ú_from_cudf_dfrÊ  U  si   € ô (:Ø˜]ó(Ñ$€B�}ô �_Š_Ó€FÜÜ×,Ò,Ø×ÑÓ Ü Ñ9Ü�LŠL˜Ó ó	
ôð  -Ð/Ð/rV   c                 ó   • [        U S5      $ )NÚ__cuda_array_interface__rŽ   r]   s    rT   Ú_is_cupy_alikerÍ  l  s   € Ü�4Ð3Ó4Ð4rV   c                 óü   • SS K n[        U S5      (       d!  [        U S5      (       a  UR                  U SS9n [        U 5      (       d  U R                  UR
                  4;   a  U R                  UR                  SS9n U $ )Nr   rÌ  Ú	__array__F)r‘   )ÚcupyrZ   r•   r   ro   r”  rl  r¦   )rI   rÐ  s     rT   Ú_transform_cupy_arrayrÑ  p  sh   € Ûä�4Ð3×4Ñ4¼ÀÀ{×9SÑ9SØ�z‰z˜$ UˆzÐ+ˆÜ�t×Ñ §
¡
¨t¯z©z¨lÓ :Ø�{‰{˜4Ÿ<™<¨eˆ{Ð4ˆØ€KrV   c           	      ó  • [        U 5      n [        U 5      n[        R                  " 5       n[	        [
        R                  " XS.5      S5      n[        [        R                  " XW[        R                  " U5      5      5        XcU4$ )z%Initialize DMatrix from cupy ndarray.)rJ   rt   zutf-8)rÑ  r   ry   rz   ÚbytesÚjsonÚdumpsr?   r;   Ú%XGDMatrixCreateFromCudaArrayInterfacer~   )rI   rJ   rt   ru   rv   Úinterface_strr€   Úconfigs           rT   Ú_from_cupy_arrayrÙ  z  sm   € ô ! Ó&€DÜ(¨Ó.€MÜ�_Š_Ó€FÜ”4—:’:¨'ÑFÓGÈÓQ€FÜÜ×2Ò2Ø¤6§<¢<°Ó#7ó	
ôð
  -Ð/Ð/rV   c                 ó~   •  SS K n[        XR                  R                  R
                  5      $ ! [         a     gf = f©Nr   F)Úcupyxrd   rc   ÚscipyÚsparsera   ©rI   rÜ  s     rT   Ú_is_cupy_csrrà  Ž  ó;   € ðÛô �dŸK™K×.Ñ.×9Ñ9Ó:Ð:øô ó Ùðúó   ‚/ ¯
<»<c                 ó~   •  SS K n[        XR                  R                  R
                  5      $ ! [         a     gf = frÛ  )rÜ  rd   rc   rÝ  rÞ  rl   rß  s     rT   Ú_is_cupy_cscrä  –  rá  râ  c                 óZ   • S[        [        U 5      5      ;   =(       a    S[        U 5      ;   $ )NÚ	PyCapsuleÚdltensor)rQ   rR   r]   s    rT   Ú
_is_dlpackrè  ž  s#   € Øœ#œd 4›j›/Ñ)×E¨j¼CÀ»IÑ.EÐErV   c                 óD   • SSK Jn  S[        U 5      ;  d   eU" U 5      n U $ )Nr   )Úfrom_dlpackÚused_dltensor)rÐ  rê  rQ   )rI   rê  s     rT   Ú_transform_dlpackrì  ¢  s&   € Ý à¤# d£)Ó+Ð+Ð+Ù�tÓ€DØ€KrV   c                 ó2   • [        U 5      n [        XX#U5      $ rð   )rì  rÙ  ro  s        rT   Ú_from_dlpackrî  ª  s   € ô ˜TÓ"€DÜ˜D¨7À=ÓQÐQrV   c                 óB   • [        U [        [        R                  45      $ rð   )rc   rQ   Úosr(   r]   s    rT   Ú_is_urirñ  µ  s   € Ü�dœS¤"§+¡+Ð.Ó/Ð/rV   c                 óP  • [        X5        [        R                  " 5       n[        R                  " [        R
                  R                  U 5      5      n [        [        U 5      [        U5      S9n[        [        R                  " U[        R                  " U5      5      5        XRU4$ )N)Úurirs   )rU   ry   rz   rð  ÚfspathÚpathÚ
expanduserrB   rQ   r}   r?   r;   ÚXGDMatrixCreateFromURIr~   )rI   rJ   ru   rv   rs   r€   rØ  s          rT   Ú	_from_urirø  ¹  ss   € ô ˜Ô'Ü�_Š_Ó€FÜ�9Š9”R—W‘W×'Ñ'¨Ó-Ó.€DÜœS ›Y¼¸OÓ8LÑM€FÜ”×+Ò+¨F´F·L²LÀÓ4HÓIÔJØ -Ð/Ð/rV   c                 ó"   • [        U [        5      $ rð   )rc   rÉ   r]   s    rT   Ú_is_listrú  È  s   € Ü�dœDÓ!Ð!rV   c           	      ó`   • [         R                  " U 5      n[        U 5        [        UUUUUUS9$ )N©rI   rJ   rt   ru   rv   rs   )rM   r•   r^   r›   )rI   rJ   r�  ru   rv   rs   r•   s          rT   Ú
_from_listrý  Ì  s8   € ô �HŠH�T‹N€EÜ�dÔÜØØØØ#Ø#Ø'ñð rV   c                 ó"   • [        U [        5      $ rð   )rc   Útupler]   s    rT   Ú	_is_tupler   á  s   € Ü�dœEÓ"Ð"rV   c           	      ó   • [        U UUUUUS9$ )N©rI   rJ   r�  ru   rv   rs   )rý  r  s         rT   Ú_from_tupler  å  s#   € ô ØØØØ#Ø#Ø'ñð rV   c                 ó"   • [        U [        5      $ rð   )rc   r<   r]   s    rT   Ú_is_iterr  ø  s   € Ü�dœHÓ%Ð%rV   c                 ó   • [        U S5      $ )NrÏ  rŽ   r]   s    rT   Ú_has_array_protocolr  ü  s   € Ü�4˜Ó%Ð%rV   c                 óØ   • [         R                  " S[        U 5       S3[        5         SS Kn UR                  R                  U 5      n U $ ! [
         a     g f = f! [         a     g f = f)NzUnknown data type: z$, trying to convert it to csr_matrixr   )	rO   rP   rR   rS   rb   rd   rÞ  ra   Ú	Exception)rI   rÝ  s     rT   Ú_convert_unknown_datar
     sq   € Ü‡M‚MØ
œd 4›j˜\Ð)MÐNÜôðÛðØ�|‰|×&Ñ& tÓ,ˆð €Køô ó Ùðûô
 ó Ùðús"   ªA ¯A Á
AÁAÁ
A)Á(A)F)rÆ   rs   Úthreadsc           
      óF  • S[         [        [        [        4      S[        [         [              4S jn[        U 5      (       d+  [        U 5      (       d  [        U 5      (       d  [        U 5        [        U 5      (       a  U" U5      (       d   e[        U UUUUUS9$ [        U 5      (       a  U" U5      (       d   e[        U UUUUUS9$ [        U 5      (       a+  U" U5      (       d   e[        U R                  5       UUUUUS9$ [        U 5      (       a  U" U5      (       d   e[!        U UUUUUS9$ [#        U 5      (       a  U" U5      (       d   e[%        XX4U5      $ ['        U 5      (       a  U" U5      (       d   e[)        U UUUUUS9$ [+        U 5      (       a  U" U5      (       d   e[-        U UUUUUS9$ [        U 5      (       a'  [/        5       nUR1                  U R2                  U 05      n [5        U 5      (       a  [7        U UUUUUUS9$ [9        U 5      (       a  [;        U UUUUUUS9$ [=        U 5      (       a  U R>                  n [        U 5      (       a  [A        5       n	U	R1                  U 5      n [C        U 5      (       a  [E        U UUUUUUS9$ [G        U 5      (       d  [        U 5      (       a  [I        U UUUUUS9$ [K        U 5      (       a  U" U5      (       d   e[M        XX#U5      $ [O        U 5      (       a  [Q        S	5      e[S        U 5      (       a  [Q        S
5      e[U        U 5      (       a  U" U5      (       d   e[W        XX#U5      $ [Y        U 5      (       a  [A        5       n	U	R1                  U 5      n [[        U 5      (       a  [E        U UUUUUS9$ []        U 5      (       a2  U" U5      (       d   e[^        R`                  " U 5      n
[!        U
UUUUS9$ [c        U 5      nUb  U" U5      (       d   e[        UUUUUS9$ [Q        S[e        [g        U 5      5      -   5      e)zDispatch data for DMatrix.rv   rK   c                 óD   • [        U [        5      (       a  [        S5      eg)Nz9Reference category is only supported by DataFrame inputs.T)rc   r   r\   )rv   s    rT   Ú
check_catsÚ)dispatch_data_backend.<locals>.check_cats  s&   € ô �m¤Z×0Ñ0ÜØKóð ð rV   rü  r  )rJ   r�  ru   rv   rs   )rI   rÆ   rJ   rt   ru   rv   rs   )rI   rJ   rt   ru   rv   rÆ   zcupyx CSR is not supported yet.zcupyx CSC is not supported yet.)rI   rÆ   rJ   rt   ru   rv   ro  zNot supported type for data.)4r   r   r$   r   r   r.   r2   r5   r^   rg   r�   r„   r‡   r‹   Útocsrr�   r›   rñ  rø  rú  rý  r   r  r7   rC   rº   r3   r¨  r+   r’  r-   Ú_fsproxy_fastr6   r1   rj  r,   rÊ  rÍ  rÙ  rà  r{  rä  rè  rî  r0   r/   r  rM   r–   r
  rQ   rR   )rI   rJ   r  ru   rv   rÆ   rs   r  ÚplrÒ   r•   Ú	converteds               rT   Údispatch_data_backendr    s„  € ðÜ¤¤l´JÐ&>Ñ ?Ñ@ðä	”8œLÑ)Ñ	*ôô ˜×ÑÜ! $×'Ñ'Ü! $×'Ñ'ä˜$ÔÜ�D×ÑÙ˜-×(Ñ(Ð(Ð(ÜØØØØ'Ø'Ø+ñ
ð 	
ô �D×ÑÙ˜-×(Ñ(Ð(Ð(ÜØØØØ'Ø'Ø+ñ
ð 	
ô �D×ÑÙ˜-×(Ñ(Ð(Ð(ÜØ—‘“ØØØ'Ø'Ø+ñ
ð 	
ô ˜×ÑÙ˜-×(Ñ(Ð(Ð(Ü ØØØØ'Ø'Ø+ñ
ð 	
ô ˆt‡}�}Ù˜-×(Ñ(Ð(Ð(Ü˜¨ÀoÓVÐVÜ�‡~�~Ù˜-×(Ñ(Ð(Ð(ÜØØØØ'Ø'Ø+ñ
ð 	
ô �‡�Ù˜-×(Ñ(Ð(Ð(ÜØØØØ'Ø'Ø+ñ
ð 	
ô ˜×ÑÜ‹_ˆà�|‰|˜TŸY™Y¨Ð-Ó.ˆÜ�$×ÑÜØØØØØ'Ø'Ø+ñ
ð 	
ô �‡�Ü ØØØØØ'Ø'Ø+ñ
ð 	
ô �t×ÑØ×!Ñ!ˆÜ˜×ÑÜ‹_ˆà�|‰|˜DÓ!ˆÜ�T×ÑÜØØ1ØØØ'Ø'Ø+ñ
ð 	
ô �4×ÑœL¨×.Ñ.ÜØØØØ'Ø'Ø1ñ
ð 	
ô �d×ÑÙ˜-×(Ñ(Ð(Ð(Ü ¨wÀ}ÓUÐUÜ�D×ÑÜÐ9Ó:Ð:Ü�D×ÑÜÐ9Ó:Ð:Ü�$×ÑÙ˜-×(Ñ(Ð(Ð(Ü˜D¨7À=ÓQÐQÜ˜×ÑÜ‹_ˆà�|‰|˜DÓ!ˆÜ�D×ÑÜØØ1ØØØ'Ø'ñ
ð 	
ô ˜4× Ñ Ù˜-×(Ñ(Ð(Ð(Ü—
’
˜4Ó ˆÜ ØØØØ'Ø'ñ
ð 	
ô & dÓ+€IØÑÙ˜-×(Ñ(Ð(Ð(ÜØØØØ'Ø'ñ
ð 	
ô Ð2´S¼¸d»³_ÑDÓ
EÐErV   c                 ó”  • [        U S5      (       a·  SU R                   SU 3nU[        ;   a%  [        U R                  5      S:”  a  [	        U5      eg [        U R                  5      S:”  d?  [        U R                  5      S:X  aC  U R                  S   S:w  a/  U R                  S   S:w  a  [	        SU R                   SU 35      eg g g g )NrX   zInvalid shape: z for rY   r   r   )rZ   rX   r^  r[   r\   )rI   rº   rÂ   s      rT   Ú_validate_meta_shaper  Î  sµ   € Üˆt�W×ÑØ §
¡
˜|¨5°°Ð7ˆØ”<ÓÜ�4—:‘:‹ Ó"Ü  “oÐ%Øäˆt�z‰z‹?˜QÓÜ�—
‘
‹O˜qÓ  d§j¡j°¡m°qÓ&8¸T¿Z¹ZÈ¹]ÈaÓ=Oä˜¨t¯z©z¨l¸%À¸vÐFÓGÐGð >PÐ&8Ð ð rV   Úfieldc                 óÜ   • [        X5      u  pU R                  nUR                  SS 5      b  [        S5      e[	        U 5      n[        [        R                  " U[        U5      U5      5        g )NÚmaskzMasked array is not supported.)	r   r�   Úgetr\   r   r?   r;   ÚXGDMatrixSetInfoFromInterfacerA   )rI   r  ro   r€   Ú	interfacer×  s         rT   rd  rd  Ü  s]   € ô # 4Ó/�K€DØ×(Ñ(€IØ‡}�}�V˜TÓ"Ñ.ÜÐ9Ó:Ð:Ü# DÓ)€MÜ”×2Ò2°6¼5À»<ÈÓWÕXrV   c                 óH   • [         R                  " U 5      n[        XAX#5        g rð   )rM   r•   rd  )rI   r  ro   r€   Údata_nps        rT   Ú_meta_from_listr  ê  s   € ô �hŠh�t‹n€GÜ�W UÕ3rV   c                 ó   • [        XX#5      $ rð   )r  )rI   r  ro   r€   s       rT   Ú_meta_from_tupler!  ñ  s   € ô ˜4¨Ó6Ð6rV   c                 óÖ   • U[         ;  a  [        U R                  S S 2S4   X5        g U R                  n [	        U 5      n[        [        R                  " U[        U5      U5      5        g ©Nr   )	r^  Ú_meta_from_cudf_seriesÚilocrq   r   r?   r;   r  rA   )rI   r  r€   r  s       rT   Ú_meta_from_cudf_dfr&  ÷  sN   € Ø”LÓ Ü˜tŸy™yª¨A¨™°Õ>à�{‰{ˆÜ(¨Ó.ˆ	Ü”D×6Ò6°v¼uÀU»|ÈYÓWÕXrV   c                 ó„   • [        X5        [        U 5      n[        [        R                  " U[        U5      U5      5        g rð   )r   r   r?   r;   r  rA   ©rI   r  r€   rJ  s       rT   r$  r$     s/   € Ü�DÔ Ü
˜tÓ
$€CÜ”×2Ò2°6¼5À»<ÈÓMÕNrV   c                 ó„   • [        U 5      n [        U 5      n[        [        R                  " U[        U5      U5      5        g rð   )rÑ  r   r?   r;   r  rA   r(  s       rT   Ú_meta_from_cupy_arrayr*    s1   € Ü  Ó&€DÜ
˜tÓ
$€CÜ”×2Ò2°6¼5À»<ÈÓMÕNrV   Úmatrixc                 óL  • U R                   nUc   e[        X5        Uc  g[        U5      (       a  [        XX45        g[	        U5      (       a  [        XX45        g[        U5      (       a  [        XX45        g[        U5      (       a  [        XX45        g[        U5      (       a  UR                  n[        U5      (       aF  [        U5      (       a  UR                  5       n[        5         [        UR!                  5       X#U5        g[#        U5      (       a  [%        XX4S9  g['        U5      (       a  [)        XX45        g[+        U5      (       a  [-        U5      n[/        XU5        g[1        U5      (       a  [3        XU5        g[5        U5      (       a  [7        XU5        g[9        U5      (       a  [/        XU5        g[;        U5      (       a  [%        XX4S9  g[=        U5      (       ai  UR>                  RA                  S5      n[C        URD                  5      S:X  d(  URD                  S   S:X  d  URD                  S   S:X  d   e[        XX45        g[G        U5      (       a#  [H        RJ                  " U5      n[        XRX45        g[M        SU-   [O        [Q        U5      5      5      e)zDispatch for meta info.N)ro   r€   r|   r   r   zUnsupported type for ))r€   r  rú  r  r   r!  r�   rd  r+   r   r-   r  r3   r4   r¤  r¢  r¥  r1   re  r2   rm  rè  rì  r*  r.   r$  r,   r&  rÍ  r/   r0   rq   rl  r[   rX   r  rM   r–   r{  rQ   rR   )r+  rI   rº   ro   r€   r•   s         rT   Údispatch_meta_backendr-    s(  € ð �]‰]€FØÑÐÐÜ˜Ô$Ø�|ØÜ�‡~�~Ü˜ EÔ2ØÜ�‡�Ü˜ UÔ3ØÜ˜×ÑÜ˜ UÔ3ØÜ�‡�Ü˜t¨5Ô9ØÜ�t×ÑØ×!Ñ!ˆÜ�$×ÑÜ ×%Ñ%Ø—<‘<“>ˆDÜ!Ô#Ü˜tŸ}™}›°¸VÔDØÜ�T×ÑÜ˜T¨uÒDØÜ˜×ÑÜ  ¨UÔ;ØÜ�$×ÑÜ  Ó&ˆÜ˜d¨&Ô1ØÜ�D×ÑÜ˜t¨6Ô2ØÜ�4×ÑÜ˜4 vÔ.ØÜ�d×ÑÜ˜d¨&Ô1ØÜ�D×ÑÜ˜T¨uÒDØÜ˜×ÑØ�{‰{×!Ñ! 'Ó*ˆÜ�4—:‘:‹ !Ó# t§z¡z°!¡}¸Ó'9¸T¿Z¹ZÈ¹]ÈaÓ=OÐOÐOÜ˜ UÔ3ØÜ˜4× Ñ ä—
’
˜4Ó ˆÜ˜ eÔ4ØÜ
Ð+¨dÑ2´C¼¸T»
³OÓ
DÐDrV   c                   óT   ^ • \ rS rSrSrS\SS4U 4S jjrS\S\4S jr	SS	 jr
S
rU =r$ )ÚSingleBatchInternalIteriL  zìAn iterator for single batch data to help creating device DMatrix.
Transforming input directly to histogram with normal single batch data API
can not access weight for sketching.  So this iterator acts as a staging
area for meta info.

ÚkwargsrK   Nc                 ó:   >• Xl         SU l        [        TU ]  SS9  g )Nr   F)Úrelease_data)r0  ÚitrD  rE  )rF  r0  rK  s     €rT   rE  Ú SingleBatchInternalIter.__init__T  s!   ø€ ØŒØˆŒô 	‰Ñ eÐÒ,rV   Ú
input_datac                 ót   • U R                   S:X  a  gU =R                   S-  sl         U" S0 U R                  D6  g)Nr   FTr  ©r3  r0  )rF  r5  s     rT   ÚnextÚSingleBatchInternalIter.next\  s/   € Ø�7‰7�a‹<ØØ�Š�1‰�ÙÑ!�T—[‘[Ò!ØrV   c                 ó   • SU l         g r#  )r3  r‚  s    rT   ÚresetÚSingleBatchInternalIter.resetc  s	   € Øˆ�rV   r7  ©rK   N)rS  rT  rU  rV  rW  r   rE  r   r¨   r8  r;  rY  rZ  r[  s   @rT   r/  r/  L  s8   ø† ñð- ð -¨÷ -ð˜xð ¨Dô ÷ò rV   r/  c                 ó,  • [        U 5      (       a  U R                  n [        U 5      (       d  [        U 5      (       a  [	        XX#5      $ [        U 5      (       a  [        U 5      n XU4$ [        U 5      (       a  [        U 5      X4$ [        U 5      (       d  [        U 5      (       a  [        R                  " U 5      n [        U 5      (       a  [        X R                  5      u  pXU4$ [!        U 5      (       a  [#        U S5      n XU4$ [%        U 5      (       a  [#        U R'                  5       S5      n XU4$ [)        U 5      (       a  [#        U R'                  5       S5      n XU4$ [+        U 5      (       a  [-        XX5      u  pQnXQU4$ [/        U 5      (       a  [1        5       nUR3                  U 5      n [5        U 5      (       a  [7        XX5      u  pqnXqU4$ [9        U 5      (       a  [;        XX5      u  p�nX�U4$ [=        S[?        [A        U 5      5      -   5      e)NTú.Value type is not supported for data iterator:)!r-   r  r,   r.   rÇ  rÍ  rÑ  rè  rì  rú  r   rM   r•   r�   r   ro   rg   rr   r„   r  r‹   r3   r¦  r2   r6   rC   r+   rŽ  r1   r`  r{  rQ   rR   )	rI   ru   rv   rÆ   rp   Údf_plrÒ   Údf_pari  s	            rT   Ú_proxy_transformrB  g  sð  € ô �t×ÑØ×!Ñ!ˆÜ�4×ÑœL¨×.Ñ.Ü!Ø ó
ð 	
ô �d×ÑÜ$ TÓ*ˆØ MÐ1Ð1Ü�$×ÑÜ  Ó&¨ÐDÐDÜ�‡~�~œ 4Ÿ™Ü�xŠx˜‹~ˆÜ˜×ÑÜ" 4¯©Ó4‰ˆØ MÐ1Ð1Ü�D×ÑÜ% d¨DÓ1ˆØ MÐ1Ð1Ü�D×ÑÜ% d§j¡j£l°DÓ9ˆØ MÐ1Ð1Ü�D×ÑÜ% d§j¡j£l°DÓ9ˆØ MÐ1Ð1Ü�$×ÑÜ.BØ mó/
Ñ+ˆ˜mð  ]Ð2Ð2Ü˜×ÑÜ‹_ˆà�|‰|˜DÓ!ˆÜ�‡�Ü.DØ mó/
Ñ+ˆ˜mð  ]Ð2Ð2Ü�T×ÑÜ+?Ø mó,
Ñ(ˆ˜=ð  -Ð/Ð/Ü
ÐDÄsÌ4ÐPTË:ÃÑVÓ
WÐWrV   c                 ó`   ^ • [        U 4S j[        [        [        [        [
        4 5       5      $ )z0Whether the data is a CUDA-based data structure.c              3   ó4   >#   • U  H  nU" T5      v •  M     g 7frð   r  )rÁ  ÚprI   s     €rT   rÂ  Úis_on_cuda.<locals>.<genexpr>ž  s"   øé € ð 	ò
ˆAñ 	
ˆ$�ˆò
ùs   ƒ)Úanyr,   r.   r-   rÍ  rè  r]   s   `rT   Ú
is_on_cudarH  œ  s0   ø€ äô 	ô ÜÜÜÜñ
ó	ó 	ð 	rV   Úproxyc                 ó   • [        U5      (       d+  [        U5      (       d  [        U5      (       d  [        U5        [	        U[
        5      (       a  U R                  U5        g[        U5      (       a  U R                  U5        g[        U5      (       a  [        U5      nU R                  U5        g[	        U[        [        45      (       a  U R                  U5        g[        U5      (       a  [        U5        U R                  U5        g[!        U5      (       a  U R#                  U5        g[%        S['        [)        U5      5      -   5      nUe)zDispatch for QuantileDMatrix.Nr?  )r.   r2   r5   r^   rc   r´  Ú_ref_data_from_cuda_columnarrÍ  Ú_ref_data_from_cuda_interfacerè  rì  rs  r<  Ú_ref_data_from_columnarr�   Ú_ref_data_from_arrayrg   Ú_ref_data_from_csrr{  rQ   rR   )rI  rI   rÀ   s      rT   Údispatch_proxy_set_datarP  ª  s  € ô ˜×ÑÜ! $×'Ñ'Ü! $×'Ñ'ä˜$Ôä�$œ×(Ñ(à×*Ñ*¨4Ô0ØÜ�d×ÑØ×+Ñ+¨DÔ1ØÜ�$×ÑÜ  Ó&ˆØ×+Ñ+¨DÔ1Øä�$Ô)Ô+<Ð=×>Ñ>Ø×%Ñ% dÔ+ØÜ˜×ÑÜ˜$ÔØ×"Ñ" 4Ô(ØÜ�D×ÑØ× Ñ  Ô&Øä
ÐDÄsÌ4ÐPTË:ÃÑVÓ
W€CØ
€IrV   )NNNr=  rð   )¯rW  ry   Ú	functoolsrÔ  rð  rO   Útypingr   r   r   r   r   r   r	   r
   r   r   r   ÚnumpyrM   Ú_data_utilsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    Ú_typingr!   r"   r#   r$   r%   r&   r'   r(   r)   r*   Úcompatr+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   Úcorer;   r<   r=   r>   r?   r@   rA   rB   r	  r  rù   rC   rÄ   rD   r"  rz   rE   Ú__annotations__rÐ   r^  rU   r^   r¨   rg   rr   ÚROWr}   r�   r„   r‡   r‹   r5  r�   r˜   r›   r»   rÞ   Úpandas_pyarrow_mapperÚupdater¾   rÃ   rQ   rÖ   râ   rå   rÏ   Úcacherú   rÎ   r  rË   r  r  rÿ  r   r:  r<  r`  re  rj  rm  rq  rs  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  r
  r  r  rd  r  r!  r&  r$  r*  r-  r/  rB  rH  rP  r  rV   rT   Ú<module>r]     sr  ðò $ã Û Û Û 	Û ÷÷ ÷ ñ ó ÷÷ ÷ ÷ ÷ ÷(÷ ÷ ÷÷ ÷ ÷ ó ÷$	÷ 	ó 	ö ÛÝ/Ý)ð .3Ø
‡O�O�X˜lÑ+¨X°lÑ-CÐCñ.Ð  ó ð 	€ð ˜wÐ'€ð
˜xð 
°(¸?Ñ2Kð 
ÐPTô 
ðU˜Hð U¨ô Uð
!�xð ! Dô !ð& ð °4ð ¸Hô ð@ &3×%6Ñ%6ò0à
ð0ð ð0ð ð	0ð
 ˜LÑ)ð0ð ˜LÑ)ð0ð #ð0ð %õ0ð<!�xð ! Dô !ð4 &3×%6Ñ%6ò0à
ð0ð ð0ð ð	0ð
 ˜LÑ)ð0ð ˜LÑ)ð0ð #ð0ð %õ0ð:!�xð ! Dô !ð&0˜Hð 0¨°2·:±:Ñ)>ô 0ð
˜(ð 
¨8°JÑ+?ð 
ÀBÇJÁJô 
ð( &3×%6Ñ%6ò0à
�*‰*ð0ð ð0ð ð	0ð
 ˜LÑ)ð0ð ˜LÑ)ð0ð #ð0ð %õ0ð8 ØØØØØØØØØØØñÐ ð" ØØØØØØØØØØñÐ ð ØØØØØØØØØØØØñÐ ð  × Ñ Ð2Ô 3Ø × Ñ Ð1Ô 2ð2ð ð 8ð °ô ð$'(Ø
ð'(à
�3‰-ð'(ð ˜LÑ)ð'(ð ˜LÑ)ð	'(ð
 ð'(ð ˆ8�LÑ! 8¨LÑ#9Ð9Ñ:ô'(ðTC˜[ð C¨Tô Cð"+˜3ð + 4ô +ð
 sð ¨tô ð ‡�ð ˜h¨ }°dÐ':Ñ;ó  ó ð ð"˜;ð ¨4ô ð ‡�ð ¨;¨-¸Ð*=Ñ!>ó ó ðð$˜kð ¨dô ð˜ð  §
¡
ô ð> ‡�ðO˜Dó Oó ðOð ‡�ð&˜eó &ó ð&ðCØ
ðCà	ˆ%�—
‘
˜MÐ)Ñ
*Ñ+ôCôL',˜ô ',ðZ -1Ø?CØñØ
ðàðð ˜LÑ)ðð ˜E ,°
Ð":Ñ;Ñ<ð	ð
 �3‰-ðð Ð˜h |Ñ4°h¸|Ñ6LÐLÑMõð.1Ø
ð1à
ð1ð �JÑð1ð �O‰Oð	1ð
 
ô1ð0 &3×%6Ñ%6ò0à
ð0ð ð0ð ð	0ð
 ð0ð ˜LÑ)ð0ð ˜E ,°
Ð":Ñ;Ñ<ð0ð #ð0ð %õ0ð60Ø
ð0Øð0Ø&.¨zÑ&:ð0ØDJÇOÁOð0à	ô0ð"à
ðð ðð ð	ð
 ðð ˜LÑ)ðð ˜LÑ)ðð %ôô0*7�}ô *7ðZ .Ø
ð .àð .ð ˜LÑ)ð .ð ˜E ,°
Ð":Ñ;Ñ<ð	 .ð
 Ð˜X lÑ3°X¸lÑ5KÐKÑLô .ðT &3×%6Ñ%6ñ0Ø
ð0àð0ð ð0ð ð	0ð
 ˜LÑ)ð0ð ˜E ,°
Ð":Ñ;Ñ<ð0ð #ð0ð %õ0ð2 ‡�ð�d˜8 S˜=Ñ)ó ó ðð*˜hð ¨5°°c±¸D°Ñ+Aô ð(SØ
ðSà
ðSð �JÑðSð �O‰Oð	Sð
 
ôSô?ð
Ø
ðàðð ˜LÑ)ðð ˜E ,°
Ð":Ñ;Ñ<ð	ð
 Ð˜X lÑ3°X¸lÑ5KÐKÑLôð< &3×%6Ñ%6ñ0Ø
ð0àð0ð ð0ð ð	0ð
 ˜LÑ)ð0ð ˜E ,°
Ð":Ñ;Ñ<ð0ð #ð0ð %õ0ð2 ‡�ð  ¨#¨°¨Ñ 5ó  ó ð ð  ‡�ð ¨3¨%°¨+Ñ!6ó ó ðô%,�mô %,ðPJØ
ðJà˜LÑ)ðJð ˜E ,°
Ð":Ñ;Ñ<ðJð ð	Jð
 ØØˆ\ÑØˆ\ÑðñôJðZ0à
ð0ð ð0ð ð	0ð
 ˜LÑ)ð0ð ˜E ,°
Ð":Ñ;Ñ<ð0ð ð0ð %ô0ð.5˜ð 5 dô 5ð ð ¨Uô ð0Ø
ð0àð0ð ð0ð ˜LÑ)ð	0ð
 ˜LÑ)ð0ð %ô0ð(;�xð ; Dô ;ð;�xð ; Dô ;ðF�Xð F $ô Fð˜Hð ¨ô ðRØ
ðRàðRð ðRð ˜LÑ)ð	Rð
 ˜LÑ)ðRð %ôRð0�(ð 0˜y¨Ñ2ô 0ð &3×%6Ñ%6ñ0Ø
ð0à�oÑ&ð0ð ˜LÑ)ð0ð ˜LÑ)ð	0ð
 #ð0ð %õ0ð"�8ð " 	¨$¡ô "ð &3×%6Ñ%6òà
ðð ðð ð	ð
 ˜LÑ)ðð ˜LÑ)ðð #ðð %õð*#�Hð # ¨5Ñ!1ô #ð &3×%6Ñ%6òà
ðð ðð ð	ð
 ˜LÑ)ðð ˜LÑ)ðð #ðð %õð&&�8ð & 	¨(Ñ 3ô &ð&˜hð &¨4ô &ð ð ¨Xô ð2  %Ø%2×%6Ñ%6òyFà
ðyFð ðyFð ð	yFð
 ˜LÑ)ðyFð ˜E ,°
Ð":Ñ;Ñ<ðyFð ðyFð #ðyFð %õyFðxH˜xð H¨sð H°tô HðYØ
�*‰*ðYàðYð �JÑðYð �O‰Oð	Yð
 
ôYð4Ø
ð4Øð4Ø'/°
Ñ';ð4ØEKÇ_Á_ð4à	ô4ð7Ø
ð7Øð7Ø'/°
Ñ';ð7ØEKÇ_Á_ð7à	ô7ðY˜Xð Y¨cð Y¸6¿?¹?ð YÈtô YðO ð O°#ð O¸v¿¹ð OÐSWô OðO ð O°ð O¸f¿o¹oð OÐRVô Oð OSñ=EØð=EØ#ð=EØ+.ð=EØ7?À
Ñ7Kð=Eà	õ=Eô@˜hô ð62XØ
ð2Xà˜LÑ)ð2Xð ˜LÑ)ð2Xð ð	2Xð
 ô2Xðj�Sð ˜Tô ð$Øð$à
ð$ð 
õ$rV   