§
    cŠtj¸M  ã                  óÈ  — U d dl mZ d dlmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZmZ d dlmZ d dlmZmZmZmZmZmZmZmZ d dlmZ d d	lmZ erwd d
lmZmZm Z m!Z! d dl"m#Z# d dl$m%Z% d dl&m'Z' d dlm(Z( d dl)mc m*Z+ d dl,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dlm9Z9m:Z: d dl;m<Z< d dl=m>Z> d dlm?Z? d dlm@Z@mAZAmBZB dZCdeDd<   	  G d„ ded         e¦  «        ZEdS ) é    )Úannotations)ÚTYPE_CHECKINGÚAnyN)Úadd_row_indexÚevaluate_exprs)Únative_to_narwhals_dtypeÚselect_columns_by_name)Úassert_never)ÚImplementationÚValidateBackendVersionÚ_remap_full_join_keysÚcheck_column_names_are_uniqueÚcheck_columns_existÚgenerate_temporary_column_nameÚnot_implementedÚparse_columns_to_drop)ÚMultiOutputExpressionError)ÚCompliantLazyFrame)ÚIterableÚIteratorÚMappingÚSequence)ÚBytesIO)ÚPath)Ú
ModuleType)Ú	TypeAlias)ÚSelfÚTypeIs)ÚCompliantDataFrameAny)ÚDaskExpr©ÚDaskLazyGroupBy©ÚDaskNamespace)Ú_EagerAllowedImpl)ÚVersionÚ_LimitedContext)Ú	LazyFrame)ÚDType)ÚColumnNotFoundError)ÚAsofJoinStrategyÚJoinStrategyÚUniqueKeepStrategyr   r   Ú
Incompletec                  óÎ  — e Zd Zej        Zddœd}d„Zed~d„¦   «         Ze	dd„¦   «         Z
d€d„Zd�d„Zd‚d„Zdƒd„Zd„d„Zd…d„Zd†d#„Zd‡d%„Zdˆd(„Zd‰d*„ZdŠd/„Zed‹d1„¦   «         ZdŒd3„Zd�d6„Zd‰d7„Zd‰d8„ZdŽd:„Zed�d<„¦   «         Zd�d=„Zd�d@„Zd‘dC„Z d’dF„Z!d“dI„Z"d”dL„Z#d•dQ„Z$d–dU„Z%d—dZ„Z&d—d[„Z'd—d\„Z(d˜d]„Z)d™d^„Z*d™d_„Z+dšdc„Z,d›df„Z-dœdk„Z.d�dp„Z/d“dq„Z0džds„Z1dŸdx„Z2d d{„Z3 e4¦   «         Z5d|S )¡ÚDaskLazyFrameF)Úvalidate_backend_versionÚnative_dataframeúdd.DataFrameÚversionr&   r1   ÚboolÚreturnÚNonec               ón   — || _         || _        d | _        d | _        |r|                      ¦   «          d S d S ©N)Ú_native_frameÚ_versionÚ_cached_schemaÚ_cached_columnsÚ_validate_backend_version)Úselfr2   r4   r1   s       úV/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/narwhals/_dask/dataframe.pyÚ__init__zDaskLazyFrame.__init__:   sM   € ð ,<ˆÔØˆŒØ7;ˆÔØ15ˆÔØ#ð 	-Ø×*Ò*Ñ,Ô,Ð,Ð,Ð,ð	-ð 	-ó    Úobjúdd.DataFrame | AnyúTypeIs[dd.DataFrame]c                ó6   — t          | t          j        ¦  «        S r9   )Ú
isinstanceÚddÚ	DataFrame)rC   s    r@   Ú
_is_nativezDaskLazyFrame._is_nativeH   s   € å˜#�rœ|Ñ,Ô,Ð,rB   ÚdataÚcontextr'   r   c              ó&   —  | ||j         ¬¦  «        S ©N©r4   )r;   )ÚclsrK   rL   s      r@   Úfrom_nativezDaskLazyFrame.from_nativeL   s   € àˆs�4 Ô!1Ð2Ñ2Ô2Ð2rB   úLazyFrame[dd.DataFrame]c                ó:   — | j                              | d¬¦  «        S )NÚlazy)Úlevel)r;   Ú	lazyframe©r?   s    r@   Úto_narwhalszDaskLazyFrame.to_narwhalsP   s   € ØŒ}×&Ò& t°6Ð&Ñ:Ô:Ð:rB   r   c                ó¦   — | j         t          j        u r| j                              ¦   «         S dt	          | j         ¦  «        › �}t          |¦  «        ‚)NzExpected dask, got: )Ú_implementationr   ÚDASKÚto_native_namespaceÚtypeÚAssertionError)r?   Úmsgs     r@   Ú__native_namespace__z"DaskLazyFrame.__native_namespace__S   sN   € ØÔ¥>Ô#6Ð6Ð6ØÔ'×;Ò;Ñ=Ô=Ð=àA¥T¨$Ô*>Ñ%?Ô%?ÐAÐAˆÝ˜SÑ!Ô!Ð!rB   r$   c                ó0   — ddl m}  || j        ¬¦  «        S )Nr   r#   rO   )Únarwhals._dask.namespacer$   r;   )r?   r$   s     r@   Ú__narwhals_namespace__z$DaskLazyFrame.__narwhals_namespace__Z   s)   € Ø:Ð:Ð:Ð:Ð:Ð:àˆ} T¤]Ð3Ñ3Ô3Ð3rB   c                ó   — | S r9   © rW   s    r@   Ú__narwhals_lazyframe__z$DaskLazyFrame.__narwhals_lazyframe___   s   € ØˆrB   c                ó:   — |                       | j        |¬¦  «        S rN   )Ú	__class__Únative)r?   r4   s     r@   Ú_with_versionzDaskLazyFrame._with_versionb   s   € Ø�~Š~˜dœk°7ˆ~Ñ;Ô;Ð;rB   Údfr   c                ó:   — |                       || j        ¬¦  «        S rN   )rh   r;   )r?   rk   s     r@   Ú_with_nativezDaskLazyFrame._with_nativee   s   € Ø�~Š~˜b¨$¬-ˆ~Ñ8Ô8Ð8rB   ÚsubsetúSequence[str]úColumnNotFoundError | Nonec                ó.   — t          || j        ¬¦  «        S )N)Ú	available)r   Úcolumns)r?   rn   s     r@   Ú_check_columns_existz"DaskLazyFrame._check_columns_existh   s   € Ý" 6°T´\ÐBÑBÔBÐBrB   úIterator[dx.Series]c              #  óP   K  — | j                              ¦   «         D ]	\  }}|V — Œ
d S r9   )ri   Úitems)r?   Ú_colÚsers      r@   Ú_iter_columnszDaskLazyFrame._iter_columnsk   s<   è è € Øœ×*Ò*Ñ,Ô,ð 	ð 	‰IˆD�#ØˆIˆIˆIˆIð	ð 	rB   r    ú	dx.Seriesc                ó„   — |                      | ¦  «        }t          |¦  «        dk    rd}t          |¦  «        ‚|d         S )Né   z4multi-output expressions not allowed in this contextr   )Ú_callÚlenr   )r?   rC   Úresultsr_   s       r@   Ú_evaluate_single_output_exprz*DaskLazyFrame._evaluate_single_output_expro   s?   € Ø—)’)˜D‘/”/ˆÝˆw‰<Œ<˜1ÒÐØHˆCÝ,¨SÑ1Ô1Ð1Ø�qŒzÐrB   Úexprsc           	     ó€   — t          | g|¢R Ž }|                       | j        j        di t	          |¦  «        ¤Ž¦  «        S )Nre   )r   rm   ri   ÚassignÚdict)r?   r‚   Ú
new_seriess      r@   Úwith_columnszDaskLazyFrame.with_columnsv   sI   € Ý# DÐ1¨5Ð1Ð1Ð1ˆ
Ø× Ò Ð!3 ¤Ô!3Ð!GÐ!Gµd¸:Ñ6FÔ6FÐ!GÐ!GÑHÔHÐHrB   Úbackendú_EagerAllowedImpl | NoneÚkwargsr   c                ó¼  —  | j         j        d
i |¤Ž}|�|t          j        u r%ddlm}  ||t          j        d| j        d¬¦  «        S |t          j        u r0dd l}ddl	m
}  ||                     |¦  «        d| j        ¬¦  «        S |t          j        u r6dd l}ddlm}  ||j                             |¦  «        d| j        d¬¦  «        S d	|› �}	t#          |	¦  «        ‚)Nr   )ÚPandasLikeDataFrameT)Úimplementationr1   r4   Úvalidate_column_names)ÚPolarsDataFrame)r1   r4   )ÚArrowDataFrame)r1   r4   rŽ   zUnsupported `backend` value: re   )ri   Úcomputer   ÚPANDASÚnarwhals._pandas_like.dataframerŒ   r;   ÚPOLARSÚpolarsÚnarwhals._polars.dataframer�   Úfrom_pandasÚPYARROWÚpyarrowÚnarwhals._arrow.dataframer�   ÚTableÚ
ValueError)
r?   rˆ   rŠ   ÚresultrŒ   Úplr�   Úpar�   r_   s
             r@   ÚcollectzDaskLazyFrame.collectz   sN  € ð %�”Ô$Ð.Ð. vÐ.Ð.ˆàˆ?˜g­Ô)>Ð>Ð>ØKÐKÐKÐKÐKÐKà&Ð&ØÝ-Ô4Ø)-ØœØ&*ðñ ô ð ð •nÔ+Ð+Ð+ØÐÐÐàBÐBÐBÐBÐBÐBà"�?Ø—’˜vÑ&Ô&Ø)-Øœðñ ô ð ð •nÔ,Ð,Ð,Ø Ð Ð Ð à@Ð@Ð@Ð@Ð@Ð@à!�>Ø”×$Ò$ VÑ,Ô,Ø)-ØœØ&*ð	ñ ô ð ð 8¨gÐ7Ð7ˆÝ˜‰oŒoÐrB   ú	list[str]c                óš   — | j         €>| j        �t          | j        ¦  «        n| j        j                             ¦   «         | _         | j         S r9   )r=   r<   ÚlistÚschemari   rs   ÚtolistrW   s    r@   rs   zDaskLazyFrame.columns¤   sO   € àÔÐ'ð Ô&Ð2õ �T”[Ñ!Ô!Ð!à”[Ô(×/Ò/Ñ1Ô1ð Ô ð
 Ô#Ð#rB   Ú	predicatec                ón   —  || ¦  «        d         }|                       | j        j        |         ¦  «        S )Nr   )rm   ri   Úloc)r?   r¦   Úmasks      r@   ÚfilterzDaskLazyFrame.filter®   s1   € àˆy˜‰Œ˜qÔ!ˆØ× Ò  ¤¤°Ô!6Ñ7Ô7Ð7rB   Úcolumn_namesÚstrc                ó€   — | j         }t          |t          |¦  «        | j        ¦  «        }|                      |¦  «        S r9   )ri   r	   r£   rZ   rm   )r?   r«   rk   ri   s       r@   Úsimple_selectzDaskLazyFrame.simple_select³   s9   € ØœˆÝ'¨­D°Ñ,>Ô,>ÀÔ@TÑUÔUˆØ× Ò  Ñ(Ô(Ð(rB   c                ó†   — t          | g|¢R Ž }t          j        d„ |D ¦   «         d¬¦  «        }|                      |¦  «        S )Nc                ó>   — g | ]\  }}|                      |¦  «        ‘ŒS re   )Úrename)Ú.0ÚnameÚvals      r@   ú
<listcomp>z+DaskLazyFrame.aggregate.<locals>.<listcomp>º   s(   € ÐEÐEÐE©Y¨T°3˜Ÿ
š
 4Ñ(Ô(ÐEÐEÐErB   r}   ©Úaxis)r   rH   Úconcatrm   ©r?   r‚   r†   rk   s       r@   Ú	aggregatezDaskLazyFrame.aggregate¸   sN   € Ý# DÐ1¨5Ð1Ð1Ð1ˆ
ÝŒYÐEÐE¸*ÐEÑEÔEÈAÐNÑNÔNˆØ× Ò  Ñ$Ô$Ð$rB   c           	     óÄ   — t          | g|¢R Ž }| j        }t           |j        di t	          |¦  «        ¤Žd„ |D ¦   «         | j        ¦  «        }|                      |¦  «        S )Nc                ó   — g | ]
}|d          ‘ŒS )r   re   )r²   Úss     r@   rµ   z(DaskLazyFrame.select.<locals>.<listcomp>Â   s   € Ð&Ð&Ð&�aˆQˆqŒTÐ&Ð&Ð&rB   re   )r   ri   r	   r„   r…   rZ   rm   r¹   s       r@   ÚselectzDaskLazyFrame.select½   sw   € Ý# DÐ1¨5Ð1Ð1Ð1ˆ
ØœˆÝ#ØˆBŒIÐ)Ð)�˜ZÑ(Ô(Ð)Ð)Ø&Ð&˜:Ð&Ñ&Ô&ØÔ ñ
ô 
ˆð
 × Ò  Ñ$Ô$Ð$rB   úSequence[str] | Nonec                ó  — |€,|                       | j                             ¦   «         ¦  «        S |                      ¦   «         }|                      |j        |Ž                      ¦   «         d¬¦  «         }|                      |¦  «        S )NT)Úignore_nulls)rm   ri   Údropnarc   Úany_horizontalÚcolÚis_nullrª   )r?   rn   Úplxr©   s       r@   Ú
drop_nullszDaskLazyFrame.drop_nullsÇ   s|   € Øˆ>Ø×$Ò$ T¤[×%7Ò%7Ñ%9Ô%9Ñ:Ô:Ð:Ø×)Ò)Ñ+Ô+ˆØ×"Ò" 7 3¤7¨FÐ#3×#;Ò#;Ñ#=Ô#=ÈDÐ"ÑQÔQÐQˆØ�{Š{˜4Ñ Ô Ð rB   údict[str, DType]c                óv   ‡ ‡— ‰ j         €*‰ j        j        Šˆˆ fd„‰ j        j        D ¦   «         ‰ _         ‰ j         S )Nc                óT   •— i | ]$}|t          ‰|         ‰j        ‰j        ¦  «        “Œ%S re   )r   r;   rZ   )r²   rÄ   Únative_dtypesr?   s     €€r@   ú
<dictcomp>z(DaskLazyFrame.schema.<locals>.<dictcomp>Ò   sI   ø€ ð #ð #ð #ð ð Õ-Ø! #Ô&¨¬°tÔ7Kñô ð#ð #ð #rB   )r<   ri   Údtypesrs   )r?   rË   s   `@r@   r¤   zDaskLazyFrame.schemaÎ   sY   øø€ àÔÐ&Ø œKÔ.ˆMð#ð #ð #ð #ð #ð  œ;Ô.ð	#ñ #ô #ˆDÔð Ô"Ð"rB   c                ó   — | j         S r9   )r¤   rW   s    r@   Úcollect_schemazDaskLazyFrame.collect_schemaÚ   s
   € ØŒ{ÐrB   rs   Ústrictc               ó‚   — t          | ||¬¦  «        }|                      | j                             |¬¦  «        ¦  «        S )N©rÐ   ©rs   )r   rm   ri   Údrop)r?   rs   rÐ   Úto_drops       r@   rÔ   zDaskLazyFrame.dropÝ   s=   € Ý'¨¨g¸fÐEÑEÔEˆà× Ò  ¤×!1Ò!1¸'Ð!1Ñ!BÔ!BÑCÔCÐCrB   r³   Úorder_byc                ó6  — |€(|                       t          | j        |¦  «        ¦  «        S |                      ¦   «         }| j        }|                     dd ¬¦  «                             |¦  «                             ¦   «         }|                     |¦  «         	                    d¬¦  «         
                    g |¬¦  «        |                     dd ¬¦  «                             ¦   «         z
  }|                      |¦  «                             | |j        |Ž ¦  «        S )Nr}   ©ÚdtypeF)Úreverse)Úpartition_byrÖ   )rm   r   ri   rc   rs   ÚlitÚaliasÚ	broadcastrÄ   Úcum_sumÚoverr‡   r¾   )r?   r³   rÖ   rÆ   rs   Ú
const_exprÚrow_index_exprs          r@   Úwith_row_indexzDaskLazyFrame.with_row_indexâ   sû   € ð ÐØ×$Ò$¥]°4´;ÀÑ%EÔ%EÑFÔFÐFØ×)Ò)Ñ+Ô+ˆØ”,ˆØ—W’W˜Q d�WÑ+Ô+×1Ò1°$Ñ7Ô7×AÒAÑCÔCˆ
à�GŠG�D‰MŒM×!Ò!¨%Ð!Ñ0Ô0×5Ò5À2ÐPXÐ5ÑYÔYØ�gŠg�a˜tˆgÑ$Ô$×.Ò.Ñ0Ô0ñ1ð 	ð × Ò  Ñ,Ô,×3Ò3°NÀGÀCÄGÈWÐDUÑVÔVÐVrB   ÚmappingúMapping[str, str]c                ó^   — |                       | j                             |¬¦  «        ¦  «        S )NrÓ   )rm   ri   r±   )r?   rä   s     r@   r±   zDaskLazyFrame.renameð   s)   € Ø× Ò  ¤×!3Ò!3¸GÐ!3Ñ!DÔ!DÑEÔEÐErB   ÚnÚintc                ób   — |                       | j                             |dd¬¦  «        ¦  «        S )NFéÿÿÿÿ©rç   r‘   Únpartitions)rm   ri   Úhead)r?   rç   s     r@   rí   zDaskLazyFrame.headó   s.   € Ø× Ò  ¤×!1Ò!1°A¸uÐRTÐ!1Ñ!UÔ!UÑVÔVÐVrB   Úkeepr-   c               ó^  — |r|                       |¦  «        x}r|‚|dk    r¬|p| j        }t          d|d¬¦  «        }| j                             |¦  «                             ¦   «                              |¦  «        }||dk             }|                     ¦   «                              |¬¦  «        }| j         	                    ||d¬¦  «        }nLd	d
i 
                    ||¦  «        }	|r | j        |dddœŽj        }
n| j        }
|
                     ||	¬¦  «        }|                      |¦  «        S )NÚnoneé   Úcount_©Ún_bytesrs   Úprefixr}   rÓ   Úinner)ÚonÚhowÚanyÚfirstF)Ú
descendingÚ
nulls_last)rn   rî   )rt   rs   r   ri   ÚgroupbyÚsizer±   Úreset_indexrÔ   ÚmergeÚgetÚsortÚdrop_duplicatesrm   )r?   rn   rî   rÖ   ÚerrorÚtokenry   Úuniquer�   Úmapped_keepri   s              r@   r  zDaskLazyFrame.uniqueö   sI  € ð ð 	 × 9Ò 9¸&Ñ AÔ AÐA�uð 	ØˆKØ�6Š>ˆ>ØÐ+˜tœ|ˆFÝ2Ø 6°(ðñ ô ˆEð ”+×%Ò% fÑ-Ô-×2Ò2Ñ4Ô4×;Ò;¸EÑBÔBˆCØ�c˜Q’h”-ˆCØ—_’_Ñ&Ô&×+Ò+°EÐ+Ñ:Ô:ˆFØ”[×&Ò& v°&¸gÐ&ÑFÔFˆFˆFà  'Ð*×.Ò.¨t°TÑ:Ô:ˆKØð %Ø"˜œ H¸È5ÐQÐQÐQÔX��àœ�Ø×+Ò+°6ÀÐ+ÑLÔLˆFØ× Ò  Ñ(Ô(Ð(rB   Úbyrû   úbool | Sequence[bool]rü   c               óÒ   — t          |t          ¦  «        r| }nd„ |D ¦   «         }|rdnd}|                      | j                             t          |¦  «        ||¬¦  «        ¦  «        S )Nc                ó   — g | ]}| ‘ŒS re   re   )r²   Úds     r@   rµ   z&DaskLazyFrame.sort.<locals>.<listcomp>  s   € Ð3Ð3Ð3 1˜Q˜Ð3Ð3Ð3rB   Úlastrú   )Ú	ascendingÚna_position)rG   r5   rm   ri   Úsort_valuesr£   )r?   rû   rü   r  r  Úpositions         r@   r  zDaskLazyFrame.sort  sv   € Ý�j¥$Ñ'Ô'ð 	4Ø/9¨>ˆIˆIà3Ð3¨
Ð3Ñ3Ô3ˆIØ'Ð4�6�6¨WˆØ× Ò ØŒK×#Ò#¥D¨¡H¤H¸	ÈxÐ#ÑXÔXñ
ô 
ð 	
rB   ÚkúIterable[str]rÚ   c               ó0  ‡— | j         }| j        Št          |¦  «        }t          |t          ¦  «        rot          ˆfd„|D ¦   «         ¦  «        rT|r)|                      |                     ||¦  «        ¦  «        S |                      |                     ||¦  «        ¦  «        S t          |t          ¦  «        r|gt          |¦  «        z  }|                      | 
                    |t          |¦  «        ¬¦  «                             |dd¬¦  «        ¦  «        S )Nc              3  óL   •K  — | ]}‰|                               ¦   «         V — Œd S r9   )Ú
is_numeric)r²   Úxr¤   s     €r@   ú	<genexpr>z&DaskLazyFrame.top_k.<locals>.<genexpr>  s3   øè è € Ð,PÐ,PÈ¨V°A¬Y×-AÒ-AÑ-CÔ-CÐ,PÐ,PÐ,PÐ,PÐ,PÐ,PrB   )r  Frê   rë   )ri   r¤   r£   rG   r5   Úallrm   Ú	nsmallestÚnlargestr   r  rí   )r?   r  r  rÚ   rk   r¤   s        @r@   Útop_kzDaskLazyFrame.top_k  s  ø€ ØŒ[ˆØ”ˆÝ�"‰XŒXˆÝ�g�tÑ$Ô$ð 	9­Ð,PÐ,PÐ,PÐ,PÈRÐ,PÑ,PÔ,PÑ)PÔ)Pð 	9Øð >Ø×(Ò(¨¯ª°a¸Ñ)<Ô)<Ñ=Ô=Ð=Ø×$Ò$ R§[¢[°°BÑ%7Ô%7Ñ8Ô8Ð8Ý�g�tÑ$Ô$ð 	*Ø�i¥# b¡'¤'Ñ)ˆGØ× Ò Ø�NŠN˜2­¨g©¬ˆNÑ7Ô7×<Ò<Ø˜U°ð =ñ ô ñ
ô 
ð 	
rB   ÚotherÚleft_onÚright_onÚsuffixc               óx   — | j                              |d¬¦  «                             |j         ||dd|f¬¦  «        S )Nrù   ©rn   rø   rö   Ú ©r  r  rø   Úsuffixes)ri   rÂ   r   )r?   r  r  r  r   s        r@   Ú_join_innerzDaskLazyFrame._join_inner+  sL   € ð Œ{×!Ò!¨°eÐ!Ñ<Ô<×BÒBØŒLØØØØ˜&�\ð Cñ 
ô 
ð 	
rB   c               óæ   ‡ ‡— ‰ j                              |j                              |d¬¦  «        d||d‰f¬¦  «        }ˆ ˆfd„t          ||d¬¦  «        D ¦   «         }|                     |¬	¦  «        S )
Nrù   r"  Úleftr#  ©rø   r  r  r%  c                óD   •— g | ]\  }}||k    ¯|‰j         vr|n|› ‰› �‘ŒS re   rÓ   )r²   Úleft_keyÚ	right_keyr?   r   s      €€r@   rµ   z,DaskLazyFrame._join_left.<locals>.<listcomp>@  sM   ø€ ð 
ð 
ð 
á#�˜)Ø˜HÒ$Ð$ð #¨$¬,Ð6Ð6ˆIˆI¸yÐ<RÈ&Ð<RÐ<Rà$Ð$Ð$rB   TrÒ   rÓ   )ri   r   rÂ   ÚziprÔ   )r?   r  r  r  r   Úresult_nativeÚextras   `   `  r@   Ú
_join_leftzDaskLazyFrame._join_left6  sŸ   øø€ ð œ×)Ò)ØŒL×Ò x°UÐÑ;Ô;ØØØØ˜&�\ð *ñ 
ô 
ˆð
ð 
ð 
ð 
ð 
å'*¨7°HÀTÐ'JÑ'JÔ'Jð
ñ 
ô 
ˆð
 ×!Ò!¨%Ð!Ñ0Ô0Ð0rB   c               ó  ‡— | j         }t          ||‰¦  «        }|j                              |¬¦  «        }t          |j        ¦  «         t          |                     ¦   «         ¦  «        }|t          |¦  «                                      ¦   «                              d¬¦  «        }	||                              ¦   «                              d¬¦  «        }
t          |j        ¦  «         
                    | j        ¦  «                             |¦  «        }||
                              ˆfd„|D ¦   «         ¬¦  «        }||	                               ||
          ||dd‰f¬¦  «        }t          j        |||	         |gdd¬	¦  «        S )
NrÓ   r}   r¶   c                ó   •— i | ]	}||› ‰› �“Œ
S re   re   )r²   rÄ   r   s     €r@   rÌ   z,DaskLazyFrame._join_full.<locals>.<dictcomp>X  s&   ø€ Ð@Ð@Ð@¨s�S˜SÐ* &Ð*Ð*Ð@Ð@Ð@rB   Úouterr#  r$  r   )r·   Újoin)ri   r   r±   r   rs   r£   ÚvaluesÚisnarù   ÚsetÚintersectionÚ
differencer   rH   r¸   )r?   r  r  r  r   Úself_nativeÚright_on_mapperÚother_nativeÚright_suffixedÚleft_null_maskÚright_null_maskÚ	to_renameÚright_null_rowsÚjoin_results       `         r@   Ú
_join_fullzDaskLazyFrame._join_fullG  s†  ø€ ð
 ”kˆÝ/°¸À6ÑJÔJˆØ”|×*Ò*°?Ð*ÑCÔCˆÝ% lÔ&:Ñ;Ô;Ð;Ý˜o×4Ò4Ñ6Ô6Ñ7Ô7ˆà$¥T¨'¡]¤]Ô3×8Ò8Ñ:Ô:×>Ò>ÀAÐ>ÑFÔFˆØ& ~Ô6×;Ò;Ñ=Ô=×AÒAÀqÐAÑIÔIˆõ ˜œÑ&Ô&×3Ò3°D´LÑAÔA×LÒLÈXÑVÔVˆ	Ø& Ô7×>Ò>Ø@Ð@Ð@Ð@°iÐ@Ñ@Ô@ð ?ñ 
ô 
ˆð " > /Ô2×8Ò8Ø˜/Ð)Ô*ØØ#ØØ˜&�\ð 9ñ 
ô 
ˆõ ŒyØ˜+ nÔ5°ÐGØØð
ñ 
ô 
ð 	
rB   c               óì   — t          dg | j        ¢|j        ¢R d¬¦  «        } | j        j        d	i |di¤Ž                      |j        j        d	i |di¤Žd||d|f¬¦  «                             |¬¦  «        S )
Nrñ   Úcross_join_key_ró   r   rö   r#  r)  rÓ   re   )r   rs   ri   r„   r   rÔ   )r?   r  r   Ú	key_tokens       r@   Ú_join_crosszDaskLazyFrame._join_crossh  s¤   € Ý2ØÐ> ¤Ð>°´Ð>Ð>ÐGXð
ñ 
ô 
ˆ	ð ˆDŒKÔÐ0Ð0 )¨Q Ð0Ð0ßŠUØ#�”Ô#Ð5Ð5 y°! nÐ5Ð5ØØ!Ø"Ø˜f˜ð ñ ô ÷ ŠT˜)ˆTÑ$Ô$ð
	
rB   c               óì   — |                       |t          |¦  «        t          t          ||d¬¦  «        ¦  «        ¬¦  «        }| j                             |d¬¦  «                             |d||¬¦  «        S )NFrÒ   ©r  Úcolumns_to_selectÚcolumns_mappingrù   r"  rö   )rø   r  r  )Ú_join_filter_renamer£   r…   r-  ri   rÂ   r   )r?   r  r  r  r<  s        r@   Ú
_join_semizDaskLazyFrame._join_semix  s‚   € ð ×/Ò/ØÝ" 8™nœnÝ ¥ X¨w¸uÐ!EÑ!EÔ!EÑFÔFð 0ñ 
ô 
ˆð
 Œ{×!Ò!¨°eÐ!Ñ<Ô<×BÒBØ˜g¨wÀð Cñ 
ô 
ð 	
rB   c               ó~  — t          dg | j        ¢|j        ¢R d¬¦  «        }|                      |t          |¦  «        t	          t          ||d¬¦  «        ¦  «        ¬¦  «        }| j                             |                     |d¬¦  «        d	|||¬
¦  «        }|||         dk              	                    |g¬¦  «        S )Nrñ   Újoin_indicator_ró   FrÒ   rI  rù   r"  r(  )rø   Ú	indicatorr  r  Ú	left_onlyrÓ   )
r   rs   rL  r£   r…   r-  ri   r   rÂ   rÔ   )r?   r  r  r  Úindicator_tokenr<  rk   s          r@   Ú
_join_antizDaskLazyFrame._join_anti„  sß   € õ 9ØÐ> ¤Ð>°´Ð>Ð>ÐGXð
ñ 
ô 
ˆð ×/Ò/ØÝ" 8™nœnÝ ¥ X¨w¸uÐ!EÑ!EÔ!EÑFÔFð 0ñ 
ô 
ˆð
 Œ[×ÒØ×Ò w°EÐÑ:Ô:ØØ%ØØð ñ 
ô 
ˆð �"�_Ô%¨Ò4Ô5×:Ò:ÀOÐCTÐ:ÑUÔUÐUrB   rJ  rK  údict[str, str]c                óˆ   — |j         }t          ||| j        ¦  «                             |¬¦  «                             ¦   «         S )z®Helper function to avoid creating extra columns and row duplication.

        Used in `"anti"` and `"semi`" join's.

        Notice that a native object is returned.
        rÓ   )ri   r	   rZ   r±   r  )r?   r  rJ  rK  r<  s        r@   rL  z!DaskLazyFrame._join_filter_rename˜  s?   € ð $)¤<ˆõ # <Ð1BÀDÔDXÑYÔYßŠV˜OˆVÑ,Ô,ßŠ_ÑÔð	
rB   rø   r,   c               óê  — |dk    r|                       ||¬¦  «        }nÁ|�|€t          ||¦  «        ‚|dk    r|                      ||||¬¦  «        }n�|dk    r|                      |||¬¦  «        }nn|dk    r|                      |||¬¦  «        }nO|dk    r|                      ||||¬¦  «        }n/|d	k    r|                      ||||¬¦  «        }nt          |¦  «         |                      |¦  «        S )
NÚcross)r  r   rö   )r  r  r  r   Úanti)r  r  r  Úsemir(  Úfull)	rG  rœ   r&  rS  rM  r0  rC  r
   rm   )r?   r  rø   r  r  r   r�   s          r@   r4  zDaskLazyFrame.join©  s3  € ð �'Š>ˆ>Ø×%Ò%¨E¸&Ð%ÑAÔAˆFˆFàˆ_ Ð 0Ý˜W hÑ/Ô/Ð/à�GŠ^ˆ^Ø×%Ò%Ø W°xÈð &ñ ô ˆFˆFð �FŠ]ˆ]Ø—_’_¨5¸'ÈH�_ÑUÔUˆFˆFØ�FŠ]ˆ]Ø—_’_¨5¸'ÈH�_ÑUÔUˆFˆFØ�FŠ]ˆ]Ø—_’_Ø W°xÈð %ñ ô ˆFˆFð �FŠ]ˆ]Ø—_’_Ø W°xÈð %ñ ô ˆFˆFõ ˜ÑÔÐØ× Ò  Ñ(Ô(Ð(rB   Úby_leftÚby_rightÚstrategyr+   c               ó¢   — |                       ¦   «         }|                      |                     | j        |j        |||||d|f¬¦  «        ¦  «        S )Nr#  )r  r  Úleft_byÚright_byÚ	directionr%  )r`   rm   Ú
merge_asofri   )	r?   r  r  r  r[  r\  r]  r   rÆ   s	            r@   Ú	join_asofzDaskLazyFrame.join_asofÌ  sc   € ð ×'Ò'Ñ)Ô)ˆØ× Ò Ø�NŠNØ”Ø”ØØ!ØØ!Ø"Ø˜f˜ð ñ 	ô 	ñ
ô 
ð 	
rB   Úkeysú"Sequence[str] | Sequence[DaskExpr]Údrop_null_keysr"   c               ó*   — ddl m}  || ||¬¦  «        S )Nr   r!   )rf  )Únarwhals._dask.group_byr"   )r?   rd  rf  r"   s       r@   Úgroup_byzDaskLazyFrame.group_byå  s-   € ð 	<Ð;Ð;Ð;Ð;Ð;àˆ˜t T¸.ÐIÑIÔIÐIrB   c                óª   — | j         }|j        }|dk    r/|                      | j                              |d¬¦  «        ¦  «        S d}t	          |¦  «        ‚)Nr}   F)rç   r‘   zL`LazyFrame.tail` is not supported for Dask backend with multiple partitions.)ri   rì   rm   ÚtailÚNotImplementedError)r?   rç   Únative_frameÚn_partitionsr_   s        r@   rk  zDaskLazyFrame.tailì  s]   € Ø”{ˆØ#Ô/ˆà˜1ÒÐØ×$Ò$ T¤[×%5Ò%5¸À5Ð%5Ñ%IÔ%IÑJÔJÐJàZð 	õ " #Ñ&Ô&Ð&rB   Úoffsetc                ó<  — t          d| j        d¬¦  «        }|                      ¦   «         }|                     |d ¬¦  «                             ¦   «         }|                     |d ¬¦  «                             ¦   «         }|                     dd ¬¦  «                             ¦   «         }|                      |d ¬¦  «                             |                     |¦  «        |k    |                     |¦  «        |z
  |z  |k    z  ¦  «                             |gd¬¦  «        S )	Nrñ   Ú
row_index_ró   rØ   r   )rÖ   FrÒ   )	r   rs   rc   rÜ   rÞ   rã   rª   rÄ   rÔ   )r?   rç   ro  Úrow_index_tokenrÆ   Úoffset_exprÚn_exprÚ	zero_exprs           r@   Úgather_everyzDaskLazyFrame.gather_every÷  s  € Ý8Ø˜tœ|°Lð
ñ 
ô 
ˆð ×)Ò)Ñ+Ô+ˆØ—g’g˜f¨D�gÑ1Ô1×;Ò;Ñ=Ô=ˆØ—’˜ $�Ñ'Ô'×1Ò1Ñ3Ô3ˆØ—G’G˜A T�GÑ*Ô*×4Ò4Ñ6Ô6ˆ	à×Ò ¸$ÐÑ?Ô?ßŠVØ—’˜Ñ)Ô)¨[Ò8Ø—G’G˜OÑ,Ô,¨{Ñ:¸fÑDÈ	ÒQñSñô ÷ ŠT�?Ð#¨EˆTÑ2Ô2ð	
rB   r÷   ÚindexÚvariable_nameÚ
value_namec                ód   — |                       | j                             ||||¬¦  «        ¦  «        S )N)Úid_varsÚ
value_varsÚvar_namery  )rm   ri   Úmelt)r?   r÷   rw  rx  ry  s        r@   ÚunpivotzDaskLazyFrame.unpivot  sB   € ð × Ò ØŒK×ÒØØØ&Ø%ð	 ñ ô ñ
ô 
ð 	
rB   Úfileústr | Path | BytesIOc                ó:   — | j                              |¦  «         d S r9   )ri   Ú
to_parquet)r?   r€  s     r@   Úsink_parquetzDaskLazyFrame.sink_parquet  s   € ØŒ×Ò˜tÑ$Ô$Ð$Ð$Ð$rB   N)r2   r3   r4   r&   r1   r5   r6   r7   )rC   rD   r6   rE   )rK   r3   rL   r'   r6   r   )r6   rR   )r6   r   )r6   r$   )r6   r   )r4   r&   r6   r   )rk   r   r6   r   )rn   ro   r6   rp   )r6   ru   )rC   r    r6   r{   )r‚   r    r6   r   )rˆ   r‰   rŠ   r   r6   r   )r6   r¡   )r¦   r    r6   r   )r«   r¬   r6   r   )rn   r¿   r6   r   )r6   rÈ   )rs   ro   rÐ   r5   r6   r   )r³   r¬   rÖ   r¿   r6   r   )rä   rå   r6   r   )rç   rè   r6   r   )rn   r¿   rî   r-   rÖ   r¿   r6   r   )r  r¬   rû   r	  rü   r5   r6   r   )r  rè   r  r  rÚ   r	  r6   r   )
r  r   r  ro   r  ro   r   r¬   r6   r3   )r  r   r   r¬   r6   r3   )r  r   r  ro   r  ro   r6   r3   )r  r   rJ  r¡   rK  rT  r6   r3   )r  r   rø   r,   r  r¿   r  r¿   r   r¬   r6   r   )r  r   r  r¬   r  r¬   r[  r¿   r\  r¿   r]  r+   r   r¬   r6   r   )rd  re  rf  r5   r6   r"   )rç   rè   ro  rè   r6   r   )
r÷   r¿   rw  r¿   rx  r¬   ry  r¬   r6   r   )r€  r�  r6   r7   )6Ú__name__Ú
__module__Ú__qualname__r   r[   rZ   rA   ÚstaticmethodrJ   ÚclassmethodrQ   rX   r`   rc   rf   rj   rm   rt   rz   r�   r‡   r    Úpropertyrs   rª   r®   rº   r¾   rÇ   r¤   rÏ   rÔ   rã   r±   rí   r  r  r  r&  r0  rC  rG  rM  rS  rL  r4  rc  ri  rk  rv  r  r„  r   Úexplodere   rB   r@   r0   r0   4   så  € € € € € ð %Ô)€Oð */ð-ð -ð -ð -ð -ð -ð ð-ð -ð -ñ „\ð-ð ð3ð 3ð 3ñ „[ð3ð;ð ;ð ;ð ;ð"ð "ð "ð "ð4ð 4ð 4ð 4ð
ð ð ð ð<ð <ð <ð <ð9ð 9ð 9ð 9ðCð Cð Cð Cðð ð ð ðð ð ð ðIð Ið Ið Ið(ð (ð (ð (ðT ð$ð $ð $ñ „Xð$ð8ð 8ð 8ð 8ð
)ð )ð )ð )ð
%ð %ð %ð %ð
%ð %ð %ð %ð!ð !ð !ð !ð ð	#ð 	#ð 	#ñ „Xð	#ðð ð ð ðDð Dð Dð Dð
Wð Wð Wð WðFð Fð Fð FðWð Wð Wð Wð)ð )ð )ð )ð6
ð 
ð 
ð 
ð
ð 
ð 
ð 
ð 	
ð 	
ð 	
ð 	
ð1ð 1ð 1ð 1ð"
ð 
ð 
ð 
ðB
ð 
ð 
ð 
ð 

ð 

ð 

ð 

ðVð Vð Vð Vð(
ð 
ð 
ð 
ð"!)ð !)ð !)ð !)ðF
ð 
ð 
ð 
ð2Jð Jð Jð Jð	'ð 	'ð 	'ð 	'ð
ð 
ð 
ð 
ð"
ð 
ð 
ð 
ð %ð %ð %ð %ð ˆoÑÔ€G€G€GrB   r0   )r    r3   rR   )FÚ
__future__r   Útypingr   r   Údask.dataframeÚ	dataframerH   Únarwhals._dask.utilsr   r   Únarwhals._pandas_like.utilsr   r	   Únarwhals._typing_compatr
   Únarwhals._utilsr   r   r   r   r   r   r   r   Únarwhals.exceptionsr   Únarwhals.typingr   Úcollections.abcr   r   r   r   Úior   Úpathlibr   Útypesr   r   Údask.dataframe.dask_exprÚ	dask_exprÚdxÚtyping_extensionsr   r   Únarwhals._compliant.typingr   Únarwhals._dask.exprr    rh  r"   rb   r$   Únarwhals._typingr%   r&   r'   Únarwhals.dataframer(   Únarwhals.dtypesr)   r*   r+   r,   r-   r.   Ú__annotations__r0   re   rB   r@   ú<module>r¤     sÜ  ðØ "Ð "Ð "Ð "Ð "Ð "Ð "à %Ð %Ð %Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð Ð Ð à >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ø XÐ XÐ XÐ XÐ XÐ XÐ XÐ XØ 0Ð 0Ð 0Ð 0Ð 0Ð 0ð	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	ð ;Ð :Ð :Ð :Ð :Ð :Ø .Ð .Ð .Ð .Ð .Ð .àð SØEÐEÐEÐEÐEÐEÐEÐEÐEÐEÐEÐEØÐÐÐÐÐØÐÐÐÐÐØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ð)Ø.Ð.Ð.Ð.Ð.Ð.Ð.Ð.à@Ð@Ð@Ð@Ð@Ð@Ø,Ð,Ð,Ð,Ð,Ð,Ø7Ð7Ð7Ð7Ð7Ð7Ø6Ð6Ð6Ð6Ð6Ð6Ø2Ð2Ð2Ð2Ð2Ð2Ø8Ð8Ð8Ð8Ð8Ð8Ð8Ð8Ø,Ð,Ð,Ð,Ð,Ð,Ø%Ð%Ð%Ð%Ð%Ð%Ø7Ð7Ð7Ð7Ð7Ð7ØRÐRÐRÐRÐRÐRÐRÐRÐRÐRà€
Ð Ð Ð Ñ ððg ð g ð g ð g ð g ØÐLÔMØñg ô g ð g ð g ð g rB   