K ibXh ddlmZddlZddlZddlmZmZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlZ ddlZ ddlZddlZddlmZddlmZ ddlmZeej>jADcgc]\}}e!|dr|c}}Z"eej>jADcgc]1\}}e#|e$r#|ejJure&|ejJr|3c}}Z'ejPejRejTejVejXejZej\ej^gZ0dgdfde1d fd e1d fd e1d fd e1d fd e1d fde1d fde1d dfde1d dfdgdfdgdfdgdfdgdfejddgdfejfejPddgddgd dgddd ggfejhejRdggd!d dgddd ggfejjd"ejPfd#ejPfgddd$dddd$dd dd$gfgZ6d%Z7d&Z8d'Z9e jtjwd(d)Zd,Z?d-Z@d.ZAd/ZBe jtjd0ZCd1ZDd2ZEd3ZFd4ZGe jtjd5e0d6ZIe jtjd5ejddejddgd7ZLe jtjd5e0d8ZMe jtjd5ejddejddgd9ZNd:ZOd;ZPd<ZQd=ZRd>ZSd?ZTe jtjd@gdAe jdBe jdCdDfgdEe jdFddDfddGgdddDffdHZVdIZWdJZXdKZYdLZZdMZ[dNZ\dOZ]dPZ^dQZ_dRZ`dSZadTZbdUZcdVZddWZedXZfdYZgdZZhd[Zied\Zjd]d^hZkhd_Zlhd`ZmhdaZnhdbZmemenzekzekenemeldcZoe jtjddgdee jtjdfdgdhgdiZpdjZqdkZre jtj$dlZsdmZtdnZudoZvdpZwdqZxdrZye jtjdse6dtZzduZ{dvZ|e jtjdwdxdygdzZ}d{Z~e jtjdse6d|Zd}Zd~ZdZdZe jtjdse6dZe jtje jtjdse6dZdZdZdZdZdZe jtjdddgdZe jtjdddgdZe jtjdddgdZdZdZdZdZe jtjdddgdZe jtjdZe jtjdZdZdZdZdZe jtjd5e0dZe jtjd5e0dZdZdZdZe jtjdej<ej>gdZe jtjde0dZeddZeddZedejHdedejJdedejdedejdgZdZdZdZdZdZdZe jtje jtjdej^gee jtjdede jtjdeeeggddZe jtje jtjdej\ej^gee jtjdeddZdZe jtj$e jtjbdZddZe jtj$d„Ze jtjdgdĢdńZe jtj$e jtjbdƄZdDŽZe jtjbe jtjddȫe jtj$dɄZdʄZd˄Zd̄Zd̈́Zd΄ZdτZdЄZdфZd҄ZdӄZdԄZdՄZdքZdׄZd؄ZdلZe jtje jtjdd۫e jtjddݫdބZe jtje jtjdd۫e jtjddݫd߄Ze jtje jtjdde jtjddݫdZe jtje jtjdde jtjddݫdZdZdZdZdZdZdZdZdZdZe jtjddgdfdgdfdgdfdgdfgdZdZdZdZdZe jtjdZe jtje jtj8dZdZdZdZdZe jtjdddgdgdgddgfdddgdgdgdgfddddgdd gddgdgfdddgd gdgdgfddddgddgddgdgffe jtjdde jtjdejejRej^fe jtjdejfejhdfdZe jtjd d e jtjdde jtjdejejRej^fe jtjdejfejhdfd Ze jtjd d e jtjddddfdZdZddZe jtjdejPejRejejTejej\ej^ejHddejJddejddejddf e jtjddejejRejdejejTfdZdZdZdZy#e$rdZYwxYw#e$rdZYwxYw#e$rdZYwxYwcc}}wcc}}w() namedtupleN) lru_cachepartial)ArrowNotImplementedError__arrow_compute_function__bool)TFFTTuint8int8uint16int16uint32int32uint64 int64float)r皙?皙?333333?皙?doublestring)abNdddeebinary)abcsdddsee)sabcsbcdscdesdefsefg )r$r"r%rrrrc,t}t|dk\sJ|D]m}|j}|dr|d}|dk(r |turt gdz}nt g|z}t j td5||dddoy#1swYzxYw)Nroptions_requiredarityrr"zBGot unexpected argument type for compute functionmatch)exported_functionslenrEllipsisobjectpytestraises TypeError) functionsfuncdescr,argss `/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/pyarrow/tests/test_compute.pytest_exported_functionsr;^s #I y>R  .. " # W  A:  H H:>DH:%D ]]9"IJ  $K    s 9B  B ctD]5}tj|jd}|jdk7r5Jy)Nnamehash_aggregate)r/pc get_functionrkind)r7arrow_fs r: test_hash_aggregate_not_exportedrCxs?#0//$"A"A&"IJ||////0ct}t|dk\sJ|D]\}tj|}|jj D](}|j |j|jfvr(J^y)Nr) exported_option_classesr0inspect signature parametersvaluesrAVAR_POSITIONAL VAR_KEYWORD)classesclssigparams r:test_exported_option_classesrQs%G w<2  9$^^**, 9E::e&:&:&+&7&7&99 99 9 9rDztj@tjBdddtjDddtjFdd dtjHddtjJdd tjLd tjNd d!d"tjPd#d tjRtjTdd$g%tjVt jXd gtjZd&tj\dd d tj^d'gdtj`tjbdtjdtjfd(d)dtjhg*tjjtjltjnd+tjpd,tjrtjtd-d.tjvddd/tjxd0d1}|jzj|j~d2r$|jtjd3|Dchc] }t|}}tD]V}||vs|jzj|j~d2s,|tjk7s@ |j|X|D]}||k(sJt|j|jjsJ|j}tjj|}||k(sJt|jd5rt|jd6rJt|t|k(rJt||d dD] \}}||k7r Jttj t j"d d7k(sJttjd8k(sJycc}w#t$rtjd4|YwxYw)9NUTCFstart skip_nullsrcount_from_zero week_startTrVpatternr#) recursivefieldnamesr1r2)field_nullabilityfield_metadatafirstr periodat_startnull_placementheightraise)unexpected_key_behavior ascendingmax sort_keysri tiebreakerrprir$towards_infinitysecond)week_starts_mondaydrrmrp min_countdummy descending%Ysindices NFKC皙??rurXfirst_week_is_fully_in_yearr%0 timezone_dataEurope/LjubljanazOptions class is not tested: CumulativeSumOptionsCumulativeOptionszIndexOptions(value=int64:1)z7ArraySortOptions(order=Ascending, null_placement=AtEnd))Nr?ArraySortOptionsAssumeTimezoneOptions CastOptionssafepar r CountOptionsDayOfWeekOptionsDictionaryEncodeOptionsRunEndEncodeOptionsElementWiseAggregateOptionsExtractRegexOptionsExtractRegexSpanOptions FilterOptions IndexOptionsscalar JoinOptionsListSliceOptionsListFlattenOptionsMakeStructOptionsKeyValueMetadataMapLookupOptionsMatchSubstringOptions ModeOptions NullOptions PadOptionsPairwiseOptionsPartitionNthOptionsPivotWiderOptionsQuantileOptions RandomOptions RankOptionsRankQuantileOptionsReplaceSliceOptionsReplaceSubstringOptions RoundOptionsRoundBinaryOptionsRoundTemporalOptionsRoundToMultipleOptionsScalarAggregateOptionsSelectKOptionsSetLookupOptionsarray SkewOptions SliceOptions SortOptions SplitOptionsSplitPatternOptionsStrftimeOptionsStrptimeOptionsStructFieldOptions TakeOptionsTDigestOptions TrimOptionsUtf8NormalizeOptionsVarianceOptionsWinsorizeOptions WeekOptionsZeroFillOptionsconfigpyarrow is_enabledappendtyperFr5r3failrepr startswith __class____name__ serializeFunctionOptions deserializezip) requestoptionsoptionrMrNbuf deserializedoption1option2s r:test_option_class_equalityrs= =   '= BGGI&= 4E: =  = Ea@ = ""$=  = &&$7= y)= ""9-= =  ! %= = Ar1d+= .!=" gw/04d|-/-@-@#s-L-/-@-@#s-L-N O#=* BIIaL'2+=,   +-=. /=0 1=2 a3=4 !$5=6 q<7=8 hZI9=: ;=< ==> &0U D?=B .8 :C=F q!S)G=H ""3,I=J -.K=L 01M=N 8EO=P !!#'9:Q=R !!#S=T !(:';\!\;:\;cxttjdkDsJdtjvsJy)Nradd)r0r?list_functionsrDr:test_list_functionsrs5 r  " #b (( ( B%%' '' 'rDctj|}t||sJ|j}||k\sJ|t |j k(sJt fd|j DsJy)Nc36K|]}t|ywN) isinstance).0kerexpected_ker_clss r: z&_check_get_function..sISz#/0Is)r?r@r num_kernelsr0kernelsall)r=expected_func_clsrmin_num_kernelsr7ns ` r:_check_get_functionrsj ??4 D d- .. . A    DLL! !! ! IDLLI II IrDcXtdtjtjdy)Nr)rr?ScalarFunction ScalarKernelrrDr:test_get_function_scalarrsr00"//1ErDcXtdtjtjdy)Nuniquer)rr?VectorFunction VectorKernelrrDr:test_get_function_vectorrs""3"3R__aHrDcXtdtjtjdy)Nmeanr)rr?ScalarAggregateFunctionScalarAggregateKernelrrDr:"test_get_function_scalar_aggregater s : :00!5rDcXtdtjtjdy)Nhash_sumr#)rr?HashAggregateFunctionHashAggregateKernelrrDr: test_get_function_hash_aggregaters B$<$<..3rDctjgd}tjgd}|j|}t j d||gtj }tjgd}|j|sJ|j|sJt j||tj }|j|sJy)N)foobarbaz)r$r$r#take) memory_pool)rrr)rrnpr r? call_functiondefault_memory_poolequals)arrrresult1result2expectedresult3s r:#test_call_function_with_memory_poolrs ((( )Chhy!GhhwGvW~+-+A+A+CEGxx-.H >>( ## # >>( ## #ggc70F0F0HIG >>( ## #rDcrtjD]}tj|}|j|j |}t |t |usJ|j |j k(sJ|j|jk(sJ|j|jk(rJyr) r?rr@loadsdumpsrr=r,r pickle_moduler=r7 reconstructeds r:test_pickle_functionsr$s!!#=t$%++M,?,?,EF M"d4j000!!TYY...""djj000((D,<,<<<< =rDctjD]9} tt|}|j |j |}||ur9Jy#t$rYHwxYwr)r?rgetattrAttributeErrorrrrs r:test_pickle_global_functionsr/sj!!#% 2t$D&++M,?,?,EF $$$%   sA AAchtjD]}tj|}t|tjsJ|j |k(sJ|j }|jt|k(sJtd|DsJt||D] }t|y)Nc3PK|]}t|tj ywr)rr?Kernel)rrs r:rz+test_function_attributes..CsA#:c299-As$&) r?rr@rFunctionr=rrr0rr)r=r7rrs r:test_function_attributesr$;s!!# t$$ ,,,yyD   ,,3w<///AAAAA T  C I  rDctjddgddg}|jddgk(sJtjddgd}|jddgk(sJtjgddjgdk(sJy) Nr#r$r%r r&)rrNrTFN)r?r to_pylistequalrs r:test_input_type_conversionr*Is &&!Q!T #C ==?q$i '' ' &&!Q C ==?q!f $$ $ 88( $9;*= >> >rD arrow_typectjgd|}|jjdk(sJt j|jdk(sJtjgd|}|jjdk(sJt j|jdk(sJtjdg|}|jjJt j|jJ|jdjdk(sJt j|djdk(sJtjg|}|jjJ|jdjdk(sJt j|djdk(sJy)Nr#r$r"r%rrr#r$r"r%Nrry)rrsumas_pyr?r+rs r:test_sum_arrayr3Us ((>/ // / ((GFOWV_d;* MC 779??  ,, , 779>>/ // / ((GFOWV_5J GC 779??  5 55 5 779>>/ // / ((GFOWV_d;* MC 779??  5 55 5 779>>/ // / ((D6 +C 779??  $$ $ 779>>/ // / 77Q7  % % '4 // / 77Q7  $ $(: :: : ((2J 'C 779??  $$ $ 779>>/ // / 77Q7  % % '4 // / 77Q7  $ $(: :: :rDc|tjtjgd|g}tj|j dk(sJtjtjddg|tjddg|g}tj|j dk(sJtjtjddg|tjg|tjddg|g}tj|j dk(sJtjd|}|j d k(sJtj|j Jtj|d j d k(sJy) Nr-r.rr#r$r"r%rrry)r chunked_arrayrr?r0r1 num_chunksr2s r:test_sum_chunked_arrayrKsc  BHH\ CD EC 66#;   " $$ $   !Qj)288QF+L C 66#;   " $$ $   !Qj) *% !Qj) C 66#;   " $$ $  2J /C >>Q   66#;    && & 66# # ) ) +q 00 0rDc ddlm}tjj |r tj d|j ntjd|j }|d}|d}tjtj|d|dg| g}tj|j|k(sJtj|j|k(sJtjtj|dg| tj|dg| g}tj|j|k(sJtj|j|k(sJtjtj|dg| tjg| tj|dg| g}tj|j|k(sJtj|j|k(sJtjd | }|jdk(sJtj|jJtj|j|k(sJtj|d j|k(sJtj|d j|k(sJy) Nrr5r7r8r9r:r;r<r.rry)r=r6rr>r?r@rArBrIrr?r0r1rrJ)r+r6rCrDrFrs r:#test_sum_chunked_array_decimal_typerMsr 88 ! !* - b***+ ]]2z// 0 6?L 6?D   HHgfowv7j I  C 66#;   , .. . 66#;  1 11 1   '&/"4 '&/"4 C 66#;   , .. . 66#;  1 11 1   '&/"4 *% '&/"4 C 66#;   , .. . 66#;  1 11 1  2J /C >>Q   66#;    && & 66#;  1 11 1 66# # ) ) +t 33 3 66# # ( (,> >> >rDctjgdd}tj|}t |dk(sJ|dj dddk(sJtj|d}t |dk(sJ|dj dddk(sJ|dj d ddk(sJtjgd}t tj|dk(sJtjgd d}tj|d }t |dk(sJtj|d }t |dk(sJtj|d d}t |dk(sJtjdd g}tj|d}t |dk(sJ|dj d ddk(sJ|dj dddk(sJy)Nr#r#r"r%r"r rr.r#rr$modecountrr")r#r#r"r%r"NFrZr&ryr rVrzT)rrr?rQr0r1rrQs r:test_mode_arrayrVs ((%G 4C 773> 7==?q15 55 5 773! D t9>> 7==?q15 55 5 7==?q15 55 5 ((2G $C rwws|  !! ! (((w 7C 7735 )D t9>> 773! $D t9>> 7735A 6D t9>> ((D%= !C 773! D t9>> 7==?uq9 99 9 7==?ta8 88 8rDc.tjtjgddg}tj|}t |dk(sJ|dj dddk(sJtj|d}t |dk(sJ|dj dddk(sJ|dj d ddk(sJtjd d}|jdk(sJt tj|dk(sJy) NrOrr.r#rr$rPrSr"r)rrIrr?rQr0r1rJrUs r:test_mode_chunked_arrayrXs  BHH%7gFG HC 773> 7==?q15 55 5 773! D t9>> 7==?q15 55 5 7==?q15 55 5  2G ,C >>Q   rwws|  !! !rDcd}tjtj|5tjgdddtjgtj y#1swY3xYw)Nz@cannot construct ChunkedArray from empty vector and omitted typer-r.)r3r4r ArrowInvalidrIr )msgs r:test_empty_chunked_arrayr\sT LC rc 2 Rbggi(s A00A9cgd}tj|jdk(sJtj|djdk(sJtj|djdk(sJy)N)r#r$r"r%r r&rg@r)ddofr#g@)r?variancer1datas r: test_variancercsk #D ;;t  " " $ ,, , ;;t! $ * * , 44 4 ;;t! $ * * , 33 3rDc"gd}tj|jtjddk(sJtj|djJtj|djJy) Nr#r#Nr$g;f?绽|=relFrZr%ry)r?skewr1r3approxras r: test_skewrksr D 774=   FMM2C$O OO O 774E * 0 0 2 :: : 7741 % + + - 55 5rDc"gd}tj|jtjddk(sJtj|djJtj|djJy) NregrfrgFrZr%ry)r?kurtosisr1r3rjras r: test_kurtosisrnsr D ;;t  " " $ d(F FF F ;;t . 4 4 6 >> > ;;tq ) / / 1 99 9rDzinput, expected)?g@g@gD@NgIcݺ?gpՕ@)rirm)r#r$(gdV?rpctj|dd}tj|dd}|j|dk(sJ|j|dk(sJy)NTF)rVbiasedrirm)r?rirmr1)inputr arrow_skewarrow_kurtosiss r:test_unbiased_skew_and_kurtosisrv#s`4>J[[4FN    &!1 11 1    !Xj%9 99 9rDctjtjftjtjffD]\}}tj gd|}t j|d}tj gd|}||k(sJt j|dd}tj gd|}||k(rJy)N)abcababcabbaABNr.rx)r#r#r$rrNT ignore_case)r#r#r$rr#N)rrr large_stringrrr?count_substringtyoffsetrresultrs r:test_count_substringr3s))+rxxz2//+RXXZ8: " Vhh?bI##C.881?6!!!##C4@881?6!!! "rDctjtjftjtjffD]\}}tj gd|}t j|d}tj gd|}|j|sJt j|dd}tj gd|}|j|rJy)N)rxrybaAacaar{r|Nr.za+)r#r#r"r#rNTr})r#r#r$r#r#N) rrrrrrr?count_substring_regexrrs r:test_count_substring_regexrAs))+rxxz2//+RXXZ8: ' VhhAK))#t4881?v&&&))#tF881?v&&& 'rDc~tjtjtjtjfD]}tj gd|}t j|d}|jgdk(sJt j|d}|jgdk(sJtj gd|}t j|dd }|jgd k(sJt j|dd }|jgd k(rJy) N)rxryr{Nr.rx)rr#r\Nza?b)rr#rN)zab*zcAB*r{zaB?zaB*Tr})rr#r\r\)rr#rr) rrrr large_binaryrr?find_substringr'find_substring_regex)rrrs r:test_find_substringrOsyy{BIIK):BOOFxx34H ??6 "" "rDctjgd}tj|d}tjgd}|j |sJtjgd}tj|dd}tjgd}|j |sJtj|dd}tjgd}|j |sJy) N)rxrr{cNz^a?b)TTTFN)rAbcBArNTr}F)FFFFN)rrr?match_substring_regexrrs r:test_match_substring_regexr~s ((1 2C  % %c6 2Fxx78H ??6 "" " ((1 2C  % %c6t DFxx78H ??6 "" "  % %c6u EFxx:;H ??6 "" "rDctjgd}tj|}tjgd}|j |sJtjgd}tj |}tjgd}|j |sJtjgd}tj |d}tjgd}|j |sJtj |d}tjgd}|j |sJy)N) fooNu  foo bar )rNfoo bar)rNu  foo baru f ) characters)ooNzoo bar )rrr?utf8_trim_whitespacerascii_trim_whitespace utf8_trimrs r: test_trimrs ((6 7C  $ $S )Fxx01H ??6 "" " ((6 7C  % %c *Fxx67H ??6 "" " ((6 7C \\#* 5Fxx12H ??6 "" " \\#z *Fxx12H ??6 "" "rDc tjgd}tddD]}tjtdddgD]}dD]}tj|Dcgc]}|j |||c}}t j||||}|j|sJt j|||||k(rJycc}w)N)u𝑓u𝑓öu𝑓öõu 𝑓öõḍu 𝑓öõḍšr&)r\r#r$r"rUstopstep) rrrange itertoolschainr1r?utf8_slice_codeunitsr)rrUrrkrrs r:test_slice_compatibilityrs ((U VCr1 LOOE"aL4&9 LD- L88.1%3)*&'WWYuT$%?%3400u4d<v.....s/4dDBEKLLL L L L%3s#Cc gd}tj|}tjt ddt ddt ddD])\}}}|dk(rtj|Dcgc]}|j |||c}}t j||||}|j|sJt j|||||k(sJ|D]}tj|tjt|} ||||}t j| |||} | jtjt|k(sJ| j |k(rJ,ycc}w) N)rDrsasabsabcsabderr&rr%rrr.) rrrproductrr1r? binary_slicerrrr0r) rbrrUrrrrritem fsb_scalaractuals r:test_binary_slice_compatibilityrs^ DD ((4.C&..uR|/4R|/4R|=.tT 19 88&)+!"WWYuT$7+, u4d4v&&&sE46&@@@ .D4biiD .BCJE$tO,H__ZdCF;;"))CM":: ::<<>X- --  .. +s0E= ctjddg}tj|d}tjddggdg}|j |sJtj|dd }tjddgd d gg}|j |sJtj|ddd }tjddgddgg}|j |sJy)N -foo---bar-- ---foo---b---r[z-foozbar--rrrr# max_splitsrfoo---bTrreversez---foor)rrr? split_patternrrs r:test_split_patternrs ((NL1 2C   c5 1Fxx&'*,<=>H ??6 "" "   c5Q 7Fxx&'*RO<=H ??6 "" "   c5Q EFxx&'*XsO<=H ??6 "" "rDctjddg}tj|}tjddggdg}|j |sJtj|d}tjddgdd gg}|j |sJtj|dd }tjddgd d gg}|j |sJy)Nr foo   brrrr#rr foo   bTrrr)rrr?utf8_split_whitespacerrs r:test_split_whitespace_utf8rs ((I01 2C  % %c *Fxx%)9:;H ??6 "" "  % %ca 8Fxx%".>)?@AH ??6 "" "  % %ca FFxx%&#78H ??6 "" "rDctjddg}tj|}tjddggdg}|j |sJtj|d}tjddgdd gg}|j |sJtj|dd }tjddgd d gg}|j |sJy)Nrrrr)rru rr#rrrTru foo  r)rrr?ascii_split_whitespacerrs r:test_split_whitespace_asciirs ((I01 2C  & &s +Fxx%)CDEH ??6 "" "  & &sq 9Fxx%".>)?@AH ??6 "" "  & &sq$ GFxx%.#)>?@H ??6 "" "rDctjddg}tj|d}tjgdgdg}|j |sJtj|dd}tjd d gd d gg}|j |sJt j td 5tj|ddd}dddy#1swYyxYw)Nrrz-+r)rrrrrr#rrz foo---bar--rz"Cannot split in reverse with regexr-rT)r[rr)rrr?split_pattern_regexrr3r4NotImplementedErrorrs r:test_split_pattern_regexrs ((NL1 2C  # #C 6Fxx/1ABCH ??6 "" "  # #C! ?H ??6 "" " *A C<'' 1d<<<C!!C*cgd}tj|}|jdddk(sJtj|tj}|jdddk(sJtj|tjd}|jdddk(sJtj|tjd}|jdddk(sJtj|d di}|jdddk(sJtj|d}|jdddk(sJt j t 5tj|tjd }dddtj}t j t 5tj||}dddt j t d 5tj}dddy#1swYxYw#1swYNxYw#1swYyxYw) N)r%r r&Nr#r#r&)minrnrTrZFrV)rrVzmin_max takes 1 positionalr-)r?min_maxr1rr3r4r5r)rbrrs r: test_min_maxrs D 4A 779!, ,, , 4!:!:!<=A 779!, ,, , 4!:!:d!KLA 779!, ,, , 4!:!:e!LMA 779T2 22 2 4,!67A 779T2 22 2 4E*A 779T2 22 2 y !I JJ "335% II nnG y !. JJtW -. y(D E JJLII ..s$2+H+H7 I+H47II ctjdd}tjgd}tj|j Jtj|dj dusJtj||j dusJtjgd}tj|j d usJtj||j d usJtjgd }tj|j dusJtj||j Jy) NFrrTrr.ryr)FNTT)FNF)r?rrranyr1rrs r:test_anyr)s''5AFG &!A 66!9??  $$ $ 66!q ! ' ' )U 22 2 66!W % + + - 66 6 $%A 66!9??  $$ $ 66!W % + + - 55 5 %&A 66!9??  %% % 66!W % + + - 55 5rDctjdd}tjgd}tj|j Jtj|dj dusJtj||j dusJtjddg}tj|j dusJtj||j dusJtjddg}tj|j dusJtj||j Jtj dgddgg}tj|j dusJtj||j Jtj dgdgg}tj|j dusJtj||j dusJy) NFrrTrr.ryTr)r?rrrrr1rIrs r:test_allr<s''5AFG &!A 66!9??  $$ $ 66!q ! ' ' )T 11 1 66!W % + + - 55 5 %A 66!9??  %% % 66!W % + + - 66 6 $A 66!9??  $$ $ 66!W % + + - 55 5 4&4,/0A 66!9??  $$ $ 66!W % + + - 55 5 4&5'*+A 66!9??  %% % 66!W % + + - 66 6rDcgd}tj|jgdk(sJtjt 5tj|ddddy#1swYyxYw)Nr%r N)TTFr)r?is_validr'r3r4r5ras r: test_is_validrWsW D ;;t  & & (,? ?? ? y !( D$'(((s A))A2ctjjtjdk(sJtj jtjdk(sJtj jtjdk(sJtjjtjdk(sJy)Nas 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. 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) [ "a", "e" ] >>> arr.filter(mask, null_selection_behavior='emit_null') [ "a", null, "e" ] )r?r__doc__textwrapdedentrmin_element_wisefilterrrDr:test_generated_docstringsr`s ::  2 "    , 66>>X__.     "    & &(//; +    $ 99  '1 '! ' ' ' rDchtjtj}t |dk(sJtjtj }t |dk(sJtjtj }t |dk(sJtjtj}t |dk(sJtjtj}t |dk(sJtjtj}t |dk(sJy)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)) rGrHr?rstrrquantilebinary_join_element_wisechooserandom)rOs r:test_generated_signaturesrs   BFF #C s87 77 7   BJJ 'C s8: ;; ;   BKK (C s8: ;; ;   B77 8C s8, -- -   BII &C s8@ @@ @   BII &C s8: ;; ;rDcvt}tddDcgc]}d|cxkrdks nt|}}tjt j |j}t|D]6\}}|||jk7s|jt|8|Scc}w)N) setrchrr?utf8_is_printablerrr' enumerate isprintablerord)newrr is_printableis r:find_new_unicode_codepointsrs %C"'g"61Q A..a&1J1''(<=GGIL*%1 ?ammo - GGCFO J 1sB6ii>,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]]^^__`abcdefghijpq xz|,},   霦靦>HNNQ4oN N _ O ___!*8,0ASCSDSESFQFLSLcLM;]NiQkQkmQpOsxxz^~v4醀NNNs鮌鳌NNSSSSgVNNXX^b^>l@ A B C ``$aa$bb$cc$dd$ee$ff$gg$hh$ijklmnopp qt t$u u$v v$v'w w$w'x x$x'y y$y'z$z'{${'|$|'}'~' ' ' ' ' ' ' ' ' $' $$'$'$'$'$'$'$'''$$$$$$$$$$$>Arrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr)is_alnumis_alphais_digit is_numericis_lower function_name) rIrJis_ascii is_decimalrKrMrLris_spaceis_uppervariantasciiutf8c|dz|z}|jdd}tj|tt z}t t rdndD]}|t ddvr||vrt|}tt|s3|dk7s9tj|g}tt|}||djt||k(rJy) N_rrrrrrQr)replacecodepoints_ignoregetrrrrTrhasattrr?rrrr1) rNrS arrow_namepy_nameignorerrar arrow_funcs r:test_string_py_compat_booleanraHs3.J##C,G  " "=#% 8#%&F %3W - F ff% %  ;  F 2z "} 'B1#B Z0Jb>!$**,0C70C0EE EE FrDcttjgd}tj|dj gdk(sJtj |dj gdk(sJtj |dj gdk(sJtj|dj gdk(sJtj |dj gdk(sJtj |dj gdk(sJtjgd}tj|dj gdk(sJtj|dj gd k(sJtj|dj gd k(sJtj|dj gdk(sJtj|dj gd k(sJtj|dj gd k(sJy) N)Nrabcdr"width)Nz a rc)Nz arc)Nza rc)Nárc)Nu á rc)Nu árc)Nuá rc) rrr? ascii_centertolist ascii_lpad ascii_rpad utf8_center utf8_lpad utf8_rpadr)s r:test_padrnbs ((& 'C ??3a ( / / 15J JJ J ==A & - - /3H HH H ==A & - - /3H HH H ??3 " ) ) +/D DD D ==a ' ' )-B BB B ==a ' ' )-B BB B ((' (C >>#Q ' . . 04J JJ J <<1 % , , .2H HH H <<1 % , , .2H HH H >>#q ! ( ( *.D DD D <<Q  & & (,B BB B <<Q  & & (,B BB BrDctjtjusJgd}tddD]s}t j |}tj||j }|Dcgc]}||j|nd}}||k(reJd|d|d|t j gd}tj|tjd d  j }|gd k(sJt j gd}tj|tjdd  j }|gdk(sJt j dg}tjtjd5tj|tjdd  dddtjtjd5tj|tjdd  dddycc}w#1swYixYw#1swYyxYw)N)Ar|ABCr-1z+1r`Nrr&rdzMismatch at width=z: z vs )r`z-2z+3r u💠)repaddingr)u💠💠💠💠1u-💠💠💠2u+💠💠💠3r%x)xxx1z-xx2z+xx3rzPadding must be one codepointr-spamr) r? utf8_zfillutf8_zero_fillrrrr'zfillrr3r4rZ)examplesrerrrtrs r:test_utf8_zfillr{ts ==B-- -- -=Hq!Xhhx ""3e4>>@GOP!amAGGEN=PP!W%7wbXJ#WW! X (($ %C   sB,>,>-!""+)+ N NN N (($ %C   sB,>,>-(y{ - -- - ((E7 C r.M NT #r'9'96'RST r.M NP #r'9'92'NOPP'Q"TTPPs4H(-H-2-H9-H69IcVtdd}tjgd}|jj t j tjdi}|D]}|D]x}|jj||d}tj|||d}|j|jk(sJtj|||d|k(rxJtjgd}|jj t j tjdi}|D]b}|D][}|jj||d}tj|||d}|j|jk(r[Jdy)Nrr%)NrrrxrrcabcdeXX)rUr replacement)Nruπuπbuπbθuπbθduπbθde)rrr to_pandasastyper2rXr nanr slice_replacer?binary_replace_slicerhutf8_replace_slice)offsetsrseriesrUrrrs r:test_replace_slicersvBlG ((@ AC ]]_ # #F + 3 3RVVTN CFM MDzz//tTBH,,5t?F==?hoo&77 77**3tTBfL LL  MM ((H IC ]]_ # #F + 3 3RVVTN CF8 8Dzz//tTBH**5t?F==?hoo&77 77  88rDctjgd}tj|dd}|j gdk(sJtj|dd}|j gdk(sJtj|ddd}|j gdk(sJtj|ddd }|j gdk(sJy) N)foozfoofoodNrrr[r)barzbarbardNr#)r[rmax_replacements)barzfoorN)r)rrr?replace_substringrh)rbr_s r:test_replace_plainrs 88- .D  dEu EB 99;3 33 3  dE5 1B 99;3 33 3  dEu/0 2B 99;3 33 3  dE51 EB 99;3 33 3rDcFtjgd}gd}tj|dd}|j |k(sJtj|dd}|j |k(sJtj|dd}|j |k(sJy)N)rmoodN)f00m00dNz(.)ooz\100r)r)rrr?replace_substring_regexrh)rbrr_s r:test_replace_regexrs 88) *D$H # #D'w OB 99;( "" " # #D'w GB 99;( "" " # #D'7 ;B 99;( "" "rDctjddg}ddddddg}tj|d }|j |k(sJtj|d}|j |k(sJy) Na1zb2zrr`letterdigitrraz(?P[ab])(?P\d)r)rrr? extract_regexrhr_rstructs r:test_extract_regexrsv 4. !B-#/LMH   b*J KF ==?h && &   b"B CF ==?h && &rDctjddg}ddgddgdddgddgdg}tj|d }|j |k(sJtj|d}|j |k(sJy) Nrzb234zrr#rr$r"z(?P[ab])(?P\d+)r)rrr?extract_regex_spanrhrs r:test_extract_regex_spanrs 4" #Bq6QF3q6QF35H  " "2/P QF ==?h && &  " "2'H IF ==?h && &rDc2tjddgdgg}tjgd}tj|dj |sJtjddgtj }tjdd gtj }tjd d gd d ggtj tj }tj||j |sJy)Nrr)zfoo-barNr-r`rar.a1bc2drrrd)rrr? binary_joinrrlist_)ar_listrseparator_arrays r:test_binary_joinrshhb12Gxx-.H >>'3 ' . .x 88 8hhSz >'? 3 : :8 DD DrDctjdtj}gdgdgdg}tj|j gdk(sJtjdddj d k(sJtjd|dj Jtjdd|j Jtjd }tj|d |ij gd k(sJtjddd|j d k(sJtjd|d|j dk(sJtjdd||j Jtjdd}tj|d |ij gdk(sJtjddd|j d k(sJtjd|d|j dk(sJtjdd||j Jy)Nr.)Nrr)rNr)Nrz--)NNb--drrrza-bskip) null_handlingr)NrrrrXrv)rnull_replacement)Na-spamrr)rrrr?rr'r1r)nullarrsrrXs r:test_binary_join_element_wisersO 99T ,D .0A BD & & - 7 7 9   & &sC 5 ; ; = FF F & &sD# 6 < < > FF F & &sC 6 < < > FF F >> /D & & ;d ; E E G   & & S#t %%*UW 66 6 & & T3 &&+eg 55 5 & & S$ &&+eg 66 6nn9vNG & & >g > H H J  !! ! & & S#w ((-5 99 9 & & T3 )).H == = & & S$ )). 99 9rD)rrJctj||}tjtjfD]}tjgd|}|j |}|j tj|d|d|ddg|}|j |sJtjg|}|j |}|j tjg|}|j |rJtjddg}tjt5|j |dddtjddg}tjt5|j |dddy#1swYTxYw#1swYyxYw)Nr.rr%r$Nrr%r$r r\) rrr rr validaterr3r4 IndexError)rrJr indices_typerrrs r: test_takersd ((6 #CBHHJ/ ' ((?>'"88VAYq 6!9dC"M}}X&&&((2L1'"88BR(}}X&&& 'hh1vG z " hh2wG z "  sF-F9-F69Gc tjtd}dD]f}tjgd|}|j|}|j tjgd}|j |rfJtj tjfD]N}tjgd|}tjt5|j|dddPy#1swY[xYw)Nr )r r r r rrrrrr.)rr%r$) rrrr rrfloat32float64r3r4r)rrrrrs r:test_take_indices_typesrs ((58 C?' ((?>'"88O,}}X&&& 'rzz|4 ((9<8 ]]. /  HHW     s 'DD ctjgdgdg}tjgd}|j|}tjgdg}|j |sJtjdgddgg}|j|}tjdgd d gg}|j |sJy) N)rrrre)fghrj)rr r#r&r'r$)rrrrrrr#r'r$rrr)rrIrr r)rrrrs r:test_take_on_chunked_arrayr,s     C"hh)*G XXg F!? @AH == "" "aV}-G XXg F     !H == "" "rDorderedFTc`tjjgdgd|}|jtjgd}|j |j gdk(sJ|jj gdk(sJ|jj|usJy)N)rr#r$rr#r$rrr)r)rr#r")rrr) rDictionaryArray from_arraysr rrr' dictionaryrr)rrrs r:test_take_dictionaryrRs   ( ();_18 ) :C XXbhhy) *F OO     00 0    & & (O ;; ; ;;  ' )) )rDc2tjdgdz}tjdgdzgdz}tj|gdg}tjd|i}tjgd}t |j |dk(sJt |j |dk(sJt |j |jddk(sJt |j |jddk(sJy) Nrr r$rr_)r#r"r^Nr%r)rrrI record_batchtabler0r column)r chunked_arrbatchrrs r:test_take_null_typer]s ((D6B; C""TFQJs B#%B#ctjddggddggg}tjdgddgggg}|j}|j|sJy)NrrrNrr)rrIrr)r expected_droprs r:test_drop_null_chunked_arrayrus^  S$K)9D62F GC$$sec3ZR%@AM ]]_F == '' 'rDcXtjtjgdgdg}|j}tjtjgdgdg}|j |sJtjtjgdtjgdgddg}|j}tjtjdgtjdggddg}|j |sJy)NrNrrNa'rrrr)NNrNrzb'r)rrrrr)rrrs r:test_drop_null_record_batchr}s OO - ./v ?E __ F 9:4&IH == "" " OO - . . / 19=t  FE__ F 3%"((C5/*4,@H == "" "rDc tjtjgdgdg}tjtjgdgdg}|j}|j |sJtjtj ddggdgtj ddggdgtj dgdgdgddggggd }tjtjddgtjddgtjddgggd }|j}|j |sJtjtj ddggd gtj d gd gdgd dggtj ddggdgggd }tjtjddgtjd d gtjddgggd }|j}|j |sJy)Nrrrrr)NrNrrrrrrrpBDza`)zc`d`Nr)rrrrrrI)rrrs r:test_drop_null_tablers HHbhh:;RH II I 88O $D * + 4 88' (D z)F G 4  sE-E9-E69Fctj||}tjgd}|j|d}|j |j tj|d|dg|sJy)Nr.rrrrr")rrr rrrrs r:test_filter_numpy_array_maskrsi ((6 #C 884 5D ZZfZ =F OO ==6!9fQi"8rB CC CrDctjddggdg}tjdgdgg}tjdgddgg}tjgdtjgdddgggdfD]L}|j|}|j |sJ|j|d }|j |rLJy) NrrrTFNFTr&FTrr)rrIrrr)rr expected_nullrrs r:test_filter_chunked_arrayrs  S$K9 :C$$secU^4M$$sedC[%9:M 12 -t}=>(  ,D!}}]+++D+F}}]+++ ,rDc\tjtjgdgdg}tjgd}|j|}tjtjddggdg}|j |sJtj ddgdgddgg}|j|}|j |sJ|j|d }tjtjgd gdg}|j |sJy) NrNrrrrrrrrTFrrrNr)rrrrrrI)rrrr chunked_masks r:test_filter_record_batchrs OO , -.tf >E 884 5D \\$ F#s 45dVDH == "" "##dE]TFUDM$JKL \\, 'F == "" " \\$ \ DF)9 :;D6JH == "" "rDc tjtjgdgdg}tjtjddggdg}tjtjgdgdg}tjgdtjddggd ggdfD]L}|j |}|j |sJ|j |d }|j |rLJy) NrrrrrrTF)NFTrr)rrrrIrr)rrrrrs r:test_filter_tablers HHbhh9:;C5 IEHHbhhSz23C5AMHHbhh'789#GM 12 4-)<=>(  ,d#}}]+++dKH}}]+++ ,rDc4tjddggdg}tjtjgdgdg}tjtjgdgdg}|||fD]}tjgd}t j t5|j|dddtjgd}t j tjd 5|j|dddtjd }|||fD]5}t j t5|j|ddd7y#1swYxYw#1swYxYw#1swY[xYw) Nrrrrrrrrr-T) rrIrrrr3r4rrrZrr5)rrrobjrrfilts r:test_filter_errorsr sR  S$K9 :C OO , -.tf >E HHbhh9:;C5 IEUE" xx( ]]. /  JJt  xx+, ]]2??!>@  JJt    YYt_Fv& ]]9 %  LL           s$0E5FF5E> F F c8tjdgdz}tjdgdzgdz}tj|gdg}tjd|i}tjddgdz}t |j |dk(sJt |j |dk(sJt |j |jddk(sJt |j |jddk(sJy) Nrr r$rrTFr)rrrIrrr0rr)rrrrrs r:test_filter_null_typer+s ((D6B; C""TFQJ.con<88F# #rDc.tj|gSrrrIrs r:rztest_compare_array..con?##VH- -rDr/)r#r#r%Nr%)TFFNN)FTTNN)FFTNN)TFTNN)FTFNN)TTFNN)r?r(r not_equalless less_equalgreater greater_equal)rrarr1arr2rs r:test_compare_arrayr 9s g~ $ . ! "D ! "D XXdD !F ===> ?? ? \\$ %F ==<= >> > WWT4 F ===> ?? ? ]]4 &F ==<= >> > ZZd #F ===> ?? ?   dD )F ==<= >> >rDcj|dk(rd}nd}|gd}tjd}tj||}|j |gdsJ|dk(r]tjdd}tj||}tj |}|j |gd sJtj ||}|j |gd sJtj||}|j |gd sJtj||}|j |gd sJtj||}|j |gd sJtj||}|j |gdsJy)Nrc,tj|Srrrs r:rz'test_compare_string_scalar..con[rrDc.tj|gSrrrs r:rz'test_compare_string_scalar..con^rrD)rrrNrFTFNrr.)TTTTTFTNTFFNrFFTNFTTN) rrr?r(ris_nullrrrrr)rrrrrnascalarisnulls r:test_compare_string_scalarr,Xsl g~ $ . # $C YYs^F XXc6 "F ==78 99 9 g~99T1#x(F#}}S!9:;;; \\#v &F ==67 88 8 WWS& !F ==78 99 9 ]]3 'F ==67 88 8 ZZV $F ==78 99 9   c6 *F ==67 88 8rDc8|dk(rd}nd}|gd}tjd}tj||}|j |gdsJ|dk(rDtjdd}tj||}|j gd k(sJtj ||}|j |gd sJtj||}|j |gd sJtj||}|j |gd sJtj||}|j |gd sJtj||}|j |gdsJy)Nrc,tj|Srrrs r:rz test_compare_scalar..conrrDc.tj|gSrrrs r:rz test_compare_scalar..conrrDr#r$r"Nr$r$rr.NNNNr%r&rr'r() rrr?r(rr'rrrrr)rrrrrr*s r:test_compare_scalarr2}s] g~ $ . o C YYq\F XXc6 "F ==78 99 9 g~99T0#x(!%==== \\#v &F ==67 88 8 WWS& !F ==78 99 9 ]]3 'F ==67 88 8 ZZV $F ==78 99 9   c6 *F ==67 88 8rDcFtjgd}tjgdddgg}tjddggdg}tjgdg}||f||f||ffD].\}}tj||}|j |r.Jy)Nr/r#r$r"r%r#r$)r"r%N)TTTTN)rrrIr?r(r)r arr_chunked arr_chunked2rleftrightrs r: test_compare_chunked_array_mixedr9s ((% &C""I4y#9:K##aV\$:;L!? @AH k c l#' e $&}}X&&& 'rDctjgd}tjgd}tj||}tjgd}|j |sJy)Nr#r$r"r%r rr\r#r$r")r#r#r%r&r)rrr?rrr7r8rrs r:test_arithmetic_addr>sO 88O $D HH% &E VVD% Fxx(H == "" "rDctjgd}tjgd}tj||}tjgd}|j |sJy)Nr;r<)r#r"r$r$r$)rrr?subtractrr=s r:test_arithmetic_subtractrAsO 88O $D HH% &E [[u %Fxx(H == "" "rDctjgd}tjgd}tj||}tjgd}|j |sJy)Nr;r<)rrr"r)rrr?multiplyrr=s r:test_arithmetic_multiplyrEsP 88O $D HH% &E [[u %Fxx)*H == "" "rDrroundround_to_multiplec |dk(r,tj}ttjd}n0|dk(r+tj}ttj d}gd}gdgd gd gd gd gd gdgdgdgdd }|j D]T\}}|}||}tj|tj} | j|rTJy)NrFrndigitsrGr#multiple)g @ @皙 @@皙 g g N)r"r"r"r%rQrQN)r%r%r%r rrrN)r"r"r"r%rrrN)r%r%r%r rQrQrQN)r"r"r%r%rrQrQN)r"r%r%r rrrQN)r"r"r%r%rrrQN)r"r%r%r rrQrQN)r"r%r%r%rrQrQN)r"r"r%r rrrQN) downup towards_zerors half_downhalf_uphalf_towards_zerohalf_towards_infinity half_to_even half_to_odd round_moderr.) r?rFrrrGritemsrrrr) rrFrrJrmode_and_expectedr\rrrexpected_arrays r:test_round_to_integerr`s W}r: " "$$r881E 9F.,6:31;!?65 !3 8 8 :- H*5vw/(>$$V,,, -rDcgd}gdgdgdgdgdd}|jD]\}}tj|d}tj|| }tj j |tj|d tj||d |k(sJtj||d|k(rJy) N@rMg@rOgV- g):ˏAg\(\Ni,rrrrrrNrcrrrrirN)rcr%r"r rirNrcrM@rOrP̌ArN)rcrMgp= ף@rOgGz g(\AffffffN)rr\rr#r$rXrT equal_nanr[) r]r?rrFr testingassert_allcloserr)rJndigits_and_expectedrJrrrs r: test_roundros CF , - , 6 < 2779L//'+BC&'2 ""6288H+="Nxx#: ""6288H+="N##FH$;=@FG GG GBIIe,-< ]]2??!EG <  ( ; < << 45< ]]9,J K <  ( ; < <<  < <  < H == "" " ((Aq!T5<0 1C [[]Fxx:;H == "" " [[T[ *Fxx9:H == "" "rDc jtjddddtdg}|j}tjgd}|j |sJtjgdtj }t jtd 5|j}dddt jtd 5tjgd tj}|j}dddy#1swYixYw#1swYyxYw) Nr#r$r"r)FFFNT)r`raNr.z"has no kernel matching input typesr-rbbN) rrris_nanrrr3r4rr)rrrrWs r: test_is_nanrCs ((Aq!T5<0 1C ZZ\Fxx9:H == "" " ((#"))+ 6C  $,P R JJL  $,P Rhh*1BC JJL s$D ?C ]]5 !Fxx-BOO4EFH == "" " (($ %C ]]4 Fxx)*H == "" "/""s ;II cttjgd|}tjd|}|j|}tjgd|}|j |sJ|jd}|j |sJtj j |js9tjttf5|jdddd|jtjdd}|j |sJy#1swYCxYw)Nrr.r )r#r$r r%5r ) rrrrrr>is_unsigned_integerrr3r4rr5)r+rrrrs r:test_fill_null_arrayrqs ((? 4C1:.J ]]: &Fxx :6H == "" "]]1 F == "" " 88 ' ' 1 ]]J 2 3  MM#  ]]299QV4 5F == "" "   s D..D7ctjd|}tjtjgd|g}|j |}tjtjgd|g}|j |sJtjtjddg|tjg|tjddg|g}tjtjddg|tjg|tjddg|g}|j |}|j |sJ|j d}|j |sJ|j tjdd}|j |sJy) Nr r.)Nr$r"r%)r r$r"r%r#r$r%r )rrrIrrr)r+rrrrs r:test_fill_null_chunked_arrayrsm1:.J  BHH_:FG HC ]]: &F,Z!H IJH == "" "   !Qj) *% $, C  !Qj) *% !Qj)!H ]]: &F == "" "]]1 F == "" " ]]299QV4 5F == "" "rDctjgd}tjgd}tj||tjgdk(sJtj||tjgdk(sJtj ||tjgdk(sJtj ||tjgdk(sJtj||tjgdk(sJtj|tjgdk(sJy)Nr&)TTFTrr$r() rrr?and_ and_kleeneor_ or_kleenexorinvertr)s r: test_logicalrs +,A *+A 771a=BHH%?@ @@ @ ==A "((+E"F FF F 66!Q<288$=> >> > <<1 *C!D DD D 66!Q<288$>? ?? ? 99Q<288$=> >> >rDctjgd}|j}tj|}||k7sJ||k(sJ|tj|k(sJtj||k(sJy)N)rrrrr)rrdictionary_encoder?dictionary_decode)rdictionary_arraydictionary_array_decodes r:test_dictionary_decoders HH. /E..0 223CD $ $$ $ + ++ + B((/ // /   0 15E EE ErDctjgdd}tjtj}t j t5tj|ddddt j t5tj|d|dddt j t5tj|d|dddtj||tjgdd k(sJtjd gd}tjtjd }t j tj5tj|ddddtj|dd tjdgdk(sJtj||tjdgdk(sJtjtjdddtjdddg}tjddgd}tj|d|k(sJtjddggdgtjtj}tjddggdgtjtj}tj||j |k(sJy#1swYxYw#1swYxYw#1swY^xYw#1swYxYw)Nr-rr.) target_typerrT)rrr l)allow_int_overflowFrr\ir#ilx\Nl0E*z timestamp[ms]r$)r"r%r r`ra)34r)rrr?rr r3r4r5castrrrZdatetime large_listrrUr)rrallow_overflow_optionsrs r: test_castrs} ((rz qvvrDcase_generator) integralsrealsrc tj5}|||jD]I}t||j|j |j |j||jK dddy#1swYyxYwr)r= localcontextrrrrrrA)rrrctxcases r:test_cast_float_to_decimalrwsw    /3"8Z-E-EF /D '$..""4>>4::>Z-- / ////s A A??Bdecimal_traitsc|jSrrrs r:rrrrDc tjd}tjtjtj tj i|}tjdtj di|}tjdtj di|\}}t jt jd|z}|j}||krVt jt jd|z}t jt jd|z}tj5} |} | | _ t| | t jt jd|zz} t!|t jt jd|z} t#| | D]c} |j%| | }| t jt jd| | z zz}||cxkr|ksJJt#dD]}|j'd d|z}t j(|||}t+||sJ|d k\rtj,|d|zz}ntj,|d| zz }t/|j1| }t3j4tj6|| |j9}t/|j1| }t;||z d krJf d d d y #1swYy xYw) zL Test float-to-decimal conversion against exactly generated values. +5)i)iir$rr rr.r#N)rrrrr rmathfloorlog10rlog2r=rrrnceilrrrrldexprr6rFrr?rrr1r)rrr np_float_ty mantissa_bits float_exp_min float_exp_maxrrrr min_scale max_scalerAr float_exprmantissarrexpected_as_intr actual_as_ints r:!test_cast_float_to_decimal_randomrs  bA bjj bjjK b bM k m$$ M=jjA},O"00M& 499R->#?@ **TZZ=0@%AB    "A3# !DIIdjjM9I.J$KKM   4::a.>#?@B 9i0 AE'// 5AJ (DIIb9u3D.E$FGHI I>> >> >>1X A;;q!]*:;HH[%:IF !)[999>&x81i<GH&x81yj=HH"'(>"?IIih7EEJUW %fmmE&: ; =?:;q@@@ A A"A"A"As"G$MMM c tjgd}tj|dd}tjt jddddt jdd d gtj d }||k(sJtj|dd |k(sJtjt jdddddgtj d }tj|d dd}||k(sJt jtjd5tj|ddddddt jtjd5tj|dddddtj|ddd}|tjgdtj d k(sJy#1swYxYw#1swY`xYw)N)z5/1/2020Nz 12/13/1900z%m/%d/%Yr)formatunitir r#il r.rz%d/%m/%YT)rr error_is_nullz"Failed to parse string: '5/1/2020'r-z%Y-%m-%dF)NNN) rrr?strptimer timestampr3r4rZ)rgotrs r: test_strptimers ((3 4C ++c*3 7Cxx   4A &h.?.?b".MN \\#  H (?? ;;sJS 1S 88 8xx**4A6dC\\#.0H ++c*3d KC (?? rA CK C EJK rA C6 C 56 ++c*3d KC "((-BLL4EF FF FKK66s2G%9G1%G.1G:c  gd}gd}gd}tjdk7r|jgd|D]$}tj|j |}dD]}t j|t j||}|D]~}tj|}tj||} t j|j|j| j} | j| r~Jd }t j|t jd |}tj|tj} t j|j|j| j} | j| sJt j|t jd |}tj|tj|d z} t j|j|d zj| j} | j| sJt j|t jd |}tjd }tj||} t j|jd j| j} | j| sJt j|t jd |}tjd }tj||} t j|jdj| j} | j| sJt j|t jd |}tj|d}tj||} t j|j|j| j} | j| r%Jd }tj|}t j|t jd }tj|tj|} t j|j|j| j} tj||| k(sJ| j| sJtj t j"d5tj|tj|d zdddtj t j"d5tj|tj|dzdddy#1swYexYw#1swYyxYw)N)z2018-03-10 09:00z2038-01-31 12:23N)CETrSr)z%az%Az%wz%dz%bz%Bz%mz%yr~z%Hz%Iz%pz%M%z%Zz%jz%Uz%Wz%%z%Gz%Vz%uwin32)z%cz%xz%Xrmsusnsr.rz%Y-%m-%dT%H:%M:%Srr"z%Sr&z%S.%fC)localez.Timezone not present, cannot convert to stringr-r!)sysplatformextendpd to_datetime tz_localizerrrr?rstrftimerrrr3r4rZ) times timezonesformatstimezonetsrtsafmtrrrs r: test_strftimer8st ;E2IQG ||w)*,' ^^E " . .x 8+ /D((2BLLx$@AC /,,S1S':88BKK$45::6;;G}}X...  / /"hhr S( ;<S"*<*<*>?88BKK,-226;;?}}X&&&hhr S( ;<S"*<*Fxx C()..v{{;H ;;sC F ** * == "" " rM OA C!3!3C$J!?@A rM OA C!3!3C$J!?@AAAAAAs.W*3.W6*W36W?cddlm}tj|j dj |j }tj|tjd|}|jjdz|jjzdzjd}tjd tjtjd tjtjd tjg}|tj |d krd|j#d j%d}|j#dj%d}|j#dj%d} n|jj'dj%d}|jj'dj%d}|jj'dj%d} tj(j+||| g|} |jj,j%d} |jj.j%d} |jj0j%d} |jj2j%d}|jj4j%d}|jj6j%d}|jj8j%d}|jj:j%d}|jj<j>j%d}|jjj%d}|jjj%d}tAj,|jCtj| sJtAjD|jCtj|jjDsJtAj.|jCtj| sJtAj0|jCtj| sJtAjF|jCtj|sJtAjH|jCtj|sJtAjJ|jCtj|sJtAjL|jCtj|sJtAjN|jC| sJtAj6|jCtj|sJtAj8|jCtj|sJtAj:|jCtj|sJtAj<|jCtj|sJtAjP|jCtj|dzsJtAj|jCtj|dzsJtAj|jCtj|sJtAjR|jCtj|sJtAjT|jCtj|jj dsJ|jjVr|jjVtXjZj\urdgt_|z}n|jad}tAjb|jCtj|sJtAjddd}tAjF||jCtj|dzsJtAjfddd}tAjh||jCtj|sJy)Nr)VersionrSr')tzig& .>r'iso_yeariso_weekiso_day_of_weekz1.1.0c(|jdSNr isocalendarrts r:rz,_check_datetime_components..E AMMOA$6rDrc(|jdS)Nr#rArCs r:rz,_check_datetime_components..F rDrDc(|jdS)Nr$rArCs r:rz,_check_datetime_components..G s1==?1#5rDyearweekday)fieldsFc<|jjdkDSr@)dstsecondsrCs r:rz,_check_datetime_components..y s!(;rDr#rWrTr)5pyarrow.vendored.versionr:r-r.r/ tz_convert to_seriesrrrr microsecond nanosecondrFr^r __version__maprrB StructArrayrrGmonthrI dayofweek dayofyearquarterhourminutertrJr?r is_leap_year day_of_week day_of_yearr<r= iso_calendar millisecond subsecondlocal_timestampr;rr4utcr0applyis_dstrrrH) timestampsr4r:r5r6 subsecondsiso_calendar_fieldsr<r=iso_dayr_rGrVrIrWrXrYrZr[rtrQrRreday_of_week_options week_optionss r:_check_datetime_componentsrl4 s0  # / /  z(#IIK ((2r||DX6 7C55$$w.55##$'/016q RXXZ( RXXZ( "BHHJ/ r~~!116667>>wG6667>>wG&&56==gF55$$&v.55g>55$$&v.55g>%%##%e,33G<>>-- 8W%".$L 55::  W %D EEKK  w 'E %%))  7 #C&&w/I&&w/Ieemm""7+G 55::  W %D UU\\  )F UU\\ ' ' 0F%%##**73K!!((1J 773<  rxx~ .. . ??3  & &rxx0B0B'C DD D 88C=   00 0 66#;  bhhsm ,, , >>#  % %bhhy&9 :: : >>#  % %bhhy&9 :: : ;;s  " "288H#5 66 6 ;;s  " "288H#5 66 6 ??3  & &| 44 4 ::c? ! !"((7"3 44 4 773<  rxx~ .. . 99S> &!1 22 2 99S> &!1 22 2 >>#  % %bhh{g/E&F GG G >>#  % %bhh{W/D&E FF F ==  $ $RXXj%9 :: : <<  # #BHHZ$8 99 9  c " ) )"((2553D3DT3J*K LL L uuxx 5588x((,, ,Ws2w&FXX;>#': ; B B Q !! !>>$)+L 773 - 4 4RXXh5G HH HrDcgd}gd}t||jjjdst j dy|D]}t||y)Nz1970-01-01T00:00:59.123456789z2000-02-29T23:23:23.999999999z2033-05-18T03:33:20.000000000z2020-01-01T01:05:05.001z2019-12-31T02:10:10.002z2019-12-30T03:15:15.003z2009-12-31T04:20:20.004132z2010-01-01T05:25:25.005321z2010-01-03T06:30:30.006163z2010-01-04T07:35:35.0z2006-01-01T08:40:40.0z2005-12-31T09:45:45.0z2008-12-28T00:00:00.0z2008-12-29T00:00:00.0z2012-01-01T01:02:03.0)rSAmerica/Chicago Asia/Kolkata Etc/GMT-4 Etc/GMT+4zAustralia/Broken_Hillrz-Timezone database is not installed on Windows)rlrrrr3r)rrfr2r4s r: test_extract_datetime_componentsrs s[+JDIz* >> ! ! , ,_ = CD! =H &z8 < =rDrr$c>tjtjddddgdztj|}t j |}tj jdgdzdgdzdgdzggd  }|j|sJy) Nir#r$r'2i4r^)r<r=r>r) rrrrr?r_rUrr)rrrrs r:test_iso_calendar_longer_arrayrw s ((H%%dAq!45b8",,t:L MC __S !F~~)) RDGaSV$9*H == "" "rDc tjd}tjgd}tjddg}tjgd}tj||}tj||}dD])}t j |}tj||}|j|} t j||} | jtj| sJt j||} | jtj| sJtj|tjd|} tjtjd 5t j| |ddd,t j d } tjtd 5t j| dddd }t j |} t j |dd}t j |dd}tjtd|d 5t j|| dddtj|j|d} t j||} | j| tj|j|d} t j||} | j| t j |}t j |dd}t j |dd}tjtd|d 5t j||ddd|j|gd} t j||} | jtj| |j|gd} t j||} | jtj| y#1swYxYw#1swY^xYw#1swYxYw#1swYxYw)Nr'rnz2015-03-29 02:30:00z2015-03-29 03:30:00)z2018-10-28 01:20:00z2018-10-28 02:36:00z2018-10-28 03:46:00r.)rSrorprzalready have a timezone:r-zEurope/Brusselsssznot found in timezone databaseEurope/Brusselsrkearliest) ambiguous nonexistentlatestz%Timestamp doesn't exist in timezone '' shift_forward)r|shift_backwardz$Timestamp is ambiguous in timezone ')TTT)r{)FFF)rrr-r.rr?rr/assume_timezonerr3r4rZr)ts_typerfr|r{ambiguous_arraynonexistent_arrayr4rtarrta_zonedinvalid_optionsoptions_nonexistent_raiseoptions_nonexistent_earliestoptions_nonexistent_latestoptions_ambiguous_raiseoptions_ambiguous_latestoptions_ambiguous_earliests r:test_assume_timezoner sll4 G!:;J.."7"7"9:K 78Ihhyw7O7;> :**84 XXjw /))(3##B8}}RXXh/000##B1}}RXXh/00088JR\\$-IJ ]]2??2L M :   x 9 : : :../BCO z)I J8 278!H " 8 8 B#%#;#;G$= !#!9!9G"; z$$,:Q0 1> ,#< >> xx //o0/0H   #=?F OOFxx //.001H   #?AF OOF 66x@!77H' ;!#!9!9JG"= z**216 7M ?4KLM $$X9K$LH   !;=F MM"((8$%$$X9N$OH   !9;F MM"((8$%i : :88>>0MMs0Q(Q.Q)Q6Q Q&)Q36Q?c  dddddddd}ddddddd }tj|}|D]}t|||z}tj||}tj || j } |jj|} tjj| | tj|| j } |jj|} tjj| | tj|| j } |jj|} tjj| | |d k7r~tj||d }|jj||} |j j"ftj || j } || z jj|| z} tjj| | tj|| j } || z jj|| z} tjj| | tj|| j } || z jj|| z} tjj| | |d k(stj ||j } |jj|} tjj| | tj||j } |jj|} tjj| | tj||j } |jj|} tjj| | |j j"tj|d }tj || } |jj} tj$| |k(| t'j(|||z| } tjj| | |d k(rd}tj |j } |jj|} tjj| | tj|j } |jj|} tjj| | tj|j } |jj|} tjj| | yy)Nr'r&r%rrrrrRrQr`rtr[rZrI)rRrQr`rtr[rZrrIT)calendar_based_originrK)ceil_is_strictly_greater1D)rrrr?r ceil_temporalrrrr rlassert_array_equalfloor_temporalrround_temporalrFrr;wherer- Timedelta) r5rJrunit_shorthand greater_unitrvalue frequencyrrrorigins r:_check_temporal_roundingr sN L "B1<J!55 ))%6!!"g6@@B55::i( %%fh7""2w7AAC55;;y) %%fh7""2w7AAC55;;y) %%fh7 5=--t49GUU[[d!34Fwwzz!))"g>HHJK++00;fD --fh?&&r7;EEGFV ''--i86AH JJ ) )&( ;&&r7;EEGFV ''--i86AH JJ ) )&( ; 5=%%b59CCEFuuzz),H JJ ) )&( ;&&rE:DDFFuu{{9-H JJ ) )&( ;&&rE:DDFFuu{{9-H JJ ) )&( ;c1$+?@ @  %%fh7 u} !!"%//155::i( %%fh7""2&00255;;y) %%fh7""2&00255;;y) %%fh7rDrc <d}gd}tj|Dcgc]}tj|dc}}t|||gd}|D]C}|jj djj |}t|||Eycc}w)N)r#r$r"r%r r&r^rrCr<ii) z1923-07-07 08:52:35.203790336z1931-03-17 10:45:00.641559040z1932-06-16 01:16:42.911994368z1941-05-27 11:46:43.822831872z1943-12-14 07:32:05.424766464z1954-04-12 04:31:50.699881472z1966-02-12 17:41:28.693282560z1967-02-26 05:56:46.922376960z1975-11-01 10:55:37.016146432z1982-01-21 18:43:44.517366784z1992-01-01 00:00:00.100000000z1999-12-04 05:55:34.794991104z2026-10-26 08:39:00.316686848r'r)rpzAmerica/New_YorkrqrrryzPacific/MarquesasrorSrS)r-Series Timestamprrr/rO)rrJrfrtr5r2r4ts_zoneds r:test_round_temporalrw s BF )J  C1BLL.C DBR.SI955$$U+..99(C 6489 DsBc\tjgd}tj|j dk(sJtj|dj dk(sJtj|dj dk(sJtj|dj dk(sJtj|dj dk(sJt j td 5tj|d dddy#1swYyxYw) Nr#r$r"NNr" only_validrQ only_nullr$rr z*"something else" is not a valid count moder-zsomething else)rrr?rRr1r3r4rr)s r: test_countr s ((( )C 88C=   A %% % 88Cl + 1 1 3q 88 8 88Ck * 0 0 2a 77 7 88Ce $ * * , 11 1 88C  % % '1 ,, , zI K( &'(((s D""D+ctjgdtj}tj|tj dj dk(sJtj|tj dtjj dk(sJtj|dj dk(sJ|j ddj dk(sJ|j dj dk(sJtjd dgd dggtj}|j d j dk(sJ|j d dj dk(sJ|j d d d j dk(sJy) N)rr#Nr"r%r.rr$r\r%r"rUr#)rUend) rrrr?indexrr1r rIr)s r: test_indexr si ((%BHHJ 7C 88C1 & , , .! 33 3 88C127795 6 < < >" DD D 88C  ! ! #q (( ( 99Qa9 & & (A -- - 99T? "b (( (  QFQF+"((* =C 99Q<   1 $$ $ 99Qa9 & & (A -- - 99QaQ9 ' - - /2 55 5rDc||j}t|t|k(sJt|tt t|k(sJt |Dcgc] }||| }}t |t|Dcgc] }||| }}|||/|dk(rt d|DsJt d|DsJyy|dk(r-t fd|DsJt fd|DsJyt fd|DsJt fd|DsJycc}wcc}w)Nrgc3$K|]}|du ywrrrrs r:rz&check_partition_nth.. 6QqDy6c3$K|]}|du ywrrrs r:rz&check_partition_nth.. rrc34K|]}|duxs|kywrrrrps r:rz&check_partition_nth.. !@qqDy*AF*@c3(K|] }|k\ ywrrrs r:rz&check_partition_nth.. 3!qAv3c3(K|] }|k ywrrrs r:rz&check_partition_nth.. rrc34K|]}|duxs|k\ywrrrs r:rz&check_partition_nth.. rr)r'r0sortedlistrr)rbrpivotrir until_pivot after_pivotrs @r:check_partition_nthr s8!G w<3t9 $$ $ '?d5T#34 44 4-25\:4 #:K:-25#d)-DE4 #EKE WU^Ay Z '6+66 666+66 667 Z '@K@@ @@3{33 333{33 33@K@@ @@;Es #D4 D9cfttdd}tj|d}t j ||}t |||dt j |||k(sJtjtd5t j |dddy#1swYyxYw)Nrvr)rat_endz8'partition_nth_indices' cannot be called without optionsr-) rrrshuffler?partition_nth_indicesrr3r4r)rbrrs r:test_partition_nthr s c3 D NN4 E&&t59Gguh7 # #D% 0G ;; ;  L N'   &'''s B''B0cttddgdzz}tj|dD]/}dD](}t j |||}t ||||*1y)Nr)rr^r)rgr)rri)rrrrr?rr)rbrrirs r:!test_partition_nth_null_placementr sn b ?dVb[ (D NN4F4 FN..t5>LNG gun E FFrDcvdd}tjgd}dD]p}dD]'}tj||d|fg}||||)tj||}|||dtj ||}|||d rtj|tj d d g }|||dtj|tj d d g }|||d tj|d d g|k(sJtj|d d g|k(sJy)Nctj|d|fg}|jdt|}|r||k(sJytj||}tj||}||k(sJy)Nr|rxrr? sort_indicesslicer0r )select_k_indicesrorder stable_sortsorted_indiceshead_k_indicesrrs r:validate_select_kz.test_select_k_array..validate_select_k sr'59I8JK'--a5E1FG #~5 55wwsN3HWWS"23FX% %%rDr#r$Nrrr$r%)r}rmr|rrp)rr}rmr$r{rr|rmrxF)rrr?select_k_unstabletop_k_unstablebottom_k_unstabler)rrrrrs r:test_select_k_arrayr s\& ((? #C  40 2E))qgu%5$68F fc5 1 2 ""3!,&#|4%%cQ/&#{3 4 ! ! R&&346Ffc<0  ! ! R&&7M6NOFfc;/   Q+A*B DGM NN N  Q)?(@ AV KK KrDc|dd}tjgdgdd}dD]}tj||dg}|||dgtj||tjd d fd g}|||dd gtj ||d g}|||d gtj ||d d g}|||dd gtjtd5tj|dddtjtd5tj|ddgdddtjtd5tj|dgdddtjtd5tj|dgdddtjtd5tj|dgdddy#1swYxYw#1swYxYw#1swYxYw#1swYkxYw#1swYyxYw)Nctj||}|jdt|}|r||k(sJytj||}tj||}||k(sJy)Nrxrr)rtblrprrrrrs r:rz.test_select_k_table..validate_select_k sj B'--a5E1FG #~5 55wwsN3HWWS"23FX% %%rD)r#r$r)r#rr#r)rrrmrrxrrmrwrr}rz4'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 orderr nonscending.Invalid sort key column: No match for.*unknownunknownrmr) rrr?rr^rrr3r4r)rrrrs r:test_select_k_tabler s5& HH995 6E O%% Q#5"68&%4F3GH%% QBHHSM;#?AS"TV E&8:L%M O""5A#?&%4G3HI%%eqS#JG E&8:L%M OO"  H J$ U#$ zK MJ Ub5G4HIJ z5 67 Ua267 z)A BK Ua4H3IJK zM OO Ua4L3MNOO#$$ JJ77 KKOOs<0H)H&H"H&H2H HH#&H/2H;ctjgd}tj|}|j gdk(sJtj|d}|j gdk(sJtj|d}|j gdk(sJtj|dd}|j gd k(sJtj|dd }|j gd k(sJt j td 5tj|d dddy#1swYyxYw)Nrr"rr#r$rm)rr}r#rr"r$rg)rrir$r#rr"rhrr-r)rrr?array_sort_indicesr'r3r4rrrs r:test_array_sort_indicesr< s ((? #C  " "3 'F     -- -  " "3k :F     -- -  " "3l ;F     -- -  " "3l2<>F     -- -  " "3 2<>F     -- - z)A B8 c7888s D::Ectjgd}tj|}|j gdk(sJtj|dg}|j gdk(sJtj|dg}|j gdk(sJtj|dgd}|j gd k(sJtj|dgd }|j gd k(sJtj|tj dg }|j gdk(sJtj|tj dgd }|j gd k(sJy) Nrrrrxr{rrgrrrrhr)rrr?rr'rrs r:test_sort_indices_arrayrO sb ((? #C __S !F     -- - __S-C,D EF     -- - __S-D,E FF     -- - __S-D,E,68F     -- - __S#:";,68F     -- - __ R^^/F.GHF     -- - __ R^^/F.G3=?F     -- -rDctjgdgdd}tj|dg}|j gdk(sJtj|tj ddfgd }|j gd k(sJtj|d d g}|j gdk(sJtj|d d gd }|j gdk(sJtj|d d gd }|j gdk(sJt jtd5tj|dddt jtd5tj|dgdddt jtd5tj|dgdddy#1swYxYw#1swYRxYw#1swYyxYw)N)r#r#Nr)r#rrr#r)rrxrrrmrgrr)r$r"rr#rrwrrrhz"Must specify one or more sort keysr-rrrr) rrr?rr'r^r3r4r)rrs r:test_sort_indices_tablerj s HH?> ?E __U/A.B CF     -- - __U {/K.L,68F     -- - __ -/ABF     -- - __ -/AB!F     -- - __ #%78!F     -- - z)M N  zM OE *B)CDE z)A BA *>)?@AAEEAAs$>G7G!3G-G!G*-G6cNtjgd}tj|tjgd}|j gdk(sJtj|tjgdd}|j gdk(sJtj|tjdd g}|j gdk(sJtj|tjdd gd}|j gdk(sJy) Nr#r$Nr#r$r"r#r"N value_set)TFTTFTTrrV)TFFTFTr#r")rrr?is_inr'rs r: test_is_inr s ((( )C XXcRXXl%; ?F    !9 99 9 [[(>$(*F    !< << < [[!Q(8 9F    !< << < [[!Q(8T JF    !< << <[[bhh1v.4 @F    !< << ? @C ZZ_F    # && & ((< C ZZ{ +F     ,, ,  BHHaV,bhh1v.>? @C ZZ[ )F     ,, ,rDctjdgtjjd}|j tj }|tjdgtj k(sJy)NFr)rrbool_rrr rs r:test_fill_null_segfaultr sZ ((D6288: & 0 0 7C XXbggi F RXXqc2779- -- -rDctjgd}tjgd}tjgd}tj||}|tjgdk(sJtj||}|tjgdk(sJtj|||}|tjgdk(sJtj|||}|tjgdk(sJtj||d}|tjgd k(sJtj||d}|tjgdk(sJtj||tj }|tjgd k(sJtj||tj }|tjgdk(sJtj||d }|tjgdk(sJtj||d }|tjgd k(sJy) Nr4)r"r#r$r$r"N)r"r$r"r)r"r"r"TrZ)r$r"r"rF)r#r$N)rrr?max_element_wiserr)rrarr3rs r:test_min_max_element_wiser" s 88I D 88I D 88L !D  t ,F RXXi( (( (  t ,F RXXi( (( (  tT 2F RXXi( (( (  tT 2F RXXi( (( ( t =F RXXi( (( (  t =F RXXi( (( (   dB::<>F RXXi( (( (   dB::<>F RXXi( (( ( t >F RXXl+ ++ +  t >F RXXl+ ++ +rDrU)rg%@g%rV)TFc Nt|}d|tj|tjtj|tjg}|D]}tj gdtj gdtj ddgddggg}tj gd|rtj gdntj gd |rtj gdgntj gd gg}t|D]M\}}tj||| } tj||||nd} | j| rMJ!d|tj|tjtj|tjg}|D]}tj gd tj d tjd dddgtj d tjddddgg}tj gdtj d tjtjtjtjtjg|rEtj d tjdtjdtjgn(tj d tjddddgg}t|D]z\}}tj||| } tj||||nd} tj j#| j%d| j%d|dtjddfD]G}t'j(tj*5tjgd|dddIy#1swYTxYw)Nr.r4)rNrrrr$)r#r"r&)rNrru)rNNNrT)?g@g@@r#r$rr%r r")r%g @g@Fzero_copy_onlyrarrowrr)rrrr rrrIrr?cumulative_sumrrrrr rrlassert_array_almost_equalto_numpyr3r4rZ rUrV start_intstartsstrtarraysexpected_arraysrrrrs r:test_cumulative_sumr2 sF E IIryyCii  35F+ HHY  HH& '   q$i"b2 3  HHY  HH& '!xx(=>   /0 1!//1F0GH   ' +FAs&&s$:NFvvoa0$:J$#$&H==* **  ++(E299U>iiBJJL13FP HH+ , HHaB1- . HHaq$2 3  HH, - HHa@ A HHarvvtRVV< =!xxBFFD$d(KL    ' PFAs&&s$:NFvvoa0$:J$#$&H JJ 0 0$2A2&'/'8'8'8'N P  PP(bii(#.5 ]]2?? + 5   it 4 5 55 5 5 6PP$ c Nt|}d|tj|tjtj|tjg}|D]}tj gdtj gdtj ddgddggg}tj gd|rtj gdntj gd |rtj gdgntj gd gg}t|D]M\}}tj||| } tj||||nd} | j| rMJ!d|tj|tjtj|tjg}|D]}tj gd tj dtjd d ddgtj dtjddddgg}tj gdtj dtjtjtjtjtjg|rEtj dtjdtjdtjgn(tj dtjddddgg}t|D]z\}}tj||| } tj||||nd} tj j#| j%d| j%d|dtjddfD]G}t'j(tj*5tjgd|dddIy#1swYTxYw)Nr.r4)r#Nrr r#rr )r#r$r&)r#Nrrv)r#NNNrT)rrrMr$rr%r")rg@g@*@Fr&rr(rr)rrrr rrrIrr?cumulative_prodrDrrrr rrlr*r+r3r4rZr,s r:test_cumulative_prodr6P sE E IIryyCii  35F+ HHY  HH% &   q$i"a1 2  HHY  HH' (!xx(=>   01 2!//1F0GH   ' +FAs''4JOF{{?1#5t?Ot()+H==* **  ++(E299U>iiBJJL13FP HH_ % HHaB1- . HHaq$2 3  HH( ) HHa@ A HHarvvtRVV< =!xxBFFD$d(KL    ' PFAs''4JOF{{?1#5t?Ot()+H JJ 0 0$2A2&'/'8'8'8'N P  PP(bii(#.6 ]]2?? + 6   y 5 6 66 6 6r3)rrMg@c Tt|}d|tj|tjtj|tjg}|D])}tj gdtj gdtj gdgdgg}tj gd|rtj gdntj gd|rtj gdgntj gdgg}t|D]X\}}tj||| } tj||||n td d } | j| rXJ,d|tj|tjtj|tjg}|D]R}tj gd tj dddtjddgtj dddtjddgg}tj gdtj gd|rtj gdntj gdg}t|D]|\}}tj||| } tj||||nd d } tj j#| j%d | j%d ~UdtjddfD]G}t'j(tj*5tjgd|dddIy#1swYTxYw)Nr.)r$r#r"r r%r&)r$r#Nr r%N)r$r#N)r r%N)r$r$r"r r r&)r$r$Nr r N)r$r$NNNNrTgeFrZ)r?rNffffff@皙@@rr8rNr:r;)rrrNr9r9r;)rrrNrNr:r;)rrNrr:N)rrNNNNr&rr(rr4r)rrrr rrrIrr?cumulative_maxr rrrr rrlr*r+r3r4rZr,s r:test_cumulative_maxr= s  E IIryyCii  35F+ HH' ( HH- .   lL9 :  HH' ( HH- .!xx(FG   67 8   <= >   ' +FAs&&s$:NF**"D,iiBJJL13FP HH3 4 HHc3RVVS#6 7 HHc3bffc48 9  HH3 4 HH3 4 HH5 6!xx(JK    ' PFAs&&s$:NF**"D,   ' +FAs&&s$:NF**"D,iiBJJL13FP HH3 4 HHc3RVVS#6 7 HHc3bffc48 9  HH3 4 HH3 4 HH5 6!xx(JK    ' PFAs&&s$:NF**"D,ctjddjdddk(sJtjddddgjdddk(sJtjgdd jtj j gdd jgd j k(sJtjtd 5tjgdd jdddtjtd 5tjddgdddy#1swYFxYw#1swYyxYw)Nr#r)rr`rr) field_names)rrr4za b cz0 1rrr-r-z0 arguments but 2 field namesonetwo) r? make_structr1splitrrUrr3r4rrrDr:test_make_structrN s7 >>!S ! ' ' )13-? ?? ? >>!SsCj 9 ? ? A SF   >>)!--/ +.0nn.H.H'%mmoJ/6;kkm/I/E EE E zJ L6 |W]]_56 z)H I3 E5>233 6633s"'E,EEE#ctjtjtj}tjddgdggddgdg|}tjgdtj}tjgdtj}tjd gddd d gdgtj tj}t j|d d |k(sJt j|tjd tjd |k(sJt j|tjd tjd|k(sJt j|tjd tjd|k(sJy)N)rJr#)rKr$)noner")rJr )rJr^r.)r#NNr N)r#NNr^Nr#r r^rJrdlastr) rmap_rUrrrr? map_lookupr)rr result_first result_last result_alls r:test_map_lookuprW su BHHJ 'B ((Z,{mZ0$8>@ BC884288:FL((3"((*EKA3dQFD9!xx 35J ==eW - == = ==bii BGGI ' ),8 99 9 ==bii BGGI & (+6 77 7 ==bii BGGI % '*4 55 5rDcJtjgdtj}tjgd}tjj ||gddg}tjj ||gddg}t j |d|k(sJt j |d|k(sJt j |ddg|k(sJt j |d dg|k(sJt j |d |k(sJt j |t jd |k(sJt j |d |k(sJt j |dg|k(sJt j |d|k(sJt j |t jd |k(sJt j |d d g|k(sJt j |d|k(sJt j |dg|k(sJt j |g|k(sJtjtjd5t j |ddddtjtjd5t j |ddddtjtjd5t j |ddddy#1swYxYw#1swYZxYw#1swYyxYw)Nr%r r&r.)rNrrrrz.c.bs.c.br#)r!r)rrz.a)rr)r#r#rzNo match for FieldRefr-rz.c.fooz.a.foo) rrrrUrr? struct_fieldr^r3r4rZ)rrrrs r:test_struct_fields_optionsr[ s ,A "#A ""Aq6C:6A .. $ $aVc3Z 8C ??3 '1 ,, , ??3 (A -- - ??3c +q 00 0 ??3C )Q .. . ??3 , 11 1 ??3 4 5 :: : ??3 % ** * ??3 &! ++ + ??3 $ )) ) ??3 0 1Q 66 6 ??3A /1 44 4 ??3 '1 ,, , ??3 $ )) ) ??3 #s ** * r.E F$ U#$ r.E F' X&' r.E F' X&''$$''''s$LL !LL  LL"ctjtjgdgdgdgdtjgdk(sJy)Nr&)FTNr4) rr)r#rN)r? case_whenrLrrrrDr:test_case_whenr_E sE <<':':<!$ &*,-)@ AA ArDcbtjdtjfdtjfg}tj|}dddddddddd dg}dd d dd dddd ddg}tj ||g|}d}tj j||}tj dd d dg|}|j|sJd}tj j||}tj dd dd ddg|}|j|sJy)Nrrrr$r)rr%gffffff@r&gp= ף?r"ffffff?g333333?rr#) rrrr rrcompute list_elementr) element_type list_typel1l2listsrrrs r:test_list_elementriL s99sBJJL1C3CDEL&I T!#4d#A?NH == "" "rDcRtddDcgc]}tj|dd}}tj|tjd}t j |tjt|tjk(sJycc}w)Nii,r#)rGrVrIr'r.) rrrrrr?count_distinctrr0r)ysamplesrs r:test_count_distinctrn^ sxBGdBSTQx  aqa8TGT ((7BLL. /C  S !RYYs7|"((*%M MM MUsB$ctjgd}tj|j dk(sJtj|dj dk(sJtj|dj dk(sJtj|dj dk(sJtj|dj dk(sJy) Nrr"rrrr#rr%)rrr?rkr1r)s r:test_count_distinct_optionsrpd s ((( )C  S ! ' ' )Q .. .  S| 4 : : < AA A  S{ 3 9 9 ;q @@ @  Su - 3 3 5 :: :  S% ( . . 0A 55 5rDctjdg}tj|d|k(sJtj|dtjdgk(sJtj|d|k(sJtj|dtjdgk(sJt j t d 5tj|d dddy#1swYyxYw) Nu01²3NFC)formr0123NFDNFKDz/"NFZ" is not a valid Unicode normalization formr-NFZ)rrr?utf8_normalizer3r4rr)s r:test_utf8_normalizerym s ((G9 C  Su - 44 4  Sv ."((F82D DD D  S% (C // /  S& )RXXvh-? ?? ?  C E+ #E*+++s C))C2c dD]E}tjd|tjgtjk(rEJt dDcgc].}t tjdj0}}tt|t|k(sJt ddDcgc]3}t tjd|dzj5}}tt|dk(sJtdd g}|jd t dD|Dcgc]0}t tjd|j2}}tt|t|k(sJtjtd 5tjdgdddycc}wcc}wcc}w#1swYyxYw) N)systemrisabcdefr) initializerr.rrvr^rYrc3FK|]}tjdyw)rN)osurandom)rrs r:rztest_random.. s:1 2:s!zJinitializer should be 'system', an integer, or a hashable object; got \[\]r-)r?rrrrrtupler'r0rr2r,r3r4r5)r|rr0 initializerss r: test_randomry s5, yy 4 HHRbjjl +, ,,, :?r CAeBIIcN,,./ CF C s6{ s6{ ** *Q}&BIIcq1u5??AB&F& s6{ q  Hi/L:b ::#%BIIcq1;;=>%F% s6{ s6{ ** * y? @' #2&''D&%''s3G=8G5G!6G&&G/ztiebreaker,expected_valuesr)r"r#r%r&r%r&r#rn)r"r$r r^r r^r$rdr"r#r%r&r r^r$dense)r$r#r"r%r"r%r#ctjgd}tjdd|}tj||}tj|tj }|j |sJy)NrEr333333@NrNrrmrrorr.)rrr?rrankrr)rqexpected_valuesr rank_optionsrrs r:test_rank_options_tiebreakerr sc ((8 9C>>K19-79LWWS, /Fxxbiik:H == "" "rDctjgd}tjgdtj}tj|}|j |sJtj|tj }|j |sJtj|tj dg}|j |sJtj|d}tjgd tj}|j |sJtj|d }tjgd tj}|j |sJtjtd 5tj d dddddy#1swYyxYw)Nrrr.rrwrxrgrh)r r"r&r#r^r$r%r})r"r%r#r&r$r^r z'"NonExisting" is not a valid tiebreakerr-r NonExistingro) rrrr?rrrr3r4rrrrexpected_at_startexpected_descendings r:test_rank_optionsr s\ ((8 9Cxx-BIIK@HWWS\F == "" "WWS".."2 3F == "" "WWS"..%&#(F == "" " WWS 4F!6RYY[I ==* ++ + WWSL 1F((#8ryy{K ==, -- - zG I1 &."/ 1111s +G  Gctjgd}tjgdtj}tj|}|j |sJtj|tj }|j |sJtj|tj dg}|j |sJtj|d}tjgd tj}|j |sJtj|d }tjgd tj}|j |sJtjtd 5tj|ddddy#1swYyxYw)NNr#Nr$N)rarrarrar.rrwrxrgrh)rrarrrr})rarrarrarr-XXX) rrrr? rank_quantilerrr3r4rrs r:test_rank_quantile_optionsr sd ((+ ,Cxx1 EH  c "F == "" "  c2+A+A+C DF == "" "  c2+A+A%&,(F == "" "   c* =F!:N ==* ++ +   c\ :F((#<2::<P ==, -- - z)A B/ .///s +G  Gctjgd}tjgd}t j |}|j |k(sJt j |dd}|j |k(sJt j |t j}|j |k(sJtjgd}t j |dd }|j |k(sJt j |t jdd }|j |k(sJy) Nr)ł?g2m6|t j@|t jB|t jD||t jF||t jH||t jJ|t jL|t jN|||jQtjRd } t jdd kDt jdd k(t jddk(t jddk(t jdddk(g} t jd d kDt jd d k(t jd dk(t jddk(t jdd dk(g}||jUgdt jdjWg}| jY}|| z }|| z }||z }|| | | |||dS)Ni64rrr#rTrrr$Frrr r^)rrr)r#rr4)rliteralscallsrefs numeric_refsspecialschema)-rrr^rrrr?rr rnegaterr@dividerDpowersqrtexpcossintanacosatanasinatan2sinhcoshtanhasinhacoshatanhrsign bit_wise_not bit_wise_and bit_wise_or bit_wise_xorr is_finitecoalescerrisinr)copy)rrrrrrrrrrr literal_exprsexprs_with_callexprs_with_refexprs_with_numeric_refs special_cases all_exprss r:create_sample_expressionsr s YY 3RXX ryy"((5"))+6786:;88Aq> 7 wwqz 7 $&771: 7 02wwqz 7xx{ 7%'HHQK 724! 7vvay 7#%''!* 7/1ooa.@ 7q!, 7/1nnQ.B 7q!, 7/1iil 7=?LLO 7{{1a( 7vvbhhjuv5 7O hhuo)288E?a+?hhuo*hh~.'9hhue,79N "xx{Q q0@!xx{a/!xx/7:!xx1~8:  y !M""$I  I I I! /  rDctdD]Q}t|tjsJ|j |j |}|j |rQJy)Nr)rrr? Expressionrrr)rexprrestoreds r:#test_expression_serialization_arrowrIsZ)+E2%$ ... &&}':':4'@A{{8$$$%rDcxt}|d}|dD]E}|j|}tjj |}|j |rEJ|dD]}|j|}tjj |}t |t |k(sJ|j|}tjj |}|j |rJt|d|dD]\}}|j|}tjj |}t |t |k(sJ|j|}tjj |}|j |rJ|dD]u}|j|}tjj |}|j|}tjj |}|j |ruJ|dd}|j|}tjj |}|j tjdd isJtjd } | jgd }| d k(| d k(z| d k(z} |j|}tjj |}t | t |k(sJ|j|}tjj |}|j |sJy) Nrrrrrrrrr#r4r$r") r to_substraitr?rfrom_substraitrrrrr) exprsrr serializedrserialized_againdeserialized_again expr_normrrtargets r:'test_expression_serialization_substraitrQs & 'E 8_Fj!)&&v. }}33J? {{<((()g7&&v. }}33J? < CI---'44V<]]99:JK""#56667uV}eN.CD7i&&v. }}33J? < C N222'44V<]]99:JK""#5666 7i 7&&v. }}33J? '44V<]]99:JK""#5666 7 iA'J==// ;L   ryy"a1 22 2 ! A 66) D1fa AF +F""6*J==// ;L v;#l+ ++ +#008556FG   1 22 2rDctjd}tjd}tjd}tjd}tjd}tjd}tjddd}tjd }tjd d}||z|k(||k(d tjfD]} |j | |k(|j dd g|j d dg|j d dg|j d dgtjt5|j ddddtjtj5|tk7dddy#1swYCxYw#1swYyxYw)Nrr#TFrr^rr)nestedr^rrr$rr) r?rr^rrrrr3r4r5rZr2) rFrJtruefalserr^nested_mixed_types nested_field nested_field2rs r:test_expression_constructionrsn 99Q 11 1 rxxq) *< == = rvveQ O 33 3 rvveRYYq\* + >> > 8C y , ufs 9DD&c tjdddgi}tjtjj 5t j|tjdddy#1swYyxYw)Nrr#r$) rrr3r4rrr?rr)rs r:test_cast_table_raisesrsW HHcAq6] #E rvv,, -# rxxz"###s )A99Bzstart,stop,expectedr4rr&NNrr#r$refixedc|dk(rotjgdgdgddgtjtjdj tj|d}n^tjgdddgdgdgtjtjj ||}||||d f}|H|dk7rCd }t j tj| 5tj|dddytj|} | j tjtj| jjj} | |D cgc]} | r| dd|n| c} k(sJy#1swYyxYwcc} w) Nrr4rrr"r%r r&TzZUnable to produce FixedSizeListArray from non-FixedSizeListArray without `stop` being set.r-) rrrr rr3r4rZr? list_slicer list_sizer') rUrrrrrerr9r[rpylistrs r:test_list_slice_output_fixedrsmGhh <$Gxx 1-//3tBHHZ\14M/N hh Aq6A35xx *,,0D:<1H,I  tT4 'D | W,B ]]2??# 6 ! MM4  ! !%RXXbggi#[[22455>Y[ BAq!FdF)a/BBBB  ! ! CsF/F;/F8z start,stop))rN)rr#)rr$r)r$r%c|dk(rqgdgdgddg}tj|tjtjdj tj|d}n`gdddgdgdg}tj|tjtjj ||}|dk(rtj}t j ||||d }|j||k(sJ|j tjtjj}|D cgc]} | | |||nd} } || k(sJycc} w) Nrr4rrr"r%r r&Freturn_fixed_size_list) rrrr rr?rrr') rUrrrrerbrrrrrs r:test_list_slice_output_variablersOG<$?hh  HHRWWY "$$(D*,)B$C Aq6A3-hhtxx *,,0D:<1H,I GHH ]]3tT279F ;;)JL1 11 1 [["''), - 7 7 9FHLL!am%T/"=LHL X  Ms*Freturn_fixed_sizer&rcxtjtjdtjSNcolrrr^r rrDr:rr!s BHHRXXeRWWY/ 0rDcztjtjdtjdS)Nrr#rrrDr:rr"s"BHHRXXeRWWY/ 3rDcxtjtjdtjSr)rrr^r rrDr:rr#s BMM"((5"'')4 5rDcFtjdgg|}tj|dd|}|jj dj |jj dj k(sJ||j|jk(sJyy)Nr#rr)rrr?rrr^r=)rrrouts r:$test_list_slice_field_names_retainedrs ((QC5$& !C --Q:K LC 88>>!  ! !SXX^^A%6%;%; ;; ; xx388###!rDctjdggtjtjd}d}t j tj |5tj|dddddt j tj |5tj|dddddt j tj |5tj|dddddd}t j tj |dz5tj|ddd dddt j tj |d z5tj|ddd dddy#1swY+xYw#1swYxYw#1swYxYw#1swYyxYw#1swYyxYw) Nr#z@`start`(.*) should be greater than 0 and smaller than `stop`(.*)r-r\r$rz`step` must be >= 1, got: r)rrr) rrrr r3r4rZr?r)rr[s r:test_list_slice_bad_parametersr.sY ((QC5"((2779a0 1C MC rc 2" c2q!" rc 2! c1a ! rc 2! c1a ! 'C rcCi 8) c1aa() rcDj 9* c1ab)**""!!!! ))**s<&F'+F40G:G G'F14F=G  GG!cgd}tj||}tj||}tj|}|j |j k(sJ|j |sJy)N)r#r#r#r$r$r#r#r#r#r#r"r"r"r"r"r"r"r"r"r.r)rrr?run_end_encoderun_end_decoderr)rrun_end_encode_optsrJrencodeddecodeds r:check_run_end_encode_decoderBsb FF ((6 +C-@AG(G <<388 ## # >>#  rDrct||yr)r)rrs r:test_run_end_encoderKs4 F3rDctjgd}tjgd}tjj|d}|j |sJtjgd}tjgd}tjj|d}|j |sJtjgdtj }tjgdtj }tjj|d }|j |sJtjgdtj }tjgd tj }tjj|d }|j |sJtjgdtj }tjtjd 5tjj|d dddy#1swYyxYw) N)r#r$r"Nr%r )Nr#r#NNr#r#re)NNr$Nr#Nr$r.)r\r\NNr\Nr\)rNNrNoverflowr-) rrrb pairwise_diffrr r r3r4rZpairwise_diff_checkedrs r:test_pairwise_diffr hs ((( )Cxx34H ZZ % %c! % 4F == "" " ((( )Cxx67H ZZ % %c! % 4F == "" " (((rwwy 9Cxx6RWWYGH ZZ % %c" % 5F == "" " (((rxxz :Cxx9 KH ZZ % %c" % 5F == "" " (((rxxz :C r' )9 ((R(8999s )"IIcddg}tjgdgd}|jik(sJtjgdgd|}|jdddk(sJt|jddgk(sJtjgdgd|}|jdddk(sJt j t d 5tjgdgd|d }dddt j td 5tjgd gd|}dddy#1swYJxYw#1swYyxYw)Nrerj)rjredepth)rNr]r)rerj) key_nameszUnexpected pivot key: depthr-rk)r rlz(Encountered more than one non-null value)rjrerj)r? pivot_widerr1rr3r4KeyErrorr)r rs r:test_pivot_widerrs0(#I ^^8. IF <<>R   ^^8.%'F <<>tr: :: :   GX#6 66 6 ^^8.&/1F <<>tr: :: : x'D EA rArEr`rorrr|rrrrrrrrdate32date64rrrrrrdecimal_type_traitsrrrrrrrrrrrr8rlrsrwrrrrrrrrrrrrrrrrrrr"r2r6r=rGrNrWr[r_rirnrpryrrrrrrrrrrrrrrrrrrrfloat16rrr rr)r=r7rNs000r:r/s$#( 0# $BKK$5$5$784 dDt12 4 ""++"3"3"56. T33 2%%%3**+. BGGI BHHJ BHHJ BHHJ BIIK BIIKBJJLBJJL  -. eAh U1X uQx eAh uQx eAh uQ| eArl %& &' ,- 01RYYq\;< RXXgbggiAq6Aq6Aq64!RABR]]8288:!i!Q2w GHRYYgbggi 3 "234a$aa 0$aa8H7JK#,40 9BbBbBJ( )*JFI5 3  $ $= %  >'<=1>1*  a(;]R]]1a=P'QR';S';T'<=1>1,  a(;]R]]1a=P'QR&?S&?R9<"")46:*#01"V]]#56 8 -&--(:;NOWt./-:: " '2" # # ##, L.0 # # # < D6&76(b J;D  !&).4 3" .%'99&"&' +EF Wf$56F7 F F(C$P>880 4#''E9<)?;<2"##LUDM2*3* 3)?;#<#(#"#: 1)?;<,)?;D<D,&#(,&0 2/ :;?<?</ :;!9<!9H/ :; 9< 9F ' ###)<=>-?-8LL$<<6F"#:"#:'<=#>#('<=#>#8 ? F$3N  YRYY['AB+C+'<=><2CE 4 CE)bllAF(bllBG(r}}bI(r}}bIK   C C F.0jbjjl^=':-/)>:<>> ? / ?/>/jbjjlJBJJL%AsK)+>-/;A/L;A|G8HAHAVPIf==<!89 #: #W&W&te8P"EF9F96 ( 6A* 'F&LR0Of8&.6!AH I =*(.V-$.,D"56}5156715h"56}5166716h/2}5456345n/2}5456345n3&5$'JA#$N 6 +'6  "# "# $% $%'##1B/<*0HZ%%:3:3z8$,#.y,>?QC!qc4 !QFQFQIt ,-QC!tfd #$QId|dD\4 89 1( 288RZZ'HIrxx&HICJJ)C,(( 288RZZ'HIrxx&HIJJ)4,.AB035"78$ 8C $*(        Q Q a a    xrxxz*w'xrxxz* 4!249<54@{ B  B C4.sO>A@ A@;A@(76A@.>A@ @A@ @ A@@A@@A@%@$A@%