e}i>bddlZddlZddlZddlZddlmZ ddlm cm Z n #e $rdZ YnwxYw ddl m cmZn #e $rdZYnwxYw ddlZn #e $rdZYnwxYwejdkr ddlZn #e $rdZYnwxYw ddl Zn #e $rdZYnwxYwddlZejejddZejejddd Zejejd d ZejejZejejZejej Z!ejej"Z#ejej$Z%ejej&Z'ej(ej ej)dd Z*ej+e!e#e%e'e*Z,ej-ej.ej/ej0ej1gZ2ej-ej3ej4ej5ej6gZ7ej+e2e7Z8ej-ej9ej:ej;gZ<ej(ej=ej)ddej)ddZ>ej(ej?ej)ddej)ddZ@ej(ejAej)ddej)ddZBej(ejCej)ddej)ddZDej+e8e>D 8DsX E E EEc jtjtj|tjtj|ztjtj|tjddztjtj|ztjtj|zS)Nrrr)r(buildsr%list_ large_listintegers list_viewlarge_list_view item_strategys r1 list_typesr=s "(M** "-// 0 H  K!r 2 2 2    ", .. / "$m44 5 r3ctjt|}||}d|D}tjt t |t |ktj|S)Ncg|] }|j S)r.).0r*s r1 z struct_types..s;;;%5:;;;r3) r(listsr2hassumelensetr%struct)r+r<fields_strategyfields_rendered field_namess r1 struct_typesrLsxhvm4455Od?++O;;?;;;KHS[!! " "c+&6&6 6777 9_ % %%r3c (|t}|htjtttjt jt jgttt}tj t j ||SN)signed_integer_typesr(one_of bool_type integer_types sampled_fromr%float32float64 binary_type string_typefixed_size_binary_typer5 dictionary) key_strategyvalue_strategys r1dictionary_typesr\si+    ORZ\\2:<<8 9 9   "    9R]L. A AAr3c||}tjtj| ||}tj||SrN)rDrEr%r&r'map_)r+rZr<key_type value_types r1 map_typesrasWtL!!HH!!(++ +,,,m$$J 78Z ( ((r3ctjt||}tjtj|S)N)max_size)r(rCr2r5r%schema)r, max_fieldschildrens r1schemasrgs2x}-- CCCH 9RY ) ))r3cttztztzt ztt ztt zSrN)primitive_typesr=rLr\ra all_typesr@r3r1rksd         9   Y  r3)r-Tc`|t||d}|SNFsizer")arrays to_pylist)r+r`rpr"arrs r1_pylistrts. $vjte<<< = =C ==??r3c||}|t||d}|t|||}tt||Srn)rtlistzip)r+r_r`rpr"lengthkeysvaluess r1_pymapr{sc T$ZZF 4v>>> ? ?D T'*6HEEE F FF D&!! " ""r3c t|tjr ||}n,t|tjr|}nt dt|tjr ||}n7||t }n$t|tst dtj |r)tj |tj }ntj |rtj}ntj|rH|t!j||f}tj||Stj|r_|t!j||f}d|t+j|<tj||Stj|rtjnitj|rtj}n5tj|rtj}ntj|rZt<t?j d|j!t?j dd}d }tDj"#|d ztEj$d z} tDj"#|d ztEj$d z } |j!%d } t| d} t| d} tEj$| | }n)#tL$rt=j'|j!}YnwxYwtj(tj)|| | }ntj*|r|j+dvr#tDj$j,}tDj$j-}nh|j+dkr3d }|dz}tEj$| }tEj$|}n*tEj$d}tEj$d}tj.||}ntj/|r>tj.tEj$dtEj$d}n_tj0|stj1|rtj2}n tj3|stj4|rtj5}ntj6|r"tj2|j7|j7}nxtj8|rts|j:||}n@tj;|rts|j:||}ntj<|rts|j:|j=|}ntj>|rts|j:||}ntj?|rts|j:||}n[tj@|r6ts|j:||}tj|||StjA|r#t|jC|jDt |}ntjE|rtj t|dkgg}}|D]I}|G||G|t#|jH|JtjIJ||St||r&tjLtj |}tjM|||}tj|||S)NzType must be a pyarrow DataTypezSize must be an integer)shaper!gEz/no module named zoneinfo (or tzdata on Windows)zrequires timezone not Nonelliʚ; )hours:rr)rminutes) timezonesrr)rrrl`;P)daysiiKwrmin_sizercrorp)r2)N isinstancer(SearchStrategyr%DataType TypeError_default_array_sizesintr&r'rDrEnone is_booleanr) is_integernpstrqto_pandas_dtypearray is_floatingnpisnan is_decimalrejectis_timetimesis_datedates is_timestampzoneinfopytestskiprdatetime fromtimestamp timedeltasplit ValueErrorZoneInfo datetimesjust is_durationrminmax timedeltas is_interval is_binaryis_large_binarybinary is_stringis_large_stringtextis_fixed_size_binary byte_widthis_listrtr` is_large_listis_fixed_size_list list_size is_list_viewis_large_list_view is_dictionaryis_mapr{r_ item_type is_structrFappendr! StructArray from_arraysNotImplementedErrorrPrC)r+r!rpr"tyvaluerz min_int64 max_int64 min_datetime max_datetimeoffset offset_hours offset_minrrrmax_daysr2 child_arraysr*s r1rqrq"s$)**; T$ZZ D"+ & &; 9:::$)**3tDzz t()) c " "31222 x\&     R Y&    R W&dk""4"4"6"6tgFFFGGxR((((   b ! !T&dk""4"4"6"6tgFFFGG$)rx xR((((   R N&    "  J&    "  H&    r " "F&   KI J J J 5= K4 5 5 5  (66    "*"42">">">? (66    "*"42">">">?  *U[[%%Fvay>>LVAYJ#, KKKBB * * *"25))BBB * rwr{{l'3555   b ! !2& 7k ! ! *.I *.II W__!I ]3H * :::I *999II!*888I *777I YGGG   b ! !$& (g666(f555      B  &28#;#;B#?#?&    B  &28#;#;B#?#?&   & &r * *& 2=2=III   "  & D8DDD    # #& D8DDD  $ $R ( (& BL8LLL   r " "& D8DDD  $ $R ( (& D8DDD    # #&THEEExV 2....    &r{BL7K (***   B  & R1!2  E EE MM%   VEJT%B%B%B C C D D D D~)),v)FFF!"%%%, "'))U++ XedT : : :F 8DDLLr * * **s8AO#O98O9ct|tjr ||}t||}tj|||}t j|||S)Nrrr~)rr(rrqrCr% chunked_array)r+r! min_chunks max_chunks chunk_sizechunkchunkss r1chunked_arraysrsj$)**tDzz 4j ) ) )E Xej: F F FF DDLLt 4 4 44r3cTttjr n7tn$ttst dt ||}fd|D}tj ||S)NRows must be an integerrecNg|]!}t|j"Srrqr!rAr*r+rowss r1rBz"record_batches..2HHHVEJT22233HHHr3rd) rr(rrrrrgr% RecordBatchrr+r!rrerdrfs` ` r1record_batchesrs$)**3tDzz t()) c " "31222 T'$:666 7 7FHHHHHHHHH > % %hv % > >>r3cTttjr n7tn$ttst dt ||}fd|D}tj ||S)NrrcNg|]!}t|j"Srrrs r1rBztables..rr3r) rr(rrrrrgr%Tablerrs` ` r1tablesrs$)**3tDzz t()) c " "31222 T'$:666 7 7FHHHHHHHHH 8    8 88r3ctjtj|tjtj|zSrN)r(r5r%r6r7r;s r1pandas_compatible_list_typesrs0 "(M** "-// 0r3c tjtttt tt t ttt tS)N)r[)r(rP!pandas_compatible_primitive_typesrrLr\(pandas_compatible_dictionary_value_typespandas_compatible_typesr@r3r1rkrks\BI)$%FGG677C    %%<==,--  r3)NN)T)NT)rNN)rrsysr hypothesisrDhypothesis.strategies strategiesr(hypothesis.extra.numpyextranumpyr ImportErrorhypothesis.extra.pytzpytztzstrplatformtzdatarpyarrowr%r charactersr$ alphanum_textsurrogate_textrnull null_typebool_rQrrVstringrW large_binarylarge_binary_type large_stringlarge_string_typer5r8rXrPbinary_like_typesrSint8int16int32int64rOuint8uint16uint32uint64unsigned_integer_typesrRfloat16rTrUfloating_types decimal32decimal32_type decimal64decimal64_type decimal128decimal128_type decimal256decimal256_type numeric_typesdate32date64 date_typestime32time64 time_typesrr timestamptimestamp_typesdurationduration_typesmonth_day_nano_intervalinterval_typestemporal_typesri dictionariesr# compositer2r=rLr\rargdeferredrj all_fields all_schemasrrtr{rqrrr all_arraysall_chunked_arraysall_record_batches all_tablesrrrrr@r3r1r2st $ """""")))))))))) DDD(((((((((( DDDOOOOHHH<7  BBBbg R]  R]/  R] BGGBGII   BGHBHJJ   bgibikk"" bgibikk"" BGOBO--..BGOBO--.."IBK!r***BI 'r BGII BHJJ BHJJ BHJJ ( ) BHJJ BIKK BIKK BIKK *  .0FGG  BJLLBJLLBJLL" LbkA333 "+Q / / / LbkA444 "+R 0 0 0 ")MbkA444 "+R 0 0 0 ")MbkA444 "+R 0 0 0  -)?<< R_ BIKK BIKK R_ BIcNN BIdOO BIdOO BIdOO  H '"'))^T^%5%5|r|~~FFII  '"'))^T^%5%566II  '"'))\R\^^44II I")L 000 1 1 KBO+++,,335566 ")    2?72799gbgii 0 0.d F F F F-    %4&&&& B B B B!0+))))*d**** BK   RY F9 F9M222 F9N333 gi  #r{Q"=== ####q+q+q+q+h5555 ? ? ? ? 9 9 9 9VI   #^I..#^I.. VI   %.BI  BOZRZ\\:2:<<011 !%%!*,529  ,,(4&"+    sQ ",, :AAA AA&A++A54A59A>>BB