ó
    Ñ]jª  ã                  óŠ   • S r SSKJr  SSKrSSKJrJrJr  SSKr	\(       a  SSK
Jr  SSKJrJrJr          S	S jrS
S jrg)z#
Templates for invalid operations.
é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚNoReturn)ÚCallable)Ú	ArrayLikeÚScalarÚnptc                óB  • U[         R                  L a%  [        R                  " U R                  [
        S9nU$ U[         R                  L a%  [        R                  " U R                  [
        S9nU$ [        U5      R                  n[        SU R                   SU 35      e)av  
If a comparison has mismatched types and is not necessarily meaningful,
follow python3 conventions by:

    - returning all-False for equality
    - returning all-True for inequality
    - raising TypeError otherwise

Parameters
----------
left : array-like
right : scalar, array-like
op : operator.{eq, ne, lt, le, gt}

Raises
------
TypeError : on inequality comparisons
)Údtypez!Invalid comparison between dtype=z and )ÚoperatorÚeqÚnpÚzerosÚshapeÚboolÚneÚonesÚtypeÚ__name__Ú	TypeErrorr   )ÚleftÚrightÚopÚ
res_valuesÚtyps        ÚT/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pandas/core/ops/invalid.pyÚinvalid_comparisonr      s„   € ð. 
ŒX�[‰[ÒÜ—X’X˜dŸj™j´Ñ5ˆ
ð Ðð 
Œx�{‰{Ò	Ü—W’W˜TŸZ™Z¬tÑ4ˆ
ð Ðô �5‹k×"Ñ"ˆÜÐ;¸D¿J¹J¸<ÀuÈSÈEÐRÓSÐSó    c                ó*   ^ • SSU 4S jjjnT Ul         U$ )z�
Return a binary method that always raises a TypeError.

Parameters
----------
name : str

Returns
-------
invalid_op : function
c                óP   >• [        U 5      R                  n[        ST SU 35      e)Nzcannot perform z with this index type: )r   r   r   )ÚselfÚotherr   Únames      €r   Ú
invalid_opÚ#make_invalid_op.<locals>.invalid_opH   s+   ø€ Ü�4‹j×!Ñ!ˆÜ˜/¨$¨Ð/FÀsÀeÐLÓMÐMr   )N)r"   Úobjectr#   r'   Úreturnr   )r   )r$   r%   s   ` r   Úmake_invalid_opr)   ;   s   ø€ ÷Nñ Nð €JÔØÐr   )r   r   r   z!ArrayLike | list | range | Scalarr   zCallable[[Any, Any], bool]r(   znpt.NDArray[np.bool_])r$   Ústrr(   zCallable[..., NoReturn])Ú__doc__Ú
__future__r   r   Útypingr   r   r   Únumpyr   Úcollections.abcr   Úpandas._typingr   r	   r
   r   r)   © r   r   Ú<module>r2      s`   ðñõ #ã ÷ñ ó æÝ(÷ñ ðØ
ðà,ðð 	#ðð ô	õBr   