Ë
    u™ãjø\  ã                   óP  — d dl mZ d dlmZ d dlmZ d dlZd dlZd dlZ	d dl
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mZmZmZ ej6                  d„ «       Z G d	„ d
«      Z G d„ d«      Zej>                  jA                  d ejB                  g d¢d«      jE                  ejF                  «       ejB                  g d¢d«      jE                  ejF                  «       ejB                  g d¢d«      jE                  ejF                  «      gdg ejB                   ejH                  dejF                  ¬«      d«       ejB                   ejH                  dejF                  ¬«      d«      gdgg«      d„ «       Z% ej6                  ddgddg¬«      d„ «       Z& G d„ d«      Z'd „ Z(d!„ Z)y)"é    )Údefaultdict)Údatetime)ÚproductN)Ú
algorithms)Ú	safe_sort)Ú_decons_group_indexÚget_group_indexÚis_int64_overflow_possibleÚlexsort_indexerÚnargsortc                  óþ  — d\  } }}t        j                  t        j                  j	                  d«      j                  | ||df«      t        d«      ¬«      }|j                  «       j                  «       }t        |«      sJ ‚|j                  d¬«      |d<   |j                  dt        j                  j	                  d«      d	¬
«      }g |j                  d d j                  «       ¢d‘|_        |dxx   dz  cc<   ||fS )N)é üÿÿé   iX  é   é   ÚABCDEFG©Úcolumnsé   ©ÚaxisÚleftT)ÚfracÚrandom_stateÚignore_indexéÿÿÿÿÚright)ÚpdÚ	DataFrameÚnpÚrandomÚdefault_rngÚintegersÚlistÚnuniqueÚto_numpyr
   ÚsumÚsampler   Útolist)ÚlowÚhighÚnr   Úshaper   s         úd/var/www/html/python-recuperauto-other/env/lib/python3.12/site-packages/pandas/tests/test_sorting.pyÚ
left_rightr/      sæ   € à)�L€CˆˆqÜ�<‰<Ü
�	‰	×Ñ˜aÓ ×)Ñ)¨#¨t°a¸°VÓ<ÄdÈ9Ãoô€Dð �L‰L‹N×#Ñ#Ó%€EÜ% eÔ,Ð,Ð,Ø—8‘8 �8Ó#€Dˆ�LØ�K‰KØœRŸY™Y×2Ñ2°1Ó5ÀDð ó €Eð <�e—m‘m C RÐ(×/Ñ/Ó1Ð;°7Ð;€E„MØ	ˆ'ƒN�bÑƒNØ�ˆ;Ðó    c                   ó  — e Zd Zej                  j
                  d„ «       Zd„ Zej                  j
                  ej                  j                  dddg«      d„ «       «       Z	ej                  j                  ddd	 e
 ed
d«      «       e
 ed
«      «      z    e
 edd«      «      z   gdd e
 ed
«      «       e
 edd«      «      z    e
 ed
d«      «      z   gdd	 e
 eddd«      «       e
 ed
«      «      z    e
 edd«      «      z   gdd e
 ed
«      «       e
 edd«      «      z    e
 eddd«      «      z   gg«      d„ «       Zej                  j                  dddg«      ej                  j                  dd	dg«      ej                  j                  dej                  ej                  ej                   ej"                  ej$                  g«      d„ «       «       «       Zej                  j                  dddg«      ej                  j                  dd	dg«      d„ «       «       Zd„ Zej                  j                  ddd	 e
 ed
d«      «       e
 ed
«      «      z    e
 edd«      «      z   gdd e
 ed
«      «       e
 edd«      «      z    e
 ed
d«      «      z   gdd	 e
 eddd«      «       e
 ed
«      «      z    e
 edd«      «      z   gdd e
 ed
«      «       e
 edd«      «      z    e
 eddd«      «      z   gg«      d„ «       Zy)ÚTestSortingc                 ó¸  — t        j                  t        j                  d«      t        j                  d«      t        j                  d«      f«      }t        j                  d«      }t        j                  ||||||||t         j
                  j                  d«      j                  d«      dœ	«      }t        |t        d«         j                  «       j                  «       «      sJ ‚|j                  g d¢«      }|j                  g d¢«      }|j                  «       d	   }|j                  «       d	   }|j                  j                  «       \  }}	t!        j"                  |j                  |«       |j                  j                  d
«      \  }}	t!        j"                  |j                  |«       t        t%        t&        |g d¢   j(                  «      «      }
t+        j,                  |
«      }
|j                  |
«      j                  «       d	   }|j/                  «       D ]"  \  }}||   ||d d d…      k(  sJ ‚||   |k(  rŒ"J ‚ t1        |«      t1        |«      k(  sJ ‚y )Né•   éK   iu  r   )	ÚAÚBÚCÚDÚEÚFÚGÚHÚvaluesÚABCDEFGH)r6   r7   r8   r9   r:   r;   r<   r=   )r=   r<   r;   r:   r9   r8   r7   r6   r>   r   r   )r    ÚconcatenateÚaranger   r   r!   r"   Ústandard_normalr
   r$   r%   r&   Úgroupbyr'   ÚindexÚ	sortlevelÚtmÚassert_index_equalÚmapÚtupler>   ÚcomÚasarray_tuplesafeÚitemsÚlen)Úselfr7   r6   ÚdfÚlgÚrgr   r   Ú	exp_indexÚ_ÚtupsÚexpectedÚkÚvs                 r.   Útest_int64_overflowzTestSorting.test_int64_overflow(   sí  € ä�N‰NœBŸI™I c›N¬B¯I©I°c«N¼B¿I¹IÀb»MÐJÓKˆÜ�I‰I�c‹NˆÜ�\‰\àØØØØØØØÜŸ)™)×/Ñ/°Ó2×BÑBÀ3ÓGñ
ó
ˆô *¨"¬T°*Ó-=Ñ*>×*FÑ*FÓ*H×*QÑ*QÓ*SÔTÐTÐTà�Z‰ZÒ@ÓAˆØ�Z‰ZÒ@ÓAˆà�v‰v‹x˜Ñ!ˆØ—‘“˜Ñ"ˆà—z‘z×+Ñ+Ó-‰ˆ	�1Ü
×Ñ˜dŸj™j¨)Ô4à—{‘{×,Ñ,¨QÓ/‰ˆ	�1Ü
×Ñ˜eŸk™k¨9Ô5ä”Cœ˜rÒ"JÑK×RÑRÓSÓTˆÜ×$Ñ$ TÓ*ˆà—:‘:˜dÓ#×'Ñ'Ó)¨(Ñ3ˆà—N‘NÓ$ò 	 ‰DˆAˆqØ˜‘7˜e A¡d¨ d¡G™nÒ,Ð,Ð,Ø˜‘7˜a“<Ð�<ð	 ô �4‹yœC ›JÒ&Ð&Ñ&r0   c                 óº   — t        d«      }t        j                  j                  ||||dœ«      }|j	                  g d¢«      }t        |«      t        |«      k(  sJ ‚y )NiE×  )ÚaÚbÚcÚd)Úranger   r   Ú	from_dictrC   rM   )rN   r>   ÚdataÚgroupeds       r.   Ú'test_int64_overflow_groupby_large_rangez3TestSorting.test_int64_overflow_groupby_large_rangeQ   sR   € ä�u“ˆÜ�|‰|×%Ñ%Ø˜v¨F¸Ñ@ó
ˆð —,‘,Ò3Ó4ˆÜ�7‹|œs 6›{Ò*Ð*Ñ*r0   ÚaggÚmeanÚmedianc                 ó  — t         j                  j                  d«      }|j                  ddd«      }|j	                  t        |«      t        |«      «      }t        j                  |||   f«      }|j                  t        |«      «      }||   }t        j                  |t        d«      ¬«      }t        j                  dt        |«      f«      \  |d<   |d<   |j                  t        d«      «      }t        t        d	„ |j                  j                   D «       «      «      sJ ‚t        j"                  j%                  t        j&                  t        j(                  |d
¬«      dd¬«      D �cg c]  }|j+                  «       ‘Œ c}t        d«      ¬«      }t        j                  t        j                  t        |«      df«      ddg|¬«      j-                  «       }	t/        j0                   t3        ||«      «       |	«       y c c}w )Nr   i ðÿÿi   )iK-  é   Úabcder   ÚjimÚjoec              3   ó4   K  — | ]  }|j                   –— Œ y ­w©N)Úngroups)Ú.0Úpings     r.   ú	<genexpr>zLTestSorting.test_int64_overflow_groupby_large_df_shuffled.<locals>.<genexpr>k   s   è ø€ ÒA 4�$—,•,ÑAùs   ‚r   r   rg   r   )Únames)r   rD   )r    r!   r"   r#   ÚchoicerM   ÚvstackÚpermutationr   r   r$   ÚzerosrC   r
   rI   Ú_grouperÚ	groupingsÚ
MultiIndexÚfrom_arraysÚarray_splitÚuniqueÚravelÚ
sort_indexrF   Úassert_frame_equalÚgetattr)
rN   rc   ÚrsÚarrÚirO   ÚgrÚarÚmiÚress
             r.   Ú-test_int64_overflow_groupby_large_df_shuffledz9TestSorting.test_int64_overflow_groupby_large_df_shuffledZ   s’  € ô �Y‰Y×"Ñ" 1Ó%ˆØ�k‰k˜( G¨ZÓ8ˆØ�I‰I”c˜#“h¤ C£Ó)ˆÜ�i‰i˜˜c !™f˜Ó&ˆà�N‰Nœ3˜s›8Ó$ˆØ�!‰fˆä�\‰\˜#¤t¨G£}Ô5ˆÜ!Ÿx™x¨¬C°«G¨Ó5Ñˆˆ5‰	�2�e‘9Ø�Z‰Zœ˜W›Ó&ˆô *ÜÑA¨2¯;©;×+@Ñ+@ÔAÓAô
ð 	
ð 
ô �]‰]×&Ñ&Ü"$§.¡.´·±¸3ÀQÔ1GÈÐQRÔ"SÖT˜BˆR�X‰X�ZÒTÜ�w“-ð 'ó 
ˆô
 �l‰lÜ�H‰H”c˜"“g˜q�\Ó"¨U°E¨NÀ"ô
ç
‰*‹,ð 	ô 	×ÑÐ.œg b¨#Ó.Ó0°#Õ6ùò Us   Å,Hzorder, na_position, expTÚlastrg   éi   én   ÚfirstFéh   é   r   c                 ó  — t         j                  gdz  t        t        d«      «      z   t         j                  gdz  z   g}t	        |||¬«      }t        j                  |t        j                  |t         j                  ¬«      «       y )Nrg   éd   ©ÚordersÚna_position©Údtype)	r    Únanr$   r^   r   rF   Úassert_numpy_array_equalÚarrayÚintp)rN   Úorderr’   ÚexpÚkeysÚresults         r.   Útest_lexsort_indexerz TestSorting.test_lexsort_indexery   s`   € ô4 —‘�˜1‘œt¤E¨#£JÓ/Ñ/´2·6±6°(¸Q±,Ñ>Ð?ˆÜ  ¨eÀÔMˆÜ
×#Ñ# F¬B¯H©H°SÄÇÁÔ,HÕIr0   r™   r’   r”   c                 óÚ  — |t         j                  k(  rt        j                  g d¢«      }nt        j                  g d¢|¬«      }t        j                  t	        |«      t         j
                  ¬«      }||g}t        |||¬«      }g }t        t        |«      ||gd¬«      D ]ž  \  }	}
t        j                  |	d¬«      }|j                  }t	        |j                  «      }|dk(  }|d	k(  r'|j                  «       rt        j                  |||«      }|
st        j                  ||||z
  d
z
  «      }|j                  |«       Œ  t        j                   |«      }t#        j$                  ||«       y )N)TFTFT)é   r   rg   r   r�   r“   r�   T©Ústrict©Úorderedr   rˆ   r   )r    Úbool_r—   rA   rM   Úint64r   ÚzipÚreversedr   ÚCategoricalÚcodesÚ
categoriesÚanyÚwhereÚappendÚlexsortrF   r–   )rN   r”   r™   r’   Úkey1Úkey2r›   rœ   ÚlabelsÚkeyÚord_Úcatr©   Únum_categoriesÚmaskrU   s                   r.   Ú#test_lexsort_indexer_numeric_dtypesz/TestSorting.test_lexsort_indexer_numeric_dtypes—   s&  € ð ”B—H‘HÒÜ—8‘8Ò<Ó=‰Dä—8‘8šO°5Ô9ˆDÜ�y‰yœ˜T›¬"¯(©(Ô3ˆØ�dˆ|ˆä  ¨eÀÔMˆð ˆÜœX d›^¨e°U¨^ÀDÔIò 		!‰IˆC�Ü—.‘. ¨dÔ3ˆCØ—I‘IˆEÜ  §¡Ó0ˆNØ˜B‘;ˆDØ˜fÒ$¨¯©¬ÜŸ™  ~°uÓ=�ÙÜŸ™  u¨n¸uÑ.DÀqÑ.HÓI�Ø�M‰M˜%Õ ð		!ô —:‘:˜fÓ%ˆä
×#Ñ# F¨HÕ5r0   c                 ó¾  — t        j                  dt         j                  dt         j                  dg«      }t        j                  t	        |«      t         j
                  ¬«      }||g}t        |||¬«      }g }t        t        |«      ||gd¬«      D ]ž  \  }}	t        j                  |d¬«      }
|
j                  }t	        |
j                  «      }|d	k(  }|d
k(  r'|j                  «       rt        j                  |||«      }|	st        j                  ||||z
  dz
  «      }|j                  |«       Œ  t        j                   |«      }t#        j$                  ||«       y )Ng      @g      ð?g       @r“   r�   Tr    r¢   r   rˆ   r   )r    r—   r•   rA   rM   Úfloat64r   r¦   r§   r   r¨   r©   rª   r«   r¬   r­   r®   rF   r–   )rN   r™   r’   r¯   r°   r›   rœ   r±   r²   r³   r´   r©   rµ   r¶   rU   s                  r.   Ú#test_lexsort_indexer_float_with_nanz/TestSorting.test_lexsort_indexer_float_with_nan¿   s  € ô
 �x‰x˜œbŸf™f c¬2¯6©6°3Ð7Ó8ˆÜ�y‰yœ˜T›¬"¯*©*Ô5ˆØ�dˆ|ˆä  ¨eÀÔMˆàˆÜœX d›^¨e°U¨^ÀDÔIò 		!‰IˆC�Ü—.‘. ¨dÔ3ˆCØ—I‘IˆEÜ  §¡Ó0ˆNØ˜B‘;ˆDØ˜fÒ$¨¯©¬ÜŸ™  ~°uÓ=�ÙÜŸ™  u¨n¸uÑ.DÀqÑ.HÓI�Ø�M‰M˜%Õ ð		!ô —:‘:˜fÓ%ˆä
×#Ñ# F¨HÕ5r0   c                 ó¢  — t        j                  dt        j                  t         j                  «      j                  ddgt         j                  ¬«      }t        j
                  t        |«      t         j                  ¬«      }t        ||gdd¬«      }t        j                  g d¢t         j                  ¬«      }t        j                  ||«       y )	Nr   r   r   r“   Frˆ   r�   )r   r   rŸ   r   )r    r—   Úiinfor¥   ÚminrA   rM   r   r˜   rF   r–   )rN   r¯   r°   rœ   rU   s        r.   Ú,test_lexsort_indexer_int_descending_overflowz8TestSorting.test_lexsort_indexer_int_descending_overflowÙ   s‚   € ä�x‰x˜œBŸH™H¤R§X¡XÓ.×2Ñ2°A°qÐ9ÄÇÁÔJˆÜ�y‰yœ˜T›¬"¯(©(Ô3ˆä  $¨ °eÈÔPˆô —8‘8šL´·±Ô8ˆÜ
×#Ñ# F¨HÕ5r0   zascending, na_position, expc                 ó  — t        j                  t         j                  gdz  t        t	        d«      «      z   t         j                  gdz  z   d¬«      }t        |d||¬«      }t        j                  |t        j                  |«      d¬«       y )	Nrg   r�   ÚOr“   Ú	mergesort)ÚkindÚ	ascendingr’   F)Úcheck_dtype)r    r—   r•   r$   r^   r   rF   r–   )rN   rÃ   r’   rš   rL   rœ   s         r.   Útest_nargsortzTestSorting.test_nargsortä   sl   € ô6 —‘œ"Ÿ&™&˜ A™¬¬U°3«ZÓ(8Ñ8¼B¿F¹F¸8Àa¹<ÑGÈsÔSˆô Ø˜¨yÀkô
ˆô 	×#Ñ# F¬B¯H©H°S«MÀuÖMr0   N)Ú__name__Ú
__module__Ú__qualname__ÚpytestÚmarkÚslowrX   rb   Úparametrizer‡   r$   r^   r�   r    r¹   Úfloat32r¥   Úuint64r¤   r·   rº   r¾   rÅ   © r0   r.   r2   r2   '   s[  „ Ø‡[�[×Ññ&'ó ð&'òP+ð ‡[�[×ÑØ‡[�[×Ñ˜U V¨XÐ$6Ó7ñ7ó 8ó ð7ð: ‡[�[×ÑØ!ð ØÙ‘U˜1˜c“]Ó#¡d©5°«8£nÑ4±t¹EÀ#Às»OÓ7LÑLðð ØÙ‘U˜1“X“¡¡e¨C°£oÓ!6Ñ6¹¹eÀAÀs»mÓ9LÑLðð ØÙ‘U˜3  2Ó&Ó'©$©u°Q«x«.Ñ8¹4ÁÀcÈ3ÃÓ;PÑPðð ØÙ‘U˜1“X“¡¡e¨C°£oÓ!6Ñ6¹¹eÀCÈÈBÓ>OÓ9PÑPðð!	
óñ2Jó3ð2Jð
 ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜]¨V°WÐ,=Ó>Ø‡[�[×ÑØà�J‰JØ�J‰JØ�H‰HØ�I‰IØ�H‰Hð	
ó	ñ6ó	ó ?ó 5ð6ð8 ‡[�[×Ñ˜W t¨U mÓ4Ø‡[�[×Ñ˜]¨V°WÐ,=Ó>ñ6ó ?ó 5ð6ò0	6ð ‡[�[×ÑØ%ð ØÙ‘U˜1˜c“]Ó#¡d©5°«8£nÑ4±t¹EÀ#Às»OÓ7LÑLðð ØÙ‘U˜1“X“¡¡e¨C°£oÓ!6Ñ6¹¹eÀAÀs»mÓ9LÑLðð ØÙ‘U˜3  2Ó&Ó'©$©u°Q«x«.Ñ8¹4ÁÀcÈ3ÃÓ;PÑPðð ØÙ‘U˜1“X“¡¡e¨C°£oÓ!6Ñ6¹¹eÀCÈÈBÓ>OÓ9PÑPðð!	
óñ2Nó3ñ2Nr0   r2   c                   ó.  — e Zd Zd„ Zej
                  j                  d„ «       Zej
                  j                  ej
                  j                  d«      d„ «       «       Z	ej
                  j                  d„ «       Z
ej
                  j                  d„ «       Zy)Ú	TestMergec                 ó”  — t        j                  t        j                  j	                  d«      j                  d«      g t        d«      ¢d‘¬«      }t        j                  t        j                  j	                  d«      j                  d«      g t        d«      ¢d‘¬«      }t        j                  ||d¬	«      }t        |«      d
k(  sJ ‚y )Nr   )iè  r   ÚABCDEFÚG1r   rŸ   ÚG2Úouter©ÚhowiÐ  )	r   r   r    r!   r"   rB   r$   ÚmergerM   )rN   Údf1Údf2rœ   s       r.   Útest_int64_overflow_outer_mergez)TestMerge.test_int64_overflow_outer_merge  s¢   € ä�l‰lÜ�I‰I×!Ñ! !Ó$×4Ñ4°YÓ?Ø+”d˜8“nÐ+ dÐ+ô
ˆô �l‰lÜ�I‰I×!Ñ! !Ó$×4Ñ4°YÓ?Ø+”d˜8“nÐ+ dÐ+ô
ˆô —‘˜#˜s¨Ô0ˆÜ�6‹{˜dÒ"Ð"Ñ"r0   c                 óJ  — |\  }}t        j                  ||d¬«      }t        |«      t        |«      k(  sJ ‚t        j                  |d   |d    d¬«       |j
                  d d …d d…f   j                  d¬	«      }t        j                  |d   |d¬«       |j                  �J ‚y )
NrÖ   r×   r   r   F)Úcheck_nameséþÿÿÿr   r   )r   rÙ   rM   rF   Úassert_series_equalÚilocr'   Úname)rN   r/   r   r   Úoutrœ   s         r.   Ú!test_int64_overflow_check_sum_colz+TestMerge.test_int64_overflow_check_sum_col  s™   € à ‰ˆˆeä�h‰h�t˜U¨Ô0ˆÜ�3‹xœ3˜t›9Ò$Ð$Ð$Ü
×Ñ˜s 6™{¨S°©\¨MÀuÕMØ—‘š!˜S˜b˜S˜&Ñ!×%Ñ%¨1Ð%Ó-ˆÜ
×Ñ˜s 6™{¨FÀÕFØ�{‰{Ð"Ð"Ñ"r0   z3ignore:The inplace keyword in DataFrame.sort_valuesc           	      óî   — |\  }}t        j                  ||d¬«      }|j                  |j                  j	                  «       d¬«       t        j                  |t        j                  |||d¬«      «       y )NrÖ   r×   T)Úinplace©rØ   Úsort)r   rÙ   Úsort_valuesr   r)   rF   r~   )rN   r/   Ú	join_typer   r   rã   s         r.   Útest_int64_overflow_how_mergez'TestMerge.test_int64_overflow_how_merge(  s[   € ð !‰ˆˆeä�h‰h�t˜U¨Ô0ˆØ�‰˜Ÿ™×*Ñ*Ó,°dˆÔ;Ü
×Ñ˜c¤2§8¡8¨D°%¸YÈTÔ#RÕSr0   c                 ó6  — |\  }}t        j                  ||dd¬«      }t        j                  |||j                  j                  «          «       t        j                  ||dd¬«      }t        j                  |||j                  j                  «          «       y )Nr   Frç   )r   rÙ   rF   r~   r   r)   )rN   r/   r   r   rã   s        r.   Ú$test_int64_overflow_sort_false_orderz.TestMerge.test_int64_overflow_sort_false_order1  sy   € à ‰ˆˆeô �h‰h�t˜U¨°UÔ;ˆÜ
×Ñ˜d C¨¯©×(;Ñ(;Ó(=Ñ$>Ô?ä�h‰h�u˜d¨°UÔ;ˆÜ
×Ñ˜e S¨¯©×)=Ñ)=Ó)?Ñ%@ÕAr0   c                 ór
  ‡— |}d\  }}}t        j                  t        j                  j	                  d«      j                  |||df«      j                  d«      t        d«      ¬«      }|j                  «       j                  «       }t        |«      sJ ‚t        j                  ||gd¬«      }t        j                  t        j                  j	                  d	«      j                  |||dz  df«      j                  d«      t        d«      ¬«      }	t        j                  j	                  d
«      j                  t        |«      |«      }
t        j                  |	|	|j                  |
   gd¬«      }	t        j                  j	                  d«      j                  t        |«      «      |d<   t        j                  j	                  d«      j                  t        |	«      «      |	d<   |j!                  ddt        j                  j	                  d«      ¬«      }|	j!                  ddt        j                  j	                  d«      ¬«      }	t#        t        «      t#        t        «      }}|j%                  t        d«      «      j'                  «       D ]  \  }}||   j)                  |d   «       Œ |	j%                  t        d«      «      j'                  «       D ]  \  }}||   j)                  |d   «       Œ g }|j+                  «       D ]R  \  Š}|j-                  ‰t        j.                  g«      }t1        ||«      D ]  \  }}|j)                  g ‰¢|‘|‘­«       Œ ŒT |j+                  «       D ]$  \  Š}‰|vsŒ|j3                  ˆfd„|D «       «       Œ& t        j                  |g t        d«      ¢d‘d‘¬«      }|j5                  |j6                  j9                  «       d¬«      }|d   j;                  «       |d   j;                  «       |d   j;                  «       |d   j;                  «       z  t        j<                  t        |«      d¬«      dœ}||   }||   j5                  |j6                  j9                  «       d¬«      }|j?                  «       |jA                  «       z  s|dk(  sJ ‚t        jB                  ||	||¬«      }|r8t        d«      }tE        jF                  ||   ||   j5                  |d¬«      «       tE        jF                  ||j5                  |j6                  j9                  «       d¬«      «       y )N)r   r   iM  r   r   r¥   r   r   T)r   rŸ   r�   r   r   r   rg   )r   r   r   é   c              3   óL   •K  — | ]  }g ‰¢t         j                  ‘|‘­–— Œ y ­wrl   )r    r•   )rn   ÚrvrV   s     €r.   rp   zGTestMerge.test_int64_overflow_one_to_many_none_match.<locals>.<genexpr>r  s%   øè ø€ Ò<°Ð,˜aÐ,¤§¡Ð,¨Õ,Ñ<ùs   ƒ!$Úboolr“   )r   r   ÚinnerrÖ   rÖ   rç   rÁ   )rÂ   )$r   r   r    r!   r"   r#   Úastyper$   r%   r&   r
   Úconcatrr   rM   rá   rB   r(   r   Ú	set_indexÚiterrowsr­   rL   Úgetr•   r   Úextendré   r   Úto_listÚnotnaÚonesÚallr«   rÙ   rF   r~   )rN   rê   rè   rØ   r*   r+   r,   r   r-   r   r‚   ÚldictÚrdictÚidxÚrowÚvalsÚlvalÚrvalÚlvrñ   rã   Újmaskr¶   Úframer†   ÚkcolsrV   s                             @r.   Ú*test_int64_overflow_one_to_many_none_matchz4TestMerge.test_int64_overflow_one_to_many_none_match<  se  ø€ ð ˆØ-‰ˆˆT�1Ü�|‰|Ü�I‰I×!Ñ! !Ó$×-Ñ-¨c°4¸!¸Q¸Ó@×GÑGÈÓPÜ˜“Oô
ˆð —‘“×'Ñ'Ó)ˆÜ)¨%Ô0Ð0Ð0ô �y‰y˜$ ˜°DÔ9ˆä—‘Ü�I‰I×!Ñ! !Ó$×-Ñ-¨c°4¸!¸q¹&À!¸ÓE×LÑLÈWÓUÜ˜“Oô
ˆô �I‰I×!Ñ! !Ó$×+Ñ+¬C°«I°qÓ9ˆÜ—	‘	˜5 %¨¯©°1©Ð6ÀTÔJˆä—y‘y×,Ñ,¨QÓ/×?Ñ?ÄÀDÃ	ÓJˆˆV‰ÜŸ™×.Ñ.¨qÓ1×AÑAÄ#ÀeÃ*ÓMˆˆg‰ð �{‰{Ø ´B·I±I×4IÑ4IÈ!Ó4Lð ó 
ˆð —‘Ø ´B·I±I×4IÑ4IÈ!Ó4Lð ó 
ˆô
 #¤4Ó(¬+´dÓ*;ˆuˆàŸ™¤t¨I£Ó7×@Ñ@ÓBò 	+‰HˆC�Ø�#‰J×Ñ˜c &™kÕ*ð	+ð Ÿ™¬¨Y«Ó8×AÑAÓCò 	,‰HˆC�Ø�#‰J×Ñ˜c '™lÕ+ð	,ð ˆØ—{‘{“}ò 	*‰GˆAˆtØ—9‘9˜Q¤§¡ Ó)ˆDÜ! $¨Ó-ò *‘��BØ—‘˜L˜a˜L ˜L R™LÕ)ñ*ð	*ð
 —{‘{“}ò 	=‰GˆAˆtØ˜Š~Ø—‘Ó<°tÔ<Õ<ð	=ô �l‰l˜4Ð)L¬4°	«?Ð)L¸FÐ)LÀGÐ)LÔMˆØ�o‰o˜cŸk™k×1Ñ1Ó3À$ˆoÓGˆð ˜‘K×%Ñ%Ó'Ø˜‘\×'Ñ'Ó)Ø˜‘[×&Ñ&Ó(¨3¨w©<×+=Ñ+=Ó+?Ñ?Ü—W‘WœS ›X¨VÔ4ñ	
ˆð �S‰zˆØ�D‘	×%Ñ% c§k¡k×&9Ñ&9Ó&;È$Ð%ÓOˆØ�x‰x‹z˜DŸH™H›JÒ&¨#°ª.Ð8Ð8ä�h‰h�t˜U¨°$Ô7ˆÙÜ˜“OˆEÜ×!Ñ!Ø�E‘
˜C ™J×2Ñ2°5¸{Ð2ÓKôô 	×ÑØ�3—?‘? 3§;¡;×#6Ñ#6Ó#8Àt�?ÓLõ	
r0   N)rÆ   rÇ   rÈ   rÜ   rÉ   rÊ   rË   rä   Úfilterwarningsrë   rí   r	  rÏ   r0   r.   rÑ   rÑ     sž   „ ò#ð ‡[�[×Ññ#ó ð#ð ‡[�[×ÑØ‡[�[×ÑÐ UÓVñTó Wó ðTð ‡[�[×ÑñBó ðBð ‡[�[×ÑñP
ó ñP
r0   rÑ   zcodes_list, shape)r   r   r   rŸ   r   r   r   rŸ   r�   )r   r   r�   rŸ   r   r   r   rŸ   )rg   r   r   r   rŸ   r   rg   r�   )r�   rg   rï   é'  r“   rg   )r  r  c                 ó’   — t        | |dd¬«      }t        ||«      }t        | |d¬«      D ]  \  }}t        j                  ||«       Œ y )NT)rè   Úxnullr    )r	   r   r¦   rF   r–   )Ú
codes_listr-   Úgroup_indexÚcodes_list2rZ   r[   s         r.   Útest_deconsr  �  sL   € ô* " *¨e¸$ÀdÔK€KÜ% k°5Ó9€Kä�J °DÔ9ò *‰ˆˆ1Ü
×#Ñ# A qÕ)ñ*r0   iˆ  r   ÚargsortÚcounting)ÚparamsÚidsc              #   ó´   K  — |j                  «       5 }|j                  t        d| j                  «       | j                  –— d d d «       y # 1 sw Y   y xY w­w)NÚ_MIN_COUNTING_SORT_LEN)ÚcontextÚsetattrr   Úparam)ÚrequestÚmonkeypatchÚms      r.   Úswitch_counting_sort_min_lenr  ¬  sI   è ø€ ð 
×	Ñ	Ó	ð  !Ø	�	‰	”*Ð6¸¿¹ÔFØ�m‰mÒ÷÷ ñ üs   ‚A“0AÁ	AÁAÁAc            
       ó  — e Zd Zej                  j                  dg d¢g d¢g ej                   ed«      e	¬«       ej                   ed«      e	¬«      gg g gg«      d„ «       Z
ej                  j                  dg d	¢«      ej                  j                  d
ddg«      ej                  j                  dg d¢g d¢gg g gg«      d„ «       «       «       Zej                  j                  dg d	¢«      d„ «       Zej                  j                  dddg«      d„ «       Zej                  j                  dg d¢«      ej                  j                  dddg«      ej                  j                  dddg«      d„ «       «       «       Zd„ Zd„ Zd„ Zej                  j                  dddgd dgd d gg«      d!„ «       Zd"„ Zd#„ Zd$„ Zej                  j                  d%d&d'ed(g ej                  g d)¢«      d&ed*g ej                  g d+¢«      d,d&ged-gg«      d.„ «       Zej                  j                  dg d/¢g d0¢gd&d1ej4                  d gd&d d1ej4                  ggg«      d2„ «       Zej                  j                  d
ddg«      d3„ «       Zy')4ÚTestSafeSortzarg, exp©rŸ   r   r   r   r�   ©r   r   r   rŸ   r�   Úbaaacbr“   Úaaabbcc                 ó–   — t        t        j                  |«      «      }t        j                  |«      }t        j                  ||«       y rl   )r   r    r—   rF   r–   )rN   Úargrš   rœ   rU   s        r.   Útest_basic_sortzTestSafeSort.test_basic_sort¸  s3   € ô œ2Ÿ8™8 C›=Ó)ˆÜ—8‘8˜C“=ˆÜ
×#Ñ# F¨HÕ5r0   r”   )r¥   rÎ   r¹   ÚobjectÚverifyTFzcodes, exp_codes)r   r   r   r   rŸ   r   r   r�   )rŸ   r   r   r   r   rŸ   r   r�   c                 ó.  — t        j                  g d¢|¬«      }t        j                  g d¢|¬«      }t        ||d|¬«      \  }}	t        j                  |t         j                  ¬«      }
t	        j
                  ||«       t	        j
                  |	|
«       y )Nr!  r“   r"  T©Úuse_na_sentinelr)  ©r    r—   r   r˜   rF   r–   )rN   r)  r©   Ú	exp_codesr”   r  r>   rU   rœ   Úresult_codesÚexpected_codess              r.   Ú
test_codeszTestSafeSort.test_codesÈ  sr   € ô —‘š/°Ô7ˆÜ—8‘8šO°5Ô9ˆä(Ø�E¨4¸ô 
Ñˆ�ô Ÿ™ )´2·7±7Ô;ˆÜ
×#Ñ# F¨HÔ5Ü
×#Ñ# L°.ÕAr0   c                 ó8  — t        j                  g d¢|¬«      }t        j                  g d¢|¬«      }g d¢}t        ||d¬«      \  }}t        j                  g d¢t         j                  ¬«      }t	        j
                  ||«       t	        j
                  ||«       y )Nr!  r“   r"  )r   ée   éf   r   rŸ   r   éc   r�   T©r,  )rŸ   r   r   r   r   rŸ   r   r�   r-  )	rN   r”   r  r>   rU   r©   rœ   r/  r0  s	            r.   Útest_codes_out_of_boundz$TestSafeSort.test_codes_out_of_boundÜ  sq   € ä—‘š/°Ô7ˆÜ—8‘8šO°5Ô9ˆò .ˆÜ(¨°ÈÔMÑˆ�ÜŸ™Ò"=ÄRÇWÁWÔMˆÜ
×#Ñ# F¨HÔ5Ü
×#Ñ# L°.ÕAr0   r¥   rÎ   c                 óÚ   — t        j                  g d¢|¬«      }g d¢}t        ||d¬«      \  }}t        j                  g d¢t         j                  ¬«      }t	        j
                  ||«       y )Nr!  r“   )r   rï   é   r   r   Fr6  )rŸ   r   r   r   r�   r-  )rN   r”   r  r>   r©   rS   r/  r0  s           r.   Útest_codes_out_of_bound_wrapz)TestSafeSort.test_codes_out_of_bound_wrapè  sO   € ô —‘š/°Ô7ˆâ ˆä# F¨EÀ5ÔI‰ˆˆ<ÜŸ™¢/¼¿¹ÔAˆÜ
×#Ñ# L°.ÕAr0   )r¥   Úint32Úint16rÎ   Úanchorr½   ÚmaxÚassume_uniquec                 ó  — t        j                  |«      }d}|dk(  r|j                  n|j                  |z
  dz   }t        j                  |||z   |¬«      d d d…   j                  «       }t        j                  g d¢t         j                  ¬«      }	t        ||	|¬«      \  }
}t        j                  |
t        j                  |«      «       t        j                  |t        j                  g d¢t         j                  ¬«      «       y )	Nrg   r½   r   r“   r   )r   rŸ   r�   r   )r?  )r�   r   r   rŸ   )r    r¼   r½   r>  rA   Úcopyr—   r˜   r   rF   r–   rè   )rN   r”   r=  r?  r  ÚinfoÚnumÚbaser>   r©   rœ   r/  s               r.   Ú%test_codes_counting_sort_dtype_boundsz2TestSafeSort.test_codes_counting_sort_dtype_boundsó  sº   € ô �x‰x˜‹ˆØˆØ! Uš?ˆt�xŠx°·±¸3±ÀÑ0BˆÜ—‘˜4 ¨¡°5Ô9¹$¸B¸$Ñ?×DÑDÓFˆÜ—‘š¬R¯W©WÔ5ˆä(¨°ÀmÔTÑˆ�Ü
×#Ñ# F¬B¯G©G°F«OÔ<Ü
×#Ñ# L´"·(±(º<ÌrÏwÉwÔ2WÕXr0   c                 ó
  — t        j                  g d¢d¬«      }t        j                  t        |«      t         j                  ¬«      }t        j                  t        d¬«      5  t        ||«       d d d «       y # 1 sw Y   y xY w)N)rŸ   r   r   r   rŸ   r¥   r“   úvalues should be unique©Úmatch)	r    r—   rA   rM   r˜   rÉ   ÚraisesÚ
ValueErrorr   )rN   r  r>   r©   s       r.   Ú#test_codes_counting_sort_duplicatesz0TestSafeSort.test_codes_counting_sort_duplicates  sX   € ä—‘š/°Ô9ˆÜ—	‘	œ#˜f›+¬R¯W©WÔ5ˆÜ�]‰]œ:Ð-FÔGñ 	%Ü�f˜eÔ$÷	%÷ 	%ñ 	%ús   Á#A9Á9Bc                 ój  — t        j                  g d¢d¬«      }t        j                  g d¢t         j                  ¬«      }t        ||«      \  }}t	        j
                  |t        j                  |«      «       t	        j
                  |t        j                  g d¢t         j                  ¬«      «       y )N)i,  r   i N  r   r�   r¥   r“   )r   r   r�   r   r   )rŸ   r�   r   r   r   )r    r—   r˜   r   rF   r–   rè   )rN   r  r>   r©   rœ   r/  s         r.   Ú#test_codes_counting_sort_wide_rangez0TestSafeSort.test_codes_counting_sort_wide_range  sv   € ô —‘Ò/°wÔ?ˆÜ—‘Ò)´·±Ô9ˆä(¨°Ó7Ñˆ�Ü
×#Ñ# F¬B¯G©G°F«OÔ<Ü
×#Ñ#Øœ"Ÿ(™(Ò#3¼2¿7¹7ÔCõ	
r0   c                 ó¢  — t         j                  dz   }t        j                  j	                  d«      }|j                  t        j                  |d¬«      «      }|j                  d|d¬«      j                  t        j                  «      }t        ||j                  «       «      \  }}t        j                  |t        j                  ¬«      }t        j                  |t        j                  ¬«      ||j                  «       <   t        j                  |t        j                   |«      «       t        j                  ||j#                  |«      «       y )Nr   r   r¥   r“   r   iô  )Úsize)r   r  r    r!   r"   rt   rA   r#   rô   r˜   r   rA  Úemptyr  rF   r–   rè   Útake)rN   rC  Úrngr>   r©   rœ   r/  Úrankss           r.   Ú+test_codes_counting_sort_above_real_min_lenz8TestSafeSort.test_codes_counting_sort_above_real_min_len  sà   € ä×/Ñ/°!Ñ3ˆÜ�i‰i×#Ñ# AÓ&ˆØ—‘¤§¡¨3°gÔ!>Ó?ˆØ—‘˜Q ¨#�Ó.×5Ñ5´b·g±gÓ>ˆä(¨°·±³Ó>Ñˆ�ô —‘˜¤B§G¡GÔ,ˆÜ"$§)¡)¨C´r·w±wÔ"?ˆˆf�n‰nÓÑÜ
×#Ñ# F¬B¯G©G°F«OÔ<Ü
×#Ñ# L°%·*±*¸UÓ2CÕDr0   r©   r   r   c                 óÄ   — t        j                  g «      }t        j                  |t         j                  ¬«       }t	        ||«      \  }}t        j                  ||«       y )Nr“   )r    r—   Ú	ones_liker˜   r   rF   r–   )rN   r©   Úempty_valuesr0  rS   r/  s         r.   Ú#test_codes_empty_array_out_of_boundz0TestSafeSort.test_codes_empty_array_out_of_bound'  sF   € ä—x‘x “|ˆÜŸ,™, u´B·G±GÔ<Ð<ˆÜ# L°%Ó8‰ˆˆ<Ü
×#Ñ# L°.ÕAr0   c                 óº   — t        j                  g d¢t        ¬«      }t        |«      }t        j                  g d¢t        ¬«      }t	        j
                  ||«       y )N)r[   r   r   rZ   r   r[   r“   )r   r   r   rZ   r[   r[   ©r    r—   r(  r   rF   r–   )rN   r>   rœ   rU   s       r.   Útest_mixed_integerzTestSafeSort.test_mixed_integer.  s>   € Ü—‘Ò2¼&ÔAˆÜ˜6Ó"ˆÜ—8‘8Ò4¼FÔCˆÜ
×#Ñ# F¨HÕ5r0   c                 óD  — t        j                  g d¢t        ¬«      }g d¢}t        ||«      \  }}t        j                  g d¢t        ¬«      }t        j                  g d¢t         j                  ¬«      }t        j                  ||«       t        j                  ||«       y )N)r[   r   r   rZ   r“   )r   r   r   rŸ   r   r   r   )r   r   rZ   r[   )rŸ   r   r   r   rŸ   r   r   )r    r—   r(  r   r˜   rF   r–   )rN   r>   r©   rœ   r/  rU   r0  s          r.   Útest_mixed_integer_with_codesz*TestSafeSort.test_mixed_integer_with_codes4  so   € Ü—‘Ò*´&Ô9ˆÚ&ˆÜ(¨°Ó7Ñˆ�Ü—8‘8Ò,´FÔ;ˆÜŸ™Ò"8ÄÇÁÔHˆÜ
×#Ñ# F¨HÔ5Ü
×#Ñ# L°.ÕAr0   c           	      óÔ   — t        j                  ddt        ddd«      ddgt        ¬«      }d}t	        j
                  t        |¬«      5  t        |«       d d d «       y # 1 sw Y   y xY w)	Nr   r   iÛ  r   rŸ   r“   z,'[<>]' not supported between instances of .*rH  )r    r—   r   r(  rÉ   rJ  Ú	TypeErrorr   )rN   r�   Úmsgs      r.   Útest_unsortablezTestSafeSort.test_unsortable=  sU   € ä�h‰h˜˜1œh t¨Q°Ó2°A°qÐ9ÄÔHˆØ<ˆÜ�]‰]œ9¨CÔ0ñ 	Ü�cŒN÷	÷ 	ñ 	ús   Á	AÁA'zarg, codes, err, msgr   Nz*Only np.ndarray, ExtensionArray, and Index)r   r   r   zOnly list-like objects or None)r   r   r   r   r   rG  c                 óv   — t        j                  ||¬«      5  t        ||¬«       d d d «       y # 1 sw Y   y xY w)NrH  )r>   r©   )rÉ   rJ  r   )rN   r&  r©   Úerrra  s        r.   Útest_exceptionszTestSafeSort.test_exceptionsD  s1   € ô �]‰]˜3 cÔ*ñ 	/Ü˜S¨Õ.÷	/÷ 	/ñ 	/ús   ˜/¯8©r   rŸ   r   ©r   r   rŸ   rŸ   c                 ó¢   — t        j                  |d¬«      }t        |«      }t        j                  |d¬«      }t        j                  ||«       y )NÚInt64r“   )r   r—   r   rF   Úassert_extension_array_equal)rN   r&  rš   rZ   rœ   rU   s         r.   Útest_extension_arrayz!TestSafeSort.test_extension_arrayP  s=   € ô �H‰H�S Ô(ˆÜ˜1“ˆÜ—8‘8˜C wÔ/ˆÜ
×'Ñ'¨°Õ9r0   c                 ó6  — t        j                  g d¢d¬«      }t        |g d¢d|¬«      \  }}t        j                  g d¢d¬«      }t        j                  g d¢t        j                  ¬«      }t        j                  ||«       t        j                  ||«       y )	Nrf  ri  r“   )r   r   r   r   Tr+  rg  )r   r   r   r   )r   r—   r   r    r˜   rF   rj  r–   )rN   r)  rZ   rœ   r©   Úexpected_valuesr0  s          r.   Útest_extension_array_codesz'TestSafeSort.test_extension_array_codesY  sk   € ä�H‰H’Y gÔ.ˆÜ! !¢]ÀDÐQWÔX‰ˆ�ÜŸ(™(¢9°GÔ<ˆÜŸ™¢-´r·w±wÔ?ˆÜ
×'Ñ'¨°Ô@Ü
×#Ñ# E¨>Õ:r0   )rÆ   rÇ   rÈ   rÉ   rÊ   rÌ   r    r—   r$   r(  r'  r1  r7  r:  rE  rL  rN  rU  rY  r\  r^  rb  r`  rK  re  r   ÚNArk  rn  rÏ   r0   r.   r   r   ·  s×  „ Ø‡[�[×ÑØâšoÐ.à�—‘™˜h›¨vÔ6Ø�—‘™˜h›¨vÔ6ðð �ˆHð	
ó
ñ6ó
ð6ð
 ‡[�[×Ñ˜WÒ&NÓOØ‡[�[×Ñ˜X¨¨e }Ó5Ø‡[�[×ÑØâ&Ò(AÐBØ�ˆHð	
óñ	Bóó 6ó Pð	Bð ‡[�[×Ñ˜WÒ&NÓOñ	Bó Pð	Bð ‡[�[×Ñ˜W w°Ð&9Ó:ñBó ;ðBð ‡[�[×Ñ˜WÒ&KÓLØ‡[�[×Ñ˜X¨¨u ~Ó6Ø‡[�[×Ñ˜_¨t°U¨mÓ<ñYó =ó 7ó MðYò%ò

òEð ‡[�[×Ñ˜W¨¨B x°!°R°¸1¸a¸&Ð&AÓBñBó CðBò6òBòð ‡[�[×ÑØà��iÐ!MÐNØˆR�X‰X’iÓ  ! YÐ0PÐQØˆR�X‰X’lÓ# a¨ V¨ZÐ9RÐSð	
óñ/óð/ð ‡[�[×ÑØ’i¢Ð+¨q°!°R·U±U¸AÐ.>ÀÀAÀqÈ"Ï%É%Ð@PÐ-QÐRóñ:óð:ð ‡[�[×Ñ˜X¨¨e }Ó5ñ;ó 6ñ;r0   r   c                 óÂ   — t        j                  d| ddgt        ¬«      }t        |«      }t        j                  ddd| gt        ¬«      }t	        j
                  ||«       y )Nr[   rZ   r“   r[  )Únulls_fixturer>   rœ   rU   s       r.   Útest_mixed_str_nullrr  c  sN   € Ü�X‰X�s˜M¨3°Ð4¼FÔC€FÜ�vÓ€FÜ�x‰x˜˜c 3¨Ð6¼fÔE€HÜ×Ñ ¨Õ1r0   c                  ó®  — t        j                  ddt         j                  t         j                  gd¬«      } g d¢}t         j                  j	                  | |g«      }t        |«      }t         j                  j	                  t        j                  ddt         j                  t         j                  gd¬«      g d¢g«      }t        j                  ||«       y )Nr   r   ri  r“   )r   r   rŸ   rŸ   )r   r   rŸ   rŸ   )r   ÚSeriesro  rx   ry   r   rF   rG   )Úarr1Úarr2Úmidxrœ   rU   s        r.   Útest_safe_sort_multiindexrx  j  s“   € ä�9‰9�a˜œBŸE™E¤2§5¡5Ð)°Ô9€DÚ€DÜ�=‰=×$Ñ$ d¨D \Ó2€DÜ�t‹_€FÜ�}‰}×(Ñ(Ü	�‰�A�qœ"Ÿ%™%¤§¡Ð'¨wÔ	7ºÐFó€Hô ×Ñ˜& (Õ+r0   )*Úcollectionsr   r   Ú	itertoolsr   Únumpyr    rÉ   Úpandasr   Úpandas._testingÚ_testingrF   Úpandas.corer   Úpandas.core.algorithmsr   Úpandas.core.commonÚcoreÚcommonrJ   Úpandas.core.sortingr   r	   r
   r   r   Úfixturer/   r2   rÑ   rÊ   rÌ   Útilerô   r¥   rA   r  r  r   rr  rx  rÏ   r0   r.   ú<module>r‡     s•  ðÝ #Ý Ý ã Û ã Ý Ý "Ý ,ß  Ð  ÷õ ð ‡�ñó ð÷ eNñ eN÷P~
ñ ~
ðB ‡�×ÑØð �—‘Ò0°#Ó6×=Ñ=¸b¿h¹hÓGØ�—‘Ò0°#Ó6×=Ñ=¸b¿h¹hÓGØ�—‘Ò0°#Ó6×=Ñ=¸b¿h¹hÓGðð
 ð	
ð �—‘˜	˜Ÿ	™	 %¨r¯x©xÔ8¸!Ó<Ø�—‘˜	˜Ÿ	™	 %¨r¯x©xÔ8¸!Ó<ðð ð	
ðóñ(*ó)ð(*ð €‡�˜˜q�z¨	°:Ð'>Ô?ñó @ð÷i;ñ i;òX2ó	,r0   