Ë
    ž…j¦ ã                   óª  — d dl m Z  d dlZd dlZd dlmZ d dlZd dlmZm	Z	m
Z
mZmZmZmZ d dlmZ d dlmZ d dlmZ ej,                  fd„Zi dd	“d
d“dd “dej,                  “dej,                  “dej,                  “dej,                  “dej,                  “dej,                  “dej,                  “dej,                  “dej,                  “dej,                  “dd “dd“dej,                  “dej,                  “d ej,                  ej,                  ej,                  d ej,                  dœ¥Zd„ Zd„ Zd„ Zd „ Zd!„ Zd"„ Zd#„ Zd$„ Z d%„ Z!d&„ Z"ejF                  jI                  d'd	dg«      d(„ «       Z%d)„ Z&d*„ Z'd+„ Z(d,„ Z)d-„ Z*d.„ Z+d/„ Z,d0„ Z-ejF                  jI                  d1d2g d3¢ e	g d4¢d2¬5«      fd2d6gg d7¢ e	g d4¢d2¬5«       eg d8¢«      gfd2d9gg d:¢ e	g d4¢d2¬5«       e	g d4¢d2¬5«      gfg«      ejF                  jI                  d;d	dg«      d<„ «       «       Z.d=„ Z/d>„ Z0d?„ Z1ejF                  jI                  d'd	dg«      d@„ «       Z2dA„ Z3dB„ Z4dC„ Z5dD„ Z6dE„ Z7ejF                  jI                  dFdGg e e8dH«      «      d dIgddJgdKœf e e8dH«      «      js                  dL„ «      dJgd dgdKœf e e8dM«      «      d dIgddJgdKœfg«      dN„ «       Z:dO„ Z;dP„ Z<dQ„ Z=ejF                  jI                  dRdSdTg«      dU„ «       Z>ejF                  jI                  dVddWdgfddXdYgfddXdgfddWdYgfg«      dZ„ «       Z?d[„ Z@d\„ ZAd]„ ZBd^„ ZCejF                  jI                  d'd	dg«      d_„ «       ZDejF                  jI                  d'd	dg«      d`„ «       ZEda„ ZFdb„ ZGdc„ ZHejF                  jI                  ddd	 e ej’                   eg de¢df¬g«      g dh¢gd2d6g¬i«      g d4¢dj¬k«      fd e
 eg de¢df¬g«      g dh¢g d4¢dlœ«      fg«      dm„ «       ZJejF                  jI                  dndej,                  ej–                  g«      do„ «       ZLejš                  dp„ «       ZNejF                  jI                  dqdrdsg«      dt„ «       ZOejF                  jI                  dqdrdsg«      ejF                  jI                  duddg«      dv„ «       «       ZPejF                  jI                  dwd	 ej’                   edxgdHz  dygdHz  z   dfdz¬{«       eg d|¢dfd}¬{«       eddgdHz  «      g«      g d~¢fd ej¢                   e	dxdygd¬«       e	g d€¢d¬«       eddg«      gg d�¢¬i«      dJdJdHdHej,                  ej,                  ddej,                  ej,                  dIdIgfd ej¢                   e	dxdygd¬«       e	g d€¢d¬«       eddg«      gg d�¢¬i«      dJdJdHdHej,                  ej,                  ddej,                  ej,                  dIdIgfg«      d‚„ «       ZRdƒ„ ZSd„„ ZTd…„ ZUd†„ ZVd‡„ ZWdˆ„ ZXejF                  jI                  duddg«      d‰„ «       ZYdŠ„ ZZejF                  jI                  d‹ej¶                  g de¢fej¸                  g dh¢fg«      dŒ„ «       Z]d�„ Z^ejF                  jI                  dŽddg«      d�„ «       Z_d�„ Z`d‘„ Zad’„ Zbd“„ Zcd”„ ZdejF                  jI                  dŽddg«      dŽeedueffd•„«       ZgejF                  jI                  dŽddg«      dŽeedueffd–„«       Zhd—„ ZiejF                  jI                  dŽddg«      d˜„ «       Zjd™„ Zkdš„ Zld›„ ZmejF                  jI                  dœg d�¢«      ejF                  jI                  d'd	dg«      dž„ «       «       ZnejF                  jI                  dœdŸd g«      ejF                  jI                  d'd	dg«      d¡„ «       «       ZoejF                  jI                  dœg d�¢«      ejF                  jI                  d¢d£d¤g«      ejF                  jI                  d'd	dg«      d¥„ «       «       «       ZpejF                  jI                  dœg d�¢«      ejF                  jI                  d¢g d¦¢«      ejF                  jI                  d'd	dg«      d§„ «       «       «       ZqejF                  jI                  dœg d�¢«      d¨„ «       ZrejF                  jI                  d;d	dg«      ejF                  jI                  d©dªgdªd9gg«      d«„ «       «       Zsd¬„ Zty)­é    )ÚdatetimeN)ÚPandas4Warning)ÚCategoricalÚCategoricalIndexÚ	DataFrameÚIndexÚ
MultiIndexÚSeriesÚqcut)ÚSeriesGroupBy)Úget_groupby_method_argsc                 ó@  — d„ }t        j                  t        ||«      |¬«      }t        |t        «      rJi }| j
                  D ]  }| |   j                  |||   ¬«      ||<   Œ  t        ||¬«      j                  «       S | j                  ||¬«      j                  «       S )zpReindex to a cartesian production for the groupers,
    preserving the nature (Categorical) of each grouper
    c                 óÆ   — t        | t        t        f«      rJ| j                  }t        j                  t        j                  t        |«      «      || j                  ¬«      } | S )N©Ú
categoriesÚordered)	Ú
isinstancer   r   r   Ú
from_codesÚnpÚarangeÚlenr   )Úar   s     úf/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/groupby/test_categorical.pyÚfz)cartesian_product_for_groupers.<locals>.f   sJ   € Ü�aÔ*¬KÐ8Ô9ØŸ™ˆJÜ×&Ñ&Ü—	‘	œ#˜j›/Ó*°zÈ1Ï9É9ôˆAð ˆó    ©Únames©Ú
fill_value©Úindex)	r	   Úfrom_productÚmapr   ÚdictÚcolumnsÚreindexr   Ú
sort_index)ÚresultÚargsr   r   r   r!   ÚresÚcols           r   Úcartesian_product_for_groupersr,      sš   € ò
ô ×#Ñ#¤C¨¨4£L¸Ô>€EÜ�*œdÔ#ð ˆØ—>‘>ò 	NˆCØ˜c‘{×*Ñ*¨5¸ZÈ¹_Ð*ÓMˆC�ŠHð	Nä˜ EÔ*×5Ñ5Ó7Ð7à�>‰>˜%¨Jˆ>Ó7×BÑBÓDÐDr   ÚallTÚanyFÚcountÚcorrwithÚfirstÚidxmaxÚidxminÚlastÚmaxÚmeanÚmedianÚminÚnthÚnuniqueÚprodé   ÚquantileÚsem)ÚsizeÚskewÚkurtÚstdÚsumÚvarc                 óÊ   — t        | j                  d«      }d„ }| j                  |d¬«      j                  j	                  |«      }|j
                  j                  d   dk(  sJ ‚y )Né   c                 ó€   — | j                  «       | j                  «       | j                  «       | j                  «       dœS )N©r8   r5   r/   r6   rH   )Úgroups    r   Ú	get_statsz2test_apply_use_categorical_name.<locals>.get_statsT   s0   € à—9‘9“;Ø—9‘9“;Ø—[‘[“]Ø—J‘J“Lñ	
ð 	
r   F©Úobservedr   ÚC)r   rM   ÚgroupbyÚDÚapplyr!   r   )ÚdfÚcatsrJ   r(   s       r   Útest_apply_use_categorical_namerS   Q   sX   € Ü�—‘�a‹=€Dò
ð �Z‰Z˜ uˆZÓ-×/Ñ/×5Ñ5°iÓ@€FØ�<‰<×Ñ˜aÑ  CÒ'Ð'Ñ'r   c                  ó&  — t        g d¢g d¢d¬«      } t        g d¢| dœ«      }t        t        d«      dd¬	«      }t        d
dddt        j
                  gi|¬«      }|j                  dd¬«      j                  «       }t        j                  ||«       y )N©	r   r   r   ÚbrV   rV   ÚcrW   rW   ©r   rV   rW   ÚdTr   ©	r<   r<   r<   é   r[   r[   é   rF   é   ©r   rV   ÚabcdrV   ©Únamer   r   r<   r[   rF   r    FrK   )
r   r   r   Úlistr   ÚnanrN   r6   ÚtmÚassert_frame_equal)rR   ÚdataÚ	exp_indexÚexpectedr(   s        r   Ú
test_basicri   `   s‚   € ÜÚ5Ú'Øô€Dô
 Ò6¸TÑBÓC€Dä ¤ f£°CÀÔF€IÜ˜#  1 a¬¯©Ð0Ð1¸ÔC€HØ�\‰\˜#¨ˆ\Ó.×3Ñ3Ó5€FÜ×Ñ˜& (Õ+r   c                  ó8  — t        g d¢g d¢d¬«      } t        g d¢g d¢d¬«      }t        | |g d¢dœ«      }|j                  d	d
¬«      }t        g d¢d	d¬«      }t        dt	        g d¢|¬«      i«      }|j                  d¬«      }t        j                  ||«       y )N©r   r   rV   rV   ©r   rV   ÚzTr   ©rW   rY   rW   rY   ©rW   rY   Úy©r<   r[   r\   rF   ©ÚAÚBÚvaluesrs   FrK   r`   ru   )r\   é   r   r    ©Únumeric_only)r   r   rN   r   r
   rC   rd   re   )Úcat1Úcat2rQ   ÚgbÚexp_idxrh   r(   s          r   Útest_basic_single_grouperr}   n   s‰   € ÜÒ+ºÐQUÔV€DÜÒ+ºÐQUÔV€DÜ	˜ D²LÑAÓ	B€Bà	�‰�C %ˆÓ	(€BÜš°SÀ$ÔG€GÜ˜(¤Fª9¸GÔ$DÐEÓF€HØ�V‰V ˆVÓ&€FÜ×Ñ˜& (Õ+r   c                 ó<  — t        ddgddgddggddg¬«      }t        |j                  «      |d<   |j                  dgd¬	«      }|j	                  d
„ «      }t        j                  ||dg   «       |j                  d«      }|j                  ddg   }t        j                  ||«       d„ }|j                  |«      }|dg   j                  ddg   }t        ddgd¬«      |_        | rdnt        }|d   j                  |«      |d<   t        j                  ||«       y )Nr<   zJohn P. Doer[   z	Jane DoveÚ	person_idÚperson_name©r%   FrK   c                 ó   — | S ©N© ©Úxs    r   ú<lambda>z#test_basic_string.<locals>.<lambda>ƒ   s   €  1€ r   r   c                 ó>   — | j                  d«      j                  d   S )Nr€   r   )Údrop_duplicatesÚilocr…   s    r   r   ztest_basic_string.<locals>.fŠ   s   € Ø× Ñ  Ó/×4Ñ4°QÑ7Ð7r   ©ra   Ústr)r   r   r€   rN   Ú	transformrd   re   r‰   rŠ   rP   r   r!   ÚobjectÚastype)Úusing_infer_stringr†   Úgr(   rh   r   Údtypes          r   Útest_basic_stringr“   z   s   € äØ
ˆ]Ð	˜a Ð-°°=Ð/AÐBØ˜mÐ,ô	€Aô # 1§=¡=Ó1€A€mÑà	�	‰	�;�-¨%ˆ	Ó0€AØ�[‰[™Ó%€FÜ×Ñ˜& ! ] OÑ"4Ô5à×Ñ˜}Ó-€FØ�v‰v�q˜!�f‰~€HÜ×Ñ˜& (Ô+ò8ð �W‰W�Q‹Z€FØ�-�Ñ!×&Ñ&¨¨1 vÑ.€HÜ˜A˜q˜6¨Ô4€H„NÙ'‰E¬V€EØ& }Ñ5×<Ñ<¸UÓC€Hˆ]ÑÜ×Ñ˜& (Õ+r   c                  óJ  — t        dg d¢i«      } t        j                  | j                  g d¢¬«      }| j                  j	                  |d¬«      j                  t        «      }t        j                  || d   «       t        j                  | j                  j	                  |d¬«      j                  d„ «      | d   «       | j	                  |d¬«      j                  t        «      }| dg   }t        j                  ||«       | j	                  |d¬«      }|j                  d„ «      }t        j                  || dg   «       |j                  d	„ «      }|j                  t        «      }|j                  t        j                  j                  «      }|j                  d
„ «      }t        j                  || dg   d¬«       t        j                  || dg   d¬«       t        j                  || dg   «       t        j                  || dg   «       t        j                  | j                  j	                  |d¬«      j                  t        j                  «      | d   «       t        j                  | j	                  |d¬«      j                  t        j                  «      | «       y )Nr   )r]   é   é   )r   é
   é   é   é(   ©ÚbinsFrK   c                 ó,   — t        j                  | «      S rƒ   ©r   rC   ©Úxss    r   r‡   z&test_basic_monotonic.<locals>.<lambda>ž   ó   € ¼R¿V¹VÀB»Z€ r   c                 ó0   — t        j                  | d¬«      S ©Nr   ©Úaxis©r   r5   rŸ   s    r   r‡   z&test_basic_monotonic.<locals>.<lambda>¥   s   € ¤b§f¡f¨R°aÔ&8€ r   c                 ó0   — t        j                  | d¬«      S r£   r¦   rŸ   s    r   r‡   z&test_basic_monotonic.<locals>.<lambda>¨   s   € ¤r§v¡v¨b°qÔ'9€ r   c                 ó@   — t         j                  j                  | «      S rƒ   )r   ÚmaximumÚreducerŸ   s    r   r‡   z&test_basic_monotonic.<locals>.<lambda>«   s   € ¤r§z¡z×'8Ñ'8¸Ó'<€ r   )Úcheck_dtype)r   ÚpdÚcutr   rN   r�   rC   rd   Úassert_series_equalre   r5   r   r©   rª   Úfilterr-   )	rQ   rW   r(   rh   ÚgbcÚresult2Úresult3Úresult4Úresult5s	            r   Útest_basic_monotonicrµ   •   s  € ä	�CšÐ%Ó	&€BÜ
�‰ˆr�t‰tÒ-Ô.€Aà�T‰T�\‰\˜! eˆ\Ó,×6Ñ6´sÓ;€FÜ×Ñ˜6 2 c¡7Ô+ä×ÑØ
�‰�‰�Q ˆÓ'×1Ñ1Ñ2GÓHÈ"ÈSÉ'ôð �Z‰Z˜ EˆZÓ*×4Ñ4´SÓ9€FØ�3�%‰y€HÜ×Ñ˜& (Ô+à
�*‰*�Q ˆ*Ó
'€CØ�]‰]Ñ8Ó9€FÜ×Ñ˜& " c U¡)Ô,à�m‰mÑ9Ó:€GØ�m‰mœCÓ €GØ�m‰mœBŸJ™J×-Ñ-Ó.€GØ�m‰mÑ<Ó=€GÜ×Ñ˜' 2 s e¡9¸%Õ@Ü×Ñ˜' 2 s e¡9¸%Õ@Ü×Ñ˜' 2 s e¡9Ô-Ü×Ñ˜' 2 s e¡9Ô-ô ×Ñ˜2Ÿ4™4Ÿ<™<¨°E˜<Ó:×AÑAÄ"Ç&Á&ÓIÈ2ÈcÉ7ÔSÜ×Ñ˜"Ÿ*™* Q°˜*Ó7×>Ñ>¼r¿v¹vÓFÈÕKr   c                  ó|  — t        dg d¢i«      } t        j                  | j                  g d¢¬«      }| j                  j	                  |d¬«      j                  t        «      }t        j                  || d   «       t        j                  | j                  j	                  |d¬«      j                  d„ «      | d   «       | j	                  |d¬«      j                  t        «      }| dg   }t        j                  ||«       t        j                  | j	                  |d¬«      j                  d„ «      | dg   «       y )	Nr   )r]   r•   r–   éûÿÿÿ)iöÿÿÿr   r—   r˜   r™   rš   r›   FrK   c                 ó,   — t        j                  | «      S rƒ   rž   rŸ   s    r   r‡   z*test_basic_non_monotonic.<locals>.<lambda>¾   r¡   r   c                 ó,   — t        j                  | «      S rƒ   rž   rŸ   s    r   r‡   z*test_basic_non_monotonic.<locals>.<lambda>Å   s   € ¼2¿6¹6À"»:€ r   )
r   r¬   r­   r   rN   r�   rC   rd   r®   re   )rQ   rW   r(   rh   s       r   Útest_basic_non_monotonicrº   ¶   sû   € Ü	�CšÐ)Ó	*€BÜ
�‰ˆr�t‰tÒ2Ô3€Aà�T‰T�\‰\˜! eˆ\Ó,×6Ñ6´sÓ;€FÜ×Ñ˜6 2 c¡7Ô+ä×ÑØ
�‰�‰�Q ˆÓ'×1Ñ1Ñ2GÓHÈ"ÈSÉ'ôð �Z‰Z˜ EˆZÓ*×4Ñ4´SÓ9€FØ�3�%‰y€HÜ×Ñ˜& (Ô+ä×ÑØ
�
‰
�1˜uˆ
Ó%×/Ñ/Ñ0EÓFÈÈCÈ5É	õr   c            	      ó°  — t        dg d¢i«      } t        j                  | j                  g d¢t	        t        d«      «      ¬«      }| j                  |d¬«      j                  t        «      }t        |j                  j                  |j                  j                  ¬«      }t        g d¢|¬	«      }d|j                  _        t!        j"                  ||«       y )
Nr   )r<   r   r   r   ©r   r<   r[   r\   rF   r_   )ÚlabelsFrK   ©r   r    )r   r¬   r­   r   r   rb   rN   rP   r   r   ru   r   r   r
   r!   ra   rd   r®   )rQ   rW   r(   rg   rh   s        r   Útest_basic_cut_groupingr¿   É   s•   € ä	�CšÐ&Ó	'€BÜ
�‰ˆr�t‰t’_¬[¼¸f»Ó-FÔG€AØ�Z‰Z˜ EˆZÓ*×0Ñ0´Ó5€Fä  §¡×!4Ñ!4¸a¿h¹h×>NÑ>NÔO€IÜ’l¨)Ô4€HØ€H‡N�NÔÜ×Ñ˜6 8Õ,r   c                  óF  — g d¢} t         j                  j                  d«      j                  ddd¬«      }t	        j
                  || d¬«      }t        t         j                  j                  d«      j                  d	«      «      }|j                  |d
¬«      j                  «       }|j                  t        j                  |«      d
¬«      j                  «       }t        | |j                  d¬«      }|j                  |«      }t        j                  ||«       |j                  |d
¬«      }|j!                  «       }|j"                  j%                  «       }	t        j                  |«      j'                  |	«      }
|j'                  |	«      }t	        |
dg d¢¬«      }|j                  |d
d
¬«      j!                  «       }t        j                  ||«       t	        j
                  t        j(                  d«      j+                  d«      | d¬«      }t        |«      }t        j,                  |j/                  «       j0                  j3                  d«      |«       t5        g d¢dz  «      }t        j,                  |j/                  «       j0                  j3                  d«      |«       y )N©ÚfooÚbarÚbazÚquxr[   r   rF   r—   ©r?   Tr¾   ©r—   rF   FrK   r   )r   r   ©ÚsortrL   é   ©r/   r6   rB   r8   z25%z50%z75%r5   r<   )r   ÚrandomÚdefault_rngÚintegersr   r   r   Ústandard_normalrN   r6   Úasarrayr   r   r&   rd   re   ÚdescribeÚcodesÚargsortÚtaker   ÚrepeatÚassert_index_equalÚstackr!   Úget_level_valuesr   )ÚlevelsrÒ   rR   rf   r(   rh   r|   ÚgroupedÚdesc_resultÚidxÚ
ord_labelsÚord_dataÚexp_catsÚexpcÚexps                  r   Útest_more_basicrâ   Õ   s	  € Ú)€FÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ó<€Eä×!Ñ! %¨¸Ô>€Dä”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸gÓFÓG€Dà�\‰\˜$¨ˆ\Ó/×4Ñ4Ó6€Fà�|‰|œBŸJ™J tÓ,°uˆ|Ó=×BÑBÓD€HÜ˜v°$·/±/È4ÔP€GØ×Ñ Ó(€Hä×Ñ˜& (Ô+à�l‰l˜4¨%ˆlÓ0€GØ×"Ñ"Ó$€Kà
�*‰*×
Ñ
Ó
€CÜ—‘˜DÓ!×&Ñ& sÓ+€JØ�y‰y˜‹~€HäØ˜DÒ-Iô€Hð ×Ñ ¨u¸uÐÓE×NÑNÓP€HÜ×Ñ˜+ xÔ0ô ×!Ñ!¤"§)¡)¨A£,×"5Ñ"5°aÓ"8¸&È$ÔO€DÜ
˜4Ó
 €CÜ×Ñ˜+×+Ñ+Ó-×3Ñ3×DÑDÀQÓGÈÔMÜ
ÒKÈaÑOÓ
P€CÜ×Ñ˜+×+Ñ+Ó-×3Ñ3×DÑDÀQÓGÈÕMr   c           
      óÜ  — t        t        j                  ddd«      t        t	        ddg«      t        d«      gdgdz  dgdz  z   t        d«      gd	d
g¬«      ¬«      }|j                  d	g| ¬«      }t        t        j                  ddd«      t        t	        ddg«      t        d«      gdgdz  t        d«      gd	d
g¬«      ¬«      }|j                  d«      }t        j                  ||«       y )Nr[   é   r   rV   r—   r   r]   r<   ÚIndex1ÚIndex2)rÙ   rÒ   r   ©rf   r!   ©ÚlevelrL   é   )r   )
r   r   r   r	   r   ÚrangerN   Ú	get_grouprd   re   )rL   rQ   r‘   rh   r(   s        r   Útest_level_get_grouprí   ú   sç   € ä	Ü�Y‰Y�q˜"˜aÓ ÜÜ$ c¨3 ZÓ0´%¸³)Ð<Ø�3˜‘7˜a˜S 1™WÑ$¤e¨B£iÐ0Ø˜XÐ&ô
ô
€Bð 	�
‰
˜(˜¨hˆ
Ó7€Aô Ü�Y‰Y�q˜"˜aÓ ÜÜ$ c¨3 ZÓ0´%¸³(Ð;Ø�3˜‘7œE !›HÐ%Ø˜XÐ&ô
ô€Hð �[‰[˜Ó €FÜ×Ñ˜& (Õ+r   c                  óØ  — t        dgdz  dgdz  z   g d¢dz  t        j                  d«      dœ«      } t        | j                  g d¢d	¬
«      | _        | j                  d«      d   j                  «       }|j                  dd	¬«      }g d¢}t        |g d¢d	¬
«      }g d¢t        |«      g}t        j                  |ddg¬«      }t        dgdz  |d¬«      }t        j                  ||«       y )Nrs   é   rt   )ÚhighÚmedÚlowrF   g      (@)rI   ÚdoseÚoutcomes)rò   rñ   rð   Tr   rI   ró   r   )ré   Úsort_remaining)rò   rñ   rð   rò   rñ   rð   )rs   rs   rs   rt   rt   rt   r   r[   r/   ©r!   ra   )r   r   r   r   ró   rN   Úvalue_countsr'   r   r	   Úfrom_arraysr
   rd   r®   ©rQ   r(   r!   rh   s       r   Ú(test_sorting_with_different_categoricalsrú     sß   € ä	à�U˜Q‘Y # ¨¡Ñ*Ú*¨QÑ.ÜŸ	™	 $›ñ	
ó
€Bô ˜"Ÿ'™'Ò.DÈdÔS€B„Gà�Z‰Z˜Ó  Ñ(×5Ñ5Ó7€FØ×Ñ Q°tÐÓ<€FÚ8€EÜ˜Ò*@È$ÔO€EÚ+Ô-=¸eÓ-DÐE€EÜ×"Ñ" 5°¸&Ð0AÔB€EÜ�q�c˜A‘g U°Ô9€HÜ×Ñ˜6 8Õ,r   r   c                 óä  — t        t        d«      | ¬«      }t        t        d«      ddg| ¬«      }t        j                  t	        |«      «      }t        |||dœ«      }|j                  dd	gd
¬«      }t        j                  ||gdd	g¬«      }t        g d¢|dg¬«      }|j                  d„ «      }t        j                  ||«       |j                  «       }t        j                  ||«       |j                  t        j                  «      }t        j                  ||«       t        j                  ||gdd	g¬«      }t        d|¬«      }|j                  d„ «      }t        j                  ||«       y )NÚabcr¾   Úaaar   rV   r   )ÚmissingÚdenseru   rþ   rÿ   TrK   r   )r   r<   ç       @ru   )r!   r%   c                 ó0   — t        j                  | d¬«      S r£   )r   r6   r…   s    r   r‡   ztest_apply.<locals>.<lambda>:  s   € ¤R§W¡W¨Q°QÔ%7€ r   r<   r    c                  ó   — y©Nr<   r„   r…   s    r   r‡   ztest_apply.<locals>.<lambda>F  s   � r   )r   rb   r   r   r   r   rN   r	   rø   rP   rd   re   r6   Úaggr
   r®   )	r   rÿ   rþ   ru   rQ   rÚ   rÜ   rh   r(   s	            r   Ú
test_applyr  *  s8  € ô œ˜U›¨WÔ5€Eô œ$˜u›+°3¸°*ÀgÔN€GÜ�Y‰Y”s˜5“zÓ"€FÜ	˜w°À&ÑIÓ	J€BØ�j‰j˜) WÐ-¸ˆjÓ=€Gô ×
 Ñ
  '¨5Ð!1¸)ÀWÐ9MÔ
N€CÜš¨C¸(¸ÔD€Hà�]‰]Ñ7Ó8€FÜ×Ñ˜& (Ô+à�\‰\‹^€FÜ×Ñ˜& (Ô+à�[‰[œŸ™Ó!€FÜ×Ñ˜& (Ô+ô ×
 Ñ
  '¨5Ð!1¸)ÀWÐ9MÔ
N€CÜ�a˜sÔ#€HØ�]‰]™;Ó'€FÜ×Ñ˜6 8Õ,r   c                 óâ  — t        g d¢g d¢d¬«      }t        g d¢g d¢d¬«      }t        ||g d¢dœ«      }d	d
gdz  |d<   |j                  g d¢| ¬«      }t        j                  ||d	d
gdz  gg d¢¬«      }t        dt        g d¢|¬«      i«      j                  «       }|j                  «       }| st        |||d	d
ggt        d«      d¬«      }t        j                  ||«       |j                  ddg| ¬«      }t        j                  ||gddg¬«      }t        g d¢g d¢dœ|¬«      }|j                  «       }| s!t        |||gt        d«      |rdddœnd¬«      }t        j                  ||«       y )Nrk   rl   Tr   rn   ro   rq   rr   rÂ   rÃ   r[   rM   )rs   rt   rM   rK   r   ru   r    ÚABCr   r   rs   rt   )rÂ   rÃ   rÂ   rÃ   )ru   rM   ÚABÚ )r   r   rN   r	   rø   r
   r'   rC   r,   rb   rd   re   )	rL   r�   ry   rz   rQ   r{   rg   rh   r(   s	            r   Útest_observedr
  J  sq  € ô Ò+ºÐQUÔV€DÜÒ+ºÐQUÔV€DÜ	˜ D²LÑAÓ	B€BØ�eˆn˜qÑ €B€s�Gð 
�‰’O¨hˆÓ	7€BÜ×&Ñ&Ø	ˆt�e˜U�^ aÑ'Ð(²ô€Iô ˜(¤Fª<¸yÔ$IÐJÓK×VÑVÓX€HØ�V‰V‹X€FÙÜ1Ø�t˜T E¨5 >Ð2´D¸³KÈAô
ˆô ×Ñ˜& (Ô+à	�‰�S˜#�J¨ˆÓ	2€BÜ×&Ñ&¨¨d |¸CÀ¸:ÔF€IÜÚÒ&BÑCÈ9ô€Hð �V‰V‹X€FÙÜ1ØØ�4ˆLÜ�‹JÙ1C !¨"Ò-Èô	
ˆô ×Ñ˜& (Õ+r   c                 ó’  — t        g d¢g d¢d¬«      g d¢g d¢dœ}t        |«      }|j                  d| ¬	«      }|j                  «       }t	        t        d
«      dt        d«      d¬«      }t        ddgddgdœ|¬«      }| s2t	        t        d«      dt        d«      d¬«      }|j                  |«      }t        j                  ||«       y )N©r   rV   r   rV   ©r   rV   rW   Tr   ©r<   r<   r[   r[   ©r—   r˜   r™   rš   ©ÚcatÚintsÚvalr  rK   Úabrü   )ra   r   r   g      ø?ç      4@r™   )r  r  r    )	r   r   rN   r6   r   rb   r&   rd   re   )rL   rY   rQ   Úgroups_single_keyr(   rg   rh   r!   s           r   Útest_observed_single_columnr  v  sÄ   € ô Ú ª_Àdô
ò Úñ	€Aô 
�1‹€BàŸ
™
 5°8˜
Ó<ÐØ×#Ñ#Ó%€Fä ÜˆT‹
˜¬4°«;Àô€Iô  3¨ *°d¸B°ZÑ@È	ÔR€HÙÜ Ü�‹K˜e´°U³ÀTô
ˆð ×#Ñ# EÓ*ˆä×Ñ˜& (Õ+r   c                 ó*  — t        g d¢g d¢d¬«      g d¢g d¢dœ}t        |«      }|j                  dd	g| ¬
«      }|j                  d«      }t        g d¢t        g d¢g d¢d¬«      g d¢dœ«      j	                  dd	g«      }| s't        ||j                  j                  ddggdd	g«      }t        j                  ||«       dD ]P  }|\  }}|j                  |«      }||j                  |k(  |j                  |k(  z     }t        j                  ||«       ŒR y )Nr  r  Tr   r  r  r  r  r  rK   r6   )ç      $@g      >@r  g      D@rk   ©r<   r[   r<   r[   )r  r  r  r<   r[   ))r   r<   )rV   r[   )rV   r<   )r   r[   )r   r   rN   r  Ú	set_indexr,   r  ru   rd   re   rì   r  )	rL   rY   rQ   Úgroups_double_keyr(   rh   ÚkeyrW   Úis	            r   Útest_observed_two_columnsr  ‘  s#  € ô Ú ª_Àdô
ò Úñ	€Aô 
�1‹€BØŸ
™
 E¨6 ?¸X˜
ÓFÐØ×"Ñ" 6Ó*€FÜâ+ÜÚ$²È$ôò !ñ	
ó÷ �i�˜�Ó ð ñ Ü1Ø�r—v‘v—}‘} q¨! fÐ-°°v¨ó
ˆô ×Ñ˜& (Ô+ð 8ò 0ˆØ‰ˆˆ1Ø"×,Ñ,¨SÓ1ˆØ�r—v‘v ‘{ r§w¡w°!¡|Ñ4Ñ5ˆÜ
×Ñ˜f hÕ/ñ	0r   c                 ó|  — g d¢g d¢g d¢dœ}t        |«      }t        j                  |d   t        j                  ddd«      «      }||d	<   |j                  d	d
gd| ¬«      }|j                  d«      }|j                  d	d
gd| ¬«      }|j                  d«      j                  «       }t        j                  ||«       y )N)r—   rÊ   rF   rÊ   rF   r<   r<   ©r—   r˜   r™   rš   é2   é<   éF   )rY   rW   Úer   r   rY   rW   ©rÂ   rÃ   rÄ   rÂ   r   r—   r\   rë   rÄ   F©Úas_indexrL   r6   T)
r   r¬   r­   r   ÚlinspacerN   r  Úreset_indexrd   re   )rL   rY   rQ   r  Úgroupsr(   Úgroups2rh   s           r   Útest_observed_with_as_indexr-  µ  s°   € ò &Ú+Ú2ñ	€Aô
 
�1‹€BÜ
�&‰&��E‘œBŸK™K¨¨2¨qÓ1Ó
2€CØ€B€w�KØ�Z‰Z˜ %Ð(°5À8ˆZÓL€FØ�Z‰Z˜Ó€Fà�j‰j˜' 5Ð)°DÀ8ˆjÓL€GØ�{‰{˜6Ó"×.Ñ.Ó0€HÜ×Ñ˜& (Õ+r   c                 óŽ  — g d¢g d¢g d¢dœ}t        |«      }t        j                  |d   g d¢«      }d|_        |j	                  |dg| ¬	«      }t        j                  |g d¢gddg¬
«      }t        g d¢g d¢dœ|¬«      }| st        ||j                  g d¢gddg«      }|j                  d«      }t        j                  ||«       y )N)r\   r\   rF   r]   rq   )r—   éd   éÈ   é"   )ÚC1ÚC2ÚC3r2  )r<   r[   r\   rï   r  r3  rK   r   )ç      @r5  g      @g      @)r  g      Y@g      i@g      A@)r2  r4  r    r6   )r   r¬   r­   ra   rN   r	   rø   r,   ru   r  rd   re   )rL   rY   rQ   ru   r  rÜ   rh   r(   s           r   Útest_observed_codes_remapr6  È  s¿   € Ú¢<Ò7IÑJ€AÜ	�1‹€BÜ�V‰V�B�t‘HšlÓ+€FØ€F„KØŸ
™
 F¨D >¸H˜
ÓEÐä
×
 Ñ
  &ª,Ð!7ÀÀt¸}Ô
M€CÜÚ#Ò+EÑFÈcô€Hñ Ü1Ø�v—}‘}¢lÐ3°e¸T°]ó
ˆð ×"Ñ" 6Ó*€FÜ×Ñ˜& (Õ+r   c            	      ó‚  — t        t        j                  j                  d«      j	                  ddd¬«      t        j                  j                  d«      j	                  ddd¬«      t        j                  j                  d«      j	                  ddd¬«      ddœ«      } | j
                  j                  t        «      j                  d«      | d	<   | j                  g d
¢d¬«      }|j                  «       }|j                  j                  d   j                  «       | j
                  j                  «       k(  sJ ‚|j                  j                  d   j                  «       | j                  j                  «       k(  sJ ‚|j                  j                  d   j                  «       | j                  j                  «       k(  sJ ‚y )Nr[   r   éÿ   i0u  rÆ   é'  )r  Úint_idÚother_idrÂ   Úcategoryr  )r  r:  r;  TrK   r<   )r   r   rÌ   rÍ   rÎ   r  r�   rŒ   rN   r/   r!   rÙ   r:   r:  r;  )rQ   rÚ   r(   s      r   Útest_observed_perfr=  Ü  sZ  € ô 
ä—9‘9×(Ñ(¨Ó+×4Ñ4°Q¸À%Ð4ÓHÜ—i‘i×+Ñ+¨AÓ.×7Ñ7¸¸3ÀUÐ7ÓKÜŸ	™	×-Ñ-¨aÓ0×9Ñ9¸!¸UÈÐ9ÓOØñ		
ó
€Bð —‘—‘œcÓ"×)Ñ)¨*Ó5€B€u�Ià�j‰jÒ6ÀˆjÓF€GØ�]‰]‹_€FØ�<‰<×Ñ˜qÑ!×)Ñ)Ó+¨r¯v©v¯~©~Ó/?Ò?Ð?Ð?Ø�<‰<×Ñ˜qÑ!×)Ñ)Ó+¨r¯y©y×/@Ñ/@Ó/BÒBÐBÐBØ�<‰<×Ñ˜qÑ!×)Ñ)Ó+¨r¯{©{×/BÑ/BÓ/DÒDÐDÑDr   c                 óF  — t        g d¢g d¢¬«      }t        |g d¢dœ«      }|j                  d| ¬«      }|j                  }| rt	        dd	gd
¬«      t	        dgd
¬«      dœ}n*t	        dd	gd
¬«      t	        g d
¬«      t	        dgd
¬«      dœ}t        j                  ||«       y )N)r   rW   r   r  ©r   ©r<   r[   r\   ©r  Úvalsr  rK   r   r[   Úint64©r’   r<   )r   rW   )r   r   rN   r+  r   rd   Úassert_dict_equal)rL   r  rQ   r‘   r(   rh   s         r   Útest_observed_groupsrF  ñ  sš   € ô ’o²/Ô
B€CÜ	˜3ª	Ñ2Ó	3€BØ
�
‰
�5 8ˆ
Ó,€Aà�X‰X€FÙÜ  1˜v¨WÔ5¼EÀ1À#ÈWÔ<UÑV‰ô ˜˜1�v WÔ-Ü�r Ô)Ü˜�s 'Ô*ñ
ˆô ×Ñ˜ Õ*r   c           	      ó‚  — t        dt        dt        j                  dgt	        d«      ¬«      it	        d«      ¬«      }|j                  d|| ¬«      }|j                  }dt        dd	g«      i}| s|t        j                  t        d
g«      iz  }|s|t        g «      t        g «      dœz  }t        j                  ||«       y )Nr  r   Úadbr?  Úxyzr    ©rL   Údropnar†   rm   rp   )rV   rY   )
r   r   r   rc   rb   rN   r+  r   rd   rE  )rK  rL   rQ   r‘   r(   rh   s         r   Útest_groups_na_categoryrL    s©   € ä	Ø	”˜S¤"§&¡&¨#Ð.¼4À»;ÔGÐHÜ�5‹kô
€Bð 	�
‰
�5 8°Fˆ
Ó;€Aà�X‰X€FØ”U˜C ˜:Ó&Ð'€HÙØ”R—V‘VœU C 5›\Ð*Ñ*ˆÙØœ% ›)¬%°«)Ñ4Ñ4ˆÜ×Ñ˜ Õ*r   z,keys, expected_values, expected_index_levelsr   )r•   é	   r   r@  r‹   rV   )	rv   rÊ   r   r   r   rM  r   r   r   ©rF   r]   rï   Úa2)	r•   r   r   r   rM  r   r   r   r   Útest_seriesc                 ó¶  — t        t        g d¢g d¢¬«      t        g d¢g d¢¬«      g d¢g d¢dœ«      j                  ddg«      }d	| vr|j                  d	¬
«      }|j	                  | d¬«      }|r|d   }|j                  «       }t        | «      dk(  r|}ng d¢dg d¢z  g}t        ||| ¬«      }t        d|i|¬«      }	|r|	d   }	t        j                  ||	«       y )N©r<   r<   r[   r@  r?  rN  )rv   rÊ   rM  )r   rO  rV   rW   r   rO  rV   r�   FrK   rW   r<   ©	r   r   r   r<   r<   r<   r[   r[   r[   r\   ©r   r<   r[   )rÒ   r   r    )
r   r   r  ÚdroprN   rC   r   r	   rd   Úassert_equal)
ÚkeysÚexpected_valuesÚexpected_index_levelsrP  rQ   r{   r(   r!   rÒ   rh   s
             r   Útest_unobserved_in_indexrZ    sà   € ô, 
äšY²9Ô=Üši²IÔ>ÚÚñ		
ó
÷ �i��d�Óð ð �$�à�W‰W˜SˆWÓ!ˆà	�‰�D 5ˆÓ	)€BÙØ�‰WˆØ�V‰V‹X€Fä
ˆ4ƒy�A‚~Ø%‰â,¨a²)©mÐ<ˆÜØ!ØØô
ˆô
 ˜#˜Ð/°uÔ=€HÙØ˜C‘=ˆÜ‡O�O�F˜HÕ%r   c                 óD  — t        t        dt        j                  dgg d¢¬«      g d¢dœ«      }|j	                  d| ¬«      }|j
                  }| rdt        dd	gd
¬«      i}n)t        dd	gd
¬«      t        g d
¬«      t        g d
¬«      dœ}t        j                  ||«       y )Nr   )r   rV   rY   r?  r@  rA  r  rK   r   r[   rC  rD  )	r   r   r   rc   rN   r+  r   rd   rE  )rL   rQ   r‘   r(   rh   s        r   Útest_observed_groups_with_nanr\  M  s›   € ä	ä ¤R§V¡V¨SÐ1ºoÔNÚñ	
ó
€Bð 	�
‰
�5 8ˆ
Ó,€AØ�X‰X€FÙØœ  1˜v¨WÔ5Ð6‰ô ˜˜1�v WÔ-Ü�r Ô)Ü�r Ô)ñ
ˆô
 ×Ñ˜ Õ*r   c                  ó2  — t        dt        j                  t        j                  gg d¢¬«      } t        g d¢«      }t	        | |dœ«      }|j                  dd¬«      d	   j                  d
«      }|d	   j                  d
g   }t        j                  ||«       y )Nr   r  r?  r@  )r  Úserr  FrK   r^  r   )
r   r   rc   r
   r   rN   r9   rŠ   rd   r®   )r  r^  rQ   r(   rh   s        r   Útest_observed_nthr_  b  s|   € ä
�sœBŸF™F¤B§F¡FÐ+ºÔ
H€CÜ
’Ó
€CÜ	˜3 sÑ+Ó	,€Bà�Z‰Z˜¨ˆZÓ.¨uÑ5×9Ñ9¸!Ó<€FØ�%‰y�~‰~˜q˜cÑ"€HÜ×Ñ˜6 8Õ,r   c                 óÚ  — t        t        j                  dt        j                  dgg d¢¬«      }t        g d¢«      }t	        ||dœ«      }|j                  d| ¬«      j                  «       j                  «       }| rt	        t        dgg d¢¬«      dgdœ«      }n<t	        t        g d¢g d¢¬«      dt        j                  t        j                  gdœ«      }t        j                  ||«       y )	Nr   r  r?  rq   )Ús1Ús2ra  rK   r[   )
r   r   rc   r
   r   rN   r1   r*  rd   re   )rL   ra  rb  rQ   r(   rh   s         r   Ú#test_dataframe_categorical_with_nanrc  m  s»   € ä	”b—f‘f˜c¤2§6¡6¨3Ð/ºOÔ	L€BÜ	’Ó	€BÜ	˜" BÑ'Ó	(€BØ�Z‰Z˜ xˆZÓ0×6Ñ6Ó8×DÑDÓF€FÙÜÜ ˜u²ÔAÈ!ÈÑMó
‰ô ä!¢/ºoÔNØœ"Ÿ&™&¤"§&¡&Ð)ñó
ˆô ×Ñ˜& (Õ+r   c                 ó¤  — t        g d¢g d¢| ¬«      }t        g d¢«      }t        ||dœ«      }|j                  d||¬«      d   j	                  d«      }t        |j
                  j                  d	¬
«      }t        |j                  «      }|sd||j                  «       <   t        ||k(  «      s$d| › d|› d|› d|› �}t        j                  |«       y y )N)rY   r   rV   r   rY   rV   )r   rV   rþ   rY   r   )Úlabelr  re  ©rL   rÉ   r  r1   rŽ   rD  rþ   zDLabels and aggregation results not consistently sorted
for (ordered=z, observed=z, sort=z
)
Result:
)r   r
   r   rN   Ú	aggregater!   ÚarrayÚisnar-   ÚpytestÚfail)	r   rL   rÉ   re  r  rQ   r(   ÚaggrÚmsgs	            r   Ú0test_dataframe_categorical_ordered_observed_sortrn  �  sÝ   € ô Ú&Ú-Øô€Eô
 Ò/Ó
0€CÜ	˜U¨3Ñ/Ó	0€Bð �Z‰Z˜¨(¸ˆZÓ>¸uÑE×OÑOÐPWÓX€Fô �6—<‘<×%Ñ%¨XÔ6€EÜ�&—,‘,Ó€DÙØ%ˆˆT�Y‰Y‹[ÑÜˆu˜‰}ÔðØ#˜9 K°¨z¸ÀÀð GØ�xð!ð 	ô
 	�‰�CÕð r   c                  ó&  — t        j                  dd¬«      } t        j                  j	                  d«      j                  ddd¬«      }t        j                  || d¬	«      }t        t        j                  j	                  d«      j                  d
«      «      }|j                  |d¬«      j                  «       }|j                  t        j                  |«      d¬«      j                  «       }|j                  | «      }t        |j                  |j                  d¬«      |_        t!        j"                  ||«       |j                  |d¬«      }|j%                  «       }|j&                  j)                  «       }|j+                  |«      }	|j+                  |«      }
|
j                  |	d¬«      j%                  «       }t!        j"                  ||«       t!        j,                  |j                  |j                  «       t!        j,                  |j                  j/                  d«      |j                  j/                  d«      «       t        j                  t        j0                  d«      j3                  d«      | d¬	«      }t        |«      }t!        j,                  |j5                  «       j                  j/                  d«      |«       t7        g d¢dz  «      }t!        j,                  |j5                  «       j                  j/                  d«      |«       y )Nz
2014-01-01rF   )Úperiodsr[   r   r—   rÆ   Tr¾   rÇ   FrK   r   rÊ   rË   r<   )r¬   Ú
date_ranger   rÌ   rÍ   rÎ   r   r   r   rÏ   rN   r6   rÐ   r&   r   r!   rd   re   rÑ   rÒ   rÓ   rÔ   rÖ   rØ   r   rÕ   r×   r   )rÙ   rÒ   rR   rf   r(   rh   rÚ   rÛ   rÜ   rÝ   rÞ   rà   rá   s                r   Útest_datetimerr  ¢  sJ  € ä�]‰]˜<°Ô3€FÜ�I‰I×!Ñ! !Ó$×-Ñ-¨a°¸Ð-Ó<€Eä×!Ñ! %¨¸Ô>€Dä”R—Y‘Y×*Ñ*¨1Ó-×=Ñ=¸gÓFÓG€DØ�\‰\˜$¨ˆ\Ó/×4Ñ4Ó6€Fà�|‰|œBŸJ™J tÓ,°uˆ|Ó=×BÑBÓD€HØ×Ñ Ó'€HÜ%Ø�‰ 8§>¡>¸4ô€H„Nô ×Ñ˜& (Ô+à�l‰l˜4¨%ˆlÓ0€GØ×"Ñ"Ó$€Kà
�*‰*×
Ñ
Ó
€CØ—‘˜3“€JØ�y‰y˜‹~€HØ×Ñ 
°UÐÓ;×DÑDÓF€HÜ×Ñ˜+ xÔ0Ü×Ñ˜+×+Ñ+¨X¯^©^Ô<Ü×ÑØ×Ñ×*Ñ*¨1Ó-¨x¯~©~×/NÑ/NÈqÓ/Qôô
 ×!Ñ!¤"§)¡)¨A£,×"5Ñ"5°aÓ"8¸&È$ÔO€DÜ
˜4Ó
 €CÜ×Ñ˜;×,Ñ,Ó.×4Ñ4×EÑEÀaÓHÈ3ÔOÜ
ÒKÈaÑOÓ
P€CÜ×Ñ˜;×,Ñ,Ó.×4Ñ4×EÑEÀaÓHÈ3ÕOr   c                  óÄ  — t         j                  j                  d«      } g d¢}| j                  ddd¬«      }t	        j
                  ||d¬«      }t        t        j                  t        j                  d«      d«      j                  d	d«      t        d
«      ¬«      }||d<   |j                  d«      j                  dd¬«      j                  «       }|t        d
«         j                  |j                  d¬«      j                  «       }t        t	        j
                  g d¢|d¬«      d¬«      |_        t#        j$                  ||«       |j                  dd¬«      j                  «       }|t        d
«         j                  |j                  d¬«      j                  «       }t        t	        j
                  g d¢|d¬«      d¬«      |_        t#        j$                  ||«       y )Nr[   rÁ   r   rF   r˜   rÆ   Tr¾   éÿÿÿÿr_   r�   rR   Frè   rK   ©r   r<   r[   r\   r‹   )r   rÌ   rÍ   rÎ   r   r   r   rÕ   r   Úreshaperb   r  rN   rC   rÒ   r   r!   rd   re   )ÚsrÙ   rÒ   rR   rQ   r(   rh   s          r   Útest_categorical_indexrx  É  s|  € Ü
�	‰	×Ñ˜aÓ €AÚ)€FØ�J‰J�q˜! "ˆJÓ%€EÜ×!Ñ! %¨¸Ô>€DÜ	”2—9‘9œRŸY™Y r›]¨AÓ.×6Ñ6°r¸1Ó=ÄtÈFÃ|Ô	T€BØ€B€v�Jð �\‰\˜&Ó!×)Ñ)°¸EÐ)ÓB×FÑFÓH€FØ”$�v“,Ñ×'Ñ'¨¯
©
¸UÐ'ÓC×GÑGÓI€HÜ%Ü×Ñš|¨V¸TÔBÈô€H„Nô ×Ñ˜& (Ô+ð �Z‰Z˜¨ˆZÓ/×3Ñ3Ó5€FØ”$�v“,Ñ×'Ñ'¨¯
©
¸UÐ'ÓC×GÑGÓI€HÜ%Ü×Ñš|¨V¸TÔBÈô€H„Nô ×Ñ˜& (Õ+r   c                  óÂ  — t        g d¢g d¢d¬«      } t        t        j                  j	                  d«      j                  d«      | ¬«      }|j                  g d¢d	z  «      j                  «       }t        j                  |j                  «       j                  | «       t        j                  |j                  «       j                  j                  | j                  «       y )
N)rÅ   rÂ   rÄ   rÃ   rÁ   Tr   r[   )r˜   rF   r�   rq   r]   )r   r   r   rÌ   rÍ   rÏ   rN   rÑ   rd   rÖ   r×   r%   Úassert_categorical_equalru   )rR   rQ   r(   s      r   Ú!test_describe_categorical_columnsr{  â  s›   € äÚ$Ú/Øô€Dô
 
”2—9‘9×(Ñ(¨Ó+×;Ñ;¸GÓDÈdÔ	S€BØ�Z‰Zš qÑ(Ó)×2Ñ2Ó4€Fä×Ñ˜&Ÿ,™,›.×0Ñ0°$Ô7Ü×Ñ §¡£× 6Ñ 6× =Ñ =¸t¿{¹{ÕKr   c                  óN  — t        t        d«      ddgdz  t        d«      dz  dœ«      } | d   j                  d	«      | d<   | j	                  d
dgd¬«      d   j                  «       j                  «       }|j                  «       }t        ddgdd¬«      }t        j                  |j                  |«       t        j                  |j                  j                  |j                  «       |d   |d   z   }t        ddgt        ddgd
¬«      ¬«      }t        j                   ||«       y )Nr—   rs   rt   r]   ÚXYXXYr[   )r   ÚmediumÚartistr~  r<  r  FrK   r   ©r   ra   rï   rF   ÚXÚYr‹   r    )r   rë   rb   r�   rN   r/   ÚunstackrÑ   r   rd   rÖ   r%   rz  ru   r
   r   r®   )rQ   Úgcatr(   Úexp_columnsrh   s        r   Útest_unstack_categoricalr†  ð  s  € ä	Ü�B‹i C¨ :°¡>¼TÀ'»]ÈQÑ=NÑOó
€Bð �h‘<×&Ñ& zÓ2€B€x�Là�:‰:�x Ð*°Uˆ:Ó;¸CÑ@×FÑFÓH×PÑPÓR€DØ�]‰]‹_€Fä" C¨ :°uÀ8ÔL€KÜ×Ñ˜&Ÿ.™.¨+Ô6Ü×Ñ §¡× 5Ñ 5°{×7IÑ7IÔJà�#‰Y˜˜c™Ñ"€FÜ�q˜!�f¤E¨3°¨*¸8Ô$DÔE€HÜ×Ñ˜6 8Õ,r   c                  ó`  — t        t        j                  t        j                  ddddddddg
«      } t        j                  | j                  «       j                  d«      }t        j                  t        d¬«      5  | j                  |«      j                  «        d d d «       y # 1 sw Y   y xY w)Nr<   r[   r\   rF   z$Grouper and axis must be same length©Úmatch)r
   r   rc   r¬   r­   rK  ru   rj  ÚraisesÚ
ValueErrorrN   r6   )Úseriesrœ   s     r   Útest_bins_unequal_lenr�    s€   € ä”R—V‘VœRŸV™V Q¨¨1¨a°°A°q¸!Ð<Ó=€FÜ�6‰6�&—-‘-“/×(Ñ(¨!Ó,€Dô 
�‰”zÐ)OÔ	Pñ $Ø�‰�tÓ×!Ñ!Ô#÷$÷ $ñ $ús   Á; B$Â$B-rŒ  rf   rF   r\   r[   ©rs   rt   c                 ó   — | dz   S r  r„   )rÜ   s    r   r‡   r‡     s
   € ¨S°1©W€ r   rv   c                 óð   — | j                  t        t        d«      d¬«      d¬«      }|j                  t        «      }t        |t	        |j                  «       «      ¬«      }t        j                  ||«       y )NÚABBAr<  rD  FrK   r    )rN   r
   rb   rg  r   rW  rd   r®   )rŒ  rf   rN   r(   rh   s        r   Útest_categorical_seriesr’    sY   € ð  �n‰nœV¤D¨£L¸
ÔCÈeˆnÓT€GØ×ÑœtÓ$€FÜ�dÔ"2°4·9±9³;Ó"?Ô@€HÜ×Ñ˜6 8Õ,r   c                  ó<  ‡— t        t        g d¢g d¢«      g d¢g d¢dœ«      Š‰j                  ddgdd	¬
«      j                  «       } t        t        ddg‰j                  j                  j
                  ¬«      ddgddgdœg d¢¬«      }t        j                  | |«       ˆfd„}‰j                  d|gdd	¬
«      j                  «       } t        t        ddg‰j                  j                  j
                  ¬«      ddgddgddgdœ«      }t        j                  | |«       t        g d¢d¬«      }‰j                  d|gdd	¬
«      j                  «       } t        ddgddgddgdœ«      }t        j                  | |«       ddg}t        t        ddg‰j                  j                  j
                  ¬«      ddgddgdœg d¢¬«      }dD ]U  }t        t        d«      |¬«      ‰_        ‰j                  |dd	¬
«      j                  «       } t        j                  | |«       ŒW y )N©r<   r[   r[   r@  )r—   é   r•  )ée   éf   ég   )r  rs   rt   r  rs   FTr'  r<   r[   r?  r—   r•  r–  éÍ   r�   c                 ó&   •— ‰j                   | df   S )Nrs   )Úloc)ÚrrQ   s    €r   r‡   ztest_as_index.<locals>.<lambda>8  s   ø€ �"—&‘&˜˜C˜‘.€ r   rä   )r  Úlevel_1rs   rt   )r   rV   rV   r‹   r   rV   )Nr�  rt   rü   )r   r   rN   rC   r  r   rd   re   r
   r   rb   r!   )r(   rh   r   rw  Úgroup_columnsra   rQ   s         @r   Útest_as_indexrŸ  #  s  ø€ ä	äšyª)Ó4ÚÚ ñ	
ó
€Bð �Z‰Z˜ ˜¨u¸tˆZÓD×HÑHÓJ€FÜä  1˜v°"·&±&·*±*×2GÑ2GÔHØ�b�Ø�s�ñ	
ò
 "ô€Hô ×Ñ˜& (Ô+ó 	!€AØ�Z‰Z˜ ˜
¨U¸TˆZÓB×FÑFÓH€FÜä  1˜v°"·&±&·*±*×2GÑ2GÔHØ˜B�xØ�b�Ø�s�ñ		
ó€Hô ×Ñ˜& (Ô+ô 	Š UÔ+€AØ�Z‰Z˜ ˜
¨U¸TˆZÓB×FÑFÓH€FÜà˜�:Ø�b�Ø�s�ñ	
ó€Hô ×Ñ˜& (Ô+ð ˜C�L€MÜä  1˜v°"·&±&·*±*×2GÑ2GÔHØ�b�Ø�s�ñ	
ò
 "ô€Hð !ò 0ˆÜœ˜e›¨4Ô0ˆŒØ—‘˜M°EÀD�ÓI×MÑMÓOˆä
×Ñ˜f hÕ/ñ	0r   c                  ó¬  — t        d«      } t        dt        t        d«      | d¬«      i«      }t        | | dd¬«      }t        t        d«      | dd¬«      }t	        j
                  |j                  ddd¬	«      j                  «       j                  |«       t	        j
                  |j                  ddd¬	«      j                  «       j                  |«       y )
Nrü   rs   ÚbaTr   r€  ÚbacFrÈ   ©	rb   r   r   r   rd   rÖ   rN   r1   r!   ©r   rQ   r'   Únosort_indexs       r   Útest_preserve_categoriesr¦  b  s³   € ä�e“€Jô 
�Cœ¤T¨$£Z¸JÐPTÔUÐVÓ	W€BÜ! *¨jÀ$ÈSÔQ€JÜ#¤D¨£K°ÀTÐPSÔT€LÜ×ÑØ
�
‰
�3˜T¨Eˆ
Ó2×8Ñ8Ó:×@Ñ@À*ôô ×ÑØ
�
‰
�3˜U¨Uˆ
Ó3×9Ñ9Ó;×AÑAÀ<õr   c                  ó¾  — t        d«      } t        dt        t        d«      | d¬«      i«      }t        | | dd¬«      }t        t        d«      t        d«      dd¬«      }t	        j
                  |j                  ddd¬	«      j                  «       j                  |«       t	        j
                  |j                  ddd¬	«      j                  «       j                  |«       y )
Nrü   rs   r¡  Fr   r€  r¢  TrÈ   r£  r¤  s       r   Ú&test_preserve_categories_ordered_falser¨  s  s·   € ä�e“€JÜ	�Cœ¤T¨$£Z¸JÐPUÔVÐWÓ	X€BÜ! *¨jÀ%ÈcÔR€Jô $¤D¨£K´°e³ÀeÐRUÔV€LÜ×ÑØ
�
‰
�3˜T¨Eˆ
Ó2×8Ñ8Ó:×@Ñ@À*ôô ×ÑØ
�
‰
�3˜U¨Uˆ
Ó3×9Ñ9Ó;×AÑAÀ<õr   r+   r2  r3  c                 ó¼  — t        g d¢g d¢t        t        d«      t        d«      d¬«      t        t        d«      t        d«      d¬«      dœ«      }t        d	d
t        j                  gddt        j                  gt        t        d«      t        d«      d¬«      t        t        d«      t        d«      d¬«      dœ«      }|j                  | dd¬«      j                  d¬«      }|j                  | dd¬«      j                  d¬«      j                  «       }|j                  |j                  ¬«      }t        j                  ||«       t        j                  ||«       y )N)r<   r[   r<   r<   r[   )r—   é   rä   é   r1  Úabaabr¢  Fr   T)rs   rt   r2  r3  r   g      ð?g      9@r  ©Úbyr(  rL   rw   r�   )r   r   rb   r   rc   rN   r6   r*  r&   r%   rd   re   )r+   rQ   Úexp_fullÚresult1r±   rh   s         r   Útest_preserve_categorical_dtyper±  ƒ  s  € ô 
â Ú%Üœd 7›m¼¸U»ÈUÔSÜœd 7›m¼¸U»ÈTÔRñ		
ó
€Bô à�sœBŸF™FÐ#Ø˜œbŸf™fÐ%Üœd 5›k´d¸5³kÈ5ÔQÜœd 5›k´d¸5³kÈ4ÔPñ		
ó€Hð �j‰j˜C¨%¸%ˆjÓ@×EÑEÐSWÐEÓX€Gà
�
‰
�c D°5ˆ
Ó9ß	‰˜4ˆÓ	 ß	‰‹ð ð
 ×Ñ¨¯©ÐÓ8€HÜ×Ñ˜' 8Ô,Ü×Ñ˜' 8Õ,r   zfunc, valuesÚsecondÚfourthÚthirdc                 óš  — t        g d¢d¬«      }t        g d¢|dœ«      }|j                  d«      } t        || «      «       }t        ddgt	        ||j
                  ¬	«      dœ«      j                  d«      }t        j                  ||«       |j                  d«      d
   } t        || «      «       }|d
   }t        j                  ||«       y )N)r1   r²  r´  r³  Tr¾   )rt  éþÿÿÿrt  r¶  )Úpayloadr+   r·  r¶  rt  rD  r+   )
r   r   rN   Úgetattrr
   r’   r  rd   re   r®   )Úfuncru   rW   rQ   r‘   r(   rh   Úsgbs           r   Útest_preserve_on_ordered_opsr»  ¢  s¿   € ô 	Ò:ÀDÔI€AÜ	Ò/¸Ñ:Ó	;€BØ
�
‰
�9Ó€AØŒW�Q˜ÓÓ€FÜØ˜�H¤V¨F¸!¿'¹'Ô%BÑCóç�i�	Óð ô ×Ñ˜& (Ô+ð �*‰*�YÓ
 Ñ
&€CØŒW�S˜$ÓÓ!€FØ˜‰€HÜ×Ñ˜6 8Õ,r   c                  óŒ  — t        t        j                  j                  d«      j	                  d«      «      } t        j
                  g d¢«      }t        j                  |g d¢d¬«      }| j                  |d¬«      j                  «       }| j                  |d¬«      j                  «       }t        |j                  |j                  |j                  ¬	«      |_        t        j                  ||«       t        j
                  g d
¢«      }t        j                  |g d¢d¬«      }| j                  |d¬«      j                  «       }| j                  |d¬«      j                  «       j!                  |j                  «      }t        |j                  |j                  |j                  ¬	«      |_        t        j                  ||«       y )Nr[   rM  rS  rT  Tr¾   FrK   r   )	r   r   r   r<   r<   r<   r\   r\   r\   ru  )r
   r   rÌ   rÍ   rÏ   rh  r   r   rN   r6   r   r!   r   r   rd   r®   r&   )rf   rÒ   rR   r(   rá   s        r   Útest_categorical_no_compressr½  ¾  sI  € Ü”"—)‘)×'Ñ'¨Ó*×:Ñ:¸1Ó=Ó>€Dä�H‰HÒ0Ó1€EÜ×!Ñ! %ª¸DÔA€Dà�\‰\˜$¨ˆ\Ó/×4Ñ4Ó6€FØ
�,‰,�u uˆ,Ó
-×
2Ñ
2Ó
4€Cä Ø�	‰	˜dŸo™o°t·|±|ô€C„Iô ×Ñ˜6 3Ô'ä�H‰HÒ0Ó1€EÜ×!Ñ! %ª¸tÔD€Dà�\‰\˜$¨ˆ\Ó/×4Ñ4Ó6€FØ
�,‰,�u uˆ,Ó
-×
2Ñ
2Ó
4×
<Ñ
<¸T¿_¹_Ó
M€CÜ Ø�	‰	˜dŸo™o°t·|±|ô€C„Iô ×Ñ˜6 3Õ'r   c                  ó"  — t        g d¢g d¢d¬«      } t        g d¢| dœ«      }|j                  dd¬	«      j                  «       }|d
   j                  }t        j                  dddt
        j                  g«      }t        j                  ||«       y )NrU   rX   Tr   rZ   r^   rV   FrK   r   r<   r[   rF   )
r   r   rN   r6   ru   r   rh  rc   rd   Úassert_numpy_array_equal)rR   rf   r(   rá   s       r   Ú#test_categorical_no_compress_stringrÀ  ×  s|   € ÜÚ5Ú'Øô€Dô
 Ò6¸TÑBÓC€Dà�\‰\˜#¨ˆ\Ó.×3Ñ3Ó5€FØ�C‰[×Ñ€FÜ
�(‰(�A�q˜!œRŸV™VÐ$Ó
%€CÜ×Ñ ¨Õ,r   c                  óü   — t        d gdz  t        g d¢«      dœ«      } | j                  d«      j                  «       d   }t	        t        g ddg¬«      t	        g d	d¬
«      d¬«      }t        j                  ||«       y )Nr\   )ÚtrainrÂ  ÚtestrŽ  rs   rt   rÃ  rÂ  r?  rŽ   ©r’   ra   rö   )r   r   rN   r1   r
   rd   r®   ©rQ   r(   rh   s      r   Ú test_groupby_empty_with_categoryrÆ  å  st   € ô 
˜$˜ !™¬+Ò6PÓ*QÑRÓ	S€BØ�Z‰Z˜‹_×"Ñ"Ó$ SÑ)€FÜÜ�B F¨GÐ#4Ô5Ü�R˜x¨cÔ2Øô€Hô
 ×Ñ˜6 8Õ,r   c                  óv  — t        dt        j                  j                  d«      j	                  ddd«      i«      } t        ddd«      D �cg c]  }|› d|dz   › �‘Œ }}t        ||«      }| j                  dgd	¬
«      } t        j                  | j                  t        ddd«      d|¬«      | d<   | j                  dgd¬«      d   j                  «       }|t        |j                  d„ ¬«         }t        |j                  |j                  j                   ¬«      |_        t#        j$                  ||«       y c c}w )NÚvaluer[   r   r9  r—   iô  z - ió  T)r®  Ú	ascendingi)  F)Úrightr½   Úvalue_grouprK   c                 ó:   — t        | j                  «       d   «      S )Nr   )ÚfloatÚsplitr…   s    r   r‡   ztest_sort.<locals>.<lambda>  s   € ¬e°A·G±G³I¸a±LÓ.A€ r   )r  r‹   )r   r   rÌ   rÍ   rÎ   rë   r   Úsort_valuesr¬   r­   rÈ  rN   r/   Úsortedr!   r   ra   rd   r®   )rQ   r  r½   Ú
cat_labelsr*   rá   s         r   Ú	test_sortrÒ  ó  s  € ô 
�GœRŸY™Y×2Ñ2°1Ó5×>Ñ>¸qÀ%ÈÓLÐMÓ	N€BÜ*/°°5¸#Ó*>Ö? Q���3�q˜3‘w�iÒ Ð?€FÐ?Ü˜V VÓ,€Jà	�‰˜G˜9°ˆÓ	5€BÜŸ™Ø
�‰”%˜˜5 #Ó&¨e¸Jô€B€}Ñð �*‰*�m�_¨uˆ*Ó
5°mÑ
D×
JÑ
JÓ
L€CØ
Œf�S—Y‘YÑ$AÔBÑ
C€CÜ  §¡°·±·±Ô@€C„IÜ×Ñ˜3 Õ$ùò @s   ÁD6c           
      óh  — t        g d¢g d¢g d¢g d¢g d¢g d¢g d¢gg d¢¬	«      }t        |d
   |¬«      |d
<   |j                  d
| d¬«      j                  «       }| rddgddgddgddgg}g d¢}nddgddgddgddgg}g d¢}t        |ddgt	        |d
|¬«      ¬«      }t        j                  ||«       y )N)ú	(7.5, 10]r—   r—   )rÔ  rÊ   r˜   )ú(2.5, 5]r]   r™   )ú(5, 7.5]rï   rš   )rÕ  rF   r"  )ú(0, 2.5]r<   r#  )rÖ  rv   r$  )rë   rÂ   rÃ   r�   rë   r¾   FrÈ   r<   r#  r]   r™   rï   rš   r—   )r×  rÕ  rÖ  rÔ  )rÔ  rÕ  rÖ  r×  rÂ   rÃ   r`   ©r%   r!   )r   r   rN   r1   r   rd   re   )rÉ   r   rQ   r(   Údata_valuesÚindex_valuesrh   s          r   Ú
test_sort2rÛ  	  sÛ   € ô
 
â!Ú ÚÚÚÚÚð	
ò (ô
€Bô ˜b ™k°7Ô;€B€w�KØ�Z‰Z˜ d°UˆZÓ;×AÑAÓC€FáØ˜2�w  B ¨!¨R¨°2°r°(Ð;ˆÚH‰à˜B�x ! R ¨1¨b¨'°A°r°7Ð;ˆÚHˆÜØØ˜�Ü˜|°'À7ÔKô€Hô ×Ñ˜& (Õ+r   c                 ó®  — t        t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      t        ddd«      gg d¢g d¢dœg d¢¬	«      }t        |d
   |¬«      |d
<   | rAddgddgddgddgg}t        ddd«      t        ddd«      t        ddd«      t        ddd«      g}n@ddgddgddgddgg}t        ddd«      t        ddd«      t        ddd«      t        ddd«      g}t        |ddgt        |d
|¬«      ¬«      }|j	                  d
| d¬«      j                  «       }t        j                  ||«       y )NiÛ  rv   r<   r[   r]   )r—   rÊ   r]   rï   rF   r<   rv   r!  )ÚdtrÂ   rÃ   r�   rÝ  r¾   r#  r™   rï   rš   r—   rÂ   rÃ   r`   rØ  FrÈ   )r   r   r   r   rN   r1   rd   re   )rÉ   r   rQ   rÙ  rÚ  rh   r(   s          r   Útest_sort_datetimelikerÞ  ,  s‘  € ô 
ô ˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$Ü˜˜q !Ó$ðò *Ú/ñ	
ò %ô
€Bô$ ˜2˜d™8¨WÔ5€B€t�HÙØ˜2�w  B ¨!¨R¨°2°r°(Ð;ˆä�T˜1˜aÓ Ü�T˜1˜aÓ Ü�T˜1˜aÓ Ü�T˜1˜aÓ ð	
‰ð ˜B�x ! R ¨1¨b¨'°A°r°7Ð;ˆä�T˜1˜aÓ Ü�T˜1˜aÓ Ü�T˜1˜aÓ Ü�T˜1˜aÓ ð	
ˆô ØØ˜�Ü˜|°$ÀÔHô€Hð
 �Z‰Z˜ 4°%ˆZÓ8×>Ñ>Ó@€FÜ×Ñ˜& (Õ+r   c                  óL  — t        t        g d¢g d¢¬«      g d¢dœ«      } t        g d¢d¬«      }| j                  dd¬	«      j                  j                  «       }t        g d
¢|d¬«      }t        j                  ||«       | j                  dd¬	«      j                  j                  d¬«      }t        g d
¢|d¬«      }t        j                  ||«       | j                  dd¬	«      j                  j                  d¬«      }t        ddt        j                  g|d¬«      }t        j                  ||«       | j                  dd¬	«      j                  j                  d¬«      }t        dt        j                  t        j                  g|d¬«      }t        j                  ||«       y )N©r   r   rV   r  r?  ©r<   r[   r<   rŽ  rs   r‹   FrK   )r\   r<   r   rt   r   ©Ú	min_countr<   r\   r[   )r   r   r   rN   rt   rC   r
   rd   r®   r   rc   ©rQ   Úexpected_idxr(   rh   s       r   Útest_empty_sumræ  _  sU  € ä	Üš/²oÔFÊYÑWó
€Bô $¢O¸#Ô>€Lð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2Ó4€FÜ’i °CÔ8€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2¸QÐ2Ó?€FÜ’i °CÔ8€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2¸QÐ2Ó?€FÜ�q˜!œRŸV™V�n l¸Ô=€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×2Ñ2¸QÐ2Ó?€FÜ�qœ"Ÿ&™&¤"§&¡&Ð)¨<¸cÔB€HÜ×Ñ˜6 8Õ,r   c                  ól  — t        t        g d¢g d¢¬«      g d¢dœ«      } t        g d¢d¬«      }| j                  dd¬	«      j                  j                  «       }t        g d
¢|d¬«      }t        j                  ||«       | j                  dd¬	«      j                  j                  d¬«      }t        g d
¢|d¬«      }t        j                  ||«       | j                  dd¬	«      j                  j                  d¬«      }t        ddt        j                  g|d¬«      }t        j                  ||«       y )Nrà  r  r?  rá  rŽ  rs   r‹   FrK   )r[   r<   r<   rt   r   râ  r<   r[   )r   r   r   rN   rt   r;   r
   rd   r®   r   rc   rä  s       r   Útest_empty_prodrè  {  s   € ä	Üš/²oÔFÊYÑWó
€Bô $¢O¸#Ô>€Lð �Z‰Z˜ eˆZÓ,×.Ñ.×3Ñ3Ó5€FÜ’i °CÔ8€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×3Ñ3¸aÐ3Ó@€FÜ’i °CÔ8€HÜ×Ñ˜6 8Ô,ð �Z‰Z˜ eˆZÓ,×.Ñ.×3Ñ3¸aÐ3Ó@€FÜ�q˜!œRŸV™V�n l¸Ô=€HÜ×Ñ˜6 8Õ,r   c                  ó
  — t        t        t        d«      «      t        t        t        j                  ddd¬«      «      dz  «      t        j                  d«      dœ«      } | j                  dd	gd
¬«      j                  «       }t        j                  t        g d¢«      t        t        j                  ddd¬«      «      gdd	g¬«      }t        ddddddddt
        j                  dg	i|¬«      }t        j                  ||«       y )NÚ	abcbabcbaz2018-06-01 00Ú1minr\   )Úfreqrp  rM  )Úkey1Úkey2ru   rí  rî  FrK   r  r   ru   r   rF   rÊ   r]   rï   r[   r    )r   r   rb   r¬   rq  r   r   rN   r6   r	   r"   rc   rd   re   )rQ   r(   rÜ   rh   s       r   Ú,test_groupby_multiindex_categorical_datetimerï  “  sç   € ô 
ä¤ [Ó 1Ó2ÜÜ”R—]‘] ?¸ÈÔKÓLÈqÑPóô —i‘i “lñ	
ó
€Bð �Z‰Z˜ Ð(°5ˆZÓ9×>Ñ>Ó@€Fä
×
!Ñ
!äšÓ(ÜœŸ™ o¸FÈAÔNÓOð	
ð �vÐô€Cô ˜( Q¨¨1¨a°°A°q¼"¿&¹&À!Ð$DÐEÈSÔQ€HÜ×Ñ˜& (Õ+r   zas_index, expectedrR  r<  rD  r”  r   r†   )r!   rf   ra   ©r   rV   r†   c                 ó¾   — t        t        g d¢d¬«      g d¢g d¢dœ«      }|j                  ddg| d	¬
«      d   j                  «       }t	        j
                  ||«       y )NrR  r<  rD  r”  r@  rð  r   rV   Tr'  r†   )r   r
   rN   rC   rd   rV  )r(  rh   rQ   r(   s       r   Ú,test_groupby_agg_observed_true_single_columnrò  ¬  sU   € ô6 
Ü’Y jÔ1º	Ê	ÑRó
€Bð �Z‰Z˜˜c˜
¨XÀˆZÓEÀcÑJ×NÑNÓP€Fä‡O�O�F˜HÕ%r   r   c                 óž   — t        g d¢g d¢d¬«      }t        g d¢g d¢d¬«      }|j                  d| ¬«      }t        j                  ||«       y )NrX   Fr   )Nr   rV   rW   r<   r   )r   Úshiftrd   rV  )r   Úctrh   r*   s       r   Ú
test_shiftrö  Ð  sJ   € ä	ÚÒ)=Àuô
€Bô ÚÒ*>Èô€Hð �(‰(�1 ˆ(Ó
,€CÜ‡O�O�C˜Õ"r   c                 óÐ   — | j                  «       dd }|d   j                  d«      |d<   |d   j                  d«      |d<   t        g d¢«      |d<   |j                  dgd	¬
«      }|S )a¥  
    DataFrame with multiple categorical columns and a column of integers.
    Shortened so as not to contain all possible combinations of categories.
    Useful for testing `observed` kwarg functionality on GroupBy objects.

    Parameters
    ----------
    df: DataFrame
        Non-categorical, longer DataFrame from another fixture, used to derive
        this one

    Returns
    -------
    df_cat: DataFrame
    NrF   rs   r<  rt   rq   rM   rO   r<   r¤   )Úcopyr�   r
   rU  )rQ   Údf_cats     r   rù  rù  Ü  sl   € ð" �W‰W‹Y�r˜ˆ]€FØ˜‘+×$Ñ$ ZÓ0€Fˆ3�KØ˜‘+×$Ñ$ ZÓ0€Fˆ3�KÜšÓ&€Fˆ3�KØ�[‰[˜#˜ Qˆ[Ó'€FØ€Mr   Ú	operationr  rP   c                 ój  — t        g d¢| d   j                  d¬«      }t        g d¢| d   j                  d¬«      }t        j                  ||g«      }t	        g d¢|d¬«      j                  «       }| j                  ddgd	¬
«      d   } t        ||«      t        «      }t        j                  ||«       y )N)rÃ   rÃ   rÂ   rÂ   rs   rÄ  )ÚoneÚthreerü  Útwort   )r[   rF   r<   r\   rM   ©rf   r!   ra   TrK   )r   r’   r	   rø   r
   r'   rN   r¸  rC   rd   r®   )rù  rú  Úlev_aÚlev_br!   rh   rÚ   r(   s           r   Ú test_seriesgroupby_observed_truer  õ  s    € ô Ò.°f¸S±k×6GÑ6GÈcÔR€EÜÒ0¸¸s¹×8IÑ8IÐPSÔT€EÜ×"Ñ" E¨5 >Ó2€EÜš<¨u¸3Ô?×JÑJÓL€Hà�n‰n˜c 3˜Z°$ˆnÓ7¸Ñ<€GØ(ŒW�W˜iÓ(¬Ó-€FÜ×Ñ˜6 8Õ,r   rL   c                 ó8  — t        j                  t        ddgd¬«      t        g d¢d¬«      gddg¬«      j                  «       \  }}t	        g d	¢|d
¬«      }| j                  ddg|¬«      d
   } t        ||«      t        «      }t        j                  ||«       y )NrÃ   rÂ   Fr¾   ©rü  rý  rþ  rs   rt   r   )r[   rF   r   r<   r   r\   rM   rÿ  rK   )
r	   r"   r   Ú	sortlevelr
   rN   r¸  rC   rd   r®   )rù  rL   rú  r!   Ú_rh   rÚ   r(   s           r   Ú)test_seriesgroupby_observed_false_or_noner    sš   € ô
 ×&Ñ&ä˜e U˜^°UÔ;ÜÒ4¸eÔDð	
ð �Cˆjô÷ �iƒkñ €Eˆ1ô Ò-°UÀÔE€HØ�n‰n˜c 3˜Z°(ˆnÓ;¸CÑ@€GØ(ŒW�W˜iÓ(¬Ó-€FÜ×Ñ˜6 8Õ,r   zobserved, index, datarÃ   rÂ   rs   rÄ  )rü  rü  rý  rý  rü  rü  rþ  rþ  rt   )r[   r[   rF   rF   r<   r<   r\   r\   r¾   r  )rs   rt   Nc                 óœ   — t        ||d¬«      }| j                  ddg|¬«      d   j                  d„ «      }t        j                  ||«       y )NrM   rÿ  rs   rt   rK   c                 óD   — | j                  «       | j                  «       dœS )N©r8   r5   r
  r…   s    r   r‡   z8test_seriesgroupby_observed_apply_dict.<locals>.<lambda>F  s   € ˜!Ÿ%™%›'¨!¯%©%«'Ñ2€ r   )r
   rN   rP   rd   r®   )rù  rL   r!   rf   rh   r(   s         r   Ú&test_seriesgroupby_observed_apply_dictr    sN   € ô\ ˜4 u°3Ô7€HØ�^‰^˜S #˜J°ˆ^Ó:¸3Ñ?×EÑEÙ2ó€Fô ×Ñ˜6 8Õ,r   c                 óÈ   — | j                  ddgd¬«      d   j                  «       }| j                  ddgd¬«      j                  «       d   }t        j                  ||«       y )Nrs   rt   FrK   rM   )rN   r6   rd   r®   )rù  rh   r(   s      r   Ú4test_groupby_categorical_series_dataframe_consistentr  K  sZ   € à�~‰~˜s C˜j°5ˆ~Ó9¸#Ñ>×CÑCÓE€HØ�^‰^˜S #˜J°ˆ^Ó7×<Ñ<Ó>¸sÑC€FÜ×Ñ˜6 8Õ,r   c                 ó  — t        t        ddg|¬«      ddgdœddg¬	«      }|j                  «       }|j                  d| ¬
«      j	                  t         j
                  d¬«      j                  «       }t        j                  ||«       y )NÚBobÚGregr¾   r<   r[   )ÚNameÚItemr  r  r�   rK   T)Úskipna)	r   r   rø  rN   r  rC   r*  rd   re   )rL   r   rQ   rh   r(   s        r   Ú$test_groupby_cat_preserves_structurer  R  sz   € ä	Ü˜e V˜_°gÔ>ÈÈAÈÑOØ˜Ð ô
€Bð �w‰w‹y€Hð 	�
‰
�6 Hˆ
Ó-ß	‰ŒY�]‰] 4ˆÓ	(ß	‰‹ð ô ×Ñ˜& (Õ+r   c                  óØ   — t        g d¢t        d«      dœ«      } t        j                  t        d¬«      5  | j                  d«      j                  d„ «       d d d «       y # 1 sw Y   y xY w)Nrk   rF   )rD   r  z'vau'rˆ  rD   c                 ó>   — t        d| j                  d   d   gi«      S )Nr  rt  Úvau)r   rŠ   )Úrowss    r   r‡   z/test_get_nonexistent_category.<locals>.<lambda>g  s    € ¬Y¸ÀÇ	Á	È"ÁÈeÑ@TÐ?UÐ7VÓ-W€ r   )r   rë   rj  rŠ  ÚKeyErrorrN   rP   ©rQ   s    r   Útest_get_nonexistent_categoryr  c  sU   € ä	Ò/¼¸a»ÑAÓ	B€BÜ	�‰”x wÔ	/ñ YØ
�
‰
�5Ó×ÑÑ WÔX÷Y÷ Yñ Yús   µ"A Á A)c           	      ó  — | dk(  rt        j                  d«       t        t        t	        d«      t	        d«      ¬«      t        t	        d«      dz  t	        d«      ¬«      dgd	z  d
œ«      }t        | |«      }|rd	nd}|j                  ddg|¬«      d   }| dk(  rt        || «      rJ ‚y t        || «      }|s.| dv r*t        j                  t        d¬«      5   ||Ž  d d d «       y  ||Ž }t        |«      |k(  sJ ‚y # 1 sw Y   y xY w)NÚngroupúngroup is not truly a reductionÚAABBÚABCDr?  r  r[   çš™™™™™¹?rF   ©Úcat_1Úcat_2rÈ  rª  r#  r$  rK   rÈ  r0   ©r3   r2   ú(empty group due to unobserved categoriesrˆ  )rj  Úskipr   r   rb   r   rN   Úhasattrr¸  rŠ  r‹  r   )Úreduction_funcrL   rQ   r)   Úexpected_lengthÚseries_groupbyr  r(   s           r   Ú0test_series_groupby_on_2_categoricals_unobservedr,  j  s  € à˜Ò!Ü�‰Ð5Ô6ä	ä ¤ f£¼$¸v»,ÔGÜ ¤ d£¨a¡¼DÀ»LÔIØ�U˜Q‘Yñ	
ó
€Bô # >°2Ó6€Dá#‘a¨€Oà—Z‘Z ¨'Ð 2¸X�ZÓFÀwÑO€Nà˜Ò#ä˜>¨>Ô:Ð:Ð:Øä
�. .Ó
1€Cá˜Ð*>Ñ>ä�]‰]ÜÐHô
ñ 	ñ �‰J÷	ð 	á�$ˆZ€Fäˆv‹;˜/Ò)Ð)Ñ)÷	ð 	ús   ÃC;Ã;Dc           	      ó®  — | dk(  rt        j                  d«       | dk(  r1t         j                  j                  d¬«      }|j	                  |«       t        t        t        d«      t        d«      ¬«      t        t        d	«      d
z  t        d«      ¬«      dgdz  dœ«      }t        d«      t        d«      t        d«      t        d«      t        d«      g}t        | |«      }|j                  ddgd¬«      d   }t        || «      }| dv r*t        j                  t        d¬«      5   ||Ž  d d d «       y  ||Ž }t        |    }	|D ]C  }
|j                  |
   }t!        j"                  |	«      rt!        j"                  |«      rŒ=||	k(  rŒCJ ‚ |	dk(  r<| dv r1t%        j&                  |j(                  t$        j*                  «      sJ ‚y | dv sJ ‚y y # 1 sw Y   y xY w)Nr  r  r0   z6TODO: implemented SeriesGroupBy.corrwith. See GH 32293©Úreasonr  r  r?  r  r[   r!  rF   r"  ÚACÚBCÚCAÚCBÚCCr#  r$  FrK   rÈ  r%  r&  rˆ  r   )r/   r:   r?   )rC   r.   )rj  r'  ÚmarkÚxfailÚapplymarkerr   r   rb   Útupler   rN   r¸  rŠ  r‹  Ú-_results_for_groupbys_with_missing_categoriesr›  r¬   ri  r   Ú
issubdtyper’   Úinteger)r)  Úrequestr5  rQ   Ú
unobservedr)   r+  r  r(   Úmissing_fillinrÜ   r  s               r   Ú?test_series_groupby_on_2_categoricals_unobserved_zeroes_or_nansr?  �  s»  € ð ˜Ò!Ü�‰Ð5Ô6à˜Ò#Ü�{‰{× Ñ ØKð !ó 
ˆð 	×Ñ˜DÔ!ä	ä ¤ f£¼$¸u»+ÔFÜ ¤ d£¨a¡¼DÀ»KÔHØ�U˜Q‘Yñ	
ó
€Bô ˜“+œu T›{¬E°$«K¼¸t»ÄeÈDÃkÐR€JÜ" >°2Ó6€Dà—Z‘Z ¨'Ð 2¸U�ZÓCÀGÑL€NÜ
�. .Ó
1€CàÐ-Ñ-ä�]‰]ÜÐHô
ñ 	ñ �‰J÷	ð 	á�$ˆZ€FäBÀ>ÑR€Nàò UˆØ�j‰j˜‰oˆÜ—‘˜Ô'¬B¯G©G°C­L¸cÀ^Ó>SÐTÐTðUð ˜ÒØÐ9Ñ9Ü—=‘= §¡¬r¯z©zÔ:Ð:Ñ:à! ^Ñ3Ð3Ñ3ð	 ÷%	ð 	ús   Ä$GÇGc           	      óà  — | dk(  rt        j                  d«       t        t        t	        d«      t	        d«      ¬«      t        t	        d«      t	        d«      ¬«      g d¢d	œ«      }g d
¢}|j                  ddgd¬«      }t        | |«      }| dk(  r	t        }d}nd }d}t        j                  ||¬«      5   t        || «      |Ž }d d d «       |D ]  }|j                  vrŒJ ‚ y # 1 sw Y   Œ!xY w)Nr  ú2ngroup does not return the Categories on the indexr  r  r?  Ú1111Ú12©r!  r!  r!  r!  r"  ©)rs   Ú2)rt   rF  )rM   Ú1)rM   rF  r#  r$  TrK   r0   ú'DataFrameGroupBy.corrwith is deprecatedr	  rˆ  )rj  r'  r   r   rb   rN   r   r   rd   Úassert_produces_warningr¸  r!   )	r)  rQ   Úunobserved_catsÚdf_grpr)   ÚwarnÚwarn_msgr*   r  s	            r   Ú>test_dataframe_groupby_on_2_categoricals_when_observed_is_truerN  Ç  sñ   € ð
 ˜Ò!Ü�‰ÐHÔIä	ä ¤ f£¼$¸u»+ÔFÜ ¤ f£¼$¸t»*ÔEÚ)ñ	
ó
€Bò G€Oà�Z‰Z˜ 'Ð*°TˆZÓ:€Fä" >°2Ó6€DØ˜Ò#ÜˆØ<‰àˆØˆÜ	×	#Ñ	# D°Ô	9ñ 5Ø-Œg�f˜nÓ-¨tÐ4ˆ÷5ð ò $ˆØ˜#Ÿ)™)Ò#Ð#Ð#ñ$÷5ð 5ús   Â4C$Ã$C-c           	      ó¤  — | dk(  rt        j                  d«       t        t        t	        d«      t	        d«      ¬«      t        t	        d«      t	        d«      ¬«      g d¢d	œ«      }g d
¢}|j                  ddg|¬«      }t        | |«      }|s8| dv r4t        j                  t        d¬«      5   t        || «      |Ž  d d d «       y | dk(  r	t        }d}nd }d}t        j                  ||¬«      5   t        || «      |Ž }	d d d «       t        |    }
|r*| dk(  r%	j                  |   |
k(  j                  «       du sJ ‚y |
t         j"                  u r<	j                  |   j%                  «       j                  «       j                  «       sJ ‚y 	j                  |   |
k(  j                  «       j                  «       sJ ‚y # 1 sw Y   y xY w# 1 sw Y   ŒÉxY w)Nr  rA  r  r  r?  rB  rC  rD  r"  rE  r#  r$  rK   r%  r&  rˆ  r0   rH  r	  r?   T)rj  r'  r   r   rb   rN   r   rŠ  r‹  r¸  r   rd   rI  r9  r›  r-   r   rc   Úisnull)r)  rL   Úusing_python_scalarsrQ   rJ  rK  r)   rL  rM  r*   rh   s              r   Ú?test_dataframe_groupby_on_2_categoricals_when_observed_is_falserR  è  sµ  € ð ˜Ò!Ü�‰ÐHÔIä	ä ¤ f£¼$¸u»+ÔFÜ ¤ f£¼$¸t»*ÔEÚ)ñ	
ó
€Bò G€Oà�Z‰Z˜ 'Ð*°XˆZÓ>€Fä" >°2Ó6€Dá˜Ð*>Ñ>ä�]‰]ÜÐHô
ñ 	3ð ,ŒG�F˜NÓ+¨TÑ2÷	3ð 	à˜Ò#ÜˆØ<‰àˆØˆÜ	×	#Ñ	# D°Ô	9ñ 5Ø-Œg�f˜nÓ-¨tÐ4ˆ÷5ô =¸^ÑL€Há °&Ò 8Ø—‘˜Ñ(¨HÑ4×9Ñ9Ó;¸tÑCÐCÑCØ	”R—V‘VÑ	Ø�w‰w�Ñ'×.Ñ.Ó0×4Ñ4Ó6×:Ñ:Ô<Ð<Ñ<à—‘˜Ñ(¨HÑ4×9Ñ9Ó;×?Ñ?ÔAÐAÑA÷-	3ð 	ú÷5ð 5ús   Â,F:Ã.GÆ:GÇGc                  óB  — g d¢g d¢g d¢dœ} t        | «      }t        j                  |d   t        j                  ddd«      «      }||d	<   |j                  d	d
gddd¬«      }|d   j                  d«      }|j                  d«      d   }t        j                  ||«       y )N)r—   rÊ   rF   r<   r  )rY   rW   rY   rW   r&  rÂ   r   r˜   r]   rë   rÄ   TF©r(  rÉ   rL   r6   )	r   r¬   r­   r   r)  rN   r  rd   r®   )rY   rQ   r  r+  r(   rh   s         r   Ú3test_series_groupby_categorical_aggregation_getitemrU    s•   € âÒ&6Ò?SÑT€AÜ	�1‹€BÜ
�&‰&��E‘œBŸK™K¨¨2¨qÓ1Ó
2€CØ€B€w�KØ�Z‰Z˜ %Ð(°4¸dÈUˆZÓS€FØ�E‰]×Ñ˜vÓ&€FØ�z‰z˜&Ó! %Ñ(€HÜ×Ñ˜6 8Õ,r   zfunc, expected_valuesc                 ó  — t        g d¢g d¢t        g d¢«      dœ«      j                  d«      }|j                  d«      j	                  | «      }t        d|it        g d¢d¬	«      ¬
«      }t        j                  ||«       y )Nr¼   )r   r<   r<   r[   r[   )r   r   r   r   r<   )Úidr+  rÈ  rW  r+  rÈ  rT  r‹   r    )r   r   r  rN   r  r   rd   re   )r¹  rX  rQ   r(   rh   s        r   Ú$test_groupby_agg_categorical_columnsrX  (  sw   € ô 
â!Ú%Ü ¢Ó1ñ	
ó
÷ �i�ƒoð ð �Z‰Z˜Ó!×%Ñ% dÓ+€FäØ	�/Ð"¬%²	ÀÔ*Iô€Hô ×Ñ˜& (Õ+r   c                  ó‚  — t        dt        g d¢g d¢¬«      i«      } t        dddgit        j                  ddg«      ¬«      }| j	                  g d¢«      j                  t        j                  «      }t        j                  ||«       | j	                  g d¢«      j                  «       }t        j                  ||«       y )	Nrs   rà  r  r?  r[   r<   r    rá  )
r   r   r   rh  rN   r  r
   r:   rd   re   ©rQ   rh   r(   s      r   Útest_groupby_agg_non_numericr[  =  s�   € Ü	�Cœ¢_ÂÔQÐRÓ	S€BÜ˜#  1˜v˜¬b¯h©h¸¸1°vÓ.>Ô?€Hà�Z‰Zš	Ó"×&Ñ&¤v§~¡~Ó6€FÜ×Ñ˜& (Ô+à�Z‰Zš	Ó"×*Ñ*Ó,€FÜ×Ñ˜& (Õ+r   r¹  c                 ó2  — t        dgt        dgd¬«      j                  j                  «       dœ«      }|j	                  d«      d   } t        || «      «       }t        dgt        dgd¬«      d|d   j                  ¬	«      }t        j                  ||«       y )
NiÍ  rV   r<  rD  rŽ  rs   rt   r‹   ©r!   ra   r’   )
r   r
   r  Ú
as_orderedrN   r¸  r   r’   rd   r®   )r¹  rQ   Ú
df_groupedr(   rh   s        r   Ú<test_groupby_first_returned_categorical_instead_of_dataframer`  H  sŠ   € ô 
˜$˜¤f¨c¨U¸*Ô&E×&IÑ&I×&TÑ&TÓ&VÑWÓ	X€BØ—‘˜C“ Ñ%€JØ&ŒW�Z Ó&Ó(€Fô Ø	ˆ”U˜D˜6¨Ô,°3¸bÀ¹g¿m¹mô€Hô ×Ñ˜6 8Õ,r   c            	      óH  — t        j                  ddg«      } d| j                  _        t	        g d¢t        g d¢t        | «      ¬«      dœ«      }t	        dd	d
git        | d¬«      ¬«      }|j                  ddd¬«      j                  «       }t        j                  ||«       y )Nr<   r[   F)r<   r\   r]   rv   r  r?  r^   r   r   g      @rV   r‹   rç   rÈ   )r   rh  ÚflagsÚ	writeabler   r   r   r   rN   r6   rd   re   )rR   rQ   rh   r(   s       r   Útest_read_only_category_no_sortrd  W  sŠ   € ä�8‰8�Q˜�FÓ€DØ €D‡J�JÔÜ	Ú¤ª\ÄeÈDÃkÔ!RÑSó
€Bô ˜s S¨# JÐ/Ô7GÈÐSVÔ7WÔX€HØ�Z‰Z˜ %°%ˆZÓ8×=Ñ=Ó?€FÜ×Ñ˜& (Õ+r   c                  ó®  — t        g d¢g d¢dœ«      } | d   j                  d«      j                  j                  g d¢d¬«      | d<   t        d	d	d
œd	dd
œddd
œddd
œdœ«      }|j	                  dd¬«      }t        g d¢g d¢ddd¬«      |_        | j                  ddgd¬«      j                  «       j                  «       }t        j                  ||«       y )N)ÚsmallÚlargerg  rg  r~  rg  rg  r~  )rM   rs   rs   rM   rs   rM   rs   rM   )rÂ   rÃ   rÂ   r<  )Útinyrf  r~  rg  Tr¾   r   )rs   rM   r<   r\   r[   rÃ   r!   r¤   )r   r   ra   r’   FrK   )r   r�   r  Úset_categoriesÚrename_axisr   r%   rN   r?   rƒ  rd   re   rZ  s      r   Ú#test_sorted_missing_category_valuesrk  c  sè   € ä	ò	ò <ñ	
ó
€Bð  	ˆ5‰	ß	‰�
Ó	ß	‰�^‰^Ò@È$ˆ^ÓOð €u�Iô à !Ñ$Ø 1Ñ%Ø AÑ&Ø 1Ñ%ñ		
ó€Hð ×#Ñ# E°Ð#Ó8€HÜ'Ú,Ú7ØØØô€HÔð �Z‰Z˜ ˜°ˆZÓ7×<Ñ<Ó>×FÑFÓH€Fä×Ñ˜& (Õ+r   c                  ó´  — t        dg d¢i«      } | d   j                  d«      | d<   | j                  d«      j                  j	                  «       }t        g d¢t        g d¢d¬«      d| d   j                  ¬«      }t        j                  ||«       | j                  d«      j                  ddi«      }|j                  «       }t        j                  ||«       y )	NÚcol_num)r<   r<   r[   r\   r<  Úcol_catr@  r‹   r]  r1   )r   r�   rN   rn  r1   r
   r   r’   rd   r®   r  Úto_framere   rÅ  s      r   Ú1test_agg_cython_category_not_implemented_fallbackrp  �  s½   € ä	�Iš|Ð,Ó	-€BØ�y‘M×(Ñ(¨Ó4€B€y�Mà�Z‰Z˜	Ó"×*Ñ*×0Ñ0Ó2€Fô ÚÜ’I IÔ.ØØ�‰m×!Ñ!ô	€Hô ×Ñ˜6 8Ô,à�Z‰Z˜	Ó"×&Ñ&¨	°7Ð';Ó<€FØ× Ñ Ó"€HÜ×Ñ˜& (Õ+r   c                  óZ  — t        g d¢g d¢ddt        j                  dgg d¢g d¢dœ«      } | j                  dd	i«      } | j	                  d
dg«      j                  d„ «      }t        j                  ddgddggd¬«      }t        ddgddgddgdœ|¬«      }t        j                  ||«       y )N)r<   r<   r<   r<   r  r!  gš™™™™™É?g333333Ó?)rÂ   rÃ   rÂ   Úfee)rs   rt   Únumerical_colÚ
object_colÚcategorical_colru  r<  rs   rt   c                 ó>   — | j                  «       j                  «       S rƒ   )ri  rC   r  s    r   r‡   z7test_aggregate_categorical_with_isnan.<locals>.<lambda>´  s   € °2·7±7³9·=±=³?€ r   r<   r[   rŽ  r   r   )rs  rt  ru  rç   )
r   r   rc   r�   rN   r  r	   rø   rd   re   rù   s       r   Ú%test_aggregate_categorical_with_isnanrw  ¦  s»   € ä	âÚØ! 3¬¯©°Ð4Ú6Ú;ñ	
ó
€Bð 
�‰Ð% zÐ2Ó	3€Bà�Z‰Z˜˜c˜
Ó#×'Ñ'Ñ(BÓC€FÜ×"Ñ" Q¨ F¨Q°¨FÐ#3¸:ÔF€EÜà ˜VØ˜a˜&Ø ! 1˜vñ
ð
 ô€Hô ×Ñ˜& (Õ+r   c                  ó€  — t        g d¢g d¢dœ«      } t        j                  g d¢d¬«      }| d   j                  |«      | d<   | j	                  d«      d   j                  t        «      | d	<   | j                  «       }t        g d¢g d¢g d
¢dœ«      }|d   j                  |«      |d<   t        j                  ||«       y )N)r<   r<   r<   r[   r[   r\   )ÚWaitingÚOnTheWayÚ	Deliveredry  rz  ry  )Ú
package_idÚstatus)ry  rz  r{  Tr   r}  r|  Úlast_status)ry  ry  ry  ry  ry  ry  )r|  r}  r~  )
r   r¬   ÚCategoricalDtyper�   rN   r�   r5   rø  rd   re   )rQ   Údelivery_status_typer(   rh   s       r   Útest_categorical_transformr�  Á  sÃ   € ä	â,òñ
	
ó
€Bô ×.Ñ.Ú7ÀôÐð �h‘<×&Ñ&Ð';Ó<€B€x�LØŸ
™
 <Ó0°Ñ:×DÑDÄSÓI€B€}ÑØ�W‰W‹Y€Fäâ,òòñ	
ó€Hð, " (Ñ+×2Ñ2Ð3GÓH€HˆXÑÜ×Ñ˜& (Õ+r   c                 ó4  — t        g d¢«      }g d¢}t        |||dœ«      }t        ddg«      }t        j                  ||gddg¬«      }t	        dt
        j                  t
        j                  dg|d	¬
«      t	        dt
        j                  t
        j                  dg|d	¬
«      dœ}||    }|r-|j                  «       j                  t
        j                  «      }|j                  ddg|¬«      d	   }	 t        |	| «      «       }
t        j                  |
|«       y ©N)r   r   r<   r<   )r   r<   r<   r   r  r   r<   r   rV   r   rW   r‹   )r1   r4   rK   )r   r   r	   r"   r
   r   rc   rK  r�   rC  rN   r¸  rd   r®   )r¹  rL   r  r  rQ   rz   rÜ   Úexpected_dictrh   Úsrs_grpr(   s              r   ÚFtest_series_groupby_first_on_categorical_col_grouped_on_2_categoricalsr†  ò  só   € ô
 ’lÓ
#€CÚ
€CÜ	˜ 3¨SÑ1Ó	2€Bä˜˜1�vÓ€DÜ
×
!Ñ
! 4¨ ,°s¸C°jÔ
A€Cä˜œBŸF™F¤B§F¡F¨AÐ.°¸#Ô>Ü˜œ2Ÿ6™6¤2§6¡6¨1Ð-¨s¸Ô=ñ€Mð
 ˜TÑ"€HÙØ—?‘?Ó$×+Ñ+¬B¯H©HÓ5ˆà�j‰j˜#˜s˜¨hˆjÓ7¸Ñ<€GØ#ŒW�W˜dÓ#Ó%€FÜ×Ñ˜6 8Õ,r   c                 óJ  — t        g d¢«      }g d¢}t        |||dœ«      }t        ddg«      }t        j                  ||gddg¬«      }t	        dt
        j                  t
        j                  dg|d	¬
«      t	        dt
        j                  t
        j                  dg|d	¬
«      dœ}||    j                  «       }|r-|j                  «       j                  t
        j                  «      }|j                  ddg|¬«      }	 t        |	| «      «       }
t        j                  |
|«       y rƒ  )r   r   r	   r"   r
   r   rc   ro  rK  r�   rC  rN   r¸  rd   re   )r¹  rL   r  r  rQ   rz   rÜ   r„  rh   rK  r(   s              r   ÚBtest_df_groupby_first_on_categorical_col_grouped_on_2_categoricalsrˆ    s÷   € ô
 ’lÓ
#€CÚ
€CÜ	˜ 3¨SÑ1Ó	2€Bä˜˜1�vÓ€DÜ
×
!Ñ
! 4¨ ,°s¸C°jÔ
A€Cä˜œBŸF™F¤B§F¡F¨AÐ.°¸#Ô>Ü˜œ2Ÿ6™6¤2§6¡6¨1Ð-¨s¸Ô=ñ€Mð
 ˜TÑ"×+Ñ+Ó-€HÙØ—?‘?Ó$×+Ñ+¬B¯H©HÓ5ˆà�Z‰Z˜˜c˜
¨XˆZÓ6€FØ"ŒW�V˜TÓ"Ó$€FÜ×Ñ˜& (Õ+r   c                  óÈ  — t        t        g d¢g d¢¬«      t        d«      dœ«      } | j                  ddd¬«      }|j                  }t        j                  d	d
gd¬«      t        j                  dgd¬«      t        j                  g d¬«      dœ}|j                  «       |j                  «       k(  sJ ‚|j                  «       D ]  }t        j                  ||   ||   «       Œ  y )N)rV   rV   r   r  r?  r\   )r  r+   r  FrÈ   r   r<   ÚintprD  r[   )rV   r   rW   )
r   r   rë   rN   Úindicesr   rh  rW  rd   r¿  )rQ   rÚ   r(   rh   r  s        r   Ú2test_groupby_categorical_indices_unused_categoriesrŒ  $  sÃ   € ä	äšº?ÔKÜ˜“8ñ	
ó
€Bð �j‰j˜ U°UˆjÓ;€GØ�_‰_€Fä�X‰X�q˜!�f FÔ+Ü�X‰X�q�c Ô(Ü�X‰X�b Ô'ñ€Hð
 �;‰;‹=˜HŸM™M›OÒ+Ð+Ð+Ø�{‰{‹}ò @ˆÜ
×#Ñ# F¨3¡K°¸#±Õ?ñ@r   c                 ó  — t        dg d¢i«      }|d   j                  d«      |d<    t        |j                  d«      d   | «      «       }t	        t        g d¢«      dt        g d¢d¬«      ¬«      }t        j                  ||«       y )Nr   r@  r<  rV   r‹   )ra   r!   )	r   r�   r¸  rN   r
   r   r   rd   r®   )r¹  rQ   r(   rh   s       r   Ú1test_groupby_last_first_preserve_categoricaldtyperŽ  8  sv   € ô 
�CšÐ#Ó	$€BØ�‰g�n‰n˜ZÓ(€B€s�GØ0ŒW�R—Z‘Z “_ SÑ)¨4Ó0Ó2€FÜÜ’IÓ S´²iÀcÔ0Jô€Hô ×Ñ˜8 VÕ,r   c            
      óN  — t        ddgddgddgdœ«      } | j                  dddœ¬«      } | j                  d	d
gd¬«      j                  «       d   }t	        ddgt        j                  t        ddgd	¬«      t        ddgd
¬«      g«      d¬«      }t        j                  ||«       y )Nr<   r[   r—   r•  r  r<  r^   rD  r   rV   TrK   rW   r‹   rö   )
r   r�   rN   r:   r
   r	   rø   r   rd   r®   rÅ  s      r   Ú)test_groupby_categorical_observed_nuniquer�  D  s­   € ä	˜!˜Q˜ q¨! f°B¸°8Ñ<Ó	=€BØ	�‰˜z°
Ñ;ˆÓ	<€BØ�Z‰Z˜˜c˜
¨TˆZÓ2×:Ñ:Ó<¸SÑA€FÜØ	
ˆAˆÜ×$Ñ$Ü˜q !˜f¨3Ô/Ô1AÀ1ÀaÀ&ÈsÔ1SÐTó
ð ô€Hô ×Ñ˜6 8Õ,r   c            	      ób  — t        j                  ddgd¬«      } t        ddgddgddggddg¬	«      j                  d| i«      }|j	                  d«      d   j                  «       }t        ddgt        ddgd¬
«      dt        j                  ddgd¬«      ¬«      }t        j                  ||«       y )Nrf  ÚbigTr   r<   r[   ÚgrpÚdescriptionr�   r‹   r]  )
r¬   r  r   r�   rN   r5   r
   r   rd   r®   )r’   rQ   r(   rh   s       r   Ú,test_groupby_categorical_aggregate_functionsr•  S  sº   € ä×Ñ¨G°UÐ+;ÀTÔJ€EÜ	Ø
ˆWˆ˜˜5�z A w <Ð0¸5À-Ð:Pô
ç�fˆm˜UÐ#Ó$ð ð �Z‰Z˜Ó˜}Ñ-×1Ñ1Ó3€FÜØ	�ÐÜ�Q˜�F Ô'ØÜ×!Ñ!¨g°uÐ-=ÀtÔLô	€Hô ×Ñ˜6 8Õ,r   c                 ód  — t        ddgg d¢¬«      }t        t        ddgg d¢¬«      ddgdœ«      }|j                  d| |¬	«      }|j                  «       }| rt        d
ddgi|¬«      }n!t	        g d¢g d¢«      }t        d
g d¢i|¬«      }d|j
                  _        t        j                  ||«       y )Nr<   r[   r@  r?  r\   rF   )r†   rp   r†   rJ  rp   r    )r\   rF   r   )	r   r   rN   rC   r   r!   ra   rd   re   )rL   rK  r  rQ   r{   r(   rh   r!   s           r   Útest_groupby_categorical_dropnar—  e  sŸ   € ä
�q˜!�fªÔ
3€CÜ	œ a¨ Vº	ÔBÈ!ÈQÈÑPÓ	Q€BØ	�‰�C (°6ˆÓ	:€BØ�V‰V‹X€FáÜ˜c A q 6˜]°#Ô6‰ä ¢ªIÓ6ˆÜ˜c¢9Ð-°UÔ;ˆØ€H‡N�NÔä×Ñ˜& (Õ+r   Ú
index_kind)rë   ÚsingleÚmultic                 óD  — |dk(  r9|s7|dk7  r2d}| j                  t        j                  j                  |¬«      «       n|dk7  r|st        j                  d¬«       t        t        g d¢g d¢|¬	«      t        d
«      dœ«      }|dk(  rdg}	n<|dk(  rdg}	|j                  |	«      }n"|dk(  rddg}	|d   |d<   |j                  |	«      }t        ||«      }
|j                  	|||¬«      }|s8|dv r4t        j                  t        d¬«      5   t        ||«      |
Ž  d d d «       y |dk(  r	t        }d}nd }d}t        j                   ||¬«      5   t        ||«      |
Ž }d d d «       |r&j"                  j%                  d«      j&                  }nd   j(                  j&                  }t+        g d¢«      }t        j,                  ||«       |dk(  r<|j"                  j%                  d«      j&                  }t        j,                  ||«       y y # 1 sw Y   y xY w# 1 sw Y   Œ»xY w)Nr0   r™  zDGH#49950 - corrwith with as_index=False may not have grouping columnr.  rë   ú/Result doesn't have categories, nothing to test©r[   r<   r[   r\   ©r<   rF   r\   r[   r   rF   r^   r   rš  rO  rT  r%  r&  rˆ  rH  r	  )r7  rj  r5  r6  r'  r   r   rë   r  r   rN   rŠ  r‹  r¸  r   rd   rI  r!   rØ   r   r  r   rÖ   )r<  r(  rÉ   rL   r)  r˜  r   rm  rQ   rW  r)   r{   rL  rM  Ú	op_resultr(   rh   s                    r   Útest_category_order_reducerr   v  s  € ð ˜Ò#©H¸ÀxÒ9OØTˆØ×ÑœFŸK™K×-Ñ-°SÐ-Ó9Õ:Ø	�wÒ	¡xÜ�‰ÐLÕMÜ	äš\²lÈGÔTÜ�q“ñ	
ó
€Bð �WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆÜ" >°2Ó6€DØ	�‰�D 8°$ÀˆÓ	J€Bá˜Ð*>Ñ>ä�]‰]ÜÐHô
ñ 	/ð (ŒG�B˜Ó'¨Ñ.÷	/ð 	Ø˜Ò#ÜˆØ<‰àˆØˆÜ	×	#Ñ	# D°Ô	9ñ 7Ø/”G˜B Ó/°Ð6ˆ	÷7áØ—‘×1Ñ1°#Ó6×AÑA‰à˜3‘×#Ñ#×.Ñ.ˆÜ’\Ó"€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð ÷)	/ð 	ú÷7ð 7ús   Ä
H
ÅHÈ
HÈHr™  rš  c                 ó<  — t        t        g d¢g d¢|¬«      t        d«      dœ«      }|dk(  rdg}|j                  |«      }n"|dk(  rdd	g}|d   |d	<   |j                  |«      }t	        ||«      }|j                  | ||¬
«      }	 t        |	|«      |Ž }
|
j                  j                  d«      j                  }t        g d¢«      }t        j                  ||«       |dk(  r<|
j                  j                  d	«      j                  }t        j                  ||«       y y )Nr�  rž  r   rF   r^   r™  r   rš  rO  rT  )r   r   rë   r  r   rN   r¸  r!   rØ   r   r   rd   rÖ   )r(  rÉ   rL   Útransformation_funcr˜  r   rQ   rW  r)   r{   rŸ  r(   rh   s                r   Útest_category_order_transformerr£  ®  s  € ô 
äš\²lÈGÔTÜ�q“ñ	
ó
€Bð �XÒØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆÜ"Ð#6¸Ó;€DØ	�‰�D 8°$ÀˆÓ	J€BØ0”˜Ð/Ó0°$Ð7€IØ�_‰_×-Ñ-¨cÓ2×=Ñ=€FÜ’\Ó"€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð r   ÚmethodÚheadÚtailc                 óx  — t        t        g d¢g d¢|¬«      t        d«      dœ«      }|dk(  rdg}n<|dk(  rdg}|j                  |«      }n"|d	k(  rdd
g}|d   |d
<   |j                  |«      }|j	                  | ||¬«      } t        ||«      «       }	|dk(  r|	d   j                  j                  }
n%|	j                  j                  d«      j                  }
t        g d¢«      }t        j                  |
|«       |d	k(  r<|	j                  j                  d
«      j                  }
t        j                  |
|«       y y )Nr�  rž  r   rF   r^   rë   r   r™  rš  rO  rT  )r   r   rë   r  rN   r¸  r  r   r!   rØ   r   rd   rÖ   ©r(  rÉ   rL   r¤  r˜  r   rQ   rW  r{   rŸ  r(   rh   s               r   Útest_category_order_head_tailr©  Í  s/  € ô 
äš\²lÈGÔTÜ�q“ñ	
ó
€Bð �WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆØ	�‰�D 8°$ÀˆÓ	J€BØ#”˜˜FÓ#Ó%€IØ�WÒØ˜3‘×#Ñ#×.Ñ.‰à—‘×1Ñ1°#Ó6×AÑAˆÜ’\Ó"€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð r   )rP   r  r�   c                 óÖ  — |dk(  r|dk(  s| s|dk7  rt        j                  d«       t        t        g d¢g d¢|¬«      t	        d«      dœ«      }|dk(  rd	g}n<|d
k(  rd	g}|j                  |«      }n"|dk(  rd	dg}|d	   |d<   |j                  |«      }|j                  | ||¬«      } t        ||«      d„ «      }	|dk(  s| s|dk(  r|	d	   j                  j                  }
n%|	j                  j                  d	«      j                  }
t        g d¢«      }t        j                  |
|«       |dk(  r<|	j                  j                  d«      j                  }
t        j                  |
|«       y y )Nr�   rë   z(No categories in result, nothing to testr�  rž  r   rF   r^   r   r™  rš  rO  rT  c                 ó&   — | j                  d¬«      S )NTrw   )rC   r…   s    r   r‡   z+test_category_order_apply.<locals>.<lambda>
  s   € ¨a¯e©eÀ¨eÓ.F€ r   )rj  r'  r   r   rë   r  rN   r¸  r  r   r!   rØ   r   rd   rÖ   r¨  s               r   Útest_category_order_applyr¬  ñ  sa  € ð
 	�+Ò *°Ò"7Ù˜ wÒ.ä�‰Ð>Ô?Ü	äš\²lÈGÔTÜ�q“ñ	
ó
€Bð �WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆØ	�‰�D 8°$ÀˆÓ	J€BØ#”˜˜FÓ#Ñ$FÓG€IØ�+Ò¡X°:ÀÒ3HØ˜3‘×#Ñ#×.Ñ.‰à—‘×1Ñ1°#Ó6×AÑAˆÜ’\Ó"€HÜ×Ñ˜& (Ô+à�WÒØ—‘×1Ñ1°$Ó7×BÑBˆÜ
×Ñ˜f hÕ/ð r   c                 ó  — |dk7  r| st        j                  d¬«       t        j                  ddd«      }t	        g d¢||¬«      }t        |t        d«      d	œ«      }|dk(  rd
g}n<|dk(  rd
g}|j                  |«      }n"|dk(  rd
dg}|d
   |d<   |j                  |«      }|j                  | |d¬«      }|j                  «       }	|rg d¢ng d¢}
t        |
|j                  |d
¬«      }| rAt        d|
i«      }|dk(  r't        j                  t        ||dœ«      «      |_        nF||_        n>|dk(  r"t        t        |«      t        |«      |
dœ«      }nt        t        |«      |
d	œ«      }t!        j"                  |	|«       y )Nrë   rœ  r.  i'  rt  r�  r   rF   r^   r   r™  rš  rO  TrT  )r\   r[   r<   )r[   r<   r\   )r   r   ra   rV   )r   rO  )r   rO  rV   )rj  r'  r   r   r   r   rë   r  rN   rC   r   r   r	   Ú
from_framer!   r
   rd   re   )r(  rÉ   r˜  r   r   ÚgrouperrQ   rW  r{   r(   rf   r!   rh   s                r   Útest_many_categoriesr°    sn  € ð �WÒ¡XÜ�‰ÐLÕMÜ—‘˜4  RÓ(€JÜš,°:ÀwÔO€GÜ	˜¤u¨Q£xÑ0Ó	1€BØ�WÒØˆu‰Ø	�xÒ	ØˆuˆØ�\‰\˜$Ó‰Ø	�wÒ	Ø�Tˆ{ˆØ�c‘7ˆˆ4‰Ø�\‰\˜$ÓˆØ	�‰�D 8°$ÀˆÓ	F€BØ�V‰V‹X€Fñ ‹9¢)€DäØ˜×+Ñ+°WÀ3ô€Eñ Ü˜c 4˜[Ó)ˆØ˜Ò Ü'×2Ñ2´9À5ÐPUÑ=VÓ3WÓXˆH�Nà"ˆH�NØ	�wÒ	Ü¤6¨%£=¼¸u»ÈDÑQÓR‰ä¤6¨%£=°tÑ<Ó=ˆä×Ñ˜& (Õ+r   rW  Úa1c                 óˆ  — |r-|dk(  r(t        t        d«      rJ ‚t        j                  d«       n6|dk(  r1d}| j	                  t        j
                  j                  |¬«      «       t        g d¢g d¢g d¢dœ«      }|j                  d	d	d
œ«      }d|vr|j                  d¬«      }|j                  |||¬«      }|r|d   }t        ||«      }	|sD|dv r@|ddgk(  r9t        j                  t        d¬«      5   |j                  |gg|	¢­Ž  d d d «       y  |j                  |gg|	¢­Ž }
 t        ||«      |	Ž }|r|s|dk(  r|j!                  |«      }|s>t#        j$                  |j&                  d d D �cg c]  }|df‘Œ c}d|fgz   «      |_        n|sg |¢|‘|_        t)        j*                  |
|«       y # 1 sw Y   y xY wc c}w )Nr0   z*corrwith not implemented for SeriesGroupByz1GH#32293: attempts to call SeriesGroupBy.corrwithr.  )r   r   r<   )r[   r\   r\   rN  )r±  rO  rV   r<  )r±  rO  rO  r�   r­  rV   r%  r±  r&  rˆ  r?   rt  r	  )r(  r   rj  r'  r7  r5  r6  r   r�   rU  rN   r   rŠ  r‹  r  r¸  ro  r	   Úfrom_tuplesr%   rd   rV  )r<  r(  rL   r)  rP  rW  rm  rQ   r{   r)   r(   rh   Úinds                r   Útest_agg_listrµ  ?  sÍ  € ñ �~¨Ò3Üœ=¨*Ô5Ð5Ð5Ü�‰Ð@ÕAØ	˜:Ò	%ØAˆØ×ÑœFŸK™K×-Ñ-°SÐ-Ó9Ô:ä	š)ª9º9ÑEÓ	F€BØ	�‰˜*¨JÑ7Ó	8€BØ�4ÑØ�W‰W˜TˆWÓ"ˆØ	�‰�t h¸ˆÓ	B€BÙØ�‰WˆÜ" >°2Ó6€Dá˜Ð*>Ñ>À4ÈDÐRVÈ<ÒCWÜ�]‰]ÜÐHô
ñ 	,ð ˆB�F‰F�NÐ#Ð+ dÓ+÷	,ð 	àˆR�V‰V�^Ð$Ð, tÒ,€FØ*Œw�r˜>Ó*¨DÐ1€Há‘[ N°fÒ$<Ø×$Ñ$ ^Ó4ˆÙÜ%×1Ñ1Ø"*×"2Ñ"2°3°BÐ"7Ö8˜3ˆc�2ŠYÒ8¸SÀ.Ð<QÐ;RÑRó
ˆÕñ Ø2˜TÐ2 >Ð2ˆÔä‡O�O�F˜HÕ%÷%	,ð 	üò 9s   Ã4F3Å1F?Æ3F<c           
      óÌ  — t        t        d«      t        ddddt        j                  gg d¢d¬«      g d¢dœ«      }|j                  d	d
g| |¬«      }|j                  «       }|r| rg d¢}n|s| rg d¢}n|r| sg d¢}n|s| sg d¢}t        t        d«      t        g d¢g d¢d¬«      g d¢dœ«      j                  d	d
g«      j                  «      }t        j                  ||«       y )NÚYXXYYr[   r<   r@  Tr   )r<   r[   r\   rF   r]   )ÚdatesÚsectorÚmetricr¸  r¹  rf  ru  )r\   r   r<   r[   )r   r<   rF   r[   r\   r]   )r\   r   r<   r[   r]   rF   ÚXXYYXY)r<   r[   r<   r[   r\   r\   )r[   r\   rF   r<   r   r   )r   rb   r   r   rc   rN   rC   r  rÔ   rd   re   )rL   rÉ   rQ   r{   r(   Útakerrh   s          r   Ú'test_categorical_with_noncategorical_nar½  i  sâ   € ä	ä˜'“]Ü!Ø�A�q˜!œRŸV™VÐ$²ÀDôò &ñ	
ó
€Bð 
�‰�W˜hÐ'°(ÀˆÓ	F€Bà�V‰V‹X€Fá‘Ú‰Ù‘hÚ‰Ù	‘hÚ"‰Ù™(Ú"ˆää˜h›Ü%Ú&²9Àdôò -ñó	
÷ 
‰�G˜XÐ&Ó	'ß	‰ˆe‹ð ô ×Ñ˜& (Õ+r   )ur   Únumpyr   rj  Úpandas.errorsr   Úpandasr¬   r   r   r   r   r	   r
   r   Úpandas._testingÚ_testingrd   Úpandas.api.typingr   Úpandas.tests.groupbyr   rc   r,   r9  rS   ri   r}   r“   rµ   rº   r¿   râ   rí   rú   r5  Úparametrizer  r
  r  r  r-  r6  r=  rF  rL  rZ  r\  r_  rc  rn  rr  rx  r{  r†  r�  rë   Úrenamer’  rŸ  r¦  r¨  r±  r»  r½  rÀ  rÆ  rÒ  rÛ  rÞ  ræ  rè  rï  rø   rò  ÚNaTrö  Úfixturerù  r  r  r"   r  r  r  r  r,  r?  rN  rR  rU  r:   r/   rX  r[  r`  rd  rk  rp  rw  r�  rŒ   Úboolr†  rˆ  rŒ  rŽ  r�  r•  r—  r   r£  r©  r¬  r°  rµ  r½  r„   r   r   ú<module>rÊ     sÇ
  ðÝ ã Û å (ã ÷÷ ñ õ Ý +Ý 8ð DFÇ6Á6ó Eð21ð 
ˆ4ð1ð 
ˆ5ð1ð ˆQð1ð �—‘ð1ð ˆR�V‰Vð1ð ˆb�f‰fð1ð ˆb�f‰fð1ð ˆB�F‰Fð1ð 
ˆ2�6‰6ð1ð  ˆB�F‰Fð!1ð" ˆb�f‰fð#1ð$ 
ˆ2�6‰6ð%1ð& 
ˆ2�6‰6ð'1ð( ˆqð)1ð* ˆAð+1ð, �—‘ð-1ð. 
ˆ2�6‰6ð/1ð0 Ø�F‰FØ�F‰FØ�6‰6ØØ�6‰6ò;1Ð -òB(ò,ò	,ò,ò6LòBò&	-ò"NòJ,ò4-ð, ‡�×Ñ˜ T¨5 MÓ2ñ-ó 3ð-ò>),òX,ò6!0òH,ò&,ò(Eò*+ò*+ð" ‡�×ÑØ2à	ŠjÑ*ª9¸3Ô?Ð@à�#ˆJÚ'Ùši¨cÔ2±Eº)Ó4DÐEð	
ð �$ˆKÚ(á ¢°Ô5Ù ¢°Ô5ðð	
ðóð& ‡�×Ñ˜¨¨u¨Ó6ñ&ó 7ó'ð(&òD+ò*-ò,ð( ‡�×Ñ˜ T¨5 MÓ2ñó 3ðò@$PòN,ò2Lò-ò&$ð ‡�×ÑØˆvÐñ 
‘�a“Ó	 ! Q ¨q°!¨fÑ5Ð6ñ 
‘�a“Ó	×	 Ñ	 Ñ!4Ó	5¸a¸SÈÈ1ÀvÑ7NÐOá	‘�a“Ó	 ! Q ¨q°!¨fÑ5Ð6ðóñ-óð-ò<0ò~ò"ð  ‡�×Ñ˜  t Ó-ñ-ó .ð-ð< ‡�×ÑØà	�8˜WÐ%Ð&Ø	�(˜GÐ$Ð%Ø	�˜7Ð#Ð$Ø	�˜7Ð#Ð$ð	óñ-óð-ò&(ò2-ò-ò%ð, ‡�×Ñ˜ T¨5 MÓ2ñ,ó 3ð,ðD ‡�×Ñ˜ T¨5 MÓ2ñ/,ó 3ð/,òd-ò8-ò0,ð2 ‡�×ÑØð ÙØ,�j×,Ñ,ÙšI¨ZÔ8º)ÐDÈSÐRUÈJôò Øôð		
ð Ùá¢	°Ô<Ú"Ú"ñóð		
ðóñ2&ó3ð2&ð ‡�×Ñ˜¨¨b¯f©f°b·f±fÐ'=Ó>ñ#ó ?ð#ð ‡�ñó ðð0 ‡�×Ñ˜ u¨gÐ&6Ó7ñ
-ó 8ð
-ð ‡�×Ñ˜ u¨gÐ&6Ó7Ø‡�×Ñ˜ e¨T ]Ó3ñ-ó 4ó 8ð-ð" ‡�×ÑØð Ø"ˆJ×"Ñ"á˜5˜' A™+¨¨°!©Ñ3¸:ÈCÔPÙÚTØ(Ø ôñ
 ˜5 %˜.¨1Ñ,Ó-ðó
ò %ð	
ð  Ø#ˆJ×#Ñ#á$ e¨U ^¸UÔCÙ$Ò%<ÀeÔLÙ˜5 %˜.Ó)ðò
 'ôð ��1�a˜Ÿ™ §¡¨¨A¨r¯v©v°r·v±v¸qÀ!ÐDð	
ð Ø#ˆJ×#Ñ#á$ e¨U ^¸UÔCÙ$Ò%<ÀeÔLÙ˜5 %˜.Ó)ðò
 'ôð ��1�a˜Ÿ™ §¡¨¨A¨r¯v©v°r·v±v¸qÀ!ÐDð	
ð9(ó+ñX-óY+ðX-ò-ò,ò"Yò#*òL44òn$ðB ‡�×Ñ˜ e¨T ]Ó3ñ0Bó 4ð0Bòf	-ð ‡�×ÑØØ‡n�n’iÐ  6§<¡<²Ð";Ð<óñ,ó	ð,ò",ð ‡�×Ñ˜ '¨6Ð!2Ó3ñ-ó 4ð-ò	,ò*,òZ,ò,,ò6.,ðb ‡�×Ñ˜ '¨6Ð!2Ó3ð-Ø
ð-Øò-ó 4ð-ð0 ‡�×Ñ˜ '¨6Ð!2Ó3ð,Ø
ð,Øò,ó 4ð,ò0@ð( ‡�×Ñ˜ '¨6Ð!2Ó3ñ-ó 4ð-ò-ò-ò$,ð" ‡�×Ñ˜Ò'CÓDØ‡�×Ñ˜ T¨5 MÓ2ñ30ó 3ó Eð30ðl ‡�×Ñ˜¨°'Ð':Ó;Ø‡�×Ñ˜ T¨5 MÓ2ñ0ó 3ó <ð0ð: ‡�×Ñ˜Ò'CÓDØ‡�×Ñ˜ F¨FÐ#3Ó4Ø‡�×Ñ˜ T¨5 MÓ2ñ0ó 3ó 5ó Eð0ðB ‡�×Ñ˜Ò'CÓDØ‡�×Ñ˜Ò#@ÓAØ‡�×Ñ˜ T¨5 MÓ2ñ 0ó 3ó Bó Eð 0ðF ‡�×Ñ˜Ò'CÓDñ$,ó Eð$,ðN ‡�×Ñ˜¨¨u¨Ó6Ø‡�×Ñ˜ 4 &¨4°¨,Ð!7Ó8ñ%&ó 9ó 7ð%&óP$,r   