Ë
    ìmxi/g ã                   óŒ   — d dl mZ d dlZd dlZd dlmZmZ d dlZd dlZd dl	Z	d dl
Z
d dlZd dlZd dlZd dlZ	 d dlZ	 d dlZd dlZd dlmZ d dlmZmZ 	 d dlmZ  eej@                  jC                  «       «      D � �cg c]  \  } } e"|d«      r|‘Œ c}} Z# eej@                  jC                  «       «      D � �cg c]1  \  } } e$|e%«      r#|ejL                  ur e'|ejL                  «      r|‘Œ3 c}} Z( ejR                  «        ejT                  «        ejV                  «        ejX                  «        ejZ                  «        ej\                  «        ej^                  «        ej`                  «       gZ1dg d¢fd e2d	«      fd
 e2d	«      fd e2d	«      fd e2d	«      fd e2d	«      fd e2d	«      fd e2d	d«      fd e2d	d«      fdg d¢fdg d¢fdg d¢fdg d¢f ejf                  d«      g d¢f ejh                   ejR                  «       «      ddgddgd	dgddd ggf ejj                   ejT                  «       «      dgg d!¢d	dgddd ggf ejl                  d" ejR                  «       fd# ejR                  «       fg«      ddd$œdddd$œdd	dd$œgfgZ7d%„ Z8d&„ Z9d'„ Z:ejv                  jy                  d(«      d)„ «       Z=d*„ Z>	 �dd+„Z?d,„ Z@d-„ ZAd.„ ZBd/„ ZCejv                  j                  d0„ «       ZDd1„ ZEd2„ ZFd3„ ZGd4„ ZHejv                  j“                  d5e1«      d6„ «       ZJejv                  j“                  d5 ej–                  dd«       ej˜                  dd«      g«      d7„ «       ZMejv                  j“                  d5e1«      d8„ «       ZNejv                  j“                  d5 ej–                  dd«       ej˜                  dd«      g«      d9„ «       ZOd:„ ZPd;„ ZQd<„ ZRd=„ ZSd>„ ZTd?„ ZUejv                  j“                  d@g dA¢ ej¬                  dB«       ej¬                  dC«      dDœfg dE¢ ej¬                  dF«      ddDœfddGgdddDœff«      dH„ «       ZWdI„ ZXdJ„ ZYdK„ ZZdL„ Z[dM„ Z\dN„ Z]dO„ Z^dP„ Z_dQ„ Z`dR„ ZadS„ ZbdT„ ZcdU„ ZddV„ ZedW„ ZfdX„ ZgdY„ ZhdZ„ Zid[„ Zj e«       d\„ «       Zkd]d^hZlh d_£Zmh d`£Znh da£Zoh db£Zneneoz  elz  eleoenemdcœZpejv                  j“                  ddg de¢«      ejv                  j“                  dfdgdhg«      di„ «       «       Zqdj„ Zrdk„ Zsejv                  j$                  dl„ «       Ztdm„ Zudn„ Zvdo„ Zwdp„ Zxdq„ Zydr„ Zzejv                  j“                  dse7«      dt„ «       Z{du„ Z|dv„ Z}ejv                  j“                  dwdxdyg«      dz„ «       Z~d{„ Zejv                  j“                  dse7«      d|„ «       Z€d}„ Z�d~„ Z‚d„ Zƒd€„ Z„ejv                  j“                  dse7«      d�„ «       Z…ejv                  j                  ejv                  j“                  dse7«      d‚„ «       «       Z†dƒ„ Z‡d„„ Zˆd…„ Z‰d†„ ZŠd‡„ Z‹dˆ„ ZŒd‰„ Z�ejv                  j“                  dŠd‹dŒg«      d�„ «       ZŽejv                  j“                  dŠd‹dŒg«      dŽ„ «       Z�ejv                  j“                  dŠd‹dŒg«      d�„ «       Z�d�„ Z‘d‘„ Z’d’„ Z“d“„ Z”ejv                  j“                  d”d•d–g«      d—„ «       Z•ejv                  j                  d˜„ «       Z–ejv                  j                  d™„ «       Z—dš„ Z˜d›„ Z™dœ„ Zšd�„ Z›ejv                  j“                  d5e1«      dž„ «       Zœejv                  j“                  d5e1«      dŸ„ «       Z�d „ Zžd¡„ ZŸd¢„ Z d£„ Z¡ejv                  j“                  d¤ e�jD                  «        e�jF                  «       g«      d¥„ «       Z¤ejv                  j“                  d¤e1«      d¦„ «       Z¥ ed§d¨«      Z¦ ed©dª«      Z§ e¦d«e�jP                  d«       e¦d¬e�jR                  d­«       e¦d®ej–                  d¯«       e¦d°ej˜                  d±«      gZªd²„ Z«d³„ Z¬d´„ Z­dµ„ Z®d¶„ Z¯d·„ Z°ejv                  j                  ejv                  j“                  d¸ ej`                  «       ge±¬¹«      ejv                  j“                  dºeªd»„ ¬¹«      ejv                  j“                  d¼e­e®e¯gg d½¢¬¹«      d¾„ «       «       «       «       Z²ejv                  j                  ejv                  j“                  d¸ ej^                  «        ej`                  «       ge±¬¹«      ejv                  j“                  d¿eªdÀ„ ¬¹«      dÁ„ «       «       «       Z³dÂ„ Z´ejv                  j$                  ejv                  �jj                  dÃ„ «       «       Z¶�ddÄ„Z·ejv                  j$                  dÅ„ «       Z¸dÆ„ Z¹ejv                  j“                  dÇg dÈ¢«      dÉ„ «       Zºejv                  j$                  ejv                  �jj                  dÊ„ «       «       Z»dË„ Z¼ejv                  �jj                  ejv                  j“                  dÇdÌ«      ejv                  j$                  dÍ„ «       «       «       Z½dÎ„ Z¾dÏ„ Z¿dÐ„ ZÀdÑ„ ZÁdÒ„ ZÂdÓ„ ZÃdÔ„ ZÄdÕ„ ZÅdÖ„ ZÆd×„ ZÇdØ„ ZÈdÙ„ ZÉdÚ„ ZÊdÛ„ ZËdÜ„ ZÌdÝ„ ZÍejv                  j                  ejv                  j“                  dÞdß«      ejv                  j“                  dàdá«      dâ„ «       «       «       ZÎejv                  j                  ejv                  j“                  dÞdß«      ejv                  j“                  dàdá«      dã„ «       «       «       ZÏejv                  j                  ejv                  j“                  dÞdä«      ejv                  j“                  dàdá«      då„ «       «       «       ZÐejv                  j                  ejv                  j“                  dÞdä«      ejv                  j“                  dàdá«      dæ„ «       «       «       ZÑdç„ ZÒdè„ ZÓdé„ ZÔdê„ ZÕdë„ ZÖdì„ Z×dí„ ZØdî„ ZÙdï„ ZÚejv                  j“                  dðdñg dò¢fdóg dô¢fdõg dö¢fd÷g dø¢fg«      dù„ «       ZÛdú„ ZÜdû„ ZÝdü„ ZÞdý„ Zßejv                  j                  dþ„ «       Zàejv                  j                  ejv                  j:                  dÿ„ «       «       Zá�d „ Zâ�d„ Zã�d„ Zä�d„ Zåejv                  j“                  �dd dg �d¢g �d¢g �d¢dgfd ddgdgdgdgfd dddgdd	gddgdgfdddgd	gdgdgfddddgddgddgdgff«      ejv                  j“                  �d�d	«      ejv                  j“                  d¤e�jÌ                  ejT                  ej`                  f«      ejv                  j“                  �d
ejh                  ejj                  �df«      �d„ «       «       «       «       Zçejv                  j“                  �d�d«      ejv                  j“                  �d�d	«      ejv                  j“                  d¤e�jÌ                  ejT                  ej`                  f«      ejv                  j“                  �d
ejh                  ejj                  �df«      �d„ «       «       «       «       Zèejv                  j“                  �d�d«      ejv                  j“                  �d�d„ �d„ �d„ f«      �d„ «       «       Zé�d„ Zê�d�d„Zëejv                  j“                  d¤ ejR                  «        ejT                  «        e�jØ                  «        ejV                  «        e�jÚ                  «        ej^                  «        ej`                  «        e�jP                  dd «       e�jR                  dd «       ej–                  dd «       ej˜                  dd «      f«      ejv                  j“                  �dd e�jÜ                   ejT                  «       «       e�jÜ                  d«       e�jÜ                   ejV                  «       «      f«      �d„ «       «       Zï�d„ Zð�d„ Zñ�d„ Zòy# e$ r dZY �ŒÞw xY w# e$ r dZY �Œçw xY w# e$ r dZY �ŒÜw xY wc c}} w c c}} w (   é    )Ú
namedtupleN)Ú	lru_cacheÚpartial)ÚArrowNotImplementedErrorÚArrowIndexErrorÚ__arrow_compute_function__Úbool)TFFTTÚuint8é   Úint8Úuint16Úint16Úuint32Úint32Úuint64é
   Úint64Úfloat)r   çš™™™™™¹?çš™™™™™É?ç333333Ó?çš™™™™™Ù?ÚdoubleÚstring)ÚaÚbNÚdddÚeeÚbinary)ó   aó   bó   cs   ddds   eeé   )s   abcs   bcds   cdes   defs   efgé   é   é   é   é	   é   )r%   r#   r&   r   r   ©r   r   c                  ó,  — t         } t        | «      dk\  sJ ‚| D ]m  }|j                  }|d   rŒ|d   }|dk(  rŒ |t        u rt	        «       gdz  }nt	        «       g|z  }t        j                  t        d¬«      5   ||Ž  d d d «       Œo y # 1 sw Y   ŒzxY w)Nr   Úoptions_requiredÚarityr   r#   zBGot unexpected argument type <class 'object'> for compute function©Úmatch)Úexported_functionsÚlenr   ÚEllipsisÚobjectÚpytestÚraisesÚ	TypeError)Ú	functionsÚfuncÚdescr-   Úargss        úQ/home/htdocs/ttos/venv/lib/python3.12/site-packages/pyarrow/tests/test_compute.pyÚtest_exported_functionsr<   ^   s±   € ô
 #€IÜˆy‹>˜RÒÐÐØò ˆØ×.Ñ.ˆØÐ"Ò#ð Ø�W‘ˆØ�AŠ:ØØ”HÑÜ“H�: ‘>‰Dä“H�: Ñ%ˆDÜ�]‰]œ9ð"IôJñ 	ñ �$‰K÷	ð 	ñ÷	ð 	ús   Á9B
Â
B	c                  ó€   — t         D ]5  } t        j                  | j                  d   «      }|j                  dk7  rŒ5J ‚ y )NÚnameÚhash_aggregate)r0   ÚpcÚget_functionr   Úkind)r8   Úarrow_fs     r;   Ú test_hash_aggregate_not_exportedrD   x   s?   € ô #ò 0ˆÜ—/‘/ $×"AÑ"AÀ&Ñ"IÓJˆØ�|‰|Ð/Ó/Ð/Ð/ñ0ó    c                  óò   — t         } t        | «      dk\  sJ ‚| D ]\  }t        j                  |«      }|j                  j                  «       D ](  }|j                  |j                  |j                  fvrŒ(J ‚ Œ^ y )Nr   )	Úexported_option_classesr1   ÚinspectÚ	signatureÚ
parametersÚvaluesrB   ÚVAR_POSITIONALÚVAR_KEYWORD)ÚclassesÚclsÚsigÚparams       r;   Útest_exported_option_classesrR   €   s‚   € Ü%€GÜˆw‹<˜2ÒÐÐØò 9ˆô ×Ñ Ó$ˆØ—^‘^×*Ñ*Ó,ò 	9ˆEØ—:‘: e×&:Ñ&:Ø&+×&7Ñ&7ð&9ò 9ð 9ð 9ñ	9ñ	9rE   z<ignore:pyarrow.CumulativeSumOptions is deprecated as of 14.0c           
      ó|  — g t        j                  «       ‘t        j                  d«      ‘t         j                  j	                  t        j                  «       «      ‘t        j                  d d¬«      ‘t        j                  «       ‘t        j                  dd¬«      ‘t        j                  «       ‘t        j                  «       ‘t        j                  d¬«      ‘t        j                  d«      ‘t        j                  d«      ‘t        j                  «       ‘t        j                   t        j"                  d	«      «      ‘t        j$                  «       ‘t        j&                  dd
d	d«      ‘t        j(                  d¬«      ‘t        j*                  ddgddgt        j,                  ddi«      t        j,                  ddi«      g¬«      ‘t        j.                  t        j"                  d	«      d«      ‘t        j0                  d«      ‘t        j2                  «       ‘t        j4                  «       ‘t        j6                  d«      ‘t        j8                  d	¬«      ‘t        j:                  d	d¬«      ‘t        j<                  dgd¬«      ‘t        j>                  «       ‘t        j@                  «       ‘t        jB                  ddd¬«      ‘t        jD                  dd¬«      ‘t        jF                  dd	d«      ‘t        jH                  dd«      ‘t        jJ                  dd «      ‘t        jL                  d «      ‘t        jN                  d	d!d¬"«      ‘t        jP                  d#d «      ‘t        jR                  «       ‘t        jT                  dd$g¬%«      ‘t        jV                  t        jX                  d	g«      «      ‘t        jZ                  d¬&«      ‘t        j\                  dd	d	«      ‘t        j^                  d'gd¬«      ‘t        j`                  «       ‘t        jb                  d«      ‘t        jd                  «       ‘t        jf                  d(d)d«      ‘t        jh                  g ¬*«      ‘t        jj                  «       ‘t        jl                  «       ‘t        jn                  d+«      ‘t        jp                  d,«      ‘t        jr                  «       ‘t        jt                  d-d.«      ‘t        jv                  ddd¬/«      ‘t        jx                  d0d1«      ‘}| jz                  j|                  j~                  d2   r$|j�                  t        j                  d3«      «       |D �ch c]  }tƒ        |«      ’Œ }}t„        D ]V  }||vsŒ| jz                  j|                  j~                  d2   sŒ,|t         j                  k7  sŒ@	 |j�                   |«       «       ŒX |D ]¿  }||k(  sJ ‚t�        |«      j�                  |j�                  j’                  «      sJ ‚|j•                  «       }t         j–                  j™                  |«      }||k(  sJ ‚t�        |«      j�                  d5«      rt�        |«      j�                  d6«      rŒ¥J ‚t�        |«      t�        |«      k(  rŒ¿J ‚ t›        ||d	d  «      D ]  \  }}||k7  rŒJ ‚ t�        t        j                   t        j"                  d	«      «      «      d7k(  sJ ‚t�        t        j                  «       «      d8k(  sJ ‚y c c}w # t†        $ r t‰        jŠ                  d4|› �«       Y �Œ½w xY w)9NÚUTCF©ÚstartÚ
skip_nullsr   ©Úcount_from_zeroÚ
week_startT©rW   Úpatternr$   éÿÿÿÿ)Ú	recursiveÚfieldÚnamesr   Ú1r   Ú2)Úfield_nullabilityÚfield_metadataÚfirstr   ©ÚperiodÚat_start©Únull_placementÚheightÚraise)Úunexpected_key_behaviorÚ	ascendingÚmax©Ú	sort_keysrj   Ú
tiebreaker©rq   rj   r%   Útowards_infinityÚsecond)Úweek_starts_mondayéd   ©r   rn   ©rq   ©Ú	min_count©ÚdummyÚ
descendingú%YÚs©Úindicesú ÚNFKCçš™™™™™©?çÍÌÌÌÌÌì?©rv   rY   Úfirst_week_is_fully_in_yearr&   Ú0Útimezone_dataúEurope/LjubljanazOptions class is not tested: ÚCumulativeSumOptionsÚCumulativeOptionszIndexOptions(value=int64:1)z7ArraySortOptions(order=Ascending, null_placement=AtEnd))Nr@   ÚArraySortOptionsÚAssumeTimezoneOptionsÚCastOptionsÚsafeÚpar   r�   ÚCountOptionsÚDayOfWeekOptionsÚDictionaryEncodeOptionsÚRunEndEncodeOptionsÚElementWiseAggregateOptionsÚExtractRegexOptionsÚExtractRegexSpanOptionsÚFilterOptionsÚIndexOptionsÚscalarÚJoinOptionsÚListSliceOptionsÚListFlattenOptionsÚMakeStructOptionsÚKeyValueMetadataÚMapLookupOptionsÚMatchSubstringOptionsÚModeOptionsÚNullOptionsÚ
PadOptionsÚPairwiseOptionsÚPartitionNthOptionsÚPivotWiderOptionsÚQuantileOptionsÚRandomOptionsÚRankOptionsÚRankQuantileOptionsÚReplaceSliceOptionsÚReplaceSubstringOptionsÚRoundOptionsÚRoundBinaryOptionsÚRoundTemporalOptionsÚRoundToMultipleOptionsÚScalarAggregateOptionsÚSelectKOptionsÚSetLookupOptionsÚarrayÚSkewOptionsÚSliceOptionsÚSortOptionsÚSplitOptionsÚSplitPatternOptionsÚStrftimeOptionsÚStrptimeOptionsÚStructFieldOptionsÚTakeOptionsÚTDigestOptionsÚTrimOptionsÚUtf8NormalizeOptionsÚVarianceOptionsÚWinsorizeOptionsÚWeekOptionsÚZeroFillOptionsÚconfigÚpyarrowÚ
is_enabledÚappendÚtyperG   r6   r4   ÚfailÚreprÚ
startswithÚ	__class__Ú__name__Ú	serializeÚFunctionOptionsÚdeserializeÚzip)	ÚrequestÚoptionsÚoptionrN   rO   ÚbufÚdeserializedÚoption1Úoption2s	            r;   Útest_option_class_equalityrÝ   Œ   s  € ð=Ü
×ÑÓð=ä
× Ñ  Ó'ð=ô 	�‰×ÑœBŸG™G›IÓ&ð=ô 	×Ñ 4°EÔ:ð	=ô
 	�‰Óð=ô 	×Ñ¨E¸aÔ@ð=ô 	×"Ñ"Ó$ð=ô 	×ÑÓ ð=ô 	×&Ñ&°$Ô7ð=ô 	×Ñ˜yÓ)ð=ô 	×"Ñ" 9Ó-ð=ô 	×ÑÓð=ô 	�‰œŸ	™	 !›Ó%ð=ô 	�‰Óð=ô 	×Ñ˜A˜r 1 dÓ+ð=ô  	×Ñ¨Ô.ð!=ô" 	×Ñ˜g wÐ/Ø04°d¨|Ü-/×-@Ñ-@À#ÀsÀÓ-LÜ-/×-@Ñ-@À#ÀsÀÓ-Lð-Nô	Oð#=ô* 	×ÑœBŸI™I a›L¨'Ó2ð+=ô, 	× Ñ  Ó+ð-=ô. 	�‰Óð/=ô0 	�‰Óð1=ô2 	�‰�aÓð3=ô4 	×Ñ !Ô$ð5=ô6 	×Ñ˜q°Ô<ð7=ô8 	×Ñ˜h˜ZÀÔIð9=ô: 	×ÑÓð;=ô< 	×ÑÓð==ô> 	�‰ Ø&0¸Uô	Dð?=ôB 	×Ñ¨Ø.8ô	:ðC=ôF 	×Ñ˜q ! SÓ)ðG=ôH 	×"Ñ" 3¨Ó,ðI=ôJ 	�‰˜Ð-Ó.ðK=ôL 	×ÑÐ0Ó1ðM=ôN 	×Ñ  8ÀÔEðO=ôP 	×!Ñ! #Ð'9Ó:ðQ=ôR 	×!Ñ!Ó#ðS=ôT 	×Ñ˜!Ð(:Ð';Ô<ðU=ôV 	×ÑœBŸH™H a S›MÓ*ðW=ôX 	�‰ Ô#ðY=ôZ 	�‰˜˜1˜aÓ ð[=ô\ 	�‰Ð/Ð0ÀÔLð]=ô^ 	�‰Óð_=ô` 	×Ñ˜yÓ)ða=ôb 	×ÑÓðc=ôd 	×Ñ˜4  dÓ+ðe=ôf 	×Ñ bÔ)ðg=ôh 	�‰Óði=ôj 	×ÑÓðk=ôl 	�‰�sÓðm=ôn 	×Ñ Ó'ðo=ôp 	×ÑÓðq=ôr 	×Ñ˜D #Ó&ðs=ôt 	�‰¨$ÀØ38ô	:ðu=ôx 	×Ñ˜1˜cÓ"ðy=€Gð~ ‡~�~×Ñ×(Ñ(¨Ò9Ø�‰”r×/Ñ/Ð0BÓCÔDà*1Ö2 Œt�F�|Ð2€GÐ2ä&ò 
Cˆð �wÒØ—‘×'Ñ'×2Ñ2°?ÓCØ”r×/Ñ/Ó/ðCØ—‘™s›uÕ%ð
Cð ò 6ˆØ˜ÒÐÐÜ�F‹|×&Ñ& v×'7Ñ'7×'@Ñ'@ÔAÐAÐAØ×ÑÓ ˆÜ×)Ñ)×5Ñ5°cÓ:ˆØ˜Ò%Ð%Ð%ô �‹<×"Ñ"Ð#9Ô:Ü˜Ó%×0Ñ0Ð1DÕEÐEÐEä˜“<¤4¨Ó#5Ó5Ð5Ð5ð6ô   ¨°°¨Ó5ò "Ñˆ�Ø˜'Ó!Ð!Ð!ð"ô ”—‘¤§	¡	¨!£Ó-Ó.Ð2OÒOÐOÐOÜ”×#Ñ#Ó%Ó&ØAòBð Bñ Bùò= 3øô ò CÜ—‘Ð;¸C¸5ÐA×BðCús   Õ#\Ö>\Ü!\;Ü:\;c                  óx   — t        t        j                  «       «      dkD  sJ ‚dt        j                  «       v sJ ‚y )Nr   Úadd)r1   r@   Úlist_functions© rE   r;   Útest_list_functionsrâ   ô   s5   € ÜŒr× Ñ Ó"Ó# bÒ(Ð(Ð(Ø”B×%Ñ%Ó'Ñ'Ð'Ñ'rE   c                 óæ   ‡— t        j                  | «      }t        ||«      sJ ‚|j                  }||k\  sJ ‚|t	        |j
                  «      k(  sJ ‚t        ˆfd„|j
                  D «       «      sJ ‚y )Nc              3   ó6   •K  — | ]  }t        |‰«      –— Œ y ­w©N)Ú
isinstance)Ú.0ÚkerÚexpected_ker_clss     €r;   ú	<genexpr>z&_check_get_function.<locals>.<genexpr>   s   øè ø€ ÒI°SŒz˜#Ð/×0ÑIùs   ƒ)r@   rA   ræ   Únum_kernelsr1   ÚkernelsÚall)r>   Úexpected_func_clsré   Úmin_num_kernelsr8   Úns     `   r;   Ú_check_get_functionrñ   ù   sj   ø€ ä�?‰?˜4Ó €DÜ�dÐ-Ô.Ð.Ð.Ø×Ñ€AØ�ÒÐÐØ”�D—L‘LÓ!Ò!Ð!Ð!ÜÓI¸D¿L¹LÔIÔIÐIÑIrE   c                  óX   — t        dt        j                  t        j                  d«       y )Nrß   é   )rñ   r@   ÚScalarFunctionÚScalarKernelrá   rE   r;   Útest_get_function_scalarrö     s   € Ü˜œr×0Ñ0´"·/±/À1ÕErE   c                  óX   — t        dt        j                  t        j                  d«       y )NÚuniqueró   )rñ   r@   ÚVectorFunctionÚVectorKernelrá   rE   r;   Útest_get_function_vectorrû     s   € Ü˜¤"×"3Ñ"3´R·_±_ÀaÕHrE   c                  óX   — t        dt        j                  t        j                  d«       y )NÚmeanró   )rñ   r@   ÚScalarAggregateFunctionÚScalarAggregateKernelrá   rE   r;   Ú"test_get_function_scalar_aggregater     s   € Ü˜¤× :Ñ :Ü×0Ñ0°!õ5rE   c                  óX   — t        dt        j                  t        j                  d«       y )NÚhash_sumr$   )rñ   r@   ÚHashAggregateFunctionÚHashAggregateKernelrá   rE   r;   Ú test_get_function_hash_aggregater    s   € Ü˜
¤B×$<Ñ$<Ü×.Ñ.°õ3rE   c                  óÎ  — t        j                  g d¢«      } t        j                  g d¢«      }| j                  |«      }t	        j
                  d| |gt        j                  «       ¬«      }t        j                  g d¢«      }|j                  |«      sJ ‚|j                  |«      sJ ‚t	        j                  | |t        j                  «       ¬«      }|j                  |«      sJ ‚y )N)ÚfooÚbarÚbaz)r%   r%   r$   Útake)Úmemory_pool)r	  r	  r  )r’   r·   Únpr
  r@   Úcall_functionÚdefault_memory_poolÚequals)Úarrr‚   Úresult1Úresult2ÚexpectedÚresult3s         r;   Ú#test_call_function_with_memory_poolr    s²   € ä
�(‰(Ò(Ó
)€CÜ�h‰h’yÓ!€GØ�h‰h�wÓ€GÜ×Ñ˜v¨¨W ~Ü+-×+AÑ+AÓ+CôE€Gä�x‰xÒ-Ó.€HØ�>‰>˜(Ô#Ð#Ð#Ø�>‰>˜(Ô#Ð#Ð#ä�g‰g�c˜7´×0FÑ0FÓ0HÔI€GØ�>‰>˜(Ô#Ð#Ñ#rE   c                 ór  — t        j                  «       D ]   }t        j                  |«      }| j                  | j	                  |«      «      }t        |«      t        |«      u sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  sJ ‚|j                  |j                  k(  rŒ J ‚ y rå   )	r@   rà   rA   ÚloadsÚdumpsrÌ   r>   r-   rë   ©Úpickle_moduler>   r8   Úreconstructeds       r;   Útest_pickle_functionsr  $  s¤   € ä×!Ñ!Ó#ò =ˆÜ�‰˜tÓ$ˆØ%×+Ñ+¨M×,?Ñ,?ÀÓ,EÓFˆÜ�MÓ"¤d¨4£jÑ0Ð0Ð0Ø×!Ñ! T§Y¡YÒ.Ð.Ð.Ø×"Ñ" d§j¡jÒ0Ð0Ð0Ø×(Ñ(¨D×,<Ñ,<Ó<Ð<Ð<ñ=rE   c                 óÂ   — t        j                  «       D ]9  }	 t        t         |«      }| j	                  | j                  |«      «      }||u rŒ9J ‚ y # t        $ r Y ŒHw xY wrå   )r@   rà   ÚgetattrÚAttributeErrorr  r  r  s       r;   Útest_pickle_global_functionsr   /  sj   € ä×!Ñ!Ó#ò %ˆð	Üœ2˜tÓ$ˆDð &×+Ñ+¨M×,?Ñ,?ÀÓ,EÓFˆØ Ò$Ð$Ð$ñ%øô ò 	áð	ús   ™AÁ	AÁAc                  óh  — t        j                  «       D ]›  } t        j                  | «      }t        |t         j                  «      sJ ‚|j
                  | k(  sJ ‚|j                  }|j                  t        |«      k(  sJ ‚t        d„ |D «       «      sJ ‚t        |«       |D ]  }t        |«       Œ Œ� y )Nc              3   óP   K  — | ]  }t        |t        j                  «      –— Œ  y ­wrå   )ræ   r@   ÚKernel)rç   rè   s     r;   rê   z+test_function_attributes.<locals>.<genexpr>C  s   è ø€ ÒA°#”:˜c¤2§9¡9×-ÑAùs   ‚$&)r@   rà   rA   ræ   ÚFunctionr>   rì   rë   r1   rí   rÎ   )r>   r8   rì   rè   s       r;   Útest_function_attributesr%  ;  s    € ä×!Ñ!Ó#ò 	ˆÜ�‰˜tÓ$ˆÜ˜$¤§¡Ô,Ð,Ð,Ø�y‰y˜DÒ Ð Ð Ø—,‘,ˆØ×Ñ¤3 w£<Ò/Ð/Ð/ÜÑA¸ÔAÔAÐAÐAÜˆTŒ
Øò 	ˆCÜ��Iñ	ñ	rE   c                  ó  — t        j                  ddgdd g«      } | j                  «       dd gk(  sJ ‚t        j                  ddgd«      } | j                  «       ddgk(  sJ ‚t        j                  g d¢d«      j                  «       g d¢k(  sJ ‚y )	Nr$   r%   r&   r   r'   )r  r  Nr  ©TFN)r@   rß   Ú	to_pylistÚequal©r  s    r;   Útest_input_type_conversionr+  I  s‰   € ä
�&‰&�!�Q�˜!˜T˜Ó
#€CØ�=‰=‹?˜q $˜iÒ'Ð'Ð'ä
�&‰&�!�Q�˜Ó
€CØ�=‰=‹?˜q !˜fÒ$Ð$Ð$ä�8‰8Ò(Øóß$™9›;Ò*=ò>ð >ñ >rE   Ú
arrow_typec                 óø  — t        j                  g d¢| ¬«      }|j                  «       j                  «       dk(  sJ ‚t	        j                  |«      j                  «       dk(  sJ ‚t        j                  g d¢| ¬«      }|j                  «       j                  «       dk(  sJ ‚t	        j                  |«      j                  «       dk(  sJ ‚t        j                  d g| ¬«      }|j                  «       j                  «       �J ‚t	        j                  |«      j                  «       �J ‚|j                  d¬«      j                  «       dk(  sJ ‚t	        j                  |d¬«      j                  «       dk(  sJ ‚t        j                  g | ¬«      }|j                  «       j                  «       �J ‚|j                  d¬«      j                  «       dk(  sJ ‚t	        j                  |d¬«      j                  «       dk(  sJ ‚y )N©r$   r%   r#   r&   ©rÌ   r   ©r$   r%   r#   r&   Nr   rz   )r’   r·   ÚsumÚas_pyr@   ©r,  r  s     r;   Útest_sum_arrayr4  U  s�  € ä
�(‰(’< jÔ
1€CØ�7‰7‹9�?‰?Ó Ò"Ð"Ð"Ü�6‰6�#‹;×ÑÓ "Ò$Ð$Ð$ä
�(‰(Ò%¨JÔ
7€CØ�7‰7‹9�?‰?Ó Ò"Ð"Ð"Ü�6‰6�#‹;×ÑÓ "Ò$Ð$Ð$ä
�(‰(�D�6 
Ô
+€CØ�7‰7‹9�?‰?ÓÐ$Ð$Ð$Ü�6‰6�#‹;×ÑÓÐ&Ð&Ð&Ø�7‰7˜Qˆ7Ó×%Ñ%Ó'¨1Ò,Ð,Ð,Ü�6‰6�# Ô#×)Ñ)Ó+¨qÒ0Ð0Ð0ä
�(‰(�2˜JÔ
'€CØ�7‰7‹9�?‰?ÓÐ$Ð$Ð$Ø�7‰7˜Qˆ7Ó×%Ñ%Ó'¨1Ò,Ð,Ð,Ü�6‰6�# Ô#×)Ñ)Ó+¨qÒ0Ð0Ñ0rE   c                 ó¬  — ddl m} t        j                  j	                  | «      r t        j
                  d| j                  «      nt        j                  d| j                  «      } |d«      } |d«      } |d«      }t        j                   |d«       |d	«      g| ¬
«      }|j                  «       j                  «       |k(  sJ ‚|j                  «       j                  |k(  sJ ‚t        j                   |d«       |d	«      d g| ¬
«      }|j                  «       j                  «       |k(  sJ ‚|j                  «       j                  |k(  sJ ‚t        j                   |d«       |d«      g| ¬
«      }|j                  «       j                  «       |k(  sJ ‚|j                  «       j                  |k(  sJ ‚t        j                   |d«       |d«      d g| ¬
«      }|j                  «       j                  «       |k(  sJ ‚|j                  «       j                  |k(  sJ ‚t        j                  d g| ¬
«      }|j                  «       j                  «       �J ‚|j                  «       j                  |k(  sJ ‚|j                  d¬«      j                  «       |k(  sJ ‚|j                  d¬«      j                  |k(  sJ ‚t        j                  g | ¬
«      }|j                  «       j                  «       �J ‚|j                  «       j                  |k(  sJ ‚|j                  d¬«      j                  «       |k(  sJ ‚|j                  d¬«      j                  |k(  sJ ‚y )Nr   ©ÚDecimalé&   éL   ú5.79z10.00ú0.00ú1.23ú4.56r/  z8.77rz   )Údecimalr7  r’   ÚtypesÚis_decimal128Ú
decimal128ÚscaleÚ
decimal256r·   r1  r2  rÌ   )r,  r7  Úmax_precision_typeÚexpected_sumÚexpected_sum_overflowÚzeror  s          r;   Útest_sum_decimal_arrayrH  k  s¿  € åô �8‰8×!Ñ! *Ô-ô 	�‰�b˜*×*Ñ*Ô+ä�]‰]˜2˜z×/Ñ/Ó0ð ñ
 ˜6“?€LÙ# GÓ,ÐÙ�6‹?€Dô �(‰(‘G˜F“O¡W¨V£_Ð5¸JÔ
G€CØ�7‰7‹9�?‰?Ó Ò,Ð,Ð,Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/ä
�(‰(‘G˜F“O¡W¨V£_°dÐ;À*Ô
M€CØ�7‰7‹9�?‰?Ó Ò,Ð,Ð,Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/ô �(‰(‘G˜F“O¡W¨V£_Ð5¸JÔ
G€CØ�7‰7‹9�?‰?ÓÐ 5Ò5Ð5Ð5Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/ä
�(‰(‘G˜F“O¡W¨V£_°dÐ;À*Ô
M€CØ�7‰7‹9�?‰?ÓÐ 5Ò5Ð5Ð5Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/ä
�(‰(�D�6 
Ô
+€CØ�7‰7‹9�?‰?ÓÐ$Ð$Ð$Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/Ø�7‰7˜Qˆ7Ó×%Ñ%Ó'¨4Ò/Ð/Ð/Ø�7‰7˜Qˆ7Ó×$Ñ$Ð(:Ò:Ð:Ð:ä
�(‰(�2˜JÔ
'€CØ�7‰7‹9�?‰?ÓÐ$Ð$Ð$Ø�7‰7‹9�>‰>Ð/Ò/Ð/Ð/Ø�7‰7˜Qˆ7Ó×%Ñ%Ó'¨4Ò/Ð/Ð/Ø�7‰7˜Qˆ7Ó×$Ñ$Ð(:Ò:Ð:Ñ:rE   c                 ó|  — t        j                  t        j                  g d¢| ¬«      g«      }t        j                  |«      j                  «       dk(  sJ ‚t        j                  t        j                  ddg| ¬«      t        j                  ddg| ¬«      g«      }t        j                  |«      j                  «       dk(  sJ ‚t        j                  t        j                  ddg| ¬«      t        j                  g | ¬«      t        j                  ddg| ¬«      g«      }t        j                  |«      j                  «       dk(  sJ ‚t        j                  d| ¬«      }|j                  d	k(  sJ ‚t        j                  |«      j                  «       �J ‚t        j                  |d	¬
«      j                  «       d	k(  sJ ‚y )Nr.  r/  r   r$   r%   r#   r&   rá   r   rz   )r’   Úchunked_arrayr·   r@   r1  r2  Ú
num_chunksr3  s     r;   Útest_sum_chunked_arrayrL  –  sc  € ä
×
Ñ
œBŸH™H¢\¸
ÔCÐDÓ
E€CÜ�6‰6�#‹;×ÑÓ "Ò$Ð$Ð$ä
×
Ñ
Ü
�‰�!�Q�˜jÔ)¬2¯8©8°Q¸°FÀÔ+Lðó €Cô �6‰6�#‹;×ÑÓ "Ò$Ð$Ð$ä
×
Ñ
Ü
�‰�!�Q�˜jÔ)Ü
�‰�˜*Ô%Ü
�‰�!�Q�˜jÔ)ðó €Cô
 �6‰6�#‹;×ÑÓ "Ò$Ð$Ð$ä
×
Ñ
˜2 JÔ
/€CØ�>‰>˜QÒÐÐÜ�6‰6�#‹;×ÑÓÐ&Ð&Ð&Ü�6‰6�# Ô#×)Ñ)Ó+¨qÒ0Ð0Ñ0rE   c           	      ó  — ddl m} t        j                  j	                  | «      r t        j
                  d| j                  «      nt        j                  d| j                  «      } |d«      } |d«      }t        j                  t        j                   |d«       |d«      g| ¬	«      g«      }t        j                  |«      j                  «       |k(  sJ ‚t        j                  |«      j                  |k(  sJ ‚t        j                  t        j                   |d«      g| ¬	«      t        j                   |d«      g| ¬	«      g«      }t        j                  |«      j                  «       |k(  sJ ‚t        j                  |«      j                  |k(  sJ ‚t        j                  t        j                   |d«      g| ¬	«      t        j                  g | ¬	«      t        j                   |d«      g| ¬	«      g«      }t        j                  |«      j                  «       |k(  sJ ‚t        j                  |«      j                  |k(  sJ ‚t        j                  d
| ¬	«      }|j                  dk(  sJ ‚t        j                  |«      j                  «       �J ‚t        j                  |«      j                  |k(  sJ ‚t        j                  |d¬«      j                  «       |k(  sJ ‚t        j                  |d¬«      j                  |k(  sJ ‚y )Nr   r6  r8  r9  r:  r;  r<  r=  r/  rá   rz   )r>  r7  r’   r?  r@  rA  rB  rC  rJ  r·   r@   r1  r2  rÌ   rK  )r,  r7  rD  rE  rG  r  s         r;   Ú#test_sum_chunked_array_decimal_typerN  ­  sr  € åô �8‰8×!Ñ! *Ô-ô 	�‰�b˜*×*Ñ*Ô+ä�]‰]˜2˜z×/Ñ/Ó0ð ñ
 ˜6“?€LÙ�6‹?€Dä
×
Ñ
ä�H‰H‘g˜f“o¡w¨v£Ð7¸jÔIð	
ó€Cô
 �6‰6�#‹;×ÑÓ ,Ò.Ð.Ð.Ü�6‰6�#‹;×ÑÐ1Ò1Ð1Ð1ä
×
Ñ
Ü
�‰‘'˜&“/Ð"¨Ô4Ü
�‰‘'˜&“/Ð"¨Ô4ðó €Cô �6‰6�#‹;×ÑÓ ,Ò.Ð.Ð.Ü�6‰6�#‹;×ÑÐ1Ò1Ð1Ð1ä
×
Ñ
Ü
�‰‘'˜&“/Ð"¨Ô4Ü
�‰�˜*Ô%Ü
�‰‘'˜&“/Ð"¨Ô4ðó €Cô
 �6‰6�#‹;×ÑÓ ,Ò.Ð.Ð.Ü�6‰6�#‹;×ÑÐ1Ò1Ð1Ð1ä
×
Ñ
˜2 JÔ
/€CØ�>‰>˜QÒÐÐÜ�6‰6�#‹;×ÑÓÐ&Ð&Ð&Ü�6‰6�#‹;×ÑÐ1Ò1Ð1Ð1Ü�6‰6�# Ô#×)Ñ)Ó+¨tÒ3Ð3Ð3Ü�6‰6�# Ô#×(Ñ(Ð,>Ò>Ð>Ñ>rE   c                  óê  — t        j                  g d¢d¬«      } t        j                  | «      }t	        |«      dk(  sJ ‚|d   j                  «       dddœk(  sJ ‚t        j                  | d¬«      }t	        |«      dk(  sJ ‚|d   j                  «       dddœk(  sJ ‚|d   j                  «       d	ddœk(  sJ ‚t        j                  g d¬«      } t	        t        j                  | «      «      dk(  sJ ‚t        j                  g d
¢d¬«      } t        j                  | d¬«      }t	        |«      dk(  sJ ‚t        j                  | d¬«      }t	        |«      dk(  sJ ‚t        j                  | dd¬«      }t	        |«      dk(  sJ ‚t        j                  ddg«      } t        j                  | d¬«      }t	        |«      dk(  sJ ‚|d   j                  «       dddœk(  sJ ‚|d   j                  «       dddœk(  sJ ‚y )N©r$   r$   r#   r&   r#   r   r   r/  r$   r   r%   ©ÚmodeÚcount©rð   r#   )r$   r$   r#   r&   r#   NFr[   r'   rz   r   ©rW   r{   T)r’   r·   r@   rR  r1   r2  ©r  rR  s     r;   Útest_mode_arrayrW  ×  s±  € ä
�(‰(Ò%¨GÔ
4€CÜ�7‰7�3‹<€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5ä�7‰7�3˜!Ô€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5ä
�(‰(�2˜GÔ
$€CÜŒr�w‰w�s‹|Ó Ò!Ð!Ð!ä
�(‰(Ò(¨wÔ
7€CÜ�7‰7�3 5Ô)€DÜˆt‹9˜Š>Ðˆ>Ü�7‰7�3 !Ô$€DÜˆt‹9˜Š>Ðˆ>Ü�7‰7�3 5°AÔ6€DÜˆt‹9˜Š>Ðˆ>ä
�(‰(�D˜%�=Ó
!€CÜ�7‰7�3˜!Ô€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�=‰=‹? u°qÑ9Ò9Ð9Ð9Ø�‰7�=‰=‹? t°aÑ8Ò8Ð8Ñ8rE   c                  ó.  — t        j                  t        j                  g d¢d¬«      g«      } t        j                  | «      }t        |«      dk(  sJ ‚|d   j                  «       dddœk(  sJ ‚t        j                  | d¬«      }t        |«      dk(  sJ ‚|d   j                  «       dddœk(  sJ ‚|d   j                  «       d	ddœk(  sJ ‚t        j                  d
d¬«      } | j                  dk(  sJ ‚t        t        j                  | «      «      dk(  sJ ‚y )NrP  r   r/  r$   r   r%   rQ  rT  r#   rá   )r’   rJ  r·   r@   rR  r1   r2  rK  rV  s     r;   Útest_mode_chunked_arrayrY  õ  sô   € ä
×
Ñ
œBŸH™HÒ%7¸gÔFÐGÓ
H€CÜ�7‰7�3‹<€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5ä�7‰7�3˜!Ô€DÜˆt‹9˜Š>Ðˆ>Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5Ø�‰7�=‰=‹? q°1Ñ5Ò5Ð5Ð5ä
×
Ñ
˜2 GÔ
,€CØ�>‰>˜QÒÐÐÜŒr�w‰w�s‹|Ó Ò!Ð!Ñ!rE   c                  óø   — d} t        j                  t        j                  | ¬«      5  t        j                  g «       d d d «       t        j                  g t        j
                  «       ¬«       y # 1 sw Y   Œ3xY w)Nz@cannot construct ChunkedArray from empty vector and omitted typer.   r/  )r4   r5   r’   ÚArrowInvalidrJ  r   )Úmsgs    r;   Útest_empty_chunked_arrayr]    sT   € Ø
L€CÜ	�‰”r—‘¨cÔ	2ñ Ü
×Ñ˜Ô÷ô ×Ñ�RœbŸg™g›iÖ(÷ð ús   ¨A0Á0A9c                  ó  — g d¢} t        j                  | «      j                  «       dk(  sJ ‚t        j                  | d¬«      j                  «       dk(  sJ ‚t        j                  | d¬«      j                  «       dk(  sJ ‚y )N)r$   r%   r#   r&   r   r'   é   ró   g      @r   )Úddofr$   g      @)r@   Úvariancer2  ©Údatas    r;   Útest_variancerd    sk   € Ú#€DÜ�;‰;�tÓ×"Ñ"Ó$¨Ò,Ð,Ð,Ü�;‰;�t !Ô$×*Ñ*Ó,°Ò4Ð4Ð4Ü�;‰;�t !Ô$×*Ñ*Ó,°Ò3Ð3Ñ3rE   c                  ó"  — g d¢} t        j                  | «      j                  «       t        j                  dd¬«      k(  sJ ‚t        j                  | d¬«      j                  «       �J ‚t        j                  | d¬«      j                  «       �J ‚y )	N©r$   r$   Nr%   gÑ;fž æ?ç»½×Ùß|Û=©ÚrelFr[   r&   rz   )r@   Úskewr2  r4   Úapproxrb  s    r;   Ú	test_skewrl    sr   € Ú€DÜ�7‰7�4‹=×ÑÓ ¤F§M¡MÐ2CÈÔ$OÒOÐOÐOÜ�7‰7�4 EÔ*×0Ñ0Ó2Ð:Ð:Ð:Ü�7‰7�4 1Ô%×+Ñ+Ó-Ð5Ð5Ñ5rE   c                  ó"  — g d¢} t        j                  | «      j                  «       t        j                  dd¬«      k(  sJ ‚t        j                  | d¬«      j                  «       �J ‚t        j                  | d¬«      j                  «       �J ‚y )	Nrf  g      ø¿rg  rh  Fr[   r&   rz   )r@   Úkurtosisr2  r4   rk  rb  s    r;   Útest_kurtosisro    sr   € Ú€DÜ�;‰;�tÓ×"Ñ"Ó$¬¯©°dÀÔ(FÒFÐFÐFÜ�;‰;�t¨Ô.×4Ñ4Ó6Ð>Ð>Ð>Ü�;‰;�t qÔ)×/Ñ/Ó1Ð9Ð9Ñ9rE   zinput, expected)ç      ð?g       @g      @g      D@NgIc§ÝºÒÿ?gpÕ•ž´@)rj  rn  )r$   r%   é(   gdö³ƒV¦û?rq  c                 óÄ   — t        j                  | dd¬«      }t        j                  | dd¬«      }|j                  «       |d   k(  sJ ‚|j                  «       |d   k(  sJ ‚y )NTF)rW   Úbiasedrj  rn  )r@   rj  rn  r2  )Úinputr  Ú
arrow_skewÚarrow_kurtosiss       r;   Útest_unbiased_skew_and_kurtosisrw  #  s`   € ô —‘˜¨4¸Ô>€JÜ—[‘[ °4ÀÔF€NØ×ÑÓ ¨&Ñ!1Ò1Ð1Ð1Ø×ÑÓ! X¨jÑ%9Ò9Ð9Ñ9rE   c                  óÂ  — t        j                  «       t        j                  «       ft        j                  «       t        j                  «       ffD ]Œ  \  } }t        j
                  g d¢| ¬«      }t        j                  |d«      }t        j
                  g d¢|¬«      }||k(  sJ ‚t        j                  |dd¬«      }t        j
                  g d¢|¬«      }||k(  rŒŒJ ‚ y )N)ÚabÚcabÚabcabÚbaÚABNr/  ry  )r$   r$   r%   r   r   NT©Úignore_case)r$   r$   r%   r   r$   N)r’   r   r   Úlarge_stringr   r·   r@   Úcount_substring©ÚtyÚoffsetr  Úresultr  s        r;   Útest_count_substringr†  3  sµ   € ÜŸ)™)›+¤r§x¡x£zÐ2ÜŸ/™/Ó+¬R¯X©X«ZÐ8ð:ò 
"‰ˆˆVä�h‰hÒ?ÀbÔIˆä×#Ñ# C¨Ó.ˆÜ—8‘8Ò1¸Ô?ˆØ˜6Ò!Ð!Ð!ä×#Ñ# C¨¸4Ô@ˆÜ—8‘8Ò1¸Ô?ˆØ˜6Ó!Ð!Ð!ñ
"rE   c                  óò  — t        j                  «       t        j                  «       ft        j                  «       t        j                  «       ffD ]¤  \  } }t        j
                  g d¢| ¬«      }t        j                  |d«      }t        j
                  g d¢|¬«      }|j                  |«      sJ ‚t        j                  |dd¬«      }t        j
                  g d¢|¬«      }|j                  |«      rŒ¤J ‚ y )N)ry  rz  ÚbaAacaar|  r}  Nr/  za+)r$   r$   r#   r$   r   NTr~  )r$   r$   r%   r$   r$   N)	r’   r   r   r€  r   r·   r@   Úcount_substring_regexr  r‚  s        r;   Útest_count_substring_regexrŠ  A  s½   € ÜŸ)™)›+¤r§x¡x£zÐ2ÜŸ/™/Ó+¬R¯X©X«ZÐ8ð:ò 
'‰ˆˆVä�h‰hÒAÈÔKˆä×)Ñ)¨#¨tÓ4ˆÜ—8‘8Ò1¸Ô?ˆØ�‰˜vÔ&Ð&Ð&ä×)Ñ)¨#¨tÀÔFˆÜ—8‘8Ò1¸Ô?ˆØ�‰˜vÕ&Ð&Ð&ñ
'rE   c                  ó~  — t        j                  «       t        j                  «       t        j                  «       t        j                  «       fD ]ì  } t        j
                  g d¢| ¬«      }t        j                  |d«      }|j                  «       g d¢k(  sJ ‚t        j                  |d«      }|j                  «       g d¢k(  sJ ‚t        j
                  g d¢| ¬«      }t        j                  |dd	¬
«      }|j                  «       g d¢k(  sJ ‚t        j                  |dd	¬
«      }|j                  «       g d¢k(  rŒìJ ‚ y )N)ry  rz  r|  Nr/  ry  )r   r$   r]   Nza?b)r   r$   r   N)zab*zcAB*r|  zaB?zaB*Tr~  )r   r$   r]   r]   )r   r$   r   r   )
r’   r   r   r€  Úlarge_binaryr·   r@   Úfind_substringr(  Úfind_substring_regex)rƒ  r  r…  s      r;   Útest_find_substringr�  O  sÿ   € Ü�y‰y‹{œBŸI™I›K¬¯©Ó):¼B¿O¹OÓ<MÐNò 2ˆÜ�h‰hÒ0°rÔ:ˆÜ×"Ñ" 3¨Ó-ˆØ×ÑÓ!Ò%5Ò5Ð5Ð5ä×(Ñ(¨¨eÓ4ˆØ×ÑÓ!¢_Ò4Ð4Ð4ä�h‰hÒ3¸"Ô=ˆÜ×"Ñ" 3¨¸4Ô@ˆØ×ÑÓ!¢^Ò3Ð3Ð3ä×(Ñ(¨¨eÀÔFˆØ×ÑÓ!¢\Ó1Ð1Ð1ñ2rE   c                  óè  — t        j                  g d¢«      } t        j                  | d«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j                  | dd¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  | dd¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )	N)ry  zba%r|  úca%dNz_a\%%)FTFTN)ÚaBzbA%r|  r‘  NTr~  F)FFFTN)r’   r·   r@   Ú
match_liker  ©r  r…  r  s      r;   Útest_match_liker•  `  s·   € Ü
�(‰(Ò4Ó
5€CÜ�]‰]˜3 Ó)€FÜ�x‰xÒ8Ó9€HØ�?‰?˜6Ô"Ð"Ð"ä
�(‰(Ò4Ó
5€CÜ�]‰]˜3 °dÔ;€FÜ�x‰xÒ8Ó9€HØ�?‰?˜6Ô"Ð"Ð"Ü�]‰]˜3 °eÔ<€FÜ�x‰xÒ9Ó:€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óè  — t        j                  g d¢«      } t        j                  | d«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j                  | dd¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  | dd¬«      }t        j                  g d	¢«      }|j	                  |«      sJ ‚y )
N)ry  Úabcr|  Nry  ©TTFN)u   Ã¡Bu   Ã�bcr|  Nu   Ã¡bTr~  F)FFFN)r’   r·   r@   Úmatch_substringr  r”  s      r;   Útest_match_substringrš  o  s½   € Ü
�(‰(Ò,Ó
-€CÜ×Ñ  TÓ*€FÜ�x‰xÒ1Ó2€HØ�?‰?˜6Ô"Ð"Ð"ä
�(‰(Ò.Ó
/€CÜ×Ñ  U¸Ô=€FÜ�x‰xÒ1Ó2€HØ�?‰?˜6Ô"Ð"Ð"Ü×Ñ  U¸Ô>€FÜ�x‰xÒ3Ó4€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óè  — t        j                  g d¢«      } t        j                  | d«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j                  | dd¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  | dd¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )	N)ry  r—  r|  ÚcNz^a?b)TTTFN)r’  ÚAbcÚBArœ  NTr~  F)FFFFN)r’   r·   r@   Úmatch_substring_regexr  r”  s      r;   Útest_match_substring_regexr   ~  s½   € Ü
�(‰(Ò1Ó
2€CÜ×%Ñ% c¨6Ó2€FÜ�x‰xÒ7Ó8€HØ�?‰?˜6Ô"Ð"Ð"ä
�(‰(Ò1Ó
2€CÜ×%Ñ% c¨6¸tÔD€FÜ�x‰xÒ7Ó8€HØ�?‰?˜6Ô"Ð"Ð"Ü×%Ñ% c¨6¸uÔE€FÜ�x‰xÒ:Ó;€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óŒ  — t        j                  g d¢«      } t        j                  | «      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j
                  | «      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j                  | d¬«      }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  | d«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )N)ú fooNu    ã€€foo bar 	)r  Núfoo bar)r  Nu
   ã€€foo baru    fã€€)Ú
characters)ÚooNzoo bar 	)r’   r·   r@   Úutf8_trim_whitespacer  Úascii_trim_whitespaceÚ	utf8_trimr”  s      r;   Ú	test_trimr©  �  só   € ä
�(‰(Ò6Ó
7€CÜ×$Ñ$ SÓ)€FÜ�x‰xÒ0Ó1€HØ�?‰?˜6Ô"Ð"Ð"ä
�(‰(Ò6Ó
7€CÜ×%Ñ% cÓ*€FÜ�x‰xÒ6Ó7€HØ�?‰?˜6Ô"Ð"Ð"ä
�(‰(Ò6Ó
7€CÜ�\‰\˜#¨*Ô5€FÜ�x‰xÒ1Ó2€HØ�?‰?˜6Ô"Ð"Ð"ä�\‰\˜#˜zÓ*€FÜ�x‰xÒ1Ó2€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  ó¸  — t        j                  g d¢«      } t        dd«      D ]¯  }t        j                  t        dd«      d g«      D ]‰  }dD ]‚  }t        j                  | D �cg c]  }|j                  «       |||…   ‘Œ c}«      }t        j                  | |||¬«      }|j                  |«      sJ ‚t        j                  | |||«      |k(  rŒ‚J ‚ Œ‹ Œ± y c c}w )N)Ú u   ð�‘“u   ð�‘“Ã¶u   ð�‘“Ã¶Ãµu   ð�‘“Ã¶Ãµá¸�u   ð�‘“Ã¶Ãµá¸�Å¡éúÿÿÿr'   )éýÿÿÿéþÿÿÿr]   r$   r%   r#   ©rV   ÚstopÚstep)	r’   r·   ÚrangeÚ	itertoolsÚchainr2  r@   Úutf8_slice_codeunitsr  )r  rV   r°  r±  Úkr  r…  s          r;   Útest_slice_compatibilityr·  £  sï   € Ü
�(‰(ÒUÓ
V€CÜ�r˜1“ò 
LˆÜ—O‘O¤E¨"¨a£L°4°&Ó9ò 		LˆDØ-ò L�ÜŸ8™8Ø.1ö%3Ø)*ð &'§W¡W£Y¨u°T¸$¨Ó%?ò %3ó 4�ä×0Ñ0Ø˜u¨4°dô<�à—‘ vÔ.Ð.Ð.ä×.Ñ.¨sØ/4°d¸DóBØEKóLð Lð LñLñ		Lñ
Lùò%3s   Á#Cc            
      ó  — g d¢} t        j                  | «      }t        j                  t	        dd«      t	        dd«      t	        dd«      «      D �])  \  }}}|dk(  rŒt        j                  |D �cg c]  }|j                  «       |||…   ‘Œ c}«      }t        j                  ||||¬«      }|j                  |«      sJ ‚t        j                  ||||«      |k(  sJ ‚| D ]—  }t        j                  |t        j                  t        |«      «      ¬«      }	||||…   }t        j                  |	|||«      }
|
j                  t        j                  t        |«      «      k(  sJ ‚|
j                  «       |k(  rŒ—J ‚ �Œ, y c c}w )	N)rE   r    s   aÿs   ab s   abcûs   abòder¬  r'   r­  r&   r   r¯  r/  )r’   r·   r³  Úproductr²  r2  r@   Úbinary_slicer  rœ   r   r1   rÌ   )rc  r  rV   r°  r±  r¶  r  r…  ÚitemÚ
fsb_scalarÚactuals              r;   Útest_binary_slice_compatibilityr¾  ²  s^  € ÚD€DÜ
�(‰(�4‹.€CÜ&×.Ñ.¬u°R¸«|Ü/4°R¸«|Ü/4°R¸«|ó=ó .Ñˆˆt�Tð �1Š9ØÜ—8‘8Ø&)ö+Ø!"ð ŸW™W›Y u¨T°$ Ó7ò +ó ,ˆä—‘Ø�u 4¨dô4ˆà�‰˜vÔ&Ð&Ð&ä�‰˜s E¨4°Ó6¸&Ò@Ð@Ð@àò 	.ˆDÜŸ™ 4¬b¯i©i¼¸D»	Ó.BÔCˆJØ˜E $ t˜OÑ,ˆHÜ—_‘_ Z°¸¸dÓCˆFØ—;‘;¤"§)¡)¬C°«MÓ":Ò:Ð:Ð:Ø—<‘<“> XÓ-Ð-Ð-ò	.ñ.ùò
+s   Á0E=
c                  óÖ  — t        j                  ddg«      } t        j                  | d¬«      }t        j                  ddgg d¢g«      }|j	                  |«      sJ ‚t        j                  | dd¬	«      }t        j                  ddgd
dgg«      }|j	                  |«      sJ ‚t        j                  | ddd¬«      }t        j                  ddgddgg«      }|j	                  |«      sJ ‚y )Nú-foo---bar--ú
---foo---bú---©r\   z-foozbar--©r«  r  r   r$   ©Ú
max_splitsr«  úfoo---bT©rÆ  Úreversez---foor   )r’   r·   r@   Úsplit_patternr  r”  s      r;   Útest_split_patternrË  Ê  sØ   € Ü
�(‰(�N LÐ1Ó
2€CÜ×Ñ˜c¨5Ô1€FÜ�x‰x˜& 'Ð*Ò,<Ð=Ó>€HØ�?‰?˜6Ô"Ð"Ð"ä×Ñ˜c 5°QÔ7€FÜ�x‰x˜& 'Ð*¨R°¨OÐ<Ó=€HØ�?‰?˜6Ô"Ð"Ð"ä×Ñ˜c 5°QÀÔE€FÜ�x‰x˜& 'Ð*¨X°s¨OÐ<Ó=€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óÎ  — t        j                  ddg«      } t        j                  | «      }t        j                  ddgg d¢g«      }|j	                  |«      sJ ‚t        j                  | d¬«      }t        j                  ddgdd	gg«      }|j	                  |«      sJ ‚t        j                  | dd
¬«      }t        j                  ddgddgg«      }|j	                  |«      sJ ‚y )Nr£  õ    foo  ã€€	br  r  rÄ  r$   rÅ  r«  õ
   foo  ã€€	bTrÈ  r¢  r   )r’   r·   r@   Úutf8_split_whitespacer  r”  s      r;   Útest_split_whitespace_utf8rÐ  Ù  sÒ   € Ü
�(‰(�IÐ0Ð1Ó
2€CÜ×%Ñ% cÓ*€FÜ�x‰x˜% ˜Ò)9Ð:Ó;€HØ�?‰?˜6Ô"Ð"Ð"ä×%Ñ% c°aÔ8€FÜ�x‰x˜% ˜¨"Ð.>Ð)?Ð@ÓA€HØ�?‰?˜6Ô"Ð"Ð"ä×%Ñ% c°aÀÔF€FÜ�x‰x˜% ˜¨&°#¨Ð7Ó8€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óÎ  — t        j                  ddg«      } t        j                  | «      }t        j                  ddgg d¢g«      }|j	                  |«      sJ ‚t        j                  | d¬«      }t        j                  ddgdd	gg«      }|j	                  |«      sJ ‚t        j                  | dd
¬«      }t        j                  ddgddgg«      }|j	                  |«      sJ ‚y )Nr£  rÍ  r  r  )r«  r  u   ã€€r   r$   rÅ  r«  rÎ  TrÈ  u	    foo  ã€€r   )r’   r·   r@   Úascii_split_whitespacer  r”  s      r;   Útest_split_whitespace_asciirÓ  è  sÓ   € Ü
�(‰(�IÐ0Ð1Ó
2€CÜ×&Ñ& sÓ+€FÜ�x‰x˜% ˜Ò)CÐDÓE€HØ�?‰?˜6Ô"Ð"Ð"ä×&Ñ& s°qÔ9€FÜ�x‰x˜% ˜¨"Ð.>Ð)?Ð@ÓA€HØ�?‰?˜6Ô"Ð"Ð"ä×&Ñ& s°qÀ$ÔG€FÜ�x‰x˜% ˜¨.¸#Ð)>Ð?Ó@€HØ�?‰?˜6Ô"Ð"Ñ"rE   c                  óÚ  — t        j                  ddg«      } t        j                  | d¬«      }t        j                  g d¢g d¢g«      }|j	                  |«      sJ ‚t        j                  | dd¬«      }t        j                  d	d
gd	dgg«      }|j	                  |«      sJ ‚t        j                  t        d¬«      5  t        j                  | ddd¬«      }d d d «       y # 1 sw Y   y xY w)NrÀ  rÁ  z-+rÃ  )r«  r  r  r«  rÄ  r$   rÅ  r«  zfoo---bar--rÇ  z"Cannot split in reverse with regexr.   rÂ  T)r\   rÆ  rÉ  )r’   r·   r@   Úsplit_pattern_regexr  r4   r5   ÚNotImplementedErrorr”  s      r;   Útest_split_pattern_regexr×  ÷  sÑ   € Ü
�(‰(�N LÐ1Ó
2€CÜ×#Ñ# C°Ô6€FÜ�x‰xÒ/Ò1AÐBÓC€HØ�?‰?˜6Ô"Ð"Ð"ä×#Ñ# C¨¸!Ô<€FÜ�x‰x˜"˜mÐ,¨r°9¨oÐ>Ó?€HØ�?‰?˜6Ô"Ð"Ð"ä	�‰Ô*ØAô
Cñ <ä×'Ñ'Ø˜¨1°dô<ˆ÷<÷ <ñ <ús   Â>C!Ã!C*c                  óž  — g d¢} t        j                  | «      }|j                  «       dddœk(  sJ ‚t        j                  | t        j                  «       ¬«      }|j                  «       dddœk(  sJ ‚t        j                  | t        j                  d¬«      ¬«      }|j                  «       dddœk(  sJ ‚t        j                  | t        j                  d¬«      ¬«      }|j                  «       d d dœk(  sJ ‚t        j                  | d	di¬«      }|j                  «       d d dœk(  sJ ‚t        j                  | d¬«      }|j                  «       d d dœk(  sJ ‚t	        j
                  t        «      5  t        j                  | t        j                  «       d¬
«      }d d d «       t        j                  «       }t	        j
                  t        «      5  t        j                  | |¬«      }d d d «       t	        j
                  t        d¬«      5  t        j                  «       }d d d «       y # 1 sw Y   Œ�xY w# 1 sw Y   ŒNxY w# 1 sw Y   y xY w)N)r&   r   r'   Nr$   r$   r'   )Úminro   ©r×   Tr[   FrW   )r×   rW   zmin_max takes 1 positionalr.   )r@   Úmin_maxr2  r´   r4   r5   r6   rÀ   )rc  r€   r×   s      r;   Útest_min_maxrÜ    sÜ  € â€DÜ
�
‰
�4Ó€AØ�7‰7‹9 ¨!Ñ,Ò,Ð,Ð,Ü
�
‰
�4¤×!:Ñ!:Ó!<Ô=€AØ�7‰7‹9 ¨!Ñ,Ò,Ð,Ð,Ü
�
‰
�4¤×!:Ñ!:ÀdÔ!KÔL€AØ�7‰7‹9 ¨!Ñ,Ò,Ð,Ð,Ü
�
‰
�4¤×!:Ñ!:ÀeÔ!LÔM€AØ�7‰7‹9 ¨TÑ2Ò2Ð2Ð2ô 	�
‰
�4 ,°Ð!6Ô7€AØ�7‰7‹9 ¨TÑ2Ò2Ð2Ð2ä
�
‰
�4 EÔ*€AØ�7‰7‹9 ¨TÑ2Ò2Ð2Ð2ô 
�‰”yÓ	!ñ IÜ�J‰JØœ"×3Ñ3Ó5À%ôIˆ÷Iô
 �n‰nÓ€GÜ	�‰”yÓ	!ñ .Ü�J‰J�t WÔ-ˆ÷.ô 
�‰”yÐ(DÔ	Eñ Ü�J‰J‹Lˆ÷ð ÷Ið Iú÷.ð .ú÷ð ús$   Å2+H+ÇH7ÈIÈ+H4È7I ÉIc                  óæ  — t        j                  dd¬«      } t        j                  g d¬«      }t        j                  |«      j                  «       �J ‚t        j                  |d¬«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       du sJ ‚t        j                  g d¢«      }t        j                  |«      j                  «       d	u sJ ‚t        j                  || ¬«      j                  «       d	u sJ ‚t        j                  g d
¢«      }t        j                  |«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       �J ‚y )NFr   rU  r	   r/  rz   rÚ  )FNTT)FNF)r@   r´   r’   r·   Úanyr2  ©r×   r   s     r;   Útest_anyrà  )  s  € ô ×'Ñ'°5ÀAÔF€Gä
�‰�˜&Ô!€AÜ�6‰6�!‹9�?‰?ÓÐ$Ð$Ð$Ü�6‰6�!˜qÔ!×'Ñ'Ó)¨UÑ2Ð2Ð2Ü�6‰6�!˜WÔ%×+Ñ+Ó-°Ñ6Ð6Ð6ä
�‰Ò$Ó%€AÜ�6‰6�!‹9�?‰?Ó Ñ$Ð$Ð$Ü�6‰6�!˜WÔ%×+Ñ+Ó-°Ñ5Ð5Ð5ä
�‰Ò%Ó&€AÜ�6‰6�!‹9�?‰?Ó Ñ%Ð%Ð%Ü�6‰6�!˜WÔ%×+Ñ+Ó-Ð5Ð5Ñ5rE   c                  óˆ  — t        j                  dd¬«      } t        j                  g d¬«      }t        j                  |«      j                  «       �J ‚t        j                  |d¬«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       du sJ ‚t        j                  ddg«      }t        j                  |«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       du sJ ‚t        j                  dd g«      }t        j                  |«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       �J ‚t        j                  dgdd gg«      }t        j                  |«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       �J ‚t        j                  dgdgg«      }t        j                  |«      j                  «       du sJ ‚t        j                  || ¬«      j                  «       du sJ ‚y )	NFr   rU  r	   r/  rz   TrÚ  )r@   r´   r’   r·   rí   r2  rJ  rß  s     r;   Útest_allrâ  <  sÕ  € ô ×'Ñ'°5ÀAÔF€Gä
�‰�˜&Ô!€AÜ�6‰6�!‹9�?‰?ÓÐ$Ð$Ð$Ü�6‰6�!˜qÔ!×'Ñ'Ó)¨TÑ1Ð1Ð1Ü�6‰6�!˜WÔ%×+Ñ+Ó-°Ñ5Ð5Ð5ä
�‰�%˜�Ó€AÜ�6‰6�!‹9�?‰?Ó Ñ%Ð%Ð%Ü�6‰6�!˜WÔ%×+Ñ+Ó-°Ñ6Ð6Ð6ä
�‰�$˜�Ó€AÜ�6‰6�!‹9�?‰?Ó Ñ$Ð$Ð$Ü�6‰6�!˜WÔ%×+Ñ+Ó-Ð5Ð5Ð5ä
×Ñ˜4˜& 4¨ ,Ð/Ó0€AÜ�6‰6�!‹9�?‰?Ó Ñ$Ð$Ð$Ü�6‰6�!˜WÔ%×+Ñ+Ó-Ð5Ð5Ð5ä
×Ñ˜4˜& 5 'Ð*Ó+€AÜ�6‰6�!‹9�?‰?Ó Ñ%Ð%Ð%Ü�6‰6�!˜WÔ%×+Ñ+Ó-°Ñ6Ð6Ñ6rE   c                  óê   — g d¢} t        j                  | «      j                  «       g d¢k(  sJ ‚t        j                  t
        «      5  t        j                  | d ¬«       d d d «       y # 1 sw Y   y xY w)N©r&   r   N)TTFrÚ  )r@   Úis_validr(  r4   r5   r6   rb  s    r;   Útest_is_validræ  W  sW   € â€DÜ�;‰;�tÓ×&Ñ&Ó(Ò,?Ò?Ð?Ð?ä	�‰”yÓ	!ñ (Ü
�‰�D $Õ'÷(÷ (ñ (ús   ÁA)Á)A2c                  ó”  — t         j                  j                  t        j                  d«      k(  sJ ‚t         j
                  j                  t        j                  d«      k(  sJ ‚t         j                  j                  t        j                  d«      k(  sJ ‚t         j                  j                  t        j                  d«      k(  sJ ‚y )Naf          Compute the minimum and maximum values of a numeric array.

        Null values are ignored by default.
        This can be changed through ScalarAggregateOptions.

        Parameters
        ----------
        array : Array-like
            Argument to compute function.
        skip_nulls : bool, default True
            Whether to skip (ignore) nulls in the input.
            If False, any null in the input forces the output to null.
        min_count : int, default 1
            Minimum number of non-null values in the input.  If the number
            of non-null values is below `min_count`, the output is null.
        options : pyarrow.compute.ScalarAggregateOptions, optional
            Alternative way of passing options.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.

        Examples
        --------
        >>> import pyarrow as pa
        >>> import pyarrow.compute as pc
        >>> arr1 = pa.array([1, 1, 2, 2, 3, 2, 2, 2])
        >>> pc.min_max(arr1)
        <pyarrow.StructScalar: [('min', 1), ('max', 3)]>

        Using ``skip_nulls`` to handle null values.

        >>> arr2 = pa.array([1.0, None, 2.0, 3.0])
        >>> pc.min_max(arr2)
        <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]>
        >>> pc.min_max(arr2, skip_nulls=False)
        <pyarrow.StructScalar: [('min', None), ('max', None)]>

        Using ``ScalarAggregateOptions`` to control minimum number of non-null values.

        >>> arr3 = pa.array([1.0, None, float("nan"), 3.0])
        >>> pc.min_max(arr3)
        <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]>
        >>> pc.min_max(arr3, options=pc.ScalarAggregateOptions(min_count=3))
        <pyarrow.StructScalar: [('min', 1.0), ('max', 3.0)]>
        >>> pc.min_max(arr3, options=pc.ScalarAggregateOptions(min_count=4))
        <pyarrow.StructScalar: [('min', None), ('max', None)]>

        This function also works with string values.

        >>> arr4 = pa.array(["z", None, "y", "x"])
        >>> pc.min_max(arr4)
        <pyarrow.StructScalar: [('min', 'x'), ('max', 'z')]>
        a          Add the arguments element-wise.

        Results will wrap around on integer overflow.
        Use function "add_checked" if you want overflow
        to return an error.

        Parameters
        ----------
        x : Array-like or scalar-like
            Argument to compute function.
        y : Array-like or scalar-like
            Argument to compute function.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.
        aÊ          Find the element-wise minimum value.

        Nulls are ignored (by default) or propagated.
        NaN is preferred over null, but not over any valid value.

        Parameters
        ----------
        *args : Array-like or scalar-like
            Argument to compute function.
        skip_nulls : bool, default True
            Whether to skip (ignore) nulls in the input.
            If False, any null in the input forces the output to null.
        options : pyarrow.compute.ElementWiseAggregateOptions, optional
            Alternative way of passing options.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.
        aO          Filter with a boolean selection filter.

        The output is populated with values from the input at positions
        where the selection filter is non-zero.  Nulls in the selection filter
        are handled based on FilterOptions.

        Parameters
        ----------
        input : Array-like or scalar-like
            Argument to compute function.
        selection_filter : Array-like or scalar-like
            Argument to compute function.
        null_selection_behavior : str, default "drop"
            How to handle nulls in the selection filter.
            Accepted values are "drop", "emit_null".
        options : pyarrow.compute.FilterOptions, optional
            Alternative way of passing options.
        memory_pool : pyarrow.MemoryPool, optional
            If not passed, will allocate memory from the default memory pool.

        Examples
        --------
        >>> import pyarrow as pa
        >>> arr = pa.array(["a", "b", "c", None, "e"])
        >>> mask = pa.array([True, False, None, False, True])
        >>> arr.filter(mask)
        <pyarrow.lib.StringArray object at ...>
        [
          "a",
          "e"
        ]
        >>> arr.filter(mask, null_selection_behavior='emit_null')
        <pyarrow.lib.StringArray object at ...>
        [
          "a",
          null,
          "e"
        ]
        )r@   rÛ  Ú__doc__ÚtextwrapÚdedentrß   Úmin_element_wiseÚfilterrá   rE   r;   Útest_generated_docstringsrí  `  s¹   € ä�:‰:×Ñ¤§¡ð 42ó 4"ò 4ð 4ð 4ôl �6‰6�>‰>œXŸ_™_ð .ó ò ð ð ô" ×Ñ×&Ñ&¬(¯/©/ð ;ó +ò ð ð ô$ �9‰9×Ñ¤§¡ð '1ó '!ò 'ð 'ñ 'rE   c                  óh  — t        j                  t        j                  «      } t	        | «      dk(  sJ ‚t        j                  t        j
                  «      } t	        | «      dk(  sJ ‚t        j                  t        j                  «      } t	        | «      dk(  sJ ‚t        j                  t        j                  «      } t	        | «      dk(  sJ ‚t        j                  t        j                  «      } t	        | «      dk(  sJ ‚t        j                  t        j                  «      } t	        | «      dk(  sJ ‚y )Nz(x, y, /, *, memory_pool=None)zK(array, /, *, skip_nulls=True, min_count=1, options=None, memory_pool=None)zj(array, /, q=0.5, *, interpolation='linear', skip_nulls=True, min_count=0, options=None, memory_pool=None)zZ(*strings, null_handling='emit_null', null_replacement='', options=None, memory_pool=None)z'(indices, /, *values, memory_pool=None)z<(n, *, initializer='system', options=None, memory_pool=None))
rH   rI   r@   rß   ÚstrrÛ  ÚquantileÚbinary_join_element_wiseÚchooseÚrandom)rP   s    r;   Útest_generated_signaturesrô  å  s  € ô
 ×
Ñ
œBŸF™FÓ
#€CÜˆs‹8Ð7Ò7Ð7Ð7ä
×
Ñ
œBŸJ™JÓ
'€CÜˆs‹8ð :ò ;ð ;ð ;ô ×
Ñ
œBŸK™KÓ
(€CÜˆs‹8ð :ò ;ð ;ð ;ô ×
Ñ
œB×7Ñ7Ó
8€CÜˆs‹8ð ,ò -ð -ð -ô ×
Ñ
œBŸI™IÓ
&€CÜˆs‹8Ð@Ò@Ð@Ð@ä
×
Ñ
œBŸI™IÓ
&€CÜˆs‹8ð :ò ;ð ;ñ ;rE   c                  óv  — t        «       } t        dd«      D �cg c]  }d|cxk  rdk  sn t        |«      ‘Œ }}t        j                  t        j                  |«      «      j                  «       }t        |«      D ]6  \  }}||   |j                  «       k7  sŒ| j                  t        |«      «       Œ8 | S c c}w )Né€   é  é Ø  é à  )Úsetr²  Úchrr@   Úutf8_is_printabler’   r·   r(  Ú	enumerateÚisprintablerß   Úord)Únewrœ  r¤  Úis_printableÚis        r;   Úfind_new_unicode_codepointsr    s¤   € ä
‹%€CÜ"'¨¨gÓ"6ö 1˜QØ  AÔ.¨Ô.ô �a•&ð 1€Jð 1ä×'Ñ'¬¯©°Ó(<Ó=×GÑGÓI€LÜ˜*Ó%ò ‰ˆˆ1Ø˜‰?˜aŸm™m›oÓ-Ø�G‰G”C˜“F�Oðð €Jùò1s   ™B6iò  ió  >’   é,  é-  é.  é/  é0  é1  é2  é3  é4  é5  é6  é7  é8  é9  é:  é;  é<  é=  é>  é?  é@  éA  éB  éC  éD  éE  éF  éG  éH  éI  éJ  éK  éL  éM  éN  éO  éP  éQ  éR  éS  éT  éU  éV  éW  éX  éY  éZ  é[  é\  é\«  é]  é]«  é^  é^«  é_  é_«  é`  éa  éb  éc  éd  ée  éf  ég  éh  éi  éj  ép§  éq   éx  éz  é|,  é},  é   é�   é‘   é’   é“   é”   é•   é–   é—   é˜   é™   éš   é›  é›   éœ  éœ   éœ¦  é�  é�¦  éž  éŸ  é   é¡  é¢  é£  é¤  é¥  é¦  é§  é¨  é©  éª  é«  é¬  é­  é®  é¯  é°  é°  é±  é±  é²  é²  é³  é³  é´  é´  éµ  éµ  é¶  é¶  é·  é·  é¸  é¸  é¹  éº  é»  é¼  é½  é¾  é¿  éÀ  éÁ  éà  éá  éâ  éã  éä  éø§  éù§  éª   éº   >H   éÅ éÆ éÇ éÈ éÉ éÊ éË é N  éN  éQ  é4  éo  éN  é	N  é_  éO  é_  é_  é_  é!–  é*8  é,„  é0�  éAS  éCS  éDS  éES  éFQ  éF–  éLS  éLc  éL–  éM;  é]N  éiQ  ékQ  ékù  émQ  épO  ésù  éx–  éxù  éz^  é~v  éƒ4  é†€  éŒN  é”N  é–N  é–s  é®Œ  é²ù  é³Œ  é¿N  éÀN  éÁS  éÂS  éÃS  éÄS  éÑù  éÒg  éÓù  éÛV  éßN  éèN  éñX  éö–  éùX  éýù  éþ^  éþb  éÿ^  >l   é@
 éA
 éB
 éC
 é` é`$  éa éa$  éb éb$  éc éc$  éd éd$  ée ée$  éf éf$  ég ég$  éh éh$  éi  éj  ék  él  ém  én  éo  ép  ép   éq  ét   ét$  éu   éu$  év   év$  év'  éw   éw$  éw'  éx   éx$  éx'  éy   éy$  éy'  éz$  éz'  é{$  é{'  é|$  é|'  é}'  é~'  é€   é€'  é�   é�'  é‚   é‚'  éƒ   éƒ'  é„   é„'  é…   é…'  é†   é†'  é‡   é‡'  éˆ   éˆ$  éˆ'  é‰   é‰$  éŠ$  éŠ'  é‹$  é‹'  éŒ$  éŒ'  é�$  é�'  éŽ$  éŽ'  é�$  é�'  é�$  é�'  é‘'  é’'  éÚ  éê$  éõ$  éö$  é÷$  éø$  éù$  éú$  éû$  éü$  éý$  éÿ$  é²   é³   é¹   >A   r�  rž  rŸ  r   r¡  r¢  r£  r¤  r¥  r¦  r§  r¨  r©  rª  r«  r¬  r­  r®  r¯  r°  r±  r²  r³  r´  rµ  r¶  r·  r¸  r¹  rº  r»  r¼  r½  r¾  r¿  rÀ  rÁ  rÂ  rÃ  rÄ  rÅ  rÆ  rÇ  rÈ  rÉ  rÊ  rË  rÌ  rÍ  rÎ  rÏ  rÐ  rÑ  rÒ  rÓ  rÔ  rÕ  rÖ  r×  rØ  rÙ  rÚ  rÛ  rÜ  rÝ  )Úis_alnumÚis_alphaÚis_digitÚ
is_numericÚis_lowerÚfunction_name)
rJ  rK  Úis_asciiÚ
is_decimalrL  rN  rM  r  Úis_spaceÚis_upperÚvariantÚasciiÚutf8c                 óÌ  — |dz   | z   }| j                  dd«      }t        j                  | t        «       «      t	        «       z  }t        t        rdnd«      D ]‹  }|t        dd«      v rŒ||v rŒt        |«      }t        t        |«      sŒ3| dk7  sŒ9t        j                  |g«      }t        t        |«      } ||«      d   j                  «        t        ||«      «       k(  rŒ‹J ‚ y )	NÚ_r«  rö  r÷  rø  rù  rR  r   )ÚreplaceÚcodepoints_ignoreÚgetrú  r  r²  rU  rû  Úhasattrr@   r’   r·   r  r2  )	rO  rT  Ú
arrow_nameÚpy_nameÚignorer  rœ  ÚarÚ
arrow_funcs	            r;   Útest_string_py_compat_booleanrb  h  sÝ   € ð ˜3‘ Ñ.€JØ×#Ñ# C¨Ó,€GÜ×"Ñ" =´#³%Ó8Ü#Ó%ñ&€Fä�%‘3 WÓ-ò FˆØ”�f˜fÓ%Ñ%Øà�‰;Øô �‹FˆÜ”2�zÕ" }¸
Ó'BÜ—‘˜1˜#“ˆBÜ ¤ ZÓ0ˆJÙ˜b“> !Ñ$×*Ñ*Ó,Ð0C´¸¸7Ó0CÓ0EÓEÐEÐEñFrE   c                  ót  — t        j                  g d¢«      } t        j                  | d¬«      j	                  «       g d¢k(  sJ ‚t        j
                  | d¬«      j	                  «       g d¢k(  sJ ‚t        j                  | d¬«      j	                  «       g d¢k(  sJ ‚t        j                  | d«      j	                  «       g d¢k(  sJ ‚t        j
                  | d«      j	                  «       g d¢k(  sJ ‚t        j                  | d«      j	                  «       g d¢k(  sJ ‚t        j                  g d¢«      } t        j                  | d¬«      j	                  «       g d¢k(  sJ ‚t        j                  | d¬«      j	                  «       g d	¢k(  sJ ‚t        j                  | d¬«      j	                  «       g d
¢k(  sJ ‚t        j                  | d«      j	                  «       g d¢k(  sJ ‚t        j                  | d«      j	                  «       g d	¢k(  sJ ‚t        j                  | d«      j	                  «       g d
¢k(  sJ ‚y )N)Nr   Úabcdr#   ©Úwidth)Nz a rd  )Nz  ard  )Nza  rd  )Nõ   Ã¡rd  )Nu    Ã¡ rd  )Nu     Ã¡rd  )Nu   Ã¡  rd  )
r’   r·   r@   Úascii_centerÚtolistÚ
ascii_lpadÚ
ascii_rpadÚutf8_centerÚ	utf8_lpadÚ	utf8_rpadr*  s    r;   Útest_padro  ‚  sÄ  € Ü
�(‰(Ò&Ó
'€CÜ�?‰?˜3 aÔ(×/Ñ/Ó1Ò5JÒJÐJÐJÜ�=‰=˜ AÔ&×-Ñ-Ó/Ò3HÒHÐHÐHÜ�=‰=˜ AÔ&×-Ñ-Ó/Ò3HÒHÐHÐHÜ�?‰?˜3 Ó"×)Ñ)Ó+Ò/DÒDÐDÐDÜ�=‰=˜˜aÓ ×'Ñ'Ó)Ò-BÒBÐBÐBÜ�=‰=˜˜aÓ ×'Ñ'Ó)Ò-BÒBÐBÐBä
�(‰(Ò'Ó
(€CÜ�>‰>˜# QÔ'×.Ñ.Ó0Ò4JÒJÐJÐJÜ�<‰<˜ 1Ô%×,Ñ,Ó.Ò2HÒHÐHÐHÜ�<‰<˜ 1Ô%×,Ñ,Ó.Ò2HÒHÐHÐHÜ�>‰>˜#˜qÓ!×(Ñ(Ó*Ò.DÒDÐDÐDÜ�<‰<˜˜QÓ×&Ñ&Ó(Ò,BÒBÐBÐBÜ�<‰<˜˜QÓ×&Ñ&Ó(Ò,BÒBÐBÑBrE   c                  óŠ  — t         j                  t         j                  u sJ ‚g d¢} t        dd«      D ]s  }t	        j
                  | «      }t        j                  ||¬«      j                  «       }| D �cg c]  }|�|j                  |«      nd ‘Œ }}||k(  rŒeJ d|› d|› d|› �«       ‚ t	        j
                  g d¢«      }t        j                  |t        j                  d	d
¬«      ¬«      j                  «       }|g d¢k(  sJ ‚t	        j
                  g d¢«      }t        j                  |t        j                  dd¬«      ¬«      j                  «       }|g d¢k(  sJ ‚t	        j
                  dg«      }t        j                  t        j                  d¬«      5  t        j                  |t        j                  dd¬«      ¬«       d d d «       t        j                  t        j                  d¬«      5  t        j                  |t        j                  dd¬«      ¬«       d d d «       y c c}w # 1 sw Y   ŒixY w# 1 sw Y   y xY w)N)ÚAr}  ÚABCr«  ú-1z+1ra   Nr   r'   re  zMismatch at width=z: z vs )ra   z-2z+3r   u   ðŸ’ )rf  ÚpaddingrÚ  )u   ðŸ’ ðŸ’ ðŸ’ ðŸ’ 1u   -ðŸ’ ðŸ’ ðŸ’ 2u   +ðŸ’ ðŸ’ ðŸ’ 3r&   Úx)Úxxx1z-xx2z+xx3r  zPadding must be one codepointr.   Úspamr«  )r@   Ú
utf8_zfillÚutf8_zero_fillr²  r’   r·   r(  ÚzfillrÇ   r4   r5   r[  )Úexamplesrf  r  r…  ru  r  s         r;   Útest_utf8_zfillr|  ”  sø  € Ü�=‰=œB×-Ñ-Ñ-Ð-Ð-ò =€HÜ�q˜!“ò XˆÜ�h‰h�xÓ ˆÜ×"Ñ" 3¨eÔ4×>Ñ>Ó@ˆØGOÖPÀ! a m�A—G‘G˜E”N¸Ñ=ÐPˆÐPØ˜Ó!ÐWÐ%7¸°w¸bÀÀÈÈXÈJÐ#WÓWÐ!ð	Xô �(‰(Ò$Ó
%€CÜ×Ñ˜s¬B×,>Ñ,>Ø˜ô-!ô "ß"+¡)£+ð àÒNÒNÐNÐNô �(‰(Ò$Ó
%€CÜ×Ñ˜s¬B×,>Ñ,>Ø˜ô-ô ß(™y›{ð àÒ-Ò-Ð-Ð-ô �(‰(�E�7Ó
€CÜ	�‰”r—‘Ð.MÔ	Nñ TÜ
×Ñ˜#¤r×'9Ñ'9ÀÈ6Ô'RÕS÷Tä	�‰”r—‘Ð.MÔ	Nñ PÜ
×Ñ˜#¤r×'9Ñ'9ÀÈ2Ô'NÕO÷Pð Pùò' Q÷"Tð Tú÷Pð Pús   Á4H(Æ-H-Ç2-H9È-H6È9Ic                  óV  — t        dd«      } t        j                  g d¢«      }|j                  «       j	                  t
        «      j                  t        j                  d i«      }| D ]  }| D ]x  }|j                  j                  ||d«      }t        j                  |||d¬«      }|j                  «       |j                  «       k(  sJ ‚t        j                  |||d«      |k(  rŒxJ ‚ Œ� t        j                  g d¢«      }|j                  «       j	                  t
        «      j                  t        j                  d i«      }| D ]b  }| D ][  }|j                  j                  ||d«      }t        j                  |||d¬«      }|j                  «       |j                  «       k(  rŒ[J ‚ Œd y )Nr­  r&   )Nr«  r   ry  r—  rd  ÚabcdeÚXX)rV   r°  Úreplacement)Nr«  u   Ï€u   Ï€bu   Ï€bÎ¸u   Ï€bÎ¸du   Ï€bÎ¸de)r²  r’   r·   Ú	to_pandasÚastyper3   rY  r  Únanrï  Úslice_replacer@   Úbinary_replace_sliceri  Úutf8_replace_slice)Úoffsetsr  ÚseriesrV   r°  r  r½  s          r;   Útest_replace_slicer‰  ³  sv  € ä�B˜‹l€Gä
�(‰(Ò@Ó
A€CØ�]‰]‹_×#Ñ#¤FÓ+×3Ñ3´R·V±V¸T°NÓC€FØò MˆØò 	MˆDØ—z‘z×/Ñ/°°t¸TÓBˆHÜ×,Ñ,Ø˜5 t¸ô?ˆFà—=‘=“? h§o¡oÓ&7Ò7Ð7Ð7ä×*Ñ*¨3°°t¸TÓBÀfÓLÐLÐLñ	MðMô �(‰(ÒHÓ
I€CØ�]‰]‹_×#Ñ#¤FÓ+×3Ñ3´R·V±V¸T°NÓC€FØò 8ˆØò 	8ˆDØ—z‘z×/Ñ/°°t¸TÓBˆHÜ×*Ñ*Ø˜5 t¸ô?ˆFà—=‘=“? h§o¡oÓ&7Ó7Ð7Ð7ñ		8ñ8rE   c                  ó¬  — t        j                  g d¢«      } t        j                  | dd¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | dd«      }|j	                  «       g d¢k(  sJ ‚t        j                  | ddd¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | ddd¬	«      }|j	                  «       g d¢k(  sJ ‚y )
N)ÚfoozfooÚfoodNr  r  ©r\   r€  )ÚbarzbarÚbardNr$   )r\   r€  Úmax_replacements)Úbarzfoor�  N)r�  )r’   r·   r@   Úreplace_substringri  )rc  r`  s     r;   Útest_replace_plainr“  Ì  s¼   € Ü�8‰8Ò-Ó.€DÜ	×	Ñ	˜d¨E¸uÔ	E€BØ�9‰9‹;Ò3Ò3Ð3Ð3Ü	×	Ñ	˜d E¨5Ó	1€BØ�9‰9‹;Ò3Ò3Ð3Ð3ä	×	Ñ	˜d¨E¸uØ/0ô
2€Bà�9‰9‹;Ò3Ò3Ð3Ð3Ü	×	Ñ	˜d E¨5À1Ô	E€BØ�9‰9‹;Ò3Ò3Ð3Ñ3rE   c                  óF  — t        j                  g d¢«      } g d¢}t        j                  | dd¬«      }|j	                  «       |k(  sJ ‚t        j                  | dd¬«      }|j	                  «       |k(  sJ ‚t        j                  | dd«      }|j	                  «       |k(  sJ ‚y )N)r  ÚmoodN)Úf00Úm00dNz(.)ooz\100r�  )r€  )r’   r·   r@   Úreplace_substring_regexri  )rc  r  r`  s      r;   Útest_replace_regexr™  Ú  sŽ   € Ü�8‰8Ò)Ó*€DÚ$€HÜ	×	#Ñ	# D°'ÀwÔ	O€BØ�9‰9‹;˜(Ò"Ð"Ð"Ü	×	#Ñ	# D¨'¸wÔ	G€BØ�9‰9‹;˜(Ò"Ð"Ð"Ü	×	#Ñ	# D¨'°7Ó	;€BØ�9‰9‹;˜(Ò"Ð"Ñ"rE   c                  óô   — t        j                  ddg«      } dddœdddœg}t        j                  | d¬	«      }|j	                  «       |k(  sJ ‚t        j                  | d«      }|j	                  «       |k(  sJ ‚y )
NÚa1Úzb2zr   ra   ©ÚletterÚdigitr   rb   z(?P<letter>[ab])(?P<digit>\d)rÃ  )r’   r·   r@   Úextract_regexri  ©r`  r  Ústructs      r;   Útest_extract_regexr£  å  sv   € Ü	�‰�4˜�.Ó	!€BØ¨Ñ-¸#ÈÑ/LÐM€HÜ×Ñ˜bÐ*JÔK€FØ�=‰=‹?˜hÒ&Ð&Ð&Ü×Ñ˜bÐ"BÓC€FØ�=‰=‹?˜hÒ&Ð&Ñ&rE   c                  ó  — t        j                  ddg«      } ddgddgdœddgddgdœg}t        j                  | d¬	«      }|j	                  «       |k(  sJ ‚t        j                  | d«      }|j	                  «       |k(  sJ ‚y )
Nr›  Úzb234zr   r$   r�  r%   r#   z(?P<letter>[ab])(?P<digit>\d+)rÃ  )r’   r·   r@   Úextract_regex_spanri  r¡  s      r;   Útest_extract_regex_spanr§  î  sŠ   € Ü	�‰�4˜Ð"Ó	#€BØ˜q˜6¨Q°¨FÑ3Ø˜q˜6¨Q°¨FÑ3ð5€Hä×"Ñ" 2Ð/PÔQ€FØ�=‰=‹?˜hÒ&Ð&Ð&Ü×"Ñ" 2Ð'HÓI€FØ�=‰=‹?˜hÒ&Ð&Ñ&rE   c                  ó2  — t        j                  ddgd g g«      } t        j                  g d¢«      }t        j                  | d«      j	                  |«      sJ ‚t        j                  ddgt        j
                  «       ¬«      }t        j                  dd	gt        j
                  «       ¬«      }t        j                  d
dgddggt        j                  t        j
                  «       «      ¬«      } t        j                  | |«      j	                  |«      sJ ‚y )Nr  r  )zfoo-barNr«  ú-ra   rb   r/  Úa1bÚc2dr   r   rœ  Úd)r’   r·   r@   Úbinary_joinr  r   Úlist_)Úar_listr  Úseparator_arrays      r;   Útest_binary_joinr±  ø  sÈ   € Ü�h‰h˜ ˜¨¨bÐ1Ó2€GÜ�x‰xÒ-Ó.€HÜ�>‰>˜' 3Ó'×.Ñ.¨xÔ8Ð8Ð8ä—h‘h  S˜z´·	±	³Ô<€OÜ�x‰x˜ ˜¬R¯Y©Y«[Ô9€HÜ�h‰h˜˜c˜
 S¨# JÐ/´b·h±h¼r¿y¹y»{Ó6KÔL€GÜ�>‰>˜' ?Ó3×:Ñ:¸8ÔDÐDÑDrE   c                  ó°  — t        j                  d t        j                  «       ¬«      } g d¢g d¢g d¢g}t        j                  |Ž j                  «       g d¢k(  sJ ‚t        j                  ddd«      j                  «       d	k(  sJ ‚t        j                  d| d«      j                  «       �J ‚t        j                  dd| «      j                  «       �J ‚t        j                  d
¬«      }t        j                  |d|iŽj                  «       g d¢k(  sJ ‚t        j                  ddd|¬«      j                  «       d	k(  sJ ‚t        j                  d| d|¬«      j                  «       dk(  sJ ‚t        j                  dd| |¬«      j                  «       �J ‚t        j                  dd¬«      }t        j                  |d|iŽj                  «       g d¢k(  sJ ‚t        j                  ddd|¬«      j                  «       d	k(  sJ ‚t        j                  d| d|¬«      j                  «       dk(  sJ ‚t        j                  dd| |¬«      j                  «       �J ‚y )Nr/  )Nr   r   )rœ  Nr¬  )Nr©  z--)NNúb--dr   r   r©  za-bÚskip)Únull_handlingr×   )Nr   r³  rÚ  rY  rw  )rµ  Únull_replacement)Núa-spamr³  r·  )r’   rœ   r   r@   rñ  r(  r2  r�   )ÚnullÚarrsr´  rY  s       r;   Útest_binary_join_element_wiserº    sO  € Ü�9‰9�T¤§	¡	£Ô,€DÚÒ.Ò0AÐB€DÜ×&Ñ&¨Ð-×7Ñ7Ó9Úòð ð ä×&Ñ& s¨C°Ó5×;Ñ;Ó=ÀÒFÐFÐFÜ×&Ñ& s¨D°#Ó6×<Ñ<Ó>ÐFÐFÐFÜ×&Ñ& s¨C°Ó6×<Ñ<Ó>ÐFÐFÐFä�>‰>¨Ô/€DÜ×&Ñ&¨Ð;°dÑ;×EÑEÓGÚòð ð ä×&Ñ&ØˆS�#˜tô%ß%*¡U£W°ò6ð 6ð 6ä×&Ñ&ØˆT�3 ô&ß&+¡e£g°ò5ð 5ð 5ä×&Ñ&ØˆS�$ ô&ß&+¡e£gð6ð 6ð 6ô �n‰n¨9ÀvÔN€GÜ×&Ñ&¨Ð>°gÑ>×HÑHÓJÚ ò!ð !ð !ä×&Ñ&ØˆS�#˜wô(ß(-©«°5ò9ð 9ð 9ä×&Ñ&ØˆT�3 ô)ß).©«°Hò=ð =ð =ä×&Ñ&ØˆS�$ ô)ß).©«ð9ð 9ñ 9rE   )rƒ  rK   c                 óŠ  — t        j                  || ¬«      }t        j                  «       t        j                  «       fD ]Õ  }t        j                  g d¢|¬«      }|j	                  |«      }|j                  «        t        j                  |d   |d   |d   d g| ¬«      }|j                  |«      sJ ‚t        j                  g |¬«      }|j	                  |«      }|j                  «        t        j                  g | ¬«      }|j                  |«      rŒÕJ ‚ t        j                  ddg«      }t        j                  t        «      5  |j	                  |«       d d d «       t        j                  ddg«      }t        j                  t        «      5  |j	                  |«       d d d «       y # 1 sw Y   ŒTxY w# 1 sw Y   y xY w)Nr/  ©r   r&   r%   Nr   r&   r%   r   r]   )
r’   r·   r   r   r
  Úvalidater  r4   r5   Ú
IndexError)rƒ  rK   r  Úindices_typer‚   r…  r  s          r;   Ú	test_takerÀ  !  sd  € ä
�(‰(�6 Ô
#€CÜŸ™›¤B§H¡H£JÐ/ò 'ˆÜ—(‘(š?°Ô>ˆØ—‘˜'Ó"ˆØ�‰ÔÜ—8‘8˜V A™Y¨¨q©	°6¸!±9¸dÐCÈ"ÔMˆØ�}‰}˜XÔ&Ð&Ð&ô —(‘(˜2 LÔ1ˆØ—‘˜'Ó"ˆØ�‰ÔÜ—8‘8˜B RÔ(ˆØ�}‰}˜XÕ&Ð&Ð&ð'ô �h‰h˜˜1�vÓ€GÜ	�‰”zÓ	"ñ Ø�‰�Ô÷ô �h‰h˜˜2�wÓ€GÜ	�‰”zÓ	"ñ Ø�‰�Ô÷ð ÷	ð ú÷ð ús   ÅF-ÆF9Æ-F6Æ9Gc                  ó   — t        j                  t        d«      «      } dD ]f  }t        j                  g d¢|¬«      }| j                  |«      }|j	                  «        t        j                  g d¢«      }|j                  |«      rŒfJ ‚ t        j                  «       t        j                  «       fD ]N  }t        j                  g d¢|¬«      }t        j                  t        «      5  | j                  |«       d d d «       ŒP y # 1 sw Y   Œ[xY w)Nr   )r
   r   r   r   r   r   r   r   r¼  r/  )r   r&   r%   )r’   r·   r²  r
  r½  r  Úfloat32Úfloat64r4   r5   rÖ  )r  r¿  r‚   r…  r  s        r;   Útest_take_indices_typesrÄ  ;  sÒ   € Ü
�(‰(”5˜“8Ó
€Cð?ò 'ˆä—(‘(š?°Ô>ˆØ—‘˜'Ó"ˆØ�‰ÔÜ—8‘8šOÓ,ˆØ�}‰}˜XÕ&Ð&Ð&ð'ô Ÿ™›¤r§z¡z£|Ð4ò ˆÜ—(‘(š9¨<Ô8ˆÜ�]‰]Ô.Ó/ñ 	Ø�H‰H�WÔ÷	ð 	ñ÷	ð 	ús   Ã'DÄD	c                  ó�  — t        j                  g d¢g d¢g«      } t        j                  g d¢«      }| j                  |«      }t        j                  g d¢g«      }|j	                  |«      sJ ‚t        j                  dgddgg«      }| j                  |«      }t        j                  dgd	d
gg«      }|j	                  |«      sJ ‚y )N)r   r   rœ  r¬  Úe)ÚfÚgÚhr  Új)r   r   r$   r'   r(   r%   )r   rÇ  r   rÈ  rÊ  rœ  r$   r(   r%   r   rÊ  rœ  )r’   rJ  r·   r
  r  )r  r‚   r…  r  s       r;   Útest_take_on_chunked_arrayrË  L  sÌ   € ä
×
Ñ
ò	
ò	
ðó €Cô" �h‰hÒ)Ó*€GØ�X‰X�gÓ€FÜ×ÑÒ!?Ð @ÓA€HØ�=‰=˜Ô"Ð"Ð"ä×Ñ   a¨ V˜}Ó-€GØ�X‰X�gÓ€FÜ×Ñàð	
ð Øð	
ð	!ó €Hð �=‰=˜Ô"Ð"Ñ"rE   ÚorderedFTc                 ó`  — t         j                  j                  g d¢g d¢| ¬«      }|j                  t        j                  g d¢«      «      }|j                  «        |j                  «       g d¢k(  sJ ‚|j                  j                  «       g d¢k(  sJ ‚|j                  j                  | u sJ ‚y )N)r   r$   r%   r   r$   r%   ©r   r   rœ  )rÌ  )r   r$   r#   )r   r   r   )
r’   ÚDictionaryArrayÚfrom_arraysr
  r·   r½  r(  Ú
dictionaryrÌ   rÌ  )rÌ  r  r…  s      r;   Útest_take_dictionaryrÒ  r  s’   € ä
×
Ñ
×
(Ñ
(Ò);º_Ø18ð )ó :€Cà�X‰X”b—h‘hšyÓ)Ó*€FØ
‡O�OÔØ×ÑÓ¢Ò0Ð0Ð0Ø×Ñ×&Ñ&Ó(ªOÒ;Ð;Ð;Ø�;‰;×Ñ 'Ñ)Ð)Ñ)rE   c                  ó2  — t        j                  d gdz  «      } t        j                  d gdz  gdz  «      }t        j                  | gdg¬«      }t        j                  d| i«      }t        j                  g d¢«      }t        | j                  |«      «      dk(  sJ ‚t        |j                  |«      «      dk(  sJ ‚t        |j                  |«      j                  d«      «      dk(  sJ ‚t        |j                  |«      j                  d«      «      dk(  sJ ‚y )	Nr   r   r%   r   ©r`   )r$   r#   r_  Nr&   r   )r’   r·   rJ  Úrecord_batchÚtabler1   r
  Úcolumn)r  Úchunked_arrÚbatchrÖ  r‚   s        r;   Útest_take_null_typerÚ  }  sï   € ä
�(‰(�D�6˜B‘;Ó
€CÜ×"Ñ" T F¨Q¡J <°!Ñ#3Ó4€KÜ�O‰O˜S˜E¨#¨Ô/€EÜ�H‰H�c˜3�ZÓ €Eä�h‰h’Ó'€GÜˆs�x‰x˜Ó Ó! QÒ&Ð&Ð&Üˆ{×Ñ Ó(Ó)¨QÒ.Ð.Ð.Üˆu�z‰z˜'Ó"×)Ñ)¨!Ó,Ó-°Ò2Ð2Ð2Üˆu�z‰z˜'Ó"×)Ñ)¨!Ó,Ó-°Ò2Ð2Ñ2rE   c                 óP  — t        j                  || ¬«      }|j                  «       }|j                  d¬«       t	        t        |«      «      D �cg c]  }||   j                  sŒ|‘Œ }}|j                  t        j                  |«      «      }|j                  |«      sJ ‚y c c}w )Nr/  T©Úfull)	r’   r·   Ú	drop_nullr½  r²  r1   rå  r
  r  )rƒ  rK   r  r…  r  r‚   r  s          r;   Útest_drop_nullrß  ‹  s~   € ä
�(‰(�6 Ô
#€CØ�]‰]‹_€FØ
‡O�O˜€OÔÜ¤ C£›/Ö=�Q¨S°©V¯_«_ŠqÐ=€GÐ=Ø�x‰xœŸ™ Ó)Ó*€HØ�=‰=˜Ô"Ð"Ñ"ùò >s   ÁB#Á%B#c                  ó¾   — t        j                  dd gg d¢d gg g«      } t        j                  dgddgg g g«      }| j                  «       }|j                  |«      sJ ‚y )Nr   ©rœ  r¬  Nrœ  r¬  )r’   rJ  rÞ  r  )r  Úexpected_dropr…  s      r;   Útest_drop_null_chunked_arrayrã  •  s^   € Ü
×
Ñ
˜S $˜KÒ)9¸D¸6À2ÐFÓ
G€CÜ×$Ñ$ s e¨c°3¨Z¸¸RÐ%@ÓA€Mà�]‰]‹_€FØ�=‰=˜Ô'Ð'Ñ'rE   c                  óX  — t        j                  t        j                  g d¢«      gdg¬«      } | j                  «       }t        j                  t        j                  g d¢«      gdg¬«      }|j	                  |«      sJ ‚t        j                  t        j                  g d¢«      t        j                  g d¢«      gddg¬«      } | j                  «       }t        j                  t        j                  dg«      t        j                  dg«      gddg¬«      }|j	                  |«      sJ ‚y )N©r   Nrœ  r¬  Núa'rÔ  ©r   rœ  r¬  )NNrœ  NrÆ  zb'rœ  )r’   rÕ  r·   rÞ  r  )rÙ  r…  r  s      r;   Útest_drop_null_record_batchrè  �  sæ   € Ü�O‰OÜ	�‰Ò-Ó	.Ð/¸°vô?€Eà�_‰_Ó€FÜ�‰¤§¡ªÓ 9Ð:À4À&ÔI€HØ�=‰=˜Ô"Ð"Ð"ä�O‰OÜ	�‰Ò-Ó	.Ü	�‰Ò.Ó	/ð	1Ø9=¸t¸ôF€Eð �_‰_Ó€FÜ�‰Ü	�‰�3�%‹œ"Ÿ(™( C 5›/Ð*°4¸°,ô@€Hà�=‰=˜Ô"Ð"Ñ"rE   c                  ó¢  — t        j                  t        j                  g d¢«      gdg¬«      } t        j                  t        j                  g d¢«      gdg¬«      }| j                  «       }|j	                  |«      sJ ‚t        j                  t        j
                  dd gg d¢g«      t        j
                  dd gg d¢g«      t        j
                  dgdgd gdd gg«      gg d	¢¬«      } t        j                  t        j                  ddg«      t        j                  ddg«      t        j                  ddg«      gg d	¢¬«      }| j                  «       }|j	                  |«      sJ ‚t        j                  t        j
                  ddgg d
¢g«      t        j
                  dgdgd gdd gg«      t        j
                  dd gg d¢g«      gg d	¢¬«      } t        j                  t        j                  ddg«      t        j                  ddg«      t        j                  ddg«      gg d	¢¬«      }| j                  «       }|j	                  |«      sJ ‚y )Nrå  r   rÔ  rç  rá  )Nr¬  Nr   r¬  rÎ  ©rœ  r¬  rÆ  rq  ÚBÚDza`)zc`úd`Nrí  )r’   rÖ  r·   rÞ  r  rJ  )rÖ  r  r…  s      r;   Útest_drop_null_tablerî  ®  s   € Ü�H‰H”b—h‘hÒ:Ó;Ð<ÀSÀEÔJ€EÜ�x‰xœŸ™¢/Ó2Ð3¸C¸5ÔA€HØ�_‰_Ó€FØ�=‰=˜Ô"Ð"Ð"ä�H‰H”b×&Ñ&¨¨d¨Ò5EÐ'FÓGÜ×&Ñ&¨¨d¨Ò5FÐ'GÓHÜ×&Ñ&¨¨°¨u°t°f¸sÀD¸kÐ'JÓKðMò +ô,€Eô �x‰xœŸ™ 3¨ *Ó-ÜŸ™ 3¨ *Ó-ÜŸ™ 3¨ *Ó-ð/ò .ô/€Hð �_‰_Ó€FØ�=‰=˜Ô"Ð"Ð"ä�H‰H”b×&Ñ&¨¨c¨
²OÐ'DÓEÜ×&Ñ&¨¨°¨u°t°f¸sÀD¸kÐ'JÓKÜ×&Ñ&¨¨t¨Ò6HÐ'IÓJðLò +ô,€Eô �x‰xœŸ™ 3¨ *Ó-ÜŸ™ 3¨ *Ó-ÜŸ™ 4¨ ,Ó/ð1ò .ô/€Hð �_‰_Ó€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  óü  — t        j                  d gdz  «      } t        j                  d gdz  gdz  «      }t        j                  | gdg¬«      }t        j                  d| i«      }t        | j                  «       «      dk(  sJ ‚t        |j                  «       «      dk(  sJ ‚t        |j                  «       j                  d«      «      dk(  sJ ‚t        |j                  «       j                  d«      «      dk(  sJ ‚y )Nr   r   r%   r   rÔ  r   )r’   r·   rJ  rÕ  rÖ  r1   rÞ  r×  )r  rØ  rÙ  rÖ  s       r;   Útest_drop_null_null_typerð  Ë  sØ   € Ü
�(‰(�D�6˜B‘;Ó
€CÜ×"Ñ" T F¨Q¡J <°!Ñ#3Ó4€KÜ�O‰O˜S˜E¨#¨Ô/€EÜ�H‰H�c˜3�ZÓ €Eäˆs�}‰}‹Ó 1Ò$Ð$Ð$Üˆ{×$Ñ$Ó&Ó'¨1Ò,Ð,Ð,Üˆu�‰Ó ×'Ñ'¨Ó*Ó+¨qÒ0Ð0Ð0Üˆu�‰Ó ×'Ñ'¨Ó*Ó+¨qÒ0Ð0Ñ0rE   c                 ó
  — t        j                  || ¬«      }t        j                  g d¢«      }|j                  |d¬«      }|j                  «        |j	                  t        j                  |d   |d   g| ¬«      «      sJ ‚|j                  |d¬«      }|j                  «        |j	                  t        j                  |d   |d   d g| ¬«      «      sJ ‚t        j                  g d¢«      }t        j                  t        «      5  |j                  |«       d d d «       t        j                  g d	¢«      }t        j                  t        d
¬«      5  |j                  |«       d d d «       y # 1 sw Y   ŒVxY w# 1 sw Y   y xY w)Nr/  ©TFFTNÚdrop©Únull_selection_behaviorr   r#   Ú	emit_null©r   r$   r   r$   r   ©TFTúmust all be the same lengthr.   )	r’   r·   rì  r½  r  r4   r5   rÖ  Ú
ValueError©rƒ  rK   r  Úmaskr…  s        r;   Útest_filterrý  ×  s3  € ä
�(‰(�6 Ô
#€Cä�8‰8Ò4Ó5€DØ�Z‰Z˜°fˆZÓ=€FØ
‡O�OÔØ�=‰=œŸ™ 6¨!¡9¨f°Q©iÐ"8¸rÔBÔCÐCÐCØ�Z‰Z˜°kˆZÓB€FØ
‡O�OÔØ�=‰=œŸ™ 6¨!¡9¨f°Q©i¸Ð">ÀRÔHÔIÐIÐIô �8‰8’OÓ$€DÜ	�‰Ô*Ó	+ñ Ø�
‰
�4Ô÷ô �8‰8Ò'Ó(€DÜ	�‰”zÐ)FÔ	Gñ Ø�
‰
�4Ô÷ð ÷ð ú÷
ð ús   ÄE-ÅE9Å-E6Å9Fc                 ó  — t        j                  || ¬«      }t        j                  g d¢«      }|j                  |d¬«      }|j	                  «        |j                  t        j                  |d   |d   g| ¬«      «      sJ ‚y )Nr/  rò  ró  rô  r   r#   )r’   r·   r  rì  r½  r  rû  s        r;   Útest_filter_numpy_array_maskrÿ  î  si   € ô �(‰(�6 Ô
#€Cä�8‰8Ò4Ó5€DØ�Z‰Z˜°fˆZÓ=€FØ
‡O�OÔØ�=‰=œŸ™ 6¨!¡9¨f°Q©iÐ"8¸rÔBÔCÐCÑCrE   c                  ó¨  — t        j                  dd gg d¢g«      } t        j                  dgdgg«      }t        j                  dgd dgg«      }t        j                  g d¢«      t        j                  g d¢ddgg«      g d¢fD ]L  }| j                  |«      }|j	                  |«      sJ ‚| j                  |d¬	«      }|j	                  |«      rŒLJ ‚ y )
Nr   rê  rÆ  ©TFNFTr'  FTrö  rô  )r’   rJ  r·   rì  r  )r  râ  Úexpected_nullrü  r…  s        r;   Útest_filter_chunked_arrayr  ù  sÏ   € Ü
×
Ñ
˜S $˜KªÐ9Ó
:€CÜ×$Ñ$ s e¨c¨U ^Ó4€MÜ×$Ñ$ s e¨d°C¨[Ð%9Ó:€Mô 	�‰Ò1Ó2ä
×ÑÒ-°°t¨}Ð=Ó>â(ðò ,ˆð —‘˜DÓ!ˆØ�}‰}˜]Ô+Ð+Ð+Ø—‘˜D¸+�ÓFˆØ�}‰}˜]Õ+Ð+Ð+ñ,rE   c                  ó\  — t        j                  t        j                  g d¢«      gdg¬«      } t        j                  g d¢«      }| j                  |«      }t        j                  t        j                  ddg«      gdg¬«      }|j	                  |«      sJ ‚t        j
                  ddgd gddgg«      }| j                  |«      }|j	                  |«      sJ ‚| j                  |d	¬
«      }t        j                  t        j                  g d¢«      gdg¬«      }|j	                  |«      sJ ‚y )N©r   Nrœ  r¬  rÆ  ræ  rÔ  r  r   rÆ  TFrö  rô  ©r   NrÆ  )r’   rÕ  r·   rì  r  rJ  )rÙ  rü  r…  r  Úchunked_masks        r;   Útest_filter_record_batchr    sý   € Ü�O‰OÜ	�‰Ò,Ó	-Ð.°t°fô>€Eô �8‰8Ò4Ó5€DØ�\‰\˜$Ó€FÜ�‰¤§¡¨#¨s¨Ó 4Ð5¸d¸VÔD€HØ�=‰=˜Ô"Ð"Ð"ô ×#Ñ# d¨E ]°T°F¸UÀD¸MÐ$JÓK€LØ�\‰\˜,Ó'€FØ�=‰=˜Ô"Ð"Ð"à�\‰\˜$¸ˆ\ÓD€FÜ�‰¤§¡Ò)9Ó :Ð;ÀDÀ6ÔJ€HØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó   — t        j                  t        j                  g d¢«      gdg¬«      } t        j                  t        j                  ddg«      gdg¬«      }t        j                  t        j                  g d¢«      gdg¬«      }t        j                  g d¢«      t        j                  ddgg d	¢g«      g d¢fD ]L  }| j	                  |«      }|j                  |«      sJ ‚| j	                  |d
¬«      }|j                  |«      rŒLJ ‚ y )Nr  r   rÔ  rÆ  r  r  TF)NFTrö  rô  )r’   rÖ  r·   rJ  rì  r  )rÖ  râ  r  rü  r…  s        r;   Útest_filter_tabler
     sã   € Ü�H‰H”b—h‘hÒ9Ó:Ð;ÀCÀ5ÔI€EÜ—H‘HœbŸh™h¨¨S zÓ2Ð3¸C¸5ÔA€MÜ—H‘HœbŸh™hÒ'7Ó8Ð9À#ÀÔG€Mô 	�‰Ò1Ó2ä
×Ñ˜4 ˜-Ò)<Ð=Ó>â(ðò ,ˆð —‘˜dÓ#ˆØ�}‰}˜]Ô+Ð+Ð+Ø—‘˜d¸K�ÓHˆØ�}‰}˜]Õ+Ð+Ð+ñ,rE   c                  ó4  — t        j                  dd gg d¢g«      } t        j                  t        j                  g d¢«      gdg¬«      }t        j                  t        j                  g d¢«      gdg¬«      }| ||fD ]¢  }t        j                  g d¢«      }t        j                  t        «      5  |j                  |«       d d d «       t        j                  g d¢«      }t        j                  t         j                  d¬	«      5  |j                  |«       d d d «       Œ¤ t        j                  d
«      }|||fD ]5  }t        j                  t        «      5  |j                  |«       d d d «       Œ7 y # 1 sw Y   Œ´xY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ[xY w)Nr   rê  r  ræ  rÔ  r÷  rø  rù  r.   T)r’   rJ  rÕ  r·   rÖ  r4   r5   rÖ  rì  r[  rœ   r6   )r  rÙ  rÖ  Úobjrü  rœ   Úfilts          r;   Útest_filter_errorsr  3  sR  € Ü
×
Ñ
˜S $˜KªÐ9Ó
:€CÜ�O‰OÜ	�‰Ò,Ó	-Ð.°t°fô>€Eä�H‰H”b—h‘hÒ9Ó:Ð;ÀCÀ5ÔI€Eà�U˜EÐ"ò 
ˆä�x‰xšÓ(ˆÜ�]‰]Ô.Ó/ñ 	Ø�J‰J�tÔ÷	ô �x‰xÒ+Ó,ˆÜ�]‰]œ2Ÿ?™?Ø!>ô@ñ 	à�J‰J�tÔ÷	ð 	ð
ô �Y‰Y�t‹_€FØ˜˜vÐ&ò ˆÜ�]‰]œ9Ó%ñ 	Ø�L‰L˜Ô÷	ð 	ñ÷	ð 	ú÷
	ñ 	ú÷	ð 	ús$   Â0E5ÄFÅFÅ5E>	ÆF	ÆF	c                  ó8  — t        j                  d gdz  «      } t        j                  d gdz  gdz  «      }t        j                  | gdg¬«      }t        j                  d| i«      }t        j                  ddgdz  «      }t        | j                  |«      «      dk(  sJ ‚t        |j                  |«      «      dk(  sJ ‚t        |j                  |«      j                  d«      «      dk(  sJ ‚t        |j                  |«      j                  d«      «      dk(  sJ ‚y )	Nr   r   r%   r   rÔ  TFr   )r’   r·   rJ  rÕ  rÖ  r1   rì  r×  )r  rØ  rÙ  rÖ  rü  s        r;   Útest_filter_null_typer  K  sø   € ä
�(‰(�D�6˜B‘;Ó
€CÜ×"Ñ" T F¨Q¡J <°!Ñ#3Ó4€KÜ�O‰O˜S˜E¨#¨Ô/€EÜ�H‰H�c˜3�ZÓ €Eä�8‰8�T˜5�M AÑ%Ó&€DÜˆs�z‰z˜$ÓÓ  AÒ%Ð%Ð%Üˆ{×!Ñ! $Ó'Ó(¨AÒ-Ð-Ð-Üˆu�|‰|˜DÓ!×(Ñ(¨Ó+Ó,°Ò1Ð1Ð1Üˆu�|‰|˜DÓ!×(Ñ(¨Ó+Ó,°Ò1Ð1Ñ1rE   c                  ó¼  — t        j                  g t        j                  «       ¬«      } t        j                  | g d¢dgg d¢dg| g«      }t        j                  g d¢gt        j                  «       ¬«      }t	        j
                  |«      j                  |«      sJ ‚t	        j                  dt        j                  «       ¬«      }t	        j
                  ||¬	«      j                  |«      sJ ‚t	        j
                  |d
¬«      j                  |«      sJ ‚t        j                  t        d¬«      5  t	        j
                  |d¬«       d d d «       y # 1 sw Y   y xY w)Nr/  )r(   r_  r   r#   r$   r   )r%   r&   r'   ró   )
r   r&   r'   r#   r_  r%   ró   r$   r(   r   r(   )Ú	max_indexÚoutput_typerÚ  r]   ©r  úIndex out of bounds: 9r.   r&   )r’   r·   r   rJ  r@   Úinverse_permutationr  ÚInversePermutationOptionsr4   r5   r   )Úarr0r  r  r×   s       r;   Útest_inverse_permutationr  Y  s	  € Ü�8‰8�BœRŸX™X›ZÔ(€DÜ
×
Ñ
ØŠo ˜s¢I°¨s°Dðó €Cô ×ÑÒ!?Ð @ÄrÇxÁxÃzÔR€HÜ×!Ñ! #Ó&×-Ñ-¨hÔ7Ð7Ð7ä×*Ñ*°QÄBÇHÁHÃJÔO€GÜ×!Ñ! #¨wÔ7×>Ñ>¸xÔHÐHÐHÜ×!Ñ! #°Ô4×;Ñ;¸HÔEÐEÐEä	�‰”Ð.FÔ	Gñ 1Ü
×Ñ˜s¨aÕ0÷1÷ 1ñ 1ús   Ä1EÅEc                  ó@  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  g d¢«      }t        j                  | |«      }|j	                  |«      sJ ‚t        j
                  d¬«      }t        j                  | ||¬«      j	                  |«      sJ ‚t        j                  | |d¬«      j	                  |«      sJ ‚t        j                  t        d¬	«      5  t        j                  | |d
¬«       d d d «       y # 1 sw Y   y xY w)N)
TFTTFFTTTF)
r(   ró   r_  r'   r   r&   r#   r%   r$   r   )
FTTTFFTTFTr]   r  rÚ  r(   r  r.   r&   )	r’   r·   r@   Úscatterr  ÚScatterOptionsr4   r5   r   )rK   r‚   r  r…  r×   s        r;   Útest_scatterr  i  sÛ   € Ü�X‰XÒVÓW€FÜ�h‰hÒ5Ó6€GÜ�x‰xò 8ó 9€Hä�Z‰Z˜ Ó(€FØ�=‰=˜Ô"Ð"Ð"ä×Ñ¨"Ô-€GÜ�:‰:�f˜g¨wÔ7×>Ñ>¸xÔHÐHÐHÜ�:‰:�f˜g°Ô3×:Ñ:¸8ÔDÐDÐDä	�‰”Ð.FÔ	Gñ 1Ü
�
‰
�6˜7¨aÕ0÷1÷ 1ñ 1ús   Ã2DÄDÚtypr·   rJ  c                 ó�  — | dk(  rd„ }nd„ } |g d¢«      } |g d¢«      }t        j                  ||«      }|j                   |g d¢«      «      sJ ‚t        j                  ||«      }|j                   |g d¢«      «      sJ ‚t        j                  ||«      }|j                   |g d¢«      «      sJ ‚t        j
                  ||«      }|j                   |g d	¢«      «      sJ ‚t        j                  ||«      }|j                   |g d
¢«      «      sJ ‚t        j                  ||«      }|j                   |g d¢«      «      sJ ‚y )Nr·   c                 ó,   — t        j                  | «      S rå   ©r’   r·   ©rK   s    r;   Úconztest_compare_array.<locals>.con|  ó   € Ü—8‘8˜FÓ#Ð#rE   c                 ó.   — t        j                  | g«      S rå   ©r’   rJ  r"  s    r;   r#  ztest_compare_array.<locals>.con  ó   € Ü×#Ñ# V HÓ-Ð-rE   r0  )r$   r$   r&   Nr&   )TFFNN)FTTNN)FFTNN)TFTNN)FTFNN)TTFNN)r@   r)  r  Ú	not_equalÚlessÚ
less_equalÚgreaterÚgreater_equal)r  r#  Úarr1Úarr2r…  s        r;   Útest_compare_arrayr/  y  s  € à
ˆg‚~ó	$ò	.ñ Ò!Ó"€DÙÒ!Ó"€Dä�X‰X�d˜DÓ!€FØ�=‰=™Ò=Ó>Ô?Ð?Ð?ä�\‰\˜$ Ó%€FØ�=‰=™Ò<Ó=Ô>Ð>Ð>ä�W‰W�T˜4Ó €FØ�=‰=™Ò=Ó>Ô?Ð?Ð?ä�]‰]˜4 Ó&€FØ�=‰=™Ò<Ó=Ô>Ð>Ð>ä�Z‰Z˜˜dÓ#€FØ�=‰=™Ò=Ó>Ô?Ð?Ð?ä×Ñ˜d DÓ)€FØ�=‰=™Ò<Ó=Ô>Ð>Ñ>rE   c                 ój  — | dk(  rd„ }nd„ } |g d¢«      }t        j                  d«      }t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚| dk(  r]t        j                  d d¬«      }t        j                  ||«      }t        j
                  |«      }|j	                   |g d	¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d
¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚y )Nr·   c                 ó,   — t        j                  | «      S rå   r!  r"  s    r;   r#  z'test_compare_string_scalar.<locals>.con›  r$  rE   c                 ó.   — t        j                  | g«      S rå   r&  r"  s    r;   r#  z'test_compare_string_scalar.<locals>.conž  r'  rE   )r   r   rœ  Nr   ©FTFNr   r/  )TTTT©TFTN©TFFNr˜  ©FFTN©FTTN)r’   rœ   r@   r)  r  Úis_nullr(  r)  r*  r+  r,  )r  r#  r  rœ   r…  ÚnascalarÚisnulls          r;   Útest_compare_string_scalarr;  ˜  sl  € à
ˆg‚~ó	$ò	.ñ Ò#Ó
$€CÜ�Y‰Y�s‹^€Fä�X‰X�c˜6Ó"€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9à
ˆg‚~Ü—9‘9˜T¨Ô1ˆÜ—‘˜#˜xÓ(ˆÜ—‘˜FÓ#ˆØ�}‰}™SÒ!9Ó:Ô;Ð;Ð;ä�\‰\˜#˜vÓ&€FØ�=‰=™Ò6Ó7Ô8Ð8Ð8ä�W‰W�S˜&Ó!€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9ä�]‰]˜3 Ó'€FØ�=‰=™Ò6Ó7Ô8Ð8Ð8ä�Z‰Z˜˜VÓ$€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9ä×Ñ˜c 6Ó*€FØ�=‰=™Ò6Ó7Ô8Ð8Ñ8rE   c                 ó8  — | dk(  rd„ }nd„ } |g d¢«      }t        j                  d«      }t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚| dk(  rDt        j                  d d¬«      }t        j                  ||«      }|j                  «       g d	¢k(  sJ ‚t        j                  ||«      }|j	                   |g d
¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚t        j                  ||«      }|j	                   |g d¢«      «      sJ ‚y )Nr·   c                 ó,   — t        j                  | «      S rå   r!  r"  s    r;   r#  z test_compare_scalar.<locals>.conÀ  r$  rE   c                 ó.   — t        j                  | g«      S rå   r&  r"  s    r;   r#  z test_compare_scalar.<locals>.conÃ  r'  rE   ©r$   r%   r#   Nr%   r3  r   r/  ©NNNNr4  r5  r˜  r6  r7  )r’   rœ   r@   r)  r  r(  r(  r)  r*  r+  r,  )r  r#  r  rœ   r…  r9  s         r;   Útest_compare_scalarrA  ½  s]  € à
ˆg‚~ó	$ò	.ñ ŠoÓ
€CÜ�Y‰Y�q‹\€Fä�X‰X�c˜6Ó"€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9à
ˆg‚~Ü—9‘9˜T¨Ô0ˆÜ—‘˜#˜xÓ(ˆØ×ÑÓ!Ò%=Ò=Ð=Ð=ä�\‰\˜#˜vÓ&€FØ�=‰=™Ò6Ó7Ô8Ð8Ð8ä�W‰W�S˜&Ó!€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9ä�]‰]˜3 Ó'€FØ�=‰=™Ò6Ó7Ô8Ð8Ð8ä�Z‰Z˜˜VÓ$€FØ�=‰=™Ò7Ó8Ô9Ð9Ð9ä×Ñ˜c 6Ó*€FØ�=‰=™Ò6Ó7Ô8Ð8Ñ8rE   c                  óF  — t        j                  g d¢«      } t        j                  g d¢dd gg«      }t        j                  ddgg d¢g«      }t        j                  g d¢g«      }| |f|| f||ffD ].  \  }}t        j                  ||«      }|j                  |«      rŒ.J ‚ y )Nr0  ©r$   r%   r#   r&   r$   r%   )r#   r&   N)TTTTN)r’   r·   rJ  r@   r)  r  )r  Úarr_chunkedÚarr_chunked2r  ÚleftÚrightr…  s          r;   Ú test_compare_chunked_array_mixedrH  á  sª   € Ü
�(‰(Ò%Ó
&€CÜ×"Ñ"¢I°°4¨yÐ#9Ó:€KÜ×#Ñ# a¨ Vª\Ð$:Ó;€Lä×ÑÒ!?Ð @ÓA€Hð 
ˆkÐØ	�cÐØ	�lÐ#ðò '‰ˆˆeô
 —‘˜$ Ó&ˆØ�}‰}˜XÕ&Ð&Ð&ñ'rE   c                  óà   — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  | |«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )N©r$   r%   r#   r&   r   ©r   r]   r$   r%   r#   )r$   r$   r&   r'   ró   )r’   r·   r@   rß   r  ©rF  rG  r…  r  s       r;   Útest_arithmetic_addrM  ñ  sO   € Ü�8‰8’OÓ$€DÜ�H‰HÒ%Ó&€EÜ�V‰V�D˜%Ó €FÜ�x‰xšÓ(€HØ�=‰=˜Ô"Ð"Ñ"rE   c                  óà   — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  | |«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )NrJ  rK  )r$   r#   r%   r%   r%   )r’   r·   r@   Úsubtractr  rL  s       r;   Útest_arithmetic_subtractrP  ù  sO   € Ü�8‰8’OÓ$€DÜ�H‰HÒ%Ó&€EÜ�[‰[˜˜uÓ%€FÜ�x‰xšÓ(€HØ�=‰=˜Ô"Ð"Ñ"rE   c                  óà   — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  | |«      }t        j                  g d¢«      }|j	                  |«      sJ ‚y )NrJ  rK  )r   r®  r#   ró   é   )r’   r·   r@   Úmultiplyr  rL  s       r;   Útest_arithmetic_multiplyrT    sP   € Ü�8‰8’OÓ$€DÜ�H‰HÒ%Ó&€EÜ�[‰[˜˜uÓ%€FÜ�x‰xÒ)Ó*€HØ�=‰=˜Ô"Ð"Ñ"rE   rƒ  ÚroundÚround_to_multiplec                 óÞ  — | dk(  r,t         j                  }t        t         j                  d¬«      }n0| dk(  r+t         j                  }t        t         j
                  d¬«      }g d¢}g d¢g d	¢g d
¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢dœ
}|j                  «       D ]T  \  }} |¬«      } ||¬«      }t        j                  |t        j                  «       ¬«      }	|	j                  |«      rŒTJ ‚ y )NrU  r   ©ÚndigitsrV  r$   ©Úmultiple)gš™™™™™	@ç      @çš™™™™™@ç      @çš™™™™™	Àg      Àgš™™™™™ÀN)r#   r#   r#   r&   éüÿÿÿr`  r`  N)r&   r&   r&   r   r­  r­  r­  N)r#   r#   r#   r&   r­  r­  r­  N)r&   r&   r&   r   r`  r`  r`  N)r#   r#   r&   r&   r­  r`  r`  N)r#   r&   r&   r   r­  r­  r`  N)r#   r#   r&   r&   r­  r­  r`  N)r#   r&   r&   r   r­  r`  r`  N)r#   r&   r&   r&   r­  r`  r`  N)r#   r#   r&   r   r­  r­  r`  N)
ÚdownÚupÚtowards_zerort   Ú	half_downÚhalf_upÚhalf_towards_zeroÚhalf_towards_infinityÚhalf_to_evenÚhalf_to_odd©Ú
round_moderÚ  r/  )r@   rU  r   r°   rV  r³   Úitemsr’   r·   rÃ  r  )
rƒ  rU  r°   rK   Úrmode_and_expectedrk  r  r×   r…  Úexpected_arrays
             r;   Útest_round_to_integerro  	  sÒ   € à	ˆW‚}Ü—‘ˆÜœrŸ™¸Ô:‰Ø	Ð"Ò	"Ü×$Ñ$ˆÜœr×8Ñ8À1ÔEˆâ9€Fâ.Ú,Ú6Ú:Ú3Ú1Ú;Ú!?Ú6Ú5ñÐð !3× 8Ñ 8Ó :ò -Ñˆ
�HÙ¨*Ô5ˆÙ�v wÔ/ˆÜŸ™ (´·±³Ô>ˆØ×$Ñ$ VÕ,Ð,Ð,ñ	-rE   c                  ó–  — g d¢} g d¢g d¢g d¢g d¢g d¢dœ}|j                  «       D ]   \  }}t        j                  |d«      }t        j                  | |¬	«      }t        j
                  j                  |t        j                  |«      d
¬«       t        j                  | |d¬«      |k(  sJ ‚t        j                  | |d«      |k(  rŒ J ‚ y )N©é@  r\  gš™™™™™@r^  gV-²	ÀgÇ):’Ë�AÀg\�Âõ(\ÀN©i,  r   r   r   r   r   r   N©rr  r   r   r   r   iØÿÿÿr   N)rr  r&   r#   r   r­  iÝÿÿÿr­  N©rr  r\  çÍÌÌÌÌÌ@r^  r_  çÍÌÌÌÌŒAÀr­  N)rr  r\  g¤p=
×£@r^  g®Gáz®	Àg�Âõ(\�AÀçffffffÀN)r®  r]   r   r$   r%   rg  rÚ  T©Ú	equal_nanrj  )	rl  r@   r°   rU  r  ÚtestingÚassert_allcloser’   r·   )rK   Úndigits_and_expectedrY  r  r×   r…  s         r;   Ú
test_roundr~  &  sÆ   € âC€Fâ,Ú-Ú,Ú6Ú<ñÐð 2×7Ñ7Ó9ò LÑˆ�Ü—/‘/ 'Ð+BÓCˆÜ—‘˜&¨'Ô2ˆÜ
�
‰
×"Ñ" 6¬2¯8©8°HÓ+=ÈÐ"ÔNÜ�x‰x˜ Ø#:ô<Ø?EòFð 	Fð Fä�x‰x˜ Ð)@ÓAÀVÓKÐKÐKñLrE   c                  ó`  — g d¢} dg d¢t        j                  d«      g d¢dg d¢dg d	¢t        j                  d
t        j                  dd«      ¬«      g d¢i}|j                  «       D ]ƒ  \  }}t	        j
                  |d«      }t	        j                  | |¬«      }t        j                  j                  |t        j                  |«      d¬«       t	        j                  | |d«      |k(  rŒƒJ ‚ ddt        j                  d«      fD ]G  }t        j                  t         j                  d¬«      5  t	        j                  | |¬«       d d d «       ŒI t        dfD ]=  }t        j                  t        d¬«      5  t	        j                  | |¬«       d d d «       Œ? y # 1 sw Y   ŒœxY w# 1 sw Y   ŒVxY w)Nrq  r…   )rr  r\  rv  r^  r_  rw  rx  Nr   ru  r%   )rr  r&   r&   r&   r`  iÜÿÿÿr`  Nr   rt  rw   r&   r/  rs  rg  rÚ  Try  r   r®  gÍÌÌÌÌÌ$Àz"Rounding multiple must be positiver.   rZ  l   ÿÿl+?ÐR zis not a valid multiple type)r’   rœ   rC  rl  r@   r³   rV  r  r{  r|  r·   r4   r5   r[  r3   r6   )rK   Úmultiple_and_expectedr[  r  r×   r…  s         r;   Útest_round_to_multipler�  9  sŽ  € âC€FàÒ<Ü
�	‰	�#‹ÒCØ	Ò,Ø
Ò-Ü
�	‰	�#œBŸM™M¨"¨aÓ0Ô1Ú,ðÐð 4×9Ñ9Ó;ò GÑˆ�(Ü×+Ñ+¨HÐ6MÓNˆÜ×%Ñ% f°gÔ>ˆÜ
�
‰
×"Ñ" 6¬2¯8©8°HÓ+=ÈÐ"ÔNÜ×#Ñ# F¨HØ$;ó=Ø@FóGð 	Gð Gð	Gð ˜œBŸI™I eÓ,Ð-ò <ˆÜ�]‰]œ2Ÿ?™?Ø!EôGñ 	<ä× Ñ  °(Õ;÷	<ð 	<ð<ô
 Ð4Ð5ò <ˆÜ�]‰]œ9Ð,JÔKñ 	<Ü× Ñ  °(Õ;÷	<ð 	<ñ<÷		<ð 	<ú÷
	<ð 	<ús   Ä-FÅ5F$ÆF!	Æ$F-	c                  óN  — g d¢} t        j                  g d¢t        j                  «       «      }t        j                  g d¢t        j                  «       «      }t	        j
                  | |«      |k(  sJ ‚t        j                  dt        j                  «       «      }t        j                  dt        j                  «       «      }t        j                  dt        j                  «       «      }t	        j
                  d|d¬	«      |k(  sJ ‚t	        j
                  d|d
¬	«      |k(  sJ ‚y )N)çw¾Ÿ/Ý^@ç /Ý$Rm@ç+‡Ùšu@g´Èv¾ŸŒ|@rƒ  r„  r…  )r­  r®  r]   r   r$   r%   r#   )r   éÈ   i^  iÉ  g     à^@g
×£p=Rm@r…  r   r   r]   g      @rf  rj  rg  )r’   r·   r   rÃ  r@   Úround_binaryrœ   )rK   Úscalesr  Úexpect_zeroÚ
expect_infrB  s         r;   Útest_round_binaryr‹  U  så   € ÚL€FÜ�X‰XÒ.´·±³
Ó;€FÜ�x‰xÚ2´B·J±J³LóB€Hä�?‰?˜6 6Ó*¨hÒ6Ð6Ð6ä—)‘)˜AœrŸz™z›|Ó,€KÜ—‘˜2œrŸz™z›|Ó,€JÜ�I‰I�bœ"Ÿ(™(›*Ó%€Eä�?‰?ØˆUÐ2ô4Ø7BòCð Cð Cä�?‰?ØˆUÐ6ô8Ø;EòFð Fñ FrE   c            	      ó  — t        j                  g d¢«      } | j                  «       }t        j                  g d¢«      }|j                  |«      sJ ‚|j                  t	        j                  | «      «      sJ ‚| j                  «       }t        j                  g d¢«      }|j                  |«      sJ ‚|j                  t	        j
                  | «      «      sJ ‚t        j                  ddgdd gg«      } | j                  «       }t        j                  ddgddgg«      }|j                  |«      sJ ‚| j                  «       }t        j                  ddgddgg«      }|j                  |«      sJ ‚t        j                  dddd t        d	«      g«      } | j                  «       }t        j                  g d
¢«      }|j                  |«      sJ ‚| j                  d¬«      }t        j                  g d¢«      }|j                  |«      sJ ‚y )Nr?  )FFFT)TTTFr$   r%   r#   FTrƒ  )FFFTF)Únan_is_null)FFFTT)r’   r·   r8  r  r@   rå  rJ  r   r”  s      r;   Útest_is_nullrŽ  f  s¨  € Ü
�(‰(’?Ó
#€CØ�[‰[‹]€FÜ�x‰xÒ3Ó4€HØ�=‰=˜Ô"Ð"Ð"Ø�=‰=œŸ™ C›Ô)Ð)Ð)Ø�\‰\‹^€FÜ�x‰xÒ1Ó2€HØ�=‰=˜Ô"Ð"Ð"Ø�=‰=œŸ™ SÓ)Ô*Ð*Ð*ä
×
Ñ
˜Q ˜F Q¨ IÐ.Ó
/€CØ�[‰[‹]€FÜ×Ñ %¨ °%¸°Ð ?Ó@€HØ�=‰=˜Ô"Ð"Ð"Ø�\‰\‹^€FÜ×Ñ $¨ °°e¨}Ð =Ó>€HØ�=‰=˜Ô"Ð"Ð"ä
�(‰(�A�q˜!˜T¤5¨£<Ð0Ó
1€CØ�[‰[‹]€FÜ�x‰xÒ:Ó;€HØ�=‰=˜Ô"Ð"Ð"à�[‰[ Tˆ[Ó*€FÜ�x‰xÒ9Ó:€HØ�=‰=˜Ô"Ð"Ñ"rE   c            	      ój  — t        j                  dddd t        d«      g«      } | j                  «       }t        j                  g d¢«      }|j	                  |«      sJ ‚t        j                  g d¢t        j
                  «       ¬«      } t        j                  t        d¬	«      5  | j                  «       }d d d «       t        j                  t        d¬	«      5  t        j                  g d
¢t        j                  «       ¬«      } | j                  «       }d d d «       y # 1 sw Y   ŒixY w# 1 sw Y   y xY w)Nr$   r%   r#   rƒ  )FFFNT)ra   rb   Nr/  z"has no kernel matching input typesr.   ©r    ó   bbN)
r’   r·   r   Úis_nanr  r   r4   r5   r   rŒ  )r  r…  r  rX  s       r;   Útest_is_nanr“  ƒ  sç   € Ü
�(‰(�A�q˜!˜T¤5¨£<Ð0Ó
1€CØ�Z‰Z‹\€FÜ�x‰xÒ9Ó:€HØ�=‰=˜Ô"Ð"Ð"ä
�(‰(Ò#¬"¯)©)«+Ô
6€CÜ	�‰Ü$Ð,Pô
Rñ à�J‰J‹Lˆ÷ô 
�‰Ü$Ð,Pô
Rñ ä�h‰hÒ*´·±Ó1BÔCˆØ�J‰J‹Lˆ÷ð ÷	ð ú÷ð ús   Â$DÃ<D)ÄD&Ä)D2c                  ó   — t        j                  g d¢t        j                  «       ¬«      } t        j                  dgt        j                  «       ¬«      }t        j                  t         j
                  d¬«      5  | j                  |«       d d d «       t        j                  g d¢t        j                  «       ¬«      } t        j                  d t        j                  «       ¬«      }| j                  |«      }t        j                  g d¢«      }|j                  |«      sJ ‚t        j                  g d¢«      } | j                  d«      }t        j                  g d	¢«      }|j                  |«      sJ ‚t        j                  g d
¢t        j                  «       ¬«      } | j                  d«      }t        j                  g d¢t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  g d¢«      } | j                  d «      }t        j                  g d¢«      }|j                  |«      sJ ‚y # 1 sw Y   �Œ¸xY w)N©r$   r%   Nr&   r/  r   ú+Array arguments must all be the same lengthr.   r@  )r   ÚbbNÚccc)r   r—  r˜  r�  )r    r‘  s   ccc)r’   r·   r   r4   r5   r[  Ú	fill_nullr¸  rœ   r  rŒ  )r  Ú
fill_valuer…  r  s       r;   Útest_fill_nullr›  ”  s‘  € Ü
�(‰(’?¬¯©«Ô
3€CÜ—‘˜1˜#¤B§G¡G£IÔ.€JÜ	�‰”r—‘ØJô
Lñ "à�‰�jÔ!÷"ô �(‰(Ò+´"·'±'³)Ô
<€CÜ—‘˜4¤b§g¡g£iÔ0€JØ�]‰]˜:Ó&€FÜ�x‰xÒ0Ó1€HØ�=‰=˜Ô"Ð"Ð"ä
�(‰(Ò$Ó
%€CØ�]‰]˜5Ó!€FÜ�x‰xÒ*Ó+€HØ�=‰=˜Ô"Ð"Ð"ä
�(‰(Ò&¬R¯_©_Ó->Ô
?€CØ�]‰]˜5Ó!€FÜ�x‰xÒ-´B·O±OÓ4EÔF€HØ�=‰=˜Ô"Ð"Ð"ä
�(‰(Ò$Ó
%€CØ�]‰]˜4Ó €FÜ�x‰xÒ)Ó*€HØ�=‰=˜Ô"Ð"Ñ"÷/"ñ "ús   Á;IÉIc                 ót  — t        j                  g d¢| ¬«      }t        j                  d| ¬«      }|j                  |«      }t        j                  g d¢| ¬«      }|j	                  |«      sJ ‚|j                  d«      }|j	                  |«      sJ ‚t         j
                  j                  |j                  «      s9t        j                  t        t        f«      5  |j                  d«       d d d «       |j                  t        j                  dd¬«      «      }|j	                  |«      sJ ‚y # 1 sw Y   ŒCxY w)Nr•  r/  r   )r$   r%   r   r&   Ú5r   )r’   r·   rœ   r™  r  r?  Úis_unsigned_integerrÌ   r4   r5   rú  r6   )r,  r  rš  r…  r  s        r;   Útest_fill_null_arrayrŸ  ±  së   € ä
�(‰(’?¨Ô
4€CÜ—‘˜1 :Ô.€JØ�]‰]˜:Ó&€FÜ�x‰xš¨:Ô6€HØ�=‰=˜Ô"Ð"Ð"ð �]‰]˜1Ó€FØ�=‰=˜Ô"Ð"Ð"ô �8‰8×'Ñ'¨¯©Ô1Ü�]‰]œJ¬	Ð2Ó3ñ 	Ø�M‰M˜#Ô÷	ð �]‰]œ2Ÿ9™9 Q¨VÔ4Ó5€FØ�=‰=˜Ô"Ð"Ñ"÷		ð 	ús   ÃD.Ä.D7c                 óœ  — t        j                  d| ¬«      }t        j                  t        j                  g d¢| ¬«      g«      }|j	                  |«      }t        j                  t        j                  g d¢| ¬«      g«      }|j                  |«      sJ ‚t        j                  t        j                  ddg| ¬«      t        j                  g | ¬«      t        j                  d dg| ¬«      g«      }t        j                  t        j                  ddg| ¬«      t        j                  g | ¬«      t        j                  ddg| ¬«      g«      }|j	                  |«      }|j                  |«      sJ ‚|j	                  d«      }|j                  |«      sJ ‚|j	                  t        j                  dd¬«      «      }|j                  |«      sJ ‚y )	Nr   r/  )Nr%   r#   r&   )r   r%   r#   r&   r$   r%   r&   r   )r’   rœ   rJ  r·   r™  r  )r,  rš  r  r…  r  s        r;   Útest_fill_null_chunked_arrayr¡  Æ  sm  € ä—‘˜1 :Ô.€JÜ
×
Ñ
œBŸH™H¢_¸:ÔFÐGÓ
H€CØ�]‰]˜:Ó&€FÜ×Ñ¤§¡ª,¸ZÔ!HÐ IÓJ€HØ�=‰=˜Ô"Ð"Ð"ä
×
Ñ
Ü
�‰�!�Q�˜jÔ)Ü
�‰�˜*Ô%Ü
�‰�$˜� Ô,ðó €Cô
 ×ÑÜ
�‰�!�Q�˜jÔ)Ü
�‰�˜*Ô%Ü
�‰�!�Q�˜jÔ)ð!ó €Hð
 �]‰]˜:Ó&€FØ�=‰=˜Ô"Ð"Ð"ð �]‰]˜1Ó€FØ�=‰=˜Ô"Ð"Ð"à�]‰]œ2Ÿ9™9 Q¨VÔ4Ó5€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  dt        j                  «       ¬«      }t         j                  j                  d| |g«      }|j                  d¬«       t        j                  g d¢«      }|j                  |«      sJ ‚t        j                  «       t        j                  «       t        j                  «       t        j                  «       fD ]’  }t        j                  g d¢|¬«      } t        j                  d|¬«      }t         j                  j                  d| |g«      }|j                  d¬«       t        j                  g d	¢|¬«      }|j                  |«      rŒ’J ‚ y )
N)TFFFFNTr/  ÚcoalescerÜ  )TFFFFT)r$   r%   r#   r&   r   Né*   )r$   r%   r#   r&   r   r¤  )r’   r·   rœ   Úbool_Úcomputer  r½  r  r   r   r   r   )r  r€   r…  r  rƒ  s        r;   Ú!test_fill_null_windows_regressionr§  ã  s  € ô �(‰(Ò;Ó
<€CÜ
�	‰	�$œRŸX™X›ZÔ(€Aä�Z‰Z×%Ñ% j°3¸°(Ó;€FØ
‡O�O˜€OÔÜ�x‰xÒ@ÓA€HØ�=‰=˜Ô"Ð"Ð"ä�w‰w‹yœ"Ÿ(™(›*¤b§h¡h£j´"·(±(³*Ð=ò 'ˆÜ�h‰hÒ,°2Ô6ˆÜ�I‰I�b˜rÔ"ˆä—‘×)Ñ)¨*°s¸A°hÓ?ˆØ�‰˜TˆÔ"Ü—8‘8Ò/°bÔ9ˆØ�}‰}˜XÕ&Ð&Ð&ñ'rE   c                  óž  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  | |«      t        j                  g d¢«      k(  sJ ‚t        j                  | |«      t        j                  g d¢«      k(  sJ ‚t        j
                  | |«      t        j                  g d¢«      k(  sJ ‚t        j                  | |«      t        j                  g d¢«      k(  sJ ‚t        j                  | |«      t        j                  g d¢«      k(  sJ ‚t        j                  | «      t        j                  g d¢«      k(  sJ ‚y )Nr5  )TTFTr˜  r3  r7  )	r’   r·   r@   Úand_Ú
and_kleeneÚor_Ú	or_kleeneÚxorÚinvertr*   s     r;   Útest_logicalr¯  ù  sì   € Ü
�‰Ò+Ó,€AÜ
�‰Ò*Ó+€Aä�7‰7�1�a‹=œBŸH™HÒ%?Ó@Ò@Ð@Ð@Ü�=‰=˜˜AÓ¤"§(¡(Ò+EÓ"FÒFÐFÐFä�6‰6�!�Q‹<œ2Ÿ8™8Ò$=Ó>Ò>Ð>Ð>Ü�<‰<˜˜1Ó¤§¡Ò*CÓ!DÒDÐDÐDä�6‰6�!�Q‹<œ2Ÿ8™8Ò$>Ó?Ò?Ð?Ð?ä�9‰9�Q‹<œ2Ÿ8™8Ò$=Ó>Ò>Ð>Ñ>rE   c                  ó   — t        j                  g d¢«      } | j                  «       }t        j                  |«      }| |k7  sJ ‚| |k(  sJ ‚| t        j                  | «      k(  sJ ‚t        j                  |«      |k(  sJ ‚y )N)r   r   r   rœ  r   )r’   r·   Údictionary_encoder@   Údictionary_decode)r·   Údictionary_arrayÚdictionary_array_decodes      r;   Útest_dictionary_decoderµ    s„   € Ü�H‰HÒ.Ó/€EØ×.Ñ.Ó0ÐÜ ×2Ñ2Ð3CÓDÐàÐ$Ò$Ð$Ð$àÐ+Ò+Ð+Ð+Ø”B×(Ñ(¨Ó/Ò/Ð/Ð/Ü×ÑÐ 0Ó1Ð5EÒEÐEÑErE   c                  ó¸  — t        j                  g d¢d¬«      } t        j                  t        j                  «       «      }t        j                  t        «      5  t        j                  | d ¬«       d d d «       t        j                  t        «      5  t        j                  | d|¬«       d d d «       t        j                  t        «      5  t        j                  | d|¬«       d d d «       t        j                  | |¬«      t        j                  g d¢d	¬«      k(  sJ ‚t        j                  d
gd¬«      } t        j                  t        j                  «       d¬«      }t        j                  t         j                  «      5  t        j                  | d«       d d d «       t        j                  | dd¬«      t        j                  dgd¬«      k(  sJ ‚t        j                  | |¬«      t        j                  dgd¬«      k(  sJ ‚t        j                  t        j                  ddd«      t        j                  ddd«      g«      } t        j                  ddgd¬«      }t        j                  | d«      |k(  sJ ‚t        j                  ddgg d¢gt        j                  t        j                  «       «      ¬«      } t        j                  ddgg d¢gt        j                  t        j                  «       «      ¬«      }t        j                  | |j                   «      |k(  sJ ‚y # 1 sw Y   �Œ¸xY w# 1 sw Y   �Œ‹xY w# 1 sw Y   �Œ^xY w# 1 sw Y   �ŒµxY w)Nr.  r   r/  )Útarget_typer   rÚ  T)r‘   r×   r   l   ÿÿÿÿ )Úallow_int_overflowF©r‘   r]   iÚ  r$   iß  l    x\N—l    0•E*ztimestamp[ms]r%   )r#   r&   r   ra   rb   )Ú3Ú4r�  )r’   r·   r@   r�   r   r4   r5   r6   Úcastrú  r   r[  ÚdatetimeÚ
large_listr®  rV  rÌ   )r  r×   Úallow_overflow_optionsr  s       r;   Ú	test_castrÀ    s}  € Ü
�(‰(’< gÔ
.€CÜ�n‰nœRŸW™W›YÓ'€Gä	�‰”yÓ	!ñ 'Ü
�‰� Õ&÷'ô 
�‰”zÓ	"ñ /Ü
�‰��W gÕ.÷/ô 
�‰”zÓ	"ñ 1Ü
�‰�˜$¨Õ0÷1ô �7‰7�3 Ô(¬B¯H©HÚ˜6ô-#ò #ð #ð #ô �(‰(�K�= wÔ
/€CÜŸ^™^Ü
�‰‹
 tô-Ðô 
�‰”r—‘Ó	'ñ Ü
�‰��WÔ÷ô �7‰7�3˜ eÔ,´·±¸"¸ÀGÔ0LÒLÐLÐLä�7‰7�3Ð 6Ô7¼2¿8¹8Ø	ˆ�7ô<ò ð ð ô �(‰(Ü	×	Ñ	˜4  AÓ	&¬×(9Ñ(9¸$ÀÀ1Ó(EÐFóH€Cä�x‰x˜¨Ð6¸_ÔM€HÜ�7‰7�3˜Ó(¨HÒ4Ð4Ð4ä
�(‰(�Q˜�FšIÐ&¬R¯]©]¼2¿7¹7»9Ó-EÔ
F€CÜ�x‰x˜#˜s˜¢_Ð5ÜŸX™X¤b§g¡g£iÓ0ô2€Hä�7‰7�3˜Ÿ™Ó&¨(Ò2Ð2Ñ2÷A'ñ 'ú÷/ñ /ú÷1ñ 1ú÷ñ ús0   ÁL(ÂL5ÃMÆMÌ(L2Ì5L?ÍMÍMÚ
value_typec                 ó˜   — t        j                  ddd«      }t        j                  |g| ¬«      }t	        j
                  || «      |k(  sJ ‚y )NiÆ  r#   r$   r/  )r½  Údater’   r·   r@   r¼  )rÁ  Údtr  s      r;   Útest_identity_cast_datesrÅ  ;  s?   € ä	�‰�t˜Q Ó	"€Bä
�(‰(�B�4˜jÔ
)€CÜ�7‰7�3˜
Ó# sÒ*Ð*Ñ*rE   c                 ób  — t        j                  t        j                  d| «      d«      }t        j                  «       }t        j                  t        j                  d|«      d«      }t         j                  j                  t        j                  g d¢|¬«      |¬«      }||j                  |«      j                  k(  sJ ‚t         j                  j                  t        j                  g d¢|¬«      |¬«      }||j                  |«      j                  k(  sJ ‚t        j                  «       }t        j                  t        j                  d|«      d«      }t         j                  j                  t        j                  g d¢|¬«      |¬«      }||j                  |«      j                  k(  sJ ‚t        j                  t        j                  d| «      d«      }d	}t        j                  t         j                  j                  |¬
«      5  |j                  |«       d d d «       y # 1 sw Y   y xY w)NÚelementr%   rK   )r$   r%   r#   r&   r   r'   r/  )r$   NNr&   r   r'   )NNNNNNr#   z&Size of FixedSizeList is not the same.r.   )r’   r®  r_   r   ÚFixedSizeListArrayrÐ  r·   r¼  rÌ   r¸  r4   r5   ÚlibÚArrowTypeError)rÁ  Ú	cast_typeÚdtyperÌ   ÚfslÚerr_msgs         r;   Útest_fsl_to_fsl_castrÏ  C  s§  € ô —‘œŸ™ )¨ZÓ8¸!Ó<€Iä�H‰H‹J€EÜ�8‰8”B—H‘H˜X uÓ-¨qÓ1€Dä
×
Ñ
×
+Ñ
+Ü
�‰Ò#¨%Ô0°tð ,ó =€Cà˜Ÿ™ Ó+×0Ñ0Ò0Ð0Ð0ô ×
Ñ
×
+Ñ
+Ü
�‰Ò)°Ô6¸Tð ,ó C€Cà˜Ÿ™ Ó+×0Ñ0Ò0Ð0Ð0ô �G‰G‹I€EÜ�8‰8”B—H‘H˜X uÓ-¨qÓ1€DÜ
×
Ñ
×
+Ñ
+Ü
�‰Ò5¸EÔBÈð ,ó O€Cà˜Ÿ™ Ó+×0Ñ0Ò0Ð0Ð0ô —‘œŸ™ )¨ZÓ8¸!Ó<€IØ6€GÜ	�‰”r—v‘v×,Ñ,°GÔ	<ñ Ø�‰�Ô÷÷ ñ ús   È
H%È%H.ÚDecimalTypeTraits)r>   ÚfactoryÚmax_precisionÚFloatToDecimalCase)Ú	precisionrB  Ú	float_valÚ	decimal32Ú	decimal64é   rA  r8  rC  r9  c                 óâ   — | dk\  sJ ‚|dk\  sJ ‚t        | «      d|z  z  }|d|z  z  | kD  r7t        j                  |d«      }|d|z  z  | kD  rt        j                  |d«      }|d|z  z  | k  sJ ‚|S )zA
    Find the largest float f such as `f * 10**scale <= val`
    r   r   ç        )r   r  Ú	nextafter)ÚvalrB  rÕ  s      r;   Úlargest_scaled_float_not_aboverÝ  n  sŒ   € ð �!Š8€Oˆ8Ø�AŠ:Ðˆ:Ü�c“
˜R ™YÑ&€IØ�2�u‘9Ñ˜sÒ"ä—L‘L ¨CÓ0ˆ	Ø�r˜5‘yÑ  3Ò&ÜŸ™ Y°Ó4ˆIØ�r˜5‘yÑ  CÒ'Ð'Ð'ØÐrE   c                 óŽ   — t        | t        «      sJ ‚t        j                  | «      }|j	                  | «      }t        |«      }|S )zS
    Return a float representation (possibly approximate) of `int_val**-scale`
    )ræ   Úintr>  r7  Úscalebr   )Úint_valrB  ÚunscaledÚscaledrÕ  s        r;   Úscaled_floaträ  ~  sA   € ô �gœsÔ#Ð#Ð#Ü�‰˜wÓ'€HØ�_‰_˜e˜VÓ$€FÜ�f“€IØÐrE   c              #   óú   K  — d}t        d|d«      D ]e  }t        d|d«      D ]S  }t        ||d«      –— t        ||d«      –— dt        ||z
  |«      z  }t        d|z  |z
  |«      }t        |||«      –— ŒU Œg y	­w)
zC
    Return FloatToDecimalCase instances with integral values.
    r)   r$   r#   r   r%   rÚ  rp  r   N)r²  rÓ  ro   rÝ  )Úfloat_tyrÒ  Úmantissa_digitsrÔ  rB  ÚepsilonÚ
abs_maxvals          r;   Ú$integral_float_to_decimal_cast_casesrê  ‰  sœ   è ø€ ð €OÜ˜1˜m¨QÓ/ò Cˆ	Ü˜1˜i¨Ó+ò 	CˆEÜ$ Y°°sÓ;Ò;Ü$ Y°°sÓ;Ò;Øœ#˜i¨/Ñ9¸5ÓAÑAˆGÜ7Ø�I‘ Ñ'¨ó0ˆJä$ Y°°zÓBÓBñ	CñCùó   ‚A9A;c              #   óú   K  — d}t        d|d«      D ]e  }t        d|d«      D ]S  }ddt        ||z
  d«      z  z  }t        ||«      }t        d|z  |z
  |«      }t        |||«      –— t        |||«      –— ŒU Œg y­w)z?
    Return FloatToDecimalCase instances with real values.
    r)   r$   r#   r   r%   r   N)r²  ro   rÝ  rÓ  )ræ  rÒ  rç  rÔ  rB  rè  Ú
abs_minvalré  s           r;   Ú real_float_to_decimal_cast_casesrî  ˜  sž   è ø€ ð €OÜ˜1˜m¨QÓ/ò Cˆ	Ü˜1˜i¨Ó+ò 	CˆEØ˜"œc )¨oÑ"=¸qÓAÑAÑAˆGÜ7¸ÀÓGˆJÜ7Ø�I‘ Ñ'¨ó0ˆJä$ Y°°zÓBÒBÜ$ Y°°zÓBÓBñ	CñCùrë  c              #   ó  K  — t        j                  d«      }t        d|d«      D ]d  }t        d|d«      D ]R  }t        d«      D ]B  }|j                  dd|z  «      }t	        ||«      }|d|z  z  d|z  k  sJ ‚t        |||«      –— ŒD ŒT Œf y­w)	z?
    Return random-generated FloatToDecimalCase instances.
    r¤  r$   r'   r   r&   é   r   N)ró  ÚRandomr²  Ú	randrangerä  rÓ  )ræ  rÒ  ÚrrÔ  rB  r  râ  rÕ  s           r;   Ú"random_float_to_decimal_cast_casesrô  §  s©   è ø€ ô 	�‰�bÓ€AÜ˜1˜m¨QÓ/ò Fˆ	Ü˜1˜i¨Ó+ò 	FˆEÜ˜2“Yò F�ØŸ;™; q¨"¨i©-Ó8�Ü(¨°5Ó9�	Ø  2 u¡9Ñ,¨r°9©}Ò<Ð<Ð<Ü(¨°E¸9ÓEÓEñ	Fñ	FñFùs   ‚BBc                 ó"  — |j                   |_        t        j                  |_        |j                  |«      }|j                  t        j                  d«      j                  |j                   «      «      }t        j                  || ¬«      }t        j                  ||«      j                  «       }||k7  rZt        ||z
  «      d|j                  z  z  }|j                   |dz
  k  rdnd}	||	k  s J d|›d|j                   › d|›d	|›d
|›�
«       ‚y y )Nr$   r/  r   r%   r&   zfloat_val = z, precision=z, expected = z, actual = z, diff_digits = )rÔ  Úprecr>  ÚROUND_HALF_EVENÚroundingÚcreate_decimal_from_floatÚquantizer7  rà  rB  r’   rœ   r@   r¼  r2  Úabs)
ræ  rÕ  Ú
decimal_tyÚdecimal_ctxrÒ  r  r€   r½  Údiff_digitsÚlimits
             r;   Úcheck_cast_float_to_decimalr   µ  s  € ð "×+Ñ+€KÔÜ"×2Ñ2€KÔØ×4Ñ4°YÓ?€Hà× Ñ ¤§¡°Ó!3×!:Ñ!:¸J×<LÑ<LÐ;LÓ!MÓN€HÜ
�	‰	�) (Ô+€AÜ�W‰W�Q˜
Ó#×)Ñ)Ó+€FØ�Òô ˜& 8Ñ+Ó,¨r°:×3CÑ3CÑ/CÑCˆØ×)Ñ)¨M¸AÑ,=Ò=‘À1ˆØ˜eÒ#ð 	.Ø˜9˜- |°J×4HÑ4HÐ3Ið JØ"˜ [°°
ð ;Ø(˜Oð-ó	.Ñ#ð rE   ræ  )Úidsrü  c                 ó   — | j                   S rå   ©r>   ©Úvs    r;   ú<lambda>r  Ð  ó
   €  q§v¡v€ rE   Úcase_generator)Ú	integralsÚrealsró  c           
      ó  — t        j                  «       5 } || |j                  «      D ]I  }t        | |j                  |j                  |j                  |j                  «      ||j                  «       ŒK 	 d d d «       y # 1 sw Y   y xY wrå   )r>  ÚlocalcontextrÒ  r   rÕ  rÑ  rÔ  rB  )ræ  rü  r  ÚctxÚcases        r;   Útest_cast_float_to_decimalr  Í  sw   € ô 
×	Ñ	Ó	ð / 3Ù" 8¨Z×-EÑ-EÓFò 	/ˆDÜ'Ø˜$Ÿ.™.Ø×"Ñ" 4§>¡>°4·:±:Ó>Ø�Z×-Ñ-õ/ñ	/÷/÷ /ñ /ús   •A A?Á?BÚdecimal_traitsc                 ó   — | j                   S rå   r  r  s    r;   r  r  â  r  rE   c                 óÆ  — t        j                  d«      }t        j                  «       t        j                  t        j
                  «       t        j
                  i|    }t        j                  «       dt        j
                  «       di|    }t        j                  «       dt        j
                  «       di|    \  }}t        j                  t        j                  d|z  «      «      }|j                  }||k  rVt        j                  t        j                  d|z  «      «      }t        j                  t        j                  d|z  «      «      }t        j                  «       5 }	|}
|
|	_        t        | |
t        j                  t        j                  d|z  «      «      z   «      }t!        |t        j                  t        j                  d|z  «      «      «      }t#        ||«      D �]c  }|j%                  |
|«      }| t        j                  t        j                  d|
|z
  z  «      «      z   }||cxk  r|k  sJ ‚ J ‚t#        d«      D ]þ  }|j'                  d	d|z  «      }t	        j(                   ||«      |«      }t+        ||«      sJ ‚|d	k\  rt        j,                  |«      d|z  z  }nt        j,                  |«      d| z  z  }t/        |j1                  |«      «      }t3        j4                  t        j6                  || ¬
«      |«      j9                  «       }t/        |j1                  |«      «      }t;        ||z
  «      dk  rŒþJ ‚ �Œf 	 ddd«       y# 1 sw Y   yxY w)zL
    Test float-to-decimal conversion against exactly generated values.
    é+   é   é5   )i‚ÿÿÿé   )iüÿÿiÿ  r%   r   r   r   r/  r$   N)ró  rñ  r’   rÂ  r  rÃ  ÚmathÚfloorÚlog10rÒ  Úlog2r>  r  rö  ro   ÚceilrÙ  r²  rÑ  rò  Úldexpræ   r7  rU  rà  r@   r¼  rœ   r2  rû  )ræ  r  ró  Únp_float_tyÚmantissa_bitsÚfloat_exp_minÚfloat_exp_maxrç  rÒ  r  rÔ  Ú	min_scaleÚ	max_scalerB  rü  Ú	float_expr  ÚmantissarÕ  r  Úexpected_as_intr½  Úactual_as_ints                          r;   Ú!test_cast_float_to_decimal_randomr'  ß  sí  € ô 	�‰�bÓ€Aä
�
‰
‹”b—j‘jÜ
�
‰
‹”b—j‘jðð ñ€Kô
 	�
‰
‹�bÜ
�
‰
‹�bðð ñ€Mô
 	�
‰
‹�kÜ
�
‰
‹�mð$ð ñ$Ñ €M�=ô —j‘j¤§¡¨A¨}Ñ,<Ó!=Ó>€OØ"×0Ñ0€Mð �Ò&ÜŸ
™
¤4§9¡9¨R°Ñ->Ó#?Ó@ˆÜŸ*™*¤T§Z¡Z°°=Ñ0@Ó%AÓBˆä	×	Ñ	Ó	ð "A 3Ø#ˆ	ØˆŒô ˜˜Ø!¤D§I¡I¬d¯j©j¸¸MÑ9IÓ.JÓ$KÑKóMˆ	ä˜ÜŸ
™
¤4§:¡:¨a°Ñ.>Ó#?Ó@óBˆ	ä˜9 iÓ0ó 	AˆEØ'×/Ñ/°	¸5ÓAˆJð
 (˜ÜŸ™¤D§I¡I¨b°9¸uÑ3DÑ.EÓ$FÓGñHˆIà  IÔ>°Ò>Ð>Ñ>Ð>Ð>Ü˜1“Xò A�ØŸ;™; q¨!¨]Ñ*:Ó;�ÜŸH™H¡[°Ó%:¸IÓF�	Ü! )¨[Ô9Ð9Ð9ð  ’>Ü&Ÿ™¨xÓ8¸1¸i¹<ÑG‘Hä&Ÿ™¨xÓ8¸1¸y¸j¹=ÑH�HÜ"'¨¯©¸Ó(>Ó"?�ÜŸ™Ü—I‘I˜i¨hÔ7¸óEßEJÁUÃWð ä % f§m¡m°EÓ&:Ó ;�ä˜=¨?Ñ:Ó;¸qÓ@Ð@Ð@òAñ	A÷"A÷ "Añ "Aús   Å"G$MÍMÍM c            	      óú  — t        j                  g d¢«      } t        j                  | dd¬«      }t        j                  t	        j                  ddd«      d t	        j                  dd	d
«      gt        j
                  d«      ¬«      }||k(  sJ ‚t        j                  | dd¬«      |k(  sJ ‚t        j                  t	        j                  ddd«      d d gt        j
                  d«      ¬«      }t        j                  | ddd¬«      }||k(  sJ ‚t        j                  t         j                  d¬«      5  t        j                  | ddd¬«       d d d «       t        j                  t         j                  d¬«      5  t        j                  | dd¬«       d d d «       t        j                  | ddd¬«      }|t        j                  g d¢t        j
                  d«      ¬«      k(  sJ ‚y # 1 sw Y   ŒšxY w# 1 sw Y   Œ`xY w)N)z5/1/2020Nz
12/13/1900z%m/%d/%Yr€   ©ÚformatÚunitiä  r   r$   il  é   é   r/  ©r+  z%d/%m/%YT)r*  r+  Úerror_is_nullz"Failed to parse string: '5/1/2020'r.   z%Y-%m-%dF)NNN)	r’   r·   r@   Ústrptimer½  Ú	timestampr4   r5   r[  )r  Úgotr  s      r;   Útest_strptimer3  !	  s—  € Ü
�(‰(Ò3Ó
4€Cä
�+‰+�c *°3Ô
7€CÜ�x‰xÜ	×	Ñ	˜4  AÓ	&¨¬h×.?Ñ.?ÀÀbÈ"Ó.MÐNÜ�\‰\˜#Óô €Hð �(Š?Ðˆ?ä�;‰;�s˜J¨SÔ1°SÒ8Ð8Ð8ä�x‰xœ×*Ñ*¨4°°AÓ6¸¸dÐCÜŸ\™\¨#Ó.ô0€Hä
�+‰+�c *°3ÀdÔ
K€CØ�(Š?Ðˆ?ä	�‰”r—‘ØAô
Cñ Kä
�‰�C 
°ÀEÕJ÷Kô 
�‰”r—‘ØAô
Cñ 6ä
�‰�C 
°Õ5÷6ô �+‰+�c *°3ÀdÔ
K€CØ”"—(‘(Ò-´B·L±LÀÓ4EÔFÒFÐFÑF÷Kð Kú÷6ð 6ús   Ä2G%Å9G1Ç%G.Ç1G:c            	      ó  — g d¢} g d¢}g d¢}t         j                  dk7  r|j                  g d¢«       |D �]$  }t        j                  | «      j                  |«      }dD ]°  }t        j                  |t        j                  ||«      ¬«      }|D ]~  }t        j                  |«      }t        j                  ||¬«      }	t        j                  |j                  |«      «      j                  |	j                  «      }
|	j                  |
«      rŒ~J ‚ Œ² d	}t        j                  |t        j                  d
|«      ¬«      }t        j                  |t        j                  «       ¬«      }	t        j                  |j                  |«      «      j                  |	j                  «      }
|	j                  |
«      sJ ‚t        j                  |t        j                  d
|«      ¬«      }t        j                  |t        j                  |dz   «      ¬«      }	t        j                  |j                  |dz   «      «      j                  |	j                  «      }
|	j                  |
«      sJ ‚t        j                  |t        j                  d
|«      ¬«      }t        j                  d«      }t        j                  ||¬«      }	t        j                  |j                  d«      «      j                  |	j                  «      }
|	j                  |
«      sJ ‚t        j                  |t        j                  d|«      ¬«      }t        j                  d«      }t        j                  ||¬«      }	t        j                  |j                  d«      «      j                  |	j                  «      }
|	j                  |
«      sJ ‚t        j                  |t        j                  d
|«      ¬«      }t        j                  |d¬«      }t        j                  ||¬«      }	t        j                  |j                  |«      «      j                  |	j                  «      }
|	j                  |
«      r�Œ%J ‚ d	}t        j                  | «      }t        j                  |t        j                  d
«      ¬«      }t        j                  |t        j                  |«      ¬«      }	t        j                  |j                  |«      «      j                  |	j                  «      }
t        j                  ||«      |	k(  sJ ‚|	j                  |
«      sJ ‚t        j                   t        j"                  d¬«      5  t        j                  |t        j                  |dz   «      ¬«       d d d «       t        j                   t        j"                  d¬«      5  t        j                  |t        j                  |dz   «      ¬«       d d d «       y # 1 sw Y   ŒexY w# 1 sw Y   y xY w)N)z2018-03-10 09:00z2038-01-31 12:23N)ÚCETrT   r‹   )z%az%Az%wz%dz%bz%Bz%mz%yr   z%Hz%Iz%pz%Mú%zú%Zz%jz%Uz%Wz%%z%Gz%Vz%uÚwin32)z%cz%xz%X©r€   ÚmsÚusÚnsr/  rÚ  ú%Y-%m-%dT%H:%M:%Sr€   r7  z%Sr;  z%S.%fÚC)Úlocalez.Timezone not present, cannot convert to stringr.   r6  )ÚsysÚplatformÚextendÚpdÚto_datetimeÚtz_localizer’   r·   r1  r@   r½   Ústrftimer¼  rÌ   r  r4   r5   r[  )ÚtimesÚ	timezonesÚformatsÚtimezoneÚtsr+  ÚtsaÚfmtr×   r…  r  s              r;   Útest_strftimerN  =	  st  € ò ;€EÚ2€IòQ€Gä
‡|�|�wÒà�‰Ò)Ô*àó ,'ˆÜ�^‰^˜EÓ"×.Ñ.¨xÓ8ˆØ+ò 	/ˆDÜ—(‘(˜2¤B§L¡L°°xÓ$@ÔAˆCØò /�Ü×,Ñ,¨SÓ1�ÜŸ™ S°'Ô:�äŸ8™8 B§K¡K°Ó$4Ó5×:Ñ:¸6¿;¹;ÓG�Ø—}‘} XÕ.Ð.Ð.ñ/ð	/ð "ˆô �h‰h�r¤§¡¨S°(Ó ;Ô<ˆÜ—‘˜S¬"×*<Ñ*<Ó*>Ô?ˆÜ—8‘8˜BŸK™K¨Ó,Ó-×2Ñ2°6·;±;Ó?ˆØ�}‰}˜XÔ&Ð&Ð&ô �h‰h�r¤§¡¨S°(Ó ;Ô<ˆÜ—‘˜S¬"×*<Ñ*<¸SÀ4¹ZÓ*HÔIˆÜ—8‘8˜BŸK™K¨¨d©
Ó3Ó4×9Ñ9¸&¿+¹+ÓFˆØ�}‰}˜XÔ&Ð&Ð&ô �h‰h�r¤§¡¨S°(Ó ;Ô<ˆÜ×$Ñ$ TÓ*ˆÜ—‘˜S¨'Ô2ˆÜ—8‘8˜BŸK™K¨Ó-Ó.×3Ñ3°F·K±KÓ@ˆØ�}‰}˜XÔ&Ð&Ð&ô �h‰h�r¤§¡¨T°8Ó <Ô=ˆÜ×$Ñ$ TÓ*ˆÜ—‘˜S¨'Ô2ˆÜ—8‘8˜BŸK™K¨Ó0Ó1×6Ñ6°v·{±{ÓCˆØ�}‰}˜XÔ&Ð&Ð&ô �h‰h�r¤§¡¨S°(Ó ;Ô<ˆÜ×$Ñ$ S°Ô5ˆÜ—‘˜S¨'Ô2ˆÜ—8‘8˜BŸK™K¨Ó,Ó-×2Ñ2°6·;±;Ó?ˆØ�}‰}˜XÖ&Ð&Ð&ðY,'ð^ €CÜ	�‰˜Ó	€BÜ
�(‰(�2œBŸL™L¨Ó-Ô
.€CÜ�[‰[˜¤b×&8Ñ&8¸Ó&=Ô>€FÜ�x‰x˜Ÿ™ CÓ(Ó)×.Ñ.¨v¯{©{Ó;€Hô �;‰;�s˜CÓ  FÒ*Ð*Ð*à�=‰=˜Ô"Ð"Ð"Ü	�‰”r—‘ØMô
Oñ Aä
�‰�C¤×!3Ñ!3°C¸$±JÓ!?Õ@÷Aô 
�‰”r—‘ØMô
Oñ Aä
�‰�C¤×!3Ñ!3°C¸$±JÓ!?Õ@÷Að A÷Að Aú÷Að Aús   Õ.W*Ö3.W6×*W3×6W?c                 óÈ  — ddl m} t        j                  | «      j	                  d«      j                  |«      j                  «       }t        j                  |t        j                  d|¬«      «      }|j                  j                  dz  |j                  j                  z   dz  j                  d«      }t        j                  d	t        j                  «       «      t        j                  d
t        j                  «       «      t        j                  dt        j                  «       «      g} |t        j                   «       |d«      k  rd|j#                  d„ «      j%                  d«      }|j#                  d„ «      j%                  d«      }|j#                  d„ «      j%                  d«      }	n„|j                  j'                  «       d   j%                  d«      }|j                  j'                  «       d   j%                  d«      }|j                  j'                  «       d   j%                  d«      }	t        j(                  j+                  |||	g|¬«      }
|j                  j,                  j%                  d«      }|j                  j.                  j%                  d«      }|j                  j0                  j%                  d«      }|j                  j2                  j%                  d«      }|j                  j4                  j%                  d«      }|j                  j6                  j%                  d«      }|j                  j8                  j%                  d«      }|j                  j:                  j%                  d«      }|j                  j<                  j>                  j%                  d«      }|j                  j                  j%                  d«      }|j                  j                  j%                  d«      }tA        j,                  |«      jC                  t        j                  |«      «      sJ ‚tA        jD                  |«      jC                  t        j                  |j                  jD                  «      «      sJ ‚tA        j.                  |«      jC                  t        j                  |«      «      sJ ‚tA        j0                  |«      jC                  t        j                  |«      «      sJ ‚tA        jF                  |«      jC                  t        j                  |«      «      sJ ‚tA        jH                  |«      jC                  t        j                  |«      «      sJ ‚tA        jJ                  |«      jC                  t        j                  |«      «      sJ ‚tA        jL                  |«      jC                  t        j                  |«      «      sJ ‚tA        jN                  |«      jC                  |
«      sJ ‚tA        j6                  |«      jC                  t        j                  |«      «      sJ ‚tA        j8                  |«      jC                  t        j                  |«      «      sJ ‚tA        j:                  |«      jC                  t        j                  |«      «      sJ ‚tA        j<                  |«      jC                  t        j                  |«      «      sJ ‚tA        jP                  |«      jC                  t        j                  |dz  «      «      sJ ‚tA        j                  |«      jC                  t        j                  |dz  «      «      sJ ‚tA        j                  |«      jC                  t        j                  |«      «      sJ ‚tA        jR                  |«      jC                  t        j                  |«      «      sJ ‚tA        jT                  |«      jC                  t        j                  |j                  j	                  d «      «      «      sJ ‚|j                  jV                  r‹|j                  jV                  tX        jZ                  j\                  u rdgt_        |«      z  }n|ja                  d„ «      }tA        jb                  |«      jC                  t        j                  |«      «      sJ ‚tA        jd                  dd¬«      }tA        jF                  ||¬«      jC                  t        j                  |dz   «      «      sJ ‚tA        jf                  ddd¬«      }tA        jh                  ||¬«      jC                  t        j                  |«      «      sJ ‚y )Nr   )ÚVersionrT   r<  ©Útziè  g•Ö&è.>r(   Úiso_yearÚiso_weekÚiso_day_of_weekz1.1.0c                 ó(   — | j                  «       d   S ©Nr   ©Úisocalendar©ru  s    r;   r  z,_check_datetime_components.<locals>.<lambda>›	  ó   €  A§M¡M£O°AÑ$6€ rE   r   c                 ó(   — | j                  «       d   S )Nr$   rX  rZ  s    r;   r  z,_check_datetime_components.<locals>.<lambda>œ	  r[  rE   c                 ó(   — | j                  «       d   S )Nr%   rX  rZ  s    r;   r  z,_check_datetime_components.<locals>.<lambda>�	  s   €  1§=¡=£?°1Ñ#5€ rE   ÚyearÚweekÚday)ÚfieldsFc                 ó<   — | j                  «       j                  dkD  S rW  )ÚdstÚsecondsrZ  s    r;   r  z,_check_datetime_components.<locals>.<lambda>Ï	  s   € ¨¯©«¯©¸!Ñ(;€ rE   r$   rX   rÚ  Tr‡   )5Úpyarrow.vendored.versionrP  rC  rD  rE  Ú
tz_convertÚ	to_seriesr’   r·   r1  rÄ  ÚmicrosecondÚ
nanosecondrU  r_   r   Ú__version__Úmapr‚  rY  ÚStructArrayrÐ  r^  Úmonthr`  Ú	dayofweekÚ	dayofyearÚquarterÚhourÚminuteru   rK   r@   r  Úis_leap_yearÚday_of_weekÚday_of_yearrS  rT  Úiso_calendarÚmillisecondÚ	subsecondÚlocal_timestamprR  r½  rJ  Úutcr1   ÚapplyÚis_dstr”   rÆ   r_  )Ú
timestampsrJ  rP  rK  rL  Ú
subsecondsÚiso_calendar_fieldsrS  rT  Úiso_dayrv  r^  rm  r`  rn  ro  rp  rq  rr  ru   rh  ri  r|  Úday_of_week_optionsÚweek_optionss                            r;   Ú_check_datetime_componentsrƒ  Š	  sŒ  € Ý0ä	�‰˜
Ó	#×	/Ñ	/Øó
ß‰z˜(Ó#§I¡I£Kð ä
�(‰(�2”r—|‘| D¨XÔ6Ó
7€Cà—5‘5×$Ñ$ wÑ.Ø—5‘5×#Ñ#ñ$Ø'/ñ0ß16±°q³ð ô 	�‰�œRŸX™X›ZÓ(Ü
�‰�œRŸX™X›ZÓ(Ü
�‰Ð"¤B§H¡H£JÓ/ðÐñ Œr�~‰~Ó¡¨Ó!1Ò1à—6‘6Ñ6Ó7×>Ñ>¸wÓGˆØ—6‘6Ñ6Ó7×>Ñ>¸wÓGˆØ—&‘&Ñ5Ó6×=Ñ=¸gÓF‰ð —5‘5×$Ñ$Ó& vÑ.×5Ñ5°gÓ>ˆØ—5‘5×$Ñ$Ó& vÑ.×5Ñ5°gÓ>ˆØ—%‘%×#Ñ#Ó% eÑ,×3Ñ3°GÓ<ˆä—>‘>×-Ñ-Ø	�8˜WÐ%Ø"ð .ó $€Lð �5‰5�:‰:×Ñ˜WÓ%€DØ�E‰E�K‰K×Ñ˜wÓ'€EØ
�%‰%�)‰)×
Ñ
˜7Ó
#€CØ—‘—‘×&Ñ& wÓ/€IØ—‘—‘×&Ñ& wÓ/€IØ�e‰e�m‰m×"Ñ" 7Ó+€GØ�5‰5�:‰:×Ñ˜WÓ%€DØ�U‰U�\‰\× Ñ  Ó)€FØ�U‰U�\‰\× Ñ ×'Ñ'¨Ó0€FØ—%‘%×#Ñ#×*Ñ*¨7Ó3€KØ—‘×!Ñ!×(Ñ(¨Ó1€Jä�7‰7�3‹<×ÑœrŸx™x¨›~Ô.Ð.Ð.Ü�?‰?˜3Ó×&Ñ&¤r§x¡x°·±×0BÑ0BÓ'CÔDÐDÐDÜ�8‰8�C‹=×Ñ¤§¡¨£Ô0Ð0Ð0Ü�6‰6�#‹;×ÑœbŸh™h s›mÔ,Ð,Ð,Ü�>‰>˜#Ó×%Ñ%¤b§h¡h¨yÓ&9Ô:Ð:Ð:Ü�>‰>˜#Ó×%Ñ%¤b§h¡h¨yÓ&9Ô:Ð:Ð:Ü�;‰;�sÓ×"Ñ"¤2§8¡8¨HÓ#5Ô6Ð6Ð6Ü�;‰;�sÓ×"Ñ"¤2§8¡8¨HÓ#5Ô6Ð6Ð6Ü�?‰?˜3Ó×&Ñ& |Ô4Ð4Ð4Ü�:‰:�c‹?×!Ñ!¤"§(¡(¨7Ó"3Ô4Ð4Ð4Ü�7‰7�3‹<×ÑœrŸx™x¨›~Ô.Ð.Ð.Ü�9‰9�S‹>× Ñ ¤§¡¨&Ó!1Ô2Ð2Ð2Ü�9‰9�S‹>× Ñ ¤§¡¨&Ó!1Ô2Ð2Ð2Ü�>‰>˜#Ó×%Ñ%¤b§h¡h¨{¸gÑ/EÓ&FÔGÐGÐGÜ�>‰>˜#Ó×%Ñ%¤b§h¡h¨{¸WÑ/DÓ&EÔFÐFÐFÜ�=‰=˜Ó×$Ñ$¤R§X¡X¨jÓ%9Ô:Ð:Ð:Ü�<‰<˜Ó×#Ñ#¤B§H¡H¨ZÓ$8Ô9Ð9Ð9Ü×Ñ˜cÓ"×)Ñ)¬"¯(©(°2·5±5×3DÑ3DÀTÓ3JÓ*KÔLÐLÐLà	‡u�u‡x‚xØ�5‰5�8‰8”x×(Ñ(×,Ñ,Ñ,à�Wœs 2›wÑ&‰Fà—X‘XÑ;Ó<ˆFÜ�y‰y˜‹~×$Ñ$¤R§X¡X¨fÓ%5Ô6Ð6Ð6ä×-Ñ-Ø¨!ô-Ðä�>‰>˜#Ð':Ô;×BÑBÜ
�‰�˜Q‘Óô!ð !ð !ô —>‘>Ø°Ø$)ô+€Lô �7‰7�3 Ô-×4Ñ4´R·X±X¸hÓ5GÔHÐHÑHrE   c                 óÂ   — g d¢}g d¢}t        |«       | j                  j                  j                  d   st	        j
                  d«       y |D ]  }t        ||«       Œ y )N©z1970-01-01T00:00:59.123456789z2000-02-29T23:23:23.999999999z2033-05-18T03:33:20.000000000z2020-01-01T01:05:05.001z2019-12-31T02:10:10.002z2019-12-30T03:15:15.003z2009-12-31T04:20:20.004132z2010-01-01T05:25:25.005321z2010-01-03T06:30:30.006163z2010-01-04T07:35:35.0z2006-01-01T08:40:40.0z2005-12-31T09:45:45.0z2008-12-28T00:00:00.0z2008-12-29T00:00:00.0z2012-01-01T01:02:03.0)rT   úAmerica/ChicagoúAsia/Kolkataú	Etc/GMT-4ú	Etc/GMT+4zAustralia/Broken_HillrŠ   z-Timezone database is not installed on Windows)rƒ  rÈ   rÉ   rÊ   r4   r´  )rÖ   r}  rH  rJ  s       r;   Ú test_extract_datetime_componentsrŠ  Ý	  s[   € ò+€JòD€Iô ˜zÔ*ð �>‰>×!Ñ!×,Ñ,¨_Ò=Ü�‰ÐCÕDà!ò 	=ˆHÜ& z°8Õ<ñ	=rE   c                  ó.  — t        j                  dgdd¬«      } | j                  t        j                  dd¬«      «      }t        j
                  |«      d   j                  «       dk(  sJ ‚t        j                  |«      d   j                  «       d	k(  sJ ‚y )
Nz2012-12-12T12:12:12r=  r€   r)  z+05:30rQ  r   é   r¤  )r@   r0  r¼  r’   r1  rq  r2  rr  )r  Ú	zoned_arrs     r;   Útest_offset_timezonerŽ  ü	  s}   € Ü
�+‰+Ð,Ð-Ð6IÐPSÔ
T€CØ—‘œŸ™ c¨hÔ7Ó8€IÜ�7‰7�9Ó˜aÑ ×&Ñ&Ó(¨BÒ.Ð.Ð.Ü�9‰9�YÓ Ñ"×(Ñ(Ó*¨bÒ0Ð0Ñ0rE   r+  r9  c                 ó>  — t        j                  t        j                  dddd«      gdz  t        j                  | «      «      }t	        j
                  |«      }t         j                  j                  dgdz  dgdz  dgdz  gg d	¢¬
«      }|j                  |«      sJ ‚y )Niæ  r$   r%   r(   é2   iå  é4   r_  )rS  rT  rU  rÔ  )	r’   r·   r½  r1  r@   rv  rl  rÐ  r  )r+  r  r…  r  s       r;   Útest_iso_calendar_longer_arrayr’  
  s�   € ô �(‰(”H×%Ñ% d¨A¨q°!Ó4Ð5°bÑ8¼"¿,¹,ÀtÓ:LÓ
M€CÜ�_‰_˜SÓ!€FÜ�~‰~×)Ñ)Ø
ˆ�‰�R�D˜‘G˜a˜S ™VÐ$Ú9ð *ó €Hð �=‰=˜Ô"Ð"Ñ"rE   c                  ó	  — t        j                  d«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  g d¢«      }t        j                  || ¬«      }t        j                  || ¬«      }dD �])  }t        j                  |«      }t        j                  || ¬«      }|j                  |«      }	t        j                  ||¬«      }
|
j                  t        j                  |	«      «      sJ ‚t        j                  ||«      }
|
j                  t        j                  |	«      «      sJ ‚t        j                  |t        j                  d|«      ¬«      }t        j                  t         j                  d	¬
«      5  t        j                  ||¬«       d d d «       �Œ, t        j                  d«      }t        j                  t        d¬
«      5  t        j                  |¬«       d d d «       d}t        j                  |«      }t        j                  |dd¬«      }t        j                  |dd¬«      }t        j                  t        d|› d�¬
«      5  t        j                  ||¬«       d d d «       t        j                  |j                  |d¬«      «      }	t        j                  ||¬«      }
|	j                  |
«       t        j                  |j                  |d¬«      «      }	t        j                  ||¬«      }
|	j                  |
«       t        j                  |«      }t        j                  |dd¬«      }t        j                  |dd¬«      }t        j                  t        d|› d�¬
«      5  t        j                  ||¬«       d d d «       |j                  |g d¢¬«      }	t        j                  ||¬«      }
|
j                  t        j                  |	«      «       |j                  |g d¢¬«      }	t        j                  ||¬«      }
|
j                  t        j                  |	«      «       y # 1 sw Y   �ŒÎxY w# 1 sw Y   �Œ^xY w# 1 sw Y   �ŒåxY w# 1 sw Y   ŒÑxY w)Nr<  r…  z2015-03-29 02:30:00z2015-03-29 03:30:00)z2018-10-28 01:20:00z2018-10-28 02:36:00z2018-10-28 03:46:00r/  )rT   r†  r‡  rÚ  zalready have a timezone:r.   zEurope/Brusselsssznot found in timezone databaseúEurope/Brusselsrl   Úearliest)Ú	ambiguousÚnonexistentÚlatestz%Timestamp doesn't exist in timezone 'ú'Úshift_forward)r—  Úshift_backwardz$Timestamp is ambiguous in timezone ')TTT)r–  )FFF)r’   r1  rC  rD  r·   r@   r�   rE  Úassume_timezoner  r4   r5   r[  rú  )Úts_typer}  r—  r–  Úambiguous_arrayÚnonexistent_arrayrJ  r×   Útar  r…  Úta_zonedÚinvalid_optionsÚoptions_nonexistent_raiseÚoptions_nonexistent_earliestÚoptions_nonexistent_latestÚoptions_ambiguous_raiseÚoptions_ambiguous_latestÚoptions_ambiguous_earliests                      r;   Útest_assume_timezoner©  
  sç  € ô �l‰l˜4Ó €GÜ—‘ò !:ó ;€Jô —.‘.Ð"7Ø"7ð"9ó :€Kä—‘ò  7ó 8€Iô —h‘h˜y¨wÔ7€OÜŸ™ °7Ô;Ðà>ó :ˆÜ×*Ñ*¨8Ó4ˆÜ�X‰X�j wÔ/ˆØ×)Ñ)¨(Ó3ˆÜ×#Ñ# B°Ô8ˆØ�}‰}œRŸX™X hÓ/Ô0Ð0Ð0Ü×#Ñ# B¨Ó1ˆØ�}‰}œRŸX™X hÓ/Ô0Ð0Ð0ä—8‘8˜J¬R¯\©\¸$ÀÓ-IÔJˆÜ�]‰]œ2Ÿ?™?Ð2LÔMñ 	:Ü×Ñ˜x°Õ9÷	:ñ 	:ð:ô ×.Ñ.Ð/BÓC€OÜ	�‰”zÐ)IÔ	Jñ 8Ü
×Ñ˜2 Õ7÷8ð !€Hä "× 8Ñ 8¸Ó BÐÜ#%×#;Ñ#;Ø˜G°ô$=Ð ä!#×!9Ñ!9Ø˜G°ô";Ðô 
�‰”zð$Ø$, :¨Qð0ô
1ñ >ô 	×ÑÐ,Ø#<õ	>÷>ô �x‰x˜×/Ñ/Ø˜oð 0ó /ó 0€Hä×ÑØÐ#=ô?€Fà‡O�O�FÔä�x‰x˜×/Ñ/ØÐ.ð 0ó 0ó 1€Hä×ÑØÐ#?ôA€Fà‡O�O�FÔä ×6Ñ6°xÓ@ÐÜ!×7Ñ7Ø˜H°'ô ;Ðä!#×!9Ñ!9Ø˜J°Gô"=Ðô 
�‰”zð*Ø*2¨°1ð6ô
7ñ Mô 	×Ñ˜?Ð4KÕL÷Mð
 ×$Ñ$ XÒ9KÐ$ÓL€HÜ×ÑØÐ!;ô=€Fà
‡M�M”"—(‘(˜8Ó$Ô%à×$Ñ$ XÒ9NÐ$ÓO€HÜ×ÑØÐ!9ô;€Fà
‡M�M”"—(‘(˜8Ó$Õ%÷i	:ñ 	:ú÷8ñ 8ú÷>ñ >ú÷0Mð Mús0   ÆQÇ(QÉ.Q)ÎQ6ÑQ	ÑQ&Ñ)Q3Ñ6Q?c           	      óø  — ddddddddœ}ddddddd	œ}t        j                  | «      }|D �]õ  }t        |«      ||   z   }t        j                  ||«      }t        j
                  ||¬
«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  ||¬
«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  ||¬
«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       |dk7  �r~t        j                  ||d¬«      }| j                  j                  ||   «      }|j                   j"                  €ft        j
                  ||¬
«      j                  «       }	| |z
  j                  j                  |«      |z   }
t        j                  j                  |	|
«       t        j                  ||¬
«      j                  «       }	| |z
  j                  j                  |«      |z   }
t        j                  j                  |	|
«       t        j                  ||¬
«      j                  «       }	| |z
  j                  j                  |«      |z   }
t        j                  j                  |	|
«       |dk(  s�ŒÖt        j
                  ||¬«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  ||¬«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  ||¬«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       �Œø |j                   j"                  €žt        j                  |d¬«      }t        j
                  ||¬
«      }	| j                  j                  «      }
t        j$                  |
| k(  |
t'        j(                  |||   «      z   |
«      }
t        j                  j                  |	|
«       |dk(  �rd}t        j
                  |«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  |«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       t        j                  |«      j                  «       }	| j                  j                  |«      }
t        j                  j                  |	|
«       y y )Nr<  r;  r:  r€   rÙ  rÉ  rì  ©ri  rh  rw  ru   rr  rq  r`  )ri  rh  rw  ru   rr  rq  rÚ  r`  T)Úcalendar_based_originrZ  )Úceil_is_strictly_greaterÚ1D)r’   r·   rï  r@   r²   Úceil_temporalr�  rÄ  r  r  r{  Úassert_array_equalÚfloor_temporalr  Úround_temporalrU  rÌ   rR  ÚwhererC  Ú	Timedelta)rK  rK   r+  Úunit_shorthandÚgreater_unitr   ÚvalueÚ	frequencyr×   r…  r  Úorigins               r;   Ú_check_temporal_roundingrº  l
  s�  € àØØØØØØñ€Nð ØØØØØñ€Lô 
�‰�"‹€Bàó 1<ˆÜ˜“J °Ñ!5Ñ5ˆ	Ü×)Ñ)¨%°Ó6ˆä×!Ñ! "¨gÔ6×@Ñ@ÓBˆØ—5‘5—:‘:˜iÓ(ˆÜ
�
‰
×%Ñ% f¨hÔ7ä×"Ñ" 2¨wÔ7×AÑAÓCˆØ—5‘5—;‘;˜yÓ)ˆÜ
�
‰
×%Ñ% f¨hÔ7ä×"Ñ" 2¨wÔ7×AÑAÓCˆØ—5‘5—;‘;˜yÓ)ˆÜ
�
‰
×%Ñ% f¨hÔ7ð
 �5‹=Ü×-Ñ-Ø�t°4ô9ˆGà—U‘U—[‘[ ¨dÑ!3Ó4ˆFà�w‰w�z‰zÐ!Ü×)Ñ)¨"°gÔ>×HÑHÓJ�Ø ™K×+Ñ+×0Ñ0°Ó;¸fÑD�Ü—
‘
×-Ñ-¨f°hÔ?ä×&Ñ& r°7Ô;×EÑEÓGˆFØ˜V™×'Ñ'×-Ñ-¨iÓ8¸6ÑAˆHÜ�J‰J×)Ñ)¨&°(Ô;ä×&Ñ& r°7Ô;×EÑEÓGˆFØ˜V™×'Ñ'×-Ñ-¨iÓ8¸6ÑAˆHÜ�J‰J×)Ñ)¨&°(Ô;ð �5Œ=Ü×%Ñ% b°5Ô9×CÑCÓEˆFØ—u‘u—z‘z )Ó,ˆHÜ�J‰J×)Ñ)¨&°(Ô;ä×&Ñ& r°EÔ:×DÑDÓFˆFØ—u‘u—{‘{ 9Ó-ˆHÜ�J‰J×)Ñ)¨&°(Ô;ä×&Ñ& r°EÔ:×DÑDÓFˆFØ—u‘u—{‘{ 9Ó-ˆHÜ�J‰J×)Ñ)¨&°(Ö;ðc1<ðn 
‡w�w‡z�zÐÜ×)Ñ)Ø�4°$ô8ˆä×!Ñ! "¨gÔ6ˆØ—5‘5—:‘:˜iÓ(ˆä—8‘8Ø˜‰NØ”r—|‘| E¨>¸$Ñ+?Ó@Ñ@Øóˆô 	�
‰
×%Ñ% f¨hÔ7ð ˆuƒ}Øˆ	ä×!Ñ! "Ó%×/Ñ/Ó1ˆØ—5‘5—:‘:˜iÓ(ˆÜ
�
‰
×%Ñ% f¨hÔ7ä×"Ñ" 2Ó&×0Ñ0Ó2ˆØ—5‘5—;‘;˜yÓ)ˆÜ
�
‰
×%Ñ% f¨hÔ7ä×"Ñ" 2Ó&×0Ñ0Ó2ˆØ—5‘5—;‘;˜yÓ)ˆÜ
�
‰
×%Ñ% f¨hÕ7ð rE   r«  c           	      ó<  — d}g d¢}t        j                  |D �cg c]  }t        j                  |d¬«      ‘Œ c}«      }t        ||| «       g d¢}|D ]C  }|j                  j                  d«      j                  j                  |«      }t        ||| «       ŒE y c c}w )N)r$   r%   r#   r&   r   r'   r_  r   rR  r  é<   éú   iô  iî  )z1923-07-07 08:52:35.203790336z1931-03-17 10:45:00.641559040z1932-06-16 01:16:42.911994368z1941-05-27 11:46:43.822831872z1943-12-14 07:32:05.424766464z1954-04-12 04:31:50.699881472z1966-02-12 17:41:28.693282560z1967-02-26 05:56:46.922376960z1975-11-01 10:55:37.016146432z1982-01-21 18:43:44.517366784z1992-01-01 00:00:00.100000000z1999-12-04 05:55:34.794991104z2026-10-26 08:39:00.316686848r<  r.  )r‡  zAmerica/New_Yorkrˆ  r‰  r”  zPacific/Marquesasr†  rT   rT   )rC  ÚSeriesÚ	Timestamprº  rÄ  rE  rf  )r+  rK   r}  ru  rK  rH  rJ  Úts_zoneds           r;   Útest_round_temporalrÁ  Ô
  s“   € ð
 B€Fò)€Jô 
�‰¸
ÖC°1”B—L‘L ¨Ö.ÒCÓ	D€BÜ˜R ¨Ô.òS€Ið ò 9ˆØ—5‘5×$Ñ$ UÓ+×.Ñ.×9Ñ9¸(ÓCˆÜ  ¨6°4Õ8ñ9ùò Ds   šBc                  ó\  — t        j                  g d¢«      } t        j                  | «      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d«      j	                  «       dk(  sJ ‚t        j                  t        d	¬
«      5  t        j                  | d«       d d d «       y # 1 sw Y   y xY w)N©r$   r%   r#   NNr#   Ú
only_valid©rR  Ú	only_nullr%   rí   r   z*"something else" is not a valid count moder.   zsomething else)r’   r·   r@   rS  r2  r4   r5   rú  r*  s    r;   Ú
test_countrÇ  ó
  sî   € Ü
�(‰(Ò(Ó
)€CÜ�8‰8�C‹=×ÑÓ  AÒ%Ð%Ð%Ü�8‰8�C˜lÔ+×1Ñ1Ó3°qÒ8Ð8Ð8Ü�8‰8�C˜kÔ*×0Ñ0Ó2°aÒ7Ð7Ð7Ü�8‰8�C˜eÔ$×*Ñ*Ó,°Ò1Ð1Ð1Ü�8‰8�C˜Ó×%Ñ%Ó'¨1Ò,Ð,Ð,ä	�‰”zØIô
Kñ (ä
�‰�Ð&Ô'÷(÷ (ñ (ús   ÄD"Ä"D+c                  ó˜  — t        j                  g d¢t        j                  «       ¬«      } t        j                  | t        j
                  d«      «      j                  «       dk(  sJ ‚t        j                  | t        j
                  dt        j                  «       ¬«      «      j                  «       dk(  sJ ‚t        j                  | d«      j                  «       dk(  sJ ‚| j	                  dd¬«      j                  «       dk(  sJ ‚| j	                  d «      j                  «       dk(  sJ ‚t        j                  d	dgd	dggt        j                  «       ¬«      } | j	                  d	«      j                  «       dk(  sJ ‚| j	                  d	d¬«      j                  «       dk(  sJ ‚| j	                  d	d	d¬
«      j                  «       dk(  sJ ‚y )N)r   r$   Nr#   r&   r/  r   r%   r]   r&   r#   ©rV   r$   )rV   Úend)	r’   r·   r   r@   Úindexrœ   r2  r   rJ  r*  s    r;   Ú
test_indexrÌ     si  € Ü
�(‰(Ò%¬B¯H©H«JÔ
7€CÜ�8‰8�CœŸ™ 1›Ó&×,Ñ,Ó.°!Ò3Ð3Ð3Ü�8‰8�CœŸ™ 1¬2¯7©7«9Ô5Ó6×<Ñ<Ó>À"ÒDÐDÐDÜ�8‰8�C˜Ó×!Ñ!Ó# qÒ(Ð(Ð(Ø�9‰9�Q˜aˆ9Ó ×&Ñ&Ó(¨AÒ-Ð-Ð-Ø�9‰9�T‹?× Ñ Ó" bÒ(Ð(Ð(ä
×
Ñ
˜Q ˜F Q¨ FÐ+´"·(±(³*Ô
=€CØ�9‰9�Q‹<×ÑÓ 1Ò$Ð$Ð$Ø�9‰9�Q˜aˆ9Ó ×&Ñ&Ó(¨AÒ-Ð-Ð-Ø�9‰9�Q˜a Qˆ9Ó'×-Ñ-Ó/°2Ò5Ð5Ñ5rE   c                 ó|  ‡— |j                  «       }t        |«      t        | «      k(  sJ ‚t        |«      t        t	        t        | «      «      «      k(  sJ ‚t	        |«      D �cg c]
  }| ||      ‘Œ }}t	        |t        | «      «      D �cg c]
  }| ||      ‘Œ }}| ||      Š‰€/|dk(  rt        d„ |D «       «      sJ ‚t        d„ |D «       «      sJ ‚y y |dk(  r-t        ˆfd„|D «       «      sJ ‚t        ˆfd„|D «       «      sJ ‚y t        ˆfd„|D «       «      sJ ‚t        ˆfd„|D «       «      sJ ‚y c c}w c c}w )Nrh   c              3   ó$   K  — | ]  }|d u –— Œ
 y ­wrå   rá   ©rç   r  s     r;   rê   z&check_partition_nth.<locals>.<genexpr>  ó   è ø€ Ò6 Q�q˜D”yÑ6ùó   ‚c              3   ó$   K  — | ]  }|d u –— Œ
 y ­wrå   rá   rÏ  s     r;   rê   z&check_partition_nth.<locals>.<genexpr>  rÐ  rÑ  c              3   ó4   •K  — | ]  }|d u xs |‰k  –— Œ y ­wrå   rá   ©rç   r  Úps     €r;   rê   z&check_partition_nth.<locals>.<genexpr>  ó!   øè ø€ Ò@¨q�q˜D�yÒ* A¨¡FÓ*Ñ@ùó   ƒc              3   ó(   •K  — | ]	  }|‰k\  –— Œ y ­wrå   rá   rÔ  s     €r;   rê   z&check_partition_nth.<locals>.<genexpr>  ó   øè ø€ Ò3 !�q˜A•vÑ3ùó   ƒc              3   ó(   •K  — | ]	  }|‰k  –— Œ y ­wrå   rá   rÔ  s     €r;   rê   z&check_partition_nth.<locals>.<genexpr>  rÙ  rÚ  c              3   ó4   •K  — | ]  }|d u xs |‰k\  –— Œ y ­wrå   rá   rÔ  s     €r;   rê   z&check_partition_nth.<locals>.<genexpr>   rÖ  r×  )r(  r1   ÚsortedÚlistr²  rí   )rc  r‚   Úpivotrj   r  Úuntil_pivotÚafter_pivotrÕ  s          @r;   Úcheck_partition_nthrâ    s8  ø€ Ø×ÑÓ!€GÜˆw‹<œ3˜t›9Ò$Ð$Ð$Ü�'‹?œd¤5¬¨T«Ó#3Ó4Ò4Ð4Ð4Ü-2°5«\Ö:¨�4˜ ™
Ó#Ð:€KÐ:Ü-2°5¼#¸d»)Ó-DÖE¨�4˜ ™
Ó#ÐE€KÐEØˆW�U‰^Ñ€AØ€yØ˜ZÒ'ÜÑ6¨+Ô6Ô6Ð6Ð6äÑ6¨+Ô6Ô6Ð6Ñ6ð 7ð ˜ZÒ'ÜÓ@°KÔ@Ô@Ð@Ð@ÜÓ3 {Ô3Ô3Ð3Ñ3äÓ3 {Ô3Ô3Ð3Ð3ÜÓ@°KÔ@Ô@Ð@Ñ@ùò ;ùÚEs   Á#D4ÂD9c                  óf  — t        t        dd«      «      } t        j                  | «       d}t	        j
                  | |¬«      }t        | ||d«       t	        j
                  | |«      |k(  sJ ‚t        j                  t        d¬«      5  t	        j
                  | «       d d d «       y # 1 sw Y   y xY w)Nrw   éŒ   r   )rß  Úat_endz8'partition_nth_indices' cannot be called without optionsr.   )
rÞ  r²  ró  Úshuffler@   Úpartition_nth_indicesrâ  r4   r5   rú  )rc  rß  r‚   s      r;   Útest_partition_nthrè  #  s–   € Ü”�c˜3“Ó €DÜ
‡N�N�4ÔØ€EÜ×&Ñ& t°5Ô9€GÜ˜˜g u¨hÔ7ä×#Ñ# D¨%Ó0°GÒ;Ð;Ð;ä	�‰ÜØLô
Nñ 'ô 	× Ñ  Ô&÷'÷ 'ñ 'ús   ÂB'Â'B0c                  óÌ   — t        t        d«      «      d gdz  z   } t        j                  | «       dD ]/  }dD ](  }t	        j
                  | ||¬«      }t        | |||«       Œ* Œ1 y )Nr   )r   r_  r-  é   )rh   rå  )rß  rj   )rÞ  r²  ró  ræ  r@   rç  râ  )rc  rß  rj   r‚   s       r;   Ú!test_partition_nth_null_placementrë  2  sn   € Ü”�b“	‹?˜d˜V b™[Ñ(€DÜ
‡N�N�4Ôàò FˆØ4ò 	FˆNÜ×.Ñ.¨t¸5Ø>LôNˆGä  g¨u°nÕEñ	FñFrE   c                  óv  — dd„} t        j                  g d¢«      }dD ]p  }dD ]'  }t        j                  ||d|fg¬«      } | |||«       Œ) t        j                  ||¬«      } | ||d«       t        j
                  ||¬«      } | ||d	«       Œr t        j                  |t        j                  d
dg¬«      ¬«      } | ||d«       t        j                  |t        j                  d
dg¬«      ¬«      } | ||d	«       t        j                  |d
dg¬«      |k(  sJ ‚t        j                  |d
dg«      |k(  sJ ‚y )Nc                 óè   — t        j                  |d|fg¬«      }|j                  dt        | «      «      }|r| |k(  sJ ‚y t        j                  ||«      }t        j                  || «      }||k(  sJ ‚y )Nr}   ry   r   ©r@   Úsort_indicesÚslicer1   r
  )Úselect_k_indicesr  ÚorderÚstable_sortÚsorted_indicesÚhead_k_indicesr  r½  s           r;   Úvalidate_select_kz.test_select_k_array.<locals>.validate_select_k>  sr   € ÜŸ™¨¸'À5Ð9IÐ8JÔKˆØ'×-Ñ-¨a´Ð5EÓ1FÓGˆÙØ# ~Ò5Ð5Ñ5ä—w‘w˜s NÓ3ˆHÜ—W‘W˜SÐ"2Ó3ˆFØ˜XÒ%Ð%Ñ%rE   ©r$   r%   Nr   ©r   r%   r&   )r~   rn   r}   ©r¶  rq   )r¶  r~   rn   r%   r|   rÚ  ©r}   rn   ry   ©F)r’   r·   r@   Úselect_k_unstableÚtop_k_unstableÚbottom_k_unstablerµ   )rö  r  r¶  rò  r…  s        r;   Útest_select_k_arrayrÿ  =  s\  € ó&ô �(‰(’?Ó
#€CØò 
4ˆØ0ò 	2ˆEÜ×)Ñ)Ø�q g¨uÐ%5Ð$6ô8ˆFá˜f c¨5Õ1ð	2ô
 ×"Ñ" 3¨!Ô,ˆÙ˜& # |Ô4ä×%Ñ% c¨QÔ/ˆÙ˜& # {Õ3ð
4ô ×!Ñ!Ø”R×&Ñ&ØÐ3Ð4ô6ô€Fñ �f˜c <Ô0ä×!Ñ!Ø”R×&Ñ&¨Ð7MÐ6NÔOô€Fñ �f˜c ;Ô/ô ×Ñ  QØ+AÐ*BôDØGMòNð Nð Nä×Ñ  QÐ)?Ð(@ÓAÀVÒKÐKÑKrE   c                  ó|  — dd„} t        j                  g d¢g d¢dœ«      }dD ]¯  }t        j                  ||dg¬«      } | ||dg¬«       t        j                  ||t        j                  d	«      d
fdg¬«      } | ||ddg¬«       t        j
                  ||d	g¬«      } | ||dg¬«       t        j                  ||d	dg¬«      } | ||ddg¬«       Œ± t        j                  t        d¬«      5  t        j                  |«       d d d «       t        j                  t        d¬«      5  t        j                  |ddg¬«       d d d «       t        j                  t        d¬«      5  t        j                  |dg ¬«       d d d «       t        j                  t        d¬«      5  t        j                  |dg¬«       d d d «       t        j                  t        d¬«      5  t        j                  |dg¬«       d d d «       y # 1 sw Y   ŒýxY w# 1 sw Y   ŒÌxY w# 1 sw Y   ŒœxY w# 1 sw Y   ŒkxY w# 1 sw Y   y xY w)Nc                 óâ   — t        j                  ||¬«      }|j                  dt        | «      «      }|r| |k(  sJ ‚y t        j                  ||«      }t        j                  || «      }||k(  sJ ‚y )Nry   r   rî  )rñ  Útblrq   ró  rô  rõ  r  r½  s           r;   rö  z.test_select_k_table.<locals>.validate_select_kg  sj   € ÜŸ™¨¸	ÔBˆØ'×-Ñ-¨a´Ð5EÓ1FÓGˆÙØ# ~Ò5Ð5Ñ5ä—w‘w˜s NÓ3ˆHÜ—W‘W˜SÐ"2Ó3ˆFØ˜XÒ%Ð%Ñ%rE   )r$   r%   r   )r$   r   r$   r*   rø  ©r   rn   rù  ry   r   rn   rx   ©r   r~   r   z4'select_k_unstable' cannot be called without optionsr.   z,select_k_unstable requires a nonnegative `k`r]   z2select_k_unstable requires a non-empty `sort_keys`r%   únot a valid sort order©r   Únonscendingú.Invalid sort key column: No match for.*unknown©Úunknownrn   rû  )
r’   rÖ  r@   rü  r_   rý  rþ  r4   r5   rú  )rö  rÖ  r¶  r…  s       r;   Útest_select_k_tabler  f  s5  € ó&ô �H‰Hš9ª9Ñ5Ó6€EØò OˆÜ×%Ñ%Ø�QÐ#5Ð"6ô8ˆá˜& %Ð4FÐ3GÕHä×%Ñ%Ø�Q¤B§H¡H¨S£M°;Ð#?ÐASÐ"TôVˆáØ�EÐ&8Ð:LÐ%Mõ	Oô ×"Ñ" 5¨A¸#¸Ô?ˆÙ˜& %Ð4GÐ3HÕIä×%Ñ% e¨q¸SÀ#¸JÔGˆÙØ�EÐ&8Ð:LÐ%Mö	OðOô" 
�‰ÜØHô
Jñ $ô 	×Ñ˜UÔ#÷$ô
 
�‰”zØKô
Mñ Jä
×Ñ˜U bÐ5GÐ4HÕI÷Jô 
�‰”zð5ô
6ñ 7ô 	×Ñ˜U a°2Õ6÷7ô
 
�‰”zÐ)AÔ	Bñ KÜ
×Ñ˜U aÐ4HÐ3IÕJ÷Kô 
�‰”zØMô
Oñ Oä
×Ñ˜U aÐ4LÐ3MÕN÷Oð O÷#$ð $ú÷
Jð Jú÷7ð 7ú÷
Kð Kú÷Oð Oús<   Ã0HÄ)HÅ&HÆ"H&ÇH2ÈHÈHÈH#È&H/È2H;c                  óŒ  — t        j                  g d¢«      } t        j                  | «      }|j	                  «       g d¢k(  sJ ‚t        j                  | d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | dd¬«      }|j	                  «       g d	¢k(  sJ ‚t        j                  | dd¬
«      }|j	                  «       g d	¢k(  sJ ‚t        j                  t        d¬«      5  t        j                  | d¬«       d d d «       y # 1 sw Y   y xY w)Nr÷  ©r#   r   r$   r%   rn   )rò  r~   ©r$   r   r#   r%   rh   )rò  rj   ©r%   r$   r   r#   ri   r  r.   r  )r’   r·   r@   Úarray_sort_indicesr(  r4   r5   rú  ©r  r…  s     r;   Útest_array_sort_indicesr  ™  s  € Ü
�(‰(’?Ó
#€CÜ×"Ñ" 3Ó'€FØ×ÑÓ¢Ò-Ð-Ð-Ü×"Ñ" 3¨kÔ:€FØ×ÑÓ¢Ò-Ð-Ð-Ü×"Ñ" 3¨lÔ;€FØ×ÑÓ¢Ò-Ð-Ð-Ü×"Ñ" 3¨lØ2<ô>€Fà×ÑÓ¢Ò-Ð-Ð-Ü×"Ñ" 3¨Ø2<ô>€Fà×ÑÓ¢Ò-Ð-Ð-ä	�‰”zÐ)AÔ	Bñ 8Ü
×Ñ˜c¨Õ7÷8÷ 8ñ 8ús   ÄD:Ä:Ec                  ó  — t        j                  g d¢«      } t        j                  | «      }|j	                  «       g d¢k(  sJ ‚t        j                  | dg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | dg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | dgd¬«      }|j	                  «       g d	¢k(  sJ ‚t        j                  | dgd¬
«      }|j	                  «       g d	¢k(  sJ ‚t        j                  | t        j
                  dg¬«      ¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j
                  dgd¬«      ¬«      }|j	                  «       g d	¢k(  sJ ‚y )Nr÷  r  rú  ry   r|   r  rh   rs   r  ri   rÚ  )r’   r·   r@   rï  r(  rº   r  s     r;   Útest_sort_indices_arrayr  ¬  sb  € Ü
�(‰(’?Ó
#€CÜ�_‰_˜SÓ!€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_˜SÐ-CÐ,DÔE€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_˜SÐ-DÐ,EÔF€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_˜SÐ-DÐ,EØ,6ô8€Fà×ÑÓ¢Ò-Ð-Ð-ä�_‰_˜SÐ#:Ð";Ø,6ô8€Fà×ÑÓ¢Ò-Ð-Ð-ä�_‰_Ø”R—^‘^Ð/FÐ.GÔHô€Fð ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_Ø”R—^‘^Ð/FÐ.GØ3=ô?ô€Fð ×ÑÓ¢Ò-Ð-Ñ-rE   c                  óò  — t        j                  g d¢g d¢dœ«      } t        j                  | dg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j
                  d«      dfgd	¬
«      }|j	                  «       g d¢k(  sJ ‚t        j                  | ddg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | ddgd	¬
«      }|j	                  «       g d¢k(  sJ ‚t        j                  | ddgd	¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  t        d¬«      5  t        j                  | «       d d d «       t        j                  t        d¬«      5  t        j                  | dg¬«       d d d «       t        j                  t        d¬«      5  t        j                  | dg¬«       d d d «       y # 1 sw Y   Œ‚xY w# 1 sw Y   ŒRxY w# 1 sw Y   y xY w)N)r$   r$   Nr   )r$   r   r   r$   r*   r  ry   r  r   rn   rh   rs   )r%   r#   r   r$   r  rx   r  r  ri   z"Must specify one or more sort keysr.   r  r	  r  r  )	r’   rÖ  r@   rï  r(  r_   r4   r5   rú  )rÖ  r…  s     r;   Útest_sort_indices_tabler  Ç  sÌ  € Ü�H‰Hš?²Ñ>Ó?€Eä�_‰_˜UÐ/AÐ.BÔC€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_˜U´·±¸³¸{Ð/KÐ.LØ,6ô8€Fà×ÑÓ¢Ò-Ð-Ð-ä�_‰_ØÐ-Ð/AÐBô€Fð ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_ØÐ-Ð/AÐBØ!ô€Fð ×ÑÓ¢Ò-Ð-Ð-ä�_‰_ØÐ#Ð%7Ð8Ø!ô€Fð ×ÑÓ¢Ò-Ð-Ð-ä	�‰”zÐ)MÔ	Nñ Ü
�‰˜Ô÷ô 
�‰”zØMô
Oñ Eä
�‰˜Ð*BÐ)CÕD÷Eô 
�‰”zÐ)AÔ	Bñ AÜ
�‰˜Ð*>Ð)?Õ@÷Að A÷ð ú÷Eð Eú÷Að Aús$   Ä>GÅ7G!Æ3G-ÇGÇ!G*Ç-G6c                  óN  — t        j                  g d¢«      } t        j                  | t        j                  g d¢«      ¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  g d¢«      d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  dd	g«      ¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  dd	g«      d¬«      }|j	                  «       g d¢k(  sJ ‚y )
N©r$   r%   Nr$   r%   r#   ©r$   r#   N©Ú	value_set)TFTTFTT©r  rW   )TFFTFTr$   r#   )r’   r·   r@   Úis_inr(  r  s     r;   Ú
test_is_inr  ë  sá   € Ü
�(‰(Ò(Ó
)€Cä�X‰X�c¤R§X¡XªlÓ%;Ô<€FØ×ÑÓÒ!GÒGÐGÐGä�X‰X�c¤R§X¡XªlÓ%;ÈÔM€FØ×ÑÓÒ!HÒHÐHÐHä�X‰X�c¤R§X¡X¨q°!¨fÓ%5Ô6€FØ×ÑÓÒ!HÒHÐHÐHä�X‰X�c¤R§X¡X¨q°!¨fÓ%5À$ÔG€FØ×ÑÓÒ!HÒHÐHÑHrE   c                  óÖ  — t        j                  g d¢«      } t        j                  | t        j                  g d¢«      ¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  g d¢«      d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  dd	g«      ¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  dd	g«      d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j                  dd	g«      d¬
«      }|j	                  «       g d¢k(  sJ ‚y )Nr  r  r  )r   Nr%   r   Nr$   Tr  )r   NNr   Nr$   r$   r#   r[   )r’   r·   r@   Úindex_inr(  r  s     r;   Útest_index_inr!  û  s  € Ü
�(‰(Ò(Ó
)€Cä�[‰[˜¬¯©²Ó(>Ô?€FØ×ÑÓÒ!9Ò9Ð9Ð9ä�[‰[˜¬¯©²Ó(>Ø$(ô*€Fà×ÑÓÒ!<Ò<Ð<Ð<ä�[‰[˜¬¯©°!°Q°Ó(8Ô9€FØ×ÑÓÒ!<Ò<Ð<Ð<ä�[‰[˜¬¯©°!°Q°Ó(8ÀTÔJ€FØ×ÑÓÒ!<Ò<Ð<Ð<ô �[‰[˜œbŸh™h¨¨1 vÓ.¸4Ô@€FØ×ÑÓÒ!<Ò<Ð<Ñ<rE   c                  ó@  — t        j                  g d¢«      } t        j                  | «      }|j	                  «       dgk(  sJ ‚t        j                  | d¬«      }|j	                  «       dgk(  sJ ‚t        j                  | d¬«      }|j	                  «       dgk(  sJ ‚t        j                  | d¬«      }|j	                  «       dgk(  sJ ‚t        j                  | d	¬«      }|j	                  «       dgk(  sJ ‚t        j                  | d
¬«      }|j	                  «       dgk(  sJ ‚t        j                  ddg«      } t        j                  | g d¢¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d	¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d
¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | g d¢d
¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  t        d¬«      5  t        j                  | d¬«       d d d «       t        j                  t        d¬«      5  t        j                  | d¬«       d d d «       y # 1 sw Y   ŒExY w# 1 sw Y   y xY w)Nr.  ç      @Úlower)Úinterpolationr%   Úhigherr#   ÚnearestÚmidpointÚlinearr$   )g      Ð?ç      à?g      è?©Úq)ç      ô?ç      ø?g      ü?)r,  r%  )r$   r$   r$   )r%   r%   r%   )r.  r.  r.  ©r$   r$   r%   z Quantile must be between 0 and 1r.   çš™™™™™ñ?z"not a valid quantile interpolationÚzzz)r’   r·   r@   rð  r(  r4   r5   rú  r  s     r;   Útest_quantiler2    s¨  € Ü
�(‰(’<Ó
 €Cä�[‰[˜Ó€FØ×ÑÓ # Ò&Ð&Ð&ä�[‰[˜¨GÔ4€FØ×ÑÓ ! Ò$Ð$Ð$Ü�[‰[˜¨HÔ5€FØ×ÑÓ ! Ò$Ð$Ð$Ü�[‰[˜¨IÔ6€FØ×ÑÓ ! Ò$Ð$Ð$Ü�[‰[˜¨JÔ7€FØ×ÑÓ # Ò&Ð&Ð&Ü�[‰[˜¨HÔ5€FØ×ÑÓ # Ò&Ð&Ð&ä
�(‰(�A�q�6Ó
€Cä�[‰[˜Ò 1Ô2€FØ×ÑÓÒ!2Ò2Ð2Ð2ä�[‰[˜Ò 1ÀÔI€FØ×ÑÓ¢Ò*Ð*Ð*Ü�[‰[˜Ò 1ÀÔJ€FØ×ÑÓ¢Ò*Ð*Ð*Ü�[‰[˜Ò 1ÀÔL€FØ×ÑÓ¢Ò0Ð0Ð0Ü�[‰[˜Ò 1ÀÔK€FØ×ÑÓ¢Ò*Ð*Ð*Ü�[‰[˜Ò 1ÀÔJ€FØ×ÑÓÒ!2Ò2Ð2Ð2ô �[‰[˜Ò/¸xÔH€FØ×ÑÓÒ!2Ò2Ð2Ð2ä	�‰”zÐ)KÔ	Lñ  Ü
�‰�C˜3Õ÷ ä	�‰”zÐ)MÔ	Nñ .Ü
�‰�C uÕ-÷.ð .÷ ð  ú÷.ð .ús   Ê,LË'LÌLÌLc                  óÎ  — t        j                  g d¢«      } t        j                  | «      }|j	                  «       dgk(  sJ ‚t        j
                  t        j                  ddg«      t        j                  ddg«      g«      } t        j                  | «      }|j	                  «       dgk(  sJ ‚t        j                  g d¢«      } t        j                  | g d¢¬«      }|j	                  «       g d	¢k(  sJ ‚t        j
                  t        j                  ddg«      t        j                  ddg«      g«      } t        j                  | g d¢«      }|j	                  «       g d	¢k(  sJ ‚y )
Nr.  r#  r$   r%   r#   r&   )r   r*  r$   r+  )r$   r#  r&   )r’   r·   r@   Útdigestr(  rJ  r  s     r;   Útest_tdigestr5  ;  s  € Ü
�(‰(’<Ó
 €CÜ�Z‰Z˜‹_€FØ×ÑÓ # Ò&Ð&Ð&ä
×
Ñ
œBŸH™H a¨ VÓ,¬b¯h©h¸¸1°vÓ.>Ð?Ó
@€CÜ�Z‰Z˜‹_€FØ×ÑÓ # Ò&Ð&Ð&ä
�(‰(’<Ó
 €CÜ�Z‰Z˜š{Ô+€FØ×ÑÓ¢Ò,Ð,Ð,ä
×
Ñ
œBŸH™H a¨ VÓ,¬b¯h©h¸¸1°vÓ.>Ð?Ó
@€CÜ�Z‰Z˜š[Ó)€FØ×ÑÓ¢Ò,Ð,Ñ,rE   c                  ó  — t        j                  d gt        j                  «       «      j                  d«      } | j	                  t        j
                  «       «      }|t        j                  dgt        j
                  «       «      k(  sJ ‚y )NFr   )r’   r·   r¥  r™  r¼  r   r  s     r;   Útest_fill_null_segfaultr7  M  sZ   € ä
�(‰(�D�6œ2Ÿ8™8›:Ó
&×
0Ñ
0°Ó
7€CØ�X‰X”b—g‘g“iÓ €FØ”R—X‘X˜q˜c¤2§7¡7£9Ó-Ò-Ð-Ñ-rE   c                  óÚ  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  g d¢«      }t        j                  | |«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | |«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | ||«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | ||«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | |d¬«      }|t        j                  g d	¢«      k(  sJ ‚t        j                  | |d¬«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | |t        j
                  «       ¬
«      }|t        j                  g d	¢«      k(  sJ ‚t        j                  | |t        j
                  «       ¬
«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | |d¬«      }|t        j                  g d¢«      k(  sJ ‚t        j                  | |d¬«      }|t        j                  g d¢«      k(  sJ ‚y )NrC  )r#   r$   r%   ©r%   r#   N)r#   r%   r#   r/  )r#   r#   r#   Tr[   )r%   r#   r#   rÚ  F)r$   r%   N)r’   r·   r@   Úmax_element_wiserë  r—   )r-  r.  Úarr3r…  s       r;   Útest_min_max_element_wiser<  T  sò  € Ü�8‰8’IÓ€DÜ�8‰8’IÓ€DÜ�8‰8’LÓ!€Dä× Ñ   tÓ,€FØ”R—X‘XšiÓ(Ò(Ð(Ð(Ü× Ñ   tÓ,€FØ”R—X‘XšiÓ(Ò(Ð(Ð(ä× Ñ   t¨TÓ2€FØ”R—X‘XšiÓ(Ò(Ð(Ð(Ü× Ñ   t¨TÓ2€FØ”R—X‘XšiÓ(Ò(Ð(Ð(ô × Ñ   t¸Ô=€FØ”R—X‘XšiÓ(Ò(Ð(Ð(Ü× Ñ   t¸Ô=€FØ”R—X‘XšiÓ(Ò(Ð(Ð(Ü× Ñ ØˆdœB×:Ñ:Ó<ô>€Fà”R—X‘XšiÓ(Ò(Ð(Ð(Ü× Ñ ØˆdœB×:Ñ:Ó<ô>€Fà”R—X‘XšiÓ(Ò(Ð(Ð(ô × Ñ   t¸Ô>€FØ”R—X‘XšlÓ+Ò+Ð+Ð+Ü× Ñ   t¸Ô>€FØ”R—X‘XšlÓ+Ò+Ð+Ñ+rE   rV   )r-  g      %@g      %ÀrW   )TFc                 óN  — t        | «      }d |t        j                  |t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      g}|D �]  }t        j
                  g d¢«      t        j
                  g d¢«      t        j                  dd gddgg«      g}t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d	¢«      |rt        j                  g d¢g«      nt        j                  g d	¢g«      g}t        |«      D ]M  \  }}t        j                  |||¬
«      }	t        j                  ||   |�|nd«      }
|	j                  |
«      rŒMJ ‚ �Œ! d | t        j                  | t        j                  «       ¬«      t        j                  | t        j                  «       ¬«      g}|D �]Ú  }t        j
                  g d¢«      t        j
                  dt        j                  ddddg«      t        j
                  dt        j                  d dd dg«      g}t        j
                  g d¢«      t        j
                  dt        j                  t        j                  t        j                  t        j                  t        j                  g«      |rEt        j
                  dt        j                  d t        j                  d t        j                  g«      n(t        j
                  dt        j                  d d d d g«      g}t        |«      D ]z  \  }}t        j                  |||¬
«      }	t        j                  ||   |�|nd«      }
t        j                   j#                  |	j%                  d¬«      |
j%                  d¬«      «       Œ| �ŒÝ dt        j                  d«      dfD ]G  }t'        j(                  t        j*                  «      5  t        j                  g d¢|¬«       d d d «       ŒI y # 1 sw Y   ŒTxY w)Nr/  rC  )r   Nrð  é   r   rð  r>  )r$   r#   r'   )r   Nrð  r�  )r   NNNrU   )ç      ò?g      @g     @@r$   r%   r­  r&   r   r#   )r?  g      @g      @F©Úzero_copy_onlyr   Úarrowr0  rÉ  )rß  r’   rœ   r   r   r·   rJ  rý  r@   Úcumulative_sumrß   r  rÂ  rÃ  r  rƒ  r{  Úassert_array_almost_equalÚto_numpyr4   r5   r[  ©rV   rW   Ú	start_intÚstartsÚstrtÚarraysÚexpected_arraysr  r  r…  r  s              r;   Útest_cumulative_sumrL  v  sF  € ô
 �E“
€IØ�IœrŸy™y¨¼¿¹»ÔCÜ�i‰i˜	¬¯©«
Ô3ð5€Fàó +ˆä�H‰H’YÓÜ�H‰HÒ&Ó'Ü×Ñ˜q $˜i¨"¨b¨Ð2Ó3ð
ˆô �H‰H’YÓáô �H‰HÒ&Ô'Ü!Ÿx™xÒ(=Ó>áô ×ÑÒ/Ð0Ô1Ü!×/Ñ/Ò1FÐ0GÓHð
ˆô   Ó'ò 	+‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä—v‘v˜o¨aÑ0¸$Ð:J±$Ø#$ó&ˆHà—=‘= Õ*Ð*Ð*ò	+ð+ð( �Eœ2Ÿ9™9 U´·±³Ô>Ü�i‰i˜¤B§J¡J£LÔ1ð3€Fàó Pˆä�H‰HÒ+Ó,Ü�H‰H�aœŸ™  B¨¨1Ð-Ó.Ü�H‰H�aœŸ™  q¨$°Ð2Ó3ð
ˆô �H‰HÒ,Ó-Ü�H‰H�aœŸ™¤§¡¬¯©´·±¼¿¹Ð@ÓAáô �H‰H�aœŸ™ ¤r§v¡v¨t´R·V±VÐ<Ô=Ü!Ÿx™x¨¬B¯F©F°D¸$ÀÀdÐ(KÓLð	
ˆô   Ó'ò 	P‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä—v‘v˜o¨aÑ0¸$Ð:J±$Ø#$ó&ˆHä�J‰J×0Ñ0°·±Ø$ð 2Aó 2&Ø'/×'8Ñ'8ÈÐ'8Ó'NõPò	PðPð( ”b—i‘i Ó(¨#Ð.ò 5ˆÜ�]‰]œ2Ÿ?™?Ó+ñ 	5Ü×Ñši¨tÕ4÷	5ð 	5ñ5÷	5ð 	5úó   Ï6PÐP$	c                 óN  — t        | «      }d |t        j                  |t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      g}|D �]  }t        j
                  g d¢«      t        j
                  g d¢«      t        j                  dd gddgg«      g}t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d	¢«      |rt        j                  g d¢g«      nt        j                  g d	¢g«      g}t        |«      D ]M  \  }}t        j                  |||¬
«      }	t        j                  ||   |�|nd«      }
|	j                  |
«      rŒMJ ‚ �Œ! d | t        j                  | t        j                  «       ¬«      t        j                  | t        j                  «       ¬«      g}|D �]Ú  }t        j
                  g d¢«      t        j
                  dt        j                  ddddg«      t        j
                  dt        j                  d dd dg«      g}t        j
                  g d¢«      t        j
                  dt        j                  t        j                  t        j                  t        j                  t        j                  g«      |rEt        j
                  dt        j                  d t        j                  d t        j                  g«      n(t        j
                  dt        j                  d d d d g«      g}t        |«      D ]z  \  }}t        j                  |||¬
«      }	t        j                  ||   |�|nd«      }
t        j                   j#                  |	j%                  d¬«      |
j%                  d¬«      «       Œ| �ŒÝ dt        j                  d«      dfD ]G  }t'        j(                  t        j*                  «      5  t        j                  g d¢|¬«       d d d «       ŒI y # 1 sw Y   ŒTxY w)Nr/  rC  )r$   Nrð  r   r$   rð  r   )r$   r%   r'   )r$   Nrð  rw   )r$   NNNrU   )r.  r#  r\  r%   r­  r&   r#   )r.  g      @g     @*@Fr@  r   rB  r0  rÉ  )rß  r’   rœ   r   r   r·   rJ  rý  r@   Úcumulative_prodrS  r  rÂ  rÃ  r  rƒ  r{  rD  rE  r4   r5   r[  rF  s              r;   Útest_cumulative_prodrP  ­  sE  € ô
 �E“
€IØ�IœrŸy™y¨¼¿¹»ÔCÜ�i‰i˜	¬¯©«
Ô3ð5€Fàó +ˆä�H‰H’YÓÜ�H‰HÒ%Ó&Ü×Ñ˜q $˜i¨"¨a¨Ð1Ó2ð
ˆô �H‰H’YÓáô �H‰HÒ'Ô(Ü!Ÿx™xÒ(=Ó>áô ×ÑÒ0Ð1Ô2Ü!×/Ñ/Ò1FÐ0GÓHð
ˆô   Ó'ò 	+‰FˆAˆsÜ×'Ñ'¨°4ÀJÔOˆFä—{‘{ ?°1Ñ#5¸tÐ?O±tØ()ó+ˆHà—=‘= Õ*Ð*Ð*ò	+ð+ð( �Eœ2Ÿ9™9 U´·±³Ô>Ü�i‰i˜¤B§J¡J£LÔ1ð3€Fàó Pˆä�H‰H’_Ó%Ü�H‰H�aœŸ™  B¨¨1Ð-Ó.Ü�H‰H�aœŸ™  q¨$°Ð2Ó3ð
ˆô �H‰HÒ(Ó)Ü�H‰H�aœŸ™¤§¡¬¯©´·±¼¿¹Ð@ÓAáô �H‰H�aœŸ™ ¤r§v¡v¨t´R·V±VÐ<Ô=Ü!Ÿx™x¨¬B¯F©F°D¸$ÀÀdÐ(KÓLð	
ˆô   Ó'ò 	P‰FˆAˆsÜ×'Ñ'¨°4ÀJÔOˆFä—{‘{ ?°1Ñ#5¸tÐ?O±tØ()ó+ˆHä�J‰J×0Ñ0°·±Ø$ð 2Aó 2&Ø'/×'8Ñ'8ÈÐ'8Ó'NõPò	PðPð( ”b—i‘i Ó(¨#Ð.ò 6ˆÜ�]‰]œ2Ÿ?™?Ó+ñ 	6Ü×Ñšy°Õ5÷	6ð 	6ñ6÷	6ð 	6úrM  )r*  r\  g      @c                 óT  — t        | «      }d |t        j                  |t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      g}|D �])  }t        j
                  g d¢«      t        j
                  g d¢«      t        j                  g d¢g d¢g«      g}t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d¢«      |rt        j                  g d¢g«      nt        j                  g d¢g«      g}t        |«      D ]X  \  }}t        j                  |||¬	«      }	t        j                  ||   |�|n
t        d
«      d¬«      }
|	j                  |
«      rŒXJ ‚ �Œ, d | t        j                  | t        j                  «       ¬«      t        j                  | t        j                  «       ¬«      g}|D �]R  }t        j
                  g d¢«      t        j
                  dddt        j                  ddg«      t        j
                  ddd t        j                  dd g«      g}t        j
                  g d¢«      t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d¢«      g}t        |«      D ]|  \  }}t        j                  |||¬	«      }	t        j                  ||   |�|nd
d¬«      }
t        j                   j#                  |	j%                  d¬«      |
j%                  d¬«      «       Œ~ �ŒU dt        j                  d«      dfD ]G  }t'        j(                  t        j*                  «      5  t        j                  g d¢|¬«       d d d «       ŒI y # 1 sw Y   ŒTxY w)Nr/  )r%   r$   r#   r   r&   r'   )r%   r$   Nr   r&   N)r%   r$   N)r   r&   N)r%   r%   r#   r   r   r'   )r%   r%   Nr   r   N)r%   r%   NNNNrU   g    eÍÍÁFr[   )r#  çÍÌÌÌÌÌô?r]  çffffff@çš™™™™™@çÍÌÌÌÌÌ@r#  rR  r]  rT  rU  )r#  r#  r]  rS  rS  rU  )r#  r#  r]  r]  rT  rU  )r#  r#  Nr#  rT  N)r#  r#  NNNNr@  r   rB  r0  rC  rÉ  )rß  r’   rœ   r   r   r·   rJ  rý  r@   Úcumulative_maxr:  r  rÂ  rÃ  r  rƒ  r{  rD  rE  r4   r5   r[  rF  s              r;   Útest_cumulative_maxrW  ä  s
  € ô
 �E“
€IØ�IœrŸy™y¨¼¿¹»ÔCÜ�i‰i˜	¬¯©«
Ô3ð5€Fàó +ˆä�H‰HÒ'Ó(Ü�H‰HÒ-Ó.Ü×ÑšlªLÐ9Ó:ð
ˆô �H‰HÒ'Ó(áô �H‰HÒ-Ô.Ü!Ÿx™xÒ(FÓGáô ×ÑÒ6Ð7Ô8ä×ÑÒ<Ð=Ó>ð
ˆô   Ó'ò 	+‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä×*Ñ*Ø Ñ"¨DÐ,<¡DÄ#ÀdÃ)Ø ô"ˆHð —=‘= Õ*Ð*Ð*ò	+ð+ð, �Eœ2Ÿ9™9 U´·±³Ô>Ü�i‰i˜¤B§J¡J£LÔ1ð3€Fàó Pˆä�H‰HÒ3Ó4Ü�H‰H�c˜3 ¤R§V¡V¨S°#Ð6Ó7Ü�H‰H�c˜3 ¤b§f¡f¨c°4Ð8Ó9ð
ˆô �H‰HÒ3Ó4Ü�H‰HÒ3Ó4áô �H‰HÒ5Ô6Ü!Ÿx™xÒ(JÓKð	
ˆô   Ó'ò 	P‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä×*Ñ*Ø Ñ"¨DÐ,<¡DÀ$Ø ô"ˆHô �J‰J×0Ñ0°·±Ø$ð 2Aó 2&Ø'/×'8Ñ'8ÈÐ'8Ó'NõPò	PðPð* ”b—i‘i Ó(¨#Ð.ò 5ˆÜ�]‰]œ2Ÿ?™?Ó+ñ 	5Ü×Ñši¨tÕ4÷	5ð 	5ñ5÷	5ð 	5úó   Í9NÎN'	c                 óT  — t        | «      }d |t        j                  |t        j                  «       ¬«      t        j                  |t        j                  «       ¬«      g}|D �])  }t        j
                  g d¢«      t        j
                  g d¢«      t        j                  g d¢g d¢g«      g}t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d¢«      |rt        j                  g d¢g«      nt        j                  g d¢g«      g}t        |«      D ]X  \  }}t        j                  |||¬	«      }	t        j                  ||   |�|n
t        d
«      d¬«      }
|	j                  |
«      rŒXJ ‚ �Œ, d | t        j                  | t        j                  «       ¬«      t        j                  | t        j                  «       ¬«      g}|D �]R  }t        j
                  g d¢«      t        j
                  dddt        j                  ddg«      t        j
                  ddd t        j                  dd g«      g}t        j
                  g d¢«      t        j
                  g d¢«      |rt        j
                  g d¢«      nt        j
                  g d¢«      g}t        |«      D ]|  \  }}t        j                  |||¬	«      }	t        j                  ||   |�|nd
d¬«      }
t        j                   j#                  |	j%                  d¬«      |
j%                  d¬«      «       Œ~ �ŒU dt        j                  d«      dfD ]G  }t'        j(                  t        j*                  «      5  t        j,                  g d¢|¬«       d d d «       ŒI y # 1 sw Y   ŒTxY w)Nr/  )r   r'   r&   r%   r#   r$   )r   r'   Nr%   r#   N)r   r'   Nr9  )r   r   r&   r%   r%   r$   )r   r   Nr%   r%   N)r   r   NNNNrU   g    eÍÍAFr[   )ç      @ç333333@çÍÌÌÌÌÌ@çÍÌÌÌÌÌ @ç333333@ç333333ó?rZ  r[  r\  r^  r_  )rZ  rZ  r\  r]  r]  r_  )rZ  rZ  r\  r\  r^  r_  )rZ  rZ  NrZ  r^  N)rZ  rZ  NNNNr@  r   rB  r0  rC  rÉ  )rß  r’   rœ   r   r   r·   rJ  rý  r@   Úcumulative_minrë  r  rÂ  rÃ  r  rƒ  r{  rD  rE  r4   r5   r[  rV  rF  s              r;   Útest_cumulative_minra    s
  € ô
 �E“
€IØ�IœrŸy™y¨¼¿¹»ÔCÜ�i‰i˜	¬¯©«
Ô3ð5€Fàó +ˆä�H‰HÒ'Ó(Ü�H‰HÒ-Ó.Ü×ÑšlªLÐ9Ó:ð
ˆô �H‰HÒ'Ó(áô �H‰HÒ-Ô.Ü!Ÿx™xÒ(FÓGáô ×ÑÒ6Ð7Ô8ä×ÑÒ<Ð=Ó>ð
ˆô   Ó'ò 	+‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä×*Ñ*Ø Ñ"¨DÐ,<¡DÄ#ÀcÃ(Ø ô"ˆHð —=‘= Õ*Ð*Ð*ò	+ð+ð, �Eœ2Ÿ9™9 U´·±³Ô>Ü�i‰i˜¤B§J¡J£LÔ1ð3€Fàó Pˆä�H‰HÒ3Ó4Ü�H‰H�c˜3 ¤R§V¡V¨S°#Ð6Ó7Ü�H‰H�c˜3 ¤b§f¡f¨c°4Ð8Ó9ð
ˆô �H‰HÒ3Ó4Ü�H‰HÒ3Ó4áô �H‰HÒ5Ô6Ü!Ÿx™xÒ(JÓKð	
ˆô   Ó'ò 	P‰FˆAˆsÜ×&Ñ& s°$À:ÔNˆFä×*Ñ*Ø Ñ"¨DÐ,<¡DÀ#Ø ô"ˆHô �J‰J×0Ñ0°·±Ø$ð 2Aó 2&Ø'/×'8Ñ'8ÈÐ'8Ó'NõPò	PðPð* ”b—i‘i Ó(¨#Ð.ò 5ˆÜ�]‰]œ2Ÿ?™?Ó+ñ 	5Ü×Ñši¨tÕ4÷	5ð 	5ñ5÷	5ð 	5úrX  c                  óÌ  — t        j                  dd«      j                  «       dddœk(  sJ ‚t        j                  ddddg¬«      j                  «       dddœk(  sJ ‚t        j                  g d¢d	j                  «       «      t        j
                  j                  g d¢d	j                  «       gd
j                  «       ¬«      k(  sJ ‚t        j                  t        d¬«      5  t        j                  g d¢d	j                  «       «       d d d «       t        j                  t        d¬«      5  t        j                  ddg¬«       d d d «       y # 1 sw Y   ŒFxY w# 1 sw Y   y xY w)Nr$   r   )r‰   ra   r  r€   )Úfield_names)r  r€   rC  za b cz0 1rÔ  r–  r.   r.  z0 arguments but 2 field namesÚoneÚtwo)
r@   Úmake_structr2  Úsplitr’   rl  rÐ  r4   r5   rú  rá   rE   r;   Útest_make_structrh  X  s7  € Ü�>‰>˜!˜SÓ!×'Ñ'Ó)°1¸3Ñ-?Ò?Ð?Ð?ä�>‰>˜!˜S¨s°C¨jÔ9×?Ñ?ÓAØ�SñFò ð ð ô �>‰>š)Ø!Ÿ-™-›/ó+Ü.0¯n©n×.HÑ.HÚ'Ø%Ÿm™m›oðJ/à6;·k±k³mð /Ió /EòEð Eð Eô
 
�‰”zØJô
Lñ 6ä
�‰’| W§]¡]£_Ô5÷6ô 
�‰”zÐ)HÔ	Iñ 3Ü
�‰ E¨5 >Õ2÷3ð 3÷	6ð 6ú÷3ð 3ús   Ã"'EÄ,EÅEÅE#c                  ó¸  — t        j                  t        j                  «       t        j                  «       «      } t        j                  ddgdgg ddgd g| ¬«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  d	gd d d
dgd gt        j
                  t        j                  «       «      ¬«      }t        j                  |dd«      |k(  sJ ‚t        j                  |t        j                  dt        j                  «       ¬«      d«      |k(  sJ ‚t        j                  |t        j                  dt        j                  «       ¬«      d«      |k(  sJ ‚t        j                  |t        j                  dt        j                  «       ¬«      d«      |k(  sJ ‚y )N)rd  r$   )re  r%   )Únoner#   )rd  r   )rd  r_  r/  )r$   NNr   N)r$   NNr_  Nr$   r   r_  rd  re   Úlastrí   )	r’   Úmap_rV  r   r·   r®  r@   Ú
map_lookuprœ   )rƒ  r  Úresult_firstÚresult_lastÚ
result_alls        r;   Útest_map_lookuprq  k  su  € Ü	�‰”—‘“œBŸH™H›JÓ	'€BÜ
�(‰(�Z Ð,¨{¨mØ˜ ZÐ0°$ð8Ø>@ôB€Cä—8‘8Ò4¼2¿8¹8»:ÔF€LÜ—(‘(Ò3¼"¿(¹(»*ÔE€KÜ—‘˜A˜3  d¨Q°¨F°DÐ9Ü!Ÿx™x¬¯©«
Ó3ô5€Jô �=‰=˜˜e WÓ-°Ò=Ð=Ð=Ü�=‰=˜œbŸi™iØ”B—G‘G“IôØ 'ó)Ø,8ò9ð 9ð 9ä�=‰=˜œbŸi™iØ”B—G‘G“IôØ &ó(Ø+6ò7ð 7ð 7ä�=‰=˜œbŸi™iØ”B—G‘G“IôØ %ó'Ø*4ò5ð 5ñ 5rE   c                  óè  — t        j                  g d¢t        j                  «       ¬«      } t        j                  g d¢«      }t         j                  j	                  | |gddg«      }t         j                  j	                  | |gddg«      }t        j                  |d«      |k(  sJ ‚t        j                  |d«      |k(  sJ ‚t        j                  |ddg«      |k(  sJ ‚t        j                  |d	dg«      |k(  sJ ‚t        j                  |d
«      |k(  sJ ‚t        j                  |t        j                  d«      «      |k(  sJ ‚t        j                  |d«      | k(  sJ ‚t        j                  |dg«      | k(  sJ ‚t        j                  |d«      | k(  sJ ‚t        j                  |t        j                  d«      «      | k(  sJ ‚t        j                  |d	d	g¬«      |k(  sJ ‚t        j                  |d«      |k(  sJ ‚t        j                  |dg«      | k(  sJ ‚t        j                  |g «      |k(  sJ ‚t        j                  t         j                  d¬«      5  t        j                  |d«       d d d «       t        j                  t         j                  d¬«      5  t        j                  |d«       d d d «       t        j                  t         j                  d¬«      5  t        j                  |d«       d d d «       t        j                  t         j                  d¬«      5  t        j                  |«       d d d «       y # 1 sw Y   ŒÕxY w# 1 sw Y   Œ�xY w# 1 sw Y   ŒexY w# 1 sw Y   y xY w)N©r&   r   r'   r/  )r  Nr«  r   r   rœ  z.c.bs   .c.br$   )r"   r   )rœ  r   z.a)r   r�   )r$   r$   r   zNo match for FieldRefr.   r  z.c.fooz.a.fooz cannot be called without options)r’   r·   r   rl  rÐ  r@   Ústruct_fieldr_   r4   r5   r[  )r   r   rœ  r  s       r;   Útest_struct_fields_optionsru  }  sÄ  € Ü
�‰’¤§¡£Ô,€AÜ
�‰Ò"Ó#€AÜ
�‰×"Ñ" A q 6¨C°¨:Ó6€AÜ
�.‰.×
$Ñ
$ a¨ V¨c°3¨ZÓ
8€Cä�?‰?˜3 Ó'¨1Ò,Ð,Ð,Ü�?‰?˜3 Ó(¨AÒ-Ð-Ð-Ü�?‰?˜3  c 
Ó+¨qÒ0Ð0Ð0Ü�?‰?˜3  C Ó)¨QÒ.Ð.Ð.Ü�?‰?˜3 Ó,°Ò1Ð1Ð1Ü�?‰?˜3¤§¡¨Ó 4Ó5¸Ò:Ð:Ð:ä�?‰?˜3 Ó%¨Ò*Ð*Ð*Ü�?‰?˜3  Ó&¨!Ò+Ð+Ð+Ü�?‰?˜3 Ó$¨Ò)Ð)Ð)Ü�?‰?˜3¤§¡¨Ó 0Ó1°QÒ6Ð6Ð6ä�?‰?˜3¨¨A¨Ô/°1Ò4Ð4Ð4Ü�?‰?˜3 Ó'¨1Ò,Ð,Ð,Ü�?‰?˜3  Ó$¨Ò)Ð)Ð)Ü�?‰?˜3 Ó# sÒ*Ð*Ð*ä	�‰”r—‘Ð.EÔ	Fñ $Ü
�‰˜˜UÔ#÷$ô 
�‰”r—‘Ð.EÔ	Fñ 'Ü
�‰˜˜XÔ&÷'ô 
�‰”r—‘Ð.EÔ	Fñ 'Ü
�‰˜˜XÔ&÷'ô 
�‰”r—‘Ð.PÔ	Qñ Ü
�‰˜Ô÷ð ÷$ð $ú÷'ð 'ú÷'ð 'ú÷ð ús0   ÉMÊMË!MÌ%M(ÍMÍMÍM%Í(M1c                  óž   — t        j                  t        j                  g d¢g d¢«      g d¢g d¢«      t        j                  g d¢«      k(  sJ ‚y )Nr'  )FTNrC  )é   r,  r-  )r$   r,  N)r@   Ú	case_whenrf  r’   r·   rá   rE   r;   Útest_case_whenry  ¢  sE   € Ü�<‰<œŸ™Ò':Ú':ó<â!Ú$ó&ô *,¯©²-Ó)@òAð Añ ArE   c                  ób  — t        j                  dt        j                  «       fdt        j                  «       fg«      } t        j                  | «      }dddœd dddœd dd	dœg}d d
ddœdddœd dddœg}t        j
                  ||g|«      }d}t         j                  j                  ||«      }t        j
                  d d
ddœg| «      }|j                  |«      sJ ‚d}t         j                  j                  ||«      }t        j
                  dd	dœdddœg| «      }|j                  |«      sJ ‚y )Nr   r   r   r%   r*   r   r&   gffffff@r'   g¤p=
×£à?r#   çffffffæ?g333333ã?ró   r$   )	r’   r¢  rÃ  r   r®  r·   r¦  Úlist_elementr  )Úelement_typeÚ	list_typeÚl1Úl2ÚlistsrË  r…  r  s           r;   Útest_list_elementr‚  ©  s  € Ü—9‘9˜s¤B§J¡J£LÐ1°C¼¿¹»Ð3CÐDÓE€LÜ—‘˜Ó&€IØ˜Ñ
˜T¨°!Ñ#4°dÀ#ÈAÑ<NÐ	O€BØ
�c Ñ"¨"°1Ñ$5°tÀ2ÈAÑ=NÐ	O€BÜ�H‰H�b˜"�X˜yÓ)€Eà€EÜ�Z‰Z×$Ñ$ U¨EÓ2€FÜ�x‰x˜ T°Ñ2Ð3°\ÓB€HØ�=‰=˜Ô"Ð"Ð"à€EÜ�Z‰Z×$Ñ$ U¨EÓ2€FÜ�x‰x˜s¨Ñ+°2¸AÑ->Ð?ÀÓN€HØ�=‰=˜Ô"Ð"Ñ"rE   c                  óR  — t        dd«      D � cg c]  } t        j                  | dd¬«      ‘Œ }} t        j                  |t        j                  d«      «      }t        j                  |«      t        j                  t        |«      t        j                  «       ¬«      k(  sJ ‚y c c} w )NiÈ  i,  r$   )r^  rm  r`  r<  r/  )
r²  r½  r’   r·   r1  r@   Úcount_distinctrœ   r1   r   )ÚyÚsamplesr  s      r;   Útest_count_distinctr‡  »  sx   € ÜBGÈÈdÓBSÖT¸QŒx× Ñ  a¨q°aÖ8ÐT€GÐTÜ
�(‰(�7œBŸL™L¨Ó.Ó
/€CÜ×Ñ˜SÓ!¤R§Y¡Y¬s°7«|Ä"Ç(Á(Ã*Ô%MÒMÐMÑMùò Us   �B$c                  óÐ  — t        j                  g d¢«      } t        j                  | «      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d¬«      j	                  «       dk(  sJ ‚t        j                  | d«      j	                  «       dk(  sJ ‚y )	NrÃ  r#   rÄ  rÅ  rÆ  r$   rí   r&   )r’   r·   r@   r„  r2  r*  s    r;   Útest_count_distinct_optionsr‰  Á  sÃ   € Ü
�(‰(Ò(Ó
)€CÜ×Ñ˜SÓ!×'Ñ'Ó)¨QÒ.Ð.Ð.Ü×Ñ˜S |Ô4×:Ñ:Ó<ÀÒAÐAÐAÜ×Ñ˜S {Ô3×9Ñ9Ó;¸qÒ@Ð@Ð@Ü×Ñ˜S uÔ-×3Ñ3Ó5¸Ò:Ð:Ð:Ü×Ñ˜S %Ó(×.Ñ.Ó0°AÒ5Ð5Ñ5rE   c                  óê  — t        j                  dg«      } t        j                  | d¬«      | k(  sJ ‚t        j                  | d¬«      t        j                  dg«      k(  sJ ‚t        j                  | d«      | k(  sJ ‚t        j                  | d«      t        j                  dg«      k(  sJ ‚t	        j
                  t        d¬	«      5  t        j                  | d
¬«       d d d «       y # 1 sw Y   y xY w)Nu   01Â²3ÚNFC)Úformr„   Ú0123ÚNFDÚNFKDz/"NFZ" is not a valid Unicode normalization formr.   ÚNFZ)r’   r·   r@   Úutf8_normalizer4   r5   rú  r*  s    r;   Útest_utf8_normalizer’  Ê  sÎ   € Ü
�(‰(�G�9Ó
€CÜ×Ñ˜S uÔ-°Ò4Ð4Ð4Ü×Ñ˜S vÔ.´"·(±(¸F¸8Ó2DÒDÐDÐDÜ×Ñ˜S %Ó(¨CÒ/Ð/Ð/Ü×Ñ˜S &Ó)¬R¯X©X°v°hÓ-?Ò?Ð?Ð?Ü	�‰ÜØCô
Eñ +ô 	×Ñ˜# EÕ*÷+÷ +ñ +ús   ÃC)Ã)C2c            
      óä  — dD ]E  } t        j                  d| ¬«      t        j                  g t        j                  «       ¬«      k(  rŒEJ ‚ t        d«      D �cg c].  }t        t        j                  d«      j                  «       «      ‘Œ0 }}t        t        |«      «      t        |«      k(  sJ ‚t        dd«      D �cg c]3  }t        t        j                  d|dz  ¬«      j                  «       «      ‘Œ5 }}t        t        |«      «      dk(  sJ ‚t        «       dd	g}|j                  d
„ t        d«      D «       «       |D �cg c]0  }t        t        j                  d|¬«      j                  «       «      ‘Œ2 }}t        t        |«      «      t        |«      k(  sJ ‚t        j                  t        d¬«      5  t        j                  dg ¬«       d d d «       y c c}w c c}w c c}w # 1 sw Y   y xY w)N)Úsystemr¤  iÖÿÿÿs   abcdefr   )Úinitializerr/  r   rw   r_  rs  r  c              3   óF   K  — | ]  }t        j                  d «      –— Œ y­w)r   N)ÚosÚurandom)rç   r  s     r;   rê   ztest_random.<locals>.<genexpr>æ  s   è ø€ Ò:¨1œŸ
™
 2ŸÑ:ùs   ‚!zJinitializer should be 'system', an integer, or a hashable object; got \[\]r.   )r@   ró  r’   r·   rÃ  r²  Útupler(  r1   rú  r3   rB  r4   r5   r6   )r•  r  rJ  Úinitializerss       r;   Útest_randomr›  Ö  s¬  € à5ò ,ˆÜ�y‰y˜¨Ô4Ü�H‰H�RœbŸj™j›lÔ+ó,ð 	,ð ,ð,ô
 :?¸r»ÖC°AŒe”B—I‘I˜c“N×,Ñ,Ó.Õ/ÐC€FÐCÜŒs�6‹{Óœs 6›{Ò*Ð*Ð*ô ˜Q “}ö&Øô ”B—I‘I˜c¨q°1©uÔ5×?Ñ?ÓAÕBð &€Fð &äŒs�6‹{Ó˜qÒ Ð Ð ô “H˜i¨Ð/€LØ×ÑÑ:´°b³	Ô:Ô:à#ö%Øô ”B—I‘I˜c¨qÔ1×;Ñ;Ó=Õ>ð %€Fð %äŒs�6‹{Óœs 6›{Ò*Ð*Ð*ä	�‰”yð?ô
@ñ 'ô 	�	‰	�# 2Õ&÷'ð 'ùò Dùò&ùò%÷'ð 'ús   Á3GÂ=8GÅ5G!Æ6G&Ç&G/ztiebreaker,expected_valuesrÙ  )r#   r$   r&   r'   r&   r'   r$   ro   )r#   r%   r   r_  r   r_  r%   re   ©r#   r$   r&   r'   r   r_  r%   Údense)r%   r$   r#   r&   r#   r&   r$   c                 ó  — t        j                  g d¢«      }t        j                  dd| ¬«      }t        j                  ||¬«      }t        j                  |t        j
                  «       ¬«      }|j                  |«      sJ ‚y )N©r_  rÚ  ç333333@Nr   NrÚ  rn   rå  rp   rÚ  r/  )r’   r·   r@   r¬   Úrankr   r  )rr   Úexpected_valuesr  Úrank_optionsr…  r  s         r;   Útest_rank_options_tiebreakerr¤  ñ  sc   € ô �(‰(Ò8Ó
9€CÜ—>‘>¨KØ19Ø-7ô9€Lô �W‰W�S ,Ô/€FÜ�x‰x˜¬b¯i©i«kÔ:€HØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó²  — t        j                  g d¢«      } t        j                  g d¢t        j                  «       ¬«      }t        j                  | «      }|j                  |«      sJ ‚t        j                  | t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  | t        j                  dg¬«      ¬«      }|j                  |«      sJ ‚t        j                  | d¬«      }t        j                  g d	¢t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  | d
¬«      }t        j                  g d¢t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  t        d¬«      5  t        j                  d
dd¬«       d d d «       y # 1 sw Y   y xY w)NrŸ  rœ  r/  rÚ  rx   ry   rh   ri   )r   r#   r'   r$   r_  r%   r&   r~   )r#   r&   r$   r'   r%   r_  r   z'"NonExisting" is not a valid tiebreakerr.   rå  ÚNonExistingrp   )
r’   r·   r   r@   r¡  r  r¬   r4   r5   rú  ©r  r  r…  Úexpected_at_startÚexpected_descendings        r;   Útest_rank_optionsrª    s\  € Ü
�(‰(Ò8Ó
9€CÜ�x‰xÒ-´B·I±I³KÔ@€Hô �W‰W�S‹\€FØ�=‰=˜Ô"Ð"Ð"ô �W‰W�S¤"§.¡.Ó"2Ô3€FØ�=‰=˜Ô"Ð"Ð"ô �W‰W�S¤"§.¡.Ø%Ð&ô#(ô €Fð �=‰=˜Ô"Ð"Ð"ä�W‰W�S¨Ô4€FÜŸ™Ò!6¼R¿Y¹Y»[ÔIÐØ�=‰=Ð*Ô+Ð+Ð+ä�W‰W�S LÔ1€FÜŸ(™(Ò#8¼r¿y¹y»{ÔKÐØ�=‰=Ð,Ô-Ð-Ð-ä	�‰”zØGô
Iñ 1ä
�‰ Ø&.Ø"/õ	1÷1÷ 1ñ 1ús   Æ+GÇGc                  ó°  — t        j                  g d¢«      } t        j                  g d¢t        j                  «       ¬«      }t        j                  | «      }|j                  |«      sJ ‚t        j                  | t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  | t        j                  dg¬«      ¬«      }|j                  |«      sJ ‚t        j                  | d¬«      }t        j                  g d	¢t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  | d
¬«      }t        j                  g d¢t        j                  «       ¬«      }|j                  |«      sJ ‚t        j                  t        d¬«      5  t        j                  | d¬«       d d d «       y # 1 sw Y   y xY w)N©Nr$   Nr%   N)r{  r   r{  r   r{  r/  rÚ  rx   ry   rh   ri   )r   r{  r   r†   r   r~   )r{  r   r{  r   r{  r  r.   ÚXXX)
r’   r·   rÃ  r@   Úrank_quantiler  r­   r4   r5   rú  r§  s        r;   Útest_rank_quantile_optionsr¯  #  sd  € Ü
�(‰(Ò+Ó
,€CÜ�x‰xÒ1¼¿
¹
»ÔE€Hô ×Ñ˜cÓ"€FØ�=‰=˜Ô"Ð"Ð"ô ×Ñ˜c¬2×+AÑ+AÓ+CÔD€FØ�=‰=˜Ô"Ð"Ð"ô ×Ñ˜c¬2×+AÑ+AØ%Ð&ô,(ô €Fð �=‰=˜Ô"Ð"Ð"ä×Ñ˜c°*Ô=€FÜŸ™Ò!:ÄÇÁÃÔNÐØ�=‰=Ð*Ô+Ð+Ð+ä×Ñ˜c¨\Ô:€FÜŸ(™(Ò#<Ä2Ç:Á:Ã<ÔPÐØ�=‰=Ð,Ô-Ð-Ð-ä	�‰”zÐ)AÔ	Bñ /Ü
×Ñ˜¨Õ.÷/÷ /ñ /ús   Æ+GÇGc                  ó”  — t        j                  g d¢«      } t        j                  g d¢«      }t	        j
                  | «      }|j                  «       |k(  sJ ‚t	        j
                  | dd¬«      }|j                  «       |k(  sJ ‚t	        j
                  | t	        j                  «       ¬«      }|j                  «       |k(  sJ ‚t        j                  g d¢«      }t	        j
                  | dd	¬«      }|j                  «       |k(  sJ ‚t	        j
                  | t	        j                  dd	¬«      ¬«      }|j                  «       |k(  sJ ‚y )
Nr¬  )çúÅ‚•ãÇà?g2mâ6<�ô¿r±  çüÅ‚•ãÇà¿r±  rå  rn   )rj   rq   rÚ  )r²  g2mâ6<�ô?r²  r±  r²  rh   r~   )r’   r·   r4   rk  r@   Úrank_normalr(  r­   ©r  r  r…  s      r;   Útest_rank_normal_optionsrµ  A  s   € Ü
�(‰(Ò+Ó
,€Cä�}‰}ò	2ó3€Hô �^‰^˜CÓ €FØ×ÑÓ Ò)Ð)Ð)Ü�^‰^˜C°ÀKÔP€FØ×ÑÓ Ò)Ð)Ð)Ü�^‰^˜C¬×)?Ñ)?Ó)AÔB€FØ×ÑÓ Ò)Ð)Ð)ä�}‰}ò	2ó3€Hô �^‰^˜C°
ÀlÔS€FØ×ÑÓ Ò)Ð)Ð)Ü�^‰^˜CÜ$&×$:Ñ$:È*ØEQô%SôT€Fð ×ÑÓ Ò)Ð)Ñ)rE   c                  óˆ  — t        j                  t        j                  dt        j                  «       «      t        j                  dt        j                  t        j                  dt        j
                  «       «      g«      «      g«      } t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d «      }t        j                  ddi«      }t        j                  t        j                  d«      «      }t        j                  t        j                  d	«      «      }t        j                  d
«      }	t        j                  d«      }
||||||||	|
g	}g ||k(  ‘||k7  ‘||kD  ‘||	z  ‘||	z  ‘| ‘|j                  «       ‘||z   ‘||z
  ‘||z  ‘||z  ‘t        j                  |«      ‘t        j                  ||«      ‘t        j                  ||«      ‘t        j                  ||«      ‘t        j                  ||«      ‘t        j                  ||«      ‘t        j                   |«      ‘t        j"                  |«      ‘t        j$                  |«      ‘t        j&                  |«      ‘t        j(                  |«      ‘t        j*                  |«      ‘t        j,                  |«      ‘t        j.                  |«      ‘t        j0                  ||«      ‘t        j2                  |«      ‘t        j4                  |«      ‘t        j6                  |«      ‘t        j8                  |«      ‘t        j:                  |«      ‘t        j<                  |
«      ‘t        j>                  |«      ‘t        j@                  |«      ‘t        jB                  |«      ‘t        jD                  ||«      ‘t        jF                  ||«      ‘t        jH                  ||«      ‘t        jJ                  |«      ‘t        jL                  |«      ‘t        jN                  ||«      ‘|jQ                  t        jR                  «       d
¬«      ‘}t        j                  d«      dkD  t        j                  d«      dk(  t        j                  d«      dk(  t        j                  d«      dk(  t        j                  dd«      dk(  g}t        j                  d«      dkD  t        j                  d«      dk(  t        j                  d«      dk(  t        j                  d«      dk(  t        j                  dd«      dk(  g}||jU                  g d¢«      t        j                  d«      jW                  «       g}|jY                  «       }||z  }||z  }||z  }||||||| dœS )NÚi64r  r  r$   r0  Tr   r   r%   Fr   r¹  r   r_  )r  r  r·  )r$   r   rC  )rí   ÚliteralsÚcallsÚrefsÚnumeric_refsÚspecialÚschema)-r’   r½  r_   r   r¢  r   r@   rœ   r  rå  Únegaterß   rO  ÚdividerS  ÚpowerÚsqrtÚexpÚcosÚsinÚtanÚacosÚatanÚasinÚatan2ÚsinhÚcoshÚtanhÚasinhÚacoshÚatanhrû  ÚsignÚbit_wise_notÚbit_wise_andÚbit_wise_orÚbit_wise_xorr’  Ú	is_finiter£  r¼  r   Úisinr8  Úcopy)r½  r   r   rœ  r¬  rÆ  rÇ  rÈ  rÉ  rÊ  r¶  Úliteral_exprsÚexprs_with_callÚexprs_with_refÚexprs_with_numeric_refsÚspecial_casesÚ	all_exprss                    r;   Úcreate_sample_expressionsrÞ  Y  s  € ä�Y‰YœŸ™ ¬¯©«
Ó3´R·X±XØŒr�y‰yœ"Ÿ(™( 5¬"¯)©)«+Ó6Ð7Ó8ó6:ð ;ó <€Fô 	�	‰	�!‹€AÜ
�	‰	�#‹€AÜ
�	‰	�$‹€AÜ
�	‰	�(Ó€AÜ
�	‰	�$‹€AÜ
�	‰	�3˜�(Ó€AÜ
�	‰	”"—)‘)˜A“,Ó€AÜ
�	‰	”"—(‘(˜1“+Ó€AÜ
�	‰	�%Ó€AÜ
�	‰	�!‹€Að ˜˜1˜a  A q¨!¨QÐ/€Mð7�q˜A‘vð 7˜q A™vð 7 q¨1¡uð 7¨a°!©eð 7°Q¸±Uð 7¸Q¸Bð 7ÀÇ
Á
Ãð 7Ø˜1‘uð7Ø !™eð7Ø%&¨¡Uð7Ø,-°©Eð7Ü35·9±9¸Q³<ð7ä—v‘v˜a “|ð7ä%'§[¡[°°AÓ%6ð7ä8:¿	¹	À!ÀQ»ð7ô —{‘{ 1 aÓ(ð7ô +-¯(©(°1°a«.ð7ô ;=¿'¹'À!»*ð7ô —v‘v˜a“yð	7ô #%§&¡&¨£)ð	7ô .0¯V©V°A«Yð	7ô 9;¿¹¸q»	ð	7ô
 —w‘w˜q“zð7ô
 $&§7¡7¨1£:ð7ô
 02¯w©w°q«zð7ô
 <>¿8¹8ÀAÀq»>ð7ô —w‘w˜q“zð7ô $&§7¡7¨1£:ð7ô 02¯w©w°q«zð7ô —x‘x “{ð7ô %'§H¡H¨Q£Kð7ô 24·±¸!³ð7ô —v‘v˜a“yð7ô #%§'¡'¨!£*ð7ô /1¯o©o¸aÓ.@ð7ô —‘ q¨!Ó,ð7ô /1¯n©n¸QÀÓ.Bð7ô —‘ q¨!Ó,ð7ô /1¯i©i¸«lð7ô =?¿L¹LÈ»Oð7ô —{‘{ 1 aÓ(ð7ð —v‘vœbŸh™h›j¨u�vÓ5ð7€Oô  —h‘h˜u“o¨Ñ)¬2¯8©8°E«?¸aÑ+?Ü—h‘h˜u“o¨Ñ*Ü—h‘h˜~Ó.°'Ñ9Ü—h‘h˜u eÓ,°Ñ7ð9€Nô  "Ÿx™x¨›{¨Q™´·±¸³¸qÑ0@Ü!Ÿx™x¨›{¨aÑ/Ü!Ÿx™x¨Ó/°7Ñ:Ü!Ÿx™x¨¨1›~°Ñ8ð:Ðð 	
Ø	�‰ŠyÓÜ
�‰�‹×ÑÓ!ð€Mð ×"Ñ"Ó$€IØ�Ñ €IØ�Ñ€IØ�Ñ€Ið Ø!Ø ØØ/Ø Øñð rE   c                 óÆ   — t        «       d   D ]Q  }t        |t        j                  «      sJ ‚| j	                  | j                  |«      «      }|j                  |«      rŒQJ ‚ y )Nrí   )rÞ  ræ   r@   Ú
Expressionr  r  r  )r  ÚexprÚrestoreds      r;   Ú#test_expression_serialization_arrowrã  ¦  sZ   € ä)Ó+¨EÑ2ò %ˆÜ˜$¤§¡Ô.Ð.Ð.Ø ×&Ñ& }×':Ñ':¸4Ó'@ÓAˆØ�{‰{˜8Õ$Ð$Ð$ñ%rE   c                  óx  — t        «       } | d   }| d   D ]E  }|j                  |«      }t        j                  j	                  |«      }|j                  |«      rŒEJ ‚ | d   D ]Ž  }|j                  |«      }t        j                  j	                  |«      }t        |«      t        |«      k(  sJ ‚|j                  |«      }t        j                  j	                  |«      }|j                  |«      rŒŽJ ‚ t        | d   | d   «      D ]‘  \  }}|j                  |«      }t        j                  j	                  |«      }t        |«      t        |«      k(  sJ ‚|j                  |«      }t        j                  j	                  |«      }|j                  |«      rŒ‘J ‚ | d   D ]u  }|j                  |«      }t        j                  j	                  |«      }|j                  |«      }t        j                  j	                  |«      }|j                  |«      rŒuJ ‚ | d   d   }|j                  |«      }t        j                  j	                  |«      }|j                  t        j                  dd	i«      «      sJ ‚t        j                  d	«      }	|	j                  g d
¢«      }|	d	k(  |	dk(  z  |	dk(  z  }
|j                  |«      }t        j                  j	                  |«      }t        |
«      t        |«      k(  sJ ‚|j                  |«      }t        j                  j	                  |«      }|j                  |«      sJ ‚y )Nr½  r¸  r¹  rº  r»  r¼  r   r«  r$   rC  r%   r#   )
rÞ  Úto_substraitr@   rà  Úfrom_substraitr  rï  rÕ   rœ   rÖ  )Úexprsr½  rá  Ú
serializedrÚ   Úserialized_againÚdeserialized_againÚ	expr_normrÇ  r   Útargets              r;   Ú'test_expression_serialization_substraitrí  ®  s  € ô &Ó'€EØ�8‰_€Fð �jÑ!ò )ˆØ×&Ñ& vÓ.ˆ
Ü—}‘}×3Ñ3°JÓ?ˆØ�{‰{˜<Õ(Ð(Ð(ð)ð �g‘ò 7ˆØ×&Ñ& vÓ.ˆ
Ü—}‘}×3Ñ3°JÓ?ˆô �<Ó ¤C¨£IÒ-Ð-Ð-Ø'×4Ñ4°VÓ<ÐÜŸ]™]×9Ñ9Ð:JÓKÐØ×"Ñ"Ð#5Õ6Ð6Ð6ð7ô ˜u V™}¨e°NÑ.CÓDò 7‰ˆˆiØ×&Ñ& vÓ.ˆ
Ü—}‘}×3Ñ3°JÓ?ˆÜ�<Ó ¤C¨	£NÒ2Ð2Ð2Ø'×4Ñ4°VÓ<ÐÜŸ]™]×9Ñ9Ð:JÓKÐØ×"Ñ"Ð#5Õ6Ð6Ð6ð7ð �iÑ ò 7ˆØ×&Ñ& vÓ.ˆ
Ü—}‘}×3Ñ3°JÓ?ˆØ'×4Ñ4°VÓ<ÐÜŸ]™]×9Ñ9Ð:JÓKÐØ×"Ñ"Ð#5Õ6Ð6Ð6ð7ð 	ˆiÑ˜Ñ€AØ—‘ Ó'€JÜ—=‘=×/Ñ/°
Ó;€LØ×ÑœrŸy™y¨"¨a¨Ó1Ô2Ð2Ð2ô 	�	‰	�!‹€AØ�6‰6’)Ó€DØ�1‰f˜˜a™Ñ  A¨¡FÑ+€FØ×"Ñ" 6Ó*€JÜ—=‘=×/Ñ/°
Ó;€Läˆv‹;œ#˜lÓ+Ò+Ð+Ð+Ø#×0Ñ0°Ó8ÐÜŸ™×5Ñ5Ð6FÓGÐØ×ÑÐ1Ô2Ð2Ñ2rE   c                  óž  — t        j                  d«      } t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  d«      }t        j                  ddd«      }t        j                  d	«      }t        j                  d
d«      }| |z  |k(   | |k(   dt        j                  «       fD ]  }	|j                  |	«      |k(   Œ |j                  ddg«       |j                  ddg«       |j                  ddg«       |j                  ddg«       t        j                  t        «      5  |j                  d«       d d d «       t        j                  t        j                  «      5  |t        «       k7   d d d «       y # 1 sw Y   ŒCxY w# 1 sw Y   y xY w)Nr   r$   TFr   r_   r    r   )Únestedr_   rï  r	   r%   r  r  )r@   rœ   r_   r’   r¥  r¼  rÖ  r4   r5   r6   r[  r3   )
rG  rd  ÚtrueÚfalser   r_   Únested_mixed_typesÚnested_fieldÚnested_field2r  s
             r;   Útest_expression_constructionrõ  í  sn  € Ü�9‰9�Q‹<€DÜ
�)‰)�A‹,€CÜ�9‰9�T‹?€DÜ�I‰I�eÓ€EÜ�Y‰Y�xÓ €FÜ�H‰H�WÓ€EÜŸ™ $¨¨3Ó/ÐÜ—8‘8Ð/Ó0€LÜ—H‘H˜X wÓ/€Màˆ3�J�&ÒØ	€EˆU‚NØœŸ™›
Ð#ò  ˆØ�
‰
�3‹˜4Óð ð 
‡J�J��1ˆvÔØ×Ñ˜U E˜NÔ+Ø×Ñ�u˜e�nÔ%Ø×Ñ˜˜u�~Ô&ä	�‰”yÓ	!ñ Ø�
‰
�1Œ÷ô 
�‰”r—‘Ó	'ñ Ø”“Ò÷ð ÷ð ú÷ð ús   Å#F7Æ GÆ7G ÇGc                  ó  — t        j                  d«      } t        j                  d«      }t        j                  t        d¬«      5  | xr | d d d «       t        j                  t        d¬«      5  | xs | d d d «       t        j                  t        d¬«      5  t        | «       d d d «       t        j                  t        d¬«      5  |   d d d «       y # 1 sw Y   ŒŠxY w# 1 sw Y   ŒlxY w# 1 sw Y   ŒIxY w# 1 sw Y   y xY w)NTFz"cannot be evaluated to python Truer.   )r@   rœ   r4   r5   rú  r	   )rð  rñ  s     r;   Ú!test_expression_boolean_operatorsr÷  	  sÔ   € ä�9‰9�T‹?€DÜ�I‰I�eÓ€Eä	�‰”zÐ)MÔ	Nñ ØŠ�ø÷ô 
�‰”zÐ)MÔ	Nñ ØŠ�ø÷ô 
�‰”zÐ)MÔ	Nñ ÜˆTŒ
÷ô 
�‰”zÐ)MÔ	Nñ Ø‰÷ð ÷ð ú÷ð ú÷ð ú÷ð ús0   ÁCÁ0C"ÂC.Ã	C:ÃCÃ"C+Ã.C7Ã:Dc                  óR  — t        j                  d«      } t        t        j                  | «      «      dk(  sJ ‚t        t        j                  | «      «      dk(  sJ ‚t        t        j                  | d¬«      «      dk(  sJ ‚t        t        j
                  | d«      «      dk(  sJ ‚t        t        j
                  | t        j                  d«      «      «      dk(  sJ ‚d}t        j                  t        |¬	«      5  t        j
                  | t        «       d d d «       y # 1 sw Y   y xY w)
Nr_   zhour(field)zround(field)r$   rX  z2round(field, {ndigits=1, round_mode=HALF_TO_EVEN})zadd(field, 1)z+only other expressions allowed as argumentsr.   )r@   r_   rï  rq  rU  rß   r’   rœ   r4   r5   r6   r3   )r_   r\  s     r;   Útest_expression_call_functionrù    sí   € Ü�H‰H�WÓ€Eô Œr�w‰w�u‹~Ó -Ò/Ð/Ð/ô Œr�x‰x˜‹Ó >Ò1Ð1Ð1äŒr�x‰x˜ qÔ)Ó*Ø<ò=ð =ð =ô Œr�v‰v�e˜QÓÓ  OÒ3Ð3Ð3ÜŒr�v‰v�eœRŸY™Y q›\Ó*Ó+¨Ò>Ð>Ð>ð 8€CÜ	�‰”y¨Ô	,ñ Ü
�‰ˆu”fÔ÷÷ ñ ús   Ã9DÄD&c                  ó
  — t        j                  dddgi«      } t        j                  t         j                  j
                  «      5  t        j                  | t        j                  «       «       d d d «       y # 1 sw Y   y xY w)Nr   r$   r%   )	r’   rÖ  r4   r5   rÉ  rÊ  r@   r¼  r   )rÖ  s    r;   Útest_cast_table_raisesrû  1  sW   € Ü�H‰H�c˜A˜q˜6�]Ó#€Eä	�‰”r—v‘v×,Ñ,Ó	-ñ #Ü
�‰�”r—x‘x“zÔ"÷#÷ #ñ #ús   Á)A9Á9Bzstart,stop,expectedrC  rä  ©r'   NNr±  ©r$   r%   r~  Úfixedc                 ó€  — |dk(  rot        j                  g d¢g d¢g d¢d gt        j                  t        j                  «       d«      «      j	                  t        j                   |«       d«      «      }n^t        j                  g d¢ddgdgd gt        j                  t        j                  «       «      «      j	                   | |«       «      «      }|| ||d	f}|€H|dk7  rCd
}t        j                  t         j                  |¬«      5  t        j                  |Ž  d d d «       y t        j                  |Ž }	|	j	                  t        j                  t        j                  «       |	j                  j                  «      «      j                  «       }
|
|D �cg c]  }|r|d d |…   n|‘Œ c}k(  sJ ‚y # 1 sw Y   y xY wc c}w )Nrþ  rC  rä  rü  r#   r&   r   r'   TzZUnable to produce FixedSizeListArray from non-FixedSizeListArray without `stop` being set.r.   )r’   r·   r®  r   r¼  r4   r5   r[  r@   Ú
list_slicerÌ   Ú	list_sizer(  )rV   r°  r±  r  rÁ  r~  r  r:   r\  r…  ÚpylistrÆ  s               r;   Útest_list_slice_output_fixedr  8  sm  € ð �GÒÜ�h‰hš	¢<²À$ÐGÜ—x‘x¤§¡£	¨1Ó-ó/ß/3©t´B·H±H¹Z»\È1Ó4MÓ/Nñ 	ô �h‰hš	 A q 6¨A¨3°Ð5Ü—x‘x¤§¡£	Ó*ó,ß,0©D±¹:»<Ó1HÓ,Ið 	ð ��t˜T 4Ð'€DØ€|˜	 WÒ,ðBˆä�]‰]œ2Ÿ?™?°#Ô6ñ 	!Ü�M‰M˜4Ñ ÷	!ð 	!ô —‘ Ð%ˆØ—‘œRŸX™X¤b§g¡g£iØ#Ÿ[™[×2Ñ2ó4ó 5ß5>±Y³[ð 	à¸ÖB°A¡q˜!™F˜d˜Fš)¨aÑ/ÒBÒBÐBÑB÷	!ð 	!üò Cs   ÄF/ÆF;Æ/F8z
start,stop))r   N)r   r$   )r   r%   rý  )r%   r&   c                 ó  — |dk(  rqg d¢g d¢g d¢d g}t        j                  |t        j                  t        j                  «       d«      «      j	                  t        j                   |«       d«      «      }n`g d¢ddgdgd g}t        j                  |t        j                  t        j                  «       «      «      j	                   | |«       «      «      }|dk(  rt         j                  }t        j                  || ||d	¬
«      }|j                   | |«       «      k(  sJ ‚|j	                  t        j                  t        j                  «       «      «      j                  «       }|D �	cg c]  }	|	�|	| ||…   nd ‘Œ }
}	||
k(  sJ ‚y c c}	w )Nrþ  rC  rä  rü  r#   r&   r   r'   F©Úreturn_fixed_size_list)	r’   r·   r®  r   r¼  r@   r   rÌ   r(  )rV   r°  r±  rÁ  r~  rc  r  r…  r  r¬  r  s              r;   Útest_list_slice_output_variabler  X  sO  € ð �GÒÚš<ª¸$Ð?ˆÜ�h‰hØÜ�H‰H”R—W‘W“Y Ó"ó$ç$(¡D¬¯©±*³,ÀÓ)BÓ$Cñ 	ò ˜A˜q˜6 A 3¨Ð-ˆÜ�h‰h�tÜ—x‘x¤§¡£	Ó*ó,ß,0©D±¹:»<Ó1HÓ,Ið 	ð �GÒÜ—H‘Hˆ	ä�]‰]˜3  t¨TØ27ô9€Fà�;‰;™)¡J£LÓ1Ò1Ð1Ð1à�[‰[œŸ™¤"§'¡'£)Ó,Ó-×7Ñ7Ó9€Fð HLÖLÀ! a m��%˜˜T�/Ò"¸Ñ=ÐL€HÐLØ�XÒÐÑùò Ms   Å*FÚreturn_fixed_sizer'  rÌ   c                  óx   — t        j                  t        j                  dt        j                  «       «      «      S ©NÚcol©r’   r®  r_   r   rá   rE   r;   r  r  ~  s    € ŒB�H‰H”R—X‘X˜e¤R§W¡W£YÓ/Ó0€ rE   c                  óz   — t        j                  t        j                  dt        j                  «       «      d«      S )Nr  r$   r  rá   rE   r;   r  r    s"   € ŒB�H‰H”R—X‘X˜e¤R§W¡W£YÓ/°Ó3€ rE   c                  óx   — t        j                  t        j                  dt        j                  «       «      «      S r
  )r’   r¾  r_   r   rá   rE   r;   r  r  €  s    € ŒB�M‰Mœ"Ÿ(™( 5¬"¯'©'«)Ó4Ó5€ rE   c                 óF  — t        j                  dgg |«       «      }t        j                  |dd| ¬«      }|j                  j                  d«      j                  |j                  j                  d«      j                  k(  sJ ‚| €|j                  |j                  k(  sJ ‚y y )Nr$   r   r  )r’   r·   r@   r   rÌ   r_   r>   )r  rÌ   r  Úouts       r;   Ú$test_list_slice_field_names_retainedr  |  s†   € ô �(‰(�Q�C�5™$›&Ó
!€CÜ
�-‰-˜˜Q Ð:KÔ
L€CØ�8‰8�>‰>˜!Ó×!Ñ! S§X¡X§^¡^°AÓ%6×%;Ñ%;Ò;Ð;Ð;ð Ð Ø�x‰x˜3Ÿ8™8Ò#Ð#Ñ#ð !rE   c                  óÈ  — t        j                  dggt        j                  t        j                  «       d«      «      } d}t	        j
                  t         j                  |¬«      5  t        j                  | dd«       d d d «       t	        j
                  t         j                  |¬«      5  t        j                  | dd«       d d d «       t	        j
                  t         j                  |¬«      5  t        j                  | dd«       d d d «       d}t	        j
                  t         j                  |dz   ¬«      5  t        j                  | ddd¬	«       d d d «       t	        j
                  t         j                  |d
z   ¬«      5  t        j                  | ddd¬	«       d d d «       y # 1 sw Y   �Œ+xY w# 1 sw Y   ŒòxY w# 1 sw Y   Œ¹xY w# 1 sw Y   ŒyxY w# 1 sw Y   y xY w)Nr$   z@`start`(.*) should be greater than 0 and smaller than `stop`(.*)r.   r]   r%   r   z`step` must be >= 1, got: r‰   )r±  rs  )	r’   r·   r®  r   r4   r5   r[  r@   r   )r  r\  s     r;   Útest_list_slice_bad_parametersr  ‹  sY  € Ü
�(‰(�Q�C�5œ"Ÿ(™(¤2§7¡7£9¨aÓ0Ó
1€CØ
M€CÜ	�‰”r—‘¨cÔ	2ñ "Ü
�‰�c˜2˜qÔ!÷"ä	�‰”r—‘¨cÔ	2ñ !Ü
�‰�c˜1˜aÔ ÷!ô 
�‰”r—‘¨cÔ	2ñ !Ü
�‰�c˜1˜aÔ ÷!ð '€CÜ	�‰”r—‘¨c°C©iÔ	8ñ )Ü
�‰�c˜1˜a aÕ(÷)ä	�‰”r—‘¨c°D©jÔ	9ñ *Ü
�‰�c˜1˜a bÕ)÷*ð *÷"ñ "ú÷!ð !ú÷!ð !ú÷
)ð )ú÷*ð *ús<   Á&F'Â+F4Ã0G Ä:GÆGÆ'F1Æ4F=Ç G	ÇGÇG!c                 óî   — g d¢}t        j                  || ¬«      }t        j                  ||¬«      }t        j                  |«      }|j
                  |j
                  k(  sJ ‚|j                  |«      sJ ‚y )N)r$   r$   r$   r%   r%   r$   r$   r$   r$   r$   r#   r#   r#   r#   r#   r#   r#   r#   r#   r/  rÚ  )r’   r·   r@   Úrun_end_encodeÚrun_end_decoderÌ   r  )rÁ  Úrun_end_encode_optsrK   r  ÚencodedÚdecodeds         r;   Úcheck_run_end_encode_decoder  Ÿ  sb   € ÚF€FÜ
�(‰(�6 
Ô
+€CÜ×Ñ Ð-@ÔA€GÜ×Ñ Ó(€GØ�<‰<˜3Ÿ8™8Ò#Ð#Ð#Ø�>‰>˜#ÔÐÑrE   rØ   c                 ó   — t        | |«       y rå   )r  )rÁ  rØ   s     r;   Útest_run_end_encoder  ¨  s   € ô4   
¨FÕ3rE   c                  óÀ  — t        j                  g d¢«      } t        j                  g d¢«      }t         j                  j                  | d¬«      }|j	                  |«      sJ ‚t        j                  g d¢«      } t        j                  g d¢«      }t         j                  j                  | d¬«      }|j	                  |«      sJ ‚t        j                  g d¢t        j
                  «       ¬«      } t        j                  g d¢t        j
                  «       ¬«      }t         j                  j                  | d	¬«      }|j	                  |«      sJ ‚t        j                  g d¢t        j                  «       ¬«      } t        j                  g d
¢t        j                  «       ¬«      }t         j                  j                  | d	¬«      }|j	                  |«      sJ ‚t        j                  g d¢t        j                  «       ¬«      } t        j                  t         j                  d¬«      5  t         j                  j                  | d	¬«       d d d «       y # 1 sw Y   y xY w)N)r$   r%   r#   Nr&   r   )Nr$   r$   NNr$   r$   rf   )NNr%   Nr$   Nr%   r/  )r]   r]   NNr]   Nr]   )éÿ   r  NNr  NÚoverflowr.   )r’   r·   r¦  Úpairwise_diffr  r   r
   r4   r5   r[  Úpairwise_diff_checkedr´  s      r;   Útest_pairwise_diffr"  Å  s¤  € Ü
�(‰(Ò(Ó
)€CÜ�x‰xÒ3Ó4€HÜ�Z‰Z×%Ñ% c°!Ð%Ó4€FØ�=‰=˜Ô"Ð"Ð"ä
�(‰(Ò(Ó
)€CÜ�x‰xÒ6Ó7€HÜ�Z‰Z×%Ñ% c°!Ð%Ó4€FØ�=‰=˜Ô"Ð"Ð"ô �(‰(Ò(¬r¯w©w«yÔ
9€CÜ�x‰xÒ6¼R¿W¹W»YÔG€HÜ�Z‰Z×%Ñ% c°"Ð%Ó5€FØ�=‰=˜Ô"Ð"Ð"ô �(‰(Ò(¬r¯x©x«zÔ
:€CÜ�x‰xÒ9ÄÇÁÃ
ÔK€HÜ�Z‰Z×%Ñ% c°"Ð%Ó5€FØ�=‰=˜Ô"Ð"Ð"ô �(‰(Ò(¬r¯x©x«zÔ
:€CÜ	�‰”r—‘Ø'ô
)ñ 9ä
�
‰
×(Ñ(¨°RÐ(Ô8÷9÷ 9ñ 9ús   È)"IÉIc                  óª  — ddg} t        j                  g d¢g d¢«      }|j                  «       i k(  sJ ‚t        j                  g d¢g d¢| «      }|j                  «       d ddœk(  sJ ‚t        |j                  «       «      ddgk(  sJ ‚t        j                  g d¢g d¢| ¬«      }|j                  «       d ddœk(  sJ ‚t	        j
                  t        d¬	«      5  t        j                  g d¢g d¢| d
¬«      }d d d «       t	        j
                  t        d¬	«      5  t        j                  g d¢g d¢| ¬«      }d d d «       y # 1 sw Y   ŒJxY w# 1 sw Y   y xY w)Nrf  rk   )rk   rf  Údepth)r   Nrw  r   )rf  rk   )Ú	key_nameszUnexpected pivot key: depthr.   rl   )r%  rm   z(Encountered more than one non-null value)rk   rf  rk   )r@   Úpivot_widerr2  rÞ  r4   r5   ÚKeyErrorrú  )r%  r…  s     r;   Útest_pivot_widerr(  ã  s0  € Ø˜(Ð#€Iä�^‰^Ò8º.ÓI€FØ�<‰<‹>˜RÒÐÐä�^‰^Ò8º.Ø%ó'€Fà�<‰<‹> t°rÑ:Ò:Ð:Ð:ä�—‘“Ó G¨XÐ#6Ò6Ð6Ð6ä�^‰^Ò8º.Ø&/ô1€Fà�<‰<‹> t°rÑ:Ò:Ð:Ð:ä	�‰”xÐ'DÔ	Eñ AÜ—‘Ò <ºnØ*3Ø8?ôAˆ÷Aô
 
�‰”zÐ)SÔ	Tñ 5Ü—‘Ò =º~Ø*3ô5ˆ÷5ð 5÷Að Aú÷
5ð 5ús   ÃD=ÄE	Ä=EÅ	Ec                  ó  — t        j                  g d¢«      } t        j                  | dd«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j
                  dd¬«      ¬«      }|j	                  «       g d¢k(  sJ ‚y )N)
r   r&   r(   ró   r   r#   r_  r%   r$   r'   r   gš™™™™™é?)
ró   r&   ró   ró   r   r#   r_  r%   r%   r'   )Úlower_limitÚupper_limitrÚ  )r’   r·   r@   Ú	winsorizer(  rÅ   r  s     r;   Útest_winsorizer-  ý  st   € Ü
�(‰(Ò2Ó
3€Cä�\‰\˜#˜s CÓ(€FØ×ÑÓÒ!?Ò?Ð?Ð?ä�\‰\Ø”R×(Ñ(°SÀcÔJôL€Fà×ÑÓÒ!?Ò?Ð?Ñ?rE   )r$   rå   )óÚcollectionsr   r½  r>  Ú	functoolsr   r   rH   r³  r  r—  r4   ró  r@  ré  Únumpyr  ÚImportErrorÚpandasrC  rÉ   r’   Úpyarrow.computer¦  r@   Úpyarrow.libr   r   Úpyarrow.substraitÚ	substraitÚpasrÝ  Ú__dict__rl  r\  r0   ræ   rÌ   rÓ   Ú
issubclassrG   r   r   r   r
   r   r   rÂ  rÃ  Únumerical_arrow_typesr²  r   r®  r¾  r¢  Úall_array_typesr<   rD   rR   ÚmarkÚfilterwarningsrÝ   râ   rñ   rö   rû   r   r  r  r  r   r%  r+  Úparametrizer4  rA  rC  rH  rL  rN  rW  rY  r]  rd  rl  ro  rk  rw  r†  rŠ  r�  r•  rš  r   r©  r·  r¾  rË  rÐ  rÓ  r×  rÜ  rà  râ  ræ  rí  rô  r  Úunknown_issue_is_alphaÚutf8proc_issue_is_lowerÚnumeric_info_missingÚdigit_info_missingrZ  rb  ro  r|  r‰  r“  r™  r£  r§  r±  rº  rÀ  rÄ  rË  rÒ  rÚ  rß  rã  rè  rî  rð  rý  rÿ  r  r  r
  r  r  r  r  r/  r;  rA  rH  rM  rP  rT  ro  r~  r�  r‹  rŽ  r“  r›  rŸ  r¡  r§  r¯  rµ  rÀ  Údate32Údate64rÅ  rÏ  rÐ  rÓ  rÖ  r×  Údecimal_type_traitsrÝ  rä  rê  rî  rô  r   rï  r  r'  r3  rŠ   rN  rƒ  rŠ  rŽ  r’  r©  rº  rÁ  rÇ  rÌ  râ  rè  rë  rÿ  r  r  r  r  r  r!  r2  r5  r7  r<  rL  rP  rW  ra  rh  rq  ru  ry  r‚  r‡  r‰  r’  r›  r¤  rª  r¯  rµ  rÞ  rã  rí  rõ  r÷  rù  rû  r   r  r  r  r  r  r   Úfloat16r–   r  r"  r(  r-  )r>   r8   rO   s   000r;   ú<module>rG     só  ðõ$ #Û Û ß (Û Û Û Û 	Û Û Û 
Û ðÛðÛó Ý ß AðÝ#ñ
 $ B§K¡K×$5Ñ$5Ó$7Ó8÷4Ùˆd�DÙˆtÐ1Ô2ò 	ó4Ð ñ
 " "§+¡+×"3Ñ"3Ó"5Ó6÷.ÙˆT�3Ù�3˜ÔØ�2×%Ñ%Ñ%Ù�3˜×*Ñ*Ô+ò ó.Ð ð €B‡G�GƒIØ€B‡H�HƒJØ€B‡H�HƒJØ€B‡H�HƒJØ€B‡I�IƒKØ€B‡I�IƒKØ€B‡J�JƒLØ€B‡J�JƒLð	Ð ð Ò-Ð.Ø‰e�A‹hÐØ‰U�1‹XÐØ‰u�Q‹xÐØ‰e�A‹hÐØ‰u�Q‹xÐØ‰e�A‹hÐØ‰u�Q˜‹|ÐØ‰e�A�r‹lÐØÒ%Ð&ØÒ&Ð'ØÒ,Ð-ØÒ0Ð1Ø€R‡Y�Yˆqƒ\Ò;Ð<Ø€R‡X�Xˆgˆb�g‰g‹iÓ˜A˜q˜6 A q 6¨A¨q¨6°4¸!¸R¸ÐAÐBØ€R‡]�]�8�2—8‘8“:Ó ! ¢i°!°Q°¸ÀÀ2¸wÐ GÐHØ€R‡Y�Y��g�b—g‘g“iÐ  3¨¨¯©«	Ð"2Ð3Ó4Ø�aÑ˜$ a¨aÑ 0°$¸aÀaÑ8Hð7Jð Kð#€ò,ò40ò	9ð ‡�×ÑØBóñbBóðbBòJ(ð )*ôJòFòIò5ò
3ð
 ‡�×Ññ$ó ð$ò=ò	%òò	>ð ‡�×Ñ˜Ð'<Ó=ñ1ó >ð1ð* ‡�×Ñ˜¨¨¯©°a¸Ó(;¸]¸R¿]¹]È1ÈaÓ=PÐ'QÓRñ';ó Sð';ðT ‡�×Ñ˜Ð'<Ó=ñ1ó >ð1ð, ‡�×Ñ˜¨¨¯©°a¸Ó(;¸]¸R¿]¹]È1ÈaÓ=PÐ'QÓRñ&?ó Sð&?òR9ò<"ò")ò4ò6ò:ð ‡�×ÑÐ*â#Ø�—‘Ð0Ó1Ø"�V—]‘]Ð#5Ó6ñ	8ðò
 ˜-˜&Ÿ-™-Ð(:Ó;ÈÑNÐOØˆ€W�t¨Ñ.Ð/ð-ó ñ:óð:ò"ò'ò2ò"#ò#ò#ò#ò,Lò.ò0#ò#ò#ò<ò òD6ò&7ò6(òBòJ;ñD ƒñó ðð ! &Ð)Ð ò.Ð ò4Ð ò3Ð ò".Ð ð %Ð'9Ñ9Øñà&Ø"Ø&Ø'ñÐ ð ‡�×Ñ˜ò +Eó Fð
 ‡�×Ñ˜ W¨fÐ$5Ó6ñFó 7óFðFò(Cò$Pð> ‡�×Ññ8ó ð8ò04ò#ò'ò'òEò9ð< ‡�×ÑÐ)¨?Ó;ñó <ðò2ò"##ðL ‡�×Ñ˜ U¨D MÓ2ñ*ó 3ð*ò3ð ‡�×ÑÐ)¨?Ó;ñ#ó <ð#ò(ò#ò"#ò:	1ð ‡�×ÑÐ)¨?Ó;ñó <ðð, ‡�×ÑØ‡�×ÑÐ)¨?Ó;ñDó <ó ðDò,ò&#ò(,ò&ò02ò1ò 1ð  ‡�×Ñ˜ ¨/Ð :Ó;ñ?ó <ð?ð< ‡�×Ñ˜ ¨/Ð :Ó;ñ!9ó <ð!9ðH ‡�×Ñ˜ ¨/Ð :Ó;ñ 9ó <ð 9òF'ò #ò#ò#ð ‡�×Ñ˜ Ð)<Ð=Ó>ñ-ó ?ð-ð8 ‡�×ÑñLó ðLð$ ‡�×Ññ<ó ð<ò6Fò"#ò:ò"#ð: ‡�×Ñ˜Ð'<Ó=ñ#ó >ð#ð( ‡�×Ñ˜Ð'<Ó=ñ#ó >ð#ò8'ò,?ò	Fò$3ðN ‡�×Ñ˜¨	¨¯	ª	«°Y°R·Y²Y³[Ð'AÓBñ+ó Cð+ð ‡�×Ñ˜Ð'<Ó=ñó >ðñ< Ð2ØCóEÐ ñ  Ð 4Ø CóEÐ ñ )¨°b·l²lÀAÓFÙ(¨°b·l²lÀBÓGÙ(¨°r·}±}ÀbÓIÙ(¨°r·}±}ÀbÓIðKÐ òò òCòCòFò.ð0 ‡�×ÑØ‡�×Ñ˜ j b§j¡j£l ^¸ÐÓ=Ø‡�×Ñ˜Ð':Ù-ð ó /à‡�×ÑÐ)Ø>Ø:Ø<ð>ò >ð	 ó ?ñ
/ó?ó/ó >ó ð/ð ‡�×ÑØ‡�×Ñ˜ j b§j¡j£l°J°B·J±J³LÐ%AÀsÐÓKØ‡�×ÑÐ)Ð+>Ù-ð ó /ñ;Aó/ó Ló ð;Aò|Gð8 ‡�×ÑØ‡�×ÒñHAó ó ðHAôVPIðf ‡�×Ññ=ó ð=ò<1ð ‡�×Ñ˜Ò!8Ó9ñ	#ó :ð	#ð ‡�×ÑØ‡�×ÒñW&ó ó ðW&òte8ðP ‡�×ÒØ‡�×Ñ˜ð "Eó Fà‡�×Ññ9ó óFó ð9ò6
(ò6òAò*'òFò&LòR0Oòf8ò&.ò6!AòHIò =ò*(.òV-ò$.ò,ðD ‡�×ÑØ‡�×Ñ˜Ð"5Ó6Ø‡�×Ñ˜ }Ó5ñ15ó 6ó 7ó ð15ðh ‡�×ÑØ‡�×Ñ˜Ð"5Ó6Ø‡�×Ñ˜ }Ó5ñ16ó 6ó 7ó ð16ðh ‡�×ÑØ‡�×Ñ˜ /Ó2Ø‡�×Ñ˜ }Ó5ñ45ó 6ó 3ó ð45ðn ‡�×ÑØ‡�×Ñ˜ /Ó2Ø‡�×Ñ˜ }Ó5ñ45ó 6ó 3ó ð45òn3ò&5ò$"òJAò#ò$Nò6ò	+ò'ð6 ‡�×ÑØ ØÒ"Ð#ØÒ"Ð#ØÒ$Ð%ØÒ$Ð%ð'óñ#óð#ò1òB/ò<*ò0HðZ ‡�×Ññ%ó ð%ð ‡�×ÑØ‡�×Ññ:3ó ó ð:3ózó8ó$ó,#ð ‡�×ÑÑ.Øˆ‹y›,«¸Ð>Ð?ØˆˆQˆC�!��q�c˜4Ð Ð!ØˆˆQ�ˆF�Q˜�F˜Q ˜I tÐ,Ð-ØˆˆQˆC�!��t�f˜dÐ#Ð$ØˆˆQ�ˆI˜˜d�| d¨D \°4Ð8Ð9ð1ó ð ‡�×Ñ™¡Ó(Ø‡�×Ñ˜¨¯	ª	°2·8±8¸R¿Z¹ZÐ'HÓIØ‡�×Ñ™ r§x¡x°·±ÁÐ&HÓIòCó Jó Jó )óðCð, ‡�×Ñ™ñ (ó ð ‡�×Ñ™¡Ó(Ø‡�×Ñ˜¨¯	ª	°2·8±8¸R¿Z¹ZÐ'HÓIØ‡�×Ñ™ r§x¡x°·±ÁÐ&HÓIòó Jó Jó )óðð4 ‡�×ÑÑ,Ñ.AÓBØ‡�×Ñ™Ú0Ú3Ú5ð"7ó 8ò$ó	8ó Cð
$ó*õ(ð ‡�×ÑØàˆ�‰‹	Øˆ�‰‹
Øˆ�Š‹
Øˆ�‰‹
Øˆ�
Š
‹Øˆ�
‰
‹Øˆ�
‰
‹Øˆ�Š�Q˜ÓØˆ�Š�Q˜ÓØˆ�‰�a˜ÓØˆ�‰�a˜Óðóð  ‡�×ÑÙàØˆ×Ò˜x˜rŸx™x›zÓ*Øˆ×Ò˜wÓ'Øˆ×Ò˜x˜rŸx™x›zÓ*ð	óò4óó!ð24ó9ó<5ô4@øðy~ ò Ø	ƒBðûð
 ò Ø	ƒBðûð ò Ø
ƒCðüó4ùó.sQ   ¸A@ ½A@ ÁA@, Á=A@:Â96AA Á@A@Á@A@Á@A@)Á@(A@)Á@,A@7Á@6A@7