hyb
2025-12-31 6cdcd01f77e11b72c323603e27ebdb85b15223c9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
Ë
nñúh™ãóè—ddlmZddlZddlZddlmZddlZddlZddlm    Z    m
Z
m Z m Z m Z ddlZddlZddlZddlmZddlmZmZmZmZddlmZmZmZddlmZdd    lm Z dd
l!m"Z"dd l#m$Z$m%Z%dd l&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.dd l/m0Z0ddl1m2Z2ddl3m4Z5m6Z6m7Z7m8Z8ddl9m:Z:ddl;m<Z<ddl=m>Z>ddl?m@Z@ddlAmBZBmCZCddlDmEZEddlFmGZGddlHmIcmJZKddlLmMZMmNZNmOZOddlPmQZQddlRmSZSddlTmUZUddlVmWZWesddlXZYddlZm[Z\ddl/m]Z]e\j¼e\j¾e\jÀe\jÂe\jÄe\jÆdœZde\jÊd„e\jÌd„e\jÎd „d!œZhe\jÒd"„e\jÔd#„e\jÖd$„d!œZl                        dId%„Zm                        dJd&„Znid'e\jޓd(d)„“d*e\jà“d+d,„“d-e\jâ“d.d/„“d0d1„“d2d3„“d4d5„“d6d7„“d8er“d9er“d:er“d;er“d<e\jæ“d=d>„“Zte    r>dd?lumvZvdd@lwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZm€Z€mZm‚Z‚mƒZƒm„Z„m…Z…m†Z†m‡Z‡mˆZˆddAl‰mŠZŠddBl‹mŒZŒddClmŽZŽdD„Z                dKdE„ZGdF„dGe<eCe>eS«Z‘                dLdH„Z’y)Mé)Ú annotationsN)ÚPath)Ú TYPE_CHECKINGÚAnyÚCallableÚLiteralÚcast)Úlib)ÚNaTÚ    TimedeltaÚ    TimestampÚ    timezones)Úpa_version_under10p1Úpa_version_under11p0Úpa_version_under13p0)Údoc)Úfind_stack_level)Úvalidate_fillna_kwargs)Úcan_hold_elementÚinfer_dtype_from_scalar)Ú is_array_likeÚ is_bool_dtypeÚis_float_dtypeÚ
is_integerÚ is_list_likeÚis_numeric_dtypeÚ    is_scalarÚis_string_dtype)ÚDatetimeTZDtype)Úisna)Ú
algorithmsÚmissingÚopsÚ    roperator)Ú    map_array)ÚOpsMixin)ÚArrowStringArrayMixin)Úto_numpy_dtype_inference)ÚExtensionArrayÚExtensionArraySupportsAnyAll)ÚBaseMaskedArray)Ú StringDtype)Úcheck_array_indexerÚunpack_tuple_and_ellipsesÚvalidate_indices)Úcheck_below_min_count)ÚBaseStringArrayMethods)Ú_arrow_dtype_mapping)Ú    to_offset)Ú
ArrowDtype)ÚeqÚneÚltÚgtÚleÚgecó.—tj||«S©N)ÚpcÚ
and_kleene©ÚxÚys  úQH:\Change_password\venv_build\Lib\site-packages\pandas/core/arrays/arrow/array.pyú<lambda>rCbs€œbŸm™m¨A¨qÓ1€ócó.—tj||«Sr<)r=Ú    or_kleener?s  rBrCrCds€œRŸ\™\¨!¨QÓ/€rDcó.—tj||«Sr<)r=Úxorr?s  rBrCrCfs€œRŸV™V A q›\€rD)Úand_Úrand_Úor_Úror_rHÚrxorcó.—tj||«Sr<)r=Ú bit_wise_andr?s  rBrCrCks€œbŸo™o¨a°Ó3€rDcó.—tj||«Sr<)r=Ú bit_wise_orr?s  rBrCrCmó€œRŸ^™^¨A¨qÓ1€rDcó.—tj||«Sr<)r=Ú bit_wise_xorr?s  rBrCrCos€œRŸ_™_¨Q°Ó2€rDcóV—tjj|j«r}tjj|j«rTt    j
|tj «d¬«t    j
|tj «d¬«fS||fS)NF)Úsafe)ÚpaÚtypesrÚtyper=r    Úfloat64)Ú arrow_arrayÚ    pa_objects  rBÚcast_for_truedivr]rs|€ô
8‰8× Ñ ˜{×/Ñ/Ô 0´R·X±X×5HÑ5HØ N‰Nô6
ô
—7‘7˜;¬¯
©
« ¸5ÔAÄ2Ç7Á7Øœ2Ÿ:™:›<¨eôDðð ð˜IÐ%Ð%rDc
ód—tjj|j«rZtjj|j«r0t    j
||«}tjj |j«rÒt    jt    j||«|«}t    jt    j||«tjd|j¬««}t    jt    j||«t    j|tjd|j¬««|«}n|}|j|j«}|St    j ||«}t    j"|«}|S)Nr©rYé)rWrXrrYr=Údivide_checkedÚis_signed_integerÚ    not_equalÚmultiplyÚlessrTÚscalarÚif_elserIÚsubtractr    ÚdivideÚfloor)ÚleftÚrightÚdividedÚ has_remainderÚhas_one_negative_operandÚresults      rBÚfloordiv_compatrq‚s*€ô 8‰8× Ñ ˜tŸy™yÕ )¬b¯h©h×.AÑ.AÀ%Ç*Á*Õ.MÜ×'Ñ'¨¨eÓ4ˆG܏x‰x×)Ñ)¨'¯,©,Ô7ä "§ ¡ ¬R¯[©[¸À%Ó-HÈ$Ó O Ü+-¯7©7Ü—O‘O D¨%Ó0Ü—I‘I˜a g§l¡lÔ3ó,Ð(ôŸ™Ü—G‘GØ%Ø0óô
—K‘K ¬¯©°1¸7¿<¹<Ô)HÓIØó‘ð!Ø—[‘[ §¡Ó+ˆFðˆ ô—i‘i  eÓ,ˆGÜ—X‘X˜gÓ&ˆF؈ rDÚaddÚraddcó.—tj||«Sr<)r=Ú add_checkedr?s  rBrCrC¤rRrDÚsubÚrsubcó.—tj||«Sr<)r=Úsubtract_checkedr?s  rBrCrC¦ó€œR×0Ñ0°°AÓ6€rDÚmulÚrmulcó.—tj||«Sr<)r=Úmultiply_checkedr?s  rBrCrC¨rzrDÚtruedivcó:—tjt||«ŽSr<©r=rir]r?s  rBrCrC©s€¤§    ¡    Ô+;¸A¸qÓ+AРB€rDÚrtruedivcó:—tjt||«ŽSr<rr?s  rBrCrCªs€¤§¡Ô,<¸QÀÓ,BÐ!C€rDÚfloordivcó—t||«Sr<©rqr?s  rBrCrC«s €¤°°AÓ!6€rDÚ    rfloordivcó—t||«Sr<r†r?s  rBrCrC¬s €¤/°!°QÓ"7€rDÚmodÚrmodÚdivmodÚrdivmodÚpowÚrpowcó.—tj||«Sr<)r=Ú power_checkedr?s  rBrCrC²s€œR×-Ñ-¨a°Ó3€rD)ÚSequence)Ú    ArrayLikeÚAxisIntÚDtypeÚ FillnaOptionsÚInterpolateOptionsÚIteratorÚNpDtypeÚ NumpySorterÚNumpyValueArrayLikeÚPositionalIndexerÚScalarÚSelfÚSortKindÚ TakeIndexerÚ TimeAmbiguousÚTimeNonexistentÚnpt)ÚSeries)Ú DatetimeArray©ÚTimedeltaArraycóŠ—tr2t|«jdd«ddd}|dvr t|«‚|S|jS)Nú[r`éÿÿÿÿ)ÚsÚmsÚusÚns)rÚstrÚsplitÚ
ValueErrorÚunit)Úpa_dtyper±s  rBÚget_unit_from_pa_dtyper³ÑsJ€åܐ8‹}×"Ñ" 3¨Ó*¨2Ñ.¨s°Ð3ˆØ Ð.Ñ .ܘXÓ&Ð &؈ Ø =‰=ÐrDcóJ—t|t«r |jSt|tj«r|St|t
«r*tj |j|j«S|r    tj|«Sy#tj$rYywxYw)z3
    Convert dtype to a pyarrow type instance.
    N) Ú
isinstancer4Ú pyarrow_dtyperWÚDataTyperÚ    timestampr±ÚtzÚfrom_numpy_dtypeÚArrowNotImplementedError©Údtypes rBÚto_pyarrow_typer¾Ûs€ô %œÔ$Ø×"Ñ"Ð"Ü    Eœ2Ÿ;™;Ô    '؈ Ü    Eœ?Ô    +܏|‰|˜EŸJ™J¨¯©Ó1Ð1Ù    ð    ô×&Ñ& uÓ-Ð -ð øô×*Ñ*ò    Ø Ø ð    úsÁ6B  B"Â!B"có&    ‡—eZdZUdZded<ded<dŸd„Zeddd    œd d
„«Zeddd    œ            d d „«Ze    d¡            d¢d „«Z    ed¡d£d „«Z
e    d¤                    d¥d„«Z d¦d„Z d§d„Z d¡d„Z    d¨                    d©d„Zdªd„Zdªd„Zdªd„Zdªd„Zd„Zd«d„Zd„Zd¬d„Zdªd„Zd„Zd­d„Zd®d„Zed¯d„«Zed°d „«Zd°d!„Zd®ˆfd"„ Z ed®d#„«Z!d±d$„Z"d%d&œd²d'„Z#d%d&œd²d(„Z$d%d)d*d+œ                            d³d,„Z%d´ˆfd-„ Z&dµd¶d.„Z'dµd¶d/„Z(dªd0„Z)dªd1„Z*ddd%d2œ                                    d·ˆfd3„Z+e,e-j\«                d¸                                    d¹ˆfd4„ «Z.dºd5„Z/d»d6„Z0e,e-jb«    dµ            d¼d7„«Z1d8„Z2d½d¾d:„Z3e,e-jh«        d¿                            dÀd;„«Z4        dÁ                            dÂd<„Z5d=„Z6dÃd>„Z7dÄd?„Z8dňfd@„ Z9e,e-jt«dde;jxf                            dÆdA„«Z:d¡ˆfdB„    Z=e,e-j|«    dÇ            dÈdD„«Z>dªdE„Z?dµdÉdF„Z@edªdG„«ZAd%d&œ                    dʈfdH„ZBd%d&œ                    dÊdI„ZCd%d&œdˈfdJ„ZDd%ddKœ                    dÌdL„ZEd%ddKœ                    dÌdM„ZFˆfdN„ZGd«dO„ZHd9dPdCd%ddQœ                                    d͈fdR„ZId9dPdCd%ddQœ                                    dÍdS„ZJdÎdT„ZKdµdÏdU„ZLdV„ZM                                dÐdW„ZNe                        dÑdX„«ZOe                        dÒdY„«ZPdZ„ZQ                                        dӈfd[„ ZRdÔd\„ZSe;jxdfd]„ZTd^„ZUd_„ZVd½dÕd`„ZWdÖda„ZXd×db„ZYdØdc„ZZdØdd„Z[de„Z\dÙdÚdf„Z]dÛdÜdg„Z^d½dÕdh„Z_dÝd×di„Z`dÞdßdj„ZadÞdßdk„Zbdàdl„ZcdÞdádm„Zd                dâ                            dãdn„Zedädådo„Zfdædp„Zgdçdq„Zhedr„«Zieds„«Zjedt„«Zkedu„«Zledv„«Zmedw„«Znedx„«Zody„Zpdz„Zqdèd{„Zred|„«Zsed}„«Zted~„«ZueuZveuZwed„«ZxexZyed€„«Zzd„Z{ed‚„«Z|edƒ„«Z}ed„„«Z~ed…„«Zed†„«Z€ed‡„«Zedˆ„«Z‚ed‰„«ZƒeƒZ„edŠ„«Z…ed‹„«Z†edŒ„«Z‡ed„«ZˆedŽ„«Z‰ed„«ZŠed„«Z‹ed‘„«ZŒed’„«Zed“„«ZŽd”„Zdéd•„Z        dê                    dëd–„Z‘        dê            dìd—„Z’        dê            dìd˜„Z“        dê            dìd™„Z”d¡dídš„Z•d¡díd›„Z–dœ„Z—        dê            dìd„Z˜dž„Z™ˆxZšS)îÚArrowExtensionArrayaW
    Pandas ExtensionArray backed by a PyArrow ChunkedArray.
 
    .. warning::
 
       ArrowExtensionArray is considered experimental. The implementation and
       parts of the API may change without warning.
 
    Parameters
    ----------
    values : pyarrow.Array or pyarrow.ChunkedArray
 
    Attributes
    ----------
    None
 
    Methods
    -------
    None
 
    Returns
    -------
    ArrowExtensionArray
 
    Notes
    -----
    Most methods are implemented using `pyarrow compute functions. <https://arrow.apache.org/docs/python/api/compute.html>`__
    Some methods may either raise an exception or raise a ``PerformanceWarning`` if an
    associated compute function is not available based on the installed version of PyArrow.
 
    Please install the latest version of PyArrow to enable the best functionality and avoid
    potential bugs in prior versions of PyArrow.
 
    Examples
    --------
    Create an ArrowExtensionArray with :func:`pandas.array`:
 
    >>> pd.array([1, 1, None], dtype="int64[pyarrow]")
    <ArrowExtensionArray>
    [1, 1, <NA>]
    Length: 3, dtype: int64[pyarrow]
    úpa.ChunkedArrayÚ    _pa_arrayr4Ú_dtypecóR—tr d}t|«‚t|tj«rtj
|g«|_n:t|tj«r||_ntdt|«›d«‚t|j j«|_ y)NzCpyarrow>=10.0.1 is required for PyArrow backed ArrowExtensionArray.zUnsupported type 'z' for ArrowExtensionArray) rÚ ImportErrorrµrWÚArrayÚ chunked_arrayrÂÚ ChunkedArrayr°rYr4rÃ)ÚselfÚvaluesÚmsgs   rBÚ__init__zArrowExtensionArray.__init__%s‚€Ý ØWˆCܘcÓ"Ð "Ü fœbŸh™hÔ 'Ü×-Ñ-¨v¨hÓ7ˆDNÜ ˜¤§¡Ô 0Ø#ˆDNäØ$¤T¨&£\ NÐ2KÐLóð ô! §¡×!4Ñ!4Ó5ˆ rDNF©r½ÚcopycóT—t|«}|j|||¬«}||«}|S)zL
        Construct a new ExtensionArray from a sequence of scalars.
        )Úpa_typerÎ)r¾Ú _box_pa_array)ÚclsÚscalarsr½rÎrÐÚpa_arrayÚarrs       rBÚ_from_sequencez"ArrowExtensionArray._from_sequence3s3€ô
" %Ó(ˆØ×$Ñ$ W°gÀDÐ$ÓIˆÙ(‹mˆØˆ
rDcó—t|«}|]tjj|«s>tjj    |«stjj |«r|}nåtjj |«rddlm}||d¬«}n´tjj|«rddlm}||d¬«j}nytjj|«r¼ddl m }||d¬«}|jdk7r:t|«}t!|tj"tj$f«s*tj&|tj(«d¬    «}t+j,|d|«}    |j/tj0««}nžtjj5|«rdd
lm}    |    |d ¬«}nmtjj;|«rÑt!|tj"tj$f«r|}n*tj&|tj(«d¬    «}t+j,t+j<|d «d |«}t+j,t+j<|d«d|«}|j/tj>««}n}tjjA|«s>tjjC|«stjjE|«rddl#m$}
|
|d¬«}ntKd|›d«‚|jM|||¬«S#tj2$rYŒ)wxYw)zL
        Construct a new ExtensionArray from a sequence of strings.
        Nr)Ú to_datetimeÚraise)Úerrors©Ú to_timedeltar­T©rYÚ from_pandas)Úto_timeÚcoercez1.0Ú1z0.0Ú0)Ú
to_numericzConverting strings to z is not implemented.rÍ)'r¾rWrXÚ    is_binaryÚ    is_stringÚis_large_stringÚ is_timestampÚpandas.core.tools.datetimesrØÚis_dateÚdateÚ is_durationÚpandas.core.tools.timedeltasrÜr±r rµrÆrÈÚarrayÚstringr=rgr    Úint64Ú ArrowInvalidÚis_timeÚpandas.core.tools.timesrßÚ
is_booleanÚequalÚbool_rÚ is_floatingÚ
is_decimalÚpandas.core.tools.numericrãÚNotImplementedErrorrÖ) rÒÚstringsr½rÎrÐrÓrØrÜÚmaskrßrãs            rBÚ_from_sequence_of_stringsz-ArrowExtensionArray._from_sequence_of_strings=sw€ô" %Ó(ˆà ˆO܏x‰x×!Ñ! 'Ô*܏x‰x×!Ñ! 'Ô*܏x‰x×'Ñ'¨Ô0ðŠGÜ X‰X× "Ñ " 7Ô +Ý ?á! '°'Ô:ŠGÜ X‰X× Ñ ˜gÔ &Ý ?á! '°'Ô:×?Ñ?ŠGÜ X‰X× !Ñ ! 'Ô *Ý Aá" 7°7Ô;ˆG؏|‰|˜tÓ#ô˜G“}Ü! '¬B¯H©H´b·o±oÐ+FÔGÜ Ÿh™h w´R·Y±Y³[ÈdÔSGÜŸ*™* T¨4°Ó9ðØ%Ÿl™l¬2¯8©8«:Ó6’GôX‰X× Ñ ˜gÔ &Ý 7ñ˜g¨hÔ7ŠGÜ X‰X×  Ñ   Ô )ô˜'¤B§H¡H¬b¯o©oÐ#>Ô?Ø!‘äŸ(™( 7´·±³È$ÔOÜ—j‘j¤§¡¨'°5Ó!9¸3ÀÓHˆGÜ—j‘j¤§¡¨'°5Ó!9¸3ÀÓHˆGØ—l‘l¤2§8¡8£:Ó.‰Gä H‰H× Ñ  Ô (܏x‰x×#Ñ# GÔ,܏x‰x×"Ñ" 7Ô+å <á  °Ô9‰Gä%Ø(¨¨    Ð1EÐFóð ð×!Ñ! '°¸tÐ!ÓDÐDøôC—‘òÙðúsÆ#M(Í(M>Í=M>có”—t|tj«s t|«s|j    ||«S|j ||«S)zû
        Box value into a pyarrow Array, ChunkedArray or Scalar.
 
        Parameters
        ----------
        value : any
        pa_type : pa.DataType | None
 
        Returns
        -------
        pa.Array or pa.ChunkedArray or pa.Scalar
        )rµrWrœrÚ_box_pa_scalarrÑ)rÒÚvaluerÐs   rBÚ_box_pazArrowExtensionArray._box_pa‡s?€ô  eœRŸY™YÔ '¬|¸EÔ/BØ×%Ñ% e¨WÓ5Ð 5Ø× Ñ  ¨Ó0Ð0rDcóà—t|tj«r|}n-t|«rtjd|¬«}n    t|t
«rc|€ tj |j«}n4|j|jk7r|j|j«}|j}n~t|t«rn|€,tj|j|j¬«}n4|j|jk7r|j|j«}|j}tj||d¬«}| |j|k7r|j|«}|S)zÅ
        Box value into a pyarrow Scalar.
 
        Parameters
        ----------
        value : any
        pa_type : pa.DataType | None
 
        Returns
        -------
        pa.Scalar
        Nr_)r¹TrÝ)rµrWrœr rfr Údurationr±Úas_unitÚ_valuer r¸r¹rYr    )rÒrÿrÐÚ    pa_scalars    rBrþz"ArrowExtensionArray._box_pa_scalar›s€ô eœRŸY™YÔ 'ØŠIÜ %Œ[ÜŸ    ™     $¨WÔ5ŠIô˜%¤Ô+ؐ?Ü Ÿk™k¨%¯*©*Ó5‘GØ—Z‘Z 7§<¡<Ò/Ø!ŸM™M¨'¯,©,Ó7EØŸ ™ ‘ܘE¤9Ô-ؐ?Ü Ÿl™l¨5¯:©:¸%¿(¹(ÔC‘GØ—Z‘Z 7§<¡<Ò/Ø!ŸM™M¨'¯,©,Ó7EØŸ ™ äŸ    ™     %¨gÀ4ÔHˆIà Ð  9§>¡>°WÒ#<Ø!Ÿ™ wÓ/ˆIàÐrDcóŽ—t||«r|j}nkt|tjtjf«r|}n=t|t
«r$|r|j «}|j«}n    t|tj«rQ|Otjj|«stjj|«r|j«}n|rt|«r|j «}|”tjj|«rut|tj«r|j j"dvrCddlm}|||j(¬«j+|j(«}|j-«}    tj.||d¬«}|€_tjj|j4«r6ddlm}||«}|j-«}tj.||d¬«}tjj|j4«rH|j6dkDr9||«}|j9|j j:«}|j}|T|j4|k7rEtjj=|«r|j?«}|S    |jA|«}|S|S#tj0tj2f$rtj.|d¬«}YŒgwxYw#tj0tj2tjBf$rstjjE|j4«s)tjj|j4«r|jG||¬«jcYS‚wxYw)    zë
        Box value into a pyarrow Array or ChunkedArray.
 
        Parameters
        ----------
        value : Sequence
        pa_type : pa.DataType | None
 
        Returns
        -------
        pa.Array or pa.ChunkedArray
        ÚmirrÛ©r±TrÝ©rÞr¼)$rµrÂrWrÆrÈr+rÎÚ__arrow_array__ÚnpÚndarrayrXÚis_large_binaryræÚtolistrrër½ÚkindrìrÜr±rÚto_numpyrírðÚArrowTypeErrorrYÚ
null_countÚfillnaÚna_valueÚ is_dictionaryÚdictionary_encoder    r»rårü)rÒrÿrÐrÎrÔrÜrÕs       rBrÑz!ArrowExtensionArray._box_pa_arrayÃsØ€ô  e˜SÔ !Ø—‘ŠHÜ ˜¤§¡¬"¯/©/Ð:Ô ;ØŠHÜ ˜œÔ /áØŸ
™
› Ø×,Ñ,Ó.ŠHô˜5¤"§*¡*Ô-ØÐ'ä—H‘H×,Ñ,¨WÔ5Ü—x‘x×/Ñ/°Ô8🠙 ›‘Ùœ-¨Ô.àŸ
™
› ðÐ#Ü—H‘H×(Ñ(¨Ô1Ü# E¬2¯:©:Ô6¸%¿+¹+×:JÑ:JÐRVÑ:VõFá$ U°·±Ô>×FÑFÀwÇ|Á|ÓTØŸ™Ó(ð =ÜŸ8™8 E°ÀTÔJð
ˆ¤2§8¡8×#7Ñ#7¸¿ ¹ Ô#FåEá$ UÓ+ØŸ™Ó(ÜŸ8™8 E°ÀTÔJäx‰x×#Ñ# H§M¡MÔ2°x×7JÑ7JÈQÒ7Nñ˜(“mØ—j‘j §¡×!3Ñ!3Ó4ØŸ=™=à Ð  8§=¡=°GÒ#;܏x‰x×%Ñ% gÔ.Ø#×5Ñ5Ó7ð(ˆð%Ø'Ÿ}™}¨WÓ5Hð"ˆˆxˆøôU—O‘O¤R×%6Ñ%6Ð7ò =äŸ8™8 E°tÔ<“ð =ûô6—O‘OÜ×%Ñ%Ü×/Ñ/ðòô
—x‘x×)Ñ)¨(¯-©-Ô8¼B¿H¹H×<TÑ<TØ Ÿ ™ ô=ð
 #×<Ñ<Ø!¨ð =ó ç#™)ò$ððús%ÆKË    LË:LÌLÌB!OÏOcóL—t||«}t|tj«rt    |«s„t|j
t «r.|j
jdk(rtj«}n|j
j}t|«tjg|¬««S|jjdvr|j|«S|jjdk(r*t|«|j j#|««St%d«‚t|t&«r t)|«}|t*ur t-d«}t/|«rt1|«s t%d«‚t|t,«r{|j2|j4k(rna|j4U|j4t    |« kr<|j60|j6dkr!t-|j2d|j6«}|j |}t|tj8«rt|«|«S|j j}|j;«}|€|j
j<Stj>jA|«r3|jBd    k7r$tE|«jG|jB«Stj>jI|«r3|jBd    k7r$tK|«jG|jB«S|S)
a8Select a subset of self.
 
        Parameters
        ----------
        item : int, slice, or ndarray
            * int: The position in 'self' to get.
            * slice: A slice object, where 'start', 'stop', and 'step' are
              integers or None
            * ndarray: A 1-d boolean NumPy ndarray the same length as 'self'
 
        Returns
        -------
        item : scalar or ExtensionArray
 
        Notes
        -----
        For scalar ``item``, return a scalar value suitable for the array's
        type. This should be an instance of ``self.dtype.type``.
        For slice ``key``, return an instance of ``ExtensionArray``, even
        if the slice is length 0 or 1.
        For a boolean mask, return an instance of ``ExtensionArray``, filtered
        to the values where ``item`` is True.
        Úpyarrowr_ÚiuÚbzFOnly integers, slices and integer or boolean arrays are valid indices.Nzuonly integers, slices (`:`), ellipsis (`...`), numpy.newaxis (`None`) and integer or boolean arrays are valid indicesrr­)&r-rµr r ÚlenrÃr,ÚstoragerWrîr¶rYrÇr½rÚtakerÂÚfilterÚ
IndexErrorÚtupler.ÚEllipsisÚslicerrÚstartÚstopÚsteprÈÚas_pyrrXrçr±r rrër )rÉÚitemr²rÿrÐrfs      rBÚ __getitem__zArrowExtensionArray.__getitem__$s`€ô0# 4¨Ó.ˆä dœBŸJ™JÕ 'ܐt”9ô˜tŸ{™{¬KÔ8ØŸ ™ ×+Ñ+¨yÒ8ô "Ÿy™y›{‘Hà#Ÿ{™{×8Ñ8HØ!”t˜D“z¤"×"2Ñ"2°2¸HÔ"EÓFÐFØ—‘—‘ DÑ(Ø—y‘y “Ð&Ø—‘—‘ CÒ'Ø!”t˜D“z $§.¡.×"7Ñ"7¸Ó"=Ó>Ð>ä ð8óðô˜œeÔ $Ü,¨TÓ2ˆDà ”8Ñ ä˜“;ˆDä TŒ?¤:¨dÔ#3ôðLóð ô dœEÔ "àz‰z˜TŸY™YÒ&Øà—    ‘    Ð%Ø—I‘I¤ T£ 
Ò*Ø—I‘IÐ)Ø—I‘I ’Mä˜TŸZ™Z¨¨t¯y©yÓ9à—‘˜tÑ$ˆÜ eœRŸ_™_Ô -Ø”4˜“:˜eÓ$Ð $à—n‘n×)Ñ)ˆGØ—[‘[“]ˆF؈~Ø—{‘{×+Ñ+Ð+Ü—‘×&Ñ& wÔ/°G·L±LÀDÒ4Hä  Ó(×0Ñ0°·±Ó>Ð>Ü—‘×%Ñ% gÔ.°7·<±<À4Ò3Gä  Ó(×0Ñ0°·±Ó>Ð>à rDc#ó K—|jj}|jj}tj
j |«xr|jdk7}tj
j|«xr|jdk7}|jD]o}|j«}|€|–—Œ|r't|«j|j«–—ŒC|r't|«j|j«–—Œl|–—Œqy­w)z5
        Iterate over elements of the array.
        r­N) rÃrrÂrYrWrXrçr±rër&r rr )rÉrrÐÚ box_timestampÚ box_timedeltarÿÚvals       rBÚ__iter__zArrowExtensionArray.__iter__€sÏèø€ð—;‘;×'Ñ'ˆà—.‘.×%Ñ%ˆÜŸ™×-Ñ-¨gÓ6ÒO¸7¿<¹<È4Ñ;Oˆ ÜŸ™×,Ñ,¨WÓ5ÒN¸'¿,¹,È$Ñ:Nˆ Ø—^‘^ò        ˆEØ—+‘+“-ˆC؈{Ø“ÙÜ “n×,Ñ,¨W¯\©\Ó:Ó:ÙÜ “n×,Ñ,¨W¯\©\Ó:Ó:à“    ñ        ùs‚D Dcó—|jS)z)Convert myself to a pyarrow ChunkedArray.)rÂ)rÉrYs  rBr
z#ArrowExtensionArray.__arrow_array__”s €à~‰~ÐrDcó‚—|dur%tjdtt«¬«n|€d}|j    ||¬«S)z?Correctly construct numpy arrays when passed to `np.asarray()`.FaSStarting with NumPy 2.0, the behavior of the 'copy' keyword has changed and passing 'copy=False' raises an error when returning a zero-copy NumPy array is not possible. pandas will follow this behavior starting with pandas 3.0.
This conversion to NumPy requires a copy, but 'copy=False' was passed. Consider using 'np.asarray(..)' instead.©Ú
stacklevelrÍ)ÚwarningsÚwarnÚ FutureWarningrr)rÉr½rÎs   rBÚ    __array__zArrowExtensionArray.__array__˜sF€ð 5‰=Ü M‰Mð2ô Ü+Ó-ö     ðˆ\àˆDà}‰} 5¨tˆ}Ó4Ð4rDcó—tjj|jj«r.t    |«t j |j««Stjj|jj«s3tjj|jj«r td«‚t    |«t j|j««S)Nz-__invert__ is not supported for string dtypes) rWrXrrÂrYr=Ú bit_wise_notråræÚ    TypeErrorÚinvert©rÉs rBÚ
__invert__zArrowExtensionArray.__invert__­s¢€ä 8‰8× Ñ ˜tŸ~™~×2Ñ2Ô 3Ø”4˜“:œbŸo™o¨d¯n©nÓ=Ó>Ð >Ü X‰X× Ñ  §¡× 3Ñ 3Ô 4¼¿¹×8PÑ8PØ N‰N× Ñ ô9
ôÐKÓLÐ Là”4˜“:œbŸi™i¨¯©Ó7Ó8Ð 8rDcóʗ    t|«tj|j««S#tj
$r}t d|j›d«|‚d}~wwxYw)Nz#unary '-' not supported for dtype 'ú')rYr=Únegate_checkedrÂrWr»r8r½)rÉÚerrs  rBÚ__neg__zArrowExtensionArray.__neg__¹s]€ð    Ø”4˜“:œb×/Ñ/°·±Ó?Ó@Ð @øÜ×*Ñ*ò    ÜØ5°d·j±j°\ÀÐCóàð ûð    ús‚-0°A"ÁAÁA"có8—t|«|j«Sr<©rYrÂr:s rBÚ__pos__zArrowExtensionArray.__pos__Ás€ØŒtD‹z˜$Ÿ.™.Ó)Ð)rDcó^—t|«tj|j««Sr<)rYr=Ú abs_checkedrÂr:s rBÚ__abs__zArrowExtensionArray.__abs__Äs €ØŒtD‹zœ"Ÿ.™.¨¯©Ó8Ó9Ð9rDcót—|jj«}|jj«|d<|S)NrÂ)Ú__dict__rÎrÂÚcombine_chunks)rÉÚstates  rBÚ __getstate__z ArrowExtensionArray.__getstate__És0€Ø— ‘ ×"Ñ"Ó$ˆØ!Ÿ^™^×:Ñ:Ó<ˆˆkÑØˆ rDcó —d|vr|jd«}n|d}tj|«|d<|jj    |«y)NÚ_datarÂ)ÚpoprWrÇrHÚupdate)rÉrJÚdatas   rBÚ __setstate__z ArrowExtensionArray.__setstate__ÎsI€Ø eÑ Ø—9‘9˜WÓ%‰Dà˜Ñ%ˆDÜ×-Ñ-¨dÓ3ˆˆkÑØ  ‰ ×јUÕ#rDc    ór—t|j}t|ttj
t f«r1    |j|«}    ||j|«}t7|«St%|«r.    ||j|j|««}t7|«St3|j›dt5|«›«‚#tj$rMtj|||«}tj|tj«¬«}Yt7|«SwxYw#tjj $rct#||«Dcgc]\}}|||«‘Œncc}}w}}}tj|tj«d¬«}Yt7|«SwxYw#tjjtjj f$rÓt'|«t'|«z}    |    }
t    j(t+|«d¬«}t    j|«}     || |
|«||
<n&#t,$rtj|||«}YnwxYwtj|tj«¬«}t/j0|
|d«}Yt7|«SwxYw)Nr_TrÝÚboolr¼z not implemented for )ÚARROW_CMP_FUNCSÚ__name__rµr)r r ÚlistrrÂrWr»r#Úinvalid_comparisonrírõr
rðÚziprr Úzerosrr8r=rgrùrYrÀ) rÉÚotherÚopÚpc_funcÚboxedrpr@rAÚ
res_valuesrûÚvalidÚnp_arrays             rBÚ _cmp_methodzArrowExtensionArray._cmp_methodÖsB€Ü! "§+¡+Ñ.ˆÜ eœn¬b¯j©j¼$Ð?Ô @ð ?ØŸ ™  UÓ+ð ?Ù$ T§^¡^°UÓ;Fô.# 6Ó*Ð*ô%uÔ ð 9Ù  §¡°·±¸eÓ1DÓEô # 6Ó*Ð*ô&Ø—;‘;-Ð4´T¸%³[°MÐBóð øô'×2Ñ2ò?Ü ×3Ñ3°D¸%ÀÓDFÜŸX™X f´2·8±8³:Ô>‘Fô(# 6Ó*Ð*ð-?ûô—6‘6×&Ñ&ò Qä36°t¸UÓ3C×D©4¨1¨a™b  AhÑDùÓD
ÑDÜŸ™ *´2·8±8³:È4ÔP‘ô4# 6Ó*Ð*ð; Qûô—F‘F×3Ñ3´R·V±V×5HÑ5HÐIò
9ܘD“z¤D¨£KÑ/Ø˜ÜŸ™¤# d£)°6Ô:ÜŸ8™8 D›>ðEÙ$& x°¡¸Ó$>F˜5’MøÜ òEÜ ×3Ñ3°D¸%ÀÓD’FðEú䟙 &¬r¯x©x«zÔ:ÜŸ™ E¨6°4Ó8‘ô
# 6Ó*Ð*ð
9úshºD)Á CÁ6"F,ÃAD&Ä%D&Ä),F)ÅE)Å(4F)Æ(F)Æ,BJ6È3IÉJ6É I&É#J6É%I&É&AJ6Ê5J6có–—t|d«rd|j›d}ndt|«›}d|j›d|j›d|›S)Nr½údtype 'r=zobject of type ú operation 'ú' not supported for dtype 'z' with )Úhasattrr½rYrU)rÉrZr[Ú
other_types    rBÚ_op_method_error_messagez,ArrowExtensionArray._op_method_error_messageúsW€Ü 5˜'Ô "Ø" 5§;¡; -¨qÐ1‰Jà*¬4°«;¨-Ð8ˆJà˜"Ÿ+™+˜ð'Ø—j‘j\ ¨¨ ð 6ð    
rDcó:    —|jj}|}|j|«}tjj |«s?tjj |«s tjj|«ri|tjtjfvrtjd|¬«}    |tjur"tj|j||«}n3|tjur!tj||j|«}t|««S|tj$tj&fvrÅ|j}    |}
tjj)|
j«s t!d«‚tj*tj,|
d«d|
«} tj.|    | «}t|«|«Stjj |j«sRtjj|j«s)tjj |j«r¶|tj$tj&fvr”|}    |j}
tjj)|
j«s t!d«‚tj*tj,|
d«d|
«} tj.|    | «}t|«|«St1|tj2«rFtj4|«j7«r#|j8t:vr|j=|«}||j8} | t>urqtjj |«stjj |«rt!|j#||««‚tA|j8›d«‚    | |j|«}t|«|«S#tj$r!}t!|j#||««|‚d}~wwxYw#tj$r!}t!|j#||««|‚d}~wwxYw)NÚr_z'Can only string multiply by an integer.rz not implemented.)!rÂrYrrWrXråræräÚoperatorrrr$rsrfr=Úbinary_join_element_wiser»r8rhr{r|rrgreÚ binary_repeatrµrœÚis_nullr&rUÚARROW_LOGICAL_FUNCSr    ÚNotImplementedrù) rÉrZr[Ú arrow_funcsrÐÚother_originalÚseprpr?ÚbinaryÚintegralÚ pa_integralr\s              rBÚ_evaluate_op_methodz'ArrowExtensionArray._evaluate_op_methodsn€Ø—.‘.×%Ñ%ˆØˆØ— ‘ ˜UÓ#ˆô H‰H× Ñ ˜wÔ '܏x‰x×'Ñ'¨Ô0܏x‰x×!Ñ! 'Õ*à”h—l‘l¤I§N¡NÐ3Ñ3Ü—i‘i ¨Ô1ðØœXŸ\™\Ñ)Ü!#×!<Ñ!<¸T¿^¹^ÈUÐTWÓ!X™ØœyŸ~™~Ñ-Ü!#×!<Ñ!<¸UÀDÇNÁNÐTWÓ!X˜ð
"”t˜D“z &Ó)Ð)ØœŸ ™ ¤i§n¡nÐ5Ò5ØŸ™Ø Ü—x‘x×*Ñ*¨8¯=©=Ô9Ü#Ð$MÓNÐNÜ Ÿj™j¬¯©°¸1Ó)=¸qÀ(ÓK Ü×)Ñ)¨&°+Ó>Ø!”t˜D“z &Ó)Ð)ä H‰H× Ñ ˜uŸz™zÔ *܏x‰x×!Ñ! %§*¡*Ô-܏x‰x×'Ñ'¨¯
©
Ô3Ø”X—\‘\¤9§>¡>Ð2Ñ2؈FØ—~‘~ˆHÜ—8‘8×&Ñ& x§}¡}Ô5ÜРIÓJÐJÜŸ*™*¤R§W¡W¨X°qÓ%9¸1¸hÓGˆKÜ×%Ñ% f¨kÓ:ˆFØ”4˜“:˜fÓ%Ð %ä uœbŸi™iÔ (Ü—
‘
˜5Ó!×'Ñ'Ô)Ø— ‘ Ô2Ñ2ð—J‘J˜wÓ'ˆEà˜bŸk™kÑ*ˆØ ”nÑ $܏x‰x×!Ñ! 'Ô*¬b¯h©h×.FÑ.FÀwÔ.OÜ × =Ñ =¸nÈbÓ QÓRÐRÜ%¨¯©¨ Ð5FÐ&GÓHÐ Hð    XÙ˜TŸ^™^¨UÓ3ˆFðŒtD‹z˜&Ó!Ð!øôW×2Ñ2òÜ#Ø×5Ñ5°nÀbÓIóàðûðûôR×*Ñ*ò    XܘD×9Ñ9¸.È"ÓMÓNÐTWÐ Wûð    Xús1ÃA'P/Ð Q&Ð/Q#ÑQÑQ#Ñ&RÑ9RÒRcó*—tjj|jj«r|j ||t «Stjj|jj«s3tjj|jj«rÍ|tjtjtjfvrœt|tj«r‚|j t"k(ro|j$ddj'd«}t)j*d|›d|j ›dt,t/«¬«|||j1t"««S|j ||t2«S)Nr`Ú_r=z'' operations between boolean dtype and z| are deprecated and will raise in a future version. Explicitly cast the strings to a boolean dtype before operating instead.r0)rWrXrrÂrYrwÚARROW_BIT_WISE_FUNCSrårær$rLrJrMrµr r r½rSrUÚstripr2r3ÚDeprecationWarningrÚastypero)rÉrZr[Úop_names    rBÚ_logical_methodz#ArrowExtensionArray._logical_methodBs%€ô 8‰8× Ñ ˜tŸ~™~×2Ñ2Ô 3Ø×+Ñ+¨E°2Ô7KÓLÐ Lô—‘×"Ñ" 4§>¡>×#6Ñ#6Ô7Ü—8‘8×+Ñ+¨D¯N©N×,?Ñ,?Ô@à”y—~‘~¤y§¡¼    ¿¹ÐGÑGܘ5¤"§*¡*Ô-Ø— ‘ œtÒ#ð—k‘k ! "o×+Ñ+¨CÓ0ˆGÜ M‰MؐG9ÐCÀDÇJÁJÀ<ðPPðPô#Ü+Ó-õ  ñe˜TŸ[™[¬Ó.Ó/Ð /à×+Ñ+¨E°2Ô7JÓKÐ KrDc    ó—|tjtjfvrÌt    |t
«r¼t jj|jj«s3t jj|jj«rVtj|Dcgc]1}t    |t«r    |||«n|jj ‘Œ3c}t"¬«S|j%||t&«Scc}w©Nr¼)rkrr$r‚rµrrWrXrårÂrYrær rír®r½rÚobjectrwÚARROW_ARITHMETIC_FUNCS)rÉrZr[r@s    rBÚ _arith_methodz!ArrowExtensionArray._arith_method]sȀà ”8×#Ñ#¤Y×%7Ñ%7Ð8Ñ 8ܘ5¤$Ô'ä—‘×"Ñ" 4§>¡>×#6Ñ#6Ô7Ü—8‘8×+Ñ+¨D¯N©N×,?Ñ,?Ô@ô—8‘8ð"öàô%/¨q´#Ô$6‘Bq˜%”L¸D¿J¹J×<OÑ<OÑOòôô ð ð×'Ñ'¨¨rÔ3IÓJÐJùò sÂ,6DcóV—t|t«sy|j|jk(S©NF)rµrÀrÂ)rÉrZs  rBÚequalszArrowExtensionArray.equalsps%€Ü˜%Ô!4Ô5Øð~‰~ §¡Ñ0Ð0rDcó—|jS)z2
        An instance of 'ExtensionDtype'.
        )rÃr:s rBr½zArrowExtensionArray.dtypews€ð
{‰{ÐrDcó.—|jjS)zL
        The number of bytes needed to store this object in memory.
        )rÂÚnbytesr:s rBrŠzArrowExtensionArray.nbytes~s€ð
~‰~×$Ñ$Ð$rDcó,—t|j«S)z]
        Length of this array.
 
        Returns
        -------
        length : int
        )rrÂr:s rBÚ__len__zArrowExtensionArray.__len__…s€ô4—>‘>Ó"Ð"rDcóX•—t|«r‡||jjuro|jjdk(rUt    j
|«r@t jt j|j««j«Sytt‰|5|««S)NÚfF)r r½rrr
Úis_floatr=ÚanyÚis_nanrÂr&rSÚsuperÚ __contains__)rÉÚkeyÚ    __class__s  €rBr“z ArrowExtensionArray.__contains__swø€ä Œ9˜ D§J¡J×$7Ñ$7Ñ7؏z‰z‰ #Ò%¬#¯,©,°sÔ*;Ü—v‘vœbŸi™i¨¯©Ó7Ó8×>Ñ>Ó@Ð@ðô”E‘GÑ(¨Ó-Ó.Ð.rDcó4—|jjdkDS)Nr)rÂrr:s rBÚ_hasnazArrowExtensionArray._hasna›s€à~‰~×(Ñ(¨1Ñ,Ð,rDcó\—|jj}|dk(r.tjt    |«tj
¬«S|t    |«k(r.tj t    |«tj
¬«S|jj«j«S)z
        Boolean NumPy array indicating if each value is missing.
 
        This should return a 1-D array the same length as 'self'.
        rr¼)    rÂrr rYrrõÚonesrnr)rÉrs  rBr zArrowExtensionArray.isnaŸst€ð—^‘^×.Ñ.ˆ
Ø ˜Š?Ü—8‘8œC ›I¬R¯X©XÔ6Ð 6Ø œ3˜t›9Ò $Ü—7‘7œ3˜t›9¬B¯H©HÔ5Ð 5à~‰~×%Ñ%Ó'×0Ñ0Ó2Ð2rDT©Úskipnac ó*—|jdd|i|¤ŽS)a
        Return whether any element is truthy.
 
        Returns False unless there is at least one element that is truthy.
        By default, NAs are skipped. If ``skipna=False`` is specified and
        missing values are present, similar :ref:`Kleene logic <boolean.kleene>`
        is used as for logical operations.
 
        Parameters
        ----------
        skipna : bool, default True
            Exclude NA values. If the entire array is NA and `skipna` is
            True, then the result will be False, as for an empty array.
            If `skipna` is False, the result will still be True if there is
            at least one element that is truthy, otherwise NA will be returned
            if there are NA's present.
 
        Returns
        -------
        bool or :attr:`pandas.NA`
 
        See Also
        --------
        ArrowExtensionArray.all : Return whether all elements are truthy.
 
        Examples
        --------
        The result indicates whether any element is truthy (and by default
        skips NAs):
 
        >>> pd.array([True, False, True], dtype="boolean[pyarrow]").any()
        True
        >>> pd.array([True, False, pd.NA], dtype="boolean[pyarrow]").any()
        True
        >>> pd.array([False, False, pd.NA], dtype="boolean[pyarrow]").any()
        False
        >>> pd.array([], dtype="boolean[pyarrow]").any()
        False
        >>> pd.array([pd.NA], dtype="boolean[pyarrow]").any()
        False
        >>> pd.array([pd.NA], dtype="float64[pyarrow]").any()
        False
 
        With ``skipna=False``, the result can be NA if this is logically
        required (whether ``pd.NA`` is True or False influences the result):
 
        >>> pd.array([True, False, pd.NA], dtype="boolean[pyarrow]").any(skipna=False)
        True
        >>> pd.array([1, 0, pd.NA], dtype="boolean[pyarrow]").any(skipna=False)
        True
        >>> pd.array([False, False, pd.NA], dtype="boolean[pyarrow]").any(skipna=False)
        <NA>
        >>> pd.array([0, 0, pd.NA], dtype="boolean[pyarrow]").any(skipna=False)
        <NA>
        r›)r©Ú_reduce©rÉr›Úkwargss   rBrzArrowExtensionArray.any®ó€ðpˆt|‰|Ñ;¨&Ð;°FÑ;Ð;rDc ó*—|jdd|i|¤ŽS)a
        Return whether all elements are truthy.
 
        Returns True unless there is at least one element that is falsey.
        By default, NAs are skipped. If ``skipna=False`` is specified and
        missing values are present, similar :ref:`Kleene logic <boolean.kleene>`
        is used as for logical operations.
 
        Parameters
        ----------
        skipna : bool, default True
            Exclude NA values. If the entire array is NA and `skipna` is
            True, then the result will be True, as for an empty array.
            If `skipna` is False, the result will still be False if there is
            at least one element that is falsey, otherwise NA will be returned
            if there are NA's present.
 
        Returns
        -------
        bool or :attr:`pandas.NA`
 
        See Also
        --------
        ArrowExtensionArray.any : Return whether any element is truthy.
 
        Examples
        --------
        The result indicates whether all elements are truthy (and by default
        skips NAs):
 
        >>> pd.array([True, True, pd.NA], dtype="boolean[pyarrow]").all()
        True
        >>> pd.array([1, 1, pd.NA], dtype="boolean[pyarrow]").all()
        True
        >>> pd.array([True, False, pd.NA], dtype="boolean[pyarrow]").all()
        False
        >>> pd.array([], dtype="boolean[pyarrow]").all()
        True
        >>> pd.array([pd.NA], dtype="boolean[pyarrow]").all()
        True
        >>> pd.array([pd.NA], dtype="float64[pyarrow]").all()
        True
 
        With ``skipna=False``, the result can be NA if this is logically
        required (whether ``pd.NA`` is True or False influences the result):
 
        >>> pd.array([True, True, pd.NA], dtype="boolean[pyarrow]").all(skipna=False)
        <NA>
        >>> pd.array([1, 1, pd.NA], dtype="boolean[pyarrow]").all(skipna=False)
        <NA>
        >>> pd.array([True, False, pd.NA], dtype="boolean[pyarrow]").all(skipna=False)
        False
        >>> pd.array([1, 0, pd.NA], dtype="boolean[pyarrow]").all(skipna=False)
        False
        r›)ÚallrrŸs   rBr£zArrowExtensionArray.allèr¡rDÚ    quicksortÚlast)Ú    ascendingrÚ na_positionc óþ—|rdnd}dddœj|d«}|€td|›«‚tj|j||¬«}|j «}|j tjd¬    «S)
Nr¦Ú
descendingÚat_endÚat_start)r¥Úfirstzinvalid na_position: )ÚorderÚnull_placementF©rÎ)    Úgetr°r=Úarray_sort_indicesrÂrr}r Úintp)    rÉr¦rr§r r­r®rpÚ    np_results             rBÚargsortzArrowExtensionArray.argsort"s€ñ )‘ ¨lˆØ"*°ZÑ@×DÑDÀ[ÐRVÓWˆØ Ð !ÜÐ4°[°MÐBÓCÐ Cä×&Ñ&Ø N‰N %¸ô
ˆð—O‘OÓ%ˆ    Ø×Ѥ§¡¨eÐÓ4Ð4rDcóè•—|jj«d|jjfvs|jr |st    t «d|›«|¬«S|j}t jj|j«r#|jt j««}t    t|«||¬«}tj||«j«S)NrÚargrš)Ú
skip_nulls)rÂÚlengthrr—Úgetattrr’rWrXrërYr    rïr=Úindexr&)rÉr›ÚmethodrPrÿr•s     €rBÚ _argmin_maxzArrowExtensionArray._argmin_max5s°ø€Ø >‰>×  Ñ  Ó " q¨$¯.©.×*CÑ*CÐ&DÑ DØ KŠK¡ð
4”7œ5›7 c¨&¨ NÓ3¸6ÔBÐ Bà~‰~ˆÜ 8‰8× Ñ  §    ¡    Ô *Ø—9‘9œRŸX™X›ZÓ(ˆDà#”œ˜FÓ# D°VÔ<ˆÜx‰x˜˜eÓ$×*Ñ*Ó,Ð,rDcó&—|j|d«S)NÚmin©r¼©rÉr›s  rBÚargminzArrowExtensionArray.argminEó€Ø×Ñ ¨Ó.Ð.rDcó&—|j|d«S)NÚmaxr¿rÀs  rBÚargmaxzArrowExtensionArray.argmaxHrÂrDcó8—t|«|j«S)z·
        Return a shallow copy of the array.
 
        Underlying ChunkedArray is immutable, so a deep copy is unnecessary.
 
        Returns
        -------
        type(self)
        rBr:s rBrÎzArrowExtensionArray.copyKs€ðŒtD‹z˜$Ÿ.™.Ó)Ð)rDcó^—t|«tj|j««S)z|
        Return ArrowExtensionArray without NA values.
 
        Returns
        -------
        ArrowExtensionArray
        )rYr=Ú    drop_nullrÂr:s rBÚdropnazArrowExtensionArray.dropnaWs"€ðŒtD‹zœ"Ÿ,™, t§~¡~Ó6Ó7Ð7rD)ÚlimitÚ
limit_arearÎcó–•—|js|j«S|€|€}tj|«}    |dk(r.t    |«t j |j««S|dk(r.t    |«t j|j««S    t‰|1||||¬«S#tj$rYŒ(wxYw)NÚpadÚbackfill)r»rÊrËrÎ) r—rÎr"Úclean_fill_methodrYr=Úfill_null_forwardrÂÚfill_null_backwardrWr»r’Ú_pad_or_backfill)rÉr»rÊrËrÎr•s     €rBrÒz$ArrowExtensionArray._pad_or_backfillasÉø€ð{Š{à—9‘9“;Ð à ˆ=˜ZÐ/Ü×.Ñ.¨vÓ6ˆFð
ؘU’?Ø%œ4 ›:¤b×&:Ñ&:¸4¿>¹>Ó&JÓKÐKؘzÒ)Ø%œ4 ›:¤b×&;Ñ&;¸D¿N¹NÓ&KÓLÐLð*ô‰wÑ'Ø °:ÀDð(ó
ð    
øô×.Ñ.ò ñ
ð  ús¸2B2Á+2B2Â2CÃCcóÞ•—t||«\}}|js|j«S|t‰|||||¬«S|t‰||||¬«St |t jtf«r:t|«t|«k7r#tdt|«›dt|«›«‚    |j||jj¬«}    t|«t%j&|j|¬    ««S#tj$r$}d|›d|j ›d}t#|«|‚d}~wwxYw#tj($rYnwxYwt‰|||||¬«S)
N)rÿr»rÊrÎ)r»rÊrÎz'Length of 'value' does not match. Got (z )  expected )rÐúInvalid value 'ú ' for dtype 'r=)Ú
fill_value)rr—rÎr’rrµr r r)rr°rrÂrYrWrr½r8r=Ú    fill_nullr»)    rÉrÿr»rÊrÎrÖr?rËr•s            €rBrzArrowExtensionArray.fillnashø€ô/¨u°fÓ=‰ ˆˆvà{Š{à—9‘9“;Ð à Ð Ü‘7‘>¨°fÀEÐPT>ÓUÐ Uà Ð Ü‘7‘>¨°uÀ4>ÓHÐ Hä eœbŸj™j¬.Ð9Ô :ô5‹zœS ›YÒ&Ü Ø=¼cÀ%»j¸\ðJ!Ü!$ T£  ð-óðð
    *ØŸ™ e°T·^±^×5HÑ5H˜ÓIˆJð
    Ø”4˜“:œbŸl™l¨4¯>©>ÀjÔQÓRÐ Røô × Ñ ò    *Ø# E 9¨M¸$¿*¹*¸ÀQÐGˆCܘC“. cÐ )ûð    *ûô ×*Ñ*ò    ñ
ð     úô‰w‰~ E°&ÀÈDˆ~ÓQÐQs*Â1'D    Ã/EÄ    EÄD;Ä;EÅEÅEcó—t|«s$tjt|«t¬«St    j
|j tj|d¬«¬«}tj|tj¬«S)Nr¼Tr    )Ú    value_set)
rr rYrSr=Úis_inrÂrWrírõ)rÉrÊrps   rBÚisinzArrowExtensionArray.isin¯sU€ä6Œ{Ü—8‘8œC ›I¬TÔ2Ð 2ä—‘˜$Ÿ.™.´B·H±H¸VÐQUÔ4VÔWˆôx‰x˜¤b§h¡hÔ/Ð/rDcóf—|jj«}||jjfS)a+
        Return an array and missing value suitable for factorization.
 
        Returns
        -------
        values : ndarray
        na_value : pd.NA
 
        Notes
        -----
        The values returned by this method are also used in
        :func:`pandas.util.hash_pandas_object`.
        )rÂrr½r)rÉrÊs  rBÚ_values_for_factorizez)ArrowExtensionArray._values_for_factorize¹s+€ð—‘×(Ñ(Ó*ˆØt—z‘z×*Ñ*Ð*Ð*rDcóð—|rdnd}|j}|j}trBtjj |«r#|j tj««}tjj|j«r|}n|j|¬«}|j«dk(r`tjgtj¬«}t|«tjg|jj¬««}nŽ|j!«}|j"}    |    j$dkDrt'j(|    d«}    |    j+dd    ¬
«j-tjd¬ «}t|«|j.«}trHtjj |«r)t t0|j-|j2««}||fS) NrûÚencode)Ú null_encodingrr¼r_r©FT)Úzero_copy_onlyÚwritabler¯)rÂrYrrWrXrër    rïrrr¸r rír²rÇÚ
value_typerIÚindicesrr=r×rr}Ú
dictionaryrÀr½)
rÉÚuse_na_sentinelràrPrÐÚencodedräÚuniquesÚcombinedÚ
pa_indicess
          rBÚ    factorizezArrowExtensionArray.factorizeÊsx€ñ
#2™°xˆ à~‰~ˆØ—)‘)ˆÝ ¤B§H¡H×$8Ñ$8¸Ô$Aà—9‘9œRŸX™X›ZÓ(ˆDä 8‰8× !Ñ ! $§)¡)Ô ,؉Gà×,Ñ,¸=Ð,ÓIˆGØ >‰>Ó ˜qÒ  Ü—h‘h˜r¬¯©Ô1ˆGØ ”d˜4“j¤×!1Ñ!1°"¸7¿<¹<×;RÑ;RÔ!SÓT‰Gð×-Ñ-Ó/ˆHØ!×)Ñ)ˆJØ×$Ñ$ qÒ(ÜŸ\™\¨*°bÓ9
Ø ×)Ñ)¸ÈÐ)ÓN×UÑUÜ—‘˜eðVóˆGð!”d˜4“j ×!4Ñ!4Ó5ˆGå ¤B§H¡H×$8Ñ$8¸Ô$AÜÔ.°·±¸t¿z¹zÓ0JÓKˆGؘÐÐrDcó0—tt|«›d«‚)NzA does not support reshape as backed by a 1D pyarrow.ChunkedArray.)rùrY)rÉÚargsr s   rBÚreshapezArrowExtensionArray.reshapeís"€Ü!ܐD‹zˆlð6ð 7ó
ð    
rDrcób—t|«tj|j|¬««S)aŽ
        Round each value in the array a to the given number of decimals.
 
        Parameters
        ----------
        decimals : int, default 0
            Number of decimal places to round to. If decimals is negative,
            it specifies the number of positions to the left of the decimal point.
        *args, **kwargs
            Additional arguments and keywords have no effect.
 
        Returns
        -------
        ArrowExtensionArray
            Rounded values of the ArrowExtensionArray.
 
        See Also
        --------
        DataFrame.round : Round values of a DataFrame.
        Series.round : Round values of a Series.
        )Úndigits)rYr=ÚroundrÂ)rÉÚdecimalsrír s    rBrñzArrowExtensionArray.roundós$€ð,ŒtD‹zœ"Ÿ(™( 4§>¡>¸8ÔDÓEÐErDcóÌ—|jr td«‚t|t«r|j    t
«}d}t|j t«ri|j j}tjj|«stjj|«r|jdk(rt
}|j|¬«j|||¬«S)NzOsearchsorted requires array to be sorted, which is impossible with NAs present.r­r¼)ÚsideÚsorter)r—r°rµr)r}r‚r½r4r¶rWrXrçrër±rÚ searchsorted)rÉrÿrôrõr½r²s      rBröz ArrowExtensionArray.searchsorted s³€ð ;Š;Üð$óð ô eœ^Ô ,Ø—L‘L¤Ó(ˆEàˆÜ d—j‘j¤*Ô -Ø—z‘z×/Ñ/ˆHä—‘×%Ñ% hÔ/´2·8±8×3GÑ3GÈÔ3QØ—-‘- 4Ò'ôØ}‰} 5ˆ}Ó)×6Ñ6°uÀ4ÐPVÐ6ÓWÐWrDcóŽ—tj|«}t|j«dk(r|dk\j    «r t d«‚|j dkDr1|j«t|j«k\r t d«‚|rÄ|dk}|j    «r…t|t|j««tj||¬«}|jj|«}t|«rt|«|«St|«|«}|||<|St|«|jj|««S|dkj    «r8tj|«}||dkxxt|j«z cc<t|«|jj|««S)a‘
        Take elements from an array.
 
        Parameters
        ----------
        indices : sequence of int or one-dimensional np.ndarray of int
            Indices to be taken.
        allow_fill : bool, default False
            How to handle negative values in `indices`.
 
            * False: negative values in `indices` indicate positional indices
              from the right (the default). This is similar to
              :func:`numpy.take`.
 
            * True: negative values in `indices` indicate
              missing values. These values are set to `fill_value`. Any other
              other negative values raise a ``ValueError``.
 
        fill_value : any, optional
            Fill value to use for NA-indices when `allow_fill` is True.
            This may be ``None``, in which case the default NA value for
            the type, ``self.dtype.na_value``, is used.
 
            For many ExtensionArrays, there will be two representations of
            `fill_value`: a user-facing "boxed" scalar, and a low-level
            physical NA value. `fill_value` should be the user-facing version,
            and the implementation should handle translating that to the
            physical version for processing the take if necessary.
 
        Returns
        -------
        ExtensionArray
 
        Raises
        ------
        IndexError
            When the indices are out of bounds for the array.
        ValueError
            When `indices` contains negative values other than ``-1``
            and `allow_fill` is True.
 
        See Also
        --------
        numpy.take
        api.extensions.take
 
        Notes
        -----
        ExtensionArray.take is called by ``Series.__getitem__``, ``.loc``,
        ``iloc``, when `indices` is a sequence of values. Additionally,
        it's called by :meth:`Series.reindex`, or any other method
        that causes realignment, with a `fill_value`.
        rzcannot do a non-empty takez!out of bounds value in 'indices'.©rû)r Ú
asanyarrayrrÂrrÚsizerÄr/rWrírr rYrÎ)rÉräÚ
allow_fillrÖÚ indices_arrayÚ    fill_maskrps       rBrzArrowExtensionArray.take%s{€ôvŸ ™  gÓ.ˆ ä ˆt~‰~Ó  !Ò #¨¸!Ñ);×(@Ñ(@Ô(BÜÐ9Ó:Ð :Ø × Ñ  Ò ! m×&7Ñ&7Ó&9¼SÀÇÁÓ=PÒ&PÜÐ@ÓAÐ Aá Ø%¨Ñ)ˆI؏}‰}ŒÜ  ´°D·N±NÓ0CÔDä "§¡¨¸YÔ G ØŸ™×,Ñ,¨]Ó;Ü˜
Ô#Ø%œ4 ›: fÓ-Ð-ð$œ˜d› FÓ+Ø$.yÑ!ؐ ð"”t˜D“z $§.¡.×"5Ñ"5°gÓ">Ó?Ð?ð Ñ!×&Ñ&Ô(ä "§¡¨ Ó 6 ؘm¨aÑ/Ó0´C¸¿¹Ó4GÑGÓ0Ø”4˜“:˜dŸn™n×1Ñ1°-Ó@ÓAÐ ArDcóî—|jj}tjj    |«r|j «Stjj |«r|j«S|S)z"Maybe convert to a datelike array.)rÂrYrWrXrçÚ_to_datetimearrayrëÚ_to_timedeltaarray)rÉrÐs  rBÚ_maybe_convert_datelike_arrayz1ArrowExtensionArray._maybe_convert_datelike_arraysX€à—.‘.×%Ñ%ˆÜ 8‰8×  Ñ   Ô )Ø×)Ñ)Ó+Ð +Ü X‰X× !Ñ ! 'Ô *Ø×*Ñ*Ó,Ð ,؈ rDcó~—ddlm}m}|jj}t
j j|«sJ‚tjd|j›d«}||j|j«}|jj«}|j|«}|j||¬«S)z;Convert a pyarrow timestamp typed array to a DatetimeArray.r)r¤Ú tz_to_dtypezM8[ú]r¼)Úpandas.core.arrays.datetimesr¤rrÂrYrWrXrçr r½r±r¹rr}Ú _simple_new)rÉr¤rrÐÚnp_dtyper½r`s       rBrÿz%ArrowExtensionArray._to_datetimearrayŠs”€÷    
ð
—.‘.×%Ñ%ˆÜx‰x×$Ñ$ WÔ-Ð-Ð-Ü—8‘8˜c '§,¡, ¨qÐ1Ó2ˆÙ˜GŸJ™J¨¯ © Ó5ˆØ—>‘>×*Ñ*Ó,ˆØ—?‘? 8Ó,ˆØ(ˆ}×(Ñ(¨¸Ô?Ð?rDcó@—ddlm}|jj}tj
j |«sJ‚tjd|j›d«}|jj«}|j|«}|j||¬«S)z;Convert a pyarrow duration typed array to a TimedeltaArray.rr¥zm8[rr¼) Úpandas.core.arrays.timedeltasr¦rÂrYrWrXrër r½r±rr}r)rÉr¦rÐrr`s     rBrz&ArrowExtensionArray._to_timedeltaarray™s|€å@à—.‘.×%Ñ%ˆÜx‰x×#Ñ# GÔ,Ð,Ð,Ü—8‘8˜c '§,¡, ¨qÐ1Ó2ˆØ—>‘>×*Ñ*Ó,ˆØ—?‘? 8Ó,ˆØ)ˆ~×)Ñ)¨(¸(ÔCÐCrDc󀕗t|j«rtj|t¬«St
‰|«Sr)rr½r Úasarrayr‚r’Ú_values_for_json)rÉr•s €rBr z$ArrowExtensionArray._values_for_json¤s.ø€Ü ˜DŸJ™JÔ 'Ü—:‘:˜d¬&Ô1Ð 1܉wÑ'Ó)Ð)rDcóT—|}t||||j«\}}|jj}|jr*t    |«st
j j|«r|}n|j|«}d}t
j j|«st
j j|«rT|tk7r(||jjurtj}|j!«j#||¬«}|St
j j%|«st
j j'|«rAt)j*t-|«|¬«}|jr|||j    «<|St
j j|«r2| t    |«rd}t)j.t1|«||¬«}|S|jrNt
j j3|«rr|t(j4us|tjurNt7|«rC|jj#«}||j9|d¬«}|r|j;«}|S|€Pt j*g|¬«j#d¬«}t=||«r |j}nt(j>}t)j@t1|«|¬«}|j    «}    |||    <||    jj#«||    <|S)NF©r½rr¼)rÖr½r¯r_©rá)!r(r—rÂrYr rWrXrnrrçrër‚r½rr
Ú
no_defaultrrrñrér rírVÚfullrröÚnanrr}rÎrÚobject_Úempty)
rÉr½rÎrÚoriginal_na_valuerÐrPrprrûs
          rBrzArrowExtensionArray.to_numpy©s}€ð%ÐÜ2°4¸ÀÈ$Ï+É+ÓV‰ˆˆxØ—.‘.×%Ñ%ˆØ{Š{œd 8œn´·±×0@Ñ0@ÀÔ0I؉Dà—;‘;˜xÓ(ˆD؈Dä 8‰8×  Ñ   Ô )¬R¯X©X×-AÑ-AÀ'Ô-JàœŠ 8¨t¯z©z×/BÑ/BÑ#BÜŸ>™>Ø×7Ñ7Ó9×BÑBØ hðCóˆFðJˆ ôEX‰X× Ñ ˜gÔ &¬"¯(©(×*:Ñ*:¸7Ô*Cô—X‘Xœd 4›j°Ô6ˆF؏{Š{Ø&.t—y‘y“{Ñ#ð:ˆ ô9X‰X× Ñ ˜gÔ &ØÐ ¤T¨(¤^ؐܗW‘WœS ›Y°8À5ÔIˆFð2ˆ ð1—’Ü H‰H×  Ñ   Ô )àœBŸF™FÑ"Ø$¬¯©Ñ6Ü" 5Ô)ð—^‘^×,Ñ,Ó.ˆFØÐ ØŸ™ u°5˜Ó9ÙØŸ™›ðˆ ðˆ}ÜŸ™ ¨'Ô2×;Ñ;È5Ð;ÓQÜ# E¨8Ô4Ø!ŸK™K‘EäŸJ™JEÜ—X‘Xœc $›i¨uÔ5ˆFØ—9‘9“;ˆDØ#ˆF4‰LØ  $ ™K×1Ñ1×:Ñ:Ó<ˆFD5‰M؈ rDc󆕗t|j«rt|j«||¬«St‰|||«S)N)Ú    na_action)rr½r%rr’Úmap)rÉÚmapperrr•s   €rBrzArrowExtensionArray.mapäs5ø€Ü ˜DŸJ™JÔ 'ܘTŸ]™]›_¨fÀ    ÔJÐ Jä‘7‘;˜v yÓ1Ð 1rDÚkeepcóΗ|jj}tjj    |«stjj |«r|j d¬«}nÉtjj|«r|j d¬«}n—tjj|«re|jdk(rtj«}ntj«}|jt|««}|j d¬«}n|j«d}|jr|j!«nd}t#j$|||¬«S)Nr)rFé )rrû)rÂrYrWrXrörrróÚ is_temporalÚ    bit_widthÚint32rïr}r4rër—r ÚalgosÚ
duplicated)rÉrrÐrÊrÕrûs      rBr!zArrowExtensionArray.duplicatedêsü€ð—.‘.×%Ñ%ˆÜ 8‰8× Ñ  Ô (¬B¯H©H×,?Ñ,?ÀÔ,HØ—]‘]¨A]Ó.‰FÜ X‰X×  Ñ   Ô )Ø—]‘]¨E]Ó2‰FÜ X‰X× !Ñ ! 'Ô *Ø× Ñ  BÒ&ÜŸ(™(›*‘äŸ(™(›*Ø—+‘+œj¨Ó1Ó2ˆCØ—\‘\¨1\Ó-‰Fð—^‘^Ó% aÑ(ˆFà"Ÿkškˆty‰yŒ{¨tˆÜ×Ñ ¨T¸Ô=Ð=rDcó¤—|jj}trMtjj |«r.|jj tj««}n |j}tj|«}tr0tjj |«r|j |«}t|«|«S)z€
        Compute the ArrowExtensionArray of unique values.
 
        Returns
        -------
        ArrowExtensionArray
        )
rÂrYrrWrXrër    rïr=Úunique)rÉrÐrPÚ    pa_results    rBr#zArrowExtensionArray.uniquesŠ€ð—.‘.×%Ñ%ˆå ¤B§H¡H×$8Ñ$8¸Ô$Aà—>‘>×&Ñ&¤r§x¡x£zÓ2‰Dà—>‘>ˆDä—I‘I˜d“Oˆ    å ¤B§H¡H×$8Ñ$8¸Ô$AØ!Ÿ™ wÓ/ˆIàŒtD‹z˜)Ó$Ð$rDcó®—|jj}trMtjj |«r.|jj tj««}n |j}ddlm    }m
}|j«}|jd«}|jd«}|rA|jdkDr2|j«}    |j|    «}|j|    «}tr0tjj |«r|j |«}t!|«}|t|«|««}
|||
dd¬«S)a@
        Return a Series containing counts of each unique value.
 
        Parameters
        ----------
        dropna : bool, default True
            Don't include counts of missing values.
 
        Returns
        -------
        counts : Series
 
        See Also
        --------
        Series.value_counts
        r)ÚIndexr£r`ÚcountF)rºÚnamerÎ)rÂrYrrWrXrër    rïÚpandasr&r£Ú value_countsÚfieldrÚis_validrrÀ) rÉrÉrÐrPr&r£ÚvcrÊÚcountsrûrºs            rBr*z ArrowExtensionArray.value_countss€ð"—.‘.×%Ñ%ˆÝ ¤B§H¡H×$8Ñ$8¸Ô$Aà—>‘>×&Ñ&¤r§x¡x£zÓ2‰Dà—>‘>ˆD÷    
ð
× Ñ Ó  ˆà—‘˜!“ˆØ—‘˜!“ˆÙ d—o‘o¨Ò)Ø—?‘?Ó$ˆDØ—]‘] 4Ó(ˆFØ—]‘] 4Ó(ˆFå ¤B§H¡H×$8Ñ$8¸Ô$AØ—[‘[ Ó)ˆFä$ VÓ,ˆáj”d˜4“j Ó(Ó)ˆáf E°¸eÔDÐDrDcó,—|Dcgc]#}|jj«D]}|‘ŒŒ%}}}|djdk(rtj«}n|djj
}tj ||¬«}||«Scc}}w)zÕ
        Concatenate multiple ArrowExtensionArrays.
 
        Parameters
        ----------
        to_concat : sequence of ArrowExtensionArrays
 
        Returns
        -------
        ArrowExtensionArray
        rrîr_)rÂÚ
iterchunksr½rWÚ large_stringr¶rÇ)rÒÚ    to_concatÚearíÚchunksr²rÕs       rBÚ_concat_same_typez%ArrowExtensionArray._concat_same_typeHs„€ð#,×S˜B¸¿¹×9PÑ9PÓ9RÒS°’%ÐS%ÐSˆÑSØ Q‰<× Ñ  Ò )ä—‘Ó(‰Hà  ‘|×)Ñ)×7Ñ7ˆHÜ×јv¨HÔ5ˆÙ3‹xˆùóTs†(Bc ó
•—t|«r|jd||dœ|¤ŽSdddddœj||«}tt|d«}|€t ‰ ||fd|i|¤ŽS|j}|j}tjj|«xr|d    vxs&tjj|«xr|d
k(}|rV|jd k(r$|jtj««}n#|jtj ««}    ||fd |i|¤Ž}    |r|    j|«}    t|«|    «S#tj"$r$}
d |›d|j$›d} t'| «|
‚d}
~
wwxYw)a¶
        Return an ExtensionArray performing an accumulation operation.
 
        The underlying data type might change.
 
        Parameters
        ----------
        name : str
            Name of the function, supported values are:
            - cummin
            - cummax
            - cumsum
            - cumprod
        skipna : bool, default True
            If True, skip NA values.
        **kwargs
            Additional keyword arguments passed to the accumulation function.
            Currently, there is no supported kwarg.
 
        Returns
        -------
        array
 
        Raises
        ------
        NotImplementedError : subclass does not define accumulations
        )r(r›Úcumulative_maxÚcumulative_minÚcumulative_prod_checkedÚcumulative_sum_checked)ÚcummaxÚcumminÚcumprodÚcumsumNr›)r;r<r>rr·rdrer=©)rÚ_str_accumulater°r¹r=r’Ú _accumulaterÂrYrWrXrrërr    rrïr»r½r8) rÉr(r›r Ú pyarrow_nameÚ pyarrow_methÚ data_to_accumr²Úconvert_to_intrpr?rËr•s             €rBrAzArrowExtensionArray._accumulate^s’ø€ô< ˜4Ô  Ø'4×'Ñ'ÐK¨T¸&ÑKÀFÑKÐ Kð'Ø&Ø0Ø.ñ    
÷
‰#ˆdD‹/ð     ô œr <°Ó6ˆ Ø Ð Ü‘7Ñ& tÑE°FÐE¸fÑEÐ EàŸ™ˆ à ×%Ñ%ˆô H‰H×  Ñ   Ó *Ò K¨tÐ7KÐ/KòCäh‰h×"Ñ" 8Ó,ÒA°¸Ñ1Að    ñ Ø×!Ñ! RÒ'Ø -× 2Ñ 2´2·8±8³:Ó >‘ à -× 2Ñ 2´2·8±8³:Ó > ð    *Ù! -ÑM¸FÐMÀfÑMˆFñ
Ø—[‘[ Ó*ˆFàŒtD‹z˜&Ó!Ð!øô×*Ñ*ò    *Ø ˜vÐ%@ÀÇÁÀ ÈAÐNˆCܘC“. cÐ )ûð    *úsÄ E Å FÅE=Å=Fc óÈ—|dk(rd|›d|j›d}t|«‚d}d}|j}tjtj
j tjj dœ|}|jrðtj|«}tj|«tjd«k(rt|«|«S|rG|dk(rtj|d    «}ntj |«}tj"|«}nVtj$|d«j'«}    tj(t+|«|    z
|j¬
«}|d|    }tj,||«|j¬
«}
|tj.|
|g«}
n|tj0|d|
«}
t|«|
«} | S) z¨
        Accumulate implementation for strings, see `_accumulate` docstring for details.
 
        pyarrow.compute does not implement these methods for strings.
        r=rdrer=N)r>r<r;Tr>rjr_)r½r8rÂr r>ÚminimumÚ
accumulateÚmaximumr—r=rnr£rWrfrYr×rÐrÑrºr&ÚnullsrríÚ concat_arraysrg) rÉr(r›r rËÚtailÚna_maskrÔÚnp_funcÚidxr$rps             rBr@z#ArrowExtensionArray._str_accumulate¢s™€ð 9Ò Ø ˜vÐ%@ÀÇÁÀ ÈAÐNˆCܘC“.Ð  ð!%ˆØ#'ˆØ—>‘>ˆä—i‘iÜ—j‘j×+Ñ+Ü—j‘j×+Ñ+ñ
ð ñ    ˆð ;Š;Ü—j‘j Ó*ˆG܏v‰vg‹¤"§)¡)¨D£/Ò1Ø!”t˜D“z (Ó+Ð+ÙØ˜8Ò#Ü!Ÿ|™|¨H°bÓ9‘Hô "×3Ñ3°HÓ=HÜ!×4Ñ4°XÓ>‘Hô—h‘h˜w¨Ó-×3Ñ3Ó5Ü—x‘x¤ H£ °Ñ 3¸(¿-¹-ÔHØ# D S˜>ô—H‘H™W XÓ.°X·]±]ÔCˆ    à Ð Ü×(Ñ(¨)°TÐ):Ó;‰IØ Ð  ÜŸ
™
 7¨D°)Ó<ˆIà”d“˜IÓ&ˆØˆ rDc óª
•‡—‰jj}‰j}trinddi}|dvrîtjj |«s]tjj |«s>tjj|«stjj|«rrtjj|«r.‰jjtj««}n ‰j}tj|d«}|}nà|dvrMtjj|«r.‰jjtj««}n|dvr‹tjj|«rl|j}    |    dk(r.‰jjtj««}n-‰jjtj««}|dk(rˆfd    „}
n„|d
k(rCtjj!|«stjj#|«rd!d „}
n<d d dddœj%||«} t't| d«}
|
€t)‰‰T|fd|i|¤ŽS|dvr
d|vrd|d<n
|dk(rd|d<    |
|fd|i|¤Ž} |dk(r| d} tj8| «j;«r| S|dvr0tjj|«r| j|«} |dvr’tjj|«rsts\|j}    |    dk(r&| jtj«fi|¤Ž} n%| jtj«fi|¤Ž} | j|«} |dvr:tjj|«r| jtj«fi|¤Ž} tjj|«r| j|«} | Stjj=|«r1t?|«}| jtj@|««} | StjjC|«r&| jtj@d ««} | S| jtj@|jD««} | S#t,t.t0f$rN} dt‰«j2›d‰j4›d|›dtj6›d|›d }t1|«| ‚d} ~ wwxYw)"a
        Return a pyarrow scalar result of performing the reduction operation.
 
        Parameters
        ----------
        name : str
            Name of the function, supported values are:
            { any, all, min, max, sum, mean, median, prod,
            std, var, sem, kurt, skew }.
        skipna : bool, default True
            If True, skip NaN values.
        **kwargs
            Additional keyword arguments passed to the reduction function.
            Currently, `ddof` is the only supported kwarg.
 
        Returns
        -------
        pyarrow scalar
 
        Raises
        ------
        TypeError : subclass does not define reductions
        rVF)rr£r)r¾rÄÚsum)ÚmedianÚmeanÚstdÚsemrrUcóĕ—tj|fd|i|¤Ž}tjtj‰j««}tj
||«S)Nr·)r=ÚstddevÚ sqrt_checkedr'rÂra)rPr·r Ú    numeratorÚ denominatorrÉs     €rBrCz9ArrowExtensionArray._reduce_pyarrow.<locals>.pyarrow_methsIø€ÜŸI™I dÑL°zÐLÀVÑL    Ü Ÿo™o¬b¯h©h°t·~±~Ó.FÓG Ü×(Ñ(¨°KÓ@Ð@rDrQcó—|jdkDrtj|«nd}|rƒ|dkDrJtt    |«f|€dn|j «|«r!t jd|j¬«S|jdkDr_|jtj|««}n:|€tt    |«fd|«r!t jd|j¬«St jj|j«r#|jt j««}t jj!dt    |«g|j#««d}tj$|d«S)Nrr_rj)rr=rnr0rrrWrfrYrr9rXrær    rîÚ    ListArrayÚ from_arraysrIÚ binary_join)rPr·Ú    min_countrûÚ    data_lists     rBrCz9ArrowExtensionArray._reduce_pyarrow.<locals>.pyarrow_meths&€Ø+/¯?©?¸QÒ+>”r—z‘z $Ô'ÀDÙØ  1’}Ô)>ܘT›˜ Ø $  ™°$·-±-³/Ø!ô*ô
 "Ÿy™y¨°D·I±IÔ>Ð>Ø—‘¨Ò*ð $Ÿ{™{¬2¯9©9°T«?Ó;™àÐ'Ô+@ܘT›˜  d¨Iô,ô "Ÿy™y¨°D·I±IÔ>Ð>ä—8‘8×+Ñ+¨D¯I©IÔ6àŸ9™9¤R§Y¡Y£[Ó1DÜŸL™L×4Ñ4Øœ˜D›    N D×$7Ñ$7Ó$9óàñ    ô—~‘~ i°Ó4Ð4rDÚquantileÚproductrWÚvariance)rRÚprodrTÚvarNr›r_rRgà?Úqr·r=z ' with dtype z does not support reduction 'z' with pyarrow version z. 'z(' may be supported by upgrading pyarrow.)rRrS)rTrUrª©r)#rÂrYrrWrXrrörër÷r    rïr=rcrrrrårær°r¹r’ržÚAttributeErrorrùr8rUr½Ú __version__rnr&rñr³rrér±)rÉr(r›r rÐÚdata_to_reduceÚ cast_kwargsÚ data_to_cmpÚnot_eqÚnbitsrCrBrpr?rËr±r•s`               €rBÚ_reduce_pyarrowz#ArrowExtensionArray._reduce_pyarrowÕsXù€ð0—.‘.×%Ñ%ˆàŸ™ˆå0‘b°v¸u°oˆ à >Ñ !Ü H‰H× Ñ  Ô (܏x‰x×#Ñ# GÔ,܏x‰x×#Ñ# GÔ,܏x‰x×"Ñ" 7Ô+ô
x‰x×#Ñ# GÔ,Ø"Ÿn™n×1Ñ1´"·(±(³*Ó=‘ à"Ÿn™n ä—\‘\ +¨qÓ1ˆFØ#‰Nà Ð*Ñ *¬r¯x©x×/CÑ/CÀGÔ/LØ!Ÿ^™^×0Ñ0´·±³Ó<‰Nà Ð5Ñ 5¼"¿(¹(×:NÑ:NÈwÔ:WØ×%Ñ%ˆEؘŠ{Ø!%§¡×!4Ñ!4´R·X±X³ZÓ!@‘à!%§¡×!4Ñ!4´R·X±X³ZÓ!@à 5Š=õ Að
UŠ]Ü H‰H× Ñ ˜wÔ '¬2¯8©8×+CÑ+CÀGÔ+Lô 5ð:%Ø!ØØ!ñ    ÷
‰c$˜‹oð ô#¤2 |°TÓ:ˆLØÐ#ä‘w‘ tÑE°FÐE¸fÑEÐEð >Ñ ! k¸Ñ&?Ø"#ˆF;Ò Ø XÒ àˆF3‰Kð        *Ù! .ÑN¸VÐNÀvÑNˆFð 8Ò à˜A‘YˆFÜ :‰:fÓ × #Ñ #Ô %؈Mà Ð(Ñ (¬R¯X©X×-AÑ-AÀ'Ô-JØ—[‘[ Ó)ˆFØ Ð%Ñ %¬"¯(©(×*>Ñ*>¸wÔ*GÝ'Ø×)Ñ)Ø˜B’;Ø(˜VŸ[™[¬¯©«ÑC°{ÑC‘Fà(˜VŸ[™[¬¯©«ÑC°{ÑCFØ—[‘[ Ó)ˆFØ >Ò !¤b§h¡h×&:Ñ&:¸7Õ&CØ V—[‘[¤§¡£Ñ;¨{Ñ;ˆF܏x‰x×#Ñ# GÔ,ØŸ™ WÓ-ðˆ ô—‘×!Ñ! 'Ô*Ü-¨gÓ6ØŸ™¤R§[¡[°Ó%6Ó7ðˆ ô—‘×!Ñ! 'Ô*àŸ™¤R§[¡[°Ó%5Ó6ð
ˆ ð Ÿ™¤R§[¡[°·±Ó%>Ó?àˆ øôMÔ 3´YÐ?ò    *à”D˜“J×'Ñ'Ð(¨ °d·j±j°\ðB/Ø/3¨fð5ÜŸ>™>Ð*¨#¨d¨Vð4%ð&ð ô ˜C“. cÐ )ûð    *úsÊ+ S0Ó0UÔA    U Õ U©r›Úkeepdimsc óˆ—|j|f||dœ|¤Ž}t|tj«rt    |«|«S|S)a
        Return a scalar result of performing the reduction operation.
 
        Parameters
        ----------
        name : str
            Name of the function, supported values are:
            { any, all, min, max, sum, mean, median, prod,
            std, var, sem, kurt, skew }.
        skipna : bool, default True
            If True, skip NaN values.
        **kwargs
            Additional keyword arguments passed to the reduction function.
            Currently, `ddof` is the only supported kwarg.
 
        Returns
        -------
        scalar
 
        Raises
        ------
        TypeError : subclass does not define reductions
        rp)Ú _reduce_calcrµrWrÆrY)rÉr(r›rqr rps      rBržzArrowExtensionArray._reducetsF€ð4#×"Ñ" 4ÐT°ÀÑTÈVÑTˆÜ fœbŸh™hÔ 'Ø”4˜“:˜fÓ%Ð %àˆMrDc óð—|j|fd|i|¤Ž}|r{t|tj«r2tj|j «g|j ¬«}|Stj|gtt|«d«¬«}|Stj|«j «r|jjSt|tj«r|j «S|S)Nr›r_r) rorµrWrœrír&rYr¾rr=rnr½r)rÉr(r›rqr r$rps       rBrsz ArrowExtensionArray._reduce_calc”sˀð)D×(Ñ(¨ÑG°fÐGÀÑGˆ    á ܘ)¤R§Y¡YÔ/ÜŸ™ 9§?¡?Ó#4Ð"5¸I¿N¹NÔKð ˆMô    Ÿ™ØKÜ(Ô)@ÀÓ)KÈAÑ)NÓOôðˆMä :‰:iÓ  × &Ñ &Ô (Ø—:‘:×&Ñ&Ð &Ü ˜    ¤2§9¡9Ô -Ø—?‘?Ó$Ð $àÐ rDcó¶•—t|jd«r3tjj    |jj
«st ‰|«S|}tjj|j«}|jd«j«}tjdg|jj¬«}|dk(}|j«r*|j!«}|||<|j!«}d||<|j#|«}t|«tjj%|j««}||fS)z-
        See Series.explode.__doc__.
        r¶r`Nr_r)rfr½rWrXÚis_listr¶r’Ú_explodeÚcomputeÚlist_value_lengthrÂr×rrfrYrrÎrÚ list_flatten)rÉrÊr.rÖrûr•s     €rBrwzArrowExtensionArray._explodeªsø€ô t—z‘z ?Ô3Ü—‘× Ñ  §¡×!9Ñ!9Ô:ä‘7Ñ#Ó%Ð %؈ܗ‘×-Ñ-¨f×.>Ñ.>Ó?ˆØ×!Ñ! !Ó$×-Ñ-Ó/ˆÜ—Y‘Y ˜v¨D¯N©N×,?Ñ,?Ô@ˆ
ؘ‰{ˆØ 8‰8Œ:Ø—[‘[“]ˆFØ%ˆF4‰LØ—[‘[“]ˆF؈F4‰LØ—‘˜zÓ*ˆØ”d“œBŸJ™J×3Ñ3°F×4DÑ4DÓEÓFˆØvˆ~ÐrDcó°—t|t«rt|«dk(r|d}t||«}|j    |«}t j |«r|jd||j«}n«t|«r tt|«}t|«}|dkr||z }d|cxkr|ksntd|›d|›«‚t|tj«r|j«}nt!|«r t#d«‚g|jd|j$¢tj&|g|jj(d¬«‘|j|dzdj$¢}tj*|«j-«}n’t/|«rDt1j2|t0j4¬    «}|j7|j||«}nCt9|«st|tj«rQt1j:t|«t0j4¬    «}d||<|j|||j«}nÍt1j<t|««|}t|«t|«k7r t#d«‚t|«dk(ryt1j>|«}||}|jA|«}t1j:t|«t0j4¬    «}d||<|j7|j||«}t|tjB«rtj*|g«}||_y)
a÷Set one or more values inplace.
 
        Parameters
        ----------
        key : int, ndarray, or slice
            When called from, e.g. ``Series.__setitem__``, ``key`` will be
            one of
 
            * scalar int
            * ndarray of integers.
            * boolean ndarray
            * slice object
 
        value : ExtensionDtype.type, Sequence[ExtensionDtype.type], or object
            value or values to be set of ``key``.
 
        Returns
        -------
        None
        r`rTzindex z' is out of bounds for axis 0 with size z%Length of indexer and values mismatchNrÝr¼)"rµr rr-Ú_maybe_convert_setitem_valueÚcomÚ is_null_sliceÚ_if_elserÂrr    ÚintrrWrœr&rr°r4rírYrÇrIrr r rõÚ_replace_with_maskrrYÚaranger´rrÆ)    rÉr”rÿrPÚnr4rûrär´s             rBÚ __setitem__zArrowExtensionArray.__setitem__Âs©€ô, cœ5Ô !¤c¨#£h°!¢mؐa‘&ˆCä! $¨Ó,ˆØ×1Ñ1°%Ó8ˆä × Ñ ˜SÔ !à—=‘=  u¨d¯n©nÓ=ŠDä ˜_ä”s˜C“.ˆCܐD“    ˆAؐQŠwؐq‘Ø˜”<˜a”<ܠؘS˜EÐ!HÈÈÐLóðô˜%¤§¡Ô+ØŸ ™ › ‘ܘeÔ$Ü Ð!HÓIÐIðØ—‘  Ð%×,Ñ,ðä—‘˜%˜ t§~¡~×':Ñ':ÈÔMðð—‘  a¡     Ð*×1Ñ1ðˆFô
×#Ñ# FÓ+×:Ñ:Ó<ŠDä ˜3Ô Ü—*‘*˜S¬¯©Ô1ˆCØ×*Ñ*¨4¯>©>¸3ÀÓFŠDä uÔ ¤¨E´2·9±9Ô!=Ü—8‘8œC ›I¬R¯X©XÔ6ˆD؈D‰IØ—=‘=  u¨d¯n©nÓ=‰Dô—i‘i¤ D£    Ó*¨3Ñ/ˆGܐ7‹|œs 5›zÒ)Ü Ð!HÓIÐIܐ7‹|˜qÒ ØÜ—j‘j Ó)ˆGؘgÑ&ˆGØ—J‘J˜wÓ'ˆEÜ—8‘8œC ›I¬R¯X©XÔ6ˆDØ ˆD‰MØ×*Ñ*¨4¯>©>¸4ÀÓGˆDä dœBŸH™HÔ %Ü×#Ñ# T FÓ+ˆD؈rDÚaverage©Úaxisr»Ú    na_optionr¦Úpctcó`•—|dk7r^t‰||||||¬«}|dk(s|rtj«}ntj«}tj
||d¬«}|S|j j«}    |rdnd}
|dk(rd    nd
} |dk(rd n|} tj|    |
| | ¬ «}|d k(rWtj|j «} tjd|j¬«}tj| ||«}|dk(r‰tj|    |
| d¬ «}|jtj««}|jtj««}tjtj ||«d«}|r’tj"j%|j«s#|jtj««}|dk(rtj&|«}ntj(|«}tj||«}|S)Nrr†r…TrÝr¦r©Útopr«rªr¾)Ú    sort_keysr®Ú
tiebreakerrr_rÄéÚdense)r’Ú_rankrWrZÚuint64rírÂrIr=ÚrankrnrfrYrgr    rirrrXrörÄr')rÉr‡r»rˆr¦r‰ÚrankedrÐrprPrŒr®rrûÚnullÚ
result_maxÚ
result_minÚdivisorr•s                  €rBÚ
_rank_calczArrowExtensionArray._rank_calcsÆø€ð 1Š9Ü‘W‘]ØØØ#Ø#Øð #óˆFð˜Ò"¡cÜŸ*™*›,‘äŸ)™)›+Ü—X‘X˜f¨7ÀÔEˆF؈Mà~‰~×,Ñ,Ó.ˆÙ#,‘K°,ˆ    Ø'0°EÒ'9™¸xˆØ$¨    Ò1‘U°vˆ
ä—‘Ø ØØ)Ø!ô    
ˆð ˜Ò Ü—:‘:˜dŸn™nÓ-ˆDÜ—9‘9˜T¨¯ © Ô4ˆDÜ—Z‘Z  d¨FÓ3ˆFà YÒ ÜŸ™ØØ#Ø-Ø ô    ˆJð $Ÿ™¬¯©«Ó6ˆJØŸ™¤R§Z¡Z£\Ó2ˆJÜ—Y‘YœrŸv™v j°*Ó=¸qÓAˆFá Ü—8‘8×'Ñ'¨¯ © Ô4ØŸ™¤R§Z¡Z£\Ó2Ø˜Ò ÜŸ&™& ›.‘äŸ(™( 6Ó*Ü—Y‘Y˜v wÓ/ˆFàˆ rDc    óL—|j|j|||||¬««S)z*
        See Series.rank.__doc__.
        r†)Ú_convert_rank_resultr˜)rÉr‡r»rˆr¦r‰s      rBrzArrowExtensionArray._rankQs7€ð×(Ñ(Ø O‰OØØØ#Ø#Øð ó ó
ð    
rDcó—|jj}|j}tjj    |«rX|j
}|dk(r$|j tj««}n#|j tj««}tj|||¬«}tjj    |«r§tjj|j«rtj|«}|j
}|dk(r$|j tj««}n#|j tj««}|j |«}t|«|«S)zè
        Compute the quantiles of self for each quantile in `qs`.
 
        Parameters
        ----------
        qs : np.ndarray[float64]
        interpolation: str
 
        Returns
        -------
        same type as self
        r)rfÚ interpolation) rÂrYrWrXrrr    rrïr=rarörj)rÉÚqsrœr²rPrnrps       rBÚ    _quantilezArrowExtensionArray._quantilegs €ð—>‘>×&Ñ&ˆà~‰~ˆÜ 8‰8× Ñ  Ô )ð×&Ñ&ˆEؘŠ{Ø—y‘y¤§¡£Ó,‘à—y‘y¤§¡£Ó,ä—‘˜T R°}ÔEˆä 8‰8× Ñ  Ô )܏x‰x×#Ñ# F§K¡KÔ0ÜŸ™ &Ó)Ø×&Ñ&ˆEؘŠ{ØŸ™¤R§X¡X£ZÓ0‘àŸ™¤R§X¡X£ZÓ0Ø—[‘[ Ó*ˆFàŒtD‹z˜&Ó!Ð!rDc
ó`—|jj}tjj    |«r}|j
}|dk(r.|jj tj««}nJ|dk(r.|jj tj««}nt|«‚|j}|r|j«}tj|«}|jd«jtj|jd«tj |jd««««}tjj    |«r|j |«}|j#tj$|««}t|«|«S)aT
        Returns the mode(s) of the ExtensionArray.
 
        Always returns `ExtensionArray` even if only one value.
 
        Parameters
        ----------
        dropna : bool, default True
            Don't consider counts of NA values.
 
        Returns
        -------
        same type as self
            Sorted, if possible.
        ré@rÊr.)rÂrYrWrXrrr    rrïrùrÈr=r*r+rrôrÄrr±)rÉrÉrÐrnrPÚresÚ most_commons       rBÚ_modezArrowExtensionArray._modeŽs5€ð —.‘.×%Ñ%ˆÜ 8‰8× Ñ  Ô (Ø×%Ñ%ˆEؘŠ{Ø—~‘~×*Ñ*¬2¯8©8«:Ó6‘ؘ"’Ø—~‘~×*Ñ*¬2¯8©8«:Ó6‘ä)¨'Ó2Ð2à—>‘>ˆDá Ø—>‘>Ó#ˆDäo‰o˜dÓ#ˆØ—i‘i Ó)×0Ñ0Ü H‰HS—Y‘Y˜xÓ(¬"¯&©&°·±¸8Ó1DÓ*EÓ Fó
ˆ ô 8‰8× Ñ  Ô (Ø%×*Ñ*¨7Ó3ˆKà!×&Ñ&¤r×'<Ñ'<¸[Ó'IÓJˆ ØŒtD‹z˜+Ó&Ð&rDcóȗ    |j||jj«}|S#tj$r$}d|›d|j
›d}t |«|‚d}~wwxYw)z-Maybe convert value to be pyarrow compatible.rÔrÕr=N)rrÂrYrWrr½r8)rÉrÿr?rËs    rBr|z0ArrowExtensionArray._maybe_convert_setitem_value¸sd€ð    *Ø—L‘L ¨¯©×(;Ñ(;Ó<ˆEðˆ øô× Ñ ò    *Ø# E 9¨M¸$¿*¹*¸ÀQÐGˆCܘC“. cÐ )ûð    *ús‚&*ªA!½AÁA!c ó—|jjstd|j›d«‚|j«}    |jjdk(r|j
j «}
nD|jjdvr|j dd¬«}
ntd|j›«‚tj|
f|d    |||||    d
œ|¤Žt|«|jtj|
|    ¬ «««S) z2
        See NDFrame.interpolate.__doc__.
        zCannot interpolate with z dtyperŽrÚf8grz)interpolate is not implemented for dtype=r)r»r‡rºrÊÚlimit_directionrËrûrø)r½Ú _is_numericr8r rrÂrrùr"Úinterpolate_2d_inplacerYrÑrWrí) rÉr»r‡rºrÊr§rËrÎr rûrPs            rBÚ interpolatezArrowExtensionArray.interpolateÁsô€ð z‰z×%Ò%ÜÐ6°t·z±z°lÀ&ÐIÓJÐ Jày‰y‹{ˆØ :‰:?‰?˜cÒ !Ø—>‘>×*Ñ*Ó,‰DØ Z‰Z_‰_ Ñ $Ø—=‘= t°c=Ó:‰Dä%Ø;¸D¿J¹J¸<ÐHóð ô    ×&Ñ&Ø ð
    
àØØØØ+Ø!Øñ
    
ðò
    
ðŒtD‹z˜$×,Ñ,¬R¯X©X°dÀÔ-FÓGÓHÐHrDcó—    tj|||«S#tj$rYnwxYwdd„}||«\}}||«\}}|xs|}t    j
|||«}tj ||d¬«S)an
        Choose values based on a condition.
 
        Analogous to pyarrow.compute.if_else, with logic
        to fallback to numpy for unsupported types.
 
        Parameters
        ----------
        cond : npt.NDArray[np.bool_] or bool
        left : ArrayLike | Scalar
        right : ArrayLike | Scalar
 
        Returns
        -------
        pa.Array
        có—t|tjtjf«r |j}n9t|tj
«r|j}|j «}nd}tj|t¬«|fSr)
rµrWrÆrÈrYrœr&r rír‚)rÿrÐs  rBÚ_to_numpy_and_typez8ArrowExtensionArray._if_else.<locals>._to_numpy_and_type    s_€Ü˜%¤"§(¡(¬B¯O©OÐ!<Ô=ØŸ*™*‘ܘE¤2§9¡9Ô-ØŸ*™*ØŸ ™ › ‘àÜ—8‘8˜E¬Ô0°'Ð9Ð 9rDTrÝ)Úreturnz%tuple[np.ndarray, pa.DataType | None])r=rgrWr»r Úwhererí)    rÒÚcondrkrlr­Ú    left_typeÚ
right_typerÐrps             rBrzArrowExtensionArray._if_elseës…€ð.    Ü—:‘:˜d D¨%Ó0Ð 0øÜ×*Ñ*ò    Ù ð    úó    :ñ-¨TÓ2‰ˆˆiÙ.¨uÓ5шˆzØÒ)˜zˆÜ—‘˜$  eÓ,ˆÜx‰x˜ W¸$Ô?Ð?s ‚™/®/có¢—t|tj«r|j«}t|tj«r9tjj |j «r|j«}    tj|||«S#tj$rYnwxYwt|tj«rtj|t¬«}n*t|tj«r|j«}tj|t¬«}|||<tj||j d¬«S)a¿
        Replace items selected with a mask.
 
        Analogous to pyarrow.compute.replace_with_mask, with logic
        to fallback to numpy for unsupported types.
 
        Parameters
        ----------
        values : pa.Array or pa.ChunkedArray
        mask : npt.NDArray[np.bool_] or bool
        replacements : ArrayLike or Scalar
            Replacement value(s)
 
        Returns
        -------
        pa.Array or pa.ChunkedArray
        r¼TrÝ)rµrWrÈrIrXrórYr=Úreplace_with_maskr»rÆr rír‚rœr&)rÒrÊrûÚ replacementsrps     rBrz&ArrowExtensionArray._replace_with_mask    sï€ô0 l¤B§O¡OÔ 4à'×6Ñ6Ó8ˆLÜ fœbŸo™oÔ .´2·8±8×3FÑ3FÀvÇ{Á{Ô3Sð×*Ñ*Ó,ˆFð    Ü×'Ñ'¨°°lÓCÐ CøÜ×*Ñ*ò    Ù ð    úä l¤B§H¡HÔ -ÜŸ8™8 L¼Ô?‰LÜ ˜ ¤b§i¡iÔ 0Ø'×-Ñ-Ó/ˆLÜ—‘˜&¬Ô/ˆØ#ˆˆt‰ ܏x‰x˜ V§[¡[¸dÔCÐCsÁ?BÂB,Â+B,có¢—|jj}tjj    |«stjj |«rd}n(tjj |«rd}nt‚t«|}|j«}|j|j|¬«}|j«||«S)Nr`Tr) rÂrYrWrXrörrórùr2r rÚ numpy_dtypeÚconstruct_array_type)rÉr²rr½rûrÕs      rBÚ
_to_maskedzArrowExtensionArray._to_maskedE    sž€Ø—>‘>×&Ñ&ˆä 8‰8× Ñ  Ô )¬R¯X©X×-@Ñ-@ÀÔ-J؉HÜ X‰X×  Ñ   Ô *؉Hä%Ð %ä$Ó& xÑ0ˆØy‰y‹{ˆØm‰m %×"3Ñ"3¸hˆmÓGˆØ+ˆu×)Ñ)Ó+¨C°Ó6Ð6rDc     óN•—t|jt«r5|dvrtd|j›d|›d«‚t    ‰
|d|||||dœ|¤ŽS|j j}tjj|«r|j«}n@tjj|«r|j«}n|j«}|j
d|||||dœ|¤Ž}    t|    tj «r|    St|«j#|    d¬«S)    N)    rdrSrRr>r=rTrUreÚskewrcz' does not support operation 'r=)ÚhowÚhas_dropped_nar_ÚngroupsÚidsFr¯r?)rµr½r,r8r’Ú _groupby_oprÂrYrWrXrçrÿrërr¹r r rÖ) rÉr¼r½r_r¾r¿r rÐrÊrpr•s           €rBrÀzArrowExtensionArray._groupby_opT    s4ø€ô d—j‘j¤+Ô .Øð
ñ
ô Ø˜dŸj™j˜\Ð)GÈÀuÈAÐNóðô‘7Ñ&ðØØ-Ø#ØØñ ð ñ ð ð—.‘.×%Ñ%ˆÜ 8‰8×  Ñ   Ô )Ø×+Ñ+Ó-‰FÜ X‰X× !Ñ ! 'Ô *Ø×,Ñ,Ó.‰Fà—_‘_Ó&ˆFà#×#Ñ#ð
ØØ)ØØØñ 
ð ñ 
ˆô fœbŸj™jÔ )؈MܐD‹z×(Ñ(¨°eÐ(Ó<Ð<rDc
ó¼—|jj«Dcgc],}|jd¬«Dcgc]}|€dn||«‘Œc}‘Œ.c}}Scc}wcc}}w)zJApply a callable to each element while maintaining the chunking structure.FrN)rÂr0r)rÉÚfuncÚchunkr,s    rBÚ_apply_elementwisez&ArrowExtensionArray._apply_elementwiseŒ    sc€ðŸ™×2Ñ2Ó4÷ 
ð
ð!Ÿ>™>¸˜>Ó?ö à𘠑©¨c«Ñ2ô ó
ð    
ùò ùó
sžA·A Á
AÁAcó€—|tjurt|«s|j|«}t    |«|«Sr<)r
rr r×rY)rÉrpÚnaÚ method_names    rBÚ_convert_bool_resultz(ArrowExtensionArray._convert_bool_result–    s;€Ø ”S—^‘^Ñ #¬DØ ô-
ð×%Ñ% bÓ)ˆFØŒtD‹z˜&Ó!Ð!rDcó$—t|«|«Sr<r_©rÉrps  rBÚ_convert_int_resultz'ArrowExtensionArray._convert_int_result    ó€ØŒtD‹z˜&Ó!Ð!rDcó$—t|«|«Sr<r_rÊs  rBršz(ArrowExtensionArray._convert_rank_result     rÌrDcó€—|rtd|›«‚t|«tj|j|««S)Nz!count not implemented with flags=)rùrYr=Úcount_substring_regexrÂ)rÉÚpatÚflagss   rBÚ
_str_countzArrowExtensionArray._str_count£    s:€Ù Ü%Ð(JÀEÀ8Ð&LÓMÐ MØŒtD‹zœ"×2Ñ2°4·>±>À3ÓGÓHÐHrDcó—t|t«s!tdt|«j›«‚t|«t j |j|««S)Nz*repeat is not implemented when repeats is )rµr€rùrYrUr=rmrÂ)rÉÚrepeatss  rBÚ _str_repeatzArrowExtensionArray._str_repeat¨    sR€Ü˜'¤3Ô'Ü%Ø<¼TÀ'»]×=SÑ=SÐ<TÐUóð ð”4˜“:œb×.Ñ.¨t¯~©~¸wÓGÓHÐ HrDcóÔ—tjj|jj«s3tjj |jj«rR|j t«}tj|tjtj««¬«}n |j}t    |«tj||««S©Nr_) rWrXrårÂrYrærÄrVrÇÚlist_rîr=r^)rÉrsrps   rBÚ    _str_joinzArrowExtensionArray._str_join°    s”€Ü 8‰8× Ñ ˜dŸn™n×1Ñ1Ô 2´b·h±h×6NÑ6NØ N‰N× Ñ ô7
ð×,Ñ,¬TÓ2ˆFÜ×%Ñ% f´2·8±8¼B¿I¹I»KÓ3HÔI‰Fà—^‘^ˆFØŒtD‹zœ"Ÿ.™.¨°Ó5Ó6Ð6rDcóx‡—ˆfd„}|j|«}t|«tj|««S)Ncó&•—|j‰«Sr<)Ú    partition©r,rss €rBrCz4ArrowExtensionArray._str_partition.<locals>.<lambda>»    sø€ § ¡ ¨cÓ 2€rD©rÄrYrWrÇ©rÉrsÚexpandÚ    predicaterps `   rBÚ_str_partitionz"ArrowExtensionArray._str_partitionº    s4ø€Û2ˆ    Ø×(Ñ(¨Ó3ˆØŒtD‹zœ"×*Ñ*¨6Ó2Ó3Ð3rDcóx‡—ˆfd„}|j|«}t|«tj|««S)Ncó&•—|j‰«Sr<)Ú
rpartitionrÝs €rBrCz5ArrowExtensionArray._str_rpartition.<locals>.<lambda>À    sø€ §¡¨sÓ 3€rDrÞrßs `   rBÚ_str_rpartitionz#ArrowExtensionArray._str_rpartition¿    s4ø€Û3ˆ    Ø×(Ñ(¨Ó3ˆØŒtD‹zœ"×*Ñ*¨6Ó2Ó3Ð3rDcór—d„}|j|«}t|«tj|««S)Ncó"—|j«Sr<)Úcasefold)r,s rBrCz3ArrowExtensionArray._str_casefold.<locals>.<lambda>Å    s € § ¡ £€rDrÞ)rÉrárps   rBÚ _str_casefoldz!ArrowExtensionArray._str_casefoldÄ    s3€Ù.ˆ    Ø×(Ñ(¨Ó3ˆØŒtD‹zœ"×*Ñ*¨6Ó2Ó3Ð3rDcó|‡‡—ˆˆfd„}|j|«}t|«tj|««S)Ncó(•—|j‰‰«Sr<)rß)r,ÚencodingrÚs €€rBrCz1ArrowExtensionArray._str_encode.<locals>.<lambda>Ê    sø€ §
¡
¨8°VÓ <€rDrÞ)rÉrírÚrárps ``  rBÚ _str_encodezArrowExtensionArray._str_encodeÉ    s4ù€Ü<ˆ    Ø×(Ñ(¨Ó3ˆØŒtD‹zœ"×*Ñ*¨6Ó2Ó3Ð3rDc ó—|r td«‚tj|«jj    «}t |«dk(rt d|›d«‚tj|j|«}|rat|t|jj««Dcic],\}}|t|«tj||g««“Œ.c}}St|«tj|dg««Scc}}w)NzOnly flags=0 is implemented.rzpat=z$ must contain a symbolic group name.)rùÚreÚcompileÚ
groupindexÚkeysrr°r=Ú extract_regexrÂrXÚrangerYÚ
num_fieldsÚ struct_field)rÉrÐrÑràÚgroupsrpÚcolÚis        rBÚ _str_extractz ArrowExtensionArray._str_extractΠ   sà€Ù Ü%Ð&DÓEÐ EÜ—‘˜C“×+Ñ+×0Ñ0Ó2ˆÜ ˆv‹;˜!Ò Ü  ˜vÐ%IÐJÓKÐ KÜ×!Ñ! $§.¡.°#Ó6ˆÙ ô" &¬%°· ± ×0FÑ0FÓ*GÓH÷áC˜ðZ”T˜$“Z¤§¡°¸¸Ó <Ó=Ñ=óð ð
”4˜“:œbŸo™o¨f°q°cÓ:Ó;Ð ;ùó sÂ&1Dc󦇗tj||¬«Šˆfd„}|j|«}t|«t    j
|««S)N)rÑcó&•—‰j|«Sr<)Úfindall)r,Úregexs €rBrCz2ArrowExtensionArray._str_findall.<locals>.<lambda>ß    sø€ § ¡ ¨cÓ 2€rD)rðrñrÄrYrWrÇ)rÉrÐrÑrárprÿs     @rBÚ _str_findallz ArrowExtensionArray._str_findallÝ    sDø€Ü—
‘
˜3 eÔ,ˆÛ2ˆ    Ø×(Ñ(¨Ó3ˆØŒtD‹zœ"×*Ñ*¨6Ó2Ó3Ð3rDcó—tj|j|«}tj|«}|j    «}|j t jj|««}tj|«jd«j«}t|«}t|«}tj||«j«}    |    tj|«j!|«|zz}    tj"||ztj$¬«}
d|
|    <|
j'||f«}
t)|«t j*t-|
«««} | |j/«fS)Nrr¼T)r=Ú split_patternrÂrzr#rrWrxr±ryr×rrÚindex_inr r‚ÚrepeatrYrõrîrYrírVÚ    to_pylist) rÉrsr¯Úflattened_valuesrèÚuniques_sortedÚlengthsÚn_rowsÚn_colsräÚdummiesrps             rBÚ_str_get_dummiesz$ArrowExtensionArray._str_get_dummiesã    s+€Ü× Ñ  §¡°Ó5ˆÜŸ?™?¨5Ó1ÐØ"×)Ñ)Ó+ˆØ Ÿ™¤b§j¡j×&CÑ&CÀGÓ&LÓMˆÜ×&Ñ& uÓ-×7Ñ7¸Ó:×CÑCÓEˆÜT“ˆÜW“ˆÜ—+‘+Ð.°Ó?×HÑHÓJˆØœBŸI™I fÓ-×4Ñ4°WÓ=ÀÑFÑFˆÜ—(‘(˜6 F™?´"·(±(Ô;ˆØˆÑØ—/‘/ 6¨6Ð"2Ó3ˆØ”d“œBŸH™H¤T¨'£]Ó3Ó4ˆØ~×/Ñ/Ó1Ð1Ð1rDc󀇇‡—ˆˆˆfd„}|j|«}t|«tj|««S)Ncó*•—|j‰‰‰«Sr<)rº©r,Úendr#rvs €€€rBrCz0ArrowExtensionArray._str_index.<locals>.<lambda>ô    óø€ §    ¡    ¨#¨u°cÓ :€rDrÞ©rÉrvr#rrárps ```  rBÚ
_str_indexzArrowExtensionArray._str_indexó    ó4ú€Ý:ˆ    Ø×(Ñ(¨Ó3ˆØŒtD‹zœ"×*Ñ*¨6Ó2Ó3Ð3rDc󀇇‡—ˆˆˆfd„}|j|«}t|«tj|««S)Ncó*•—|j‰‰‰«Sr<)Úrindexrs €€€rBrCz1ArrowExtensionArray._str_rindex.<locals>.<lambda>ù    sø€ §
¡
¨3°°sÓ ;€rDrÞrs ```  rBÚ _str_rindexzArrowExtensionArray._str_rindexø    s4ú€Ý;ˆ    Ø×(Ñ(¨Ó3ˆØŒtD‹zœ"×*Ñ*¨6Ó2Ó3Ð3rDcóx‡—ˆfd„}|j|«}t|«tj|««S)Ncó0•—tj‰|«Sr<)Ú unicodedataÚ    normalize)r,Úforms €rBrCz4ArrowExtensionArray._str_normalize.<locals>.<lambda>þ    sø€¤ × 5Ñ 5°d¸CÓ @€rDrÞ)rÉrrárps `  rBÚ_str_normalizez"ArrowExtensionArray._str_normalizeý    s4ø€Û@ˆ    Ø×(Ñ(¨Ó3ˆØŒtD‹zœ"×*Ñ*¨6Ó2Ó3Ð3rDc󀇇‡—ˆˆˆfd„}|j|«}t|«tj|««S)Ncó*•—|j‰‰‰«Sr<)Úrfindrs €€€rBrCz0ArrowExtensionArray._str_rfind.<locals>.<lambda>
rrDrÞrs ```  rBÚ
_str_rfindzArrowExtensionArray._str_rfind
rrDcó—|dvrd}|€tj}nM|r&tjtj|¬«}n%tjtj
|¬«}t |«||j|¬««S)N¾rr©)Úpattern)Ú
max_splits)r=Úutf8_split_whitespaceÚ    functoolsÚpartialÚsplit_pattern_regexrrYrÂ)rÉrÐrƒràrÿÚ
split_funcs      rBÚ
_str_splitzArrowExtensionArray._str_split
so€ð ‰<؈AØ ˆ;Ü×1Ñ1‰JÙ Ü"×*Ñ*¬2×+AÑ+AÈ3ÔO‰Jä"×*Ñ*¬2×+;Ñ+;ÀSÔIˆJØŒtD‹z™* T§^¡^ÀÔBÓCÐCrDcóؗ|dvrd}|€1t|«tj|j|d¬««St|«tj|j||d¬««S)Nr$T)r&Úreverse)rYr=r'rÂr)rÉrÐrƒs   rBÚ _str_rsplitzArrowExtensionArray._str_rsplit
si€Ø ‰<؈AØ ˆ;Ø”4˜“:Ü×(Ñ(¨¯©ÀAÈtÔTóð ð”4˜“:Ü× Ñ  §¡°ÀÈDÔQóð rDcóx‡—ˆfd„}|j|«}t|«tj|««S)Ncó&•—|j‰«Sr<)Ú    translate)r,Útables €rBrCz4ArrowExtensionArray._str_translate.<locals>.<lambda>%
sø€ § ¡ ¨eÓ 4€rDrÞ)rÉr3rárps `  rBÚ_str_translatez"ArrowExtensionArray._str_translate$
s4ø€Û4ˆ    Ø×(Ñ(¨Ó3ˆØŒtD‹zœ"×*Ñ*¨6Ó2Ó3Ð3rDc 󬇗||d<tjdi|¤ŽŠˆfd„}|j|«}t|«t    j
|««S)NÚwidthcóD•—dj‰j|««S)Nú
)ÚjoinÚwrap)r,Útws €rBrCz/ArrowExtensionArray._str_wrap.<locals>.<lambda>,
sø€ §    ¡    ¨"¯'©'°#«,Ó 7€rDr?)ÚtextwrapÚ TextWrapperrÄrYrWrÇ)rÉr6r rárpr;s     @rBÚ    _str_wrapzArrowExtensionArray._str_wrap)
sPø€Øˆˆw‰Ü × !Ñ !Ñ + FÑ +ˆÛ7ˆ    Ø×(Ñ(¨Ó3ˆØŒtD‹zœ"×*Ñ*¨6Ó2Ó3Ð3rDcó¤—t|«tj|j«jdtj
«¬««S©NT)rÞrY)rYrWrírÚdaysrr:s rBÚ_dt_dayszArrowExtensionArray._dt_days0
s:€àŒtD‹zÜ H‰HT×,Ñ,Ó.×3Ñ3ÀÌBÏHÉHËJÔ Wó
ð    
rDc    óð—t|«tj|j«Dcgc]"}|tur|j
j nd‘Œ$c}tj«¬««Scc}wr×)rYrWrírr Ú
componentsÚhoursr©rÉÚtds  rBÚ    _dt_hourszArrowExtensionArray._dt_hours6
sg€àŒtD‹zÜ H‰Hð#×5Ñ5Ó7öàð,.´S©=B—M‘M×'Ò'¸dÑBòô—X‘X“Zô  ó
ð    
ùòó­'A3 c    óð—t|«tj|j«Dcgc]"}|tur|j
j nd‘Œ$c}tj«¬««Scc}wr×)rYrWrírr rDÚminutesrrFs  rBÚ _dt_minuteszArrowExtensionArray._dt_minutesB
sg€àŒtD‹zÜ H‰Hð#×5Ñ5Ó7öàð.0´s©]B—M‘M×)Ò)ÀÑDòô—X‘X“Zô  ó
ð    
ùòrIcó¤—t|«tj|j«jdtj
«¬««Sr@)rYrWrírÚsecondsrr:s rBÚ _dt_secondszArrowExtensionArray._dt_secondsN
s=€àŒtD‹zÜ H‰HØ×'Ñ'Ó)×1Ñ1¸tÌ"Ï(É(Ë*ô ó
ð    
rDc    óð—t|«tj|j«Dcgc]"}|tur|j
j nd‘Œ$c}tj«¬««Scc}wr×)rYrWrírr rDÚ millisecondsrrFs  rBÚ_dt_millisecondsz$ArrowExtensionArray._dt_millisecondsV
sg€àŒtD‹zÜ H‰Hð#×5Ñ5Ó7öàð35¼C±-B—M‘M×.Ò.ÀTÑIòô—X‘X“Zô  ó
ð    
ùòrIcó¤—t|«tj|j«jdtj
«¬««Sr@)rYrWrírÚ microsecondsrr:s rBÚ_dt_microsecondsz$ArrowExtensionArray._dt_microsecondsb
s?€àŒtD‹zÜ H‰HØ×'Ñ'Ó)×6Ñ6Ø Ü—X‘X“Zô ó
ð    
rDcó¤—t|«tj|j«jdtj
«¬««Sr@)rYrWrírÚ nanosecondsrr:s rBÚ_dt_nanosecondsz#ArrowExtensionArray._dt_nanosecondsl
s=€àŒtD‹zÜ H‰HØ×'Ñ'Ó)×5Ñ5À4ÌbÏhÉhËjô ó
ð    
rDcóþ—|jj«}|jjjdk(r!|Dcgc]}|€dn|j «‘Œ}}t j|t¬«Scc}w)Nr­r¼)    rÂrrÃr¶r±Úto_pytimedeltar rír‚©rÉrPÚtss   rBÚ_dt_to_pytimedeltaz&ArrowExtensionArray._dt_to_pytimedeltat
sh€Ø~‰~×'Ñ'Ó)ˆØ ;‰;× $Ñ $× )Ñ )¨TÒ 1ØJNÖOÀB˜B˜J‘D¨B×,=Ñ,=Ó,?Ñ?ÐOˆDÐO܏x‰x˜¤FÔ+Ð+ùòPsÁA:có†—t|«tj|j«j    «d¬««S)NTr    )rYrWrírÚ total_secondsr:s rBÚ_dt_total_secondsz%ArrowExtensionArray._dt_total_secondsz
s5€ØŒtD‹zÜ H‰HT×,Ñ,Ó.×<Ñ<Ó>ÈDÔ Qó
ð    
rDcó—tjj|jj«r t d«‚|j «}t|«tj|j|«d¬««S)Nz&as_unit not implemented for date typesTr    )
rWrXrér½r¶rùrrYrír)rÉr±Úpd_arrays   rBÚ _dt_as_unitzArrowExtensionArray._dt_as_unit
s_€Ü 8‰8× Ñ ˜DŸJ™J×4Ñ4Ô 5Ü%Ð&NÓOÐ OØ×5Ñ5Ó7ˆàŒtD‹zœ"Ÿ(™( 8×#3Ñ#3°DÓ#9ÀtÔLÓMÐMrDcó^—t|«tj|j««Sr<)rYr=ÚyearrÂr:s rBÚ_dt_yearzArrowExtensionArray._dt_year†
ó €àŒtD‹zœ"Ÿ'™' $§.¡.Ó1Ó2Ð2rDcó^—t|«tj|j««Sr<)rYr=ÚdayrÂr:s rBÚ_dt_dayzArrowExtensionArray._dt_dayŠ
s €àŒtD‹zœ"Ÿ&™& §¡Ó0Ó1Ð1rDcó^—t|«tj|j««Sr<)rYr=Ú day_of_weekrÂr:s rBÚ_dt_day_of_weekz#ArrowExtensionArray._dt_day_of_weekŽ
ó €àŒtD‹zœ"Ÿ.™.¨¯©Ó8Ó9Ð9rDcó^—t|«tj|j««Sr<)rYr=Ú day_of_yearrÂr:s rBÚ_dt_day_of_yearz#ArrowExtensionArray._dt_day_of_year•
rnrDcó^—t|«tj|j««Sr<)rYr=ÚhourrÂr:s rBÚ_dt_hourzArrowExtensionArray._dt_hour›
rgrDcó^—t|«tj|j««Sr<)rYr=Ú iso_calendarrÂr:s rBÚ_dt_isocalendarz#ArrowExtensionArray._dt_isocalendarŸ
s €ØŒtD‹zœ"Ÿ/™/¨$¯.©.Ó9Ó:Ð:rDcó^—t|«tj|j««Sr<)rYr=Ú is_leap_yearrÂr:s rBÚ_dt_is_leap_yearz$ArrowExtensionArray._dt_is_leap_year¢
s €àŒtD‹zœ"Ÿ/™/¨$¯.©.Ó9Ó:Ð:rDcó†—t|«tjtj|j«d««S©Nr`)rYr=rôrirÂr:s rBÚ_dt_is_month_startz&ArrowExtensionArray._dt_is_month_start¦
s+€àŒtD‹zœ"Ÿ(™(¤2§6¡6¨$¯.©.Ó#9¸1Ó=Ó>Ð>rDc    óô—tjtjtj|jd¬«tj
|jd¬««d«}t |«|«S)NrirÚmonthr`©r=rôÚ days_betweenÚfloor_temporalrÂÚ ceil_temporalrYrÊs  rBÚ_dt_is_month_endz$ArrowExtensionArray._dt_is_month_endª
s\€ä—‘Ü O‰OÜ×!Ñ! $§.¡.°uÔ=Ü× Ñ  §¡°gÔ>ó ð ó 
ˆðŒtD‹z˜&Ó!Ð!rDc
ó—t|«tjtjtj|j
«d«tjtj |j
«d«««Sr|©rYr=rIrôrrÂrir:s rBÚ_dt_is_year_startz%ArrowExtensionArray._dt_is_year_startµ
sW€àŒtD‹zÜ G‰GÜ—‘œŸ™ $§.¡.Ó1°1Ó5Ü—‘œŸ™ §¡Ó/°Ó3ó ó
ð    
rDc
ó—t|«tjtjtj|j
«d«tjtj |j
«d«««S)Né ér†r:s rBÚ_dt_is_year_endz#ArrowExtensionArray._dt_is_year_end¾
sW€àŒtD‹zÜ G‰GÜ—‘œŸ™ $§.¡.Ó1°2Ó6Ü—‘œŸ™ §¡Ó/°Ó4ó ó
ð    
rDcó̗tjtj|jd¬«tj|jd¬««}t    |«|«S)NÚquarterrri)r=rôr‚rÂrYrÊs  rBÚ_dt_is_quarter_startz(ArrowExtensionArray._dt_is_quarter_startÇ
sK€ä—‘Ü × Ñ ˜dŸn™n°9Ô =Ü × Ñ ˜dŸn™n°5Ô 9ó
ˆðŒtD‹z˜&Ó!Ð!rDc    óô—tjtjtj|jd¬«tj
|jd¬««d«}t |«|«S)Nrirrr`r€rÊs  rBÚ_dt_is_quarter_endz&ArrowExtensionArray._dt_is_quarter_endÏ
s\€ä—‘Ü O‰OÜ×!Ñ! $§.¡.°uÔ=Ü× Ñ  §¡°iÔ@ó ð ó 
ˆðŒtD‹z˜&Ó!Ð!rDcó̗tjtj|jd¬«tj|jd¬««}t |«|«S)Nrr)r=rr‚rÂrƒrYrÊs  rBÚ_dt_days_in_monthz%ArrowExtensionArray._dt_days_in_monthÚ
sK€ä—‘Ü × Ñ ˜dŸn™n°7Ô ;Ü × Ñ ˜TŸ^™^°'Ô :ó
ˆðŒtD‹z˜&Ó!Ð!rDcó^—t|«tj|j««Sr<)rYr=Ú microsecondrÂr:s rBÚ_dt_microsecondz#ArrowExtensionArray._dt_microsecondä
rnrDcó^—t|«tj|j««Sr<)rYr=ÚminuterÂr:s rBÚ
_dt_minutezArrowExtensionArray._dt_minuteè
ó €àŒtD‹zœ"Ÿ)™) D§N¡NÓ3Ó4Ð4rDcó^—t|«tj|j««Sr<)rYr=rrÂr:s rBÚ    _dt_monthzArrowExtensionArray._dt_monthì
s €àŒtD‹zœ"Ÿ(™( 4§>¡>Ó2Ó3Ð3rDcó^—t|«tj|j««Sr<)rYr=Ú
nanosecondrÂr:s rBÚ_dt_nanosecondz"ArrowExtensionArray._dt_nanosecondð
s €àŒtD‹zœ"Ÿ-™-¨¯©Ó7Ó8Ð8rDcó^—t|«tj|j««Sr<)rYr=rrÂr:s rBÚ _dt_quarterzArrowExtensionArray._dt_quarterô
s €àŒtD‹zœ"Ÿ*™* T§^¡^Ó4Ó5Ð5rDcó^—t|«tj|j««Sr<)rYr=ÚsecondrÂr:s rBÚ
_dt_secondzArrowExtensionArray._dt_secondø
r™rDcóz—t|«|jjtj«««Sr<)rYrÂr    rWÚdate32r:s rBÚ_dt_datezArrowExtensionArray._dt_dateü
s(€àŒtD‹z˜$Ÿ.™.×-Ñ-¬b¯i©i«kÓ:Ó;Ð;rDcó—|jjjdvr |jjjnd}t|«|jj t j|«««S)N>r­r¬r­)r½r¶r±rYrÂr    rWÚtime64)rÉr±s  rBÚ_dt_timezArrowExtensionArray._dt_time sc€ðz‰z×'Ñ'×,Ñ,° Ñ<ð J‰J× $Ñ $× )Ò )àð     ð
ŒtD‹z˜$Ÿ.™.×-Ñ-¬b¯i©i¸«oÓ>Ó?Ð?rDcóh—tj|jjj«Sr<)rÚ maybe_get_tzr½r¶r¹r:s rBÚ_dt_tzzArrowExtensionArray._dt_tz     s#€ä×%Ñ% d§j¡j×&>Ñ&>×&AÑ&AÓBÐBrDcóB—|jjjSr<)r½r¶r±r:s rBÚ_dt_unitzArrowExtensionArray._dt_unit s€àz‰z×'Ñ'×,Ñ,Ð,rDcób—t|«tj|jdd««S)Nr`ri)rYr=r‚rÂr:s rBÚ _dt_normalizez!ArrowExtensionArray._dt_normalize s&€ØŒtD‹zœ"×+Ñ+¨D¯N©N¸A¸uÓEÓFÐFrDcób—t|«tj|j|¬««S)N)Úformat©rYr=ÚstrftimerÂ)rÉr²s  rBÚ _dt_strftimez ArrowExtensionArray._dt_strftime s"€ØŒtD‹zœ"Ÿ+™+ d§n¡n¸VÔDÓEÐErDcóz—|dk7r td«‚|dk7r td«‚t|«}|€td|›«‚dddddddd    d
d d d dddœ}|j|jd«}|€td|›d«‚|j
}t t|›d«}    t|«|    |j||¬««S)NrÙzambiguous is not supported.znonexistent is not supported.z Must specify a valid frequency: rerrÚweekrirsr—r¢Ú millisecondr”r)ÚYÚYSÚQÚQSÚMÚMSÚWÚDÚhr¾rªr«r¬r­zfreq=ú is not supportedÚ    _temporal)Úmultipler±)
rùr3r°r°Ú_prefixrƒr¹r=rYrÂ)
rÉr»ÚfreqÚ    ambiguousÚ nonexistentÚoffsetÚpa_supported_unitr±rÄÚrounding_methods
          rBÚ_round_temporallyz%ArrowExtensionArray._round_temporally sì€ð ˜Ò Ü%Ð&CÓDÐ DØ ˜'Ò !Ü%Ð&EÓFÐ Fܘ4“ˆØ ˆ>ÜÐ?À¸vÐFÓGÐ GàØØØØØØØØØØØØØñ
Ðð !×$Ñ$ V§^¡^°TÓ:ˆØ ˆ<Ü  ˜wÐ&7Ð8Ó9Ð 9Ø—8‘8ˆÜ!¤"¨¨°    Ð&:Ó;ˆØŒtD‹z™/¨$¯.©.À8ÐRVÔWÓXÐXrDcó*—|jd|||«S)NÚceil©rÌ©rÉrÆrÇrÈs    rBÚ_dt_ceilzArrowExtensionArray._dt_ceil< s€ð ×%Ñ% f¨d°I¸{ÓKÐKrDcó*—|jd|||«S)NrjrÏrÐs    rBÚ    _dt_floorzArrowExtensionArray._dt_floorD ó€ð ×%Ñ% g¨t°YÀ ÓLÐLrDcó*—|jd|||«S)NrñrÏrÐs    rBÚ    _dt_roundzArrowExtensionArray._dt_roundL rÔrDcól—|€d}t|«tj|jd|¬««S)NÚCz%A©r²Úlocaler³©rÉrÚs  rBÚ _dt_day_namez ArrowExtensionArray._dt_day_nameT ó.€Ø ˆ>؈FØŒtD‹zœ"Ÿ+™+ d§n¡n¸TÈ&ÔQÓRÐRrDcól—|€d}t|«tj|jd|¬««S)NrØz%BrÙr³rÛs  rBÚ_dt_month_namez"ArrowExtensionArray._dt_month_nameY rÝrDcó®—tjj|jj«r#t d|jj›d«‚|j j«}|jjjdk(r#|Dcgc]}|€dn|jd¬«‘Œ}}tj|t¬«Scc}w)Nz$to_pydatetime cannot be called with z) type. Convert to pyarrow timestamp type.r­F)r3r¼)rWrXrér½r¶r°rÂrrÃr±Ú to_pydatetimer rír‚r[s   rBÚ_dt_to_pydatetimez%ArrowExtensionArray._dt_to_pydatetime^ sµ€Ü 8‰8× Ñ ˜DŸJ™J×4Ñ4Ô 5ÜØ6°t·z±z×7OÑ7OÐ6PðQ5ð5óð ð~‰~×'Ñ'Ó)ˆØ ;‰;× $Ñ $× )Ñ )¨TÒ 1ØSWÖXÈR˜B˜J‘D¨B×,<Ñ,<À%Ð,<Ó,HÑHÐXˆDÐX܏x‰x˜¤FÔ+Ð+ùòYsÂCcó—|dk7rtd|›d«‚ddddœj|d«}|€td|›d«‚|€M|jjt    j
|j jj««}n,tj|jt|«||¬«}t|«|«S)    NrÙz
ambiguous=rÂÚearliestÚlatest)rÙÚshift_backwardÚ shift_forwardz nonexistent=)rÇrÈ) rùr°rÂr    rWr¸r½r¶r±r=Úassume_timezoner®rY)rÉr¹rÇrÈÚnonexistent_parps      rBÚ_dt_tz_localizez#ArrowExtensionArray._dt_tz_localizei sȀð ˜Ò Ü%¨¨¨ Ð4EÐ&FÓGÐ GàØ(Ø%ñ
÷ ‰#Ø ˜ó
ð        ð Ð !Ü%¨¨¨Ð6GÐ&HÓIÐ IØ ˆ:Ø—^‘^×(Ñ(¬¯©°d·j±j×6NÑ6N×6SÑ6SÓ)TÓU‰Fä×'Ñ'Ø—‘¤ B£°9È.ôˆFðŒtD‹z˜&Ó!Ð!rDcó—|jjj€ td«‚|jjj}|j
j tj||««}t|«|«S)Nz?Cannot convert tz-naive timestamps, use tz_localize to localize)
r½r¶r¹r8r±rÂr    rWr¸rY)rÉr¹Ú current_unitrps    rBÚ_dt_tz_convertz"ArrowExtensionArray._dt_tz_convert‚ so€Ø :‰:× #Ñ #× &Ñ &Ð .ÜØQóð ð—z‘z×/Ñ/×4Ñ4ˆ Ø—‘×$Ñ$¤R§\¡\°,ÀÓ%CÓDˆØŒtD‹z˜&Ó!Ð!rD)rÊúpa.Array | pa.ChunkedArrayr®ÚNone)r½z Dtype | NonerÎrSr<)rÐúpa.DataType | Noner®z&pa.Array | pa.ChunkedArray | pa.Scalar)rÐrðr®ú    pa.Scalarr†)rÐrðrÎrSr®rî)r'r›)r®z Iterator[Any])NN)r½zNpDtype | NonerÎú bool | Noner®ú
np.ndarray)r®r)r®rï)r®r®)r®zSelf | npt.NDArray[np.object_])r®rS)r®r4)r®r€)r®únpt.NDArray[np.bool_])r›rS)r¦rSrržr§r®r®ró)r›rSr»r®r®r€)T)r›rSr®r€)
r»r•rÊú
int | NonerËz#Literal['inside', 'outside'] | NonerÎrSr®r)NNNT)
rÿzobject | ArrayLike | Noner»zFillnaOptions | NonerÊrõrÎrSr®r)rÊr’r®rô)r®ztuple[np.ndarray, Any])rærSr®z!tuple[np.ndarray, ExtensionArray]rg)ròr€r®r)rkN)rÿz$NumpyValueArrayLike | ExtensionArrayrôzLiteral['left', 'right']rõzNumpySorter | Noner®znpt.NDArray[np.intp] | np.intp)FN)rärŸrûrSrÖrr®rÀ)r®r¤)r®r¦)r®ró)r½znpt.DTypeLike | NonerÎrSrr‚r®ró)r¬)rzLiteral['first', 'last', False]r®rô)rÉrSr®r£)r(r®r›rSr®z$ArrowExtensionArray | ExtensionArray)r(r®r›rSr®rñ)r(r®r›rSrqrS)
r‡r“r»r®rˆr®r¦rSr‰rS)rznpt.NDArray[np.float64]rœr®r®r)rÉrSr®r)r»r–r‡r€rÎrSr®r)r°únpt.NDArray[np.bool_] | boolrkúArrayLike | Scalarrlr÷)rÊrîrûrörµr÷)
r¼r®r½rSr_r€r¾r€r¿znpt.NDArray[np.intp])rÂrr®zlist[list[Any]])rÐr®rÑr€)rÔzint | Sequence[int])rsr®)rsr®ràrS)Ústrict)rír®rÚr®)rT)rÐr®rÑr€ràrS)ú|)rN)rvr®r#r€rrõ)rr®)rvr®r#r€)Nr©FN)rÐú
str | NonerƒrõràrSrÿrò)Nr©)rÐrúrƒrõ)r3zdict[int, str])r6r€)r±r®)r²r®)rÙrÙ)r»z!Literal['ceil', 'floor', 'round']rÇr rÈr¡)rÇr rÈr¡)rÚrú)›rUÚ
__module__Ú __qualname__Ú__doc__Ú__annotations__rÌÚ classmethodrÖrürrþrÑr(r-r
r5r;r@rCrFrKrQrarhrwrr„r‡Úpropertyr½rŠrŒr“r—r rr£r´r¼rÁrÅrÎrÉrÒrr)rrÛrÝrërîrñrörrrÿrr rr
rrr!r#r*r5rAr@roržrsrwr„r˜rržr£r|rªrrr¹rÀrÄrÈrËršrÒrÕrÙrârærêrîrûrr rrrr"r,r/r4r>rBrHrLrOrRrUrXr]r`rcrfrjrmÚ _dt_dayofweekÚ _dt_weekdayrqÚ _dt_dayofyearrtrwrzr}r„r‡r‹rŽrr’Ú_dt_daysinmonthr•r˜r›ržr r£r¦r©r¬r®r°rµrÌrÑrÓrÖrÜrßrârêríÚ __classcell__)r•s@rBrÀrÀñs‡
ø…ñ )ðVÓØ Óó 6ðØ>BÐQVôóððà/3À%ñGEØ ,ðGEØ;?òGEóðGEðRà26ð1Ø/ð1à    /ò1óð1ð&ó%óð%ðNàEJð^Ø/ð^Ø>Bð^à    #ò^óð^ó@Zóxó(ð
AEð5Ø#ð5Ø2=ð5à    ó5ó*
9óó*ó:ò
ó
$ò"+óH
ó<"ò|Ló6Kó&1ðòóðð ò%óð%ó #õ
/ðò-óð-ó 3ð%)õ8<ðt%)õ8<ðzØ$Ø!ñ 5ðð5ðð    5ð
ð 5ð
ó5õ&-ô /ô/ó
*ó8ð!Ø:>Øñ 
ðð
ðð    
ð
8ð 
ð ð 
ð
õ
ñ@    ˆ×    Ñ    Óð,0Ø'+Ø Øð +Rà(ð+Rð%ð+Rðð    +Rð
ð +Rð
ô +Ró ð+RóZ0ó+ñ"    ˆ×    !Ñ    !Ó"ð!%ð  àð  ð
+ò  ó#ð  òD
ô Fñ0    ˆ×    $Ñ    $Ó%ð*0Ø%)ð    Xà3ðXð'ðXð#ð    Xð
 
(ò Xó&ðXð8!Øð    ZBàðZBððZBðð    ZBð
 
ó ZBòxó @ó    Dõ*ñ
    ˆ×     Ñ     Ó!ð'+ØØŸ>™>ð    8à#ð8ðð8ðð    8ð
 
ò 8ó"ð8õt2ñ     ˆ×    "Ñ    "Ó#à6=ð>Ø3ð>à    ò>ó$ð>ó.%ô.-Eð^òóðð,,0ñB"ØðB"Ø$(ðB"à    -õB"ðJ,0ñ1Øð1Ø$(ð1à    -ó1ðf<@÷]ð@,0À%ñØðØ$(ðØ;?óðB,0À%ñØðØ$(ðØ;?óô,ó0MðdØØØØñ>ðð>ðð    >ð
ð >ð ð >ðõ>ðFØØØØñ
ðð
ðð    
ð
ð 
ð ð 
ðó
ó,%"ôN('òTð(Ið#ð(Iðð    (Iðð(Ið
ó(IðTð)@à*ð)@ð!ð)@ð"ò    )@óð)@ðVð(Dà*ð(Dð+ð(Dð)ò    (Dóð(DòZ 7ð6=ðð6=ðð    6=ð
ð 6=ð ð 6=ð"õ6=óp
ð/2¯n©nÈ$ó"ò"ò"ôIó
Ió7ó4ó
4ò
4ô
4ô
<ô4ô 2ô 4ô
4ó
4ô
4ðØØØ!ð Dà ðDð ðDðð    Dð
ó Dô"
ó4ó
4ðñ
óð
ð
ñ    
óð    
ðñ    
óð    
ðñ
óð
ðñ    
óð    
ðñ
óð
ðñ
óð
ò,ò 
ó
Nðñ3óð3ðñ2óð2ðñ:óð:ð$€MØ!€Kà ñ:óð:ð$€Mà ñ3óð3ò;ðñ;óð;ðñ?óð?ðñ"óð"ðñ
óð
ðñ
óð
ðñ"óð"ðñ"óð"ðñ"óð"ð(€Oà ñ:óð:ðñ5óð5ðñ4óð4ðñ9óð9ðñ6óð6ðñ5óð5ðñ<óð<ðñ@óð@ðñCóðCðñ-óð-òGóFð$+Ø'.ð #Yà1ð#Yð!ð    #Yð
%ó #YðP$+Ø'.ð    Lð!ðLð%ó    Lð$+Ø'.ð    Mð!ðMð%ó    Mð$+Ø'.ð    Mð!ðMð%ó    MôSô
Sò
    ,ð$+Ø'.ð    "ð!ð"ð%ó    "ö2"rDrÀc    óì—t|«}t|d«t|«}}tj||z«j    ||«j
j «}tj|Dcgc]}|jjD]}|‘ŒŒ!c}}«}|j|«}t|«Dcgc] }t|j||z|««‘Œ"c}Scc}}wcc}w)zÒTranspose arrow extension arrays in a list, but faster.
 
    Input should be a list of arrays of equal length and all have the same
    dtype. The caller is responsible for ensuring validity of input data.
    r)rVrr r‚rîÚTÚflattenrWrÇrÂr4rrõrÀr")ÚarraysÚnrowsÚncolsrärÕrÃrús       rBÚtranspose_homogeneous_pyarrowr Œ s€ô&‹\€Fܐv˜a‘y“>¤3 v£;ˆ5€E܏i‰i˜ ™ Ó&×.Ñ.¨u°eÓ<×>Ñ>×FÑFÓH€GÜ
×
¨V×V cÀÇÁ×AUÑAUÒV¸šEÐV˜EÓVÓ
W€CØ
(‰(7Ó
€CÜFKÈEÃlÖ SÀÔ  §    ¡    ¨!¨e©)°UÓ ;Õ <Ò SÐSùóWùâ Ss Á9$C+
Ã%C1)r[rÁr\zpa.Array | pa.Scalarr®z,tuple[pa.ChunkedArray, pa.Array | pa.Scalar])rkú&pa.ChunkedArray | pa.Array | pa.Scalarrlr r®rÁ)r½z'ArrowDtype | pa.DataType | Dtype | Noner®rð)r    zSequence[ArrowExtensionArray]r®zlist[ArrowExtensionArray])“Ú
__future__rr(rkÚpathlibrrðr<Útypingrrrrr    rr2Únumpyr Ú pandas._libsr
Úpandas._libs.tslibsr r r rÚ pandas.compatrrrÚpandas.util._decoratorsrÚpandas.util._exceptionsrÚpandas.util._validatorsrÚpandas.core.dtypes.castrrÚpandas.core.dtypes.commonrrrrrrrrÚpandas.core.dtypes.dtypesrÚpandas.core.dtypes.missingr Ú pandas.corer!r r"r#r$Úpandas.core.algorithmsr%Úpandas.core.arrayliker&Ú'pandas.core.arrays._arrow_string_mixinsr'Úpandas.core.arrays._utilsr(Úpandas.core.arrays.baser)r*Úpandas.core.arrays.maskedr+Úpandas.core.arrays.string_r,Úpandas.core.commonÚcoreÚcommonr}Úpandas.core.indexersr-r.r/Úpandas.core.nanopsr0Úpandas.core.strings.baser1Úpandas.io._utilr2Úpandas.tseries.frequenciesr3rrWÚpyarrow.computerxr=r4rôrcreÚgreaterÚ
less_equalÚ greater_equalrTr>rFrHrorOrQrTrzr]rqruryr~rprrƒÚcollections.abcr‘Úpandas._typingr’r“r”r•r–r—r˜r™ršr›rœrržrŸr r¡r¢r)r£rr¤r    r¦r³r¾rÀr r?rDrBú<module>r2sÕðÝ"ãÛÝÛ    Û÷õóÛãå÷ó÷ ñõ
(Ý4Ý:÷÷    ÷    ó    õ6Ý+÷óõ -Ý*ÝIÝ>÷õ6Ý2ߠР÷ñõ
5Ý;å0Ý0âÛÝ å4ðh‰h؏l‰l؏g‰g؏j‰j؏m‰mØ×Ññ €Oð— ‘ Ù1؏|‰|Ù/؏v‰vÙ)ñ Ðð—‘Ù3؏~‰~Ù1؏‰Ù2ñ Ðð&Ø$ð&Ø1Eð&à    5ó&ð Ø4ðà5ðð
óð@Ø ˆr~‰~ðàÑ1ðð    ˆr×"Ñ"ðð    Ñ6ð    ð
    ˆr×"Ñ"ð ð     Ñ6ð ð    ÑBðð    ÑCðð    Ñ6ðð    Ñ7ðð    ˆ~ðð    ðð    .ðð    >ðð    ˆr×Ñðð     Ñ3ð!Ðñ&Ý(÷÷÷÷õõ(Ý:Ý<òðØ 2ðàóô,X*"Ø Ø ØØô    X*"ðvT TØ )ð Tàô TrD