Ë
    _Qêji§ ã                   ó¦"  — 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=ejv                  j}                  d*ddg d+g«      d,„ «       Z?d-„ Z@	 �d>d.„ZAd/„ ZBd0„ ZCd1„ ZDd2„ ZEejv                  j                  d3„ «       ZFd4„ ZGd5„ ZHd6„ ZId7„ ZJejv                  j}                  d8e1«      d9„ «       ZKejv                  j}                  d8 ej˜                  dd«       ejš                  dd«      g«      d:„ «       ZNejv                  j}                  d8e1«      d;„ «       ZOejv                  j}                  d8 ej˜                  dd«       ejš                  dd«      g«      d<„ «       ZPd=„ ZQd>„ ZRd?„ ZSd@„ ZTdA„ ZUdB„ ZVejv                  j}                  dCg dD¢ ej®                  dE«       ej®                  dF«      dGœfg dH¢ ej®                  dI«      ddGœfddJgdddGœff«      dK„ «       ZXdL„ ZYdM„ ZZdN„ Z[dO„ Z\dP„ Z]dQ„ Z^dR„ Z_dS„ Z`dT„ ZadU„ ZbdV„ ZcdW„ ZddX„ ZedY„ ZfdZ„ Zgd[„ Zhd\„ Zid]„ Zjd^„ Zk e«       d_„ «       Zld`dahZmh db£Znh dc£Zoh dd£Zph de£Zoeoepz  emz  emepeoendfœZqejv                  j}                  dgg dh¢«      ejv                  j}                  didjdkg«      dl„ «       «       Zrdm„ Zsdn„ Ztejv                  j$                  do„ «       Zudp„ Zvdq„ Zwdr„ Zxds„ Zydt„ Zzdu„ Z{dv„ Z|dw„ Z}dx„ Z~dy„ Zdz„ Z€d{„ Z�d|„ Z‚d}„ Zƒd~„ Z„d„ Z…d€„ Z†d�„ Z‡d‚„ Zˆejv                  j}                  dƒe7«      d„„ «       Z‰d…„ ZŠd†„ Z‹ejv                  j}                  d‡dˆd‰g«      dŠ„ «       ZŒd‹„ Z�ejv                  j}                  dƒe7«      dŒ„ «       ZŽd�„ Z�dŽ„ Z�d�„ Z‘d�„ Z’ejv                  j}                  dƒe7«      d‘„ «       Z“ejv                  j                  ejv                  j}                  dƒe7«      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¢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}                  d8e1«      d¯„ «       Z«ejv                  j}                  d8e1«      d°„ «       Z¬d±„ Z­d²„ Z®d³„ Z¯d´„ Z°ejv                  j}                  dµ e�jb                  «        e�jd                  «       g«      d¶„ «       Z³ejv                  j}                  dµe1«      d·„ «       Z´ ed¸d¹«      Zµ edºd»«      Z¶ eµd¼e�jn                  d«       eµd½e�jp                  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ÃdÔ„ ZÄejv                  j$                  ejv                  �jŠ                  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                  �jŠ                  dÜ„ «       «       ZËdÝ„ ZÌejv                  �jŠ                  ejv                  j}                  dÙdÞ«      ejv                  j$                  dß„ «       «       «       ZÍ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Þ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                  �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ùejv                  j                  �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}                  �d0�d1«      ejv                  j}                  �d2�d3„ �d4„ �d5„ f«      �d6„ «       «       �Z�d7„ �Z�d?�d8„�Zejv                  j}                  dµ ejR                  «        ejT                  «        e�j                  «        ejV                  «        e�j                  «        ej^                  «        ej`                  «        e�jn                  dd «       e�jp                  dd «       ej˜                  dd «       ejš                  dd «      f«      ejv                  j}                  �d9d 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        ú_/home/oem/CyberBrain26-unified/.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           
      óx  — 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gd¬«      ‘t        jD                  dg¬«      ‘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«      ‘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                  d/d0«      ‘}| jz                  j|                  j~                  d1   r$|j�                  t        j                  d2«      «       |D �ch c]  }tƒ        |«      ’Œ }}t„        D ]V  }||vsŒ| jz                  j|                  j~                  d1   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�                  d4«      rt�        |«      j�                  d5«      rŒ¥J ‚t�        |«      t�        |«      k(  rŒ¿J ‚ t›        ||d	d  «      D ]  \  }}||k7  rŒJ ‚ t�        t        j                   t        j"                  d	«      «      «      d6k(  sJ ‚t�        t        j                  «       «      d7k(  sJ ‚y c c}w # t†        $ r t‰        jŠ                  d3|› �«       Y �Œ½w xY w)8NÚ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Úat_endÚmax©Ú	sort_keysÚ
tiebreaker©rt   r%   Útowards_infinityÚsecond)Úweek_starts_mondayéd   ©r   rp   rq   ©Ú	min_count©ÚdummyÚ
descendingrq   ú%YÚs©Úindicesú ÚNFKCçš™™™™™©?çÍÌÌÌÌÌì?©ry   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<ô: 	×ÑÓð;<ô< 	×ÑÓð=<ô> 	�‰Ð"=Ð!>Ø"'ô	)ð?<ôB 	×ÑÐ*EÐ)FÔGðC<ôD 	×Ñ˜q ! SÓ)ðE<ôF 	×"Ñ" 3¨Ó,ðG<ôH 	�‰˜Ð-Ó.ðI<ôJ 	×ÑÐ0Ó1ðK<ôL 	×Ñ  8ÀÔEðM<ôN 	×!Ñ! #Ð'9Ó:ðO<ôP 	×!Ñ!Ó#ðQ<ôR 	×Ñ˜!Ð(DÐ'EÔFðS<ôT 	×ÑœBŸH™H a S›MÓ*ðU<ôV 	�‰ Ô#ðW<ôX 	�‰˜˜1˜aÓ ðY<ôZ 	�‰Ð9Ð:Ó;ð[<ô\ 	�‰Óð]<ô^ 	×Ñ˜yÓ)ð_<ô` 	×ÑÓða<ôb 	×Ñ˜4  dÓ+ðc<ôd 	×Ñ bÔ)ðe<ôf 	�‰Óðg<ôh 	×ÑÓði<ôj 	�‰�sÓðk<ôl 	×Ñ Ó'ðm<ôn 	×ÑÓðo<ôp 	×Ñ˜D #Ó&ðq<ôr 	�‰¨$ÀØ38ô	:ðs<ôv 	×Ñ˜1˜cÓ"ðw<€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   Õ!\Ö<\Ü!\9Ü8\9ÚvaluerE   c                 óž   — t        j                  t        «      5  t        j                  j                  | «       d d d «       y # 1 sw Y   y xY w©N)r4   r5   r6   r@   rÕ   rÖ   )rà   s    r;   Ú5test_function_options_deserialize_rejects_non_buffersrã   ó   s7   € ä	�‰”yÓ	!ñ .Ü
×Ñ×&Ñ& uÔ-÷.÷ .ñ .ús   š AÁA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râ   )Ú
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%  4  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>H  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_conversionr0  N  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   r|   )r”   r¹   ÚsumÚas_pyr@   ©r1  r  s     r;   Útest_sum_arrayr9  Z  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.56r4  z8.77r|   )Údecimalr<  r”   ÚtypesÚis_decimal128Ú
decimal128ÚscaleÚ
decimal256r¹   r6  r7  rÎ   )r1  r<  Úmax_precision_typeÚexpected_sumÚexpected_sum_overflowÚzeror  s          r;   Útest_sum_decimal_arrayrM  p  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 )Nr3  r4  r   r$   r%   r#   r&   rç   r   r|   )r”   Úchunked_arrayr¹   r@   r6  r7  Ú
num_chunksr8  s     r;   Útest_sum_chunked_arrayrQ  ›  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   r;  r=  r>  r?  r@  rA  rB  r4  rç   r|   )rC  r<  r”   rD  rE  rF  rG  rH  rO  r¹   r@   r6  r7  rÎ   rP  )r1  r<  rI  rJ  rL  r  s         r;   Ú#test_sum_chunked_array_decimal_typerS  ²  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   r4  r$   r   r%   ©ÚmodeÚcount©rõ   r#   )r$   r$   r#   r&   r#   NFr[   r'   r|   r   ©rW   r}   T)r”   r¹   r@   rW  r1   r7  ©r  rW  s     r;   Útest_mode_arrayr\  Ü  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 )NrU  r   r4  r$   r   r%   rV  rY  r#   rç   )r”   rO  r¹   r@   rW  r1   r7  rP  r[  s     r;   Útest_mode_chunked_arrayr^  ú  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.   r4  )r4   r5   r”   ÚArrowInvalidrO  r   )Úmsgs    r;   Útest_empty_chunked_arrayrb    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@   Úvariancer7  ©Údatas    r;   Útest_varianceri    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&   r|   )r@   Úskewr7  r4   Úapproxrg  s    r;   Ú	test_skewrq    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 )	Nrk  ç      ø¿rl  rm  Fr[   r&   r|   )r@   Úkurtosisr7  r4   rp  rg  s    r;   Útest_kurtosisru  !  sr   € Ú€DÜ�;‰;�tÓ×"Ñ"Ó$¬¯©°dÀÔ(FÒFÐFÐFÜ�;‰;�t¨Ô.×4Ñ4Ó6Ð>Ð>Ð>Ü�;‰;�t qÔ)×/Ñ/Ó1Ð9Ð9Ñ9rE   zinput, expected)ç      ð?g       @ç      @g      D@NgIc§ÝºÒÿ?gpÕ•ž´@)ro  rt  )r$   r%   é(   gdö³ƒV¦û?rx  c                 óÄ   — t        j                  | dd¬«      }t        j                  | dd¬«      }|j                  «       |d   k(  sJ ‚|j                  «       |d   k(  sJ ‚y )NTF)rW   Úbiasedro  rt  )r@   ro  rt  r7  )Úinputr  Ú
arrow_skewÚarrow_kurtosiss       r;   Útest_unbiased_skew_and_kurtosisr~  (  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ÚABNr4  r€  )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�  8  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)r€  r�  ÚbaAacaarƒ  r„  Nr4  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‘  F  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)r€  r�  rƒ  Nr4  r€  )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–  T  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)r€  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œ  e  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)r€  Úabcrƒ  Nr€  ©TTFN)u   Ã¡Bu   Ã�bcrƒ  Nu   Ã¡bTr…  F)FFFN)r”   r¹   r@   Úmatch_substringr  r›  s      r;   Útest_match_substringr¡  t  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)r€  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)ro   u   ð�‘“u   ð�‘“Ã¶u   ð�‘“Ã¶Ãµu   ð�‘“Ã¶Ãµá¸�u   ð�‘“Ã¶Ãµá¸�Å¡éúÿÿÿr'   )éýÿÿÿéþÿÿÿr]   r$   r%   r#   ©rV   ÚstopÚstep)	r”   r¹   ÚrangeÚ	itertoolsÚchainr7  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µ  r4  )r”   r¹   r¹  Úproductr¸  r7  r@   Úbinary_slicer  rž   r   r1   rÎ   )rh  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--©ro   r  r   r$   ©Ú
max_splitsro   ú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Ë  ro   õ
   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  )ro   r  u   ã€€r   r$   rË  ro   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É  )ro   r  r  ro   rÊ  r$   rË  ro   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'   )Úminrr   ©rÙ   Tr[   FrW   )rÙ   rW   zmin_max takes 1 positionalr.   )r@   Úmin_maxr7  r¶   r4   r5   r6   rÂ   )rh  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   rZ  r	   r4  r|   rà  )FNTT)FNF)r@   r¶   r”   r¹   Úanyr7  ©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   rZ  r	   r4  r|   Trà  )r@   r¶   r”   r¹   rò   r7  rO  rå  s     r;   Útest_allrè  A  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   rg  s    r;   Útest_is_validrí  \  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ô  e  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)
rQ  rR  Úis_asciiÚ
is_decimalrS  rU  rT  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Ú_ro   rý  rþ  rÿ  r   rY  r   )ÚreplaceÚcodepoints_ignoreÚgetr  r
  r¸  r\  r  Úhasattrr@   r”   r¹   r#  r7  )	rV  r[  Ú
arrow_nameÚpy_nameÚignorer	  r£  ÚarÚ
arrow_funcs	            r;   Útest_string_py_compat_booleanri  m  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 rk  )Nz  ark  )Nza  rk  )Nõ   Ã¡rk  )Nu    Ã¡ rk  )Nu     Ã¡rk  )Nu   Ã¡  rk  )
r”   r¹   r@   Úascii_centerÚtolistÚ
ascii_lpadÚ
ascii_rpadÚutf8_centerÚ	utf8_lpadÚ	utf8_rpadr/  s    r;   Útest_padrv  ‡  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„  ÚABCro   ú-1z+1ra   Nr   r'   rl  zMismatch at width=z: z vs )ra   z-2z+3r   u   ðŸ’ )rm  Úpaddingrà  )u   ðŸ’ ðŸ’ ðŸ’ ðŸ’ 1u   -ðŸ’ ðŸ’ ðŸ’ 2u   +ðŸ’ ðŸ’ ðŸ’ 3r&   Úx)Úxxx1z-xx2z+xx3r  zPadding must be one codepointr.   Úspamro   )r@   Ú
utf8_zfillÚutf8_zero_fillr¸  r”   r¹   r-  ÚzfillrÉ   r4   r5   r`  )Úexamplesrm  r  rŒ  r|  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&   )Nro   r   r€  rž  rk  ÚabcdeÚXX)rV   r¶  Úreplacement)Nro   u   Ï€u   Ï€bu   Ï€bÎ¸u   Ï€bÎ¸du   Ï€bÎ¸de)r¸  r”   r¹   Ú	to_pandasÚastyper3   r`  r  Únanrö  Úslice_replacer@   Úbinary_replace_slicerp  Ú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_substringrp  )rh  rg  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_regexrp  )rh  r  rg  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_regexrp  ©rg  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_spanrp  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                  ó  — t        j                  d gt        j                  «       «      } t        j                  d gt        j                  «       «      }t        j                  | d|«      }|j
                  t        j                  «       k(  sJ ‚|j                  d¬«       |j                  «       d gk(  sJ ‚t        j                  | d|«      }|j
                  t        j                  «       k(  sJ ‚|j                  d¬«       |j                  «       d gk(  sJ ‚t        j                  dg«      }t        j                  | ||«      }|j
                  t        j                  «       k(  sJ ‚|j                  d¬«       |j                  «       d gk(  sJ ‚t        j                  dg«      }t        j                  | ||«      }|j
                  t        j                  «       k(  sJ ‚|j                  d¬«       |j                  «       d gk(  sJ ‚y )NT©ÚfullF)r”   r¹   Únullr@   Úreplace_with_maskrÎ   Úvalidater-  )r{  ÚreplacementsrŒ  Úmasks       r;   Ú test_replace_with_mask_null_typer·  ý  sž  € ä�H‰H�d�VœRŸW™W›YÓ'€EÜ—8‘8˜T˜F¤B§G¡G£IÓ.€Lä×!Ñ! %¨¨|Ó<€FØ�;‰;œ"Ÿ'™'›)Ò#Ð#Ð#Ø
‡O�O˜€OÔØ×ÑÓ $ Ò'Ð'Ð'ä×!Ñ! %¨°Ó=€FØ�;‰;œ"Ÿ'™'›)Ò#Ð#Ð#Ø
‡O�O˜€OÔØ×ÑÓ $ Ò'Ð'Ð'ä�8‰8�T�FÓ€DÜ×!Ñ! %¨¨|Ó<€FØ�;‰;œ"Ÿ'™'›)Ò#Ð#Ð#Ø
‡O�O˜€OÔØ×ÑÓ $ Ò'Ð'Ð'ä�8‰8�U�GÓ€DÜ×!Ñ! %¨¨|Ó<€FØ�;‰;œ"Ÿ'™'›)Ò#Ð#Ð#Ø
‡O�O˜€OÔØ×ÑÓ $ Ò'Ð'Ñ'rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)z'Test basic replacement with array mask.©r$   r%   r#   r&   r   )TFTFT©r   é   é   )r   r%   r»  r&   r¼  N©r”   r¹   r@   r³  r  ©r  r¶  rµ  r  rŒ  s        r;   Útest_replace_with_mask_basicr¿    sb   € ä
�(‰(’?Ó
#€CÜ�8‰8Ò4Ó5€DÜ—8‘8šLÓ)€LÜ�x‰xÒ*Ó+€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  óæ   — t        j                  g d¢«      } d}t        j                  g d¢«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)z'Test replacement with scalar mask True.©r$   r%   r#   Trº  Nr½  r¾  s        r;   Ú'test_replace_with_mask_scalar_mask_truerÂ  #  sW   € ä
�(‰(’9Ó
€CØ€DÜ—8‘8šLÓ)€LÜ�x‰xšÓ%€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó
  — t        j                  g d¢«      } d}t        j                  g t        j                  «       ¬«      }t        j                  g d¢«      }t        j                  | ||«      }|j                  |«      sJ ‚y)z(Test replacement with scalar mask False.rÁ  Fr4  N)r”   r¹   r   r@   r³  r  r¾  s        r;   Ú(test_replace_with_mask_scalar_mask_falserÄ  -  s_   € ä
�(‰(’9Ó
€CØ€DÜ—8‘8˜B¤R§X¡X£ZÔ0€LÜ�x‰xš	Ó"€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  d«      }t        j                  g d¢«      }t        j                  | ||«      }|j                  |«      sJ ‚y)z/Test replacement with scalar replacement value.r3  ©TFTFéc   )rÇ  r%   rÇ  r&   N)r”   r¹   rž   r@   r³  r  r¾  s        r;   Ú)test_replace_with_mask_scalar_replacementrÈ  7  s`   € ä
�(‰(’<Ó
 €CÜ�8‰8Ò.Ó/€DÜ—9‘9˜R“=€LÜ�x‰xšÓ'€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  g d¢«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)z"Test null handling in input array.)r$   Nr#   Nr   )FTFTTrº  )r$   r   r#   r»  r¼  Nr½  r¾  s        r;   Ú$test_replace_with_mask_null_in_arrayrÊ  A  sc   € ä
�(‰(Ò(Ó
)€CÜ�8‰8Ò4Ó5€DÜ—8‘8šLÓ)€LÜ�x‰xÒ*Ó+€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)zTest null handling in mask.©r$   r%   r#   r&   r   r'   )FFNNTTr   N)r$   r%   NNr   Nr½  r¾  s        r;   Ú#test_replace_with_mask_null_in_maskrÍ  K  sg   € ä
�(‰(Ò%Ó
&€CÜ�8‰8Ò:Ó;€DÜ—8‘8˜R ˜JÓ'€LÜ�x‰xÒ4Ó5€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)z"Test replacement with string type.)r   r   r£  ÚdrÆ  r|  Úy)r|  r   rÐ  rÏ  Nr½  r¾  s        r;   Ú"test_replace_with_mask_string_typerÑ  U  sg   € ä
�(‰(Ò'Ó
(€CÜ�8‰8Ò.Ó/€DÜ—8‘8˜S #˜JÓ'€LÜ�x‰xÒ,Ó-€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  g d¢«      }t        j                  | ||«      }|j	                  |«      sJ ‚y)z!Test replacement with float type.)çš™™™™™ñ?çš™™™™™@gffffff
@çš™™™™™@rÆ  ç      %@ç     €4@)rÖ  rÔ  r×  rÕ  Nr½  r¾  s        r;   Ú!test_replace_with_mask_float_typerØ  _  sg   € ä
�(‰(Ò'Ó
(€CÜ�8‰8Ò.Ó/€DÜ—8‘8˜T 4˜LÓ)€LÜ�x‰xÒ.Ó/€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó   — t        j                  g d¢g d¢g«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  g d¢g d¢g«      }t        j                  | ||«      }|j                  |«      sJ ‚y)	z>Test replace_with_mask with ChunkedArray with multiple chunks.rÁ  ©r&   r   r'   )TFFFTFr   r»  )r   r%   r#   )r&   r»  r'   N©r”   rO  r¹   r@   r³  r  r¾  s        r;   Ú4test_replace_with_mask_chunked_array_multiple_chunksrÜ  i  ss   € ä
×
Ñ
šI¢yÐ1Ó
2€CÜ�8‰8Ò<Ó=€DÜ—8‘8˜R ˜HÓ%€LÜ×Ñ¢ªZÐ 8Ó9€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó"  — t        j                  ddgg ddgg«      } t        j                  g d¢«      }t        j                  ddg«      }t        j                  ddgddgg«      }t        j                  | ||«      }|j                  |«      sJ ‚y)	z;Test replace_with_mask with ChunkedArray with empty chunks.r$   r%   r#   r&   rÆ  r   r»  NrÛ  r¾  s        r;   Ú1test_replace_with_mask_chunked_array_empty_chunksrÞ  s  s…   € ä
×
Ñ
˜Q ˜F B¨¨A¨Ð/Ó
0€CÜ�8‰8Ò.Ó/€DÜ—8‘8˜R ˜HÓ%€LÜ×Ñ " a ¨2¨q¨'Ð 2Ó3€HÜ×!Ñ! # t¨\Ó:€FØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó.  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  dg«      }t        j                  t         j                  d¬«      5  t        j                  | ||«       ddd«       y# 1 sw Y   yxY w)z5Replacement count does not match true values in mask.rÁ  rë  r   zexpected 2.*but got 1r.   N©r”   r¹   r4   r5   r`  r@   r³  ©r  r¶  rµ  s      r;   Ú7test_replace_with_mask_error_replacement_count_mismatchrâ  }  sh   € ä
�(‰(’9Ó
€CÜ�8‰8Ò'Ó(€DÜ—8‘8˜R˜D“>€LÜ	�‰”r—‘Ð.EÔ	Fñ 6Ü
×Ñ˜S $¨Ô5÷6÷ 6ñ 6ús   Á*BÂBc                  ó*  — t        j                  g d¢«      } t        j                  ddg«      }t        j                  dg«      }t        j                  t         j                  «      5  t        j                  | ||«       ddd«       y# 1 sw Y   yxY w)z.Mask length does not match input array length.rÁ  TFr   Nrà  rá  s      r;   Ú1test_replace_with_mask_error_mask_length_mismatchrä  †  sh   € ä
�(‰(’9Ó
€CÜ�8‰8�T˜5�MÓ"€DÜ—8‘8˜R˜D“>€LÜ	�‰”r—‘Ó	'ñ 6Ü
×Ñ˜S $¨Ô5÷6÷ 6ñ 6ús   Á(B	Â	B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-barNro   ú-ra   rb   r4  Úa1bÚc2dr   r   r£  rÏ  )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 )Nr4  )Nr   r   )r£  NrÏ  )Nræ  z--)NNúb--dr   r   ræ  za-bÚskip)Únull_handlingrÙ   )Nr   rï  rà  r`  r~  )rñ  Únull_replacement)Núa-spamrï  ró  )r”   rž   r   r@   rø  r-  r7  rŸ   )r²  Úarrsrð  r`  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)Nr4  ©r   r&   r%   Nr   r&   r%   r   r]   )
r”   r¹   r   r   r  r´  r  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÷  r4  )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”   rO  r¹   r  r  )r  r„   rŒ  r  s       r;   Útest_take_on_chunked_arrayr  ã  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  	  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#   rd  Nr&   r   )r”   r¹   rO  Ú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 )Nr4  Tr°  )	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”   rO  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   4  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   rx  ÚBÚDza`)zc`úd`Nr%  )r”   r  r¹   r  r  rO  )r  r  rŒ  s      r;   Útest_drop_null_tabler&  E  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¹   rO  r  r  r1   r  r  )r  r  r  r  s       r;   Útest_drop_null_null_typer(  b  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)Nr4  ©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  r¶  rŒ  s        r;   Útest_filterr4  n  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 )Nr4  r*  r+  r,  r   r#   )r”   r¹   r  ró  r´  r  r3  s        r;   Útest_filter_numpy_array_maskr6  …  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”   rO  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  r8  r   r   TFr.  r,  ©r   Nr   )r”   r  r¹   ró  r  rO  )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=  r8  TF)NFTr.  r,  )r”   r  r¹   rO  ró  r  )r  r  r9  r¶  rŒ  s        r;   Útest_filter_tablerA  ·  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/  r0  r1  r.   T)r”   rO  r  r¹   r  r4   r5   rÜ  ró  r`  rž   r6   )r  r  r  Úobjr¶  rž   Úfilts          r;   Útest_filter_errorsrE  Ê  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¹   rO  r  r  r1   ró  r  )r  r  r  r  r¶  s        r;   Útest_filter_null_typerG  â  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)Nr4  )r(   rd  r   r#   r$   r   ©r%   r&   r'   rø   )
r   r&   r'   r#   rd  r%   rø   r$   r(   r   r(   )Ú	max_indexÚoutput_typerà  r]   ©rJ  úIndex out of bounds: 9r.   r&   )r”   r¹   r   rO  r@   Úinverse_permutationr  ÚInversePermutationOptionsr4   r5   r   )Úarr0r  r  rÙ   s       r;   Útest_inverse_permutationrQ  ð  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ø   rd  r'   r   r&   r#   r%   r$   r   )
FTTTFFTTFTr]   rL  rà  r(   rM  r.   r&   )	r”   r¹   r@   Úscatterr  ÚScatterOptionsr4   r5   r   )rK   r„   r  rŒ  rÙ   s        r;   Útest_scatterrU     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¹   rO  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”   rO  rZ  s    r;   r[  ztest_compare_array.<locals>.con  ó   € Ü×#Ñ# V HÓ-Ð-rE   r5  )r$   r$   r&   Nr&   )TFFNN)FTTNN)FFTNN)TFTNN)FTFNN)TTFNN)r@   r.  r  Ú	not_equalÚlessÚ
less_equalÚgreaterÚgreater_equal)rV  r[  Úarr1Úarr2rŒ  s        r;   Útest_compare_arrayrg    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â   rY  rZ  s    r;   r[  z'test_compare_string_scalar.<locals>.con2  r\  rE   c                 ó.   — t        j                  | g«      S râ   r^  rZ  s    r;   r[  z'test_compare_string_scalar.<locals>.con5  r_  rE   )r   r   r£  Nr   ©FTFNr   r4  )TTTT©TFTN©TFFNrŸ  ©FFTN©FTTN)r”   rž   r@   r.  r  Úis_nullr`  ra  rb  rc  rd  )rV  r[  r  rž   rŒ  ÚnascalarÚisnulls          r;   Útest_compare_string_scalarrs  /  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â   rY  rZ  s    r;   r[  z test_compare_scalar.<locals>.conW  r\  rE   c                 ó.   — t        j                  | g«      S râ   r^  rZ  s    r;   r[  z test_compare_scalar.<locals>.conZ  r_  rE   ©r$   r%   r#   Nr%   rk  r   r4  ©NNNNrl  rm  rŸ  rn  ro  )r”   rž   r@   r.  r  r-  r`  ra  rb  rc  rd  )rV  r[  r  rž   rŒ  rq  s         r;   Útest_compare_scalarry  T  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 )Nr5  rÁ  r&   r$   r%   )r#   r&   N)TTTTN)r”   r¹   rO  r@   r.  r  )r  Úarr_chunkedÚarr_chunked2r  ÚleftÚrightrŒ  s          r;   Ú test_compare_chunked_array_mixedr  x  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 )Nr¹  ©r   r]   r$   r%   r#   )r$   r$   r&   r'   rø   )r”   r¹   r@   rå   r  ©r}  r~  rŒ  r  s       r;   Útest_arithmetic_addrƒ  ˆ  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 )Nr¹  r�  )r$   r#   r%   r%   r%   )r”   r¹   r@   Úsubtractr  r‚  s       r;   Útest_arithmetic_subtractr†  �  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 )Nr¹  r�  )r   r´  r#   rø   é   )r”   r¹   r@   Úmultiplyr  r‚  s       r;   Útest_arithmetic_multiplyrŠ  ˜  sP   € Ü�8‰8’OÓ$€DÜ�H‰HÒ%Ó&€EÜ�[‰[˜˜uÓ%€FÜ�x‰xÒ)Ó*€HØ�=‰=˜Ô"Ð"Ñ"rE   c                  ó¸  — t        j                  g d¢«      } t        j                  g d¢«      }g d¢}g d¢}t        j                  | |«      j	                  «       |k(  sJ ‚t        j
                  | |«      j	                  «       |k(  sJ ‚t        j                  | |«      j	                  «       |k(  sJ ‚t        j                  | |«      j	                  «       |k(  sJ ‚y )N)rd  éùÿÿÿrd  rŒ  N)r#   r#   r³  r³  r#   )r$   r]   r$   r]   N)r$   r%   r´  r]   N)r”   r¹   r@   Ú	remainderr-  Úremainder_checkedÚmoduloÚmodulo_checked)r}  r~  Úexpected_remainderÚexpected_modulos       r;   Ú test_arithmetic_remainder_modulor“     s¹   € Ü�8‰8Ò(Ó)€DÜ�H‰HÒ&Ó'€EÚ-ÐÚ*€Oä�<‰<˜˜eÓ$×.Ñ.Ó0Ð4FÒFÐFÐFÜ×Ñ  eÓ,×6Ñ6Ó8Ð<NÒNÐNÐNÜ�9‰9�T˜5Ó!×+Ñ+Ó-°Ò@Ð@Ð@Ü×Ñ˜T 5Ó)×3Ñ3Ó5¸ÒHÐHÑHrE   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 )Nr”  r   ©Úndigitsr•  r$   ©Úmultiple)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_zerorw   Ú	half_downÚhalf_upÚhalf_towards_zeroÚhalf_towards_infinityÚhalf_to_evenÚhalf_to_odd©Ú
round_moderà  r4  )r@   r”  r   r²   r•  rµ   Úitemsr”   r¹   rý  r  )
rŠ  r”  r²   rK   Úrmode_and_expectedr«  r  rÙ   rŒ  Úexpected_arrays
             r;   Útest_round_to_integerr¯  ¬  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©é,  r   r   r   r   r   r   N©r²  r   r   r   r   iØÿÿÿr   N)r²  r&   r#   r   r³  iÝÿÿÿr³  N©r²  r›  çÍÌÌÌÌÌ@r�  rž  çÍÌÌÌÌŒAÀr³  N)r²  r›  g¤p=
×£@r�  g®Gáz®	Àg�Âõ(\�AÀçffffffÀN)r´  r]   r   r$   r%   r§  rà  T©Ú	equal_nanrª  )	r¬  r@   r²   r”  r  ÚtestingÚassert_allcloser”   r¹   )rK   Úndigits_and_expectedr˜  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)Nr±  r‡   )r²  r›  r·  r�  rž  r¸  r¹  Nr   r¶  r%   )r²  r&   r&   r&   r   iÜÿÿÿr   Nr   rµ  rz   r&   r4  r³  r§  rà  Trº  r   r´  gÍÌÌÌÌÌ$Àz"Rounding multiple must be positiver.   r™  l   ÿÿl+?ÐR zis not a valid multiple type)r”   rž   rH  r¬  r@   rµ   r•  r  r¼  r½  r¹   r4   r5   r`  r3   r6   )rK   Úmultiple_and_expectedrš  r  rÙ   rŒ  s         r;   Útest_round_to_multiplerÂ  Ü  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]   ç      @r¦  rª  r§  )r”   r¹   r   rý  r@   Úround_binaryrž   )rK   Úscalesr  Úexpect_zeroÚ
expect_infrG  s         r;   Útest_round_binaryrÍ  ø  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 )Nrw  )FFFT)TTTFr$   r%   r#   FTrŠ  )FFFTF)Únan_is_null)FFFTT)r”   r¹   rp  r  r@   rì  rO  r   r›  s      r;   Útest_is_nullrÐ  	  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   Nr4  z"has no kernel matching input typesr.   ©r    ó   bbN)
r”   r¹   r   Úis_nanr  r   r4   r5   r   r“  )r  rŒ  r  r_  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&   r4  r   ú+Array arguments must all be the same lengthr.   rx  )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Ý  7  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×  r4  r   )r$   r%   r   r&   Ú5r   )r”   r¹   rž   rÛ  r  rD  Úis_unsigned_integerrÎ   r4   r5   r2  r6   )r1  r  rÜ  rŒ  r  s        r;   Útest_fill_null_arrayrá  T  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   r4  )Nr%   r#   r&   )r   r%   r#   r&   r$   r%   r&   r   )r”   rž   rO  r¹   rÛ  r  )r1  rÜ  r  rŒ  r  s        r;   Útest_fill_null_chunked_arrayrã  i  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)TFFFFNTr4  Ú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 )Nrm  )TTFTrŸ  rk  ro  )	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)Nr3  r   r4  )Ú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   Úcastr2  r   r`  ÚdatetimeÚ
large_listrê  r]  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$   r4  )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Ì  r4  )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  æ  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)Ú	precisionrG  Ú	float_valÚ	decimal32Ú	decimal64é   rF  r=  rH  r>  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)ÚvalrG  r  s      r;   Úlargest_scaled_float_not_abover  	  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ë   ÚintrC  r<  Úscalebr   )Úint_valrG  Ú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  rv  r   N)r¸  r  rr   r  )Úfloat_tyr  Úmantissa_digitsr  rG  Ú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¸  rr   r  r  )r(  r  r)  r  rG  r*  Ú
abs_minvalr+  s           r;   Ú real_float_to_decimal_cast_casesr0  ;	  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»  r   N)rú  ÚRandomr¸  Ú	randranger&  r  )r(  r  Úrr  rG  r	  r$  r  s           r;   Ú"random_float_to_decimal_cast_casesr5  J	  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$   r4  r   r%   r&   zfloat_val = z, precision=z, expected = z, actual = z, diff_digits = )r  ÚprecrC  ÚROUND_HALF_EVENÚroundingÚcreate_decimal_from_floatÚquantizer<  r"  rG  r”   rž   r@   rþ  r7  Úabs)
r(  r  Ú
decimal_tyÚdecimal_ctxr  r  r‚   rÃ  Údiff_digitsÚlimits
             r;   Úcheck_cast_float_to_decimalrA  X	  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>rG  s	  ó
   €  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â   )rC  Úlocalcontextr  rA  r  r  r  rG  )r(  r=  rI  ÚctxÚcases        r;   Útest_cast_float_to_decimalrP  p	  sw   € ô 
×	Ñ	Ó	ð / 3Ù" 8¨Z×-EÑ-EÓFò 	/ˆDÜ'Ø˜$Ÿ.™.Ø×"Ñ" 4§>¡>°4·:±:Ó>Ø�Z×-Ñ-õ/ñ	/÷/÷ /ñ /ús   •A A?Á?BÚdecimal_traitsc                 ó   — | j                   S râ   rD  rE  s    r;   rG  rG  …	  rH  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   r4  r$   N)rú  r2  r”   rü  r  rý  ÚmathÚfloorÚlog10r  Úlog2rC  rM  r7  rr   Úceilrß  r¸  r  r3  Úldexprë   r<  r”  r"  r@   rþ  rž   r7  r<  )r(  rQ  r4  Únp_float_tyÚmantissa_bitsÚfloat_exp_minÚfloat_exp_maxr)  r  rN  r  Ú	min_scaleÚ	max_scalerG  r=  Ú	float_expr	  Úmantissar  r  Úexpected_as_intrÃ  Úactual_as_ints                          r;   Ú!test_cast_float_to_decimal_randomrh  ‚	  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  é   é   r4  ©rl  z%d/%m/%YT)rk  rl  Ú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_strptimert  Ä	  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                 ó4  — d}t        j                  | |«      }t        j                  |d¬«      j                  «       }|s
J d| › �«       ‚t        j                  | |d¬«      }t        j                  ||d¬«      }|j                  |«      sJ d|› d| › d	�«       ‚y )
Nz (UTC|GMT[+-]?[0-9]*|[A-Z]{2,5})$Tr[   zWAll timezone values should be GMT offset format, UTC, or timezone abbreviation
Actual: ro   r”  z
Expected: z, 
Actual: z' 
Note: tz suffix is not being compared)r@   r¦  rò   r7  rŸ  r  )rŒ  r  ÚpÚends_with_tzÚall_end_with_tzÚresult_substringÚexpected_substrings          r;   Ú$_compare_strftime_strings_on_windowsr{  à	  s·   € ð 	+€Aä×+Ñ+¨F°AÓ6€LÜ—f‘f˜\°dÔ;×AÑAÓC€OÙð Oð FØFLÀXðOó Oˆ?ô ×1Ñ1°&À!ÐQSÔTÐÜ×3Ñ3°HÀaÐUWÔXÐØ×"Ñ"Ð#5Ô6ð 2Ø
�X�J˜l¨6¨(ð 32ð 	2ó2Ñ6rE   c            	      óŽ  — g d¢} g d¢}g d¢}t         j                  dk7  r|j                  g d¢«       |D �]i  }t        j                  | «      j                  |«      }dD ]Õ  }t        j                  |t        j                  ||«      ¬«      }|D ]£  }t        j                  |«      }t        j                  ||¬«      }	t        j                  |j                  |«      «      j                  |	j                  «      }
t         j                  dk(  r|d	k(  rt        |	|
«       Œ‘|	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                  «      }
t         j                  dk(  rt        |	|
«       n|	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�ŒjJ ‚ 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Únsr4  rà  r  ú%Y-%m-%dT%H:%M:%Sr‚   z%Srƒ  z%S.%fÚC)Úlocalez.Timezone not present, cannot convert to stringr.   r~  )ÚsysÚplatformÚextendÚpdÚto_datetimeÚtz_localizer”   r¹   rr  r@   r¿   Ústrftimerþ  rÎ   r{  r  r4   r5   r`  )ÚtimesÚ	timezonesÚformatsÚtimezoneÚtsrl  ÚtsaÚfmtrÙ   rŒ  r  s              r;   Útest_strftimer–  ô	  s¦  € ò ;€EÚ2€IòQ€Gä
‡|�|�wÒà�‰Ò)Ô*àó 2'ˆÜ�^‰^˜EÓ"×.Ñ.¨xÓ8ˆØ+ò 
	3ˆDÜ—(‘(˜2¤B§L¡L°°xÓ$@ÔAˆCØò 3�Ü×,Ñ,¨SÓ1�ÜŸ™ S°'Ô:�äŸ8™8 B§K¡K°Ó$4Ó5×:Ñ:¸6¿;¹;ÓG�Ü—<‘< 7Ò*¨s°dª{Ü8¸ÀÕJà!Ÿ=™=¨Õ2Ð2Ð2ñ3ð
	3ð "ˆô �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ˆÜ�<‰<˜7Ò"Ü0°¸ÕBà—=‘= Ô*Ð*Ð*ô �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Ö&Ð&Ð&ðe2'ðj €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   Ö.X/×8.X;Ø/X8Ø;Yc                 ó¶  — 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}|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                  j(                  j                  d«      }|j                  j*                  j                  d«      }|j                  j,                  j                  d«      }|j                  j.                  j                  d«      }|j                  j0                  j                  d«      }|j                  j2                  j                  d«      }|j                  j4                  j6                  j                  d«      }|j                  j                  j                  d«      }|j                  j                  j                  d«      }t9        j$                  |«      j;                  t        j                  |
«      «      sJ ‚t9        j<                  |«      j;                  t        j                  |j                  j<                  «      «      sJ ‚t9        j&                  |«      j;                  t        j                  |«      «      sJ ‚t9        j(                  |«      j;                  t        j                  |«      «      sJ ‚t9        j>                  |«      j;                  t        j                  |«      «      sJ ‚t9        j@                  |«      j;                  t        j                  |«      «      sJ ‚t9        jB                  |«      j;                  t        j                  |«      «      sJ ‚t9        jD                  |«      j;                  t        j                  |«      «      sJ ‚t9        jF                  |«      j;                  |	«      sJ ‚t9        j.                  |«      j;                  t        j                  |«      «      sJ ‚t9        j0                  |«      j;                  t        j                  |«      «      sJ ‚t9        j2                  |«      j;                  t        j                  |«      «      sJ ‚t9        j4                  |«      j;                  t        j                  |«      «      sJ ‚t9        jH                  |«      j;                  t        j                  |dz  «      «      sJ ‚t9        j                  |«      j;                  t        j                  |dz  «      «      sJ ‚t9        j                  |«      j;                  t        j                  |«      «      sJ ‚t9        jJ                  |«      j;                  t        j                  |«      «      sJ ‚t9        jL                  |«      j;                  t        j                  |j                  j                  d «      «      «      sJ ‚|j                  jN                  r‹|j                  jN                  tP        jR                  jT                  u rdgtW        |«      z  }n|jY                  d„ «      }t9        jZ                  |«      j;                  t        j                  |«      «      sJ ‚t9        j\                  dd¬«      }t9        j>                  ||¬«      j;                  t        j                  |dz   «      «      sJ ‚t9        j^                  ddd¬«      }t9        j`                  ||¬«      j;                  t        j                  |«      «      sJ ‚y )NrT   r„  ©Útziè  g•Ö&è.>r(   Úiso_yearÚiso_weekÚiso_day_of_weekÚyearr   ÚweekÚday)ÚfieldsFc                 ó<   — | j                  «       j                  dkD  S )Nr   )ÚdstÚseconds)r|  s    r;   rG  z,_check_datetime_components.<locals>.<lambda>„
  s   € ¨¯©«¯©¸!Ñ(;€ rE   r$   rX   rà  Tr‰   )1r‹  rŒ  r�  Ú
tz_convertÚ	to_seriesr”   r¹   rr  r  ÚmicrosecondÚ
nanosecondr”  r_   r   Úisocalendarr‰  ÚStructArrayr
  r�  ÚmonthrŸ  Ú	dayofweekÚ	dayofyearÚquarterÚhourÚminuterx   rK   r@   r  Úis_leap_yearÚday_of_weekÚday_of_yearrš  r›  Úiso_calendarÚmillisecondÚ	subsecondÚlocal_timestampr™  rÿ  r’  Úutcr1   ÚapplyÚis_dstr–   rÈ   rž  )Ú
timestampsr’  r“  r”  Ú
subsecondsÚiso_calendar_fieldsrš  r›  Úiso_dayr³  r�  rª  rŸ  r«  r¬  r­  r®  r¯  rx   r¦  r§  r¹  Úday_of_week_optionsÚweek_optionss                           r;   Ú_check_datetime_componentsrÀ  G
  s#  € Ü	�‰˜
Ó	#×	/Ñ	/Øó
ß‰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Ó/ðÐð �u‰u× Ñ Ó" 6Ñ*×1Ñ1°'Ó:€HØ�u‰u× Ñ Ó" 6Ñ*×1Ñ1°'Ó:€HØ�e‰e×ÑÓ! %Ñ(×/Ñ/°Ó8€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º  r�  r’  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‚   rj  z+05:30r˜  r   é   ræ  )r@   rq  rþ  r”   rr  r®  r7  r¯  )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   rl  r�  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   rd  )rš  r›  rœ  r  )	r”   r¹   rÿ  rr  r@   r³  r©  r
  r  )rl  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:00r4  )rT   rÃ  rÄ  rà  zalready have a timezone:r.   zEurope/Brusselsssz9not found in timezone database|unable to locate time_zoneú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”   rr  r‹  rŒ  r¹   r@   r‘   r�  Úassume_timezoner  r4   r5   r`  r2  )Úts_typerº  rÔ  rÓ  Úambiguous_arrayÚnonexistent_arrayr’  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ð:ô
;ñ 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Ó$Õ%÷m	:ñ 	:ú÷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$  ©r§  r¦  r´  rx   r¯  r®  rŸ  )r§  r¦  r´  rx   r¯  r®  rà  rŸ  T)Úcalendar_based_originr™  )Úceil_is_strictly_greaterÚ1D)r”   r¹   rö  r@   r´   Úceil_temporalrˆ  r  r\  r  r¼  Úassert_array_equalÚfloor_temporalrY  Úround_temporalr”  rÎ   r™  Úwherer‹  Ú	Timedelta)r“  rK   rl  Úunit_shorthandÚgreater_unitrÝ  rà   Ú	frequencyrÙ   rŒ  r  Úorigins               r;   Ú_check_temporal_roundingrö  #  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           	      óx  — d}g d¢}t         j                  dk(  r|d d |dd  z   }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'   rd  r   rˆ  rU  é<   éú   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   r„  ro  )rÄ  zAmerica/New_YorkrÅ  rÆ  rÑ  zPacific/MarquesasrÃ  rT   rT   )	rˆ  r‰  r‹  ÚSeriesÚ	Timestamprö  r  r�  r¤  )rl  rK   rº  r|  r“  r�  r’  Úts_zoneds           r;   Útest_round_temporalrý  ‹  sµ   € ð
 B€Fò)€Jô& ‡|�|�wÒØ  �^ j°° nÑ4ˆ
ä	�‰¸
ÖC°1”B—L‘L ¨Ö.ÒCÓ	D€BÜ˜R ¨Ô.òS€Ið ò 9ˆØ—5‘5×$Ñ$ UÓ+×.Ñ.×9Ñ9¸(ÓCˆÜ  ¨6°4Õ8ñ9ùò Ds   ¸B7)rl  Úbase_frequencyÚround_frequency))r§  Ú1nsÚ4ns)r¦  Ú1usÚ4us)r´  Ú1msÚ4ms)rx   Ú1sÚ4s)r¯  Ú1minÚ4min)r®  Ú1hÚ4h)rŸ  rë  Ú4D)rž  Ú7DÚ28Dc           
      óÌ  — t        j                  |«      }t        j                  d|z  d|z  d|z  d|z  d|z  d|z  d|z  t         j                  g«      }t	        j
                  |«      }t        j                  j                  |j                  «      sJ ‚t        j                  d| «      }t        j                  |j                  j                  ft        j                  |j                  j                  ft        j                   |j                  j"                  ffD ]E  \  }} |||¬«      j%                  «       }	 ||«      }
t&        j(                  j+                  |	|
«       ŒG y )	NrŒ  r   r]   r   r$   r&   rd  rà  )r‹  rñ  rú  ÚNaTr”   r¹   rD  Úis_durationrÎ   r@   r´   rì  r  r\  rî  rY  rï  r”  rˆ  r  r¼  rí  )rl  rþ  rÿ  ÚbaserK   Úarrow_valuesrÙ   Úarrow_roundÚpandas_roundrŒ  r  s              r;   Útest_round_temporal_durationr  ²  s2  € ô �<‰<˜Ó'€DÜ�Y‰YØ
ˆT‰	Ø
ˆT‰	Ø
ˆT‰	Ø	ˆD‰Ø	ˆD‰Ø	ˆD‰Ø	ˆD‰Ü
�‰ð	ó 	€Fô —8‘8˜FÓ#€LÜ�8‰8×Ñ × 1Ñ 1Ô2Ð2Ð2ä×%Ñ% a¨Ó.€Gô 
×	Ñ	˜6Ÿ9™9Ÿ>™>Ð*Ü	×	Ñ	˜FŸI™IŸO™OÐ,Ü	×	Ñ	˜FŸI™IŸO™OÐ,ð&ò 	8Ñ!ˆ�\ñ
 Ø 'ô
ç
‰)‹+ð 	ñ   Ó0ˆÜ
�
‰
×%Ñ% f¨hÕ7ñ	8rE   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©rW  Ú	only_nullr%   rò   r   z*"something else" is not a valid count moder.   zsomething else)r”   r¹   r@   rX  r7  r4   r5   r2  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                  t        j                  g d¢«      «      } 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                  | j                  d	d«      d¬«      j                  «       d	k(  sJ ‚t        j                  | j                  d	d«      d¬«      j                  «       d	k(  sJ ‚y )
N)
r$   r$   NNNr%   r%   r%   Nr#   r  r  r'   r  r&   rò   r   r#   )r@   Úrun_end_encoder”   r¹   rX  r7  Úslicer/  s    r;   Ú test_count_run_end_encoded_nullsr   ê  sß   € Ü
×
Ñ
Ü
�‰Ò;Ó<ó>€Cô �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Ô$×*Ñ*Ó,°Ò2Ð2Ð2ä�8‰8�C—I‘I˜a “O¨,Ô7×=Ñ=Ó?À1ÒDÐDÐDÜ�8‰8�C—I‘I˜a “O¨+Ô6×<Ñ<Ó>À!ÒCÐCÑCrE   c                  óÒ  — t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢«      t        j                  g d¢«      g«      } 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                  | j                  dd«      d¬«      j                  «       d	k(  sJ ‚t        j                  | j                  dd«      d¬«      j                  «       d	k(  sJ ‚y )N©r   r$   r   r   r$   r$   r4  )ç      à?g     ÀX@Nrw  g      V@g     @S@)FNTFTFr  r  r&   r  r%   rò   r'   r$   )	r”   Ú
UnionArrayÚfrom_sparser¹   r   r@   rX  r7  r  r/  s    r;   Ú$test_count_sparse_union_sliced_nullsr&  ö  s
  € ä
�-‰-×
#Ñ
#Ü
�‰Ò#¬"¯'©'«)Ô4ä�H‰HÒ7Ó8Ü�H‰HÒ<Ó=ð	
ó€Cô �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—I‘I˜a “O¨,Ô7×=Ñ=Ó?À1ÒDÐDÐDÜ�8‰8�C—I‘I˜a “O¨+Ô6×<Ñ<Ó>À!ÒCÐCÑCrE   c            	      ó&  — t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j
                  «       ¬«      t        j                  g d¢«      t        j                  g d¢«      g«      } 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                  | j                  dd«      d¬«      j                  «       d
k(  sJ ‚t        j                  | j                  dd«      d	¬«      j                  «       d
k(  sJ ‚y )Nr"  r4  )r   r   r$   r%   r$   r%   )r#  Nrw  )NTFr  r  r&   r  r%   rò   r'   r$   )
r”   r$  Ú
from_denser¹   r   r   r@   rX  r7  r  r/  s    r;   Ú#test_count_dense_union_sliced_nullsr)  	  s  € ä
�-‰-×
"Ñ
"Ü
�‰Ò#¬"¯'©'«)Ô4Ü
�‰Ò#¬"¯(©(«*Ô5ä�H‰HÒ%Ó&Ü�H‰HÒ(Ó)ð	
ó€Cô �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—I‘I˜a “O¨,Ô7×=Ñ=Ó?À1ÒDÐDÐDÜ�8‰8�C—I‘I˜a “O¨+Ô6×<Ñ<Ó>À!ÒCÐCÑCrE   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&   r4  r   r%   r]   r&   r#   ©rV   r$   )rV   Úend)	r”   r¹   r   r@   Úindexrž   r7  r   rO  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ì   rF  s     r;   rï   z&check_partition_nth.<locals>.<genexpr>4  ó   è ø€ Ò6 Q�q˜D”yÑ6ùó   ‚c              3   ó$   K  — | ]  }|d u –— Œ
 y ­wrâ   rç   r1  s     r;   rï   z&check_partition_nth.<locals>.<genexpr>6  r2  r3  c              3   ó4   •K  — | ]  }|d u xs |‰k  –— Œ y ­wrâ   rç   ©rì   rF  rv  s     €r;   rï   z&check_partition_nth.<locals>.<genexpr>9  ó!   øè ø€ Ò@¨q�q˜D�yÒ* A¨¡FÓ*Ñ@ùó   ƒc              3   ó(   •K  — | ]	  }|‰k\  –— Œ y ­wrâ   rç   r6  s     €r;   rï   z&check_partition_nth.<locals>.<genexpr>:  ó   øè ø€ Ò3 !�q˜A•vÑ3ùó   ƒc              3   ó(   •K  — | ]	  }|‰k  –— Œ y ­wrâ   rç   r6  s     €r;   rï   z&check_partition_nth.<locals>.<genexpr><  r:  r;  c              3   ó4   •K  — | ]  }|d u xs |‰k\  –— Œ y ­wrâ   rç   r6  s     €r;   rï   z&check_partition_nth.<locals>.<genexpr>=  r7  r8  )r-  r1   ÚsortedÚlistr¸  rò   )rh  r„   Úpivotrj   r	  Úuntil_pivotÚafter_pivotrv  s          @r;   Úcheck_partition_nthrC  +  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)Nrz   éŒ   r   )r@  rq   z8'partition_nth_indices' cannot be called without optionsr.   )
r?  r¸  rú  Úshuffler@   Úpartition_nth_indicesrC  r4   r5   r2  )rh  r@  r„   s      r;   Útest_partition_nthrH  @  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   rd  rn  é   )rh   rq   )r@  rj   )r?  r¸  rú  rF  r@   rG  rC  )rh  r@  rj   r„   s       r;   Ú!test_partition_nth_null_placementrK  O  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            	      ó~  — 	 	 dd„} t        j                  g d¢«      }dD ]r  }dD ])  }t        j                  ||d|dfg¬«      } | |||d«       Œ+ t        j                  ||¬«      } | ||d	«       t        j
                  ||¬«      } | ||d
«       Œt 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 )Nrq   c                 óê   — t        j                  |d||fg¬«      }|j                  dt        | «      «      }|r| |k(  sJ ‚y t        j                  ||«      }t        j                  || «      }||k(  sJ ‚y )Nr   rv   r   ©r@   Úsort_indicesr  r1   r  )	Úselect_k_indicesr  Úorderrj   Ústable_sortÚsorted_indicesÚhead_k_indicesr  rÃ  s	            r;   Úvalidate_select_kz.test_select_k_array.<locals>.validate_select_k[  sw   € äŸ™Ø˜W e¨^Ð<Ð=ô?ˆà'×-Ñ-¨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€   rp   r   ©r¼  rt   )r¼  r€   rp   r%   r~   rà  ©r   rp   rq   rv   )rq   F)r”   r¹   r@   Úselect_k_unstableÚtop_k_unstableÚbottom_k_unstabler·   )rU  r  r¼  rQ  rŒ  s        r;   Útest_select_k_arrayr]  Z  sk  € ØGOØ&+ó
&ô �(‰(’?Ó
#€CØò 
4ˆØ0ò 	<ˆEÜ×)Ñ)Ø�q g¨u°hÐ%?Ð$@ôBˆFá˜f c¨5°(Õ;ð	<ô
 ×"Ñ" 3¨!Ô,ˆÙ˜& # |Ô4ä×%Ñ% c¨QÔ/ˆÙ˜& # {Õ3ð
4ô ×!Ñ!Ø”R×&Ñ&ØÐ=Ð>ô@ô€Fñ �f˜c <Ô0ä×!Ñ!Ø”R×&Ñ&ØÐ<Ð=ô?ô€Fñ �f˜c ;Ô/ô ×Ñ  QØ+KÐ*LôNØQWòXð Xð Xä×Ñ  QÐ)IÐ(JÓKÈvÒUÐUÑUrE   c                  óˆ  — dd„} t        j                  g d¢g d¢dœ«      }dD ]µ  }t        j                  ||dg¬«      } | ||dg¬«       t        j                  ||t        j                  d	«      d
dfdg¬«      } | ||ddg¬«       t        j
                  ||d	gdg¬«      } | ||dg¬«       t        j                  ||d	dg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 )Nrv   r   rN  )rP  Útblrt   rR  rS  rT  r  rÃ  s           r;   rU  z.test_select_k_table.<locals>.validate_select_k‡  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*   rW  ©r   rp   rq   rX  rv   r   rp   rq   r{   )r¼  rt   Únull_placements©r   r€   rq   r   rh   ©r   rp   rh   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   Únonscendingrq   ú.Invalid sort key column: No match for.*unknown©Úunknownrp   rq   )F)
r”   r  r@   rZ  r_   r[  r\  r4   r5   r2  )rU  r  r¼  rŒ  s       r;   Útest_select_k_tablerk  †  s^  € ó&ô �H‰Hš9ª9Ñ5Ó6€EØò SˆÜ×%Ñ%Ø�QÐ#?Ð"@ôBˆá˜& %Ð4PÐ3QÕRä×%Ñ%Ø�Q¤B§H¡H¨S£M°;ÀÐ#IØ#?ð#AôBˆñ 	Ø�EÐ&BØ&Bð&Dõ	Eô ×"Ñ" 5¨AØ#&ð:(Ø:B¸ôEˆá˜& %Ð4QÐ3RÕSä×%Ñ%Ø�Q 3¨ *¸xÈÐ>TôVˆáØ�EÐ&Bð EQð &Rö	Sð%Sô, 
�‰ÜØHô
Jñ $ô 	×Ñ˜UÔ#÷$ô
 
�‰”zØKô
Mñ Tä
×Ñ˜U bÐ5QÐ4RÕS÷Tô 
�‰”zð5ô
6ñ 7ô 	×Ñ˜U a°2Õ6÷7ô
 
�‰”zÐ)AÔ	Bñ UÜ
×Ñ˜U aÐ4RÐ3SÕT÷Uô 
�‰”zØMô
Oñ Yä
×Ñ˜U aÐ4VÐ3WÕX÷Yð Y÷#$ð $ú÷
Tð Tú÷7ð 7ú÷
Uð Uú÷Yð Yús<   Ã6HÄ/HÅ,H Æ(H,Ç%H8ÈHÈHÈ H)È,H5È8I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)NrV  ©r#   r   r$   r%   rp   )rQ  r€   ©r$   r   r#   r%   rh   )rQ  rj   ©r%   r$   r   r#   ri   re  r.   rg  )r”   r¹   r@   Úarray_sort_indicesr-  r4   r5   r2  ©r  rŒ  s     r;   Útest_array_sort_indicesrr  ¾  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                  g d¢«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  | |«      j                  |«      sJ ‚t        j                  | |d¬«      j                  |«      sJ ‚t        j                  | |d«      j                  |«      sJ ‚t        j                  | |t        j                  d¬«      ¬	«      j                  |«      sJ ‚t        j                  | t        j                  d
t        j                  «       ¬«      «      j                  «       dk(  sJ ‚t        j                  | t        j                  d
t        j                  «       ¬«      d¬«      j                  «       dk(  sJ ‚y )N©r$   r$   r#   r   rø   ©r   r$   r#   r&   r   rø   r(   ©r   r   r%   r#   r#   r&   r   r4  )r   r%   r#   r#   r&   r   r   r}  ©Úsider~  rà  r   r#   r&   )
r”   r¹   r   r@   Úsearch_sortedr  ÚSearchSortedOptionsrž   r   r7  )rK   ÚneedlesÚexpected_leftÚexpected_rights       r;   Útest_search_sortedr~  Ñ  sb  € Ü�X‰X’oÓ&€FÜ�h‰hÒ,Ó-€Gä—H‘HÒ2¼¿¹»ÔE€MÜ—X‘XÒ3¼"¿)¹)»+ÔF€Nä×Ñ˜F GÓ,×3Ñ3°MÔBÐBÐBÜ×Ñ˜F G°&Ô9×@Ñ@ÀÔOÐOÐOÜ×Ñ˜F G¨WÓ5×<Ñ<¸^ÔLÐLÐLÜ×ÑØ�¤×!7Ñ!7¸WÔ!Eôç�fˆ^Óðð ð ô ×Ñ˜F¤B§I¡I¨a´b·h±h³jÔ$AÓB×HÑHÓJÈaÒOÐOÐOÜ×ÑØ”—	‘	˜!¤"§(¡(£*Ô-°Gôç�eƒg�òð ñ rE   c                  ó¦  — t        j                  g d¢t        j                  «       ¬«      } t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t	        j
                  || d¬«      j                  |«      sJ ‚t	        j
                  || d¬«      j                  |«      sJ ‚t        j                  g d	¢t        j                  «       ¬«      }t        j                  g d
¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t	        j
                  || d¬«      j                  |«      sJ ‚t	        j
                  || d¬«      j                  |«      sJ ‚y )N)rÍ  rÇ  rù  é�  r4  ©NrÇ  r´  r´  )r$   r$   r%   r&   )r$   r%   r%   r&   r}  rw  r~  )rÇ  r´  r´  NN)r   r   r$   r#   )r   r$   r$   r#   )r”   r¹   r   r   r@   ry  r  )r{  rK   r|  r}  s       r;   Útest_search_sorted_null_valuesr‚  å  s+  € Ü�h‰hÒ*´·±³Ô<€Gä�X‰XÒ+´"·(±(³*Ô=€FÜ—H‘Hš\´·	±	³Ô<€MÜ—X‘Xšl´·±³Ô=€NÜ×Ñ˜F G°&Ô9×@Ñ@ÀÔOÐOÐOÜ×Ñ˜F G°'Ô:×AÑAÀ.ÔQÐQÐQä�X‰XÒ1¼¿¹»
ÔC€FÜ—H‘Hš\´·	±	³Ô<€MÜ—X‘Xšl´·±³Ô=€NÜ×Ñ˜F G°&Ô9×@Ñ@ÀÔOÐOÐOÜ×Ñ˜F G°'Ô:×AÑAÀ.ÔQÐQÑQrE   c                  óž  — t        j                  g d¢t        j                  «       ¬«      } t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t	        j
                  | |d¬«      j                  |«      sJ ‚t	        j
                  | |d¬«      j                  |«      sJ ‚t	        j
                  | t        j                  d t        j                  «       ¬«      «      }|j                  «       �J ‚y )	Nr�  r4  )NrÍ  rÇ  Nr€  )Nr$   r$   Nr&   )Nr$   r%   Nr&   r}  rw  r~  )	r”   r¹   r   r   r@   ry  r  rž   r7  )rK   r{  r|  r}  Úscalar_results        r;   Ú)test_search_sorted_null_needles_emit_nullr…  õ  sÜ   € Ü�X‰XÒ+´"·(±(³*Ô=€FÜ�h‰hÒ1¼¿¹»
ÔC€Gä—H‘HÒ2¼¿¹»ÔE€MÜ—X‘XÒ3¼"¿)¹)»+ÔF€Nä×Ñ˜F G°&Ô9×@Ñ@ÀÔOÐOÐOÜ×Ñ˜F G°'Ô:×AÑAÀ.ÔQÐQÐQä×$Ñ$ V¬R¯Y©Y°tÄ"Ç(Á(Ã*Ô-MÓN€MØ×ÑÓ Ð(Ð(Ñ(rE   c                  óv  — t        j                  g d¢t        j                  «       ¬«      } t        j                  g d¢t        j                  «       ¬«      }t         j                  j                  | |«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  g d¢t        j                  «       ¬«      }t        j                  ||«      j                  |«      sJ ‚t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j                  «       ¬«      «      }t        j                  g d¢t        j                  «       ¬«      }t        j                  ||d	¬
«      j                  |«      sJ ‚y )N)r%   r#   r&   r   r4  )r$   r#   r   rø   ru  rv  rI  )r$   r&   r(   )r%   r%   r#   r#   r   r   r~  rw  )
r”   r¹   r   r   ÚRunEndEncodedArrayr
  r   r@   ry  r  )Úrun_endsÚencoded_valuesrK   r{  r|  Úree_needlesr}  s          r;   Ú"test_search_sorted_run_end_encodedr‹    s  € Ü�x‰xš¬2¯8©8«:Ô6€HÜ—X‘Xšl´·±³Ô<€NÜ×"Ñ"×.Ñ.¨x¸ÓH€FÜ�h‰hÒ,´2·8±8³:Ô>€Gä—H‘HÒ2¼¿¹»ÔE€MÜ×Ñ˜F GÓ,×3Ñ3°MÔBÐBÐBä×'Ñ'×3Ñ3Ü
�‰’¤§¡£Ô,Ü
�‰’¤§¡£Ô,ó€Kô —X‘XÒ0´r·y±y³{ÔC€NÜ×Ñ˜F K°gÔ>×EÑEØôð ñ rE   c                  ót  — t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j
                  «       ¬«      «      } t         j                  j                  t        j                  g d¢t        j                  «       ¬«      t        j                  g d¢t        j
                  «       ¬«      «      }t        j                  g d¢t        j                  «       ¬«      }t        j                  | |d¬«      j                  |«      sJ ‚y )	N)r%   r#   r   r4  )Nr%   r&   )r%   r#   r   r'   )Nr$   r&   N)NNr%   r#   r#   Nr}  rw  )
r”   r‡  r
  r¹   r   r   r   r@   ry  r  )rK   r{  r  s      r;   Ú(test_search_sorted_run_end_encoded_nullsr�    s½   € Ü×"Ñ"×.Ñ.Ü
�‰’¤§¡£Ô,Ü
�‰’¤B§H¡H£JÔ/ó€Fô ×#Ñ#×/Ñ/Ü
�‰’¤B§H¡H£JÔ/Ü
�‰Ò#¬"¯(©(«*Ô5ó€Gô
 �x‰xÒ3¼"¿)¹)»+ÔF€HÜ×Ñ˜F G°&Ô9×@Ñ@ÀÔJÐJÑJrE   c                  óê   — t        j                  g d¢«      } t        j                  t        d¬«      5  t        j                  | t        j                  dg«      d¬«       d d d «       y # 1 sw Y   y xY w)Nrt  z*"middle" is not a valid search sorted sider.   r$   Úmiddlerw  )r”   r¹   r4   r5   r2  r@   ry  rZ  s    r;   Útest_search_sorted_errorsr�  $  sP   € Ü�X‰X’oÓ&€Fä	�‰”zÐ)UÔ	Vñ ?Ü
×Ñ˜¤§¡¨1¨#£°XÕ>÷?÷ ?ñ ?ús   ³-A)Á)A2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¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | dg«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j
                  dg¬«      ¬	«      }|j	                  «       g d¢k(  sJ ‚t        j                  | t        j
                  dg¬«      ¬	«      }|j	                  «       g d¢k(  sJ ‚y )
NrV  rm  rY  rv   r~   rn  )r   r€   rh   ro  rà  )r”   r¹   r@   rO  r-  r¼   rq  s     r;   Útest_sort_indices_arrayr’  +  sS  € Ü
�(‰(’?Ó
#€CÜ�_‰_˜SÓ!€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_˜SÐ-MÐ,NÔO€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_˜SÐ-NÐ,OÔP€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_˜SÐ-PÐ,QÔR€FØ×ÑÓ¢Ò-Ð-Ð-ä�_‰_˜SÐ#FÐ"GÓH€FØ×ÑÓ¢Ò-Ð-Ð-ä�_‰_Ø”R—^‘^Ð/PÐ.QÔRô€Fð ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_Ø”R—^‘^Ð/RÐ.SÔTô€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d	fg¬«      }|j	                  «       g d
¢k(  sJ ‚t        j                  | ddg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | ddg¬«      }|j	                  «       g d¢k(  sJ ‚t        j                  | ddg«      }|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*   ra  rv   rm  r   rp   rh   )r%   r#   r   r$   rc  r{   rn  )r   r€   rh   rd  ro  z"Must specify one or more sort keysr.   rh  ri  re  rf  )	r”   r  r@   rO  r-  r_   r4   r5   r2  )r  rŒ  s     r;   Útest_sort_indices_tabler”  C  sÍ  € Ü�H‰Hš?²Ñ>Ó?€Eä�_‰_˜UÐ/KÐ.LÔM€FØ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_Øœ2Ÿ8™8 C›=¨+°zÐBÐCôE€Fà×ÑÓ¢Ò-Ð-Ð-ä�_‰_ØÐ7Ð9UÐVô€Fð ×ÑÓ¢Ò-Ð-Ð-Ü�_‰_ØÐ9ð <Hð IôJ€Fð ×ÑÓ¢Ò-Ð-Ð-ä�_‰_ØÐ/Ð1OÐPóR€Fà×ÑÓ¢Ò-Ð-Ð-ä	�‰”zÐ)MÔ	Nñ Ü
�‰˜Ô÷ô 
�‰”zØMô
Oñ Oä
�‰˜Ð*LÐ)MÕN÷Oô 
�‰”zÐ)AÔ	Bñ KÜ
�‰˜Ð*HÐ)IÕJ÷Kð K÷ð ú÷Oð Oú÷Kð Kús$   Ä;GÅ4GÆ0G*ÇGÇG'Ç*G3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-  rq  s     r;   Ú
test_is_inrœ  d  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-  rq  s     r;   Útest_index_inrŸ  t  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)Nr3  ç      @Úlower)Úinterpolationr%   Úhigherr#   ÚnearestÚmidpointÚlinearr$   )g      Ð?r#  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.   rÓ  z"not a valid quantile interpolationÚzzz)r”   r¹   r@   r÷  r-  r4   r5   r2  rq  s     r;   Útest_quantiler®  ‰  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 )
Nr3  r¡  r$   r%   r#   r&   )r   r#  r$   r¨  )r$   r¡  r&   )r”   r¹   r@   Útdigestr-  rO  rq  s     r;   Útest_tdigestr±  ´  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   rq  s     r;   Útest_fill_null_segfaultr³  Æ  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 )NrÁ  )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™   )re  rf  Úarr3rŒ  s       r;   Útest_min_max_element_wiser¸  Í  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ª  rÖ  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)Nr4  rÁ  )r   Nr»  r¼  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   ÚarrowrÓ  r+  )r!  r”   rž   r   r   r¹   rO  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_sumrÇ  ï  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)Nr4  rÁ  )r$   Nr»  r   r$   r»  r   )r$   r%   r'   )r$   Nr»  rz   )r$   NNNrU   )r«  r¡  r›  r%   r³  r&   r#   )r«  g      @g     @*@Fr»  r   r½  rÓ  r+  )r!  r”   rž   r   r   r¹   rO  r  r@   Úcumulative_prodr‰  r  rü  rý  r  rŠ  r¼  r¿  rÀ  r4   r5   r`  rÁ  s              r;   Útest_cumulative_prodrË  &  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úrÈ  )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)Nr4  )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¡  rÍ  rœ  rÏ  rÐ  )r¡  r¡  rœ  rÎ  rÎ  rÐ  )r¡  r¡  rœ  rœ  rÏ  rÐ  )r¡  r¡  Nr¡  rÏ  N)r¡  r¡  NNNNr»  r   r½  rÓ  rÁ  r+  )r!  r”   rž   r   r   r¹   rO  r  r@   Úcumulative_maxr¶  r  rü  rý  r  rŠ  r¼  r¿  rÀ  r4   r5   r`  rÁ  s              r;   Útest_cumulative_maxrÒ  ]  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                  ó¬  — ddg} t        j                  | t        j                  «       ¬«      }t        j                  |«      j                  «       ddgk(  sJ ‚t        j                  |«      j                  «       ddgk(  sJ ‚t        j                  ddgddgg«      }t        j                  |«      j                  «       g d¢k(  sJ ‚t        j                  |«      j                  «       g d¢k(  sJ ‚t        j                  t        j                   dgt        j                  «       ¬«      }t        j                  |«      j                  «       t        j                   dgk(  sJ ‚t        j                  t        j                  dgt        j                  «       ¬«      }t        j                  |«      j                  «       t        j                  dgk(  sJ ‚y )	Nç      Àr¡  r4  rs  rŸ  ç      à¿)rÕ  rs  rs  rÖ  )rÕ  rÕ  rŸ  rŸ  )
r”   r¹   rý  r@   rÑ  r-  Úcumulative_minrO  r  Úinf)rK   r  s     r;   Ú.test_cumulative_max_min_negative_default_startrÙ  —  sh  € ð
 �Cˆ[€FÜ
�(‰(�6¤§
¡
£Ô
-€CÜ×Ñ˜SÓ!×+Ñ+Ó-°$¸°Ò<Ð<Ð<Ü×Ñ˜SÓ!×+Ñ+Ó-°$¸°Ò=Ð=Ð=ä
×
Ñ
˜T 4˜L¨4°¨,Ð7Ó
8€CÜ×Ñ˜SÓ!×+Ñ+Ó-Ò1IÒIÐIÐIÜ×Ñ˜SÓ!×+Ñ+Ó-Ò1IÒIÐIÐIô �(‰(”R—V‘V�G˜T�?¬¯©«Ô
6€CÜ×Ñ˜SÓ!×+Ñ+Ó-´2·6±6°'¸4°Ò@Ð@Ð@Ü
�(‰(”B—F‘F˜C�=¤r§z¡z£|Ô
4€CÜ×Ñ˜SÓ!×+Ñ+Ó-´"·&±&¸#°Ò>Ð>Ñ>rE   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)Nr4  )r   r'   r&   r%   r#   r$   )r   r'   Nr%   r#   N)r   r'   Nrµ  )r   r   r&   r%   r%   r$   )r   r   Nr%   r%   N)r   r   NNNNrU   g    eÍÍAFr[   )ç      @ç333333@çÍÌÌÌÌÌ@çÍÌÌÌÌÌ @ç333333@ç333333ó?rÛ  rÜ  rÝ  rß  rà  )rÛ  rÛ  rÝ  rÞ  rÞ  rà  )rÛ  rÛ  rÝ  rÝ  rß  rà  )rÛ  rÛ  NrÛ  rß  N)rÛ  rÛ  NNNNr»  r   r½  rÓ  rÁ  r+  )r!  r”   rž   r   r   r¹   rO  r  r@   r×  rò  r  rü  rý  r  rŠ  r¼  r¿  rÀ  r4   r5   r`  rÑ  rÁ  s              r;   Útest_cumulative_minrá  ­  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úrÓ  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‚   rÁ  za b cz0 1r  rØ  r.   r3  z0 arguments but 2 field namesÚoneÚtwo)
r@   Úmake_structr7  Úsplitr”   r©  r
  r4   r5   r2  rç   rE   r;   Útest_make_structrè  ç  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)rä  r$   )rå  r%   )Únoner#   )rä  r   )rä  rd  r4  )r$   NNr   N)r$   NNrd  Nr$   r   rd  rä  re   Úlastrò   )	r”   Úmap_r]  r   r¹   rê  r@   Ú
map_lookuprž   )rŠ  r  Úresult_firstÚresult_lastÚ
result_alls        r;   Útest_map_lookuprñ  ú  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)NrÚ  r4  )r  Nro   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   r©  r
  r@   Ústruct_fieldr_   r4   r5   r`  )r   r   r£  r  s       r;   Útest_struct_fields_optionsrô    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,  )FTNrÁ  )é   rm  rn  )r$   rm  N)r@   Ú	case_whenræ  r”   r¹   rç   rE   r;   Útest_case_whenrø  1  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  8  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�  rª  rŸ  r„  r4  )
r¸  rÿ  r”   r¹   rr  r@   Úcount_distinctrž   r1   r   )rÐ  Úsamplesr  s      r;   Útest_count_distinctr  J  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  r7  r/  s    r;   Útest_count_distinct_optionsr  P  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                  óB  — 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                  g d¢«      }t        j                  g d	¢«      }d
D ]:  }t        j                  ||¬«      |k(  sJ ‚t        j                  ||¬«      |k(  rŒ:J ‚ dD ]:  }t        j                  ||¬«      |k(  sJ ‚t        j                  ||¬«      |k(  rŒ: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ÚNFKD)õ   Ã©u   í•œN)u   eÌ�u	   á„’á…¡á†«N)r	  r†   )r  r  z/"NFZ" is not a valid Unicode normalization formr.   ÚNFZ)r”   r¹   r@   Úutf8_normalizer4   r5   r2  )r  ÚcomposedÚ
decomposedr
  s       r;   Útest_utf8_normalizer  Y  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Ó-?Ò?Ð?Ð?ä�x‰xÒ2Ó3€HÜ—‘ÒAÓB€JØò BˆÜ× Ñ  °$Ô7¸8ÒCÐCÐCÜ× Ñ  °Ô5¸ÓAÐAÐAðBð  ò FˆÜ× Ñ  °Ô5¸ÒCÐCÐCÜ× Ñ  °$Ô7¸:ÓEÐEÐEðFô 
�‰ÜØCô
Eñ +ô 	×Ñ˜# EÕ*÷+÷ +ñ +ús   Å4FÆF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   )Úinitializerr4  r   rz   rd  rÚ  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   rŠ  r4   r5   r6   )r  r	  rÅ  Úinitializerss       r;   Útest_randomr  n  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$   rr   )r#   r%   r   rd  r   rd  r%   re   ©r#   r$   r&   r'   r   rd  r%   Údense)r%   r$   r#   r&   r#   r&   r$   c                 ó  — t        j                  g d¢«      }t        j                  dg| ¬«      }t        j                  ||¬«      }t        j                  |t        j
                  «       ¬«      }|j                  |«      sJ ‚y )N©rà  r  ç333333@Nr!  Nr  rn   rs   rà  r4  )r”   r¹   r@   r®   Úrankr   r  )ru   Úexpected_valuesr  Úrank_optionsrŒ  r  s         r;   Útest_rank_options_tiebreakerr%  ‰  sb   € ô �(‰(Ò8Ó
9€CÜ—>‘>Ð-HÐ,IØ-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g¬«      }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gd¬«       d d d «       y # 1 sw Y   y xY w)Nr   r  r4  rà  r{   rv   ©ro   rp   rh   )r   r#   r'   r$   rd  r%   r&   r€   )r#   r&   r$   r'   r%   rd  r   z'"NonExisting" is not a valid tiebreakerr.   )ro   r€   rq   ÚNonExistingrs   )
r”   r¹   r   r@   r"  r  r®   r4   r5   r2  ©r  r  rŒ  Úexpected_at_startÚexpected_descendings        r;   Útest_rank_optionsr,  ™  sa  € Ü
�(‰(Ò8Ó
9€CÜ�x‰xÒ-´B·I±I³KÔ@€Hô �W‰W�S‹\€FØ�=‰=˜Ô"Ð"Ð"ô �W‰W�S¤"§.¡.Ó"2Ô3€FØ�=‰=˜Ô"Ð"Ð"ô �W‰W�S¤"§.¡.Ø/Ð0ô#2ô €Fð �=‰=˜Ô"Ð"Ð"ä�W‰W�SÐ%BÐ$CÔD€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g¬«      }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ú  r4  rà  )r   rp   rv   r'  )r   rú  r   rˆ   r   r€   )rú  r   rú  r   rú  re  r.   ÚXXX)
r”   r¹   rý  r@   Úrank_quantiler  r¯   r4   r5   r2  r)  s        r;   Útest_rank_quantile_optionsr1  ¹  sh  € Ü
�(‰(Ò+Ó
,€CÜ�x‰xÒ1¼¿
¹
»ÔE€Hô ×Ñ˜cÓ"€FØ�=‰=˜Ô"Ð"Ð"ô ×Ñ˜c¬2×+AÑ+AÓ+CÔD€FØ�=‰=˜Ô"Ð"Ð"ô ×Ñ˜c¬2×+AÑ+AØ%Ð&ô,(ô €Fð �=‰=˜Ô"Ð"Ð"ä×Ñ˜cÐ.KÐ-LÔM€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g¬«      }|j                  «       |k(  sJ ‚t	        j
                  | t	        j                  «       ¬«      }|j                  «       |k(  sJ ‚t        j                  g d¢«      }t	        j
                  | dg¬«      }|j                  «       |k(  sJ ‚t	        j
                  | t	        j                  dg¬«      ¬«      }|j                  «       |k(  sJ ‚y )Nr.  )çúÅ‚•ãÇà?g2mâ6<�ô¿r3  çüÅ‚•ãÇà¿r3  rn   rv   rà  )r4  g2mâ6<�ô?r4  r3  r4  )ro   r€   rh   )r”   r¹   r4   rp  r@   Úrank_normalr-  r¯   ©r  r  rŒ  s      r;   Útest_rank_normal_optionsr7  ×  s$  € Ü
�(‰(Ò+Ó
,€Cä�}‰}ò	2ó3€Hô �^‰^˜CÓ €FØ×ÑÓ Ò)Ð)Ð)Ü�^‰^˜CÐ,GÐ+HÔI€FØ×ÑÓ Ò)Ð)Ð)Ü�^‰^˜C¬×)?Ñ)?Ó)AÔB€FØ×ÑÓ Ò)Ð)Ð)ä�}‰}ò	2ó3€Hô �^‰^˜CÐ,JÐ+KÔL€FØ×ÑÓ Ò)Ð)Ð)Ü�^‰^˜CÜ$&×$:Ñ$:Ø+IÐ*Jô%Lô€Fð ×ÑÓ Ò)Ð)Ñ)rE   c                  ó$  — t        j                  g d¢«      } t        j                  g d¢«      }t        j                  t	        j                  | «      t	        j                  |«      «      }t         j
                  j                  |j                  d¬«      t        j                  | |«      «       t        j                  t	        j                  d«      t	        j                  d«      «      j                  «       t        j                  d«      k(  sJ ‚y )N)rw  r  g      Àr«  g      @)ç      @r  g      (@g       Àr  Fr»  rw  r9  rÈ  )r  r¹   r@   Úhypotr”   r¼  r¿  rÀ  rž   r7  r4   rp  )r|  rÐ  rŒ  s      r;   Ú
test_hypotr;  ð  s©   € ä
�‰Ò,Ó-€AÜ
�‰Ò,Ó-€AÜ�X‰X”b—h‘h˜q“k¤2§8¡8¨A£;Ó/€FÜ‡J�J×(Ñ(Ø�‰ uˆÓ-¬r¯x©x¸¸1«~ô?ô �8‰8”B—I‘I˜c“N¤B§I¡I¨c£NÓ3×9Ñ9Ó;¼v¿}¹}ÈSÓ?QÒQÐQÑQrE   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$   rÓ  Tr   r   r%   Fr   rû  r   rd  )r  r  rà   )r$   r   rÁ  )rò   ÚliteralsÚcallsÚrefsÚnumeric_refsÚspecialÚschema)-r”   rC  r_   r   r©  r   r@   rž   r  rì  Únegaterå   r…  Údivider‰  Ú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   Úisinrp  Úcopy)rC  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_expressionsrd  ü  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ò   )rd  rë   r@   Ú
Expressionr  r  r  )r  ÚexprÚrestoreds      r;   Ú#test_expression_serialization_arrowri  I  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 )NrC  r>  r?  r@  rA  rB  r   ro   r$   rÁ  r%   r#   )
rd  Úto_substraitr@   rf  Úfrom_substraitr  rö  r×   rž   r\  )ÚexprsrC  rg  Ú
serializedrÜ   Úserialized_againÚdeserialized_againÚ	expr_normr  r   Útargets              r;   Ú'test_expression_serialization_substraitrs  Q  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_   ru  r	   r%   r  r  )r@   rž   r_   r”   rç  rþ  r\  r4   r5   r6   r`  r3   )
rL  rä  ÚtrueÚfalser   r_   Únested_mixed_typesÚnested_fieldÚnested_field2rV  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   r2  r	   )rv  rw  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$   r—  z2round(field, {ndigits=1, round_mode=HALF_TO_EVEN})zadd(field, 1)z+only other expressions allowed as argumentsr.   )r@   r_   rö  r®  r”  rå   r”   rž   r4   r5   r6   r3   )r_   ra  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�  Ô  sW   € Ü�H‰H�c˜A˜q˜6�]Ó#€Eä	�‰”r—v‘v×,Ñ,Ó	-ñ #Ü
�‰�”r—x‘x“zÔ"÷#÷ #ñ #ús   Á)A9Á9Bzstart,stop,expectedrÁ  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„  rÁ  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:   ra  rŒ  Úpylistr   s               r;   Útest_list_slice_output_fixedr‰  Û  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&   )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„  rÁ  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ý  rh  r  rŒ  rˆ  rÏ  r  s              r;   Útest_list_slice_output_variabler�  û  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;   rG  rG  "  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;   rG  rG  #  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;   rG  rG  $  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 «       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   ŒlxY w# 1 sw Y   y xY w)Nr$   zP`start`(.*) should be greater than or equal to 0 and not greater than `stop`(.*)r.   r]   r%   z0`step` must be greater than or equal to 1, got: r‹   r   )r·  rz  )	r”   r¹   rê  r   r4   r5   r`  r@   r†  )r  ra  s     r;   Útest_list_slice_bad_parametersr™  /  s'  € Ü
�(‰(�Q�C�5œ"Ÿ(™(¤2§7¡7£9¨aÓ0Ó
1€Cð	+ð ô 
�‰”r—‘¨cÔ	2ñ "Ü
�‰�c˜2˜qÔ!÷"ä	�‰”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Õ)÷*ð *÷"ð "ú÷!ð !ú÷
)ð )ú÷*ð *ús0   Á&E"Â+E.Ã5E:Ä?FÅ"E+Å.E7Å:FÆF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#   r4  rà  )r”   r¹   r@   r  Úrun_end_decoderÎ   r  )r  Úrun_end_encode_optsrK   r  ÚencodedÚdecodeds         r;   Úcheck_run_end_encode_decoderŸ  B  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¡  K  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%   r4  )r]   r]   NNr]   Nr]   )éÿ   r£  NNr£  NÚoverflowr.   )r”   r¹   rè  Úpairwise_diffr  r   r
   r4   r5   r`  Úpairwise_diff_checkedr6  s      r;   Útest_pairwise_diffr§  h  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)Nrm  rk   )rk   rm  Údepth)r   Nrö  r   )rm  rk   )Ú	key_nameszUnexpected pivot key: depthr.   rl   )rª  rm   z(Encountered more than one non-null value)rk   rm  rk   )r@   Úpivot_widerr7  r?  r4   r5   ÚKeyErrorr2  )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#   rd  r%   r$   r'   r   gš™™™™™é?)
rø   r&   rø   rø   r   r#   rd  r%   r%   r'   )Úlower_limitÚupper_limitrà  )r”   r¹   r@   Ú	winsorizer-  rÇ   rq  s     r;   Útest_winsorizer²     st   € Ü
�(‰(Ò2Ó
3€Cä�\‰\˜#˜s CÓ(€FØ×ÑÓÒ!?Ò?Ð?Ð?ä�\‰\Ø”R×(Ñ(°SÀcÔJôL€Fà×ÑÓÒ!?Ò?Ð?Ñ?rE   )r$   râ   (  Úcollectionsr   rÿ  rC  Ú	functoolsr   r   rH   r¹  rX  r  r4   rú  rˆ  rð  Únumpyr  ÚImportErrorÚpandasr‹  rË   r”   Úpyarrow.computerè  r@   Úpyarrow.libr   r   Úpyarrow.substraitÚ	substraitÚpasr>  Ú__dict__r¬  rc  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ß   Úparametrizerã   rè   rö   rû   r   r  r
  r  r!  r%  r*  r0  r9  rF  rH  rM  rQ  rS  r\  r^  rb  ri  rq  ru  rp  r~  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_missingra  ri  rv  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(  r4  r6  r:  r?  rA  rE  rG  rQ  rU  rg  rs  ry  r  rƒ  r†  rŠ  r“  r¯  r¿  rÂ  rÍ  rÐ  rÕ  rÝ  rá  rã  ré  rñ  r÷  r  Údate32Údate64r  r  r  r  r  r  Údecimal_type_traitsr  r&  r,  r0  r5  rA  rö  rP  rh  rt  r{  rŒ   r–  rÀ  rÇ  rË  rÏ  ræ  rö  rý  r  r  r   r&  r)  r.  rC  rH  rK  r]  rk  rr  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,  r1  r7  r;  rd  ri  rs  r{  r}  r  r�  r   r‰  r�  r—  r™  rŸ  r   Úfloat16r˜   r¡  r§  r­  r²  )r>   r8   rO   s   000r;   ú<module>rÌ     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óñaBóðaBðH ‡�×Ñ˜ 4¨¨B°Ð"4Ó5ñ.ó 6ð.ò
(ð )*ô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ò#ò'ò'ò(ò8#ò#ò#ò#ò#ò#ò#ò#ò#ò#ò6ò6òEò9ð< ‡�×ÑÐ)¨?Ó;ñó <ðò2ò"##ðL ‡�×Ñ˜ U¨D MÓ2ñ*ó 3ð*ò3ð ‡�×ÑÐ)¨?Ó;ñ#ó <ð#ò(ò#ò"#ò:	1ð ‡�×ÑÐ)¨?Ó;ñó <ðð, ‡�×ÑØ‡�×ÑÐ)¨?Ó;ñDó <ó ðDò,ò&#ò(,ò&ò02ò1ò 1ð  ‡�×Ñ˜ ¨/Ð :Ó;ñ?ó <ð?ð< ‡�×Ñ˜ ¨/Ð :Ó;ñ!9ó <ð!9ðH ‡�×Ñ˜ ¨/Ð :Ó;ñ 9ó <ð 9òF'ò #ò#ò#ò	Ið ‡�×Ñ˜ Ð)<Ð=Ó>ñ-ó ?ð-ð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2ð( ‡�×ÑØ‡�×ÒñNAó ó ðNAôbHIðV ‡�×Ññ=ó ð=ò<1ð ‡�×Ñ˜Ò!8Ó9ñ	#ó :ð	#ð ‡�×ÑØ‡�×ÒñY&ó ó ðY&òxe8ðP ‡�×ÒØ‡�×Ñ˜ð "Eó Fà‡�×Ññ 9ó óFó ð 9ðF ‡�×ÑØ1ð	óð ‡�×Ññ8ó óð8ò:
(ò	DòDò&Dò(6òAò*'òFò)VòX5Yòp8ò&ò(Rò )òò&Kò?ò.ò0KòB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ó@/ó<*ð2 ‡�×ÑòRó ðRóHð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@øðK ò Ø	ƒBðûð
 ò Ø	ƒBðûð ò Ø
ƒCðüó4ùó.sQ   ¸AD ½AD+ ÁAD9 Á=AEÂ96AEÁDAD(ÁD'AD(ÁD+AD6ÁD5AD6ÁD9AEÁEAE