Ë
    ýÿæi?  ã                   óÐ  — d dl Z d dlmZ d dlZd dlZd dlmZ d dlm	Z	 d dl
mc mZ d dlZd dlmZmZmZmZ d dlmZ d dlmZ d„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$ejJ                  jM                  d¬«      d„ «       Z'd„ Z(d„ Z)d„ Z*d„ Z+ ejX                  d«      d„ «       Z-ejJ                  j]                  dej^                  ej`                  eg«      d„ «       Z1y)é    N)ÚPath)ÚHAS_PYARROW)ÚPandas4Warning)ÚNAÚ
ArrowDtypeÚSeriesÚStringDtype)Úextract_arrayc                 óv  — t         rWt        dt        j                  ¬«      t        dt        j                  ¬«      t        dt        ¬«      t        dt        ¬«      g}n,t        dt        j                  ¬«      t        dt        ¬«      g}|j                  | «      }|j                  |«      }|t        ||«         S )NÚpython©Úna_valueÚpyarrow)r   r	   ÚnpÚnanr   ÚindexÚmax)Údtype1Údtype2ÚDTYPE_HIERARCHYÚh1Úh2s        úx/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/pandas/tests/arithmetic/test_string.pyÚstring_dtype_highest_priorityr      s�   € Ýä˜¬2¯6©6Ô2Ü˜	¬B¯F©FÔ3Ü˜¬2Ô.Ü˜	¬BÔ/ð	
‰ô ˜¬2¯6©6Ô2Ü˜¬2Ô.ð
ˆð
 
×	Ñ	˜vÓ	&€BØ	×	Ñ	˜vÓ	&€BØœ3˜r 2›;Ñ'Ð'ó    c                  óú   — t        j                  d«       t        j                  t        t        gt        d«      ¬«      } | | k(  }t        j                  t        t        gd¬«      }t        j                  ||«       y )Nr   ©Údtypeúboolean[pyarrow])ÚpytestÚimportorskipÚpdÚarrayr   r	   ÚtmÚassert_extension_array_equal)ÚaÚresultÚexpecteds      r   Útest_eq_all_nar)   )   sW   € Ü
×Ñ˜	Ô"Ü
�‰”"”b�¤¨YÓ!7Ô8€AØ�!‰V€FÜ�x‰xœœR˜Ð(:Ô;€HÜ×#Ñ# F¨HÕ5r   c                 ó   — | }|t         k(  rd nt        }t        g d¢«      }t        g d¢|¬«      }d}t        j                  ||¬«      5  ||z  }d d d «       ||j                  t        «      z  }t        j                  |«       t        j                  ||¬«      5  ||z  }d d d «       ||j                  t        «      z  }t        j                  ||«       t        j                  ||¬«      5  ||z  }d d d «       ||j                  t        «      z  }t        j                  ||«       y # 1 sw Y   ŒÞxY w# 1 sw Y   Œ—xY w# 1 sw Y   ŒPxY w)N)TFFT)Ú r+   ÚbÚcr   z$operations between boolean dtype and©Úmatch)Úobjectr   r   r$   Úassert_produces_warningÚastypeÚboolÚassert_series_equal)Úany_string_dtyper   ÚwarnÚleftÚrightÚmsgr'   r(   s           r   Útest_reversed_logical_opsr:   1   s  € à€EØœF’?‰4¬€DÜÒ,Ó-€DÜÒ%¨UÔ3€Eà
0€CÜ	×	#Ñ	# D°Ö	4Ø˜‘ˆ÷ 
5à�e—l‘l¤4Ó(Ñ(€HÜ×Ñ˜6 8Ô,ä	×	#Ñ	# D°Ö	4Ø˜‘ˆ÷ 
5à�e—l‘l¤4Ó(Ñ(€HÜ×Ñ˜6 8Ô,ä	×	#Ñ	# D°Ö	4Ø˜‘ˆ÷ 
5à�e—l‘l¤4Ó(Ñ(€HÜ×Ñ˜6 8Õ,÷ 
5Ð	4ú÷
 
5Ð	4ú÷
 
5Ð	4ús$   Á	D,ÂD8Ã/EÄ,D5Ä8EÅEc                 óÚ  — | t         k(  r1t        j                  j                  d¬«      }|j	                  |«       t        d«      }t        ddt        g| ¬«      }||z  }t        |dz  |dz  |j                  j                  gt         ¬«      }t        j                  ||«       ||z  }t        d|z  d|z  |j                  j                  gt         ¬«      }t        j                  ||«       y )Nzqwith NA present we go through _masked_arith_op which raises TypeError bc Path is not recognized by lib.is_scalar.©Úreasonz/Users/Irv/ÚAÚBr   )r0   r    ÚmarkÚxfailÚapplymarkerr   r   r   r   r   r$   r4   )r5   Úrequestr@   ÚitemÚserr'   r(   s          r   Útest_pathlib_path_divisionrF   I   sÒ   € àœ6Ò!Ü�{‰{× Ñ ðKð !ó 
ˆð 	×Ñ˜DÔ!ä�Ó€DÜ
�#�sœB�Ð'7Ô
8€Cà�C‰Z€FÜ�t˜c‘z 4¨#¡:¨s¯y©y×/AÑ/AÐBÌ&ÔQ€HÜ×Ñ˜6 8Ô,à�4‰Z€FÜ�s˜T‘z 3¨¡:¨s¯y©y×/AÑ/AÐBÌ&ÔQ€HÜ×Ñ˜6 8Õ,r   c                 ó†  — | }t        ddg|¬«      }t        ddgt        ¬«      }||k(  }t        ddgt        ¬«      }|t        k(  rne|j                  dk(  r$|j                  t
        u r|j                  d«      }n2|j                  d	k(  r#|j                  t
        u r|j                  d
«      }t        j                  ||«       y )Nr&   r,   r   é   FTr   Úbooleanr   úbool[pyarrow])	r   r0   r3   Ústorager   r   r2   r$   r4   )r5   r   rE   Úmixedr'   r(   s         r   Útest_mixed_object_comparisonrM   ^   s¤   € à€EÜ
�#�s� 5Ô
)€Cä�A�s�8¤6Ô*€Eà�E‰\€FÜ�u˜d�m¬4Ô0€HØ”‚ØØ	�‰˜(Ò	" u§~¡~¼Ñ';Ø—?‘? 9Ó-‰Ø	�‰˜)Ò	#¨¯©¼"Ñ(<Ø—?‘? ?Ó3ˆä×Ñ˜6 8Õ,r   c                  ó`  — t        j                  d«      } t        ddg«      }t        ddgt        t        j
                  ¬«      ¬«      }||k(  }t        d|j                  ¬«      }t        j                  ||«       ||k7  }t        d|j                  ¬«      }t        j                  ||«       t        j                  t        d	¬
«      5  ||kD   d d d «       |j                  d«      }||k(  }t        j                  ||j                  d«      «       ||k7  }t        j                  ||j                  d«      «       t        j                  t        d	¬
«      5  ||kD   d d d «       |j                  t        | j                  «       «      «      }	|	|k(  }
t        j                  |
|j                  d«      «       |	|k7  }t        j                  ||j                  d«      «       t        j                  t        d	¬
«      5  ||	kD   d d d «       y # 1 sw Y   �Œ>xY w# 1 sw Y   Œ¼xY w# 1 sw Y   y xY w)Nr   FTr&   r,   r   r   )r   zInvalid comparisonr.   zstring[pyarrow]rJ   )r    r!   r   r	   r   r   r   r$   r4   ÚraisesÚ	TypeErrorr2   r   Ústring)ÚparE   Úser2r'   Úexpected_eqÚexpected_neÚser3Ú
result3_eqÚ
result3_neÚser4Ú
result4_eqÚ
result4_nes               r   Ú!test_pyarrow_numpy_string_invalidr\   q   s¶  € ä	×	Ñ	˜YÓ	'€BÜ
�%˜�Ó
€CÜ�3˜�*¤K¼¿¹Ô$@ÔA€DØ�D‰[€FÜ˜ c§i¡iÔ0€KÜ×Ñ˜6 ;Ô/à�D‰[€FÜ˜ S§Y¡YÔ/€KÜ×Ñ˜6 ;Ô/ä	�‰”yÐ(<Ö	=ØˆdŠ
÷ 
>ð �;‰;Ð(Ó)€DØ˜‘€JÜ×Ñ˜: {×'9Ñ'9¸/Ó'JÔKØ˜‘€JÜ×Ñ˜: {×'9Ñ'9¸/Ó'JÔKä	�‰”yÐ(<Ö	=ØˆdŠ
÷ 
>ð �;‰;”z "§)¡)£+Ó.Ó/€DØ˜‘€JÜ×Ñ˜: {×'9Ñ'9¸/Ó'JÔKØ˜‘€JÜ×Ñ˜: {×'9Ñ'9¸/Ó'JÔKä	�‰”yÐ(<Ö	=ØˆdŠ
÷ 
>Ð	=÷' 
>Ñ	=ú÷ 
>Ð	=ú÷ 
>Ð	=ús$   Ã	HÅHÇ<H$ÈHÈH!È$H-c                 ó   — | }t        g d¢|¬«      }|t        k(  rt        j                  d«       n|j                  dk(  rd}nd}t        j
                  t        ¬«      5  d|z   d d d «       t        j
                  t        |¬«      5  |d	z   d d d «       t        j
                  t        |¬«      5  |t        j                  g d
¢t        ¬«      z   d d d «       t        j
                  t        |¬«      5  t        j                  g d
¢t        ¬«      |z   d d d «       y # 1 sw Y   Œ»xY w# 1 sw Y   ŒžxY w# 1 sw Y   ŒfxY w# 1 sw Y   y xY w)N©r&   r,   r-   r   zThis is not expect to raiser   zACannot multiply StringArray by bools. Explicitly cast to integersz&Can only string multiply by an integerr.   FT)TFT)
r   r0   r    ÚskiprK   rO   rP   r   r#   r3   )r5   r   rE   r9   s       r   Útest_mul_bool_invalidr`   •   sà   € à€EÜ
’¨Ô
.€Cà”‚Ü�‰Ð1Õ2Ø	�‰˜(Ò	"ØQ‰à6ˆä	�‰”y¨Ö	,Ø�Š÷ 
-ä	�‰”y¨Ö	,ØˆdŠ
÷ 
-ä	�‰”y¨Ö	,ØŒb�h‰hÒ*´$Ô7Ò7÷ 
-ä	�‰”y¨Ö	,Ü
�‰Ò$¬DÔ1°CÒ7÷ 
-Ð	,÷ 
-Ð	,úç	,Ð	,úç	,Ð	,úç	,Ð	,ús0   Á D Â	D,Â2!D8Ã6!EÄ D)Ä,D5Ä8EÅEc                 ó6  — | }|t         k(  r1t        j                  j                  d¬«      }|j	                  |«       t        g d¢|¬«      }t        g d¢|¬«      }||z   }t        g d¢|¬«      }t        j                  ||«       |j                  |«      }t        j                  ||«       |j                  |«      }t        g d¢|¬«      }t        j                  ||«       |j                  |d¬	«      }t        g d
¢|¬«      }t        j                  ||«       y )Nz.Need to update expected for numpy object dtyper<   )r&   r,   r-   NNr   )ÚxÚyNÚzN)ÚaxÚbyNNN)ÚxaÚybNNNÚ-)Ú
fill_value)re   rf   zc-z-zN)
r0   r    r@   rA   rB   r   r$   r4   ÚaddÚradd)r5   rC   r   r@   r&   r,   r'   r(   s           r   Útest_addrm   «   sð   € Ø€EØ”‚Ü�{‰{× Ñ ØCð !ó 
ˆð 	×Ñ˜DÔ!äÒ*°%Ô8€AÜÒ*°%Ô8€Aà�‰U€FÜÒ4¸EÔB€HÜ×Ñ˜6 8Ô,à�U‰U�1‹X€FÜ×Ñ˜6 8Ô,à�V‰V�A‹Y€FÜÒ4¸EÔB€HÜ×Ñ˜6 8Ô,à�U‰U�1 ˆUÓ%€FÜÒ4¸EÔB€HÜ×Ñ˜6 8Õ,r   c                 óø  — | }|t         k(  s|j                  dk(  r4d}t        j                  j	                  d |¬«      }|j                  |«       t        j                  g d¢|¬«      }t        j                  g d¢gt         ¬«      }t        j                  t        d¬«      5  ||z    d d d «       t        |«      }t        j                  t        d¬«      5  ||z    d d d «       y # 1 sw Y   Œ>xY w# 1 sw Y   y xY w)Nr   z*Failed: DID NOT RAISE <class 'ValueError'>)rO   r=   r^   r   z3 != 1r.   )r0   rK   r    r@   rA   rB   r"   r#   r   rO   Ú
ValueErrorr   )r5   rC   r   r=   r@   r&   r,   Úss           r   Útest_add_2drq   Æ   s¼   € Ø€Eà”‚˜%Ÿ-™-¨9Ò4Ø=ˆÜ�{‰{× Ñ ¨°VÐ Ó<ˆØ×Ñ˜DÔ!ä
�‰’¨Ô.€AÜ
�‰’/Ð"¬&Ô1€AÜ	�‰”z¨Ö	2Ø	ˆAŠ÷ 
3ô 	ˆq‹	€AÜ	�‰”z¨Ö	2Ø	ˆAŠ÷ 
3Ð	2÷	 
3Ð	2ú÷ 
3Ð	2ús   Â!C$ÃC0Ã$C-Ã0C9c                 óŠ  — | }|t         k7  rd|j                  dk(  rU|j                  t        j                  u r9t
        r3|r1t        j                  j                  d¬«      }|j                  |«       |t        j                  t         «      k(  r3|r1t        j                  j                  d¬«      }|j                  |«       t        j                  g d¢|¬«      }g d¢}||z   }t        j                  g d¢|¬«      }t        j                  ||«       ||z   }t        j                  g d	¢|¬«      }t        j                  ||«       y )
Nr   z‚As of GH#62522, the list gets wrapped with sanitize_array, which casts to a higher-priority StringArray, so we get NotImplemented.r<   zCannot broadcast list)r&   r,   NNr   )rb   Nrc   N)re   NNN)rg   NNN)r0   rK   r   r   r   r   r    r@   rA   rB   r   r"   r#   r$   r%   )	r5   rC   Úusing_infer_stringr   r@   r&   Úotherr'   r(   s	            r   Útest_add_sequenceru   Ø   s  € Ø€Eà”ŠØ�M‰M˜XÒ%Ø�N‰NœbŸf™fÑ$ÝÙä�{‰{× Ñ ðð !ó 
ˆð
 	×Ñ˜DÔ!Ø”—‘œÓ Ò Ñ%7Ü�{‰{× Ñ Ð(?Ð Ó@ˆØ×Ñ˜DÔ!ä
�‰Ò'¨uÔ5€AÚ"€Eà�‰Y€FÜ�x‰xÒ0¸Ô>€HÜ×#Ñ# F¨HÔ5à�Q‰Y€FÜ�x‰xÒ0¸Ô>€HÜ×#Ñ# F¨HÕ5r   c                 óØ   — | }t        j                  g d¢|¬«      }|dz  }t        j                  g d¢|¬«      }t        j                  ||«       d|z  }t        j                  ||«       y )N)r&   r,   Nr   é   )ÚaaÚbbN)r"   r#   r$   r%   )r5   r   r&   r'   r(   s        r   Útest_mulrz   ÷   s[   € Ø€EÜ
�‰Ò!¨Ô/€AØ�‰U€FÜ�x‰xÒ*°%Ô8€HÜ×#Ñ# F¨HÔ5à�‰U€FÜ×#Ñ# F¨HÕ5r   c                 óJ  — | }|t        j                  t        «      k7  r1t        j                  j                  d¬«      }|j                  |«       t        j                  g d¢|¬«      }t        j                  g d¢gt        ¬«      }|j                  |«      t        u sJ ‚||z   }t        j                  g d¢g«      j                  |«      }t        j                  ||«       ||z   }t        j                  g d¢g«      j                  |«      }t        j                  ||«       y )NúGH-28527r<   )r&   r,   r-   Údr   )Útrc   ÚvÚw)Úatrf   ÚcvÚdw)Útarh   ÚvcÚwd)r   r   r0   r    r@   rA   rB   r"   r#   Ú	DataFrameÚ__add__ÚNotImplementedr2   r$   Úassert_frame_equal)r5   rC   r   r@   ÚarrÚdfr'   r(   s           r   Útest_add_stringsr�     sä   € Ø€EØ”—‘œÓ Ò Ü�{‰{× Ñ ¨
Ð Ó3ˆØ×Ñ˜DÔ!Ü
�(‰(Ò'¨uÔ
5€CÜ	�‰Ò+Ð,´FÔ	;€BØ�;‰;�r‹?œnÑ,Ð,Ð,à�2‰X€FÜ�|‰|Ò5Ð6Ó7×>Ñ>¸uÓE€HÜ×Ñ˜& (Ô+à�#‰X€FÜ�|‰|Ò5Ð6Ó7×>Ñ>¸uÓE€HÜ×Ñ˜& (Õ+r   r|   r<   c                 óÈ  — t        j                  ddt        j                  t        j                  g| ¬«      }t        j                  dt        j                  dt        j                  gg«      }|j                  |«      t        u sJ ‚||z   }t        j                  dt        j                  t        j                  t        j                  gg«      j                  | «      }t        j                  ||«       ||z   }t        j                  dt        j                  t        j                  t        j                  gg«      j                  | «      }t        j                  ||«       y )Nr&   r,   r   rb   rc   re   rg   )
r"   r#   r   r   r‡   rˆ   r‰   r2   r$   rŠ   )r   r‹   rŒ   r'   r(   s        r   Útest_add_framer�     sï   € ä
�(‰(�C˜œbŸf™f¤b§f¡fÐ-°UÔ
;€CÜ	�‰˜œRŸV™V S¬"¯&©&Ð1Ð2Ó	3€Bà�;‰;�r‹?œnÑ,Ð,Ð,à�2‰X€FÜ�|‰|˜d¤B§F¡F¬B¯F©F´B·F±FÐ;Ð<Ó=×DÑDÀUÓK€HÜ×Ñ˜& (Ô+à�#‰X€FÜ�|‰|˜d¤B§F¡F¬B¯F©F´B·F±FÐ;Ð<Ó=×DÑDÀUÓK€HÜ×Ñ˜& (Õ+r   c           
      óö  — |}d| j                   › d�}t        j                  g d¢|¬«      }d} t        ||«      |«      }|t        k(  s|j
                  t        j                  u r’t        j                  |D �cg c]  } t        ||«      |«      ‘Œ c}«      }| t        j                  k(  rd|d<   nd|d<   t        |d¬«      }t        j                  ||j                  t        j                  «      «       y |j                  d	k(  rd
nd}	t        j                  |D �cg c]  } t        ||«      |«      ‘Œ c}t        ¬«      }t        j                  ||	¬«      }t        j                   ||«       y c c}w c c}w )NÚ__©r&   Nr-   r   r&   TrH   F©Úextract_numpyr   r   rI   )Ú__name__r"   r#   Úgetattrr0   r   r   r   ÚoperatorÚner
   r$   Úassert_numpy_array_equalr2   Úbool_rK   r%   )
Úcomparison_opr5   r   Úop_namer&   rt   r'   rD   r(   Úexpected_dtypes
             r   Útest_comparison_methods_scalarrž   $  s<  € Ø€EØ�=×)Ñ)Ð*¨"Ð-€GÜ
�‰Ò!¨Ô/€AØ€EØ ŒW�Q˜Ó  Ó'€FØ”‚˜%Ÿ.™.¬B¯F©FÑ2Ü—8‘8ÁqÓIÁq¸tÐ3œW T¨7Ó3°EÕ:ÀqÑIÓJˆØœHŸK™KÒ'ØˆH�QŠKàˆH�Q‰KÜ˜v°TÔ:ˆÜ
×#Ñ# F¨H¯O©O¼B¿H¹HÓ,EÕFà/4¯}©}À	Ò/IÑ+ÈyˆÜ—8‘8ÁqÓIÁq¸tÐ3œW T¨7Ó3°EÕ:ÀqÑIÔQWÔXˆÜ—8‘8˜H¨NÔ;ˆÜ
×'Ñ'¨°Õ9ùò Jùò Js   Á8E1ÄE6c                 ór  — |}d| j                   › d�}t        j                  g d¢|¬«      } t        ||«      t        «      }|t        j                  t        «      k(  s|j                  t
        j                  u rft        j                  | k(  rt        j                  g d¢«      }nt        j                  g d¢«      }t        |d¬«      }t        j                  ||«       y |j                  dk(  rd	nd
}t        j                  g d¢|¬«      }t        j                   ||«       t        j                   ||«       y )Nr‘   r’   r   ©TTT©FFFTr“   r   r   rI   )NNN)r•   r"   r#   r–   r   r   r   r0   r   r   r—   r˜   r
   r$   r™   rK   r%   )r›   r5   r   rœ   r&   r'   r(   r�   s           r   Ú$test_comparison_methods_scalar_pd_nar¢   9  sê   € Ø€EØ�=×)Ñ)Ð*¨"Ð-€GÜ
�‰Ò!¨Ô/€AØ ŒW�Q˜Ó ¤Ó$€Fà”—‘œÓ Ò  E§N¡N´b·f±fÑ$<Ü�;‰;˜-Ò'Ü—x‘xÒ 2Ó3‰Hä—x‘xÒ 5Ó6ˆHÜ˜v°TÔ:ˆÜ
×#Ñ# F¨HÕ5à/4¯}©}À	Ò/IÑ+ÈyˆÜ—8‘8Ò.°nÔEˆÜ
×'Ñ'¨°Ô9Ü
×'Ñ'¨°Õ9r   c                 ó¢  — d| j                   › d�}|}t        j                  g d¢|¬«      }d}|dvr7t        j                  t
        d¬«      5   t        ||«      |«       d d d «       y  t        ||«      |«      }t        |d¬	«      }|t        j                  t        «      k(  s|j                  t        j                  u r8g d
¢g d¢dœ|   }t        j                  |«      }t        j                  ||«       y g d¢g d¢dœ|   }|j                  dk(  rdnd}	t        j                  ||	¬«      }t        j                   ||«       y # 1 sw Y   y xY w)Nr‘   r’   r   é*   )Ú__eq__Ú__ne__z(Invalid comparison|not supported betweenr.   Tr“   r¡   r    )FNF)TNTr   r   rI   )r•   r"   r#   r    rO   rP   r–   r
   r   r   r0   r   r   r$   r™   rK   r%   )
r›   r5   rœ   r   r&   rt   r'   Úexpected_datar(   r�   s
             r   Ú)test_comparison_methods_scalar_not_stringr¨   M  s0  € Ø�=×)Ñ)Ð*¨"Ð-€GØ€Eä
�‰Ò!¨Ô/€AØ€EàÐ*Ñ*Ü�]‰]œ9Ð,VÖWØŒG�A�wÓ Ô&÷ Xð 	à ŒW�Q˜Ó  Ó'€FÜ˜6°Ô6€Fà”—‘œÓ Ò  E§N¡N´b·f±fÑ$<â+Ú(ñ
ð ñˆô —8‘8˜MÓ*ˆÜ
×#Ñ# F¨HÕ5â#7ÒCUÑVØñ
ˆð 05¯}©}À	Ò/IÑ+ÈyˆÜ—8‘8˜M°Ô@ˆÜ
×'Ñ'¨°Õ9÷+ Xð 	ús   ÁEÅEc                 óì  — d| j                   › d�}|}|}t        j                  g d¢|¬«      }t        j                  g d¢|¬«      } | ||«      }t        |d¬«      } | ||«      }	t        |	d¬«      }	t	        j
                  ||	«       |t        k(  s|j                  t        j                  u r¦|t        k(  s|j                  t        j                  u r�t        j                  | k(  rt        j                  g d¢«      }
n2t        j                  g d¢«      }
 t        |d	   |«      |d	   «      |
d	<   t        |d¬«      }t	        j                  ||
«       y |t        k(  r|}n|t        k(  r|}nt        ||«      }|j                  d
k(  rd}nd}t        j                   t#        |«      d d¬«      }
 t        |d	   |«      |d	   «      |
d	<   t        j                  |
|¬«      }
t	        j
                  ||
«       y )Nr‘   r’   r   ©NNr-   Tr“   ©TTFr¡   éÿÿÿÿr   rI   rJ   r0   ©rj   r   )r•   r"   r#   r
   r$   Úassert_equalr0   r   r   r   r—   r˜   r–   r™   r   rK   ÚfullÚlen)r›   r5   Úany_string_dtype2rœ   r   r   r&   rt   r'   Úresult2r(   Ú	max_dtyper�   s                r   Útest_comparison_methods_arrayr´   m  s§  € Ø�=×)Ñ)Ð*¨"Ð-€GØ€EØ€Fä
�‰Ò!¨Ô/€AÜ�H‰HÒ&¨fÔ5€EÙ˜1˜eÓ$€FÜ˜6°Ô6€Fñ ˜E 1Ó%€GÜ˜G°4Ô8€GÜ‡O�O�F˜GÔ$à”Š˜5Ÿ>™>¬R¯V©VÑ3Ø”&Ò˜FŸO™O¬r¯v©vÑ5ä�;‰;˜-Ò'Ü—x‘xÒ 3Ó4‰Hä—x‘xÒ 5Ó6ˆHØ6œ7 5¨¡9¨gÓ6°q¸±uÓ=ˆH�R‰LÜ˜v°TÔ:ˆÜ
×#Ñ# F¨HÕ5ð ”FŠ?Ø‰IØ”vÒØ‰Iä5°e¸VÓDˆIØ×Ñ Ò(Ø&‰Nà,ˆNä—7‘7œ3˜q›6¨d¸(ÔCˆØ2”w˜u R™y¨'Ó2°1°R±5Ó9ˆ�‰Ü—8‘8˜H¨NÔ;ˆÜ
�‰˜ Õ)r   r   c                 óª  — dd l }|}d| j                  › d�}t        |j                  «       «      }t	        j
                  g d¢|¬«      }t	        j
                  g d¢|¬«      } | ||«      } | ||«      }	t        j                  ||	«       t	        j
                  g d¢d¬«      }
 t        |d   |«      |d   «      |
d<   t        j                  ||
«       y )	Nr   r‘   r’   r   rª   )NNTrJ   r¬   )
r   r•   r   rQ   r"   r#   r$   r®   r–   r%   )r›   r5   rR   r   rœ   r   r&   rt   r'   r²   r(   s              r   Ú-test_comparison_methods_array_arrow_extensionr¶   ™  s»   € ó à€Fà�=×)Ñ)Ð*¨"Ð-€GÜ�r—y‘y“{Ó#€EÜ
�‰Ò!¨Ô/€AÜ�H‰HÒ&¨fÔ5€EÙ˜1˜eÓ$€Fñ ˜E 1Ó%€GÜ‡O�O�F˜GÔ$ä�x‰xÒ*°/ÔB€HØ.”7˜5 ™9 gÓ.¨q°©uÓ5€HˆR�LÜ×#Ñ# F¨HÕ5r   Úboxc                 ó€  — |}|t         j                  u rV|t        k7  rM|j                  t        j
                  u r1t        j                  j                  d¬«      }|j                  |«       d| j                  › d�} |t        j                  g d¢|¬«      «      }d}g d¢}	 | ||	«      }
 | |	|«      }t        j                  |
|«       |t	        j                  t        «      k(  s|j                  t        j
                  u r”t        j                  | k(  rt	        j                  g d¢«      }n,t	        j                  g d	¢«      } t!        ||«      |«      |d
<   |t         j"                  ur |||j                  ¬«      }t        j                  |
|«       y |j$                  dk(  rdnd}t	        j&                  t)        |«      d d¬«      } t!        ||«      |«      |d
<   t        j                  ||¬«      }t+        |d¬«      }|t         j"                  urt        j,                  ||«      }t        j                  |
|«       y )Nz<After wrapping list, op returns NotImplemented, see GH#62522r<   r‘   r’   r   r-   rª   r«   r¡   r¬   r   r   rI   r0   r­   Tr“   )r"   r#   r0   r   r   r   r    r@   rA   rB   r•   r$   r®   r   r—   r˜   r–   ÚIndexrK   r¯   r°   r
   Úbox_expected)r›   r5   r·   rC   r   r@   rœ   r&   rD   rt   r'   r²   r(   r�   s                 r   Útest_comparison_methods_listr»   ¯  sÃ  € à€Eà
Œb�h‰h�˜5¤Fš?¨u¯~©~ÄÇÁÑ/GÜ�{‰{× Ñ ØQð !ó 
ˆð 	×Ñ˜DÔ!à�=×)Ñ)Ð*¨"Ð-€GáŒB�H‰HÒ%¨UÔ3Ó4€AØ€DÚ€EÙ˜1˜eÓ$€Fñ ˜E 1Ó%€GÜ‡O�O�F˜GÔ$à”—‘œÓ Ò  E§N¡N´b·f±fÑ$<Ü�;‰;˜-Ò'Ü—x‘xÒ 3Ó4‰Hä—x‘xÒ 5Ó6ˆHØ1œ7 4¨Ó1°$Ó7ˆH�R‰LØ”b—h‘hÑá˜8¨8¯>©>Ô:ˆHÜ
�‰˜ Õ)ð 05¯}©}À	Ò/IÑ+ÈyˆÜ—7‘7œ3˜q›6¨d¸(ÔCˆØ-”w˜t WÓ-¨dÓ3ˆ�‰Ü—8‘8˜H¨NÔ;ˆÜ  ¸Ô>ˆØ”b—h‘hÑä—‘ x°Ó5ˆHÜ
�‰˜ Õ)r   )2r—   Úpathlibr   Únumpyr   r    Úpandas.compatr   Úpandas.errorsr   Úpandas.util._test_decoratorsÚutilÚ_test_decoratorsÚtdÚpandasr"   r   r   r   r	   Úpandas._testingÚ_testingr$   Úpandas.core.constructionr
   r   r)   r:   rF   rM   r\   r`   rm   rq   ru   rz   r�   r@   rA   r�   rž   r¢   r¨   r´   Ú
skip_if_nor¶   Úparametrizer#   r¹   r»   © r   r   Ú<module>rË      sþ   ðÛ Ý ã Û å %Ý (ß )Ð )ã ÷ó õ Ý 2ò(ò&6ò-ò0-ò*-ò&!òH8ò,-ò6ò$6ò>6ò,ð$ ‡�×Ñ˜*ÐÓ%ñ,ó &ð,ò:ò*:ò(:ò@)*ðX €‡�ˆyÓñ6ó ð6ð* ‡�×Ñ˜ §¡¨2¯8©8°VÐ <Ó=ñ(*ó >ñ(*r   