+
    QV-j„ž ã                   ó:  € ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIHt ^ RIHtHt ^ RIHtHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ R	IHtHtHtHtH t H!t! ^ RI"t#^ RI$t%^ RI&t'^ RI(t)^ RI*t+^ RI,H-t. ^ RI/H0t1 ^ R
I2H3t3H4t4H5t5H6t6H7t7 ^ RI8H9t9 ^ RI:H;t; ^RI<H=t=H>t> ^RI?H@t@HAtAHBtBHCtC ^RIDHEtE ^RIFHGtGHHtHHItIHJtJHKtKHLtLHMtMHNtNHOtO ^RIPHQtQHRtRHStSHTtTHUtUHVtV ^RIWHXtX ^RIYHZtZ ^RI[H\t\H]t]H^t^ ^RI_H`t`HataHbtbHctcHdtdHete ^RIfHgth ^RIiHjtj ^RIkHltlHmtmHntn ^RIoHptpHqtqHrtrHsts ^RItHutu ]>Pì                  ];Pî                  ! R4      8¼  d   ^ RIxHyty ^ RIzH{t{H|t| MRtyRt{]7t|]'       d   ^ RI}t}^ RI~t^ RI€t€^ RI�t�^RI‚Hƒt„ ]j! ]…4      t†]!]‡]ˆ]‰]‡]‡3,          R3,          tƒR  tŠR! R" lt‹R# R$ ltŒRtR% R& llt�R' R( ltŽR) R* lt�RuR+ R, llt�R- R. lt‘ ! R/ R04      t’ ! R1 R2]’4      t“ ! R3 R4]’4      t” ! R5 R6]’4      t• ! R7 R8]’4      t– ! R9 R:]’4      t— ! R; R<]’4      t˜ ! R= R>]’4      t™R? R@ ltš ! RA RB]’4      t› ! RC RD]˜4      tœRE RF lt� ! RG RH]’4      tžRI RJ ltŸRK RL lt RM RN lt¡ ! RO RP]ž4      t¢ ! RQ RR]’4      t£ ! RS RT]¤4      t¥ ! RU RV]’4      t¦ ! RW RX]’4      t§ ! RY RZ]’4      t¨R[ R\ lt©] ! R] R^4      4       tª ! R_ R`]’4      t«] ! Ra Rb4      4       t¬Rc t­Rd Re lt® ! Rf Rg4      t¯ ! Rh Ri]A4      t°RvRj Rk llt±RwRl Rm llt²Rn Ro lt³Rp t´Rq tµRr Rs lt¶R# )xé    N)ÚCounter)ÚIterableÚIterator)ÚcopyÚdeepcopy)Ú	dataclass)Úpartial)ÚcycleÚislice)ÚPath)ÚTYPE_CHECKINGÚAnyÚBinaryIOÚCallableÚOptionalÚUnion)Ú
CommitInfoÚCommitOperationAddÚHfApiÚHfFileSystemÚHfFileSystemResolvedPath)ÚRepositoryNotFoundError)Úversion)Ú__version__Úconfig)ÚDatasetÚDatasetInfoMixinÚ_push_to_bucketÚ_push_to_repo©ÚFeatures)	ÚFeatureTypeÚListÚValueÚ_align_featuresÚ!_check_if_features_can_be_alignedÚ%_fix_for_backward_compatible_featuresÚ_visitÚcast_to_python_objectsÚrequire_decoding)ÚArrowFormatterÚPythonFormatterÚTableFormatterÚTensorFormatterÚget_format_type_from_aliasÚget_formatter)ÚDatasetInfo)Ú	_split_re)Ú
NamedSplitÚSplitÚ	SplitInfo)Ú(_batch_accumulate_arrow_table_by_columnsÚ_batch_arrow_tableÚcast_table_to_featuresÚembed_table_storageÚread_schema_from_fileÚ
table_cast)Útqdm)Ú
get_logger)ÚLiteralÚconvert_file_size_to_intÚiflatmap_unordered)Ú_merge_gen_kwargsÚ_number_of_shards_in_gen_kwargsÚ_shuffle_gen_kwargsÚ_split_gen_kwargs)ÚPathLikez1.6.0)ÚBucketNotFoundError)ÚHfFileSystemResolvedBucketPathÚ"HfFileSystemResolvedRepositoryPath©ÚKeyÚ
BuilderKeyc                 ó   € V # ©N© )Úxs   &Új/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/datasets/iterable_dataset.pyÚidentity_funcrQ   h   s   € Ø€Hó    c                óR   € V ^8„  d   QhR\         R\         \        \        3,          /# )é   ÚexampleÚcolumn_mapping©ÚdictÚstr)Úformats   "rP   Ú__annotate__r[   l   s"   € ÷ ñ ¤ð ´d¼3Ä¸8µnñ rR   c                 óô  a € \         ;QJ d    V 3R  lV 4       F  '       g   K   RM	  RM! V 3R  lV 4       4      '       dO   \        R\        V4       R\        VP                  4       4       R\	        V4      \	        S 4      ,
           R24      h\         ;QJ d-    V 3R lVP                  4        4       F  '       g   K   RM"	  RM! V 3R lVP                  4        4       4      '       d]   \        R\        V4       R\        VP                  4       4       R\	        S 4      \	        VP                  4       4      ,
           R24      hVP                  4        UUu/ uF  w  r#VS V,          bK  	  upp# u uppi )	c              3   ó,   <"  € T F	  qS9  x € K  	  R # 5irM   rN   ©Ú.0ÚcolrU   s   & €rP   Ú	<genexpr>Ú%_rename_columns_fn.<locals>.<genexpr>m   s   øé € Ð
8© #�gÖ«ùó   ƒTFzError when renaming ú to z
: columns z are not in the dataset.c              3   ó,   <"  € T F	  qS9   x € K  	  R # 5irM   rN   r^   s   & €rP   ra   rb   q   s   øé € Ð
=Ñ%<˜c�'Ž>Ó%<ùrc   z are already in the dataset.)ÚanyÚ
ValueErrorÚlistÚvaluesÚsetÚitems)rU   rV   Úoriginal_column_nameÚnew_column_names   f&  rP   Ú_rename_columns_fnrn   l   s|  ø€ ß
ƒsÔ
8©Ó
8‡s‡s‚sÔ
8©Ó
8×8Ò8ÜØ"¤4¨Ó#7Ð"8¸¼TÀ.×BWÑBWÓBYÓ=ZÐ<[Ð[eÔfiÐjxÓfyÔ|ð  AHó  }Iõ  gIð  fJð  Jbð  có
ð 	
÷ ƒsÔ
= ^×%:Ñ%:Ô%<Ó
=‡s‡s‚sÔ
= ^×%:Ñ%:Ô%<Ó
=×=Ò=ÜØ"¤4¨Ó#7Ð"8¸¼TÀ.×BWÑBWÓBYÓ=ZÐ<[Ð[eÔfiÐjqÓfrÔuxð  zH÷  zOñ  zOó  zQó  vRõ  gRð  fSð  Soð  pó
ð 	
ð
 6D×5IÑ5IÔ5Kôá5KÑ1Ð ð 	˜Ð!5Õ6Ò6Ù5Kòð ùó s   ÅE4c          	      ó^   € V ^8„  d   QhR\         R\        R\        R\        \         ,          /# )rT   rU   ÚidxÚnameÚcolumn)rX   ÚintrY   rh   )rZ   s   "rP   r[   r[   {   s,   € ÷ ñ œ4ð ¤cð ´ð ¼dÄ4½jñ rR   c                 óF   € W 9   d   \        R V RV R24      hW#V,          /# )zError when adding z	: column z is already in the dataset.)rg   )rU   rp   rq   rr   s   &&&&rP   Úadd_column_fnru   {   s0   € Ø„ÜÐ-¨d¨V°9¸T¸FÐB]Ð^Ó_Ð_Ø˜•+ÐÐrR   c                ót   € V ^8„  d   QhR\         \        \        3,          R\        \        ,          R\        /# )rT   ÚbatchÚtry_featuresÚreturn)rX   rY   rh   r   r!   )rZ   s   "rP   r[   r[   �   s/   € ÷ 7ñ 7¤d¬3´¨9¥oð 7ÄXÌhÕEWð 7Ôckñ 7rR   c                 ó>  € \         P                  P                  V 4      pVe,    \        V\         P                  ! VP
                  4      4      p\        P                  ! VP                  4      #   \        \         P                  \         P                  3 d     LLi ; irM   )ÚpaÚTableÚfrom_pydictr;   ÚschemaÚtypeÚ	TypeErrorÚArrowInvalidÚArrowNotImplementedErrorr!   Úfrom_arrow_schema)rw   rx   Úpa_tables   && rP   Ú_infer_features_from_batchr…   �   sx   € Ü�x‰x×#Ñ# EÓ*€HØÒð	Ü! (¬B¯IªI°l×6GÑ6GÓ,HÓIˆHô ×%Ò% h§o¡oÓ6Ð6øô œ2Ÿ?™?¬B×,GÑ,GÐHô 	Ùð	ús   ¥*A/ Á/*BÂBc                óŠ   € V ^8„  d   QhR\         \        \        \        3,          ,          R\        \        \         3,          /# )rT   Úexamplesry   )rh   rX   rY   r   )rZ   s   "rP   r[   r[   ‹   s/   € ÷ #ñ #¤¤d¬3´¨8¥nÕ!5ð #¼$¼sÄD¸y½/ñ #rR   c           
      óâ   € V  UUu/ uF  q F  q"R bK  	  K  	  pppV UUu. uF"  q  Uu. uF  qP                  V4      NK  	  upNK$  	  ppp\        \        W44      4      # u uppi u upi u uppi rM   )ÚgetrX   Úzip)r‡   rU   r`   ÚcolsÚarrayss   &    rP   Ú_examples_to_batchr�   ‹   sh   € ñ &.ÔA¡X˜'º°#�ŠI¹‰C¡X€DÑAáDHÔIÁD¸S¨xÓ8©x G�{‰{˜3Ö©xÔ8ÁD€FÑIÜ”�DÓ!Ó"Ð"ùó Bùâ8ùÓIs   †A ¡A+©A&ÁA+Á&A+c                óŠ   € V ^8„  d   QhR\         \        \        3,          R\        \         \        \        3,          ,          /# )rT   rw   ry   )rX   rY   rh   r   r   )rZ   s   "rP   r[   r[   ”   s/   € ÷ >ñ >œd¤3¬ 9�oð >´(¼4ÄÄSÀ½>Õ2Jñ >rR   c              #  ó  "  € \        V 4      ^ 8X  d   ^ M#\        V \        \        V 4      4      ,          4      p\        V4       F0  pV P	                  4        UUu/ uF  w  r4W4V,          bK  	  uppx € K2  	  R# u uppi 5i)z3Convert a batch (dict of examples) to examples listN)ÚlenÚnextÚiterÚrangerk   )rw   Ú
n_examplesÚir`   Úarrays   &    rP   Ú_batch_to_examplesr—   ”   s^   é € ä˜%“j A”o‘¬3¨u´T¼$¸u»+Ó5FÕ/GÓ+H€JÜ�:ÖˆØ/4¯{©{¬}Ô=©}¡ ˆs˜!•HŠ}©}Ò=Ô=ó ùÛ=ùs   ‚AB ÁA:Á.B c                óÌ   € V ^8„  d   QhR\         \        \        \        3,          ,          R\        R\
        R\        \        \        \        P                  3,          ,          /# )rT   ÚiterableÚ
batch_sizeÚdrop_last_batchry   )	r   ÚtuplerJ   rX   rs   Úboolr   r{   r|   )rZ   s   "rP   r[   r[   ›   sV   € ÷ fñ fÜ”uœS¤$˜YÕ'Õ(ðfäðfô ðfô Œe”CœŸ™�MÕ"Õ#ñ	frR   c              #  ó  "  € Ve   V^ 8:  dE   R\         P                  P                  \        V  UUu. uF  w  r4VNK	  	  uppRR7      4      3x € R# \	        V 4      pV F—  w  rd\        WQ^,
          4      pWd3.\        V4      ,           p\        V4      V8  d   V'       d    R# \        V!  w  ršRP                  R V	 4       4      pV\         P                  P                  \        V
RR7      4      3x € K™  	  R# u uppi 5i)a¹  Convert and group examples in Arrow tables of size `batch_size`.

Args:
    iterable (`Iterable[Tuple[Key, dict]]`):
        An examples iterable containing tuples (example_key, example) of type (int/str, dict)
    batch_size (`Optional[int]`):
        Size of each sub-table to yield. If None or <= 0, yields the full table.
    drop_last_batch (`bool`, defaults to `False`):
        Drop the last batch if it is smaller than `batch_size`.
NÚallT)Úonly_1d_for_numpyÚ_c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5irM   ©rY   ©r_   Úkeys   & rP   ra   Ú$_convert_to_arrow.<locals>.<genexpr>·   s   é € Ð4©t¨œ3˜sŸ8˜8«tùó   ‚)
r{   r|   Úfrom_pylistr)   r’   r   rh   r�   rŠ   Újoin)r™   rš   r›   r¡   rU   Úiteratorr¥   Úiterator_batchÚkey_examples_listÚkeysr‡   Únew_keys   &&&         rP   Ú_convert_to_arrowr¯   ›   sé   é € ð Ò˜Z¨1œ_àÜ�H‰H× Ñ Ô!7ÑS[Ô8\ÑS[ÁZÀQ»ÑS[Ò8\ÐptÔ!uÓvð
ò 	
ñ 	Ü�H‹~€HÛ ‰ˆÜ °q­.Ó9ˆØ!˜^Ð,¬t°NÓ/CÕCÐÜÐ Ó! JÔ.·?ÚÜÐ/Ñ0‰ˆØ—(‘(Ñ4©tÓ4Ó4ˆØ”r—x‘x×+Ñ+Ô,BÀ8Ð_cÔ,dÓeÐeÔeó !ùó	 9]ùs   ‚0D²C<¿A"DÂ"A Dc                ó,   € V ^8„  d   QhRRR\         RR/# )rT   Úex_iterableÚ_BaseExamplesIterableÚvaluery   ©rs   )rZ   s   "rP   r[   r[   »   s#   € ÷ -ñ -Ð(?ð -Ìð -ÐPgñ -rR   c                ó$   aa€ VV3R loS! V 4      # )z‹We need to go through the ex_iterables recursively, create a new seed and return a new iterable, then set it to the containing ex_iterable.c                 ó  <€ \        V R 4      '       d   V P                  S4      p \        V R4      '       d   S! V P                  4      V n        \        V R4      '       d(   V P                   Uu. uF  pS! V4      NK  	  upV n        V # u upi )Ú
shift_rngsr±   Úex_iterables)Úhasattrr·   r±   r¸   )r±   ÚeiÚset_seed_recursivelyr³   s   & €€rP   r»   Ú4shift_ex_examples_rngs.<locals>.set_seed_recursively¾   s~   ø€ Ü�; ×-Ò-Ø%×0Ñ0°Ó7ˆKÜ�; ×.Ò.Ù&:¸;×;RÑ;RÓ&SˆKÔ#Ü�; ×/Ò/ØKV×KcÒKcÓ'dÑKcÀRÑ(<¸RÖ(@ÑKcÑ'dˆKÔ$ØÐùò (es   Á.B	rN   )r±   r³   r»   s   &f@rP   Úshift_ex_examples_rngsr½   »   s   ù€ öñ   Ó,Ð,rR   c                   óN  a € ] tR t^Êt o RtV 3R lR ltV 3R lR lt]V 3R lR l4       t]V 3R lR	 l4       t	]V 3R
 lR l4       t
V 3R lR ltRV 3R lR lltV 3R lR ltRV 3R lR llt]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR lt]R 4       tRtV tR# ) r²   z?Base class for the examples iterable used by an IterableDatasetc                ó   <€ V ^8„  d   QhRR/# )rT   ry   NrN   )rZ   Ú__classdict__s   "€rP   r[   Ú"_BaseExamplesIterable.__annotate__Í   s   ø€ ÷ =ñ =˜$ñ =rR   c                ó   € R V n         R # rM   ©Ú_state_dict©Úselfs   &rP   Ú__init__Ú_BaseExamplesIterable.__init__Í   s
   € Ø8<ˆÖrR   c                óF   <€ V ^8„  d   QhRS[ S[S[S[3,          ,          /# ©rT   ry   )r   rœ   rJ   rX   )rZ   rÀ   s   "€rP   r[   rÁ   Ð   s%   ø€ ÷ Rñ R™(¡5©©d¨Õ#3Õ4ñ RrR   c                ó0   € \        \        V 4       R24      h)zWAn examples iterable should yield tuples (example_key, example) of type (int/str, dict)z doesn't implement __iter__ yet©ÚNotImplementedErrorr   rÅ   s   &rP   Ú__iter__Ú_BaseExamplesIterable.__iter__Ð   s   € ä!¤T¨$£Z LÐ0OÐ"PÓQÐQrR   c                ó~   <€ V ^8„  d   QhRS[ S[. S[S[S[S[P                  3,          ,          3,          ,          /# rÊ   )r   r   r   rœ   rJ   r{   r|   )rZ   rÀ   s   "€rP   r[   rÁ   Õ   s5   ø€ ÷ ñ ™H¡X¨b±(¹5ÁÁbÇhÁhÀÕ;OÕ2PÐ.PÕ%QÕRñ rR   c                ó   € R # rM   rN   rÅ   s   &rP   Ú
iter_arrowÚ _BaseExamplesIterable.iter_arrowÔ   ó   € árR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   ©r�   )rZ   rÀ   s   "€rP   r[   rÁ   Ù   s   ø€ ÷ ñ ™$ñ rR   c                ó   € R # ©FrN   rÅ   s   &rP   Úis_typedÚ_BaseExamplesIterable.is_typedØ   s   € árR   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rÊ   )r   r!   )rZ   rÀ   s   "€rP   r[   rÁ   Ý   s   ø€ ÷ ñ ™(¡8Õ,ñ rR   c                ó   € R # rM   rN   rÅ   s   &rP   ÚfeaturesÚ_BaseExamplesIterable.featuresÜ   rÔ   rR   c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   Ú	generatorry   r²   ©ÚnpÚrandomÚ	Generator)rZ   rÀ   s   "€rP   r[   rÁ   à   s*   ø€ ÷ ^ñ ^©b¯i©i×.AÑ.Að ^ÐF]ñ ^rR   c                ó0   € \        \        V 4       R24      h)zÝ
Either shuffle the shards/sources of the dataset, or propagate the shuffling to the underlying iterable.
If the order of the shards must stay fixed (when using .skip or .take for example), then this method returns self.
z+ doesn't implement shuffle_data_sources yetrÌ   ©rÆ   rà   s   &&rP   Úshuffle_data_sourcesÚ*_BaseExamplesIterable.shuffle_data_sourcesà   s   € ô
 "¤T¨$£Z LÐ0[Ð"\Ó]Ð]rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   Ú
num_shardsÚindexry   r²   r´   )rZ   rÀ   s   "€rP   r[   rÁ   ç   s(   ø€ ÷ \ñ \©Sð \¹ð \ÐRiñ \rR   c                ó0   € \        \        V 4       R24      h)úZEither keep only the requested shard, or propagate the request to the underlying iterable.z) doesn't implement shard_data_sources yetrÌ   ©rÆ   rê   rë   Ú
contiguouss   &&&&rP   Úshard_data_sourcesÚ(_BaseExamplesIterable.shard_data_sourcesç   s   € ä!¤T¨$£Z LÐ0YÐ"ZÓ[Ð[rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   r²   rN   )rZ   rÀ   s   "€rP   r[   rÁ   ë   s   ø€ ÷ ^ñ ^Ð&=ñ ^rR   c                ó0   € \        \        V 4       R24      h)z÷
Either reshard the shards/sources of the dataset, i.e. further split the current shards into more shards,
or propagate the resharding to the underlying iterable.
If the examples iterable can't be further resharded, then this method returns self.
z+ doesn't implement reshard_data_sources yetrÌ   rÅ   s   &rP   Úreshard_data_sourcesÚ*_BaseExamplesIterable.reshard_data_sourcesë   s   € ô "¤T¨$£Z LÐ0[Ð"\Ó]Ð]rR   c                ó<   <€ V ^8„  d   QhRS[ RS[ RS[S[ ,          /# )rT   rê   rë   ry   )rs   rh   )rZ   rÀ   s   "€rP   r[   rÁ   ó   s.   ø€ ÷ Cñ C¹ð CÁCð CÑ]aÑbeÕ]fñ CrR   c                ó"  € V'       dj   V P                   V,          pV P                   V,          pWB,          \        W%4      ,           pWd,           W%8  d   ^M^ ,           p\        \        Wg4      4      # \        \        W P                   V4      4      # ©é   )rê   Úminrh   r“   )rÆ   rê   rë   rï   ÚdivÚmodÚstartÚends   &&&&    rP   Úsplit_shard_indices_by_workerÚ3_BaseExamplesIterable.split_shard_indices_by_workeró   si   € ßØ—/‘/ ZÕ/ˆCØ—/‘/ JÕ.ˆCØ•K¤# e£/Õ1ˆEØ•+ e¤k¡°qÕ9ˆCÜœ˜eÓ)Ó*Ð*äœ˜e§_¡_°jÓAÓBÐBrR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   rÁ   þ   s   ø€ ÷ Tñ T™Cñ TrR   c                ó0   € \        \        V 4       R 24      h)z! doesn't implement num_shards yetrÌ   rÅ   s   &rP   rê   Ú _BaseExamplesIterable.num_shardsý   s   € ä!¤T¨$£Z LÐ0QÐ"RÓSÐSrR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   ©rX   )rZ   rÀ   s   "€rP   r[   rÁ     s   ø€ ÷ Zñ Z¡$ñ ZrR   c                ó0   € \        \        V 4       R 24      h)z' doesn't implement _init_state_dict yetrÌ   rÅ   s   &rP   Ú_init_state_dictÚ&_BaseExamplesIterable._init_state_dict  s   € Ü!¤T¨$£Z LÐ0WÐ"XÓYÐYrR   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# ©rT   Ú
state_dictry   r  )rZ   rÀ   s   "€rP   r[   rÁ     s   ø€ ÷ Dñ D©$ð D±4ñ DrR   c                óV   a€ V3R  loV P                  4        S! V P                  V4      # )c                 ó.  <€ Ve9   \        V \        4      '       d#   V F  pS! W,          W,          4      W&   K  	  V # VeK   \        V \        4      '       d5   \        \	        V 4      4       F  pS! W,          W,          4      W&   K  	  V # \        V4      # rM   )Ú
isinstancerX   rh   r“   r�   r   )ÚstateÚ	new_stater¥   r•   Ú_inner_load_state_dicts   &&  €rP   r  ÚE_BaseExamplesIterable.load_state_dict.<locals>._inner_load_state_dict  s}   ø€ ØÒ$¬°E¼4×)@Ò)@Û$�CÙ!7¸½
ÀIÅNÓ!S�E“Jñ %à�ØÒ&¬:°e¼T×+BÒ+BÜœs 5›zÖ*�AÙ5°eµhÀ	ÅÓM�E“Hñ +à�Ü˜IÓ&Ð&rR   )r  rÄ   )rÆ   r  r  s   &&@rP   Úload_state_dictÚ%_BaseExamplesIterable.load_state_dict  s)   ø€ õ		'ð 	×ÑÔÙ% d×&6Ñ&6¸
ÓCÐCrR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   rÁ     s   ø€ ÷ oñ o™Dñ orR   c                óf   € V P                   '       d   \        V P                   4      # \        R 4      h)zPState dict is not initialized, please call ex_iterable._init_state_dict() first.)rÄ   r   ÚRuntimeErrorrÅ   s   &rP   r  Ú _BaseExamplesIterable.state_dict  s+   € Ø××ÐÜ˜D×,Ñ,Ó-Ð-ÜÐmÓnÐnrR   c                óü   € \        V R 4      '       d   V P                  # \        V R4      '       d   V P                  .MV P                  p\        ;QJ d    R V 4       F  '       g   K   R# 	  R# ! R V 4       4      # )Ú_sleep_on_threads_shutdownr±   c              3   ó8   "  € T F  qP                   x € K  	  R # 5irM   ©Úsleep_on_threads_shutdown©r_   r±   s   & rP   ra   ÚB_BaseExamplesIterable.sleep_on_threads_shutdown.<locals>.<genexpr>  s   é € Ð]ÑP\À×<Ö<ÓP\ùr§   TF)r¹   r  r±   r¸   rf   )rÆ   r¸   s   & rP   r  Ú/_BaseExamplesIterable.sleep_on_threads_shutdown  sj   € ä�4Ð5×6Ò6Ø×2Ñ2Ð2ä18¸¸}×1MÒ1M˜D×,Ñ,Ñ-ÐSW×SdÑSdˆLß“3Ñ]ÑP\Ó]—3”3Ð]’3Ð]�3Ñ]ÑP\Ó]Ó]Ð]rR   rÃ   N©T)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__rÇ   rÎ   ÚpropertyrÒ   rÙ   rÝ   rç   rð   rô   rÿ   rê   r  r  r  r  Ú__static_attributes__Ú__classdictcell__©rÀ   s   @rP   r²   r²   Ê   sÚ   ø‡ € ÙI÷=ð =÷Rð Rð ÷ó ðð ÷ó ðð ÷ó ð÷^ð ^÷\ò \÷^ð ^÷Cò Cð ÷Tó ðT÷Zð Z÷Dð D÷oð oð
 ñ^ó ö^rR   r²   c                   ó°   a a€ ] tR tRt oRV3R lV 3R llltV3R lR ltR tV3R lR ltRV3R	 lR
 lltV3R lR lt	]
V3R lR l4       tRtVtV ;t# )ÚExamplesIterablei!  c          
      ó    <€ V ^8„  d   QhRS[ RS[S[S[S[3,          ,          3,          RS[RS[S[ RS[S[,          3,          ,          RS[/# )rT   Úgenerate_examples_fn.ÚkwargsÚgenerate_more_kwargs_fnr  )r   r   rœ   rJ   rX   r   r�   )rZ   rÀ   s   "€rP   r[   ÚExamplesIterable.__annotate__"  sd   ø€ ÷ Dñ Dá& s©H±U¹3Á¸9Õ5EÕ,FÐ'FÕGðDñ ðDñ "*©(°3¹Á½Ð3FÕ*GÕ!Hð	Dñ
 $(ñDrR   c                óT   <€ \         SV `  4        Wn        W n        W0n        W@n        R # rM   )ÚsuperrÇ   r.  r/  r0  r  )rÆ   r.  r/  r0  r  Ú	__class__s   &&&&&€rP   rÇ   ÚExamplesIterable.__init__"  s,   ø€ ô 	‰ÑÔØ$8Ô!ØŒð (?Ô$ð +DÖ'rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   r1  3  ó   ø€ ÷  ñ  ¡$ñ  rR   c                ó\   € R ^ R^ RV P                   P                  /V n        V P                  # ©Ú	shard_idxÚshard_example_idxr   ©r4  r"  rÄ   rÅ   s   &rP   r  Ú!ExamplesIterable._init_state_dict3  ó.   € Ø'¨Ð,?ÀÀFÈDÏNÉN×LcÑLcÐdˆÔØ×ÑÐrR   c              #  óF  "  € V P                   '       d   V P                   R ,          M^ p\        \        V P                  V P                  R7      VR4       FÅ  pV P                   '       d   V P                   R,          M^ p\        V P
                  ! R/ VB VR4       F8  pV P                   '       d    V P                   R;;,          ^,          uu&   Vx € K:  	  V P                   '       g   K—  V P                   R ;;,          ^,          uu&   ^ V P                   R&   KÇ  	  R# 5i©r:  ©Úmax_num_jobsNr;  rN   )rÄ   r   rD   r/  rê   r.  )rÆ   Úshard_idx_startÚ
gen_kwargsÚshard_example_idx_startÚkey_examples   &    rP   rÎ   ÚExamplesIterable.__iter__7  së   é € Ø;?×;K×;KÐ;K˜$×*Ñ*¨;Ö7ÐQRˆÜ Ô!2°4·;±;ÈTÏ_É_Ô!]Ð_nÐptÖuˆJØOS×O_×O_ÐO_ d×&6Ñ&6Ð7JÖ&KÐefÐ#Ü% d×&?Ò&?Ñ&MÀ*Ñ&MÐOfÐhlÖm�Ø×#×#Ð#Ø×$Ñ$Ð%8×9¸QÕ>Ó9Ø!Ô!ñ  nð ××ÒØ× Ñ  ×-°Õ2Ó-Ø89�× Ñ Ð!4Ó5ó vùs   ‚C&D!Ã-4D!c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   r,  rá   )rZ   rÀ   s   "€rP   r[   r1  C  s&   ø€ ÷ 
ñ 
©b¯i©i×.AÑ.Að 
ÐFXñ 
rR   c                ó”   € \        V P                  \        \        V4      V P                  4      V P
                  V P                  4      # rM   )r,  r.  rC   r   r/  r0  r  ræ   s   &&rP   rç   Ú%ExamplesIterable.shuffle_data_sourcesC  s=   € ÜØ×%Ñ%Ü¤¨Ó 3°T·[±[ÓAØ×(Ñ(Ø×*Ñ*ó	
ð 	
rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   r,  r´   )rZ   rÀ   s   "€rP   r[   r1  K  s#   ø€ ÷ 

ñ 

©Sð 

¹ð 

ÐRdñ 

rR   c                ó  € \        V P                  V P                  R7      pV P                  WVR7      p\	        V Uu. uF  qdV,          NK  	  up4      p\        V P                  VV P                  V P                  4      # u upi ©úKeep only the requested shard.rA  ©rï   )	rD   r/  rê   rÿ   rA   r,  r.  r0  r  ©rÆ   rê   rë   rï   Úgen_kwargs_listÚshard_indicesr•   Úrequested_gen_kwargss   &&&&    rP   rð   Ú#ExamplesIterable.shard_data_sourcesK  s}   € ä+¨D¯K©KÀdÇoÁoÔVˆØ×:Ñ:¸:ÐYcÐ:ÓdˆÜ0ÉmÓ1\ÉmÈÀ!×2DÐ2DÉmÑ1\Ó]ÐÜØ×%Ñ%Ø Ø×(Ñ(Ø×*Ñ*ó	
ð 	
ùò 2]s   ¾Bc                ó   <€ V ^8„  d   QhRR/# )rT   ry   r,  rN   )rZ   rÀ   s   "€rP   r[   r1  W  s   ø€ ÷ 
ñ 
Ð&8ñ 
rR   c                ó¢  € V P                   '       g7   \        V P                  V P                  V P                   V P                  4      # \        V P                  V P                  R7      p\        V UUu. uF  pV P                   ! R/ VB  F  pVNK  	  K   	  upp4      p\        V P                  W0P                   V P                  4      # u uppi ©z)Split shars into more shards if possible.rA  rN   )r0  r,  r.  r/  r  rD   rê   rA   ©rÆ   rQ  rD  Únew_gen_kwargss   &   rP   rô   Ú%ExamplesIterable.reshard_data_sourcesW  sÁ   € à×+×+Ð+Ü#Ø×)Ñ)¨4¯;©;¸×8TÑ8TÐVZ×VtÑVtóð ô ,¨D¯K©KÀdÇoÁoÔVˆÜ*ñ #2ôá"1�JØ&*×&BÒ&BÑ&PÀZÔ&P�Nó á&Pñ Ù"1òó
ˆô  Ø×%Ñ% ~×7SÑ7SÐUY×UsÑUsó
ð 	
ùós   Á4$C
c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   r1  j  ó   ø€ ÷ <ñ <™Cñ <rR   c                ó,   € \        V P                  4      # rM   ©rB   r/  rÅ   s   &rP   rê   ÚExamplesIterable.num_shardsi  ó   € ä.¨t¯{©{Ó;Ð;rR   )r  rÄ   r.  r0  r/  ©NFr!  )r"  r#  r$  r%  rÇ   r  rÎ   rç   rð   rô   r'  rê   r(  r)  Ú__classcell__©r4  rÀ   s   @@rP   r,  r,  !  sW   ù‡ € ÷Dõ D÷" ð  ò
:÷
ð 
÷

ò 

÷
ð 
ð$ ÷<ó ÷<ð <rR   r,  c                   óÆ   a a€ ] tR tRt oRV3R lV 3R lllt]R 4       tV3R lR ltR tR t	V3R	 lR
 lt
RV3R lR lltV3R lR lt]V3R lR l4       tRtVtV ;t# )ÚArrowExamplesIterablein  c          
      ó´   <€ V ^8„  d   QhRS[ RS[S[S[S[P
                  3,          ,          3,          RS[RS[S[ RS[S[,          3,          ,          RS[/# )rT   Úgenerate_tables_fn.r/  r0  r  )	r   r   rœ   rJ   r{   r|   rX   r   r�   )rZ   rÀ   s   "€rP   r[   Ú"ArrowExamplesIterable.__annotate__o  sh   ø€ ÷ Dñ Dá$ S©(±5¹¹b¿h¹h¸Õ3GÕ*HÐ%HÕIðDñ ðDñ "*©(°3¹Á½Ð3FÕ*GÕ!Hð	Dñ
 $(ñDrR   c                óT   <€ \         SV `  4        Wn        W n        W0n        W@n        R # rM   )r3  rÇ   rg  r/  r0  r  )rÆ   rg  r/  r0  r  r4  s   &&&&&€rP   rÇ   ÚArrowExamplesIterable.__init__o  s,   ø€ ô 	‰ÑÔØ"4ÔØŒð (?Ô$ð +DÖ'rR   c                ó   € V P                   # rM   )Ú_iter_arrowrÅ   s   &rP   rÒ   Ú ArrowExamplesIterable.iter_arrow€  s   € à×ÑÐrR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   rh  „  r7  rR   c                ó\   € R ^ R^ RV P                   P                  /V n        V P                  # r9  r<  rÅ   s   &rP   r  Ú&ArrowExamplesIterable._init_state_dict„  r>  rR   c              #  ó\  "  € \        4       pV P                  '       d   V P                  R ,          M^ p\        \        V P                  V P
                  R7      VR4       EFE  pV P                  '       d   V P                  R,          M^ p^ pV P                  ! R/ VB  F¿  w  rgV\        V4      ,           V8:  d   V\        V4      ,          pK0  VP                  \        P                  R7       Fk  pVP                  V4      p	\        V	4       FH  p
WT8¼  d7   V P                  '       d    V P                  R;;,          ^,          uu&   Wj3x € V^,          pKJ  	  Km  	  KÁ  	  V P                  '       g   EK  V P                  R ;;,          ^,          uu&   ^ V P                  R&   EKH  	  R# 5i)r:  rA  Nr;  ©Úmax_chunksizerN   )r,   rÄ   r   rD   r/  rê   rg  r�   Ú	to_readerr   Ú'ARROW_READER_BATCH_SIZE_IN_DATASET_ITERÚformat_batchr—   )rÆ   Ú	formatterrC  Ú	gen_kwagsrE  r;  r¥   r„   Úpa_subtableÚformatted_batchrU   s   &          rP   rÎ   ÚArrowExamplesIterable.__iter__ˆ  sf  é € Ü#Ó%ˆ	Ø;?×;K×;KÐ;K˜$×*Ñ*¨;Ö7ÐQRˆÜÔ 1°$·+±+ÈDÏOÉOÔ \Ð^mÐos×tˆIØOS×O_×O_ÐO_ d×&6Ñ&6Ð7JÖ&KÐefÐ#Ø !ÐØ!%×!8Ò!8Ñ!E¸9Ô!E‘�Ø$¤s¨8£}Õ4Ð8OÔOØ%¬¨X«Õ6Ð%ÙØ#+×#5Ñ#5ÄF×DrÑDrÐ#5Ö#s�KØ&/×&<Ñ&<¸[Ó&I�OÜ#5°oÖ#F˜Ø,ÔGØ#×/×/Ð/Ø $× 0Ñ 0Ð1D× EÈÕ JÓ EØ"% ,Ò.Ø)¨QÕ.Ò)ó $Gó $tñ	 "Fð ××ÓØ× Ñ  ×-°Õ2Ó-Ø89�× Ñ Ð!4Ô5ó# uùs   ‚D&F,Ä)AF,Å75F,c              #  ó€  "  € V P                   '       d   V P                   R ,          M^ p\        \        V P                  V P                  R7      VR4       Fâ  pV P                   '       d   V P                   R,          M^ p^ pV P
                  ! R/ VB  F^  w  rVV\        V4      ,          pWC8:  d   K  V P                   '       d)   V P                   R;;,          \        V4      ,          uu&   WV3x € K`  	  V P                   '       g   K´  V P                   R ;;,          ^,          uu&   ^ V P                   R&   Kä  	  R# 5ir@  )rÄ   r   rD   r/  rê   rg  r�   )rÆ   rC  rx  rE  r;  r¥   r„   s   &      rP   rl  Ú!ArrowExamplesIterable._iter_arrowž  s  é € Ø;?×;K×;KÐ;K˜$×*Ñ*¨;Ö7ÐQRˆÜÔ 1°$·+±+ÈDÏOÉOÔ \Ð^mÐosÖtˆIØOS×O_×O_ÐO_ d×&6Ñ&6Ð7JÖ&KÐefÐ#Ø !ÐØ!%×!8Ò!8Ñ!E¸9Ô!E‘�Ø!¤S¨£]Õ2Ð!Ø$Ô?ÙØ×#×#Ð#Ø×$Ñ$Ð%8×9¼SÀ»]ÕJÓ9Ø�mÔ#ñ "Fð ××ÒØ× Ñ  ×-°Õ2Ó-Ø89�× Ñ Ð!4Ó5ó uùs   ‚CD>ÃA D>Ä
4D>c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   re  rá   )rZ   rÀ   s   "€rP   r[   rh  ®  s&   ø€ ÷ 
ñ 
©b¯i©i×.AÑ.Að 
ÐF]ñ 
rR   c                ó”   € \        V P                  \        \        V4      V P                  4      V P
                  V P                  4      # rM   )re  rg  rC   r   r/  r0  r  ræ   s   &&rP   rç   Ú*ArrowExamplesIterable.shuffle_data_sources®  s=   € Ü$Ø×#Ñ#Ü¤¨Ó 3°T·[±[ÓAØ×(Ñ(Ø×*Ñ*ó	
ð 	
rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   re  r´   )rZ   rÀ   s   "€rP   r[   rh  ¶  s#   ø€ ÷ 
ñ 
©Sð 
¹ð 
ÐRiñ 
rR   c                ó  € \        V P                  V P                  R7      pV P                  WVR7      p\	        V Uu. uF  qdV,          NK  	  up4      p\        V P                  WpP                  V P                  4      # u upi rM  )	rD   r/  rê   rÿ   rA   re  rg  r0  r  rP  s   &&&&    rP   rð   Ú(ArrowExamplesIterable.shard_data_sources¶  sz   € ä+¨D¯K©KÀdÇoÁoÔVˆØ×:Ñ:¸:ÐYcÐ:ÓdˆÜ0ÉmÓ1\ÉmÈÀ!×2DÐ2DÉmÑ1\Ó]ÐÜ$Ø×#Ñ#Ð%9×;WÑ;WÐY]×YwÑYwó
ð 	
ùò 2]s   ¾Bc                ó   <€ V ^8„  d   QhRR/# )rT   ry   re  rN   )rZ   rÀ   s   "€rP   r[   rh  ¿  s   ø€ ÷ 
ñ 
Ð&=ñ 
rR   c                óŒ  € V P                   '       g,   \        V P                  V P                  V P                   4      # \	        V P                  V P
                  R7      p\        V UUu. uF  pV P                   ! R/ VB  F  pVNK  	  K   	  upp4      p\        V P                  W0P                   V P                  4      # u uppi rW  )r0  re  rg  r/  rD   rê   rA   r  rX  s   &   rP   rô   Ú*ArrowExamplesIterable.reshard_data_sources¿  s±   € à×+×+Ð+Ü(¨×)@Ñ)@À$Ç+Á+Èt×OkÑOkÓlÐlÜ+¨D¯K©KÀdÇoÁoÔVˆÜ*ñ #2ôá"1�JØ&*×&BÒ&BÑ&PÀZÔ&P�Nó á&Pñ Ù"1òó
ˆô %Ø×#Ñ# ^×5QÑ5QÐSW×SqÑSqó
ð 	
ùós   Á)$C 
c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   rh  Ð  r\  rR   c                ó,   € \        V P                  4      # rM   r^  rÅ   s   &rP   rê   Ú ArrowExamplesIterable.num_shardsÏ  r`  rR   )r  rÄ   r0  rg  r/  ra  r!  )r"  r#  r$  r%  rÇ   r'  rÒ   r  rÎ   rl  rç   rð   rô   rê   r(  r)  rb  rc  s   @@rP   re  re  n  sp   ù‡ € ÷Dõ Dð" ñ ó ð ÷ ð  ò:ò,:÷ 
ð 
÷
ò 
÷
ð 
ð  ÷<ó ÷<ð <rR   re  c                   óò   a a€ ] tR tRt oRV3R lV 3R lllt]R 4       t]R 4       t]R 4       tV3R lR lt	R	 t
V3R
 lR ltV3R lR ltRV3R lR lltV3R lR lt]V3R lR l4       tRtVtV ;t# )ÚRebatchedArrowExamplesIterableiÔ  c                óB   <€ V ^8„  d   QhRS[ RS[S[,          RS[RS[/# )rT   r±   rš   r›   Úforce_convert_to_arrow)r²   r   rs   r�   )rZ   rÀ   s   "€rP   r[   Ú+RebatchedArrowExamplesIterable.__annotate__Õ  s7   ø€ ÷ =ñ =á*ð=ñ ™S•Mð=ñ ð	=ñ
 !%ñ=rR   c                óT   <€ \         SV `  4        Wn        W n        W0n        W@n        R # rM   )r3  rÇ   r±   rš   r›   r�  )rÆ   r±   rš   r›   r�  r4  s   &&&&&€rP   rÇ   Ú'RebatchedArrowExamplesIterable.__init__Õ  s'   ø€ ô 	‰ÑÔØ&ÔØ$ŒØ.ÔØ&<Ö#rR   c                óz   € V P                   P                  '       g   V P                  '       d   V P                  # R # rM   )r±   rÒ   r�  rl  rÅ   s   &rP   rÒ   Ú)RebatchedArrowExamplesIterable.iter_arrowâ  s0   € à#'×#3Ñ#3×#>×#>Ð#>À$×B]×B]ÐB]ˆt×ÑÐgÐcgÐgrR   c                ó.   € V P                   P                  # rM   ©r±   rÙ   rÅ   s   &rP   rÙ   Ú'RebatchedArrowExamplesIterable.is_typedæ  ó   € à×Ñ×(Ñ(Ð(rR   c                ó.   € V P                   P                  # rM   ©r±   rÝ   rÅ   s   &rP   rÝ   Ú'RebatchedArrowExamplesIterable.featuresê  r–  rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   rŽ  î  ó   ø€ ÷ 	 ñ 	 ¡$ñ 	 rR   c                ó˜   € R V P                   P                  4       RRR^ R^ R^ RV P                  P                  /V n        V P                  # )Úexamples_iterableÚprevious_stateNÚ	batch_idxÚnum_chunks_since_previous_stateÚcropped_chunk_lengthr   ©r±   r  r4  r"  rÄ   rÅ   s   &rP   r  Ú/RebatchedArrowExamplesIterable._init_state_dictî  sQ   € à ×!1Ñ!1×!BÑ!BÓ!DØ˜dØ˜Ø-¨qØ" AØ�D—N‘N×+Ñ+ð
ˆÔð ×ÑÐrR   c              #  ó:   "  € V P                    R j  x€L
  R #  L5irM   )r±   rÅ   s   &rP   rÎ   Ú'RebatchedArrowExamplesIterable.__iter__ù  s   é € Ø×#Ñ#×#Ô#ùs   ‚’“c                óZ   <€ V ^8„  d   QhRS[ S[S[S[P                  3,          ,          /# rÊ   ©r   rœ   rJ   r{   r|   )rZ   rÀ   s   "€rP   r[   rŽ  ü  s,   ø€ ÷ X@ñ X@™X¡e©C±·±¨MÕ&:Õ;ñ X@rR   c              #  óÜ  "  € V P                   '       dF   V P                   R,          '       d-   V P                  P                  V P                   R,          4       V P                  P                  '       d   V P                  P                  4       pM5V P                  '       d   \        V P                  ^R7      pM\        R4      hV P                  e   V P                  ^ 8:  d€   V P                   '       d   V P                   R,          ^ 8”  d   R# \        P                  ! V UUu. uF  w  r#VNK	  	  upp4      pV P                   '       d   ^V P                   R&   RV3x € R# . p. p^ pV P                   '       d   V P                   R,          M^ pV P                   '       d   V P                   R,          M^ p	V P                   '       d)   V P                  P                  4       p
W P                   R&   V EF´  w  r³\        VP                  V P                  R	7      4       EFU  w  rÍV^8”  d   V^,          pK  V^8X  d   V	^ 8X  d   V^,          pK1  V^8X  d.   V	^ 8”  d'   VP                  V	\        V4      V	,
          4      p^ p^ p	\        V4      ^ 8X  d   Kw  V\        V4      ,           V P                  8  d7   VP                  V4       VP                  V4       V\        V4      ,          pKÎ  V\        V4      ,           V P                  8X  Ed	   VP                  V4       VP                  V4       R
P!                  R V 4       4      pV P                   '       dW   V P                   R;;,          ^,          uu&   V P                   R;;,          \        V4      ,          uu&   ^ V P                   R&   V\        P"                  P%                  V4      3x € . p. p^ pV P                   '       d)   X
V P                   R&   V^,           V P                   R&   EKõ  EKø  V P                  V,
          pVP                  V RV R24       VP                  VP                  ^ V4      4       R
P!                  R V 4       4      pV P                   '       dV   V P                   R;;,          ^,          uu&   V P                   R;;,          \        V4      ,          uu&   WðP                   R&   V\        P"                  P%                  V4      3x € V RV R2.pVP                  V\        V4      V,
          4      .p\        V4      V,
          pV P                   '       g   EK8  X
V P                   R&   WÀP                   R&   EKX  	  V P                   '       g   EKš  V P                  P                  4       p
EK·  	  V P&                  '       g¦   V'       dœ   R
P!                  R V 4       4      pV P                   '       dM   X
V P                   R&   V P                   R;;,          ^,          uu&   ^ V P                   R&   ^ V P                   R&   V\        P"                  P%                  V4      3x € R# R# R# u uppi 5i)z-Iterate over sub-tables of size `batch_size`.rž  ©rš   zš_iter_arrow is not available in RebatchedArrowExamplesIterable, use an examples iterable that implements _iter_arrow() or pass force_convert_to_arrow=TrueNrŸ  rŸ   r   r¡  rr  r¡   c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5irM   r£   ©r_   Ú_keys   & rP   ra   Ú=RebatchedArrowExamplesIterable._iter_arrow.<locals>.<genexpr>/  ó   é € Ð&I¹[°T¤s¨4§y y»[ùr§   z[:Ú]c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5irM   r£   r«  s   & rP   ra   r­  ?  r®  r§   Ú[z:]c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5irM   r£   r«  s   & rP   ra   r­  N  s   é € ÐA±[¨Tœs 4Ÿy˜y³[ùr§   )rÄ   r±   r  rÒ   r�  r¯   r  rš   r{   Úconcat_tablesr  Ú	enumeratert  Úslicer�   Úappendr©   r|   Úfrom_batchesr›   )rÆ   rª   r¡   r„   Úall_pa_tableÚkeys_bufferÚchunks_bufferÚchunks_buffer_sizeÚnum_chunks_to_skipÚchunk_length_to_croprž  r¥   r   Úchunkr®   r¡  s   &               rP   rl  Ú*RebatchedArrowExamplesIterable._iter_arrowü  s‚  é € à××Ð × 0Ñ 0Ð1A× BÔ BØ×Ñ×,Ñ,¨T×-=Ñ-=Ð>NÕ-OÔPØ×Ñ×&×&Ð&Ø×'Ñ'×2Ñ2Ó4‰HØ×(×(Ð(Ü(¨×)9Ñ)9ÀaÔH‰Häð móð ð �?‰?Ò" d§o¡o¸Ô&:Ø××Ð D×$4Ñ$4°[Õ$AÀAÔ$EÙÜ×+Ò+ÉÔ,RÉ¹+¸!«XÉÒ,RÓSˆLØ××ÐØ01�× Ñ  Ñ-Ø˜Ð%Ò%ÙØˆØˆØÐØTX×Td×TdÐTd˜T×-Ñ-Ð.OÖPÐjkÐØKO×K[×K[ÐK[˜t×/Ñ/Ð0FÖGÐabÐØ××ÐØ!×-Ñ-×8Ñ8Ó:ˆNØ1?×ÑÐ-Ñ.Ü%‰MˆCÜ:CÀH×DVÑDVÐei×etÑetÐDVÓDu×:vÑ6Ð/Ø%¨Ô)Ø&¨!Õ+Ð&ÙØ'¨1Ô,Ð1EÈÔ1JØ&¨!Õ+Ð&ÙØ'¨1Ô,Ð1EÈÔ1IØ!ŸK™KÐ(<¼cÀ%»jÐK_Õ>_Ó`�EØ)*Ð&Ø+,Ð(Ü�u“: ”?Ùà%¬¨E«
Õ2°T·_±_ÔDØ×&Ñ& sÔ+Ø!×(Ñ(¨Ô/Ø&¬#¨e«*Õ4Ð&ÙØ'¬#¨e«*Õ4¸¿¹ÕGØ×&Ñ& sÔ+Ø!×(Ñ(¨Ô/Ø!Ÿh™hÑ&I¹[Ó&IÓI�GØ×'×'Ð'Ø×(Ñ(¨×5¸Õ:Ó5Ø×(Ñ(Ð)J×KÌsÐS`ÓOaÕaÓKØCD˜×(Ñ(Ð)?Ñ@Ø!¤2§8¡8×#8Ñ#8¸Ó#GÐGÒGØ"$�KØ$&�MØ)*Ð&Ø×'×'Ð'Ø=K˜×(Ñ(Ð)9Ñ:ØNmÐpqÕNq˜×(Ñ(Ð)JÔKò (ð ,0¯?©?Ð=OÕ+OÐ(Ø×&Ñ&¨#¨¨bÐ1EÐ0FÀaÐ'HÔIØ!×(Ñ(¨¯©°QÐ8LÓ)MÔNØ!Ÿh™hÑ&I¹[Ó&IÓI�GØ×'×'Ð'Ø×(Ñ(¨×5¸Õ:Ó5Ø×(Ñ(Ð)J×KÌsÐS`ÓOaÕaÓKØCW×(Ñ(Ð)?Ñ@Ø!¤2§8¡8×#8Ñ#8¸Ó#GÐGÒGØ&) U¨!Ð,@Ð+AÀÐ#DÐ"E�KØ%*§[¡[Ð1EÄsÈ5ÃzÐThÕGhÓ%iÐ$j�MÜ),¨U«Ð6JÕ)JÐ&Ø×'×'Ó'Ø=K˜×(Ñ(Ð)9Ñ:ØNm×(Ñ(Ð)JÔKñc ;wðd ××ÓØ!%×!1Ñ!1×!<Ñ!<Ó!>“ñi &ðj ×#×#Ð#¯Ø—h‘hÑA±[ÓAÓAˆGØ××ÐØ5C�× Ñ Ð!1Ñ2Ø× Ñ  ×-°Õ2Ó-ØFG�× Ñ Ð!BÑCØ;<�× Ñ Ð!7Ñ8Øœ2Ÿ8™8×0Ñ0°Ó?Ð?Ô?ñ )6Ñ#ùóE -Sùsw   ‚+Y,®AY,Á6,Y,Â#AY,Ã7/Y,Ä&Y&
Ä3Y,Å.Y,Å<&Y,Æ#&Y,Ç
FY,ÍBY,Ï,BY,ÒCY,Õ1Y,Ö0Y,Ö?Y,×)Y,×1A;Y,c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   r‹  rá   )rZ   rÀ   s   "€rP   r[   rŽ  V  s&   ø€ ÷ 
ñ 
©b¯i©i×.AÑ.Að 
ÐFfñ 
rR   c                óŒ   € \        V P                  P                  V4      V P                  V P                  V P
                  4      # rM   )r‹  r±   rç   rš   r›   r�  ræ   s   &&rP   rç   Ú3RebatchedArrowExamplesIterable.shuffle_data_sourcesV  s<   € Ü-Ø×Ñ×1Ñ1°)Ó<Ø�O‰OØ× Ñ Ø×'Ñ'ó	
ð 	
rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   r‹  r´   )rZ   rÀ   s   "€rP   r[   rŽ  ^  ó#   ø€ ÷ 
ñ 
©Sð 
¹ð 
ÐRrñ 
rR   c                ó�   € \        V P                  P                  WVR 7      V P                  V P                  V P
                  4      # ©rO  )r‹  r±   rð   rš   r›   r�  rî   s   &&&&rP   rð   Ú1RebatchedArrowExamplesIterable.shard_data_sources^  sA   € Ü-Ø×Ñ×/Ñ/°
ÈjÐ/ÓYØ�O‰OØ× Ñ Ø×'Ñ'ó	
ð 	
rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   r‹  rN   )rZ   rÀ   s   "€rP   r[   rŽ  f  s   ø€ ÷ 
ñ 
Ð&Fñ 
rR   c                óŠ   € \        V P                  P                  4       V P                  V P                  V P
                  4      # rM   )r‹  r±   rô   rš   r›   r�  rÅ   s   &rP   rô   Ú3RebatchedArrowExamplesIterable.reshard_data_sourcesf  s8   € Ü-Ø×Ñ×1Ñ1Ó3°T·_±_Àd×FZÑFZÐ\`×\wÑ\wó
ð 	
rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   rŽ  l  ó   ø€ ÷ +ñ +™Cñ +rR   c                ó.   € V P                   P                  # rM   ©r±   rê   rÅ   s   &rP   rê   Ú)RebatchedArrowExamplesIterable.num_shardsk  ó   € à×Ñ×*Ñ*Ð*rR   )rÄ   rš   r›   r±   r�  )FFr!  ©r"  r#  r$  r%  rÇ   r'  rÒ   rÙ   rÝ   r  rÎ   rl  rç   rð   rô   rê   r(  r)  rb  rc  s   @@rP   r‹  r‹  Ô  s¢   ù‡ € ÷=õ =ð ñhó ðhð ñ)ó ð)ð ñ)ó ð)÷	 ð 	 ò$÷X@ð X@÷t
ð 
÷
ò 
÷
ð 
ð
 ÷+ó ÷+ð +rR   r‹  c                   óî   a a€ ] tR tRt oV3R lV 3R llt]R 4       t]R 4       t]R 4       tV3R lR lt	R	 t
V3R
 lR ltV3R lR ltRV3R lR lltV3R lR lt]V3R lR l4       tRtVtV ;t# )ÚSelectColumnsIterableip  c                ó6   <€ V ^8„  d   QhRS[ RS[S[,          /# )rT   r±   Úcolumn_names)r²   rh   rY   )rZ   rÀ   s   "€rP   r[   Ú"SelectColumnsIterable.__annotate__q  s    ø€ ÷ )ñ )Ñ$9ð )ÉÉcÍñ )rR   c                ó<   <€ \         SV `  4        Wn        W n        R # rM   )r3  rÇ   r±   rÕ  )rÆ   r±   rÕ  r4  s   &&&€rP   rÇ   ÚSelectColumnsIterable.__init__q  s   ø€ Ü‰ÑÔØ&ÔØ(ÖrR   c                óV   € V P                   P                  '       d   V P                  # R # rM   ©r±   rÒ   rl  rÅ   s   &rP   rÒ   Ú SelectColumnsIterable.iter_arrowv  s%   € à×Ñ×&×&Ð&Ø×#Ñ#Ð#ñ 'rR   c                ó.   € V P                   P                  # rM   r”  rÅ   s   &rP   rÙ   ÚSelectColumnsIterable.is_typed{  r–  rR   c                ó.   € V P                   P                  # rM   r˜  rÅ   s   &rP   rÝ   ÚSelectColumnsIterable.features  r–  rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   rÖ  ƒ  r7  rR   c                óX   € V P                   P                  4       V n        V P                  # rM   ©r±   r  rÄ   rÅ   s   &rP   r  Ú&SelectColumnsIterable._init_state_dictƒ  ó%   € Ø×+Ñ+×<Ñ<Ó>ˆÔØ×ÑÐrR   c              #  óŒ   "  € V P                    F*  w  rYP                   Uu/ uF  q3W#,          bK  	  up3x € K,  	  R # u upi 5irM   )r±   rÕ  )rÆ   rp   ÚrowÚcs   &   rP   rÎ   ÚSelectColumnsIterable.__iter__‡  s>   é € Ø×(Ô(‰HˆCØ×+<Ò+<Ó=Ñ+< a˜3�6š	Ñ+<Ñ=Ð=Ô=ó )ùÚ=ùs   ‚ A¢?³Ac                óZ   <€ V ^8„  d   QhRS[ S[S[S[P                  3,          ,          /# rÊ   r§  )rZ   rÀ   s   "€rP   r[   rÖ  ‹  s&   ø€ ÷ >ñ >™X¡e©C±·±¨MÕ&:Õ;ñ >rR   c              #  ó´   "  € V P                   P                  4        F5  w  r\        V4      ^ 8”  g   K  WP                  V P                  4      3x € K7  	  R# 5i©r   N)r±   rÒ   r�   ÚselectrÕ  )rÆ   rp   r„   s   &  rP   rl  Ú!SelectColumnsIterable._iter_arrow‹  sD   é € Ø!×-Ñ-×8Ñ8Ö:‰MˆCÜ�8‹}˜qÖ ØŸ?™?¨4×+<Ñ+<Ó=Ð=Ô=ó ;ùs
   ‚-A´$Ac                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   rÓ  rá   )rZ   rÀ   s   "€rP   r[   rÖ  �  s*   ø€ ÷ jñ j©b¯i©i×.AÑ.Að jÐF]ñ jrR   c                ó`   € \        V P                  P                  V4      V P                  4      # rM   )rÓ  r±   rç   rÕ  ræ   s   &&rP   rç   Ú*SelectColumnsIterable.shuffle_data_sources�  s'   € Ü$ T×%5Ñ%5×%JÑ%JÈ9Ó%UÐW[×WhÑWhÓiÐirR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   rÓ  r´   )rZ   rÀ   s   "€rP   r[   rÖ  “  s#   ø€ ÷ 
ñ 
©Sð 
¹ð 
ÐRiñ 
rR   c                ód   € \        V P                  P                  WVR 7      V P                  4      # rÆ  )rÓ  r±   rð   rÕ  rî   s   &&&&rP   rð   Ú(SelectColumnsIterable.shard_data_sources“  s1   € Ü$Ø×Ñ×/Ñ/°
ÈjÐ/ÓYÐ[_×[lÑ[ló
ð 	
rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   rÓ  rN   )rZ   rÀ   s   "€rP   r[   rÖ  ˜  s   ø€ ÷ añ aÐ&=ñ arR   c                ó^   € \        V P                  P                  4       V P                  4      # rM   )rÓ  r±   rô   rÕ  rÅ   s   &rP   rô   Ú*SelectColumnsIterable.reshard_data_sources˜  s$   € Ü$ T×%5Ñ%5×%JÑ%JÓ%LÈd×N_ÑN_Ó`Ð`rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   rÖ  œ  rÌ  rR   c                ó.   € V P                   P                  # rM   rÎ  rÅ   s   &rP   rê   Ú SelectColumnsIterable.num_shards›  rÐ  rR   )rÄ   rÕ  r±   r!  rÑ  rc  s   @@rP   rÓ  rÓ  p  sŸ   ù‡ € ÷)ó )ð
 ñ$ó ð$ð ñ)ó ð)ð ñ)ó ð)÷ ð  ò>÷>ð >÷
jð j÷
ò 
÷
að að ÷+ó ÷+ð +rR   rÓ  c                   óâ   a a€ ] tR tRt oV3R lV 3R llt]R 4       t]R 4       t]R 4       tV3R lR lt	R	 t
R
 tV3R lR ltRV3R lR lltV3R lR lt]V3R lR l4       tRtVtV ;t# )ÚStepExamplesIterablei   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )rT   r±   ÚstepÚoffset)r²   rs   )rZ   rÀ   s   "€rP   r[   Ú!StepExamplesIterable.__annotate__¡  s#   ø€ ÷ ñ Ñ$9ð Áð Écñ rR   c                óH   <€ \         SV `  4        Wn        W n        W0n        R # rM   )r3  rÇ   r±   rý  rþ  )rÆ   r±   rý  rþ  r4  s   &&&&€rP   rÇ   ÚStepExamplesIterable.__init__¡  s   ø€ Ü‰ÑÔØ&ÔØŒ	ØŽrR   c                óV   € V P                   P                  '       d   V P                  # R # rM   rÚ  rÅ   s   &rP   rÒ   ÚStepExamplesIterable.iter_arrow§  ó$   € à#'×#3Ñ#3×#>×#>Ð#>ˆt×ÑÐHÀDÐHrR   c                ó.   € V P                   P                  # rM   r”  rÅ   s   &rP   rÙ   ÚStepExamplesIterable.is_typed«  r–  rR   c                ó.   € V P                   P                  # rM   r˜  rÅ   s   &rP   rÝ   ÚStepExamplesIterable.features¯  r–  rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   rÿ  ³  ó   ø€ ÷  ñ  ¡$ñ  rR   c                óŒ   € R V P                   P                  4       R^ RV P                  P                  /V n        V P                  # )r�  Ústeppedr   r¢  rÅ   s   &rP   r  Ú%StepExamplesIterable._init_state_dict³  sB   € à ×!1Ñ!1×!BÑ!BÓ!DØ�qØ�D—N‘N×+Ñ+ð
ˆÔð
 ×ÑÐrR   c              #  óÖ   "  € \        V P                  4      p \        \        WP                  4      4      p\        V4      V P                  8”  d   W P                  ,          x € KO  R# 5i©TN)r’   r±   rh   r   rý  r�   rþ  )rÆ   Úex_iteratorrw   s   &  rP   rÎ   ÚStepExamplesIterable.__iter__»  sK   é € Ü˜4×+Ñ+Ó,ˆØÜœ ¯Y©YÓ7Ó8ˆEÜ�5‹z˜DŸK™KÔ'ØŸK™KÕ(Ô(áùs   ‚A'A)c              #  ó&  "  € V P                   '       d   V P                   R ,          M^ pV P                  P                  4        FÇ  w  r#VP                  \        P
                  ! \        V P                  V,
          V P                  ,          \        V4      V P                  4      \        P                  ! 4       R7      4      pV\        V4      ,           V P                  ,          pV P                   '       d   WP                   R &   W$3x € KÉ  	  R# 5i)r  ©r   N)rÄ   r±   rÒ   Útaker{   r–   r“   rþ  rý  r�   Úint64)rÆ   r  r¥   r„   Ústepped_pa_tables   &    rP   rl  Ú StepExamplesIterable._iter_arrowÄ  sÆ   é € Ø15×1A×1AÐ1A�$×"Ñ" 9Ö-ÀqˆØ!×-Ñ-×8Ñ8Ö:‰MˆCØ'Ÿ}™}Ü—’œ §¡¨gÕ 5¸¿¹ÕBÄCÈÃMÐSW×S\ÑS\Ó]Ôdf×dlÒdlÓdnÔoó Ðð ¤ X£Õ.°$·)±)Õ;ˆGØ××ÐØ.5× Ñ  Ñ+ØÐ'Ô'ó ;ùs   ‚DDc                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   rû  rá   )rZ   rÀ   s   "€rP   r[   rÿ  Ï  s&   ø€ ÷ 
ñ 
©b¯i©i×.AÑ.Að 
ÐF\ñ 
rR   c                óx   € \        V P                  P                  V4      V P                  V P                  R 7      # ©©rý  rþ  )rû  r±   rç   rý  rþ  ræ   s   &&rP   rç   Ú)StepExamplesIterable.shuffle_data_sourcesÏ  s2   € Ü#Ø×Ñ×1Ñ1°)Ó<À4Ç9Á9ÐUY×U`ÑU`ô
ð 	
rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   rû  r´   )rZ   rÀ   s   "€rP   r[   rÿ  Ô  s#   ø€ ÷ 
ñ 
©Sð 
¹ð 
ÐRhñ 
rR   c                ó|   € \        V P                  P                  WVR 7      V P                  V P                  R7      # )rO  r  )rû  r±   rð   rý  rþ  rî   s   &&&&rP   rð   Ú'StepExamplesIterable.shard_data_sourcesÔ  s6   € Ü#Ø×Ñ×/Ñ/°
ÈjÐ/ÓYØ—‘Ø—;‘;ô
ð 	
rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   rû  rN   )rZ   rÀ   s   "€rP   r[   rÿ  Û  s   ø€ ÷ 
ñ 
Ð&<ñ 
rR   c                óv   € \        V P                  P                  4       V P                  V P                  R 7      # r  )rû  r±   rô   rý  rþ  rÅ   s   &rP   rô   Ú)StepExamplesIterable.reshard_data_sourcesÛ  s/   € Ü#Ø×Ñ×1Ñ1Ó3Ø—‘Ø—;‘;ô
ð 	
rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   rÿ  ã  rÌ  rR   c                ó.   € V P                   P                  # rM   rÎ  rÅ   s   &rP   rê   ÚStepExamplesIterable.num_shardsâ  rÐ  rR   )rÄ   r±   rþ  rý  r!  rÑ  rc  s   @@rP   rû  rû     s˜   ù‡ € ÷ó ð ñIó ðIð ñ)ó ð)ð ñ)ó ð)÷ ð  òò	(÷
ð 
÷

ò 
÷
ð 
ð ÷+ó ÷+ð +rR   rû  c                   óì   a a€ ] tR tRt oRV3R lV 3R lllt]R 4       t]R 4       t]R 4       tR t	V3R lR	 lt
R
 tR tV3R lR lt]V3R lR l4       tRV3R lR lltV3R lR ltRtVtV ;t# )Ú#CyclingMultiSourcesExamplesIterableiç  c                óD   <€ V ^8„  d   QhRS[ S[,          RS[R,          /# )rT   r¸   Ústopping_strategy©Úfirst_exhaustedÚall_exhaustedÚ!all_exhausted_without_replacement)rh   r²   r>   )rZ   rÀ   s   "€rP   r[   Ú0CyclingMultiSourcesExamplesIterable.__annotate__è  s-   ø€ ÷ 
ñ 
áÑ0Õ1ð
ñ #ØSõ
ñ
rR   c                ó¢   <€ \         SV `  4        Wn        W n        VR9   d   \        P
                  V n        R# \        P                  V n        R# )r,  N)r,  r-  )r3  rÇ   r¸   r)  râ   rŸ   rf   Úbool_strategy_func)rÆ   r¸   r)  r4  s   &&&€rP   rÇ   Ú,CyclingMultiSourcesExamplesIterable.__init__è  sF   ø€ ô 	‰ÑÔØ(ÔØ!2Ôð )Ð,bÔbŒB�F‰Fð 	ÖÜik×ioÑioð 	ÖrR   c                ó<   € V P                   ^ ,          P                  # ©r   ©r¸   rÙ   rÅ   s   &rP   rÙ   Ú,CyclingMultiSourcesExamplesIterable.is_typedú  ó   € à× Ñ  Õ#×,Ñ,Ð,rR   c                ó<   € V P                   ^ ,          P                  # r3  ©r¸   rÝ   rÅ   s   &rP   rÝ   Ú,CyclingMultiSourcesExamplesIterable.featuresþ  r6  rR   c                óº   € \         ;QJ d&    R  V P                   4       F  '       d   K   RM	  RM! R  V P                   4       4      '       d   V P                  # R# )c              3   ó8   "  € T F  qP                   x € K  	  R # 5irM   ©rÒ   r  s   & rP   ra   ÚACyclingMultiSourcesExamplesIterable.iter_arrow.<locals>.<genexpr>  s   é € Ð&cÑQbÀ+×'=Ö'=ÓQbùr§   FTN©rŸ   r¸   rl  rÅ   s   &rP   rÒ   Ú.CyclingMultiSourcesExamplesIterable.iter_arrow  sD   € ÷ $'£3Ñ&cÐQU×QbÒQbÓ&c§3§3¢3Ñ&cÐQU×QbÒQbÓ&c×#cÒ#cˆt×ÑÐmÐimÐmrR   c           	   #  ó(  "  € V P                   '       d   V P                   R ,          M^ p\        \        \        \	        V P
                  4      4      4      V^,           R4       F)  pV P                   '       d   W P                   R &   Vx € TpK+  	  R# 5i©Úex_iterable_idxN)rÄ   r   r
   r“   r�   r¸   )rÆ   rB  Únext_ex_iterable_idxs   &  rP   Ú_get_indices_iteratorÚ9CyclingMultiSourcesExamplesIterable._get_indices_iterator  s|   é € àAE×AQ×AQÐAQ˜$×*Ñ*Ð+<Ö=ÐWXˆÜ$*¬5´´s¸4×;LÑ;LÓ7MÓ1NÓ+OÐQ`ÐcdÕQdÐfjÖ$kÐ Ø××ÐØ6J× Ñ Ð!2Ñ3Ø!Ò!Ø2ŠOó	 %lùs   ‚BBc                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   r.    r›  rR   c           	     ó  € V P                    F  pVP                  4        K  	  R ^ RR.\        V P                   4      ,          RR.\        V P                   4      ,          RV P                  P                  /V n        V P
                  # )rB  Úprevious_statesNÚis_exhaustedFr   )r¸   r  r�   r4  r"  rÄ   ©rÆ   r±   s   & rP   r  Ú4CyclingMultiSourcesExamplesIterable._init_state_dict  sz   € Ø×,Ô,ˆKØ×(Ñ(Ö*ñ -ð ˜qØ ˜v¬¨D×,=Ñ,=Ó(>Õ>Ø˜U˜G¤c¨$×*;Ñ*;Ó&<Õ<Ø�D—N‘N×+Ñ+ð	
ˆÔð ×ÑÐrR   c              #  ó(  "  € R .\        V P                  4      ,          pV P                  '       d¦   \        \        V P                  4      4       F[  pV P                  R,          V,          f   K!  V P                  V,          P	                  V P                  R,          V,          4       K]  	  V P                   Uu. uF  q3P                  4       NK  	  ppV P                   Uu. uF  q3P                  4       NK  	  ppR p\        P                  P                  \        V P                  4      R7      pV Uu. uF  q‡P                  Wh4      NK  	  p	pV P                  4       p
V P                  '       d(   \        P                  ! V P                  R,          4      M)\        P                  ! \        V P                  4      R4      p V
 EF^  pV P                  V4      '       d    EMEW²,          '       d   V P                   R9   d   K?  W,          f…   W’,          P#                  4       W&   V P                  '       dA   XV,          V P                  R,          V&   V P                  V,          P                  4       WB&   VP                  WeV,          4      W’&   W,          pW’,          P#                  4       W&   V P                  '       dA   XV,          V P                  R,          V&   V P                  V,          P                  4       WB&   W,          RJd   VP                  WeV,          4      W’&   MëRW²&   V P                  '       d   RV P                  R,          V&   V P                   R9  d¯   V P                  '       d\   V P                  V,          P%                  4        V P                  V,          P                  4       XV&   R V P                  R,          V&   V P                  V,          P                  4       WR&   R W&   VP                  WeV,          4      W’&   VRJg   EKZ  Vx € EKa  	  V	 F  pVP#                  4        K  	  V'       d   VP'                  4       p?K  \(        ;QJ d&    R V P                   4       F  '       g   K   RM	  RM! R V P                   4       4      '       d'   \*        P,                  ! \.        P0                  4       R # R # u upi u upi u upi   T	 F  pTP#                  4        K  	  T'       d   TP'                  4       p?K  \(        ;QJ d&    R T P                   4       F  '       g   K   RM	  RM! R T P                   4       4      '       d&   \*        P,                  ! \.        P0                  4       i i ; i5i)	NrH  c                 ó   € \        V R 4      # rØ   ©r‘   ©rª   s   &rP   Úfetch_next_sampleÚJCyclingMultiSourcesExamplesIterable._iter_arrow.<locals>.fetch_next_sample'  ó   € Ü˜ %Ó(Ð(rR   ©Úmax_workersrI  FTc              3   ó8   "  € T F  qP                   x € K  	  R # 5irM   r  r  s   & rP   ra   ÚBCyclingMultiSourcesExamplesIterable._iter_arrow.<locals>.<genexpr>c  ó   é € Ð^ÑL]¸[×8Ö8ÓL]ùr§   ©r-  )r�   r¸   rÄ   r“   r  r  rÒ   Ú
concurrentÚfuturesÚThreadPoolExecutorÚsubmitrD  râ   r–   Úfullr0  r)  Úresultr  Úpoprf   ÚtimeÚsleepr   ÚSLEEP_TIME_ON_THREADS_SHUTDOWN©rÆ   Únextsr•   r±   rH  Ú	iteratorsrP  Úexecutorrª   rZ  Úindices_iteratorrI  r^  Úfutures   &             rP   rl  Ú/CyclingMultiSourcesExamplesIterable._iter_arrow  sX  é € à�œ˜T×.Ñ.Ó/Õ/ˆà××ÐÜœ3˜t×0Ñ0Ó1Ö2�Ø×#Ñ#Ð$5Õ6°qÕ9ÔEØ×%Ñ% aÕ(×8Ñ8¸×9IÑ9IÐJ[Õ9\Ð]^Õ9_Ö`ñ 3ð LP×K\ÒK\Ó]ÑK\¸K×5Ñ5Ö7ÑK\ˆOÐ]ØAE×ARÒARÓSÑAR°+×+Ñ+Ö-ÑARˆ	ÐSò	)ô ×%Ñ%×8Ñ8ÄSÈ×IZÑIZÓE[Ð8Ó\ˆÙPYÓZÑPYÀH—?‘?Ð#4Ö?ÑPYˆÐZà×5Ñ5Ó7Ðð ;?×:J×:JÐ:JŒB�HŠH�T×%Ñ% nÕ5Ô6ÔPR×PWÒPWÔX[Ð\`×\mÑ\mÓXnÐpuÓPvð 	ð1	BÜ%�à×*Ñ*¨<×8Ò8Úà—?”? t×'=Ñ'=ÐAfÔ'fÙð •8Ò#Ø&�z×0Ñ0Ó2�E‘HØ×'×'Ð'ØAPÐQRÕAS˜×(Ñ(Ð):Õ;¸AÑ>Ø-1×->Ñ->¸qÕ-A×-LÑ-LÓ-N˜Ñ*Ø!)§¡Ð1BÈaÅLÓ!Q�G‘JØ��à"�:×,Ñ,Ó.�‘Ø×#×#Ð#Ø=LÈQÕ=O�D×$Ñ$Ð%6Õ7¸Ñ:Ø)-×):Ñ):¸1Õ)=×)HÑ)HÓ)J�OÑ&à•8 5Ó(Ø!)§¡Ð1BÈaÅLÓ!Q�G’Jð '+�L‘OØ×'×'Ð'Ø>B˜×(Ñ(¨Õ8¸Ñ;à×-Ñ-Ð5ZÔZØ×+×+Ð+Ø ×-Ñ-¨aÕ0×AÑAÔCØ15×1BÑ1BÀ1Õ1E×1PÑ1PÓ1R˜O¨AÑ.ØEI˜D×,Ñ,Ð->Õ?ÀÑBØ'+×'8Ñ'8¸Õ';×'FÑ'FÓ'H˜	™Ø#'˜™Ø%-§_¡_Ð5FÐRSÍÓ%U˜™
Ø Ö&Ø •LñO &óT "�Ø—‘–ñ "çØ$Ÿ=™=›?�Úß‹sÑ^ÈD×L]ÒL]Ó^�s�sŠsÑ^ÈD×L]ÒL]Ó^×^Ò^Ü—
’
œ6×@Ñ@ÖAñ _ùòA ^ùÚSùò [øód "�Ø—‘–ñ "çØ$Ÿ=™=›?�Úß‹sÑ^ÈD×L]ÒL]Ó^�s�sŠsÑ^ÈD×L]ÒL]Ó^×^Ò^Ü—
’
œ6×@Ñ@ÕAð _üsˆ   ‚A*VÁ1AVÂ=SÃVÃ%SÃ=<VÄ9S!ÅA5VÇF6S& Í?BS& Ð$	S& Ð- VÑVÑ,VÒ
$VÒ/7VÓ&!VÔVÔ&VÕ$VÕ)&VÖVc              #  ó^  "  € R .\        V P                  4      ,          pV P                  '       d¦   \        \        V P                  4      4       F[  pV P                  R,          V,          f   K!  V P                  V,          P	                  V P                  R,          V,          4       K]  	  V P                   Uu. uF  q3P                  4       NK  	  ppV P                   Uu. uF  p\        V4      NK  	  ppR p\        P                  P                  \        V P                  4      R7      pV Uu. uF  q‡P                  Wh4      NK  	  p	pV P                  4       p
V P                  '       d(   \        P                  ! V P                  R,          4      M)\        P                  ! \        V P                  4      R4      p V
 EFY  pV P                  V4      '       d    EM@W²,          '       d   V P                   R	9   d   K?  W,          f…   W’,          P#                  4       W&   V P                  '       dA   XV,          V P                  R,          V&   V P                  V,          P                  4       WB&   VP                  WeV,          4      W’&   W,          pW’,          P#                  4       W&   V P                  '       dA   XV,          V P                  R,          V&   V P                  V,          P                  4       WB&   W,          RJd   VP                  WeV,          4      W’&   MæRW²&   V P                  '       d   RV P                  R,          V&   V P                   R	9  dª   V P                  '       d\   V P                  V,          P%                  4        V P                  V,          P                  4       XV&   R V P                  R,          V&   \        V P                  V,          4      WR&   R W&   VP                  WeV,          4      W’&   VRJg   EKU  Vx € EK\  	  V	 F  pVP#                  4        K  	  V'       d   VP'                  4       p?K  VP)                  RR7       \*        ;QJ d&    R V P                   4       F  '       g   K   RM	  RM! R V P                   4       4      '       d'   \,        P.                  ! \0        P2                  4       R # R # u upi u upi u upi   T	 F  pTP#                  4        K  	  T'       d   TP'                  4       p?K  TP)                  RR7       \*        ;QJ d&    R T P                   4       F  '       g   K   RM	  RM! R T P                   4       4      '       d&   \,        P.                  ! \0        P2                  4       i i ; i5i)
NrH  c                 ó   € \        V R 4      # rØ   rN  rO  s   &rP   rP  ÚGCyclingMultiSourcesExamplesIterable.__iter__.<locals>.fetch_next_sampler  rR  rR   rS  rI  FT)Úwaitc              3   ó8   "  € T F  qP                   x € K  	  R # 5irM   r  r  s   & rP   ra   Ú?CyclingMultiSourcesExamplesIterable.__iter__.<locals>.<genexpr>¯  rW  r§   rX  )r�   r¸   rÄ   r“   r  r  r’   rY  rZ  r[  r\  rD  râ   r–   r]  r0  r)  r^  r  r_  Úshutdownrf   r`  ra  r   rb  rc  s   &             rP   rÎ   Ú,CyclingMultiSourcesExamplesIterable.__iter__f  st  é € à�œ˜T×.Ñ.Ó/Õ/ˆà××ÐÜœ3˜t×0Ñ0Ó1Ö2�Ø×#Ñ#Ð$5Õ6°qÕ9ÔEØ×%Ñ% aÕ(×8Ñ8¸×9IÑ9IÐJ[Õ9\Ð]^Õ9_Ö`ñ 3ð LP×K\ÒK\Ó]ÑK\¸K×5Ñ5Ö7ÑK\ˆOÐ]Ø:>×:KÒ:KÓLÑ:K¨;”T˜+Ö&Ñ:Kˆ	ÐLò	)ô ×%Ñ%×8Ñ8ÄSÈ×IZÑIZÓE[Ð8Ó\ˆÙPYÓZÑPYÀH—?‘?Ð#4Ö?ÑPYˆÐZà×5Ñ5Ó7Ðð ;?×:J×:JÐ:JŒB�HŠH�T×%Ñ% nÕ5Ô6ÔPR×PWÒPWÔX[Ð\`×\mÑ\mÓXnÐpuÓPvð 	ð2	BÜ%�à×*Ñ*¨<×8Ò8Úà—?”? t×'=Ñ'=ÐAfÔ'fÙð •8Ò#Ø&�z×0Ñ0Ó2�E‘HØ×'×'Ð'ØAPÐQRÕAS˜×(Ñ(Ð):Õ;¸AÑ>Ø-1×->Ñ->¸qÕ-A×-LÑ-LÓ-N˜Ñ*Ø!)§¡Ð1BÈaÅLÓ!Q�G‘JØ��à"�:×,Ñ,Ó.�‘Ø×#×#Ð#Ø=LÈQÕ=O�D×$Ñ$Ð%6Õ7¸Ñ:Ø)-×):Ñ):¸1Õ)=×)HÑ)HÓ)J�OÑ&à•8 5Ó(Ø!)§¡Ð1BÈaÅLÓ!Q�G’Jð '+�L‘OØ×'×'Ð'Ø>B˜×(Ñ(¨Õ8¸Ñ;à×-Ñ-Ð5ZÔZØ×+×+Ð+Ø ×-Ñ-¨aÕ0×AÑAÔCØ15×1BÑ1BÀ1Õ1E×1PÑ1PÓ1R˜O¨AÑ.ØEI˜D×,Ñ,Ð->Õ?ÀÑBÜ'+¨D×,=Ñ,=¸aÕ,@Ó'A˜	™Ø#'˜™Ø%-§_¡_Ð5FÐRSÍÓ%U˜™
Ø Ö&Ø •LñO &óT "�Ø—‘–ñ "çØ$Ÿ=™=›?�ÚØ×Ñ 4ÐÔ(ß‹sÑ^ÈD×L]ÒL]Ó^�s�sŠsÑ^ÈD×L]ÒL]Ó^×^Ò^Ü—
’
œ6×@Ñ@ÖAñ _ùòC ^ùÚLùò [øód "�Ø—‘–ñ "çØ$Ÿ=™=›?�ÚØ×Ñ 4ÐÔ(ß‹sÑ^ÈD×L]ÒL]Ó^�s�sŠsÑ^ÈD×L]ÒL]Ó^×^Ò^Ü—
’
œ6×@Ñ@ÕAð _üsˆ   ‚A*V-Á1AV-Â=S ÃV-Ã%S%Ã9<V-Ä5S*ÅA5V-ÇF6S/ Í;BS/ Ð	S/ Ð$ V-Ñ/V-Ñ5V-Ò$V-Ò87V-Ó/!V*Ô/V*ÕV*Õ$V*Ö&V*Ö*V-c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   r'  rá   )rZ   rÀ   s   "€rP   r[   r.  ²  s*   ø€ ÷ Yñ Y©b¯i©i×.AÑ.Að YÐFkñ YrR   c                óˆ   € V P                    Uu. uF  q"P                  V4      NK  	  pp\        W0P                  4      # u upi )z*Shuffle each underlying examples iterable.)r¸   rç   r'  r)  ©rÆ   rà   r±   r¸   s   &&  rP   rç   Ú8CyclingMultiSourcesExamplesIterable.shuffle_data_sources²  s>   € àW[×WhÒWhÓiÑWhÈ×8Ñ8¸ÖCÑWhˆÐiÜ2°<×AWÑAWÓXÐXùò js   �?c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   r.  ¸  s   ø€ ÷ lñ l™Cñ lrR   c                ób   € V P                   '       d   \        R  V P                    4       4      # ^ # )c              3   ó8   "  € T F  qP                   x € K  	  R # 5irM   ©rê   r  s   & rP   ra   ÚACyclingMultiSourcesExamplesIterable.num_shards.<locals>.<genexpr>¹  ó   é € ÐOÑ=N¨k×)Ö)Ó=Nùr§   )r¸   rú   rÅ   s   &rP   rê   Ú.CyclingMultiSourcesExamplesIterable.num_shards·  s*   € àSW×Sd×SdÐSdŒsÑO¸T×=NÒ=NÓOÓOÐkÐjkÐkrR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   r'  r´   )rZ   rÀ   s   "€rP   r[   r.  »  s%   ø€ ÷ ñ ÙðÙ&)ðà	.ñrR   c                ó   € WP                   8  dC   \        V P                   Uu. uF  pVP                  WVR7      NK  	  upV P                  R7      # W P                   8  dM   \        V P                   Uu. uF   pVP                  V P                   W#R7      NK"  	  upV P                  R7      # \        . V P                  R7      # u upi u upi )rí   rO  ©r)  )rê   r'  r¸   rð   r)  ©rÆ   rê   rë   rï   r™   s   &&&& rP   rð   Ú6CyclingMultiSourcesExamplesIterable.shard_data_sources»  sÙ   € ð Ÿ™Ô'Ü6ð %)×$5Ò$5óá$5˜ð ×/Ñ/°
ÈjÐ/ÖYÙ$5ñð #'×"8Ñ"8ôð ð —_‘_Ô$Ü6ð %)×$5Ò$5óá$5˜ð ×/Ñ/°·±ÀÐ/Ö^Ù$5ñð #'×"8Ñ"8ôð ô 7ØØ"&×"8Ñ"8ôð ùòùòs   ¤CÁ6&Cc                ó   <€ V ^8„  d   QhRR/# )rT   ry   r'  rN   )rZ   rÀ   s   "€rP   r[   r.  Õ  s   ø€ ÷ 
ñ 
Ð&Kñ 
rR   c                óˆ   € \        V P                   Uu. uF  qP                  4       NK  	  upV P                  R 7      # u upi )r  )r'  r¸   rô   r)  ©rÆ   r™   s   & rP   rô   Ú8CyclingMultiSourcesExamplesIterable.reshard_data_sourcesÕ  s<   € Ü2Ø=A×=NÒ=NÓOÑ=N°×*Ñ*Ö,Ñ=NÑOØ"×4Ñ4ô
ð 	
ùÚOs   ”?)rÄ   r0  r¸   r)  )r+  r!  )r"  r#  r$  r%  rÇ   r'  rÙ   rÝ   rÒ   rD  r  rl  rÎ   rç   rê   rð   rô   r(  r)  rb  rc  s   @@rP   r'  r'  ç  s§   ù‡ € ÷
õ 
ð$ ñ-ó ð-ð ñ-ó ð-ð ñnó ðnò3÷	 ð 	 òIBòVJB÷XYð Yð
 ÷ló ðl÷ò ÷4
÷ 
ð 
rR   r'  c                   óæ   a a€ ] tR tRt oRtV3R lV 3R llt]R 4       t]R 4       t]R 4       t	V3R lR	 lt
R
 tR tV3R lR lt]V3R lR l4       tRV3R lR lltV3R lR ltRtVtV ;t# )Ú2VerticallyConcatenatedMultiSourcesExamplesIterableiÜ  as  
VerticallyConcatenatedMultiSourcesExamplesIterable simply chains the input iterables.
It doesn't require the examples iterables to always yield the same columns.
Instead, this is handled by the `IterableDataset` class or `FormattedExamplesIterable`.

For information, `IterableDataset` merges the features of all the datasets to concatenate into one.
We use `IterableDataset._resolve_features` to obtain the features of all the datasets to concatenate.

Then for each example, `IterableDataset` and `FormattedExamplesIterable` automatically fill missing columns with None.
This is done with `_apply_feature_types_on_example`.
c                ó0   <€ V ^8„  d   QhRS[ S[,          /# ©rT   r¸   ©rh   r²   )rZ   rÀ   s   "€rP   r[   Ú?VerticallyConcatenatedMultiSourcesExamplesIterable.__annotate__é  ó   ø€ ÷ )ñ )¡TÑ*?Õ%@ñ )rR   c                ó0   <€ \         SV `  4        Wn        R # rM   ©r3  rÇ   r¸   ©rÆ   r¸   r4  s   &&€rP   rÇ   Ú;VerticallyConcatenatedMultiSourcesExamplesIterable.__init__é  ó   ø€ Ü‰ÑÔØ(ÖrR   c                ó<   € V P                   ^ ,          P                  # r3  r4  rÅ   s   &rP   rÙ   Ú;VerticallyConcatenatedMultiSourcesExamplesIterable.is_typedí  r6  rR   c                ó<   € V P                   ^ ,          P                  # r3  r8  rÅ   s   &rP   rÝ   Ú;VerticallyConcatenatedMultiSourcesExamplesIterable.featuresñ  r6  rR   c                óº   € \         ;QJ d&    R  V P                   4       F  '       d   K   RM	  RM! R  V P                   4       4      '       d   V P                  # R# )c              3   ó<   "  € T F  qP                   R Jx € K  	  R # 5irM   r<  r  s   & rP   ra   ÚPVerticallyConcatenatedMultiSourcesExamplesIterable.iter_arrow.<locals>.<genexpr>÷  s   é € ÐWÑEV°k×%Ñ%¨TÕ1ÓEVùó   ‚FTNr>  rÅ   s   &rP   rÒ   Ú=VerticallyConcatenatedMultiSourcesExamplesIterable.iter_arrowõ  sA   € ç‹3ÑWÀT×EVÒEVÓW�3�3Š3ÑWÀT×EVÒEVÓW×WÒWØ×#Ñ#Ð#ñ XrR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   r‹  ú  r
  rR   c                ó´   € R ^ RV P                    Uu. uF  qP                  4       NK  	  upRV P                  P                  /V n        V P                  # u upi )rB  r¸   r   ©r¸   r  r4  r"  rÄ   rJ  s   & rP   r  ÚCVerticallyConcatenatedMultiSourcesExamplesIterable._init_state_dictú  sW   € à˜qØÈt×O`ÒO`ÓaÑO`À×9Ñ9Ö;ÑO`ÑaØ�D—N‘N×+Ñ+ð
ˆÔð
 ×ÑÐùò bs   ’A
c              #  ó  "  € V P                   '       d   V P                   R ,          M^ p\        V P                  VR4       F@  pT Rj  x€L
  V P                   '       g   K!  V P                   R ;;,          ^,          uu&   KB  	  R#  L=5irA  )rÄ   r   r¸   ©rÆ   Úex_iterable_idx_startr±   s   &  rP   rÎ   Ú;VerticallyConcatenatedMultiSourcesExamplesIterable.__iter__  so   é € ØGK×GW×GWÐGW × 0Ñ 0Ð1BÖ CÐ]^ÐÜ! $×"3Ñ"3Ð5JÈDÖQˆKØ"×"Ð"Ø××ÒØ× Ñ Ð!2×3°qÕ8Õ3ó RÙ"ùs   ‚AB	Á	BÁ
B	Á"&B	c              #  ó2  "  € V P                   '       d   V P                   R ,          M^ p\        V P                  VR4       FN  pVP                  4        Rj  x€L
  V P                   '       g   K/  V P                   R ;;,          ^,          uu&   KP  	  R#  L=5irA  )rÄ   r   r¸   rÒ   r   s   &  rP   rl  Ú>VerticallyConcatenatedMultiSourcesExamplesIterable._iter_arrow	  sx   é € ØGK×GW×GWÐGW × 0Ñ 0Ð1BÖ CÐ]^ÐÜ! $×"3Ñ"3Ð5JÈDÖQˆKØ"×-Ñ-Ó/×/Ð/Ø××ÒØ× Ñ Ð!2×3°qÕ8Õ3ó RÙ/ùs   ‚ABÁBÁBÁ0&Bc                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   r‡  rá   )rZ   rÀ   s   "€rP   r[   r‹    s+   ø€ ÷ ]ñ ]ÙŸ™×,Ñ,ð]à	=ñ]rR   c           
     ó  € \        V4      pV P                   UUu. uF<  p\        VP                  4       F   pVP	                  VP                  VR7      NK"  	  K>  	  pppVP                  V4       \        V4      # u uppi )zShuffle all shards.©rê   rë   )r   r¸   r“   rê   rð   Úshuffler‡  )rÆ   rà   Úrngr±   rë   Úsingle_shard_ex_iterabless   &&    rP   rç   ÚGVerticallyConcatenatedMultiSourcesExamplesIterable.shuffle_data_sources  s†   € ô �yÓ!ˆð  $×0Ò0ô%
á0�Ü˜{×5Ñ5Ö6�ð ×*Ñ*°k×6LÑ6LÐTYÐ*ÖZá6ñ [Ù0ð 	"ñ %
ð
 	�‰Ð-Ô.ÜAÐB[Ó\Ð\ùó%
s   ›AA<c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   r‹    s   ø€ ÷ Pñ P™Cñ PrR   c                ó:   € \        R  V P                   4       4      # )c              3   ó8   "  € T F  qP                   x € K  	  R # 5irM   ry  r  s   & rP   ra   ÚPVerticallyConcatenatedMultiSourcesExamplesIterable.num_shards.<locals>.<genexpr>  r{  r§   )Úsumr¸   rÅ   s   &rP   rê   Ú=VerticallyConcatenatedMultiSourcesExamplesIterable.num_shards  s   € äÑO¸T×=NÒ=NÓOÓOÐOrR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   r‡  r´   )rZ   rÀ   s   "€rP   r[   r‹  !  s%   ø€ ÷ 
ñ 
Ùð
Ù&)ð
à	=ñ
rR   c           
     ó*  € V P                    UUu. uF<  p\        VP                  4       F   pVP                  VP                  VR7      NK"  	  K>  	  pppV P	                  VXVR7      p\        V Uu. uF  quV,          NK  	  up4      # u uppi u upi )zKeep only the requested shardr§  rO  )r¸   r“   rê   rð   rÿ   r‡  )rÆ   rê   rë   rï   r±   rª  rR  r•   s   &&&&    rP   rð   ÚEVerticallyConcatenatedMultiSourcesExamplesIterable.shard_data_sources!  s¤   € ð  $×0Ò0ô%
á0�Ü˜{×5Ñ5Ö6�ð ×*Ñ*°k×6LÑ6LÐTYÐ*ÖZá6ñ [Ù0ð 	"ñ %
ð
 ×:Ñ:¸:ÀuÐYcÐ:ÓdˆÜAÙ3@ÓA±=¨a q×)Ð)±=ÑAó
ð 	
ùó%
ùò Bs   �AB
Á2Bc                ó   <€ V ^8„  d   QhRR/# )rT   ry   r‡  rN   )rZ   rÀ   s   "€rP   r[   r‹  /  s   ø€ ÷ 
ñ 
Ð&Zñ 
rR   c                óp   € \        V P                   Uu. uF  qP                  4       NK  	  up4      # u upi rM   )r‡  r¸   rô   r„  s   & rP   rô   ÚGVerticallyConcatenatedMultiSourcesExamplesIterable.reshard_data_sources/  s3   € ÜAØ=A×=NÒ=NÓOÑ=N°×*Ñ*Ö,Ñ=NÑOó
ð 	
ùÚOs   ”3©rÄ   r¸   r!  )r"  r#  r$  r%  r&  rÇ   r'  rÙ   rÝ   rÒ   r  rÎ   rl  rç   rê   rð   rô   r(  r)  rb  rc  s   @@rP   r‡  r‡  Ü  sŸ   ù‡ € ñ
÷)ó )ð ñ-ó ð-ð ñ-ó ð-ð ñ$ó ð$÷ ð  ò9ò9÷]ð ]ð ÷Pó ðP÷
ò 
÷
÷ 
ð 
rR   r‡  c                ó:   € V ^8„  d   QhR\         \        ,          /# )rT   rÕ  )rh   rY   )rZ   s   "rP   r[   r[   5  s   € ÷ 
ñ 
¤d¬3¥iñ 
rR   c                ó0  € \        V 4      p\        ;QJ d*    R VP                  4        4       F  '       d   K   RM	  RM! R VP                  4        4       4      '       g0   V Uu. uF  q!V,          ^8”  g   K  VNK  	  pp\        RV R24      hR# u upi )zBCheck the column names to make sure they don't contain duplicates.c              3   ó*   "  € T F	  q^8H  x € K  	  R# 5i©rù   NrN   )r_   Úcounts   & rP   ra   Ú&_check_column_names.<locals>.<genexpr>8  s   é € Ð8Ñ'7˜e˜ŽzÓ'7ùs   ‚FTzAThe examples iterables can't have duplicated columns but columns z are duplicated.N)r   rŸ   ri   rg   )rÕ  Úcounterr`   Úduplicated_columnss   &   rP   Ú_check_column_namesrÁ  5  s   € ä�lÓ#€Gß‹3Ñ8 w§~¡~Ô'7Ó8�3�3Š3Ñ8 w§~¡~Ô'7Ó8×8Ò8Ù-4ÓI©W cÀ½ÀqÑ8HŸc˜c©WÐÐIÜØOÐPbÐOcÐcsÐtó
ð 	
ñ 9ùÚIs   Á&BÁ:Bc                   óæ   a a€ ] tR tRt oRtV3R lV 3R llt]R 4       t]R 4       t]R 4       t	V3R lR	 lt
R
 tR tV3R lR lt]V3R lR l4       tRV3R lR lltV3R lR ltRtVtV ;t# )Ú4HorizontallyConcatenatedMultiSourcesExamplesIterablei?  a  
HorizontallyConcatenatedMultiSourcesExamplesIterable merges examples together for the input list of iterables.
It also checks that there are no duplicate columns (otherwise we don't know which one to keep).
This check is done once when yielding the first example.

However it doesn't fill missing columns with None.
Instead, this is handled by the `IterableDataset` class or `FormattedExamplesIterable`.

For information, `IterableDataset` merges the features of all the datasets to concatenate into one.
We use `IterableDataset._resolve_features` to obtain the features of all the datasets to concatenate.

Then for each example, `IterableDataset` and `FormattedExamplesIterable` automatically fill missing columns with None.
This is done with `_apply_feature_types_on_example`.
c                ó0   <€ V ^8„  d   QhRS[ S[,          /# r‰  rŠ  )rZ   rÀ   s   "€rP   r[   ÚAHorizontallyConcatenatedMultiSourcesExamplesIterable.__annotate__O  rŒ  rR   c                ó0   <€ \         SV `  4        Wn        R # rM   rŽ  r�  s   &&€rP   rÇ   Ú=HorizontallyConcatenatedMultiSourcesExamplesIterable.__init__O  r‘  rR   c                óŠ  € \         ;QJ d&    R  V P                   4       F  '       d   K   RM	  RM! R  V P                   4       4      '       gi   \        V P                  4      ^8  d[   \         ;QJ d&    R V P                   4       F  '       d   K   RM	  RM! R V P                   4       4      '       d   V P                  # R# )c              3   ó~   "  € T F3  p\        V\        4      ;'       d    VP                  P                  x € K5  	  R # 5irM   )r  r‹  r±   rÒ   r  s   & rP   ra   ÚRHorizontallyConcatenatedMultiSourcesExamplesIterable.iter_arrow.<locals>.<genexpr>W  s6   é € ð á#4�Kô ˜;Ô(FÓG×nÐnÈK×LcÑLc×LnÑLnÔnÛ#4ùs   ‚=ž=FTc              3   ó8   "  € T F  qP                   x € K  	  R # 5irM   r<  r  s   & rP   ra   rÊ  [  s   é € Ð2oÑ]nÈk×3IÖ3IÓ]nùr§   N)rŸ   r¸   r�   rl  rÅ   s   &rP   rÒ   Ú?HorizontallyConcatenatedMultiSourcesExamplesIterable.iter_arrowS  sœ   € ÷ ‹sñ à#'×#4Ò#4ó�s�sŠsñ à#'×#4Ò#4ó÷ ò ô �D×%Ñ%Ó&¨Ô*¯s«sÑ2oÐ]a×]nÒ]nÓ2o¯s¯sªsÑ2oÐ]a×]nÒ]nÓ2o×/oÒ/oð ×Ñð	
ð ð	
rR   c                ó<   € V P                   ^ ,          P                  # r3  r4  rÅ   s   &rP   rÙ   Ú=HorizontallyConcatenatedMultiSourcesExamplesIterable.is_typed_  r6  rR   c                ó<   € V P                   ^ ,          P                  # r3  r8  rÅ   s   &rP   rÝ   Ú=HorizontallyConcatenatedMultiSourcesExamplesIterable.featuresc  r6  rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   rÅ  g  s   ø€ ÷  ñ  ¡$ñ  rR   c                ó°   € R V P                    Uu. uF  qP                  4       NK  	  upRV P                  P                  /V n        V P                  # u upi )r¸   r   r�  rJ  s   & rP   r  ÚEHorizontallyConcatenatedMultiSourcesExamplesIterable._init_state_dictg  sR   € àÈt×O`ÒO`ÓaÑO`À×9Ñ9Ö;ÑO`ÑaØ�D—N‘N×+Ñ+ð
ˆÔð ×ÑÐùò bs   �Ac           	   #  óT  "  € V P                    Uu. uF  p\        V4      NK  	  pp\        P                  ! 4        F¸  p. p. p\	        V4       F3  p \        V4      w  rxVP                  V4       VP                  V4       K5  	  V'       dg   V^ 8X  d%   \        V UU	u. uF  qˆ F  q™NK  	  K  	  up	p4       / p
V F  pV
P                  V4       K  	  RP                  R V 4       4      pWº3x € K·   R# 	  R# u upi   \         d    TP                  T4        KÐ  i ; iu up	pi 5i)r   r¡   c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5irM   r£   r¤   s   & rP   ra   ÚPHorizontallyConcatenatedMultiSourcesExamplesIterable.__iter__.<locals>.<genexpr>€  ó   é € Ð"<±t°¤3 s§8 8³tùr§   N)r¸   r’   Ú	itertoolsr½  rh   r‘   r¶  ÚStopIterationÚremoverÁ  Úupdater©   )rÆ   r±   Úex_iteratorsr•   r­   r‡   r  r¥   rU   Úcolumn_nameÚnew_exampler®   s   &           rP   rÎ   Ú=HorizontallyConcatenatedMultiSourcesExamplesIterable.__iter__n  s  é € Ø=A×=NÒ=NÓOÑ=N¨kœ˜[Ö)Ñ=NˆÐOÜ—’Ö"ˆAØˆDØˆHÜ# LÖ1�ð5Ü#'¨Ó#4‘L�CØ—K‘K Ô$Ø—O‘O GÖ,ñ	  2÷ Ø˜”6Ü'ÁHÔ(hÁH¸Ò`gÐQ\ªÑ`g©ÁHÒ(hÔiØ �Û'�GØ×&Ñ& wÖ/ñ  (àŸ(™(Ñ"<±tÓ"<Ó<�ØÐ*Ô*âó' #ùò Pøô %ô 5Ø ×'Ñ'¨×4ð5üó )iùsF   ‚D(‘C:¥,D(Á/C?ÂD(ÂD(ÂD"Â0AD(Ã?DÄD(ÄDÄ	D(c           	   #  ó  "  € V P                    Uu. uF  p\        VP                  4       4      NK  	  pp\        P                  ! 4        EF  p. p. p\        V4       F3  p \        V4      w  rxVP                  V4       VP                  V4       K5  	  V'       d°   V^ 8X  d/   \        V UU	u. uF  qˆP                   F  q™NK  	  K  	  up	p4       \        V4       FJ  w  r«V
^ 8X  d   TpK  \        VP                  VP                  4       F  w  rÞXP                  WÞ4      pK  	  KL  	  RP!                  R V 4       4      pVX3x € EK   R# 	  R# u upi   \         d    TP                  T4        EK  i ; iu up	pi 5i)r   r¡   c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5irM   r£   r¤   s   & rP   ra   ÚSHorizontallyConcatenatedMultiSourcesExamplesIterable._iter_arrow.<locals>.<genexpr>œ  r×  r§   N)r¸   r’   rÒ   rØ  r½  rh   r‘   r¶  rÙ  rÚ  rÁ  rÕ  r´  rŠ   ÚcolumnsÚappend_columnr©   )rÆ   r±   Úpa_table_iteratorsr•   r­   Ú	pa_tablesÚpa_table_iteratorr¥   r„   rÝ  ÚjÚtableÚnew_pa_tablerq   r`   r®   s   &               rP   rl  Ú@HorizontallyConcatenatedMultiSourcesExamplesIterable._iter_arrow…  s]  é € ØPT×PaÒPaÓbÑPaÀœd ;×#9Ñ#9Ó#;Ö<ÑPaÐÐbÜ—’×"ˆAØˆDØˆIÜ%)Ð*<Ö%=Ð!ðAÜ$(Ð):Ó$;‘M�CØ—K‘K Ô$Ø×$Ñ$ XÖ.ñ	 &>÷ "Ø˜”6Ü'Ù5>Ôh±Y¨×RgÔRgÀ;šÑRg™±YÒhôô !*¨)Ö 4‘H�AØ˜A”vØ',šä),¨U×-?Ñ-?ÀÇÁÖ)O™I˜DØ+3×+AÑ+AÀ$Ó+LšLó *Pñ	 !5ð Ÿ(™(Ñ"<±tÓ"<Ó<�Ø˜|Ð+Õ+âó1 #ùò cøô %ô AØ&×-Ñ-Ð.?×@Ð@ðAüó
 iùsF   ‚F‘"E³-FÁ!/EÂFÂFÂ-E;Ã	BFÅE8Å3FÅ7E8Å8	Fc                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   rÃ  rá   )rZ   rÀ   s   "€rP   r[   rÅ  ¡  s'   ø€ ÷ ñ ÙŸ™×,Ñ,ðà	?ñrR   c                ó   € V # )z^Doesn't shuffle the wrapped examples iterable since it would break the alignment between them.rN   ræ   s   &&rP   rç   ÚIHorizontallyConcatenatedMultiSourcesExamplesIterable.shuffle_data_sources¡  ó	   € ð ˆrR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   rÅ  ¨  s   ø€ ÷ ñ ™Cñ rR   c                ó   € ^# rø   rN   rÅ   s   &rP   rê   Ú?HorizontallyConcatenatedMultiSourcesExamplesIterable.num_shards§  s   € árR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   rÃ  r´   )rZ   rÀ   s   "€rP   r[   rÅ  «  s%   ø€ ÷ ñ ÙðÙ&)ðà	?ñrR   c                ó   € V # )z\Doesn't shard the wrapped examples iterable since it would break the alignment between them.rN   rî   s   &&&&rP   rð   ÚGHorizontallyConcatenatedMultiSourcesExamplesIterable.shard_data_sources«  rï  rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   rÃ  rN   )rZ   rÀ   s   "€rP   r[   rÅ  ±  s   ø€ ÷ ñ Ð&\ñ rR   c                ó   € V # )z^Doesn't reshard the wrapped examples iterable since it would break the alignment between them.rN   rÅ   s   &rP   rô   ÚIHorizontallyConcatenatedMultiSourcesExamplesIterable.reshard_data_sources±  s   € àˆrR   r¸  r!  )r"  r#  r$  r%  r&  rÇ   r'  rÒ   rÙ   rÝ   r  rÎ   rl  rç   rê   rð   rô   r(  r)  rb  rc  s   @@rP   rÃ  rÃ  ?  s›   ù‡ € ñ÷)ó )ð ñ	
ó ð	
ð ñ-ó ð-ð ñ-ó ð-÷ ð  òò.÷8ð ð ÷ó ð÷ò ÷÷ ð rR   rÃ  c                   óÆ   a a€ ] tR tRt oRV3R lV 3R llltV3R lR lt]R 4       t]R 4       tR t	V3R	 lR
 lt
V3R lR ltRV3R lR lltV3R lR ltRtVtV ;t# )Ú+RandomlyCyclingMultiSourcesExamplesIterablei¶  c          	      ó˜   <€ V ^8„  d   QhRS[ S[,          RS[P                  P                  RS[S[ S[,          ,          RS[R,          /# )rT   r¸   rà   Úprobabilitiesr)  r*  )rh   r²   râ   rã   rä   r   Úfloatr>   )rZ   rÀ   s   "€rP   r[   Ú8RandomlyCyclingMultiSourcesExamplesIterable.__annotate__·  sT   ø€ ÷ +ñ +áÑ0Õ1ð+ñ —9‘9×&Ñ&ð+ñ  ¡¡U¥Õ,ð	+ñ
 #ØSõ
ñ+rR   c                óR   <€ \         SV `  W4       \        V4      V n        W0n        R # rM   )r3  rÇ   r   rà   rü  )rÆ   r¸   rà   rü  r)  r4  s   &&&&&€rP   rÇ   Ú4RandomlyCyclingMultiSourcesExamplesIterable.__init__·  s$   ø€ ô 	‰Ñ˜Ô9Ü! )Ó,ˆŒØ*ÖrR   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©rT   r³   ry   r²   r´   )rZ   rÀ   s   "€rP   r[   rþ  Ä  s   ø€ ÷ 
ñ 
¡ð 
Ð(?ñ 
rR   c                óô   € \        V P                  4      pVP                  ^ R4      V,
          p\        V P                  \
        P                  P                  VR7      V P                  V P                  R7      # )r   ©Úseed)r¸   rà   rü  r)  ì            )
r   rà   Úintegersrú  r¸   râ   rã   Údefault_rngrü  r)  ©rÆ   r³   r©  Únew_seeds   &&  rP   r·   Ú6RandomlyCyclingMultiSourcesExamplesIterable.shift_rngsÄ  sb   € Ü�t—~‘~Ó&ˆØ—<‘<  7Ó+¨eÕ3ˆÜ:Ø×*Ñ*Ü—i‘i×+Ñ+°Ð+Ó:Ø×,Ñ,Ø"×4Ñ4ô	
ð 	
rR   c                ó<   € V P                   ^ ,          P                  # r3  r4  rÅ   s   &rP   rÙ   Ú4RandomlyCyclingMultiSourcesExamplesIterable.is_typedÎ  r6  rR   c                ó<   € V P                   ^ ,          P                  # r3  r8  rÅ   s   &rP   rÝ   Ú4RandomlyCyclingMultiSourcesExamplesIterable.featuresÒ  r6  rR   c              #  ó„  "  € \        V P                  4      p\        V P                  4      pR pV P                  '       d   V P                  R,          M^ pV P                  '       d#   V P                  R,          VP
                  n        V P                  f�    \        VP                  ^ W#R7      VR4       Fj  pV^,           V,          pV P                  '       d9   W@P                  R&   V^ 8X  d$   VP
                  P                  V P                  R&   \        V4      x € Kl  	  K�   \        VP                  W#V P                  R7      VR4       Fj  pV^,           V,          pV P                  '       d9   W@P                  R&   V^ 8X  d$   VP
                  P                  V P                  R&   \        V4      x € Kl  	  K™  5i)éè  Úbit_generator_index_offsetÚbit_generator_stateN©Úsize)r  Úp)r   rà   r�   r¸   rÄ   Úbit_generatorr  rü  r   r  rs   Úchoice)rÆ   r©  Únum_sourcesÚrandom_batch_sizeÚindex_offsetr•   s   &     rP   rD  ÚARandomlyCyclingMultiSourcesExamplesIterable._get_indices_iteratorÖ  s„  é € Ü�t—~‘~Ó&ˆÜ˜$×+Ñ+Ó,ˆØ ÐàIM×IY×IYÐIY�t×'Ñ'Ð(DÖEÐ_`ˆØ××ÐØ&*×&6Ñ&6Ð7LÕ&MˆC×ÑÔ#Ø×ÑÒ%ØÜ §¡¨Q° Ó TÐVbÐdhÖi�AØ$0°1Õ$4Ð8IÕ#I�LØ×'×'Ð'ØIU×(Ñ(Ð)EÑFØ'¨1Ô,ØFI×FWÑFW×F]ÑF]˜D×,Ñ,Ð-BÑCÜ˜a›&”Ló jð ÜØ—J‘J˜{Àd×FXÑFX�JÓYÐ[gÐimö�Að %1°1Õ$4Ð8IÕ#I�LØ×'×'Ð'ØIU×(Ñ(Ð)EÑFØ'¨1Ô,ØFI×FWÑFW×F]ÑF]˜D×,Ñ,Ð-BÑCÜ˜a›&”Lóùs   ‚A%G Á(EG c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   rþ  ó  s   ø€ ÷ 
 ñ 
 ¡$ñ 
 rR   c                óR  € V P                    F  pVP                  4        K  	  R V P                  P                  P                  R^ RR.\        V P                   4      ,          RR.\        V P                   4      ,          RV P                  P                  /V n        V P                  # )r  r  rH  NrI  Fr   )	r¸   r  rà   r  r  r�   r4  r"  rÄ   rJ  s   & rP   r  Ú<RandomlyCyclingMultiSourcesExamplesIterable._init_state_dictó  s�   € Ø×,Ô,ˆKØ×(Ñ(Ö*ñ -ð " 4§>¡>×#?Ñ#?×#EÑ#EØ(¨!Ø ˜v¬¨D×,=Ñ,=Ó(>Õ>Ø˜U˜G¤c¨$×*;Ñ*;Ó&<Õ<Ø�D—N‘N×+Ñ+ð
ˆÔð ×ÑÐrR   c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   rú  rá   )rZ   rÀ   s   "€rP   r[   rþ  ÿ  s&   ø€ ÷ 
ñ 
©b¯i©i×.AÑ.Að 
ÐFsñ 
rR   c                ó¤   € V P                    Uu. uF  q"P                  V4      NK  	  pp\        VVV P                  V P                  R7      # u upi )z;Shuffle the data sources of each wrapped examples iterable.©rà   rü  r)  )r¸   rç   rú  rü  r)  rt  s   &&  rP   rç   Ú@RandomlyCyclingMultiSourcesExamplesIterable.shuffle_data_sourcesÿ  sR   € àW[×WhÒWhÓiÑWhÈ×8Ñ8¸ÖCÑWhˆÐiÜ:ØØØ×,Ñ,Ø"×4Ñ4ô	
ð 	
ùò js   �Ac                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   rú  r´   )rZ   rÀ   s   "€rP   r[   rþ  	  s%   ø€ ÷ ñ ÙðÙ&)ðà	6ñrR   c                ó  € WP                   8  dX   \        V P                   Uu. uF  pVP                  WVR7      NK  	  upV P                  V P
                  V P                  4      # W P                   8  db   \        V P                   Uu. uF   pVP                  V P                   W#R7      NK"  	  upV P                  V P
                  V P                  4      # \        . V P                  V P
                  V P                  4      # u upi u upi )rí   rO  )rê   rú  r¸   rð   rà   rü  r)  r€  s   &&&& rP   rð   Ú>RandomlyCyclingMultiSourcesExamplesIterable.shard_data_sources	  s	  € ð Ÿ™Ô'Ü>ð %)×$5Ò$5óá$5˜ð ×/Ñ/°
ÈjÐ/ÖYÙ$5ñð —‘Ø×"Ñ"Ø×&Ñ&óð ð —_‘_Ô$Ü>ð %)×$5Ò$5óá$5˜ð ×/Ñ/°·±ÀÐ/Ö^Ù$5ñð —‘Ø×"Ñ"Ø×&Ñ&óð ô ?ØØ—‘Ø×"Ñ"Ø×&Ñ&ó	ð ùò'ùòs   ¤DÂ&D
c                ó   <€ V ^8„  d   QhRR/# )rT   ry   rú  rN   )rZ   rÀ   s   "€rP   r[   rþ  )  s   ø€ ÷ 
ñ 
Ð&Sñ 
rR   c                ó²   € \        V P                   Uu. uF  qP                  4       NK  	  upV P                  V P                  V P
                  4      # u upi )rí   )rú  r¸   rô   rà   rü  r)  r„  s   & rP   rô   Ú@RandomlyCyclingMultiSourcesExamplesIterable.reshard_data_sources)  sL   € ä:Ø=A×=NÒ=NÓOÑ=N°×*Ñ*Ö,Ñ=NÑOØ�N‰NØ×ÑØ×"Ñ"ó	
ð 	
ùÚOs   ”A)rÄ   rà   rü  )Nr+  r!  )r"  r#  r$  r%  rÇ   r·   r'  rÙ   rÝ   rD  r  rç   rð   rô   r(  r)  rb  rc  s   @@rP   rú  rú  ¶  st   ù‡ € ÷+õ +÷
ð 
ð ñ-ó ð-ð ñ-ó ð-ò!÷:
 ð 
 ÷
ð 
÷ò ÷@
÷ 
ð 
rR   rú  c                ó8   € V ^8„  d   QhR\         P                  /# rÊ   ©r{   r|   )rZ   s   "rP   r[   r[   3  s   € ÷ 
ñ 
¤b§h¡hñ 
rR   c                 ó´  € \        V \        P                  4      '       d   V # \        V \        P                  \        P
                  34      '       d    \        P                  P                  V 4      # \        P                  '       dQ   R \        P                  9   d<   ^ RIp\        WP                  VP
                  34      '       d   V P                  4       # V # )ÚpolarsN)r  r{   r|   ÚpdÚ	DataFrameÚSeriesÚfrom_pandasr   ÚPOLARS_AVAILABLEÚsysÚmodulesr-  Úto_arrow)ÚoutputÚpls   & rP   Ú_table_output_to_arrowr8  3  s‹   € Ü�&œ"Ÿ(™(×#Ò#ØˆÜ�&œ2Ÿ<™<¬¯©Ð3×4Ò4Ü�x‰x×#Ñ# FÓ+Ð+Ü××Ð 8¬s¯{©{Ô#:Ûä�fŸ|™|¨R¯Y©YÐ7×8Ò8Ø—?‘?Ó$Ð$Ø€MrR   c                   óü   a a€ ] tR tRt oRV3R lV 3R lllt]R 4       t]R 4       t]R 4       tV3R lR lt	R	 t
R
 tRV3R lR lltV3R lR ltRV3R lR lltV3R lR lt]V3R lR l4       tRtVtV ;t# )ÚMappedExamplesIterablei@  c                óö   <€ V ^8„  d   QhRS[ RS[RS[RS[S[S[,          ,          RS[RS[S[,          RS[RS[S[S[,          ,          R	S[S[,          R
S[R,          RS[S[,          RS[S[,          RS[/# )rT   r±   ÚfunctionÚwith_indicesÚinput_columnsÚbatchedrš   r›   Úremove_columnsÚ	fn_kwargsÚ
formattingÚFormattingConfigrÝ   Ú/max_num_running_async_map_functions_in_parallelÚ(is_batch_accumulate_arrow_table_function)	r²   r   r�   r   rh   rY   rs   rX   r!   )rZ   rÀ   s   "€rP   r[   Ú#MappedExamplesIterable.__annotate__A  sÆ   ø€ ÷ 4eñ 4eá*ð4eñ ð4eñ ð	4eñ
  ¡¡S¥	Õ*ð4eñ ð4eñ ™S•Mð4eñ ð4eñ !¡¡c¥Õ+ð4eñ ™D•>ð4eñ Ð/Õ0ð4eñ ™8Õ$ð4eñ :BÁ#½ð4eñ 37ñ4erR   c                óÐ  <€ \         SV `  4        Wn        W n        WPn        W`n        Wpn        W€n        W0n        W@n	        T	;'       g    / V n
        W n        W°n        T;'       g    \        P                  V n        WÐn        V
'       EdU   V
P"                  '       EdB   \%        V\&        4      '       gT   \)        R V
P*                  P-                  4        R\/        V 4      P0                   R\/        V4      P0                   R24      hVP2                  '       gT   \)        R V
P*                  P-                  4        R\/        V 4      P0                   R\/        V4      P0                   R24      hVP
                  V'       d   TM^8w  dY   \)        R V
P*                  P-                  4        R\/        V 4      P0                   RV'       d   TM^ RVP
                  : R2	4      h. V n        R# )	zThe z-formatted z# has underlying iterable that is a z- instead of a RebatchedArrowExamplesIterable.z… but doesnt' implement iter_arrow(), a possible fix could be to use RebatchedArrowExamplesIterable(..., force_convert_to_arrow=True).z has batch_size=z0 which is different from ex_iterable.batch_size=z from its underlying iterable.N)r3  rÇ   r±   r<  r?  rš   r›   r@  r=  r>  rA  rB  Ú	_featuresr   Ú/MAX_NUM_RUNNING_ASYNC_MAP_FUNCTIONS_IN_PARALLELrD  rE  Úis_tabler  r‹  rg   Úformat_typeÚ
capitalizer   r"  rÒ   Ú_owned_loops_and_tasks)rÆ   r±   r<  r=  r>  r?  rš   r›   r@  rA  rB  rÝ   rD  rE  r4  s   &&&&&&&&&&&&&&€rP   rÇ   ÚMappedExamplesIterable.__init__A  sÝ  ø€ ô  	‰ÑÔØ&ÔØ ŒØŒØ$ŒØ.ÔØ,ÔØ(ÔØ*ÔØ"Ÿ˜ bˆŒØ$ŒØ!Œà;×uÐu¼v×?uÑ?uð 	Ô<ð 9aÔ5çˆ:˜*×-×-Ñ-ä˜kÔ+I×JÒJÜ Ø˜:×1Ñ1×<Ñ<Ó>Ð?¸{Ì4ÐPTË:×K^ÑK^ÐJ_ð `!Ü!% kÓ!2×!;Ñ!;Ð <Ð<iðkóð ð !×+×+Ð+Ü Ø˜:×1Ñ1×<Ñ<Ó>Ð?¸{Ì4ÐPTË:×K^ÑK^ÐJ_ð `!Ü!% kÓ!2×!;Ñ!;Ð <ð =_ð_óð ð
 ×'Ñ'¿'©JÀqÔIÜ Ø˜:×1Ñ1×<Ñ<Ó>Ð?¸{Ì4ÐPTË:×K^ÑK^ÐJ_Ð_o÷  FÑpzð  LMð  pNð N>Ø&1×&<Ñ&<Ñ%>Ð>\ð^óð ð
 ceˆÖ#rR   c                ó~   € V P                   '       d+   V P                   P                  '       d   V P                  # R # R # rM   )rB  rJ  rl  rÅ   s   &rP   rÒ   Ú!MappedExamplesIterable.iter_arroww  s-   € à�?�?ˆ?˜tŸ™×7×7Ð7Ø×#Ñ#Ð#ñ  8‰?rR   c                ó   € V P                   R J# rM   ©rÝ   rÅ   s   &rP   rÙ   ÚMappedExamplesIterable.is_typed|  s   € à�}‰} DÐ(Ð(rR   c                ó   € V P                   # rM   ©rH  rÅ   s   &rP   rÝ   ÚMappedExamplesIterable.features€  ó   € à�~‰~ÐrR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   rF  „  s   ø€ ÷  ñ  ¡$ñ  rR   c           
     ó”   € R V P                   P                  4       RRR^ R^ RV P                  P                  /V n        V P                  # )r�  rž  NÚ!num_examples_since_previous_stateÚprevious_state_example_idxr   r¢  rÅ   s   &rP   r  Ú'MappedExamplesIterable._init_state_dict„  sL   € à ×!1Ñ!1×!BÑ!BÓ!DØ˜dØ/°Ø(¨!Ø�D—N‘N×+Ñ+ð
ˆÔð ×ÑÐrR   c              #  ó  "  € V P                   '       dX   V P                   P                  '       d<   \        4       pV P                  ^R7       F  w  r#W!P	                  V4      3x € K  	  R# V P                  4        Rj  x€L
  R#  L5i)rù   rr  N)rB  rJ  r,   rl  Ú
format_rowÚ_iter)rÆ   rw  r¥   r„   s   &   rP   rÎ   ÚMappedExamplesIterable.__iter__Ž  se   é € Ø�?�?ˆ?˜tŸ™×7×7Ð7Ü'Ó)ˆIØ!%×!1Ñ!1ÀÐ!1Ö!B‘�Ø×/Ñ/°Ó9Ð9Ô9ó "Cð —z‘z“|×#Ô#ùs   ‚.B±ABÁ?BÂ Bc              #  ó4  a aa	a
aaaaaaaaa"  € S P                   '       d   S P                   R ,          M^ o
S P                   '       dZ   S P                   R,          '       dA   S P                  P                  S P                   R,          4       S P                   R,          pM^ p\        S P                  4      oS P                  '       dE   \        S P                  P                  4      p\        V\        4      '       d   VP                  MRoMRoV
VVV 3R loV
V3R loV 3R loV 3R loV V3R loVVV 3R	 loVVV 3R
 lo	. o\        P                  ! S P                  4      '       d5    \        P                  ! 4       oS P"                  P%                  SS34       MRoVV	V
VVVV V3R lp V! 4       pS P&                  '       d
   R V 4       pV Fb  w  rVS P                   '       d5   S P                   R,          e    S P                   R;;,          ^,          uu&   V^ 8”  d   V^,          pK]  WV3x € Kd  	  R#   \         d    \        P                   ! 4       o LÜi ; i  \(        \*        3 d£    S'       d™   \,        P/                  R\1        S4       R24       S F  pTP3                  RR7       K  	   SP5                  \        P6                  ! S!  4       h   \        P8                  \:        3 d    \,        P/                  R4        h i ; ih i ; i5i)r[  rž  rZ  Nc               3   óz  <"  € S EF)  w  rSP                   e   SP                   ^ 8:  d   SM\        SSP                   ^,
          4      pW3.\        V4      ,           p\        V!  w  rERP	                  R V 4       4      p SP
                  '       d=   SP                   e/   SP                   ^ 8”  d   \        V4      SP                   8  d    R # \        V4      pS
'       d	   S
! V4      MTp\        \        V4      4       Uu. uF  pS	V,           NK  	  ppS	\        V4      ,          o	W€V33x € EK,  	  R # u upi 5i)Nr¡   c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5irM   r£   r¤   s   & rP   ra   ÚLMappedExamplesIterable._iter.<locals>.iter_batched_inputs.<locals>.<genexpr>´  s   é € Ð8±4¨Cœs 3Ÿx˜x³4ùr§   )	rš   r   rh   rŠ   r©   r›   r�   r�   r“   )r¥   rU   r«   r¬   r­   r‡   rw   r•   ÚindicesÚcurrent_idxÚformat_dictrª   rÆ   s            €€€€rP   Úiter_batched_inputsÚ9MappedExamplesIterable._iter.<locals>.iter_batched_inputs¨  s  øé € ä (‘�ð —‘Ò.°$·/±/ÀQÔ2Fñ ä ¨$¯/©/¸AÕ*=Ó>ð ð
 '* ^Ð$4´t¸NÓ7KÕ$KÐ!Ü!$Ð&7Ñ!8‘�à—h‘hÑ8±4Ó8Ó8�à×(×(Ð(ØŸ™Ò3ØŸ™¨!Ô+Ü˜H›¨¯©Ô7âÜ*¨8Ó4�ç.9™ EÔ*¸u�Ü49¼#Ð>OÓ:PÔ4QÓRÑ4Q¨q˜;¨Ÿ?˜?Ñ4Q�ÐRØœs 7›|Õ+�Ø U˜|Ð+Õ+ó/ !)ùò* Sùs   ƒC?D;ÄD6Ä'D;c               3   ój   <"  € S F'  w  r\        V4      pS^,          oS^,
          W33x € K)  	  R# 5ir¼  r  )r¥   rU   rf  rª   s     €€rP   Úiter_inputsÚ1MappedExamplesIterable._iter.<locals>.iter_inputsÃ  s8   øé € ã (‘�ô ˜w›-�à˜qÕ �Ø! A•o¨ ~Ð5Ô5ó !)ùs   ƒ03c                 óŒ  <€ SP                   '       d§   V '       d�   \        \        V 4      4      pV  Uu. uF,  p\        W,          4      \        W,          4      8w  g   K*  VNK.  	  ppV'       dG   \	        R T RV Uu. uF  p\        W,          4      NK  	  up RV R\        W,          4       R2	4      hR# R# R# u upi u upi )z!Column lengths mismatch: columns z have length z while z has length Ú.N)r?  r‘   r’   r�   rg   )Úprocessed_inputsÚ	first_colr`   Úbad_colsrÆ   s   &   €rP   Úvalidate_function_outputÚ>MappedExamplesIterable._iter.<locals>.validate_function_outputÍ  sé   ø€ Ø�|�|ˆ|× 0Ü ¤Ð&6Ó!7Ó8�	á#3óÙ#3˜C´sÐ;KÕ;PÓ7QÔUXÐYiÕYtÓUuÑ7u—C�CÑ#3ð ð ÷ Ü$Ø;¸H¸:À]ñ  {Có  TDñ  {CÐsvÔTWÐXhÕXmÖTnñ  {Cñ  TDð  SEð E!Ø!* ¨<¼Ð<LÕ<WÓ8XÐ7YÐYZð\óð ñ ñ !1‰|ùòùò
 TDs   ´'B<Á B<Á=Cc                 óê   <€ V w  r#SP                   f   V.M!SP                    Uu. uF  qCV,          NK  	  uppRpSP                  '       d
   WQ3,          p\        V4      pWuVSP                  3# u upi )NrN   )r>  r=  rX   rA  )	rF  re  r¥   rU   r`   Úfn_argsÚadditional_argsÚinputsrÆ   s	   &&      €rP   Úprepare_inputsÚ4MappedExamplesIterable._iter.<locals>.prepare_inputsÙ  sw   ø€ Ø&‰LˆCØ#'×#5Ñ#5Ò#=�w‘iÐ\`×\nÒ\nÓCoÑ\nÐUXÈCÇLÀLÑ\nÑCoˆGØ ˆOØ× × Ð Ø˜:Õ%�Ü˜'“]ˆFØ O°T·^±^ÐCÐCùò Dps   ¥A0c                 ó®   <€ S! V4       SP                   '       d4   SP                    F#  pW19   d   W W ^,          J g   K  W29   g   K!  W# K%  	  / VCVCpV# rø   ©r@  )rF  rw  ro  rç  Útransformed_inputsrÆ   rr  s   &&&  €€rP   Úprepare_outputsÚ5MappedExamplesIterable._iter.<locals>.prepare_outputsâ  sa   ø€ Ù$Ð%5Ô6à×"×"Ð"Ø×,Ô,�AØ”{Ø"˜IØ'°q­>Õ9¸aÖ>SØ,Ò/ñ	 -ð
 "@ FÐ!?Ð.>Ð!?Ðà%Ð%rR   c                óZ   <€ S! W4      w  r#rES	P                   ! . VOVO5/ VB pS! WV4      # )z8Utility to apply the function on a selection of columns.©r<  ©
rF  re  rw  ru  rv  rA  ro  rx  r}  rÆ   s
   &&     €€€rP   Úapply_functionÚ4MappedExamplesIterable._iter.<locals>.apply_functionï  s<   ø€ á:HÈÓ:^Ñ7ˆF˜_Ø#Ÿ}š}ÐU¨gÐU¸ÒUÈ9ÑUÐÙ" ;Ð8HÓIÐIrR   c              “  óv   <"  € S! W4      w  r#rES	P                   ! . VOVO5/ VB G Rj  x€L
 pS! WV4      #  L5i)zLUtility to apply the function on a selection of columns. Same code but asyncNr€  r�  s
   &&     €€€rP   Úasync_apply_functionÚ:MappedExamplesIterable._iter.<locals>.async_apply_functionõ  sI   øé € á:HÈÓ:^Ñ7ˆF˜_Ø%)§]¢]Ð%[°GÐ%[¸oÒ%[ÐQZÑ%[×[ÐÙ" ;Ð8HÓIÐIñ  \ùs   ƒ&9©7ª9c            	   3   ó\  <"  € SP                   '       d   S! 4       MS! 4       p \        P                  ! SP                  4      '       EdÀ   SP                  '       d?   SP
                  P                  4       pVSP                  R &   RpSP                  R,          p. pV  EF  w  rVVP                  V4       SP                  SP                  S! We4      4      4       \        S4      SP                  8¼  d“   SP                  \        P                  ! S\        P                  R7      4      w  rxS'       dT   \        V4      SP                  8¼  d:   SP                  \        P                  ! S\        P                  R7      4      w  rxK[  \        S4      ^
SP                  ,          8¼  d   SP                  S^ ,          4       S'       d    S^ ,          P                  4       '       dƒ   VP!                  ^ 4      SP!                  ^ 4      r•WYP#                  4       3x € SP                  '       g   Km  V	XJ g   Ku  XSP                  R &   ^ SP                  R&   XSP                  R&   RRr!K§  SP                  '       g   EKÞ  Xe   EKå  S'       g   EKð  SP
                  P                  4       pSR,          pSpEK  	  S'       dH   V^ ,          SP                  S^ ,          4      3x € VP!                  ^ 4      SP!                  ^ 4      3 KO  R# SP                  '       dX   SP                   '       dF   SP
                  P                  4       SP                  R &   ^ SP                  R&   SSP                  R&   V  F±  w  rVSP                  '       d"   SP                   '       g   SSP                  R&   VS
! We4      3x € SP                  '       g   KX  SP                   '       g   Kl  SP
                  P                  4       SP                  R &   ^ SP                  R&   SSP                  R&   K³  	  R# 5i)rž  Nr[  )Úreturn_whenrZ  éÿÿÿÿ)r?  ÚinspectÚiscoroutinefunctionr<  rÄ   r±   r  r¶  Úcreate_taskr�   rD  Úrun_until_completeÚasynciorm  ÚFIRST_COMPLETEDÚdoner_  r^  )Úinputs_iteratorrž  Úprevious_state_taskr[  re  r•   rF  r�  ÚpendingÚtaskr‚  r…  rf  rh  rk  ÚlooprÆ   Útaskss             €€€€€€€€rP   Úiter_outputsÚ2MappedExamplesIterable._iter.<locals>.iter_outputs  sF  øé € à7;·|·|°|Ñ1Ô3ÉËˆOÜ×*Ò*¨4¯=©=×9Ó9Ø×#×#Ð#Ø%)×%5Ñ%5×%@Ñ%@Ó%B�NØ9G�D×$Ñ$Ð%5Ñ6Ø*.Ð'Ø15×1AÑ1AÐB^Õ1_Ð.Ø=?�Ü&5‘N�AØ—N‘N 1Ô%Ø—L‘L ×!1Ñ!1Ñ2FÀ{Ó2VÓ!WÔXä˜5“z T×%YÑ%YÔYØ(,×(?Ñ(?Ü#ŸLšL¨¼G×<SÑ<SÔTó)™˜÷ $¬¨G«¸×8lÑ8lÔ(lØ,0×,CÑ,CÜ '§¢¨UÄ×@WÑ@WÔ Xó-™M˜D¡'ô ˜5“z R¨$×*^Ñ*^Õ%^Ô^Ø×/Ñ/°°aµÔ9ç E¨!¥H§M¡M§O¢OØ")§+¡+¨a£.°%·)±)¸A³,˜4Ø§¡£Ð.Ò.Ø×+×+Ò+°Ð8KÕ0KØAO˜D×,Ñ,Ð-=Ñ>ØTU˜D×,Ñ,Ð-PÑQØMg˜D×,Ñ,Ð-IÑJØBFÈÒ,?à×'×'Ó'Ð,?Õ,GÏEÊEØ)-×)9Ñ)9×)DÑ)DÓ)F˜Ø.3°B­iÐ+Ø5@Ó2ñ7 '6÷8 Ø! !�* d×&=Ñ&=¸eÀA½hÓ&GÐGÒGØ—K‘K “N E§I¡I¨a£LÓ0ñ ð ×#×#Ð#Ø—|—|�|Ø=A×=MÑ=M×=XÑ=XÓ=Z˜×(Ñ(Ð)9Ñ:ØPQ˜×(Ñ(Ð)LÑMØIT˜×(Ñ(Ð)EÑFÛ&5‘N�AØ×'×'Ð'Ø#Ÿ|Ÿ|˜|ØMX˜D×,Ñ,Ð-IÑJØ™^¨KÓ;Ð;Ò;Ø×'×'Ò'ØŸ<Ÿ<š<ØAE×AQÑAQ×A\ÑA\ÓA^˜D×,Ñ,Ð-=Ñ>ØTU˜D×,Ñ,Ð-PÑQØMX˜D×,Ñ,Ð-IÓJó '6ùsm   ƒAP,ÁP,ÁCP,Ä5BP,Ç	P,Ç&AP,È.P,È6AP,É=P,ÊP,Ê1P,ËAP,ÌP,Ì.A/P,Î*P,ÏP,Ï!AP,c              3   óP   "  € T F  w  r\        V4       F  pW3x € K
  	  K  	  R # 5irM   )r—   )r_   r¥   Útransformed_batchÚtransformed_examples   &   rP   ra   Ú/MappedExamplesIterable._iter.<locals>.<genexpr>B  s1   é € ð á29Ñ.˜Ü/AÐBSÖ/TÐ+ð Õ.á/Tñ /Û29ùs   ‚$&z
Canceling z async tasks.ÚKeyboardInterrupt)ÚmsgzTasks canceled.)rÄ   r±   r  r’   rB  r0   rK  r  r.   Úrecursive_tensorizerŠ  r‹  r<  rŽ  Úget_running_loopr  Únew_event_looprM  r¶  r?  Ú	Exceptionr�  ÚloggerÚdebugr�   Úcancelr�  ÚgatherÚCancelledErrorrg   )rÆ   Únum_examples_to_skiprw  r—  Úoutputsr¥   r›  r”  r‚  r…  rf  rg  rh  rk  rª   r•  rx  r}  r–  rr  s   f       @@@@@@@@@@@@rP   r_  ÚMappedExamplesIterable._iter–  s‘  ÿüé € ØHL×HX×HXÐHX�d×&Ñ&Ð'CÖDÐ^_ˆØ××Ð × 0Ñ 0Ð1A× BÔ BØ×Ñ×,Ñ,¨T×-=Ñ-=Ð>NÕ-OÔPØ#'×#3Ñ#3Ð4WÕ#XÑ à#$Ð Ü˜×(Ñ(Ó)ˆð
 �?�?ˆ?Ü% d§o¡o×&AÑ&AÓBˆIÜ;EÀiÔQ`×;aÒ;a˜)×7Ò7Ðgk‰KàˆK÷	,ð 	,ö6	6õ
	õ	Dö	&÷	J÷	Jð %'ˆÜ×&Ò& t§}¡}×5Ò5ð0Ü×/Ò/Ó1�ð ×'Ñ'×.Ñ.°°e¨}Õ=àˆD÷8	Yô 8	Yðt	Ù"“nˆGØ�|�|ˆ|ñá29ó�ó
 -4Ñ(�Ø×#×#Ð#¨×(8Ñ(8Ð9IÕ(JÒ(VØ×$Ñ$Ð%H×IÈQÕNÓIØ'¨!Ô+Ø(¨AÕ-Ð(ÙØÐ.Ô.ó -4øôQ  ô 0Ü×-Ò-Ó/’ð0ûô^ Ô,Ð-ô 		ßÜ—‘˜z¬#¨e«*¨°]ÐCÔDÛ!�DØ—K‘KÐ$7�KÖ8ñ "ð4Ø×+Ñ+¬G¯NªN¸EÑ,BÔCð øô  ×.Ñ.´
Ð;ô 4Ü—L‘LÐ!2Õ3Øð4úàð		üs   �9LÁ	LÁ"D	LÅ-H< Æ-LÆ0I" Ç	A1I" È:LÈ< IÉLÉIÉLÉ"LÉ;=LÊ9#KËLË0LÌLÌLÌLÌLc                óp   <€ V ^8„  d   QhRS[ S[,          RS[S[S[S[P                  3,          ,          /# )rT   rs  ry   )r   rs   r   rœ   rJ   r{   r|   )rZ   rÀ   s   "€rP   r[   rF  Y  s>   ø€ ÷ TEñ TE©±#­ð TEÁ(É5ÑQTÑVX×V^ÑV^ÐQ^ÕK_ÕB`ñ TErR   c           
   #  óú
  "  € V P                   '       d    \        V P                   P                  4      M	\        4       pV P                  P
                  '       d   V P                  P                  4       pM@\        V P                  V P                  '       d   V P                  M^V P                  R7      pV P                  '       dZ   V P                  R,          '       dA   V P                  P                  V P                  R,          4       V P                  R,          pM^ pV P                  '       d;   Ve7   V P                  P                  4       V P                  R&   ^ V P                  R&   V P                  '       d   V P                  R,          M^ pV P                  P                  4       pV P                  '       d   . pRpWvR&   W†R&   V EF  w  ršV P                  '       d>   V P                  e0   \!        V
4      V P                  8  d   V P                  '       d    R# V P"                  f   VP%                  V
4      .M!V P"                   Uu. uF  qºV,          NK  	  uppV P&                  '       d^   V P                  '       d;   TP)                  \+        \!        V
4      4       Uu. uF  qÕV,           NK  	  up4       MVP)                  V4       V P,                  ! V/ VB p\/        V4      p\1        V\2        P4                  4      '       g3   \7        RVP8                   R	\;        V4       R
VP8                   R24      hV P<                  '       dQ   V P<                   F@  pVVP>                  9   g   K  VPA                  VP>                  PC                  V4      4      pKB  	  VfU   V\!        V
4      ,          pV P                  '       d)   V P                  R;;,          \!        V
4      ,          uu&   WŸ3x € EK/  \E        VPG                  VR7      4       F]  w  ppV^,          pV P                  '       d    V P                  R;;,          ^,          uu&   V^ 8”  d   V^,          pKR  V	 RV 2V3x € K_  	  V P                  '       g   EKÀ  V P                  P                  4       V P                  R&   ^ V P                  R&   WPP                  R&   EK  	  V P                  '       d�   X'       dw   VPI                  R4      p
\+        \!        V
4      4       Uu. uF  qÕV,           NK  	  ppV
V3pV P,                  ! V/ V P                  BRVRVR,          ^,           /B pRV3x € R# R# R# u upi u upi u upi 5i)rù   ©rš   r›   rž  rZ  Nr[  Útables_accumulatorÚlengthz(Provided `function` which is applied to z returns a variable of type z*. Make sure provided `function` returns a z to update the dataset.rr  r¡   Ú"last_batch_from_tables_accumulatorr‰  )%rB  r0   rK  r+   r±   rÒ   r¯   r?  rš   r›   rÄ   r  r  rA  r   rE  r�   r>  rv  r=  r¶  r“   r<  r8  r  r{   r|   r€   Ú
table_typer   r@  rÕ  Úremove_columnrë   r´  rt  r_  )rÆ   rs  rw  rª   r¨  rf  rA  r®  r¯  r¥   r„   r`   Úfunction_argsr•   r6  Úoutput_tablerr   ry  re  s   &&                 rP   rl  Ú"MappedExamplesIterable._iter_arrowY  s¿  é € ØRV×Ra×RaÐRa¤M°$·/±/×2MÑ2MÔ$NÔguÓgwˆ	Ø×Ñ×&×&Ð&Ø×'Ñ'×2Ñ2Ó4‰Hä(Ø× Ñ Ø.2¯l¯l¨l˜4Ÿ?š?ÀØ $× 4Ñ 4ôˆHð
 ××Ð × 0Ñ 0Ð1A× BÔ BØ×Ñ×,Ñ,¨T×-=Ñ-=Ð>NÕ-OÔPØ#'×#3Ñ#3Ð4WÕ#XÑ à#$Ð Ø××Ð Ò 9Ø15×1AÑ1A×1LÑ1LÓ1NˆD×ÑÐ-Ñ.ØDEˆD×ÑÐ@ÑAØHL×HX×HXÐHX�d×&Ñ&Ð'CÖDÐ^_ˆØ—N‘N×'Ñ'Ó)ˆ	Ø×8×8Ð8Ø13ÐØ$(ˆFØ.@Ð*Ñ+Ø"(�hÑÜ%‰MˆCà——�Ø—O‘OÒ/Ü˜“M D§O¡OÔ3Ø×(×(Ð(âð ×%Ñ%Ò-ð ×'Ñ'¨Ó1Ñ2à/3×/AÒ/AÓBÑ/A¨˜s—m�mÑ/AÑBð ð
 × × Ð Ø—<—<�<Ø!×(Ñ(Ä5ÌÈXËÔCWÓ)XÑCW¸a¸¯/¨/ÑCWÑ)XÕYà!×(Ñ(¨Ô5à—]’] MÐ?°YÑ?ˆFÜ1°&Ó9ˆLÜ˜l¬B¯H©H×5Ò5ÜØ>¸y×?SÑ?SÐ>TÐTpÜ˜F“|�nÐ$NÈy×OcÑOcÐNdÐd{ð}óð ð ×"×"Ð"Ø"×1Ô1�FØ ×!:Ñ!:Ö:Ø'3×'AÑ'AÀ,×B[ÑB[×BaÑBaÐbhÓBiÓ'jšñ 2ð Ò$Øœs 8›}Õ,�Ø×#×#Ð#Ø×$Ñ$Ð%A×BÄcÈ(ÃmÕSÓBØÐ'Õ'ä&/°×0FÑ0FÐUbÐ0FÓ0cÖ&d‘N�A�{Ø 1Õ$�KØ×'×'Ð'Ø×(Ñ(Ð)L×MÐQRÕRÓMØ+¨aÔ/Ø,°Õ1Ð,Ù Ø ˜E  1 #˜,¨Ð3Ô3ñ 'eð ×#×#Ó#Ø9=×9IÑ9I×9TÑ9TÓ9V�D×$Ñ$Ð%5Ñ6ØLM�D×$Ñ$Ð%HÑIØEP×$Ñ$Ð%AÔBñg &ðh ×8×8Ð8×=OØ)×-Ñ-¨bÓ1ˆHÜ05´c¸(³mÔ0DÓEÑ0D¨1 Q—�Ñ0DˆGÐEØ% wÐ/ˆMØŸ=š=ØðØ"&§.¡.ñØEWðØ`gÐhjÕ`kÐnoÕ`oòˆLð 7¸ÐDÔDñ >PÑ8ùòQ Cùò *YùòL Fùs‡   ‚AU;ÁA,U;ÃU;Ã AU;Ä4AU;Æ A U;ÇAU;È!1U;ÉU,É#U;É8U;Ê
!U;Ê+U1
Ê<BU;ÍU;Í8DU;ÒAU;Ó*U;Ó2'U;ÔU6Ô*AU;c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   r:  rá   )rZ   rÀ   s   "€rP   r[   rF  ¯  s&   ø€ ÷ 
ñ 
©b¯i©i×.AÑ.Að 
ÐF^ñ 
rR   c                ó>  € \        V P                  P                  V4      V P                  V P                  V P
                  V P                  V P                  V P                  V P                  V P                  V P                  V P                  V P                  R7      # )ú&Shuffle the wrapped examples iterable.©r<  r=  r>  r?  rš   r›   r@  rA  rB  rÝ   rD  )r:  r±   rç   r<  r=  r>  r?  rš   r›   r@  rA  rB  rÝ   rD  ræ   s   &&rP   rç   Ú+MappedExamplesIterable.shuffle_data_sources¯  sz   € ä%Ø×Ñ×1Ñ1°)Ó<Ø—]‘]Ø×*Ñ*Ø×,Ñ,Ø—L‘LØ—‘Ø ×0Ñ0Ø×.Ñ.Ø—n‘nØ—‘Ø—]‘]Ø<@×<pÑ<pô
ð 	
rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   r:  r´   )rZ   rÀ   s   "€rP   r[   rF  À  s#   ø€ ÷ 
ñ 
©Sð 
¹ð 
ÐRjñ 
rR   c                óB  € \        V P                  P                  WVR7      V P                  V P                  V P
                  V P                  V P                  V P                  V P                  V P                  V P                  V P                  V P                  R7      # )rN  rO  r¹  )r:  r±   rð   r<  r=  r>  r?  rš   r›   r@  rA  rB  rÝ   rD  rî   s   &&&&rP   rð   Ú)MappedExamplesIterable.shard_data_sourcesÀ  s   € ä%Ø×Ñ×/Ñ/°
ÈjÐ/ÓYØ—]‘]Ø×*Ñ*Ø×,Ñ,Ø—L‘LØ—‘Ø ×0Ñ0Ø×.Ñ.Ø—n‘nØ—‘Ø—]‘]Ø<@×<pÑ<pô
ð 	
rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   r:  rN   )rZ   rÀ   s   "€rP   r[   rF  Ñ  s   ø€ ÷ 
ñ 
Ð&>ñ 
rR   c                ó<  € \        V P                  P                  4       V P                  V P                  V P
                  V P                  V P                  V P                  V P                  V P                  V P                  V P                  V P                  R 7      # )r¹  )r:  r±   rô   r<  r=  r>  r?  rš   r›   r@  rA  rB  rÝ   rD  rÅ   s   &rP   rô   Ú+MappedExamplesIterable.reshard_data_sourcesÑ  sx   € Ü%Ø×Ñ×1Ñ1Ó3Ø—]‘]Ø×*Ñ*Ø×,Ñ,Ø—L‘LØ—‘Ø ×0Ñ0Ø×.Ñ.Ø—n‘nØ—‘Ø—]‘]Ø<@×<pÑ<pô
ð 	
rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   rF  â  rÌ  rR   c                ó.   € V P                   P                  # rM   rÎ  rÅ   s   &rP   rê   Ú!MappedExamplesIterable.num_shardsá  rÐ  rR   )rH  rM  rÄ   rš   r?  r›   r±   rA  rB  r<  r>  rE  rD  r@  r=  )FNFr  FNNNNNFrM   r!  )r"  r#  r$  r%  rÇ   r'  rÒ   rÙ   rÝ   r  rÎ   r_  rl  rç   rð   rô   rê   r(  r)  rb  rc  s   @@rP   r:  r:  @  sª   ù‡ € ÷4eõ 4eðl ñ$ó ð$ð ñ)ó ð)ð ñó ð÷ ð  ò$òA÷FTEò TE÷l
ð 
÷"
ò 
÷"
ð 
ð  ÷+ó ÷+ð +rR   r:  c          	      óî   € V ^8„  d   QhR\         \        \        P                  3,          R\         \        \
        \        P                  \        P                  \        P                  3,          R\        /# )rT   ÚinputÚmaskÚmask_column_name)
r   rX   r{   r|   r�   rh   ÚArrayÚChunkedArrayÚBooleanScalarrY   )rZ   s   "rP   r[   r[   æ  sQ   € ÷ 
(ñ 
(Ü””r—x‘x�Õ ð
(ä
””dœBŸH™H¤b§o¡o´r×7GÑ7GÐGÕ
Hð
(ô ñ
(rR   c                 ó,  € \        V \        P                  4      '       ds   \        V\        \        P                  \        P
                  34      '       g-   \        P                  ! V.\        P                  ! 4       R 7      pV P                  W!4      # W!/# )r  )	r  r{   r|   rh   rÈ  rÉ  r–   Úbool_rä  )rÅ  rÆ  rÇ  s   &&&rP   Ú	_add_maskrÍ  æ  sd   € ô
 �%œŸ™×"Ò"Ü˜$¤¤r§x¡x´·±Ð A×BÒBÜ—8’8˜T˜F¬¯ª«Ô4ˆDØ×"Ñ"Ð#3Ó:Ð:à Ð'Ð'rR   c                ór   € V ^8„  d   QhR\         R\        \        \        P                  3,          R\
        /# ©rT   Úmask_functionrÅ  rÇ  ©r   r   rX   r{   r|   rY   )rZ   s   "rP   r[   r[   ó  s/   € ÷ 4ñ 4œHð 4¬U´4¼¿¹°>Õ-Bð 4Ô]`ñ 4rR   c                ó2   € V ! V.VO5/ VB p\        WV4      # rM   ©rÍ  ©rÐ  rÅ  rÇ  Úargsr/  rÆ  s   &&$*, rP   Úadd_maskrÖ  ó  s$   € Ù˜Ð0 Ò0¨Ñ0€DÜ�UÐ"2Ó3Ð3rR   c                ór   € V ^8„  d   QhR\         R\        \        \        P                  3,          R\
        /# rÏ  rÑ  )rZ   s   "rP   r[   r[   ø  s1   € ÷ 4ñ 4Üð4Ü$)¬$´·±¨.Õ$9ð4ÜTWñ4rR   c             �   óN   "  € V ! V.VO5/ VB G R j  x€L
 p\        WV4      #  L5irM   rÓ  rÔ  s   &&$*, rP   Úasync_add_maskrÙ  ø  s1   é € ñ ˜uÐ6 tÒ6¨vÑ6×6€DÜ�UÐ"2Ó3Ð3ñ 7ùs   ‚%’#“%c                   óÄ   a a€ ] tR tRt oRtRV3R lV 3R llltV 3R ltRV3R lV 3R llltV3R lR	 ltRV3R
 lR llt	V3R lR lt
]V3R lR l4       tRtVtV ;t# )ÚFilteredExamplesIterableiÿ  z
===MASK===c                ó˜   <€ V ^8„  d   QhRS[ RS[RS[RS[S[S[,          ,          RS[RS[S[,          RS[S[,          RS[R	,          /# )
rT   r±   r<  r=  r>  r?  rš   rA  rB  rC  )r²   r   r�   r   rh   rY   rs   rX   )rZ   rÀ   s   "€rP   r[   Ú%FilteredExamplesIterable.__annotate__  sr   ø€ ÷ 
ñ 
á*ð
ñ ð
ñ ð	
ñ
  ¡¡S¥	Õ*ð
ñ ð
ñ ™S•Mð
ñ ™D•>ð
ñ Ð/Õ0ñ
rR   c	                óB  <€ W n         VP                  '       d0   \        / VP                  CV P                  \        R 4      /C4      p	MRp	\        S
T `  T\        \        P                  ! V4      '       d   \        M\        VV P                  R7      VVVVVVV	R7	       R# )r�   N)rÇ  )	r±   r<  r=  r>  r?  rš   rA  rB  rÝ   )rÐ  rÙ   r!   rÝ   rÇ  r$   r3  rÇ   r	   rŠ  r‹  rÙ  rÖ  )rÆ   r±   r<  r=  r>  r?  rš   rA  rB  rÝ   r4  s   &&&&&&&&& €rP   rÇ   Ú!FilteredExamplesIterable.__init__  s›   ø€ ð &ÔØ××ÐÜÐ ^ ;×#7Ñ#7Ð ^¸×9NÑ9NÔPUÐV\ÓP]Ñ ^Ó_‰HàˆHÜ‰ÑØ#ÜÜ")×"=Ò"=¸h×"GÒ"G•ÌXØØ!%×!6Ñ!6ôð
 &Ø'ØØ!ØØ!Øð 	ö 	
rR   c              #  ó¤   <"  € \         SV `  4        F8  w  r\        V4      pVP                  V P                  4      '       g   K3  W3x € K:  	  R # 5irM   )r3  r_  rX   r_  rÇ  )rÆ   r¥   rU   r4  s   &  €rP   r_  ÚFilteredExamplesIterable._iter"  s>   øé € Ü!™G™MžO‰LˆCÜ˜7“mˆGØ�{‰{˜4×0Ñ0×1Ô1Ø�lÔ"ó ,ùs   ƒ=AÁAc                ó0   <€ V ^8„  d   QhRS[ S[,          /# )rT   rs  ©r   rs   )rZ   rÀ   s   "€rP   r[   rÝ  (  s   ø€ ÷ Iñ I©±#­ñ IrR   c              #  óÀ   <"  € \         SV `  VR 7       FD  w  r#W0P                  ,          pW#P                  V P                  4      P	                  V4      3x € KF  	  R# 5i)rr  N)r3  rl  rÇ  ÚdropÚfilter)rÆ   rs  r¥   r„   rÆ  r4  s   &&   €rP   rl  Ú$FilteredExamplesIterable._iter_arrow(  sQ   øé € Ü"™WÑ0¸}Ð0ÖM‰MˆCØ×1Ñ1Õ2ˆDØ—}‘} T×%:Ñ%:Ó;×BÑBÀ4ÓHÐHÔHó Nùs   ƒAAc                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )rT   r  ry   rÛ  rã  )rZ   rÀ   s   "€rP   r[   rÝ  -  s    ø€ ÷ 
ñ 
©±#­ð 
Ð;Uñ 
rR   c                óæ   € \        V P                  P                  V4      V P                  V P                  V P
                  V P                  V P                  V P                  V P                  R7      # )r¸  ©r<  r=  r>  r?  rš   rA  rB  )
rÛ  r±   rç   rÐ  r=  r>  r?  rš   rA  rB  )rÆ   r  s   &&rP   rç   Ú-FilteredExamplesIterable.shuffle_data_sources-  sZ   € ä'Ø×Ñ×1Ñ1°$Ó7Ø×'Ñ'Ø×*Ñ*Ø×,Ñ,Ø—L‘LØ—‘Ø—n‘nØ—‘ô	
ð 		
rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   rÛ  r´   )rZ   rÀ   s   "€rP   r[   rÝ  :  s#   ø€ ÷ 
ñ 
©Sð 
¹ð 
ÐRlñ 
rR   c                óê   € \        V P                  P                  WVR7      V P                  V P                  V P
                  V P                  V P                  V P                  V P                  R7      # )rN  rO  rê  )
rÛ  r±   rð   rÐ  r=  r>  r?  rš   rA  rB  rî   s   &&&&rP   rð   Ú+FilteredExamplesIterable.shard_data_sources:  s_   € ä'Ø×Ñ×/Ñ/°
ÈjÐ/ÓYØ×'Ñ'Ø×*Ñ*Ø×,Ñ,Ø—L‘LØ—‘Ø—n‘nØ—‘ô	
ð 		
rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   rÛ  rN   )rZ   rÀ   s   "€rP   r[   rÝ  G  s   ø€ ÷ 

ñ 

Ð&@ñ 

rR   c                óä   € \        V P                  P                  4       V P                  V P                  V P
                  V P                  V P                  V P                  V P                  R 7      # )rê  )
rÛ  r±   rô   rÐ  r=  r>  r?  rš   rA  rB  rÅ   s   &rP   rô   Ú-FilteredExamplesIterable.reshard_data_sourcesG  sX   € Ü'Ø×Ñ×1Ñ1Ó3Ø×'Ñ'Ø×*Ñ*Ø×,Ñ,Ø—L‘LØ—‘Ø—n‘nØ—‘ô	
ð 		
rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   rÝ  T  rÌ  rR   c                ó.   € V P                   P                  # rM   rÎ  rÅ   s   &rP   rê   Ú#FilteredExamplesIterable.num_shardsS  rÐ  rR   )rÐ  )FNFr  NNrM   r!  )r"  r#  r$  r%  rÇ  rÇ   r_  rl  rç   rð   rô   r'  rê   r(  r)  rb  rc  s   @@rP   rÛ  rÛ  ÿ  s^   ù‡ € Ø#Ð÷
õ 
õ@#÷Iõ I÷

ð 
÷
ò 
÷

ð 

ð ÷+ó ÷+ð +rR   rÛ  c                   ó,  a a€ ] tR tRt oV3R lV 3R lltV3R lR lt]R 4       t]R 4       t]R 4       t	V3R	 lR
 lt
V3R lV 3R llt]RV3R lR ll4       tR tR tV3R lR ltRV3R lR lltV3R lR lt]V3R lR l4       tRtVtV ;t# )ÚBufferShuffledExamplesIterableiX  c                óT   <€ V ^8„  d   QhRS[ RS[RS[P                  P                  /# )rT   r±   Úbuffer_sizerà   )r²   rs   râ   rã   rä   )rZ   rÀ   s   "€rP   r[   Ú+BufferShuffledExamplesIterable.__annotate__Y  s0   ø€ ÷ #ñ #Ñ$9ð #Éð #ÑXZ×XaÑXa×XkÑXkñ #rR   c                óH   <€ \         SV `  4        Wn        W n        W0n        R # rM   )r3  rÇ   r±   rø  rà   )rÆ   r±   rø  rà   r4  s   &&&&€rP   rÇ   Ú'BufferShuffledExamplesIterable.__init__Y  s   ø€ Ü‰ÑÔØ&ÔØ&ÔØ"ŽrR   c                ó$   <€ V ^8„  d   QhRS[ RR/# r  r´   )rZ   rÀ   s   "€rP   r[   rù  _  s   ø€ ÷ 
ñ 
¡ð 
Ð(?ñ 
rR   c                óÞ   € \        V P                  4      pVP                  ^ R4      V,
          p\        V P                  V P
                  \        P                  P                  VR7      R7      # )r   r  )r±   rø  rà   r  )	r   rà   r  rö  r±   rø  râ   rã   r  r	  s   &&  rP   r·   Ú)BufferShuffledExamplesIterable.shift_rngs_  sY   € Ü�t—~‘~Ó&ˆØ—<‘<  7Ó+¨eÕ3ˆÜ-Ø×(Ñ(Ø×(Ñ(Ü—i‘i×+Ñ+°Ð+Ó:ô
ð 	
rR   c                ó.   € V P                   P                  # rM   r”  rÅ   s   &rP   rÙ   Ú'BufferShuffledExamplesIterable.is_typedh  r–  rR   c                ó.   € V P                   P                  # rM   r˜  rÅ   s   &rP   rÝ   Ú'BufferShuffledExamplesIterable.featuresl  r–  rR   c                óV   € V P                   P                  '       d   V P                  # R # rM   rÚ  rÅ   s   &rP   rÒ   Ú)BufferShuffledExamplesIterable.iter_arrowp  r  rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   rù  t  s   ø€ ÷  ñ  ¡$ñ  rR   c                ó‚   € V P                   P                  4       V n        V P                  4       V n        V P                  # rM   )r±   r  rÄ   r  Ú_original_state_dictrÅ   s   &rP   r  Ú/BufferShuffledExamplesIterable._init_state_dictt  s4   € Ø×+Ñ+×<Ñ<Ó>ˆÔØ$(§O¡OÓ$5ˆÔ!Ø×ÑÐrR   c                ó&   <€ V ^8„  d   QhRS[ RS[ /# r
  r  )rZ   rÀ   s   "€rP   r[   rù  y  s   ø€ ÷ 3ñ 3©$ð 3±4ñ 3rR   c                ó�   <€ V P                   '       d&   WP                  8w  d   \        P                  R 4       \        SV `  V4      # )z›Loading a state dict of a shuffle buffer of a dataset without the buffer content.The shuffle buffer will be refilled before starting to yield new examples.)rÄ   r  r£  Úwarningr3  r  )rÆ   r  r4  s   &&€rP   r  Ú.BufferShuffledExamplesIterable.load_state_dicty  s?   ø€ Ø××ÐØ×6Ñ6Ô6Ü—‘ðaôô ‰wÑ& zÓ2Ð2rR   c                ód   <€ V ^8„  d   QhRS[ P                  P                  RS[RS[S[,          /# )rT   r©  rø  ry   )râ   rã   rä   rs   r   )rZ   rÀ   s   "€rP   r[   rù  ƒ  s8   ø€ ÷ ^ñ ^¡"§)¡)×"5Ñ"5ð ^ÁCð ^ÑdlÑmpÕdqñ ^rR   c              #  óX   "  €  R V P                  ^ WR7       4        Rj  x€L
  K%   L5i)Tc              3   ó8   "  € T F  p\        V4      x € K  	  R # 5irM   r´   )r_   r•   s   & rP   ra   ÚFBufferShuffledExamplesIterable._iter_random_indices.<locals>.<genexpr>…  s   é € Ð]Ñ(\ 1œ˜AŸ˜Ó(\ùr§   r  N)r  )r©  rø  r  s   &&&rP   Ú_iter_random_indicesÚ3BufferShuffledExamplesIterable._iter_random_indices‚  s#   é € àÙ]¨¯©°Q¸¨Ô(\Ó]×]Ô]ùs   ‚*¡(¢*c              #  óN  "  € V P                   p\        V P                  4      pV P                  W!4      p. pV P                   F?  p\        V4      V8X  d   \        V4      pWF,          x € WTV&   K.  VP                  V4       KA  	  VP                  V4       T R j  x€L
  R #  L5irM   )	rø  r   rà   r  r±   r�   r‘   r¶  r¨  )rÆ   rø  r©  rg  Ú
mem_bufferrO   r•   s   &      rP   rÎ   Ú'BufferShuffledExamplesIterable.__iter__‡  s�   é € Ø×&Ñ&ˆÜ�t—~‘~Ó&ˆØ×4Ñ4°SÓFÐàˆ
Ø×!Ô!ˆAÜ�:‹ +Ô-ÜÐ)Ó*�Ø •mÒ#Ø !˜1“à×!Ñ! !Ö$ñ "ð 	�‰�JÔØ×Ôùs   ‚BB%ÂB#ÂB%c              #  ór  "  € V P                   p\        V P                  4      pV P                  W!4      p. pV P                  P                  4        FC  w  rV\        V4      V8X  d   \        V4      pWG,          x € WV3WG&   K1  VP                  WV34       KE  	  VP                  V4       T R j  x€L
  R #  L5irM   )
rø  r   rà   r  r±   rÒ   r�   r‘   r¶  r¨  )rÆ   rø  r©  rg  r  r¥   r„   r•   s   &       rP   rl  Ú*BufferShuffledExamplesIterable._iter_arrow˜  sž   é € Ø×&Ñ&ˆÜ�t—~‘~Ó&ˆØ×4Ñ4°SÓFÐàˆ
Ø!×-Ñ-×8Ñ8Ö:‰MˆCÜ�:‹ +Ô-ÜÐ)Ó*�Ø •mÒ#Ø!$ �
“à×!Ñ! 3 /Ö2ñ ;ð 	�‰�JÔØ×Ôùs   ‚B,B7Â.B5Â/B7c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   rö  rá   )rZ   rÀ   s   "€rP   r[   rù  ©  s&   ø€ ÷ 
ñ 
©b¯i©i×.AÑ.Að 
ÐFfñ 
rR   c                óx   € \        V P                  P                  V4      V P                  V P                  R7      # )zFShuffle the wrapped examples iterable as well as the shuffling buffer.©rø  rà   )rö  r±   rç   rø  rà   ræ   s   &&rP   rç   Ú3BufferShuffledExamplesIterable.shuffle_data_sources©  s4   € ä-Ø×Ñ×1Ñ1°)Ó<È$×JZÑJZÐfj×ftÑftô
ð 	
rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   rö  r´   )rZ   rÀ   s   "€rP   r[   rù  ¯  rÄ  rR   c                ó|   € \        V P                  P                  WVR7      V P                  V P                  R7      # )rN  rO  r  )rö  r±   rð   rø  rà   rî   s   &&&&rP   rð   Ú1BufferShuffledExamplesIterable.shard_data_sources¯  s8   € ä-Ø×Ñ×/Ñ/°
ÈjÐ/ÓYØ×(Ñ(Ø—n‘nô
ð 	
rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   rö  rN   )rZ   rÀ   s   "€rP   r[   rù  ·  s   ø€ ÷ 
ñ 
Ð&Fñ 
rR   c                óv   € \        V P                  P                  4       V P                  V P                  R 7      # )r  )rö  r±   rô   rø  rà   rÅ   s   &rP   rô   Ú3BufferShuffledExamplesIterable.reshard_data_sources·  s1   € Ü-Ø×Ñ×1Ñ1Ó3Ø×(Ñ(Ø—n‘nô
ð 	
rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   rù  ¿  rÌ  rR   c                ó.   € V P                   P                  # rM   rÎ  rÅ   s   &rP   rê   Ú)BufferShuffledExamplesIterable.num_shards¾  rÐ  rR   )r  rÄ   rø  r±   rà   )r  r!  )r"  r#  r$  r%  rÇ   r·   r'  rÙ   rÝ   rÒ   r  r  Ústaticmethodr  rÎ   rl  rç   rð   rô   rê   r(  r)  rb  rc  s   @@rP   rö  rö  X  sÈ   ù‡ € ÷#ó #÷
ð 
ð ñ)ó ð)ð ñ)ó ð)ð ñIó ðI÷ ð  ÷
3ó 3ð ÷^ñ ^ó ð^òò"÷"
ð 
÷
ò 
÷
ð 
ð ÷+ó ÷+ð +rR   rö  c                   ó   € ] tR tRtRtRtR# )ÚDataSourcesShufflingDisallowediÃ  z8skip() or take() freeze the order of data sources shardsrN   N)r"  r#  r$  r%  r&  r(  rN   rR   rP   r'  r'  Ã  s   † ÝBrR   r'  c                   óö   a a€ ] tR tRt oRV3R lV 3R lllt]R 4       t]R 4       t]R 4       tV3R lR lt	R	 t
R
 t]R 4       tV3R lR ltRV3R lR lltV3R lR lt]V3R lR l4       tRtVtV ;t# )ÚSkipExamplesIterableiÇ  c                ó2   <€ V ^8„  d   QhRS[ RS[RS[RS[/# ©rT   r±   ÚnÚ"block_sources_order_when_shufflingÚsplit_when_sharding©r²   rs   r�   )rZ   rÀ   s   "€rP   r[   Ú!SkipExamplesIterable.__annotate__È  ó3   ø€ ÷ 7ñ 7á*ð7ñ ð7ñ -1ð	7ñ
 "ñ7rR   c                óT   <€ \         SV `  4        Wn        W n        W0n        W@n        R # rM   ©r3  rÇ   r±   r,  r-  r.  ©rÆ   r±   r,  r-  r.  r4  s   &&&&&€rP   rÇ   ÚSkipExamplesIterable.__init__È  ó'   ø€ ô 	‰ÑÔØ&ÔØŒØ2TÔ/Ø#6Ö rR   c                óV   € V P                   P                  '       d   V P                  # R # rM   rÚ  rÅ   s   &rP   rÒ   ÚSkipExamplesIterable.iter_arrowÕ  r  rR   c                ó.   € V P                   P                  # rM   r”  rÅ   s   &rP   rÙ   ÚSkipExamplesIterable.is_typedÙ  r–  rR   c                ó.   € V P                   P                  # rM   r˜  rÅ   s   &rP   rÝ   ÚSkipExamplesIterable.featuresÝ  r–  rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   r0  á  r
  rR   c                óŒ   € R ^ RV P                   P                  4       RV P                  P                  /V n        V P                  # )Úskippedr�  r   r¢  rÅ   s   &rP   r  Ú%SkipExamplesIterable._init_state_dictá  sB   € à�qØ ×!1Ñ!1×!BÑ!BÓ!DØ�D—N‘N×+Ñ+ð
ˆÔð
 ×ÑÐrR   c              #  ó  "  € V P                   '       d   V P                   R ,          M^ pV P                   FL  pV^,           V P                  8:  d.   V^,          pV P                   '       d   WP                   R &   KF  KH  Vx € KN  	  R# 5i©r?  N)rÄ   r±   r,  )rÆ   r?  rF  s   &  rP   rÎ   ÚSkipExamplesIterable.__iter__é  sr   é € Ø15×1A×1AÐ1A�$×"Ñ" 9Ö-ÀqˆØ×+Ô+ˆKØ˜�{˜dŸf™fÔ$Ø˜1•�Ø×#×#Ð#Ø29×$Ñ$ YÓ/ñ $ð "Ô!ó ,ùs   ‚A)BÁ,Bc              #  óz  "  € V P                   '       d   V P                   R ,          M^ pV P                  P                  4        Fñ  w  r#\        V4      ^ 8X  d   K  V\        V4      ,           V P                  8:  d7   V\        V4      ,          pV P                   '       d   WP                   R &   Kl  Kn  V^,           V P                  8:  dg   V P                  V,
          pV P                  pV P                   '       d   WP                   R &   W#P                  V\        V4      V,
          4      3x € Kì  W#3x € Kó  	  R# 5irB  )rÄ   r±   rÒ   r�   r,  rµ  )rÆ   r?  r¥   r„   rþ  s   &    rP   rl  Ú SkipExamplesIterable._iter_arrowó  sô   é € Ø15×1A×1AÐ1A�$×"Ñ" 9Ö-ÀqˆØ!×-Ñ-×8Ñ8Ö:‰MˆCÜ�8‹} Ô!ÙØœ3˜x›=Õ(¨D¯F©FÔ2Øœ3˜x›=Õ(�Ø×#×#Ð#Ø29×$Ñ$ YÓ/ñ $à˜1• §¡Ô&ØŸ™ 'Õ)�ØŸ&™&�Ø×#×#Ð#Ø29×$Ñ$ YÑ/ØŸ>™>¨&´#°h³-À&Õ2HÓIÐIÔIà�mÔ#ó ;ùs   ‚C8D;Ã;A D;c                ó†   € W,          pW,          pV.V,          p\        V4       F  pWE;;,          ^,          uu&   K  	  V# rø   ©r“   ©Únumr,  ÚquotientÚ	remainderr^  r•   s   &&    rP   Úsplit_numberÚ!SkipExamplesIterable.split_number  ó:   € à•8ˆØ•Gˆ	Ø�˜a•ˆÜ�yÖ!ˆAØ�I˜�N�Iñ "àˆrR   c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   r)  rá   )rZ   rÀ   s   "€rP   r[   r0    ó&   ø€ ÷ 
ñ 
©b¯i©i×.AÑ.Að 
ÐF\ñ 
rR   c                óÆ   € V P                   '       d   \        4       h\        V P                  P	                  V4      V P
                  V P                   V P                  R7      # )zeMay not shuffle the wrapped examples iterable since it would skip examples from other shards instead.©r,  r-  r.  )r-  r'  r)  r±   rç   r,  r.  ræ   s   &&rP   rç   Ú)SkipExamplesIterable.shuffle_data_sources  óQ   € à×2×2Ð2Ü0Ó2Ð2ä'Ø× Ñ ×5Ñ5°iÓ@Ø—&‘&Ø37×3ZÑ3ZØ$(×$<Ñ$<ô	ð rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   r)  r´   )rZ   rÀ   s   "€rP   r[   r0    s#   ø€ ÷ 
ñ 
©Sð 
¹ð 
ÐRhñ 
rR   c                óè   € V P                   '       d`   \        V P                  P                  WVR7      V P	                  V P
                  V4      V,          V P                  V P                   R7      # V # ©rN  rO  rR  )r.  r)  r±   rð   rL  r,  r-  rî   s   &&&&rP   rð   Ú'SkipExamplesIterable.shard_data_sources  sg   € à×#×#Ð#Ü'Ø× Ñ ×3Ñ3°JÐR\Ð3Ó]Ø×#Ñ# D§F¡F¨JÓ7¸Õ>Ø37×3ZÑ3ZØ$(×$<Ñ$<ô	ð ð ˆKrR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   r)  rN   )rZ   rÀ   s   "€rP   r[   r0  &  ó   ø€ ÷ 
ñ 
Ð&<ñ 
rR   c                óŒ   € \        V P                  P                  4       V P                  V P                  V P
                  R 7      # ©rR  )r)  r±   rô   r,  r-  r.  rÅ   s   &rP   rô   Ú)SkipExamplesIterable.reshard_data_sources&  ó:   € Ü#Ø×Ñ×1Ñ1Ó3Ø�f‰fØ/3×/VÑ/VØ $× 8Ñ 8ô	
ð 	
rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   r0  /  rÌ  rR   c                ó.   € V P                   P                  # rM   rÎ  rÅ   s   &rP   rê   ÚSkipExamplesIterable.num_shards.  rÐ  rR   ©rÄ   r-  r±   r,  r.  ©TTr!  ©r"  r#  r$  r%  rÇ   r'  rÒ   rÙ   rÝ   r  rÎ   rl  r%  rL  rç   rð   rô   rê   r(  r)  rb  rc  s   @@rP   r)  r)  Ç  s¬   ù‡ € ÷7õ 7ð ñIó ðIð ñ)ó ð)ð ñ)ó ð)÷ ð  ò"ò$ð$ ñó ð÷
ð 
÷
ò 
÷
ð 
ð ÷+ó ÷+ð +rR   r)  c                   ó°   a a€ ] tR tRt oRtV3R lV 3R lltV3R lR ltR tV3R lR	 ltRV3R
 lR llt	V3R lR lt
]V3R lR l4       tRtVtV ;t# )ÚRepeatExamplesIterablei3  zH
Iterable that repeats the underlying iterable a given number of times.
c                ó6   <€ V ^8„  d   QhRS[ RS[S[,          /# )rT   r±   Ú	num_times)r²   r   rs   )rZ   rÀ   s   "€rP   r[   Ú#RepeatExamplesIterable.__annotate__8  s#   ø€ ÷ #ñ #á*ð#ñ ™C•=ñ#rR   c                ó<   <€ \         SV `  4        Wn        W n        R # rM   )r3  rÇ   r±   rh  )rÆ   r±   rh  r4  s   &&&€rP   rÇ   ÚRepeatExamplesIterable.__init__8  s   ø€ ô
 	‰ÑÔØ&ÔØ"ŽrR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   ri  A  r
  rR   c                óŒ   € R ^ RV P                   P                  4       RV P                  P                  /V n        V P                  # )Úrepeat_indexr�  r   r¢  rÅ   s   &rP   r  Ú'RepeatExamplesIterable._init_state_dictA  sB   € à˜AØ ×!1Ñ!1×!BÑ!BÓ!DØ�D—N‘N×+Ñ+ð
ˆÔð
 ×ÑÐrR   c              #  ó„  "  € V P                   '       d   V P                   R ,          M^ p V P                  e   V\        V P                  ^ 4      8¼  d   R# V P                   Rj  x€L
  V^,          pV P                   '       g   K]  WP                   R &   V P                  P	                  4       V P                   R&   K”   LX5i)rn  Nr�  )rÄ   rh  Úmaxr±   r  )rÆ   rn  s   & rP   rÎ   ÚRepeatExamplesIterable.__iter__I  sž   é € Ø;?×;K×;KÐ;K�t×'Ñ'¨Ö7ÐQRˆØØ�~‰~Ò)¨l¼cÀ$Ç.Á.ÐRSÓ>TÔ.TÙØ×'Ñ'×'Ð'Ø˜AÕˆLØ××ÒØ3?× Ñ  Ñ0Ø8<×8HÑ8H×8YÑ8YÓ8[�× Ñ Ð!4Ó5ñ	 (ùs   ‚A#C Á%B>Á&C Â8C c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   rf  rá   )rZ   rÀ   s   "€rP   r[   ri  T  s*   ø€ ÷ rñ r©b¯i©i×.AÑ.Að rÐF^ñ rrR   c                ób   € \        V P                  P                  V4      V P                  R7      # )z-Shuffle the underlying iterable, then repeat.©rh  )rf  r±   rç   rh  ræ   s   &&rP   rç   Ú+RepeatExamplesIterable.shuffle_data_sourcesT  s'   € ä% d×&6Ñ&6×&KÑ&KÈIÓ&VÐbf×bpÑbpÔqÐqrR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   rf  r´   )rZ   rÀ   s   "€rP   r[   ri  X  s#   ø€ ÷ 
ñ 
©Sð 
¹ð 
ÐRjñ 
rR   c                óf   € \        V P                  P                  WVR7      V P                  R7      # )zShard, then repeat shards.rO  ru  )rf  r±   rð   rh  rî   s   &&&&rP   rð   Ú)RepeatExamplesIterable.shard_data_sourcesX  s/   € ä%Ø×Ñ×/Ñ/°
ÈjÐ/ÓYØ—n‘nô
ð 	
rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   rf  rN   )rZ   rÀ   s   "€rP   r[   ri  _  s   ø€ ÷ 
ñ 
Ð&>ñ 
rR   c                ó`   € \        V P                  P                  4       V P                  R 7      # )ru  )rf  r±   rô   rh  rÅ   s   &rP   rô   Ú+RepeatExamplesIterable.reshard_data_sources_  s(   € Ü%Ø×Ñ×1Ñ1Ó3Ø—n‘nô
ð 	
rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   ri  f  rÌ  rR   c                ó.   € V P                   P                  # rM   rÎ  rÅ   s   &rP   rê   Ú!RepeatExamplesIterable.num_shardse  rÐ  rR   )rÄ   r±   rh  r!  )r"  r#  r$  r%  r&  rÇ   r  rÎ   rç   rð   rô   r'  rê   r(  r)  rb  rc  s   @@rP   rf  rf  3  s]   ù‡ € ñ÷#ó #÷ ð  ò	\÷rð r÷
ò 
÷
ð 
ð ÷+ó ÷+ð +rR   rf  c                   óö   a a€ ] tR tRt oRV3R lV 3R lllt]R 4       t]R 4       t]R 4       tV3R lR lt	R	 t
R
 t]R 4       tV3R lR ltRV3R lR lltV3R lR lt]V3R lR l4       tRtVtV ;t# )ÚTakeExamplesIterableij  c                ó2   <€ V ^8„  d   QhRS[ RS[RS[RS[/# r+  r/  )rZ   rÀ   s   "€rP   r[   Ú!TakeExamplesIterable.__annotate__k  r1  rR   c                óT   <€ \         SV `  4        Wn        W n        W0n        W@n        R # rM   r3  r4  s   &&&&&€rP   rÇ   ÚTakeExamplesIterable.__init__k  r6  rR   c                óV   € V P                   P                  '       d   V P                  # R # rM   rÚ  rÅ   s   &rP   rÒ   ÚTakeExamplesIterable.iter_arrowx  r  rR   c                ó.   € V P                   P                  # rM   r”  rÅ   s   &rP   rÙ   ÚTakeExamplesIterable.is_typed|  r–  rR   c                ó.   € V P                   P                  # rM   r˜  rÅ   s   &rP   rÝ   ÚTakeExamplesIterable.features€  r–  rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   rƒ  „  r
  rR   c                óŒ   € R ^ RV P                   P                  4       RV P                  P                  /V n        V P                  # )Útakenr�  r   r¢  rÅ   s   &rP   r  Ú%TakeExamplesIterable._init_state_dict„  sB   € à�QØ ×!1Ñ!1×!BÑ!BÓ!DØ�D—N‘N×+Ñ+ð
ˆÔð
 ×ÑÐrR   c              #  ó6  "  € V P                   '       d   V P                   R ,          M^ pWP                  8¼  d   R# V P                   FK  pV^,           V P                  8:  d0   V^,          pV P                   '       d   WP                   R &   Vx € KJ   R# 	  R# 5i©rŽ  N)rÄ   r,  r±   )rÆ   rŽ  rF  s   &  rP   rÎ   ÚTakeExamplesIterable.__iter__Œ  sz   é € Ø-1×-=×-=Ð-=�× Ñ  Ö)À1ˆØ—F‘FŒ?ÙØ×+Ô+ˆKØ�q�y˜DŸF™FÔ"Ø˜•
�Ø×#×#Ð#Ø05×$Ñ$ WÑ-Ø!Ô!âó ,ùs   ‚A;BÁ>Bc              #  ó|  "  € V P                   '       d   V P                   R ,          M^ pWP                  8¼  d   R# V P                  P                  4        Fà  w  r#\	        V4      ^ 8X  d   K  V\	        V4      ,           V P                  8:  d:   V\	        V4      ,          pV P                   '       d   WP                   R &   W#3x € Kq  V^,           V P                  8:  dW   V P                  V,
          pV P                  pV P                   '       d   WP                   R &   W#P                  ^ V4      3x € Kß   R# 	  R# 5ir‘  )rÄ   r,  r±   rÒ   r�   rµ  )rÆ   rŽ  r¥   r„   r¯  s   &    rP   rl  Ú TakeExamplesIterable._iter_arrow™  sô   é € Ø-1×-=×-=Ð-=�× Ñ  Ö)À1ˆØ—F‘FŒ?ÙØ!×-Ñ-×8Ñ8Ö:‰MˆCÜ�8‹} Ô!ÙØœ˜X›Õ&¨$¯&©&Ô0Øœ˜X›Õ&�Ø×#×#Ð#Ø05×$Ñ$ WÑ-Ø�mÔ#Ø˜•˜dŸf™fÔ$ØŸ™ %��ØŸ™�Ø×#×#Ð#Ø05×$Ñ$ WÑ-ØŸ>™>¨!¨VÓ4Ð4Ô4âó ;ùs   ‚DD<Ä,D<c                ó†   € W,          pW,          pV.V,          p\        V4       F  pWE;;,          ^,          uu&   K  	  V# rø   rG  rH  s   &&    rP   rL  Ú!TakeExamplesIterable.split_number®  rN  rR   c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   r�  rá   )rZ   rÀ   s   "€rP   r[   rƒ  ·  rP  rR   c                óÆ   € V P                   '       d   \        4       h\        V P                  P	                  V4      V P
                  V P                   V P                  R7      # )zeMay not shuffle the wrapped examples iterable since it would take examples from other shards instead.rR  )r-  r'  r�  r±   rç   r,  r.  ræ   s   &&rP   rç   Ú)TakeExamplesIterable.shuffle_data_sources·  rT  rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   r�  r´   )rZ   rÀ   s   "€rP   r[   rƒ  Ã  s#   ø€ ÷ ñ ©Sð ¹ð ÐRhñ rR   c                ót  € V P                   '       d`   \        V P                  P                  WVR7      V P	                  V P
                  V4      V,          V P                  V P                   R7      # \        V P                  P                  WVR7      V P
                  V P                  V P                   R7      # rW  )r.  r�  r±   rð   rL  r,  r-  rî   s   &&&&rP   rð   Ú'TakeExamplesIterable.shard_data_sourcesÃ  s¢   € à×#×#Ð#Ü'Ø× Ñ ×3Ñ3°JÐR\Ð3Ó]Ø×#Ñ# D§F¡F¨JÓ7¸Õ>Ø37×3ZÑ3ZØ$(×$<Ñ$<ô	ð ô (Ø× Ñ ×3Ñ3°JÐR\Ð3Ó]Ø—&‘&Ø37×3ZÑ3ZØ$(×$<Ñ$<ô	ð rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   r�  rN   )rZ   rÀ   s   "€rP   r[   rƒ  Ô  rZ  rR   c                óŒ   € \        V P                  P                  4       V P                  V P                  V P
                  R 7      # r\  )r�  r±   rô   r,  r-  r.  rÅ   s   &rP   rô   Ú)TakeExamplesIterable.reshard_data_sourcesÔ  r^  rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   rƒ  Ý  rÌ  rR   c                ó.   € V P                   P                  # rM   rÎ  rÅ   s   &rP   rê   ÚTakeExamplesIterable.num_shardsÜ  rÐ  rR   rb  rc  r!  rd  rc  s   @@rP   r�  r�  j  s¬   ù‡ € ÷7õ 7ð ñIó ðIð ñ)ó ð)ð ñ)ó ð)÷ ð  òòð* ñó ð÷
ð 
÷ò ÷"
ð 
ð ÷+ó ÷+ð +rR   r�  c                óŽ   € V ^8„  d   QhR\         R\        R\         \        \        \        \        R3,          3,          R\         /# )rT   rU   rÝ   Útoken_per_repo_idNry   )rX   r!   rY   r   r�   )rZ   s   "rP   r[   r[   á  sB   € ÷ ñ ÜðÜ%ðÜ:>¼sÄEÌ#ÌtÐUYÈ/ÕDZÐ?ZÕ:[ðä	ñrR   c                 óŒ   € \        V 4      p V F  pW09  g   K  R W&   K  	  VP                  V 4      pVP                  WBR7      pV# )N©r¤  )rX   Úencode_exampleÚdecode_example)rU   rÝ   r¤  rÝ  Úencoded_exampleÚdecoded_examples   &&&   rP   Ú_apply_feature_types_on_exampler«  á  sP   € ô �7‹m€GãˆØÖ%Ø#'ˆGÓ ñ  ð ×-Ñ-¨gÓ6€Oà×-Ñ-¨oÐ-Óc€OØÐrR   c                   ód   a € ] tR tRt o ]V 3R lR l4       t]V 3R lR l4       tV 3R ltRtV t	R# )	rC  ið  c                ó    <€ V ^8„  d   QhRS[ /# rÊ   rÖ   )rZ   rÀ   s   "€rP   r[   ÚFormattingConfig.__annotate__õ  s   ø€ ÷ Kñ K™$ñ KrR   c                óH   € \        \        V P                  4      \        4      # rM   )r  r0   rK  r-   rÅ   s   &rP   rJ  ÚFormattingConfig.is_tableô  s   € äœ-¨×(8Ñ(8Ó9¼>ÓJÐJrR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   rÖ   )rZ   rÀ   s   "€rP   r[   r®  ù  s   ø€ ÷ Lñ L™4ñ LrR   c                óH   € \        \        V P                  4      \        4      # rM   )r  r0   rK  r.   rÅ   s   &rP   Ú	is_tensorÚFormattingConfig.is_tensorø  s   € äœ-¨×(8Ñ(8Ó9¼?ÓKÐKrR   c                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )rT   rK  ©r   rY   )rZ   rÀ   s   "€rP   r[   r®  ð  s   ø‡ ‚ á™#•Ñò rR   rN   N)
r"  r#  r$  r%  r'  rJ  r³  Ú__annotate_func__r(  r)  r*  s   @rP   rC  rC  ð  s8   ø‡ € ð ÷Kó ðKð ÷Ló ðL÷ ƒ rR   rC  c                   óò   a a€ ] tR tRt oRV3R lV 3R lllt]R 4       t]R 4       t]R 4       tV3R lR lt	R	 t
V3R
 lR ltV3R lR ltRV3R lR lltV3R lR lt]V3R lR l4       tRtVtV ;t# )ÚFormattedExamplesIterableiý  c                ó†   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[,          RS[S[S[S[S[R3,          3,          RS[/# )rT   r±   rB  rÝ   r¤  NÚforce_convert_to_python)r²   r   rC  r!   rX   rY   r   r�   )rZ   rÀ   s   "€rP   r[   Ú&FormattedExamplesIterable.__annotate__þ  s]   ø€ ÷ ?ñ ?á*ð?ñ Ñ-Õ.ð?ñ ™8Õ$ð	?ñ
  ¡¡U©3±°d¨?Õ%;Ð ;Õ<ð?ñ "&ñ?rR   c                ó`   <€ \         SV `  4        Wn        W0n        W n        W@n        WPn        R # rM   )r3  rÇ   r±   rH  rB  r¤  r»  )rÆ   r±   rB  rÝ   r¤  r»  r4  s   &&&&&&€rP   rÇ   Ú"FormattedExamplesIterable.__init__þ  s,   ø€ ô 	‰ÑÔØ&ÔØ!ŒØ$ŒØ!2ÔØ'>Ö$rR   c                ó~   € V P                   P                  '       d!   V P                  '       g   V P                  # R # R # rM   )r±   rÒ   r»  rl  rÅ   s   &rP   rÒ   Ú$FormattedExamplesIterable.iter_arrow	  s4   € à×Ñ×&×&Ð&¨t×/K×/KÐ/KØ×#Ñ#Ð#ñ 0LÑ&rR   c                óZ   € V P                   P                  ;'       g    V P                  R J# rM   )r±   rÙ   rH  rÅ   s   &rP   rÙ   Ú"FormattedExamplesIterable.is_typed	  s%   € à×Ñ×(Ñ(×FÐF¨D¯N©NÀ$Ð,FÐFrR   c                ó   € V P                   # rM   rU  rÅ   s   &rP   rÝ   Ú"FormattedExamplesIterable.features	  rW  rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   r¼  	  r7  rR   c                óX   € V P                   P                  4       V n        V P                  # rM   râ  rÅ   s   &rP   r  Ú*FormattedExamplesIterable._init_state_dict	  rä  rR   c              #  óŠ  "  € V P                   '       d   V P                   P                  '       dA   \        V P                  P                  '       g   V P
                  MR V P                  R7      pMT\        V P                   P                  V P                  P                  '       g   V P
                  MR V P                  R7      pV P                  P                  '       dD   V P                  4        F-  w  r#VP                  V4      p\        V4       F  pW%3x € K
  	  K/  	  R # \        V\        4      '       d   VP                  MR pV P                   Fi  w  r%V P                   '       d>   V P                  P                  '       g"   \#        WPP                   V P                  R7      pV'       d	   V! V4      pW%3x € Kk  	  R # 5i)N)rÝ   r¤  r¦  )rB  rJ  r,   r±   rÙ   rH  r¤  r0   rK  rÒ   rl  rv  r—   r  r.   rŸ  rÝ   r«  )rÆ   rw  r¥   r„   rw   rU   rg  s   &      rP   rÎ   Ú"FormattedExamplesIterable.__iter__	  sV  é € Ø��ˆ $§/¡/×":×":Ð":Ü'Ø/3×/?Ñ/?×/H×/HÐ/H˜ŸšÈdØ"&×"8Ñ"8ô‰Iô
 &Ø—‘×+Ñ+Ø/3×/?Ñ/?×/H×/HÐ/H˜ŸšÈdØ"&×"8Ñ"8ôˆIð ×Ñ×&×&Ð&à!%×!1Ñ!1Ö!3‘�Ø!×.Ñ.¨xÓ8�Ü1°%Ö8�GØ˜,Ô&ó  9ó "4ô ˜i¬×9Ò9ð ×-Ò-àð ð
 !%× 0Ô 0‘�à—=—=�=¨×)9Ñ)9×)B×)BÐ)BÜ=Ø§¡À$×BXÑBXô�G÷ Ù)¨'Ó2�GØ�lÔ"ó !1ùs   ‚.G±B/GÃ!B%GÆ(GÆ0Gc                óZ   <€ V ^8„  d   QhRS[ S[S[S[P                  3,          ,          /# rÊ   r§  )rZ   rÀ   s   "€rP   r[   r¼  D	  s&   ø€ ÷  ñ  ™X¡e©C±·±¨MÕ&:Õ;ñ  rR   c              #  óD  "  € V P                   '       g%   V P                  P                  4        R j  x€L
  R # V P                   P                  pV P                  P                  4        F¯  w  r#\	        VP
                  4      pV P                    FZ  pWT9  g   K  \        P                  P                  \        P                  ! 4       \        V4      R .4      pVP                  WV4      pK\  	  VP                  V8w  d   \        W0P                   4      pW#3x € K±  	  R #  Lë5irM   )rÝ   r±   rl  Úarrow_schemarj   rÕ  r{   Ú	NullArrayÚfrom_buffersÚnullr�   rä  r~   r8   )rÆ   r~   r¥   r„   rã  rÝ  r`   s   &      rP   rl  Ú%FormattedExamplesIterable._iter_arrowD	  sÔ   é € Ø�}�}ˆ}Ø×'Ñ'×3Ñ3Ó5×5Ð5ÙØ—‘×+Ñ+ˆØ!×-Ñ-×9Ñ9Ö;‰MˆCÜ˜(×/Ñ/Ó0ˆGà#Ÿ}œ}�ØÖ-ÜŸ,™,×3Ñ3´B·G²G³I¼sÀ8»}ÈtÈfÓU�CØ'×5Ñ5°kÓG’Hñ  -ð �‰ &Ô(Ü1°(¿M¹MÓJ�Ø�-Ôó <ñ 6ùs   ‚0D ²D³A"D ÂBD c                óL   <€ V ^8„  d   QhRS[ P                  P                  RR/# )rT   rà   ry   r¹  rá   )rZ   rÀ   s   "€rP   r[   r¼  T	  s&   ø€ ÷ 
ñ 
©b¯i©i×.AÑ.Að 
ÐFañ 
rR   c                ó¤   € \        V P                  P                  V4      V P                  V P                  V P
                  V P                  R7      # )r¸  ©rÝ   r¤  rB  r»  )r¹  r±   rç   rÝ   r¤  rB  r»  ræ   s   &&rP   rç   Ú.FormattedExamplesIterable.shuffle_data_sourcesT	  sC   € ä(Ø×Ñ×1Ñ1°)Ó<Ø—]‘]Ø"×4Ñ4Ø—‘Ø$(×$@Ñ$@ô
ð 	
rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rê   rë   ry   r¹  r´   )rZ   rÀ   s   "€rP   r[   r¼  ^	  s#   ø€ ÷ 
ñ 
©Sð 
¹ð 
ÐRmñ 
rR   c                ó¨   € \        V P                  P                  WVR7      V P                  V P                  V P
                  V P                  R7      # )rN  rO  rÓ  )r¹  r±   rð   rÝ   r¤  rB  r»  rî   s   &&&&rP   rð   Ú,FormattedExamplesIterable.shard_data_sources^	  sH   € ä(Ø×Ñ×/Ñ/°
ÈjÐ/ÓYØ—]‘]Ø"×4Ñ4Ø—‘Ø$(×$@Ñ$@ô
ð 	
rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   r¹  rN   )rZ   rÀ   s   "€rP   r[   r¼  h	  s   ø€ ÷ 
ñ 
Ð&Añ 
rR   c                ó¢   € \        V P                  P                  4       V P                  V P                  V P
                  V P                  R 7      # )rÓ  )r¹  r±   rô   rÝ   r¤  rB  r»  rÅ   s   &rP   rô   Ú.FormattedExamplesIterable.reshard_data_sourcesh	  sA   € Ü(Ø×Ñ×1Ñ1Ó3Ø—]‘]Ø"×4Ñ4Ø—‘Ø$(×$@Ñ$@ô
ð 	
rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   r¼  r	  rÌ  rR   c                ó.   € V P                   P                  # rM   rÎ  rÅ   s   &rP   rê   Ú$FormattedExamplesIterable.num_shardsq	  rÐ  rR   )rH  rÄ   r±   r»  rB  r¤  rØ   r!  rÑ  rc  s   @@rP   r¹  r¹  ý  sž   ù‡ € ÷?õ ?ð ñ$ó ð$ð ñGó ðGð ñó ð÷ ð  ò$#÷L ð  ÷ 
ð 
÷
ò 
÷
ð 
ð ÷+ó ÷+ð +rR   r¹  c                   ó,   a € ] tR tRt o V 3R ltRtV tR# )ÚDistributedConfigiv	  c                ó2   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   # )rT   ÚrankÚ
world_sizer´   )rZ   rÀ   s   "€rP   r[   ÚDistributedConfig.__annotate__v	  s   ø‡ ‚ á
�Iñ ñ �Oò rR   rN   N)r"  r#  r$  r%  r·  r(  r)  r*  s   @rP   rß  rß  v	  s   ø‡ ‡ „ rR   rß  c                ó  € \         P                  '       dp   ^ RIpVP                  P                  P
                  V P                  9  d;   V ;P                  VP                  P                  P
                  3,          un        R# R# R# )zNAdd torch.utils.data.IterableDataset as a parent class if 'torch' is availableN)r   ÚTORCH_AVAILABLEÚtorch.utils.dataÚutilsÚdataÚIterableDatasetÚ	__bases__)ÚclsÚtorchs   & rP   Ú._maybe_add_torch_iterable_dataset_parent_classrí  |	  sY   € ä××ÐÛà�;‰;×Ñ×+Ñ+°3·=±=Ô@Ø�MŠM˜eŸk™k×.Ñ.×>Ñ>Ð@Õ@�Mñ Añ rR   c                ód   € V ^8„  d   QhR\         \        R3,          R\         \        R3,          /# )rT   r³   ztorch.Tensorry   )r   rs   )rZ   s   "rP   r[   r[   …	  s1   € ÷ 	ñ 	´e¼CÀÐ<OÕ6Pð 	ÔUZÔ[^Ð`nÐ[nÕUoñ 	rR   c                 óÐ   € \         P                  '       dP   ^ RIp\        WP                  4      '       d   V P                  4       # VP                  ! V 4      P                  4       # V # rë  )r   rå  rì  r  ÚTensorÚshare_memory_Útensor)r³   rì  s   & rP   Ú*_maybe_share_with_torch_persistent_workersró  …	  sL   € Ü××ÐÛä�eŸ\™\×*Ò*Ø×&Ñ&Ó(Ð(à—<’< Ó&×4Ñ4Ó6Ð6àˆrR   c                   óZ   a € ] tR tRt o RtV 3R lR ltV 3R lR ltV 3R lR ltR	tV t	R
# )ÚIterableColumni‘	  a  
An iterable for a specific column of an [`IterableDataset`].

Example:

Iterate on the texts of the "text" column of a dataset:

```python
for text in dataset["text"]:
    ...
```

It also works with nested columns:

```python
for source in dataset["metadata"]["source"]:
    ...
```
c                ó4   <€ V ^8„  d   QhRS[ R,          RS[/# )rT   ÚsourcerÝ  )ré  rõ  )r   rY   )rZ   rÀ   s   "€rP   r[   ÚIterableColumn.__annotate__¦	  s"   ø€ ÷ 'ñ '™uÐ%HÕIð 'ÑX[ñ 'rR   c                ó   € Wn         W n        R # rM   ©r÷  rÝ  )rÆ   r÷  rÝ  s   &&&rP   rÇ   ÚIterableColumn.__init__¦	  s   € ØŒØ&ÖrR   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rÊ   )r   r   )rZ   rÀ   s   "€rP   r[   rø  ª	  s   ø€ ÷ ,ñ ,™(¡3�-ñ ,rR   c              #  ó\   "  € V P                    F  pWP                  ,          x € K  	  R # 5irM   rú  )rÆ   rU   s   & rP   rÎ   ÚIterableColumn.__iter__ª	  s"   é € Ø—{”{ˆGØ×*Ñ*Õ+Ô+ó #ùs   ‚*,c                ó$   <€ V ^8„  d   QhRS[ RR/# )rT   rÝ  ry   rõ  r£   )rZ   rÀ   s   "€rP   r[   rø  ®	  s   ø€ ÷ 1ñ 1¡sð 1Ð/?ñ 1rR   c                ó   € \        W4      # rM   ©rõ  ©rÆ   rÝ  s   &&rP   Ú__getitem__ÚIterableColumn.__getitem__®	  ó   € Ü˜dÓ0Ð0rR   )rÝ  r÷  N)
r"  r#  r$  r%  r&  rÇ   rÎ   r  r(  r)  r*  s   @rP   rõ  rõ  ‘	  s(   ø‡ € ñ÷('ð '÷,ð ,÷1ö 1rR   rõ  c                   óR  a € ] tR tRt o RtRyV 3R lR llt]V 3R lR l4       t]V 3R lR	 l4       tV 3R
 lR lt	V 3R lR lt
R tR tR tRzR lt]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       tR tR tR{V 3R lR lltR tR|V 3R lR lltV 3R lR  lt]RR]P4                  3V 3R! lR" ll4       t]R}V 3R# lR$ ll4       t]V 3R% lR& l4       t]R~V 3R' lR( ll4       t]RV 3R) lR* ll4       t ]R€V 3R+ lR, ll4       t!]R€V 3R- lR. ll4       t"]R�V 3R/ lR0 ll4       t#]R‚V 3R1 lR2 ll4       t$]RƒV 3R3 lR4 ll4       t%]R„V 3R5 lR6 ll4       t&R…V 3R7 lR8 llt'R†V 3R9 lR: llt(R‡V 3R; lR< llt)RˆV 3R= lR> llt*R‰V 3R? lR@ llt+V 3RA lRB lt,V 3RC lRD lt-V 3RE lRF lt.V 3RG lRH lt/RŠV 3RI lRJ llt0V 3RK lRL lt1V 3RM lRN lt2V 3RO lRP lt3V 3RQ lRR lt4V 3RS lRT lt5V 3RU lRV lt6V 3RW lRX lt7V 3RY lRZ lt8R‹V 3R[ lR\ llt9V 3R] lR^ lt:R_ t;R�V 3R` lRa llt<RŒV 3Rb lRc llt=V 3Rd lRe lt>RŒV 3Rf lRg llt?R�V 3Rh lRi llt@R}V 3Rj lRk lltAR}V 3Rl lRm lltBR…V 3Rn lRo lltCR}V 3Rp lRq lltDV 3Rr lRs ltEV 3Rt lRu ltFRŽV 3Rv lRw lltGRxtHV tIR# )�ré  i²	  z A Dataset backed by an iterable.Nc                ó¼   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[,          RS[S[,          RS[S[,          RS[S[S[S[S[S[	R3,          3,          ,          /# )rT   r±   ÚinfoÚsplitrB  Údistributedr¤  N)
r²   r   r1   r3   rC  rß  rX   rY   r   r�   )rZ   rÀ   s   "€rP   r[   ÚIterableDataset.__annotate__µ	  s   ø€ ÷ Gñ Gá*ðGñ ‘{Õ#ðGñ ™
Õ#ð	Gñ
 Ñ-Õ.ðGñ Ñ/Õ0ðGñ $¡D©©e±C¹¸t°OÕ.DÐ)DÕ$EÕFñGrR   c                ón  € Ve   VP                  4       M	\        4       p\        P                  ! WVR7       \        V4      V n        W@n        WPn        T;'       g    / V n        \        ^ 4      V n	        R V n
        \        P                  V n        V P                  4        \        V P                   4       R # )N©r  r	  )r   r1   r   rÇ   Ú_ex_iterableÚ_formattingÚ_distributedÚ_token_per_repo_idró  Ú_epochÚ_starting_state_dictr   Ú_cacheÚ_IterableDataset__hffs_cacheÚ"_prepare_ex_iterable_for_iterationrí  r4  )rÆ   r±   r  r	  rB  r
  r¤  s   &&&&&&&rP   rÇ   ÚIterableDataset.__init__µ	  s�   € ð #Ò.ˆt�y‰yŒ{´K³MˆÜ×!Ò! $¸Õ?ä  Ó-ˆÔØ%ÔØ'ÔØEV×E\ÐE\ÐZ\ˆÔÜ2\Ð]^Ó2_ˆŒØ48ˆÔ!Ü(×/Ñ/ˆÔØ×/Ñ/Ô1Ü6°t·~±~ÖFrR   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rÊ   rã  )rZ   rÀ   s   "€rP   r[   r  Ì	  s   ø€ ÷ Eñ E™X¡c�]ñ ErR   c                óL   € V P                   f   R# \        V P                   4      # )a  Number of columns in the dataset.
This can be None if the dataset has unknown features (e.g. after a map() operation).

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation")
>>> ds.num_columns
2
```
N)rÝ   r�   rÅ   s   &rP   Únum_columnsÚIterableDataset.num_columnsË	  s!   € ð —}‘}Ò,ˆtÐD´#°d·m±mÓ2DÐDrR   c                ó@   <€ V ^8„  d   QhRS[ S[S[,          ,          /# rÊ   )r   rh   rY   )rZ   rÀ   s   "€rP   r[   r  Ü	  s    ø€ ÷ Fñ F™h¡t©C¥yÕ1ñ FrR   c                óL   € V P                   f   R# \        V P                   4      # )aB  Names of the columns in the dataset.
This can be None if the dataset has unknown features (e.g. after a map() operation).

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation", streaming=True)
>>> ds.column_names
['text', 'label']
```
N)rÝ   rh   rÅ   s   &rP   rÕ  ÚIterableDataset.column_namesÛ	  s!   € ð —}‘}Ò,ˆtÐE´$°t·}±}Ó2EÐErR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r  )rZ   rÀ   s   "€rP   r[   r  ë	  s   ø€ ÷ 3*ñ 3*™Dñ 3*rR   c                ó,   € \        V P                  4      # )ah  Get the current state_dict of the dataset.
It corresponds to the state at the latest example it yielded.

Resuming returns exactly where the checkpoint was saved except in two cases:

1. examples from shuffle buffers are lost when resuming and the buffers are refilled with new data
2. combinations of `.with_format(arrow)` and batched `.map()` may skip one batch.

Returns:
    `dict`

Example:

```py
>>> from datasets import Dataset, concatenate_datasets
>>> ds = Dataset.from_dict({"a": range(6)}).to_iterable_dataset(num_shards=3)
>>> for idx, example in enumerate(ds):
...     print(example)
...     if idx == 2:
...         state_dict = ds.state_dict()
...         print("checkpoint")
...         break
>>> ds.load_state_dict(state_dict)
>>> print(f"restart from checkpoint")
>>> for example in ds:
...     print(example)
```

which returns:
```
{'a': 0}
{'a': 1}
{'a': 2}
checkpoint
restart from checkpoint
{'a': 3}
{'a': 4}
{'a': 5}
```

```py
>>> from torchdata.stateful_dataloader import StatefulDataLoader
>>> ds = load_dataset("deepmind/code_contests", streaming=True, split="train")
>>> dataloader = StatefulDataLoader(ds, batch_size=32, num_workers=4)
>>> # checkpoint
>>> state_dict = dataloader.state_dict()  # uses ds.state_dict() under the hood
>>> # resume from checkpoint
>>> dataloader.load_state_dict(state_dict)  # uses ds.load_state_dict() under the hood
```
)r   rÄ   rÅ   s   &rP   r  ÚIterableDataset.state_dictë	  s   € ôf ˜×(Ñ(Ó)Ð)rR   c                ó$   <€ V ^8„  d   QhRS[ RR/# )rT   r  ry   Nr  )rZ   rÀ   s   "€rP   r[   r   
  s   ø€ ÷ 0/ñ 0/©$ð 0/°4ñ 0/rR   c                ó   € Wn         R# )a\  Load the state_dict of the dataset.
The iteration will restart at the next example from when the state was saved.

Resuming returns exactly where the checkpoint was saved except in two cases:

1. examples from shuffle buffers are lost when resuming and the buffers are refilled with new data
2. combinations of `.with_format(arrow)` and batched `.map()` may skip one batch.

Example:

```py
>>> from datasets import Dataset, concatenate_datasets
>>> ds = Dataset.from_dict({"a": range(6)}).to_iterable_dataset(num_shards=3)
>>> for idx, example in enumerate(ds):
...     print(example)
...     if idx == 2:
...         state_dict = ds.state_dict()
...         print("checkpoint")
...         break
>>> ds.load_state_dict(state_dict)
>>> print(f"restart from checkpoint")
>>> for example in ds:
...     print(example)
```

which returns:
```
{'a': 0}
{'a': 1}
{'a': 2}
checkpoint
restart from checkpoint
{'a': 3}
{'a': 4}
{'a': 5}
```

```py
>>> from torchdata.stateful_dataloader import StatefulDataLoader
>>> ds = load_dataset("deepmind/code_contests", streaming=True, split="train")
>>> dataloader = StatefulDataLoader(ds, batch_size=32, num_workers=4)
>>> # checkpoint
>>> state_dict = dataloader.state_dict()  # uses ds.state_dict() under the hood
>>> # resume from checkpoint
>>> dataloader.load_state_dict(state_dict)  # uses ds.load_state_dict() under the hood
```
N)r  )rÆ   r  s   &&rP   r  ÚIterableDataset.load_state_dict 
  s   € ð` %/Ö!rR   c                ó²   € R V P                   P                  e.   \        V P                   P                  P                  4       4      MR RV P                   R2# )z IterableDataset({
    features: ÚUnknownz,
    num_shards: z
}))Ú_inforÝ   rh   r­   rê   rÅ   s   &rP   Ú__repr__ÚIterableDataset.__repr__R
  st   € Ø3ÐX\×XbÑXb×XkÑXkÒXw´D¸¿¹×9LÑ9L×9QÑ9QÓ9SÔ4Tð  ~Gð  4Hð  H[ð  \`÷  \kñ  \kð  [lð  lqð  rð  	rrR   c                ó   € V P                   # rM   )Ú__dict__rÅ   s   &rP   Ú__getstate__ÚIterableDataset.__getstate__U
  s   € Ø�}‰}ÐrR   c                óš   € Wn         \        V P                  4      V n        \        P                  V n        \        V P                  4       R # rM   )r+  ró  r  r   r  r  rí  r4  )rÆ   Úds   &&rP   Ú__setstate__ÚIterableDataset.__setstate__X
  s1   € ØŒä@ÀÇÁÓMˆŒä(×/Ñ/ˆÔä6°t·~±~ÖFrR   c                óJ   € \        \        V P                  VR 7      4      4      # )r©  )r‘   r’   )rÆ   r,  s   &&rP   Ú_headÚIterableDataset._heada
  s   € Ü”D˜Ÿ™¨a˜Ó0Ó1Ó2Ð2rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   r  e
  s   ø€ ÷  ñ  ‘sñ  rR   c                ó,   € \        V P                  4      # rM   )rs   r  rÅ   s   &rP   ÚepochÚIterableDataset.epochd
  s   € ä�4—;‘;ÓÐrR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   r  i
  s   ø€ ÷ ,ñ ,™Cñ ,rR   c                ó   € V P                   '       dh   V P                  P                  V P                   P                  ,          ^ 8X  d2   V P                  P                  V P                   P                  ,          # V P                  P                  # r3  )r  r  rê   râ  rÅ   s   &rP   rê   ÚIterableDataset.num_shardsh
  sh   € à××Ð ×!2Ñ!2×!=Ñ!=À×@QÑ@Q×@\Ñ@\Õ!\Ð`aÔ!aØ×$Ñ$×/Ñ/°4×3DÑ3D×3OÑ3OÕOÐOØ× Ñ ×+Ñ+Ð+rR   c                ó    <€ V ^8„  d   QhRS[ /# rÊ   r´   )rZ   rÀ   s   "€rP   r[   r  o
  s   ø€ ÷ ñ ™#ñ rR   c                ó   € V P                   # rM   ry  rÅ   s   &rP   Ún_shardsÚIterableDataset.n_shardsn
  s   € à�‰ÐrR   c           
   #  ó  "  € V P                  4       p\        P                  P                  4        ^ RIpVP
                  P                  P                  4       pV P                  4       '       dš   VP                  VP                  8  d   \        P                  RVP                   RVP                   RVP                  VP                  ,
           R24       \        P                  RVP                   RVP                   R24       V P                  '       d   R	V P                  P                   R
2MRpVP!                  VP                  VP"                  RR7      pV'       EdÞ   \        P%                  V RVP"                   R\'        V4       RVP                   R24       VP)                  VP                  VP"                  RR7      p\+        WP"                  R7      pRVP-                  4       RV P.                  /V n        V P2                  '       dE   V P.                  V P2                  R,          8X  d#   VP5                  V P2                  R,          4       V P6                  '       dˆ   VP8                  '       g   V P6                  P:                  '       dZ   \=        V P6                  P>                  V P@                  R7      pVP9                  4        F  w  rxVPC                  V4      x € K  	  R# V F	  w  ryV	x € K  	  \        P%                  V RVP"                   R\'        V4       RVP                   R24       R# \        P%                  V RVP"                   RVP                   RVP                   R24       R# 5i)r   NzToo many dataloader workers: ú (max is dataset.num_shards=ú). Stopping z dataloader workers.z³To parallelize data loading, we give each process some shards (or data sources) to process. Therefore it's unnecessary to have a number of workers greater than dataset.num_shards=úJ. To enable more parallelism, please split the dataset in more files than zk or try `dataset = dataset.reshard()` which may increase `num_shards` depending on the dataset file format.znode#Ú Ú F©rê   rë   rï   zdataloader worker#z, ': Starting to iterate over Ú/ú shards.)r±   r³   r�  r7  rR  z, ': Finished iterating over z9, ': Stopping... Number of dataset shards < num_workers (Ú<z).)"r  ÚfsspecÚasynÚ
reset_lockræ  rç  rè  Úget_worker_infoÚ_is_main_processrê   Únum_workersr£  r  r  r  rá  rÿ   Úidr¤  r�   rð   r½   r  r7  rÄ   r  r  r  rÒ   rJ  r0   rK  rÝ   r^  )
rÆ   r±   rì  Úworker_infoÚ_log_prefixÚshards_indicesrw  r¥   r„   rU   s
   &         rP   Ú_iter_pytorchÚIterableDataset._iter_pytorchr
  s”  é € Ø×=Ñ=Ó?ˆô 	�‰×ÑÔ ãà—k‘k×&Ñ&×6Ñ6Ó8ˆØ× Ñ ×"Ò" {×'=Ñ'=À×@WÑ@WÔ'WÜ�N‰NØ/°×0GÑ0GÐ/HÐHdÐep×e{Ñe{Ðd|ð }Ø'×3Ñ3°k×6LÑ6LÕLÐMÐMaðcôô �K‰KðjØju÷  kAñ  kAð  jBð B[Ø[f×[qÑ[qÐZrð  s^ð_ôð <@×;L×;LÐ;L˜˜d×/Ñ/×4Ñ4Ð5°QÑ7ÐRTˆØ$×BÑBØ"×.Ñ.°k·n±nÐQVð Có 
ˆ÷ ˆ>Ü�L‰LØ�-Ð1°+·.±.Ð1AÐA_Ô`cÐdrÓ`sÐ_tÐtuð  wB÷  wMñ  wMð  vNð  NVð  Wôð &×8Ñ8Ø&×2Ñ2¸+¿.¹.ÐUZð 9ó ˆKô 1¸[×P^ÑP^Ô_ˆKà# [×%AÑ%AÓ%CØ˜Ÿ™ð ˆDÔð ×(×(Ð(¨T¯Z©Z¸4×;TÑ;TÐU\Õ;]Ô-]Ø×+Ñ+¨D×,EÑ,EÐFYÕ,ZÔ[à××Ð [×%;×%;Ð%;¸t×?OÑ?O×?X×?XÐ?XÜ)¨$×*:Ñ*:×*FÑ*FÐQU×Q^ÑQ^Ô_�	Ø%0×%;Ñ%;Ö%=‘M�CØ#×.Ñ.¨xÓ8Ô8ñ &>áã$/‘L�Cà!”Mñ %0ô �L‰LØ�-Ð1°+·.±.Ð1AÐA^Ô_bÐcqÓ_rÐ^sÐstð  vA÷  vLñ  vLð  uMð  MUð  Vöô �L‰LØ�-Ð1°+·.±.Ð1AÐAzð  |G÷  |Rñ  |Rð  {Sð  STð  U`÷  Ulñ  Ulð  Tmð  moð  pöùs'   ‚DNÄANÅ'DNÉ.NÊ NÊC)Nc                ó  € V P                   '       d   V P                   P                  ^ 8”  d   R# R\        P                  9   d@   ^ RIpVP
                  P                  P                  4       pVe   VP                  ^ 8”  d   R# R# )r   Frì  NT)	r  rá  r3  r4  ræ  rç  rè  rM  rP  )rÆ   rì  rQ  s   &  rP   rN  Ú IterableDataset._is_main_processª
  sb   € Ø××Ð ×!2Ñ!2×!7Ñ!7¸!Ô!;ÙØ”c—k‘kÔ!Û#àŸ+™+×*Ñ*×:Ñ:Ó<ˆKØÒ&¨;¯>©>¸AÔ+=ÙÙrR   c                ó,   <€ V ^8„  d   QhRS[ RS[RS[/# )rT   rš   r›   ry   )rs   r�   r²   )rZ   rÀ   s   "€rP   r[   r  µ
  s%   ø€ ÷ 7ñ 7Ùð7Ù48ð7á	ñ7rR   c           	     ó¢  € V P                   pV P                  '       dN   VP                  \        P                  P                  V P                  4      4      p\        W0P                  4      pV P                  '       Ed   V P                  P                  pV P                  P                  pVP                  V,          ^ 8X  dh   V P                  4       '       d>   VP                  V,          pV^8”  d   RMRp\        P                  RV RV RV R24       VP                  WTRR7      pMdV P                  4       '       dB   \        P                  R	V R
24       \        P                  RV RVP                   RV 24       \        W5VR7      pVP                   '       d   \#        W1VR7      pM<V P$                  '       d+   V P$                  P&                  '       d   \#        W1VRR7      pV P$                  '       g.   V P(                  '       dI   VP(                  V P(                  8w  d.   \+        VV P$                  V P(                  V P,                  R7      pRVP/                  4       RV P                  /V n        V P2                  '       dE   V P                  V P2                  R,          8X  d#   VP5                  V P2                  R,          4       V# )r   ÚsrE  z
Assigning z shardz (or data sourcez) of the dataset to each node.FrF  zAssigning 1 out of zS examples of the dataset to each node. The others are skipped during the iteration.z®It is more optimized to distribute the dataset shards (or data sources) across nodes. You can do that by using a dataset with number of shards that is a factor of world_size=z. The current dataset has z which is not a factor of r  r­  T©rš   r›   r�  ©rB  rÝ   r¤  r�  r7  )r  r7  rç   râ   rã   r  r½   r  rá  râ  rê   rN  r£  r  rð   rû  rÒ   r‹  r  rJ  rÝ   r¹  r  r  rÄ   r  r  )rÆ   rš   r›   r±   rá  râ  Únum_shards_per_nodeÚplurals   &&&     rP   r  Ú2IterableDataset._prepare_ex_iterable_for_iterationµ
  sv  € ð ×'Ñ'ˆà�:�:ˆ:Ø%×:Ñ:¼2¿9¹9×;PÑ;PÐQU×Q[ÑQ[Ó;\Ó]ˆKÜ0°¿j¹jÓIˆKà××ÑØ×$Ñ$×)Ñ)ˆDØ×*Ñ*×5Ñ5ˆJØ×%Ñ%¨
Õ2°aÔ7Ø×(Ñ(×*Ò*Ø*5×*@Ñ*@ÀJÕ*NÐ'Ø$7¸!Ô$;™SÀ�FÜ—K‘KØ$Ð%8Ð$9¸À¸xÐGWÐX^ÐW_Ð_}Ð~ôð *×<Ñ<È
ÐkpÐ<Óq‘à×(Ñ(×*Ò*Ü—K‘KØ-¨j¨\ð  :Mð  Nôô —K‘KðsØs}Ðr~ð 3Ø3>×3IÑ3IÐ2JÐJdÐeoÐdpðrôô
 3°;ÐX\Ô]�à×!×!Ð!Ü8ØÀOô‰Kð ××Ð $×"2Ñ"2×";×";Ð";Ü8ØÀOÐlpôˆKð ××Ð §§ °+×2FÑ2FÈ$Ï-É-Ô2WÜ3ØØ×+Ñ+ØŸ™Ø"&×"9Ñ"9ô	ˆKð   ×!=Ñ!=Ó!?Ø�T—Z‘Zð
ˆÔð ×$×$Ð$¨¯©°t×7PÑ7PÐQXÕ7YÔ)YØ×'Ñ'¨×(AÑ(AÐBUÕ(VÔWØÐrR   c              #  ó–  "  € R \         P                  9   dv   ^ RIpVP                  P                  P                  4       p\        WP                  P                  P                  4      '       d   Ve   V P                  4        Rj  x€L
  R# V P                  4       pV P                  '       dˆ   VP                  '       g   V P                  P                  '       dZ   \        V P                  P                  V P                  R7      pVP                  4        F  w  rVVP!                  V4      x € K  	  R# V F	  w  rWVx € K  	  R#  LÀ5i)rì  NrR  )r3  r4  ræ  rç  rè  rM  r  ré  rT  r  r  rÒ   rJ  r0   rK  rÝ   r^  )rÆ   rì  rQ  r±   rw  r¥   r„   rU   s   &       rP   rÎ   ÚIterableDataset.__iter__î
  sò   é € Ø”c—k‘kÔ!Û#àŸ+™+×*Ñ*×:Ñ:Ó<ˆKÜ˜$§¡× 0Ñ 0× @Ñ @×AÒAÀkÒF]à×-Ñ-Ó/×/Ð/Ùà×=Ñ=Ó?ˆØ××Ð ×!7×!7Ð!7¸4×;KÑ;K×;T×;TÐ;TÜ% d×&6Ñ&6×&BÑ&BÈTÏ]É]Ô[ˆIØ!,×!7Ñ!7Ö!9‘�Ø×*Ñ*¨8Ó4Ô4ñ ":áã'‰LˆCàŒMó (ñ 0ùs%   ‚BE	ÂEÂ'E	Â/E	ÃE	ÃA+E	c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rT   rš   r›   ©rs   r�   )rZ   rÀ   s   "€rP   r[   r    s   ø€ ÷ ?ñ ?™sð ?±Tñ ?rR   c              #  óÞ  "  € V P                   '       dQ   \        V P                   P                  V P                  R7      p\	        V\
        4      '       d   VP                  MRpMRpV P                  WR7      pV P                   '       d]   VP                  '       g   V P                   P                  '       d/   VP                  4        F  w  rgXP                  V4      x € K  	  R# \        V4      pV Fm  w  riV	.\        W�^,
          4       UU	u. uF  w  riV	NK	  	  up	p,           p
V'       d   \        V
4      V8  d    R# \        V
4      pV'       d	   V! V4      MTx € Ko  	  R# u up	pi 5i)zòIterate through the batches of size `batch_size`.

Args:
    batch_size (:obj:`int`): size of each batch to yield.
    drop_last_batch (:obj:`bool`, default `False`): Whether a last batch smaller than the batch_size should be
        dropped
rR  Nr­  )r  r0   rK  rÝ   r  r.   rŸ  r  rÒ   rJ  rv  r’   r   r�   r�   )rÆ   rš   r›   rw  rg  r±   r¥   r„   rª   rU   r‡   rw   s   &&&         rP   r’   ÚIterableDataset.iter  s   é € ð ××ÐÜ% d×&6Ñ&6×&BÑ&BÈTÏ]É]Ô[ˆIÜ;EÀiÔQ`×;aÒ;a˜)×7Ò7Ðgk‰KàˆKà×=Ñ=ÈÐ=ÓuˆØ××Ð ×!7×!7Ð!7¸4×;KÑ;K×;T×;TÐ;TØ!,×!7Ñ!7Ö!9‘�Ø×,Ñ,¨XÓ6Ô6ñ ":áä˜Ó$ˆÛ$‰LˆCà�yÄÀxÐ^_ÕQ_Ô@`Ô#aÑ@`±°£GÑ@`Ò#aÕaˆHß¤3 x£=°:Ô#=ÚÜ& xÓ0ˆEç(3‘+˜eÔ$¸Ô>ó %ùã#aùs%   ‚BE-ÂE-Â9AE-ÄE'
ÄE-Ä/>E-c                ó&   <€ V ^8„  d   QhRS[ RS[/# )rT   rÝ  ry   )rY   rõ  )rZ   rÀ   s   "€rP   r[   r  "  s   ø€ ÷ 1ñ 1¡sð 1©~ñ 1rR   c                ó   € \        W4      # rM   r  r  s   &&rP   r  ÚIterableDataset.__getitem__"  r  rR   c          
      óV   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[,          RS[RR/# )rT   rà   rÝ   rD  r	  ry   ré  )r   r   r!   rX   r3   )rZ   rÀ   s   "€rP   r[   r  &  sD   ø€ ÷ 4ñ 4Ùð4á™8Õ$ð4ñ ™T•Nð4ñ ð	4ð
 
ñ4rR   c                óB   € ^RI Hp V! WVRVR7      P                  4       # )a|  Create an Iterable Dataset from a generator.

Args:
    generator (`Callable`):
        A generator function that `yields` examples.
    features (`Features`, *optional*):
        Dataset features.
    gen_kwargs(`dict`, *optional*):
        Keyword arguments to be passed to the `generator` callable.
        You can define a sharded iterable dataset by passing the list of shards in `gen_kwargs`.
        This can be used to improve shuffling and when iterating over the dataset with multiple workers.
    split ([`NamedSplit`], defaults to `Split.TRAIN`):
        Split name to be assigned to the dataset.

        <Added version="2.21.0"/>
Returns:
    [`IterableDataset`]

Example:

```py
>>> def gen():
...     yield {"text": "Good", "label": 0}
...     yield {"text": "Bad", "label": 1}
...
>>> ds = IterableDataset.from_generator(gen)
```

```py
>>> def gen(shards):
...     for shard in shards:
...         with open(shard) as f:
...             for line in f:
...                 yield {"line": line}
...
>>> shards = [f"data{i}.txt" for i in range(32)]
>>> ds = IterableDataset.from_generator(gen, gen_kwargs={"shards": shards})
>>> ds = ds.shuffle(seed=42, buffer_size=10_000)  # shuffles the shards order + uses a shuffle buffer
>>> from torch.utils.data import DataLoader
>>> dataloader = DataLoader(ds.with_format("torch"), num_workers=4)  # give each worker a subset of 32/4=8 shards
```
)ÚGeneratorDatasetInputStreamT)rà   rÝ   rD  Ú	streamingr	  )Úio.generatorrk  Úread)rà   rÝ   rD  r	  rk  s   &&&& rP   Úfrom_generatorÚIterableDataset.from_generator%  s'   € õb 	>á*Ø¸zÐUYÐafô
ç
‰$‹&ð	rR   c                óN   <€ V ^8„  d   QhRRRS[ S[,          RS[ S[,          RR/# )rT   Údfzpyspark.sql.DataFramer	  rÝ   ry   ré  )r   r3   r!   )rZ   rÀ   s   "€rP   r[   r  ]  s;   ø€ ÷ (ñ (Ø#ð(á™
Õ#ð(ñ ™8Õ$ð(ð
 
ñ(rR   c           	     óˆ   € ^RI Hp \        P                  R8X  d   \	        R4      hV! V 3RVRVRR/VB P                  4       # )a1  Create an IterableDataset from Spark DataFrame. The dataset is streamed to the driver in batches.

Args:
    df (`pyspark.sql.DataFrame`):
        The DataFrame containing the desired data.
    split (`NamedSplit`, *optional*):
        Split name to be assigned to the dataset.
    features (`Features`, *optional*):
        Dataset features.

Returns:
    [`IterableDataset`]

Example:

```py
>>> df = spark.createDataFrame(
>>>     data=[[1, "Elia"], [2, "Teo"], [3, "Fang"]],
>>>     columns=["id", "name"],
>>> )
>>> ds = IterableDataset.from_spark(df)
```
)ÚSparkDatasetReaderÚwin32z@IterableDataset.from_spark is not currently supported on Windowsr	  rÝ   rl  T)Úio.sparkrt  r3  ÚplatformÚOSErrorrn  )rr  r	  rÝ   r/  rt  s   &&&, rP   Ú
from_sparkÚIterableDataset.from_spark\  s^   € õ< 	1ä�<‰<˜7Ô"ÜÐ\Ó]Ð]á!Øñ
àð
ð ð
ð ð	
ð
 ñ
÷ ‰$‹&ð	rR   c                ó$   <€ V ^8„  d   QhRS[ RR/# )rT   Úfilenamery   ré  r£   )rZ   rÀ   s   "€rP   r[   r  ˆ  s    ø€ ÷ fñ f™Cð fÐ$5ñ frR   c                ó¬   € \        V 4      p\        P                  ! V4      p\        \        P
                  RV /R7      p\        V\        VR7      R7      # )z�Instantiate a IterableDataset from Arrow table at filename.

Args:
    filename (`str`):
        File name of the dataset.

Returns:
    [`IterableDataset`]
r|  ©r/  rR  )r±   r  )r:   r!   rƒ   re  r   Ú _generate_tables_from_cache_fileré  r1   )r|  Úpa_table_schemaÚinferred_featuresr±   s   &   rP   Ú	from_fileÚIterableDataset.from_file‡  sK   € ô 0°Ó9ˆÜ$×6Ò6°ÓGÐÜ+¬G×,TÑ,TÐ^hÐjrÐ]sÔtˆÜ¨;¼[ÐRcÔ=dÔeÐerR   c                ó¦   <€ V ^8„  d   QhRS[ P                  RS[S[,          RS[S[,          RS[S[,          RS[S[,          RS[S[,          RR/# )	rT   rr  rÝ   r  r	  Úpreserve_indexrê   ry   ré  )r.  r/  r   r!   r1   r3   r�   rs   )rZ   rÀ   s   "€rP   r[   r  ˜  sl   ø€ ÷ :5ñ :5á�L‰Lð:5ñ ™8Õ$ð:5ñ ‘{Õ#ð	:5ñ
 ™
Õ#ð:5ñ !¡�ð:5ñ ™S•Mð:5ð 
ñ:5rR   c                óX   € \         P                  ! VVVVVR7      P                  VR7      # )aô  
Convert `pandas.DataFrame` to a `pyarrow.Table` to create an [`IterableDataset`].

The column types in the resulting Arrow Table are inferred from the dtypes of the `pandas.Series` in the
DataFrame. In the case of non-object Series, the NumPy dtype is translated to its Arrow equivalent. In the
case of `object`, we need to guess the datatype by looking at the Python objects in this Series.

Be aware that Series of the `object` dtype don't carry enough information to always lead to a meaningful Arrow
type. In the case that we cannot infer a type, e.g. because the DataFrame is of length 0 or the Series only
contains `None/nan` objects, the type is set to `null`. This behavior can be avoided by constructing explicit
features and passing it to this function.

Important: a dataset created with from_pandas() lives in memory.
This may change in the future, but in the meantime if you
want to reduce memory usage you should write it on disk
and reload using e.g. to_parquet / from_parquet.

Args:
    df (`pandas.DataFrame`):
        Dataframe that contains the dataset.
    features ([`Features`], *optional*):
        Dataset features.
    info (`DatasetInfo`, *optional*):
        Dataset information, like description, citation, etc.
    split (`NamedSplit`, *optional*):
        Name of the dataset split.
    preserve_index (`bool`, *optional*):
        Whether to store the index as an additional column in the resulting Dataset.
        The default of `None` will store the index as a column, except for `RangeIndex` which is stored as metadata only.
        Use `preserve_index=True` to force it to be stored as a column.
    num_shards (`int`, default to `1`):
        Number of shards to define when instantiating the iterable dataset. This is especially useful for big datasets to be able to shuffle properly,
        and also to enable fast parallel loading using a PyTorch DataLoader or in distributed setups for example.

Returns:
    [`IterableDataset`]

Example:

```py
>>> ds = IterableDataset.from_pandas(df)
```
)rÝ   r  r	  r…  ry  )r   r1  Úto_iterable_dataset)rë  rr  rÝ   r  r	  r…  rê   s   &&&&&&&rP   r1  ÚIterableDataset.from_pandas—  s7   € ôj ×"Ò"ØØØØØ)ô
÷ Ñ
¨Ð
Ó
4ð	5rR   c          
      ót   <€ V ^8„  d   QhRS[ R,          RS[S[,          RS[S[,          RS[S[,          RR/# )rT   rr  rÝ   r  r	  ry   ré  ©úpl.DataFramezpl.LazyFrame)r   r   r!   r1   r3   )rZ   rÀ   s   "€rP   r[   r  Õ  sR   ø€ ÷ 0
ñ 0
áÐ0Õ1ð0
ñ ™8Õ$ð0
ñ ‘{Õ#ð	0
ñ
 ™
Õ#ð0
ð 
ñ0
rR   c                óê  € ^ RI pVe1   Ve-   VP                  V8w  d   \        RV RVP                   24      hVe   TMVe   VP                  MRpVe   \        V4      pVf   \	        4       pT;'       gZ    \
        P                  ! \        WP                  4      '       d   VP                  4       MVP                  P                  4       4      Vn        \        \        \        RV/R7      VVR7      # )ai  
Create an IterableDataset from a polars DataFrame or LazyFrame.

Iterating over the dataset is mostly zero copy.
Under the hood, the dataset iterates over the polars DataFrame batches/slices.

Data types that do copy:
    * CategoricalType

Args:
    df (`polars.DataFrame`): DataFrame to convert to Arrow Table
    features (`Features`, optional): Dataset features.
    info (`DatasetInfo`, optional): Dataset information, like description, citation, etc.
    split (`NamedSplit`, optional): Name of the dataset split.

Returns:
    [`IterableDataset`]

Examples:
```py
>>> ds = IterableDataset.from_polars(df)
```
NzIFeatures specified in `features` and `info.features` can't be different:
Ú
rr  r~  r  )r-  rÝ   rg   r'   r1   r!   rƒ   r  Ú	LazyFrameÚcollect_schemar~   r5  ré  re  Ú_generate_tables_from_polars)rë  rr  rÝ   r  r	  r7  s   &&&&& rP   Úfrom_polarsÚIterableDataset.from_polarsÔ  sæ   € ó> 	àÒ Ò 4¸¿¹È(Ô9RÜØ\Ð]eÐ\fÐfhÐim×ivÑivÐhwÐxóð ð  (Ò3‘8È$ÒJZ¸¿ºÐ`dˆØÒÜ<¸XÓFˆHØŠ<Ü“=ˆDØ ÷ 
ð 
¤H×$>Ò$>Ü$.¨r·<±<×$@Ò$@ˆR×ÑÔ ÀbÇiÁi×YÑYÓ[ó%
ˆŒô Ü!Ô">ÈÈbÀzÔRØØô
ð 	
rR   c                ó|   <€ V ^8„  d   QhRS[ RS[S[,          RS[S[,          RS[S[,          RS[S[,          RR/# ©rT   ÚmappingrÝ   r  r	  rê   ry   ré  )rX   r   r!   r1   r3   rs   )rZ   rÀ   s   "€rP   r[   r    sZ   ø€ ÷ "
ñ "
áð"
ñ ™8Õ$ð"
ñ ‘{Õ#ð	"
ñ
 ™
Õ#ð"
ñ ™S•Mð"
ð 
ñ"
rR   c                óR   € \         P                  ! WW4R7      P                  VR7      # )aÈ  
Convert `dict` to a `pyarrow.Table` to create an [`IterableDataset`].

Important: a dataset created with from_dict() lives in memory.
This may change in the future, but in the meantime if you
want to reduce memory usage you should write it back on disk
and reload using e.g. to_parquet / from_parquet.

Args:
    mapping (`Mapping`):
        Mapping of strings to Arrays or Python lists.
    features ([`Features`], *optional*):
        Dataset features.
    info (`DatasetInfo`, *optional*):
        Dataset information, like description, citation, etc.
    split (`NamedSplit`, *optional*):
        Name of the dataset split.
    num_shards (`int`, default to `1`):
        Number of shards to define when instantiating the iterable dataset. This is especially useful for big datasets to be able to shuffle properly,
        and also to enable fast parallel loading using a PyTorch DataLoader or in distributed setups for example.

Returns:
    [`IterableDataset`]
©rÝ   r  r	  ry  )r   Ú	from_dictr‡  ©rë  r•  rÝ   r  r	  rê   s   &&&&&&rP   r˜  ÚIterableDataset.from_dict  s.   € ôB × Ò  À$ÔT×hÑhØ!ð ió 
ð 	
rR   c                óŒ   <€ V ^8„  d   QhRS[ S[,          RS[S[,          RS[S[,          RS[S[,          RS[S[,          RR/# r”  )rh   rX   r   r!   r1   r3   rs   )rZ   rÀ   s   "€rP   r[   r  -  s^   ø€ ÷ $5ñ $5á‘d•ð$5ñ ™8Õ$ð$5ñ ‘{Õ#ð	$5ñ
 ™
Õ#ð$5ñ ™S•Mð$5ð 
ñ$5rR   c                óV   € \         P                  ! VVVVR7      P                  VR7      # )a,  
Convert a list of dicts to a `pyarrow.Table` to create an [`IterableDataset`]`.

Note that the keys of the first entry will be used to determine the dataset columns,
regardless of what is passed to features.

Important: a dataset created with from_list() lives in memory.
This may change in the future, but in the meantime if you
want to reduce memory usage you should write it back on disk
and reload using e.g. from_parquet / to_parquet.

Args:
    mapping (`List[dict]`): A list of mappings of strings to row values.
    features (`Features`, optional): Dataset features.
    info (`DatasetInfo`, optional): Dataset information, like description, citation, etc.
    split (`NamedSplit`, optional): Name of the dataset split.
    num_shards (`int`, default to `1`):
        Number of shards to define when instantiating the iterable dataset. This is especially useful for big datasets to be able to shuffle properly,
        and also to enable fast parallel loading using a PyTorch DataLoader or in distributed setups for example.

Returns:
    [`IterableDataset`]
r—  ry  )r   Ú	from_listr‡  r™  s   &&&&&&rP   r�  ÚIterableDataset.from_list,  s4   € ô@ × Ò ØØØØô	
÷
 Ñ
¨Ð
Ó
4ð	5rR   c          
      ó|   <€ V ^8„  d   QhRS[ S[S[S[,          3,          RS[S[,          RS[S[,          RS[RR/# )rT   Úpath_or_pathsr	  rÝ   Úkeep_in_memoryry   ré  )r   rE   rh   r   r3   r!   r�   )rZ   rÀ   s   "€rP   r[   r  T  sS   ø€ ÷ (ñ (Ù™X¡t©H¥~Ð5Õ6ð(á™
Õ#ð(ñ ™8Õ$ð(ñ ð	(ð 
ñ(rR   c                óL   € ^RI Hp V! V 3RVRVRVRR/VB P                  4       # )af  Create an IterableDataset from CSV file(s).

Args:
    path_or_paths (`path-like` or list of `path-like`):
        Path(s) of the CSV file(s).
    split ([`NamedSplit`], *optional*):
        Split name to be assigned to the dataset.
    features ([`Features`], *optional*):
        Dataset features.
    keep_in_memory (`bool`, defaults to `False`):
        Whether to copy the data in-memory.
    **kwargs (additional keyword arguments):
        Keyword arguments to be passed to [`pandas.read_csv`].

Returns:
    [`IterableDataset`]

Example:

```py
>>> ds = IterableDataset.from_csv('path/to/dataset.csv')
```
)ÚCsvDatasetReaderr	  rÝ   r¡  rl  T)Úio.csvr£  rn  )r   r	  rÝ   r¡  r/  r£  s   &&&&, rP   Úfrom_csvÚIterableDataset.from_csvS  sQ   € õ@ 	-áØñ
àð
ð ð
ð *ð	
ð
 ð
ð ñ
÷ ‰$‹&ð	rR   c                ó’   <€ V ^8„  d   QhRS[ S[S[S[,          3,          RS[S[,          RS[S[,          RS[RS[S[,          RR/# )rT   r   r	  rÝ   r¡  Úfieldry   ré  )r   rE   rh   r   r3   r!   r�   rY   )rZ   rÀ   s   "€rP   r[   r    sa   ø€ ÷ ,ñ ,Ù™X¡t©H¥~Ð5Õ6ð,á™
Õ#ð,ñ ™8Õ$ð,ñ ð	,ñ
 ™�}ð,ð 
ñ,rR   c                óP   € ^RI Hp V! V 3RVRVRVRVRR/VB P                  4       # )aè  Create an IterableDataset from JSON or JSON Lines file(s).

Args:
    path_or_paths (`path-like` or list of `path-like`):
        Path(s) of the JSON or JSON Lines file(s).
    split ([`NamedSplit`], *optional*):
        Split name to be assigned to the dataset.
    features ([`Features`], *optional*):
         Dataset features.
    keep_in_memory (`bool`, defaults to `False`):
        Whether to copy the data in-memory.
    field (`str`, *optional*):
        Field name of the JSON file where the dataset is contained in.
    **kwargs (additional keyword arguments):
        Keyword arguments to be passed to [`JsonConfig`].

Returns:
    [`IterableDataset`]

Example:

```py
>>> ds = IterableDataset.from_json('path/to/dataset.json')
```
)ÚJsonDatasetReaderr	  rÝ   r¡  r¨  rl  T)Úio.jsonrª  rn  )r   r	  rÝ   r¡  r¨  r/  rª  s   &&&&&, rP   Ú	from_jsonÚIterableDataset.from_json~  s[   € õF 	/á Øñ
àð
ð ð
ð *ð	
ð
 ð
ð ð
ð ñ
÷ ‰$‹&ð	rR   c                óT  <€ V ^8„  d   QhRS[ S[S[S[,          3,          RS[S[,          RS[S[,          RS[RS[S[S[,          ,          RS[S[ S[P                  S[S[
,          S[S[S[
,          ,          3,          ,          RS[S[P                  ,          RS[R,          R	R
/	# )rT   r   r	  rÝ   r¡  rã  ÚfiltersÚfragment_scan_optionsÚon_bad_filesry   ré  )ÚerrorÚwarnÚskip)r   rE   rh   r   r3   r!   r�   rY   ÚpdsÚ
Expressionrœ   ÚParquetFragmentScanOptionsr>   )rZ   rÀ   s   "€rP   r[   r  ®  sÂ   ø€ ÷ Rñ RÙ™X¡t©H¥~Ð5Õ6ðRá™
Õ#ðRñ ™8Õ$ðRñ ð	Rñ
 ™$™s�)Õ$ðRñ ™%¡§¡±±Uµ¹TÁ$ÁuÅ+Õ=NÐ NÕOÕPðRñ  (©×(FÑ(FÕGðRñ Ð5Õ6ðRð 
ñRrR   c                ó\   € ^RI Hp	 V	! V 3RVRVRVRVRRRVR	VR
V/VB P                  4       # )aæ  Create an IterableDataset from Parquet file(s).

Args:
    path_or_paths (`path-like` or list of `path-like`):
        Path(s) of the Parquet file(s).
    split (`NamedSplit`, *optional*):
        Split name to be assigned to the dataset.
    features (`Features`, *optional*):
        Dataset features.
    keep_in_memory (`bool`, defaults to `False`):
        Whether to copy the data in-memory.
    columns (`List[str]`, *optional*):
        If not `None`, only these columns will be read from the file.
        A column name may be a prefix of a nested field, e.g. 'a' will select
        'a.b', 'a.c', and 'a.d.e'.
    filters (`Union[pyarrow.dataset.Expression, list[tuple], list[list[tuple]]]`, *optional*):
        Return only the rows matching the filter.
        If possible the predicate will be pushed down to exploit the partition information
        or internal metadata found in the data source, e.g. Parquet statistics.
        Otherwise filters the loaded RecordBatches before yielding them.
    fragment_scan_options (`pyarrow.dataset.ParquetFragmentScanOptions`, *optional*)
        Scan-specific options for Parquet fragments.
        This is especially useful to configure buffering and caching.

        <Added version="4.2.0"/>
    on_bad_files (`Literal["error", "warn", "skip"]`, *optional*, defaults to "error")
        Specify what to do upon encountering a bad file (a file that can't be read). Allowed values are :
        * 'error', raise an Exception when a bad file is encountered.
        * 'warn', raise a warning when a bad file is encountered and skip that file.
        * 'skip', skip bad files without raising or warning when they are encountered.

        <Added version="4.2.0"/>
    **kwargs (additional keyword arguments):
        Keyword arguments to be passed to [`ParquetConfig`].

Returns:
    [`IterableDataset`]

Example:

```py
>>> ds = IterableDataset.from_parquet('path/to/dataset.parquet')
```

Load a subset of columns:

```python
>>> ds = IterableDataset.from_parquet('path/to/dataset.parquet', columns=["col_0", "col_1"])
```

Efficiently filter data, possibly skipping entire files or row groups:

```python
>>> filters = [("col_0", "==", 0)]
>>> ds = IterableDataset.from_parquet(parquet_files_list, filters=filters)
```
)ÚParquetDatasetReaderr	  rÝ   r¡  rã  rl  Tr¯  r°  r±  )Ú
io.parquetr¹  rn  )
r   r	  rÝ   r¡  rã  r¯  r°  r±  r/  r¹  s
   &&&&&&&&, rP   Úfrom_parquetÚIterableDataset.from_parquet­  sy   € õL 	5á#Øñ
àð
ð ð
ð *ð	
ð
 ð
ð ð
ð ð
ð #8ð
ð &ð
ð ñ
÷ ‰$‹&ð	rR   c                ó–   <€ V ^8„  d   QhRS[ S[S[S[,          3,          RS[S[,          RS[S[,          RS[RS[RS[R	,          RR/# )
rT   r   r	  rÝ   r¡  Úkeep_linebreaksÚ	sample_byry   ré  )ÚlineÚ	paragraphÚdocument)r   rE   rh   r   r3   r!   r�   r>   )rZ   rÀ   s   "€rP   r[   r    sm   ø€ ÷ 1ñ 1Ù™X¡t©H¥~Ð5Õ6ð1á™
Õ#ð1ñ ™8Õ$ð1ñ ð	1ñ
 ð1ñ Ð:Õ;ð1ð 
ñ1rR   c                óT   € ^RI Hp V! V 3RVRVRVRRRVRV/VB P                  4       # )	a|  Create an IterableDataset from text file(s).

Args:
    path_or_paths (`path-like` or list of `path-like`):
        Path(s) of the text file(s).
    split (`NamedSplit`, *optional*):
        Split name to be assigned to the dataset.
    features (`Features`, *optional*):
        Dataset features.
    keep_in_memory (`bool`, defaults to `False`):
        Whether to copy the data in-memory.
    keep_linebreaks: (`bool`, defaults to False):
        Whether to keep line breaks.
    sample_by (`Literal["line", "paragraph", "document"]`, defaults to "line"):
        Whether to load data per line, praragraph or document.
        By default one row in the dataset = one line.
    **kwargs (additional keyword arguments):
        Keyword arguments to be passed to [`TextConfig`].

Returns:
    [`IterableDataset`]

Example:

```py
>>> ds = IterableDataset.from_text('path/to/dataset.txt')
```
)ÚTextDatasetReaderr	  rÝ   r¡  rl  Tr¾  r¿  )Úio.textrÄ  rn  )r   r	  rÝ   r¡  r¾  r¿  r/  rÄ  s   &&&&&&, rP   Ú	from_textÚIterableDataset.from_text  se   € õN 	/á Øñ	
àð	
ð ð	
ð *ð		
ð
 ð	
ð ,ð	
ð  ð	
ð ñ	
÷ ‰$‹&ð		rR   c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )rT   r   ry   ré  r¶  )rZ   rÀ   s   "€rP   r[   r  6  s#   ø€ ÷ 7
ñ 7
á‘s�mð7
ð 
ñ7
rR   c           	     óà   € \        V4      p\        V P                  V P                  P	                  4       V P
                  \        VR7      \        V P                  4      V P                  R7      # )a\  
Return a dataset with the specified format.

Args:

    type (`str`, *optional*):
        Either output type selected in `[None, 'numpy', 'torch', 'tensorflow', 'jax', 'arrow', 'pandas', 'polars']`.
        `None` means it returns python objects (default).

Example:

```py
>>> from datasets import load_dataset
>>> from transformers import AutoTokenizer
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="validation", streaming=True)
>>> tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")
>>> ds = ds.map(lambda x: tokenizer(x['text'], truncation=True, padding=True), batched=True)
>>> ds = ds.with_format("torch")
>>> next(iter(ds))
{'text': 'compassionately explores the seemingly irreconcilable situation between conservative christian parents and their estranged gay and lesbian children .',
 'label': tensor(1),
 'input_ids': tensor([  101, 18027, 16310, 16001,  1103,  9321,   178, 11604,  7235,  6617,
        1742,  2165,  2820,  1206,  6588, 22572, 12937,  1811,  2153,  1105,
        1147, 12890, 19587,  6463,  1105, 15026,  1482,   119,   102,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
            0,     0,     0,     0]),
 'token_type_ids': tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
 'attention_mask': tensor([1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
        1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])}
```
©rK  ©r±   r  r	  rB  r
  r¤  )
r/   ré  r  r'  r   Ú_splitrC  r   r  r  )rÆ   r   s   &&rP   Úwith_formatÚIterableDataset.with_format6  s[   € ôX *¨$Ó/ˆô Ø×)Ñ)Ø—‘—‘Ó"Ø—+‘+Ü'°DÔ9Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c                ó   <€ V ^8„  d   QhRS[ S[,          RS[RS[ S[S[S[S[,          3,          ,          RS[RS[ S[,          RS[RS[ S[S[S[S[,          3,          ,          RS[ S[,          R	S[ S[,          R
R/
# )rT   r<  r=  r>  r?  rš   r›   r@  rÝ   rA  ry   ré  ©	r   r   r�   r   rY   rh   rs   r!   rX   )rZ   rÀ   s   "€rP   r[   r  o  s±   ø€ ÷ ]
ñ ]
á™8Õ$ð]
ñ ð]
ñ  ¡¡c©4±­9 nÕ 5Õ6ð	]
ñ
 ð]
ñ ™S•Mð]
ñ ð]
ñ !¡¡s©D±­I ~Õ!6Õ7ð]
ñ ™8Õ$ð]
ñ ™D•>ð]
ð 
ñ]
rR   c
                ó6   € V P                  VVVVVVVVV	R7	      # )a’  
Apply a function to all the examples in the iterable dataset (individually or in batches) and update them.
If your function returns a column that already exists, then it overwrites it.
The function is applied on-the-fly on the examples when iterating over the dataset.

You can specify whether the function should be batched or not with the `batched` parameter:

- If batched is `False`, then the function takes 1 example in and should return 1 example.
  An example is a dictionary, e.g. `{"text": "Hello there !"}`.
- If batched is `True` and `batch_size` is 1, then the function takes a batch of 1 example as input and can return a batch with 1 or more examples.
  A batch is a dictionary, e.g. a batch of 1 example is {"text": ["Hello there !"]}.
- If batched is `True` and `batch_size` is `n` > 1, then the function takes a batch of `n` examples as input and can return a batch with `n` examples, or with an arbitrary number of examples.
  Note that the last batch may have less than `n` examples.
  A batch is a dictionary, e.g. a batch of `n` examples is `{"text": ["Hello there !"] * n}`.

If the function is asynchronous, then `map` will run your function in parallel, with up to one thousand simulatenous calls.
It is recommended to use a `asyncio.Semaphore` in your function if you want to set a maximum number of operations that can run at the same time.

Args:
    function (`Callable`, *optional*, defaults to `None`):
        Function applied on-the-fly on the examples when you iterate on the dataset.
        It must have one of the following signatures:

        - `function(example: Dict[str, Any]) -> Dict[str, Any]` if `batched=False` and `with_indices=False`
        - `function(example: Dict[str, Any], idx: int) -> Dict[str, Any]` if `batched=False` and `with_indices=True`
        - `function(batch: Dict[str, List]) -> Dict[str, List]` if `batched=True` and `with_indices=False`
        - `function(batch: Dict[str, List], indices: List[int]) -> Dict[str, List]` if `batched=True` and `with_indices=True`

        For advanced usage, the function can also return a `pyarrow.Table`.
        If the function is asynchronous, then `map` will run your function in parallel.
        Moreover if your function returns nothing (`None`), then `map` will run your function and return the dataset unchanged.
        If no function is provided, default to identity function: `lambda x: x`.
    with_indices (`bool`, defaults to `False`):
        Provide example indices to `function`. Note that in this case the signature of `function` should be `def function(example, idx[, rank]): ...`.
    input_columns (`Optional[Union[str, List[str]]]`, defaults to `None`):
        The columns to be passed into `function`
        as positional arguments. If `None`, a dict mapping to all formatted columns is passed as one argument.
    batched (`bool`, defaults to `False`):
        Provide batch of examples to `function`.
    batch_size (`int`, *optional*, defaults to `1000`):
        Number of examples per batch provided to `function` if `batched=True`.
        `batch_size <= 0` or `batch_size == None` then provide the full dataset as a single batch to `function`.
    drop_last_batch (`bool`, defaults to `False`):
        Whether a last batch smaller than the batch_size should be
        dropped instead of being processed by the function.
    remove_columns (`[List[str]]`, *optional*, defaults to `None`):
        Remove a selection of columns while doing the mapping.
        Columns will be removed before updating the examples with the output of `function`, i.e. if `function` is adding
        columns with names in `remove_columns`, these columns will be kept.
    features (`[Features]`, *optional*, defaults to `None`):
        Feature types of the resulting dataset.
    fn_kwargs (`Dict`, *optional*, default `None`):
        Keyword arguments to be passed to `function`.

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> def add_prefix(example):
...     example["text"] = "Review: " + example["text"]
...     return example
>>> ds = ds.map(add_prefix)
>>> list(ds.take(3))
[{'label': 1,
 'text': 'Review: the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'Review: the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'Review: effective but too-tepid biopic'}]
```
)	r<  r=  r>  r?  rš   r›   r@  rÝ   rA  )Ú_map)
rÆ   r<  r=  r>  r?  rš   r›   r@  rÝ   rA  s
   &&&&&&&&&&rP   ÚmapÚIterableDataset.mapo  s6   € ðf �y‰yØØ%Ø'ØØ!Ø+Ø)ØØð ó 

ð 
	
rR   c                ó  <€ V ^8„  d   QhRS[ S[,          RS[RS[ S[S[S[S[,          3,          ,          RS[RS[ S[,          RS[RS[ S[S[S[S[,          3,          ,          RS[ S[,          R	S[ S[,          R
S[RR/# )rT   r<  r=  r>  r?  rš   r›   r@  rÝ   rA  rE  ry   ré  rÐ  )rZ   rÀ   s   "€rP   r[   r  Î  s¼   ø€ ÷ U
ñ U
á™8Õ$ðU
ñ ðU
ñ  ¡¡c©4±­9 nÕ 5Õ6ð	U
ñ
 ðU
ñ ™S•MðU
ñ ðU
ñ !¡¡s©D±­I ~Õ!6Õ7ðU
ñ ™8Õ$ðU
ñ ™D•>ðU
ñ 37ðU
ð 
ñU
rR   c                ó¶  € \        V\        4      '       d   V.p\        V\        4      '       d   V.pVf   \        pV	f   / p	Ve   \        V4      pV P                  pVP
                  '       d@   V P                  P                  e&   V P                  P                  VP                  8X  d   R MV P                  P                  pV P                  '       dc   V P                  P                  '       dG   \        V\        V P                  4      VV P                  R7      p\        TV'       d   TM^VRR7      pMŸV P                  P                  '       d=   V P                  '       g	   V'       d#   \        V P                  V'       d   TM^VR7      pV P                  '       g	   V'       d.   \        V\        V P                  4      VV P                  RR7      p\        VVVVVVVVV	V P                  VV
R7      pV P                   P#                  4       pW�n        \%        VVV P&                  V P                  \        V P(                  4      V P                  R7      # )Nr\  Tr[  r­  )rB  rÝ   r¤  r»  )r<  r=  r>  r?  rš   r›   r@  rA  rB  rÝ   rE  rË  )r  rY   rQ   r'   r  rÙ   r'  rÝ   r  rJ  r¹  r   r  r‹  rÒ   r:  r  r   ré  rÌ  r  )rÆ   r<  r=  r>  r?  rš   r›   r@  rÝ   rA  rE  r±   Úinput_featuresr  s   &&&&&&&&&&&   rP   rÒ  ÚIterableDataset._mapÎ  s  € ô �m¤S×)Ò)Ø*˜OˆMÜ�n¤c×*Ò*Ø,Ð-ˆNØÒÜ$ˆHØÒØˆIØÒÜ<¸XÓFˆHà×'Ñ'ˆð ×$×$Ð$¨$¯*©*×*=Ñ*=Ò*EÈÏÉ×I\ÑI\Ð`k×`tÑ`tÔItñ à—‘×$Ñ$ð 	ð ××Ð × 0Ñ 0× 9× 9Ð 9ä3ØÜ# D×$4Ñ$4Ó5Ø'Ø"&×"9Ñ"9ô	ˆKô 9Øß)0™:°aØ /Ø'+ô	‰Kð × Ñ ×+×+Ð+Ø×#×#Ð#§~Ü"@Ø×)Ñ)ÇG±jÐQRÐdsô#�Kð ××Ð§>ä7ØÜ'¨×(8Ñ(8Ó9Ø+Ø&*×&=Ñ&=Ø,0ô�ô -ØØØ%Ø'ØØ!Ø+Ø)ØØ×'Ñ'ØØ5]ô
ˆð �y‰y�~‰~ÓˆØ ŒÜØ#ØØ—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c                ó¢   <€ V ^8„  d   QhRS[ S[,          RS[ S[S[S[S[,          3,          ,          RS[RS[ S[,          RS[ S[,          RR/# )rT   r<  r>  r?  rš   rA  ry   ré  )r   r   r   rY   rh   r�   rs   rX   )rZ   rÀ   s   "€rP   r[   r  %  sn   ø€ ÷ S
ñ S
á™8Õ$ðS
ñ  ¡¡c©4±­9 nÕ 5Õ6ð	S
ñ
 ðS
ñ ™S•MðS
ñ ™D•>ðS
ð 
ñS
rR   c                ó$  € \        V\        4      '       d   V.pV P                  pV P                  P                  '       g   V P
                  '       dV   \        TV P
                  VP                  '       d   VP                  MV P                  P                  V P                  R7      p\        VVVVVVVV P
                  R7      p\        VV P                  V P                  V P
                  \        V P                  4      V P                  R7      # )a­	  Apply a filter function to all the elements so that the dataset only includes examples according to the filter function.
The filtering is done on-the-fly when iterating over the dataset.

If the function is asynchronous, then `filter` will run your function in parallel, with up to one thousand simulatenous calls (configurable).
It is recommended to use a `asyncio.Semaphore` in your function if you want to set a maximum number of operations that can run at the same time.

Args:
    function (`Callable`):
        Callable with one of the following signatures:

        - `function(example: Dict[str, Any]) -> bool` if `with_indices=False, batched=False`
        - `function(example: Dict[str, Any], indices: int) -> bool` if `with_indices=True, batched=False`
        - `function(example: Dict[str, List]) -> List[bool]` if `with_indices=False, batched=True`
        - `function(example: Dict[str, List], indices: List[int]) -> List[bool]` if `with_indices=True, batched=True`

        If the function is asynchronous, then `filter` will run your function in parallel.
        If no function is provided, defaults to an always True function: `lambda x: True`.
    with_indices (`bool`, defaults to `False`):
        Provide example indices to `function`. Note that in this case the signature of `function` should be `def function(example, idx): ...`.
    input_columns (`str` or `List[str]`, *optional*):
        The columns to be passed into `function` as
        positional arguments. If `None`, a dict mapping to all formatted columns is passed as one argument.
    batched (`bool`, defaults to `False`):
        Provide batch of examples to `function`.
    batch_size (`int`, *optional*, default `1000`):
        Number of examples per batch provided to `function` if `batched=True`.
    fn_kwargs (`Dict`, *optional*, default `None`):
        Keyword arguments to be passed to `function`.

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> ds = ds.filter(lambda x: x["label"] == 0)
>>> list(ds.take(3))
[{'label': 0, 'movie_review': 'simplistic , silly and tedious .'},
 {'label': 0,
 'movie_review': "it's so laddish and juvenile , only teenage boys could possibly find it funny ."},
 {'label': 0,
 'movie_review': 'exploitative and largely devoid of the depth or sophistication that would make watching such a graphic treatment of the crimes bearable .'}]
```
r\  rê  rË  )r  rY   r  r'  rÝ   r  r¹  rÙ   r  rÛ  ré  rÌ  r   r  )rÆ   r<  r=  r>  r?  rš   rA  r±   s   &&&&&&& rP   ræ  ÚIterableDataset.filter%  sê   € ôh �m¤S×)Ò)Ø*˜OˆMð ×'Ñ'ˆØ�:‰:××Ð $×"2×"2Ð"2Ü3ØØ×+Ñ+Ø1<×1E×1EÐ1E˜×-Ò-È4Ï:É:×K^ÑK^Ø"&×"9Ñ"9ô	ˆKô /ØØØ%Ø'ØØ!ØØ×'Ñ'ô	
ˆô Ø#Ø—‘Ø—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c                óh   <€ V ^8„  d   QhRS[ S[P                  P                  ,          RS[RS[RR/# )rT   rà   rø  Úmax_buffer_input_shardsry   ré  )r   râ   rã   rä   rs   )rZ   rÀ   s   "€rP   r[   r  z  sJ   ø€ ÷ `
ñ `
ñ ™BŸI™I×/Ñ/Õ0ð`
ñ ð	`
ñ
 "%ð`
ð 
ñ`
rR   c           
     ó~  € Vf!   \         P                  P                  V4      pM\        V4      pV P                  p VP                  V4      pVP                  '       d   \        V^R7      pV^8”  dM   \        VP                  V4      p\        \        V4       Uu. uF  pVP                  WgR7      NK  	  upRR7      p\        WSVR7      p\        VV P                   P#                  4       V P$                  V P&                  \        V P(                  4      V P*                  R7      #   \         d    ^p Lèi ; iu upi )a
  
Randomly shuffles the elements of this dataset.

This dataset fills a buffer with `buffer_size` elements, then randomly samples elements from this buffer,
replacing the selected elements with new elements. For perfect shuffling, a buffer size greater than or
equal to the full size of the dataset is required.

For instance, if your dataset contains 10,000 elements but `buffer_size` is set to 1000, then `shuffle` will
initially select a random element from only the first 1000 elements in the buffer. Once an element is
selected, its space in the buffer is replaced by the next (i.e. 1,001-st) element,
maintaining the 1000 element buffer.

If the dataset is made of several shards, it fills the buffer using up to `max_buffer_input_shards` shards
at a time and also does shuffle the order of the shards. This greatly improves the quality of the shuffling.

However if the order has been fixed by using [`~datasets.IterableDataset.skip`]
or [`~datasets.IterableDataset.take`] then the order of the shards is kept unchanged and only one shard at
a time is used to fill the buffer.

Args:
    seed (`int`, *optional*, defaults to `None`):
        Random seed that will be used to shuffle the dataset.
        It is used to sample from the shuffle buffer and also to shuffle the data shards.
    generator (`numpy.random.Generator`, *optional*):
        Numpy random Generator to use to compute the permutation of the dataset rows.
        If `generator=None` (default), uses `np.random.default_rng` (the default BitGenerator (PCG64) of NumPy).
    buffer_size (`int`, defaults to `1000`):
        Size of the buffer.
    max_buffer_input_shards (`int`, defaults to `101000`):
        Maximum number of shards to use to feed the buffer at a time.

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> list(ds.take(3))
[{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .',
 'label': 1},
 {'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .',
 'label': 1},
 {'text': 'effective but too-tepid biopic', 'label': 1}]
>>> shuffled_ds = ds.shuffle(seed=42)
>>> list(shuffled_ds.take(3))
[{'text': "a sports movie with action that's exciting on the field and a story you care about off it .",
 'label': 1},
 {'text': 'at its best , the good girl is a refreshingly adult take on adultery . . .',
 'label': 1},
 {'text': "sam jones became a very lucky filmmaker the day wilco got dropped from their record label , proving that one man's ruin may be another's fortune .",
 'label': 1}]
>>> resharded_ds = ds.reshard()  # useful to shard Parquet datasets by row group instead of by file, improving shuffling quality on dataset with one or few files.
>>> shuffled_resharded_ds = resharded_ds.shuffle(seed=42)
>>> list(shuffled_resharded_ds.take(3))
[{'text': 'this mistaken-identity picture is so film-culture referential that the final product is a ghost .',
 'label': 0},
 {'text': 'woody allen used to ridicule movies like hollywood ending . now he makes them .',
 'label': 0},
 {'text': "not only is undercover brother as funny , if not more so , than both austin powers films , but it's also one of the smarter , savvier spoofs to come along in some time .",
 'label': 1}]
```
r©  r§  r-  r  r  )r  r	  rB  r
  r¤  )râ   rã   r  r   r  rç   r'  rÒ   r‹  rú   rê   r'  r“   rð   rö  ré  r'  r   rÌ  r  r  r  )rÆ   r  rà   rø  rÝ  r±   Únum_shards_to_interleaverë   s   &&&&&   rP   r¨  ÚIterableDataset.shufflez  s1  € ðH ÒÜŸ	™	×-Ñ-¨dÓ3‰Iä  Ó+ˆIØ×'Ñ'ˆð	(Ø%×:Ñ:¸9ÓEˆKð ×!×!Ð!Ü8¸ÐQRÔSˆKØ" QÔ&Ü'*¨;×+AÑ+AÐCZÓ'[Ð$Ü=ô "'Ð'?Ô!@óá!@˜ð  ×2Ñ2Ð>VÐ2ÖdÙ!@ñð #FôˆKô 5°[ÐenÔoˆÜØØ—‘—‘Ó"Ø—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
øô .ô 	(Ø&'Ò#ð	(üòs   ½D' ÂD:Ä'D7Ä6D7c                ó    <€ V ^8„  d   QhRS[ /# )rT   r7  r´   )rZ   rÀ   s   "€rP   r[   r  Ü  s   ø€ ÷ +ñ +™sñ +rR   c                óX   € V ;P                   WP                   ,
          ,          un         R # rM   )r  )rÆ   r7  s   &&rP   Ú	set_epochÚIterableDataset.set_epochÜ  s   € Ø�Š�uŸ{™{Õ*Õ*�rR   c                ó$   <€ V ^8„  d   QhRS[ RR/# ©rT   r,  ry   ré  r´   )rZ   rÀ   s   "€rP   r[   r  ß  s   ø€ ÷ (
ñ (
‘cð (
Ð/ñ (
rR   c           	     óþ   € \        V P                  VV P                  RJ R7      p\        VV P                  P                  4       V P                  V P                  \        V P                  4      V P                  R7      # )a
  
Create a new [`IterableDataset`] that skips the first `n` elements.

Args:
    n (`int`):
        Number of elements to skip.

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> list(ds.take(3))
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
>>> ds = ds.skip(1)
>>> list(ds.take(3))
[{'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'},
 {'label': 1,
 'text': 'if you sometimes like to go to the movies to have fun , wasabi is a good place to start .'}]
```
N©r.  rË  )
r)  r  r  ré  r'  r   rÌ  r  r   r  ©rÆ   r,  r±   s   && rP   r´  ÚIterableDataset.skipß  so   € ô8 +Ø×ÑØØ $× 1Ñ 1°TÐ 9ô
ˆô
 Ø#Ø—‘—‘Ó"Ø—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c                ó4   <€ V ^8„  d   QhRS[ S[,          RR/# )rT   rh  ry   ré  rã  )rZ   rÀ   s   "€rP   r[   r  	  s    ø€ ÷ (
ñ (
¡©¥ð (
Ð2Cñ (
rR   c           	     óÄ   € \        \        V P                  VR7      V P                  V P                  V P
                  \        V P                  4      V P                  R7      # )až  
Create a new [`IterableDataset`] that repeats the underlying dataset `num_times` times.

N.B. The effect of calling shuffle after repeat depends significantly on buffer size.
With buffer_size 1, duplicate data is never seen in the same iteration, even after shuffling:
ds.repeat(n).shuffle(seed=42, buffer_size=1) is equivalent to ds.shuffle(seed=42, buffer_size=1).repeat(n),
and only shuffles shard orders within each iteration.
With buffer size >= (num samples in the dataset * num_times), we get full shuffling of the repeated data, i.e. we can observe duplicates in
the same iteration.

Args:
    num_times (`int`) or (`None`):
        Number of times to repeat the dataset. If `None`, the dataset will be repeated indefinitely.

Example:
```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train")
>>> ds = ds.take(2).repeat(2)
>>> list(ds)
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'},
 {'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'},
 {'label': 1, 'text': 'effective but too-tepid biopic'}]
```
ru  rË  )	ré  rf  r  r'  rÌ  r  r   r  r  )rÆ   rh  s   &&rP   ÚrepeatÚIterableDataset.repeat	  sP   € ôB Ü.¨t×/@Ñ/@ÈIÔVØ—‘Ø—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c                ó$   <€ V ^8„  d   QhRS[ RR/# ræ  r´   )rZ   rÀ   s   "€rP   r[   r  3  s   ø€ ÷ !
ñ !
‘cð !
Ð/ñ !
rR   c           	     óþ   € \        V P                  VV P                  RJ R7      p\        VV P                  P                  4       V P                  V P                  \        V P                  4      V P                  R7      # )a  
Create a new [`IterableDataset`] with only the first `n` elements.

Args:
    n (`int`):
        Number of elements to take.

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> small_ds = ds.take(2)
>>> list(small_ds)
[{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'},
 {'label': 1,
 'text': 'the gorgeously elaborate continuation of " the lord of the rings " trilogy is so huge that a column of words cannot adequately describe co-writer/director peter jackson's expanded vision of j . r . r . tolkien's middle-earth .'}]
```
Nrè  rË  )
r�  r  r  ré  r'  r   rÌ  r  r   r  ré  s   && rP   r  ÚIterableDataset.take3  so   € ô* +Ø×ÑØØ $× 1Ñ 1°TÐ 9ô
ˆô
 Ø#Ø—‘—‘Ó"Ø—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c                ó0   <€ V ^8„  d   QhRS[ RS[ RS[RR/# )rT   rê   rë   rï   ry   ré  rc  )rZ   rÀ   s   "€rP   r[   r  V  s3   ø€ ÷ 6
ñ 6
áð6
ñ ð6
ñ ð	6
ð
 
ñ6
rR   c           	     óð   € V P                   P                  WVR7      p\        VV P                  P	                  4       V P
                  V P                  \        V P                  4      V P                  R7      # )aA  Return the `index`-nth shard from dataset split into `num_shards` pieces.

This shards deterministically. `dataset.shard(n, i)` splits the dataset into contiguous chunks,
so it can be easily concatenated back together after processing. If `dataset.num_shards % n == l`, then the
first `l` datasets each have `(dataset.num_shards // n) + 1` shards, and the remaining datasets have `(dataset.num_shards // n)` shards.
`datasets.concatenate_datasets([dset.shard(n, i) for i in range(n)])` returns a dataset with the same order as the original.
In particular, `dataset.shard(dataset.num_shards, i)` returns a dataset with 1 shard.

Note: n should be less or equal to the number of shards in the dataset `dataset.num_shards`.

On the other hand, `dataset.shard(n, i, contiguous=False)` contains all the shards of the dataset whose index mod `n = i`.

Be sure to shard before using any randomizing operator (such as `shuffle`).
It is best if the shard operator is used early in the dataset pipeline.

Args:
    num_shards (`int`):
        How many shards to split the dataset into.
    index (`int`):
        Which shard to select and return.
    contiguous: (`bool`, defaults to `True`):
        Whether to select contiguous blocks of indices for shards.

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("fancyzhx/amazon_polarity", split="train", streaming=True)
>>> ds
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 4
})
>>> ds.shard(num_shards=2, index=0)
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 2
})
```
rF  rË  )
r  rð   ré  r'  r   rÌ  r  r   r  r  )rÆ   rê   rë   rï   r±   s   &&&& rP   ÚshardÚIterableDataset.shardV  sf   € ð\ ×'Ñ'×:Ñ:ÀjÐjtÐ:ÓuˆÜØ#Ø—‘—‘Ó"Ø—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c                ó   <€ V ^8„  d   QhRR/# )rT   ry   ré  rN   )rZ   rÀ   s   "€rP   r[   r  Ž  s   ø€ ÷ &
ñ &
Ð*ñ &
rR   c           	     óê   € V P                   P                  4       p\        VV P                  P	                  4       V P
                  V P                  \        V P                  4      V P                  R7      # )a�  Reshard the dataset if possible, i.e. split the current shards further into more shards.
This increases the number of shards and the resulting dataset has num_shards >= previous_num_shards.
Equality may happen if no shard can be split further.

The resharding mechanism depends on the dataset file format:

* Parquet: shard per row group instead of per file
* Other: not implemented yet (contributions are welcome !)

Be sure to reshard/shard before using any randomizing operator (such as `shuffle`).
It is best if the shard operator is used early in the dataset pipeline.

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("fancyzhx/amazon_polarity", split="train", streaming=True)
>>> ds
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 4
})
>>> ds.reshard()
IterableDataset({
    features: ['label', 'title', 'content'],
    num_shards: 3600
})
```
rË  )
r  rô   ré  r'  r   rÌ  r  r   r  r  rJ  s   & rP   ÚreshardÚIterableDataset.reshardŽ  s]   € ð< ×'Ñ'×<Ñ<Ó>ˆÜØ#Ø—‘—‘Ó"Ø—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c                óT   <€ V ^8„  d   QhRS[ RS[S[S[P                  3,          RR/# )rT   rq   rr   ry   ré  )rY   r   rh   râ   r–   )rZ   rÀ   s   "€rP   r[   r  ¶  s5   ø€ ÷ 
]ñ 
]™sð 
]©E±$¹¿¹°.Õ,Að 
]ÐFWñ 
]rR   c                óF   € V P                  \        \        WR7      RR7      # )z“Add column to Dataset.

Args:
    name (str): Column name.
    column (list or np.array): Column data to be added.

Returns:
    `IterableDataset`
)rq   rr   T)r=  )rÓ  r	   ru   )rÆ   rq   rr   s   &&&rP   Ú
add_columnÚIterableDataset.add_column¶  s   € ð �x‰xœ¤°DÔHÐW[ˆxÓ\Ð\rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rl   rm   ry   ré  r£   )rZ   rÀ   s   "€rP   r[   r  Â  s(   ø€ ÷ Lñ L±#ð LÉð LÐPañ LrR   c                ó&   € V P                  W/4      # )aâ  
Rename a column in the dataset, and move the features associated to the original column under the new column
name.

Args:
    original_column_name (`str`):
        Name of the column to rename.
    new_column_name (`str`):
        New name for the column.

Returns:
    `IterableDataset`: A copy of the dataset with a renamed column.

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> next(iter(ds))
{'label': 1,
 'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
>>> ds = ds.rename_column("text", "movie_review")
>>> next(iter(ds))
{'label': 1,
 'movie_review': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```
)Úrename_columns)rÆ   rl   rm   s   &&&rP   Úrename_columnÚIterableDataset.rename_columnÂ  s   € ð8 ×"Ñ"Ð$8Ð#JÓKÐKrR   c                ó:   <€ V ^8„  d   QhRS[ S[S[3,          RR/# )rT   rV   ry   ré  rW   )rZ   rÀ   s   "€rP   r[   r  à  s$   ø€ ÷ ñ ©T±#±s°(­^ð Ð@Qñ rR   c           	     ó¦  € V P                   P                  '       d%   V P                   P                  P                  4       MRpV P                  \	        \
        VR7      \        V4      R7      pVeZ   \        VP                  4        UUu/ uF$  w  rEWAP                  4       9   d	   W,          MTVbK&  	  upp4      VP                   n        V# u uppi )a)  
Rename several columns in the dataset, and move the features associated to the original columns under
the new column names.

Args:
    column_mapping (`Dict[str, str]`): A mapping of columns to rename to their new names

Returns:
    `IterableDataset`: A copy of the dataset with renamed columns
N)rV   r{  )
r'  rÝ   r   rÓ  r	   rn   rh   r!   rk   r­   )rÆ   rV   Úoriginal_featuresÚds_iterabler`   Úfeatures   &&    rP   r   ÚIterableDataset.rename_columnsà  s¿   € ð ;?¿*¹*×:M×:MÐ:M˜DŸJ™J×/Ñ/×4Ñ4Ô6ÐSWÐØ—h‘hÜÔ&°~ÔFÔW[Ð\jÓWkð ó 
ˆð Ò(Ü)1ð ):×(?Ñ(?Ô(Aôá(A™˜ð ,/×2EÑ2EÓ2GÔ+G�NÖ'ÈSÐRYÒYÙ(Aòó*ˆK×ÑÔ&ð Ðùós   Â
*C
c                óJ   <€ V ^8„  d   QhRS[ S[S[S[,          3,          RR/# ©rT   rÕ  ry   ré  ©r   rY   rh   )rZ   rÀ   s   "€rP   r[   r  ù  s)   ø€ ÷ !ñ !©5±±d¹3µi°Õ+@ð !ÐEVñ !rR   c                ód  € V P                   P                  '       d%   V P                   P                  P                  4       MRpV P                  VR7      pVeX   VP                  4       VP                   n        VP	                  4        F$  w  rEWA9   g   K  VP                   P                  V K&  	  V# )aÎ  
Remove one or several column(s) in the dataset and the features associated to them.
The removal is done on-the-fly on the examples when iterating over the dataset.


Args:
    column_names (`Union[str, List[str]]`):
        Name of the column(s) to remove.

Returns:
    `IterableDataset`: A copy of the dataset object without the columns to remove.

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .', 'label': 1}
>>> ds = ds.remove_columns("label")
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```
Nr{  )r'  rÝ   r   rÓ  rk   )rÆ   rÕ  r  r  r`   r¡   s   &&    rP   r@  ÚIterableDataset.remove_columnsù  s“   € ð2 ;?¿*¹*×:M×:MÐ:M˜DŸJ™J×/Ñ/×4Ñ4Ô6ÐSWÐØ—h‘h¨l�hÓ;ˆØÒ(Ø):×)?Ñ)?Ó)AˆK×ÑÔ&Ø+×1Ñ1Ö3‘�ØÖ&Ø#×)Ñ)×2Ñ2°3Ò7ñ 4ð ÐrR   c                óJ   <€ V ^8„  d   QhRS[ S[S[S[,          3,          RR/# r
  r  )rZ   rÀ   s   "€rP   r[   r    s)   ø€ ÷ 0
ñ 0
©5±±d¹3µi°Õ+@ð 0
ÐEVñ 0
rR   c           	     óÒ  € \        V\        4      '       d   V.pV P                  '       dê   \        V P                  4      pV P                  P                  e½   \        V4      \        V P                  P                  P                  4       4      ,
          pV'       dG   \        R\        V4       R\        V P                  P                  P                  4       4       R24      h\        V Uu/ uF  qDVP                  V,          bK  	  up4      Vn        \        V P                  V4      p\        VXV P                  V P                  V P                  V P                   R7      # u upi )aÆ  Select one or several column(s) in the dataset and the features
associated to them. The selection is done on-the-fly on the examples
when iterating over the dataset.


Args:
    column_names (`Union[str, List[str]]`):
        Name of the column(s) to select.

Returns:
    `IterableDataset`: A copy of the dataset object with selected columns.

Example:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .', 'label': 1}
>>> ds = ds.select_columns("text")
>>> next(iter(ds))
{'text': 'the rock is destined to be the 21st century's new " conan " and that he's going to make a splash even greater than arnold schwarzenegger , jean-claud van damme or steven segal .'}
```
zColumn name z- not in the dataset. Columns in the dataset: rn  rË  )r  rY   r'  r   rÝ   rj   r­   rg   rh   r!   rÓ  r  ré  rÌ  r  r  r  )rÆ   rÕ  r  Úmissing_columnsrç  r±   s   &&    rP   Úselect_columnsÚIterableDataset.select_columns  s#  € ô2 �l¤C×(Ò(Ø(˜>ˆLà�:�:ˆ:Ü˜DŸJ™JÓ'ˆDØ�z‰z×"Ñ"Ò.Ü"% lÓ"3´c¸$¿*¹*×:MÑ:M×:RÑ:RÓ:TÓ6UÕ"U�ß"Ü$Ø&¤t¨OÓ'<Ð&=ð ><ä §
¡
× 3Ñ 3× 8Ñ 8Ó :Ó;Ð<¸Að?óð ô
 !)Á|Ó)TÁ|À!¨T¯]©]¸1Õ-=Ò*=Á|Ñ)TÓ U�”ä+¨D×,=Ñ,=¸|ÓLˆÜØ#ØØ—+‘+Ø×'Ñ'Ø×)Ñ)Ø"×5Ñ5ô
ð 	
ùò *Us   Ã-E$c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )rT   rr   r  ry   ré  )rY   r"   )rZ   rÀ   s   "€rP   r[   r  N  s#   ø€ ÷ ,
ñ ,
¡#ð ,
±ð ,
Ð@Qñ ,
rR   c           	     ó   € \        V4      pV P                  P                  4       pW#P                  V&   \	        V P
                  VV P                  V P                  \        V P                  4      V P                  R7      # )a]  Cast column to feature for decoding.

Args:
    column (`str`):
        Column name.
    feature (`Feature`):
        Target feature.

Returns:
    `IterableDataset`

Example:

```py
>>> from datasets import load_dataset, Audio
>>> ds = load_dataset("PolyAI/minds14", name="en-US", split="train", streaming=True)
>>> ds.features
{'audio': Audio(sampling_rate=8000, mono=True, decode=True, id=None),
 'english_transcription': Value('string'),
 'intent_class': ClassLabel(num_classes=14, names=['abroad', 'address', 'app_error', 'atm_limit', 'balance', 'business_loan',  'card_issues', 'cash_deposit', 'direct_debit', 'freeze', 'high_value_payment', 'joint_account', 'latest_transactions', 'pay_bill']),
 'lang_id': ClassLabel(num_classes=14, names=['cs-CZ', 'de-DE', 'en-AU', 'en-GB', 'en-US', 'es-ES', 'fr-FR', 'it-IT', 'ko-KR',  'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'zh-CN']),
 'path': Value('string'),
 'transcription': Value('string')}
>>> ds = ds.cast_column("audio", Audio(sampling_rate=16000))
>>> ds.features
{'audio': Audio(sampling_rate=16000, mono=True, decode=True, id=None),
 'english_transcription': Value('string'),
 'intent_class': ClassLabel(num_classes=14, names=['abroad', 'address', 'app_error', 'atm_limit', 'balance', 'business_loan',  'card_issues', 'cash_deposit', 'direct_debit', 'freeze', 'high_value_payment', 'joint_account', 'latest_transactions', 'pay_bill']),
 'lang_id': ClassLabel(num_classes=14, names=['cs-CZ', 'de-DE', 'en-AU', 'en-GB', 'en-US', 'es-ES', 'fr-FR', 'it-IT', 'ko-KR',  'nl-NL', 'pl-PL', 'pt-PT', 'ru-RU', 'zh-CN']),
 'path': Value('string'),
 'transcription': Value('string')}
```
rË  ©r'   r'  r   rÝ   ré  r  rÌ  r  r   r  r  )rÆ   rr   r  r  s   &&& rP   Úcast_columnÚIterableDataset.cast_columnN  sk   € ôD 8¸Ó@ˆØ�z‰z�‰Ó ˆØ '�‰�fÑÜØ×)Ñ)ØØ—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c                ó$   <€ V ^8„  d   QhRS[ RR/# )rT   rÝ   ry   ré  r    )rZ   rÀ   s   "€rP   r[   r  |  s   ø€ ÷ ,
ñ ,
áð,
ð 
ñ,
rR   c           	     óð   € \        V4      pV P                  P                  4       pWn        \	        V P
                  VV P                  V P                  \        V P                  4      V P                  R7      # )a  
Cast the dataset to a new set of features.

Args:
    features ([`Features`]):
        New features to cast the dataset to.
        The name of the fields in the features must match the current column names.
        The type of the data must also be convertible from one type to the other.
        For non-trivial conversion, e.g. `string` <-> `ClassLabel` you should use [`~Dataset.map`] to update the Dataset.

Returns:
    `IterableDataset`: A copy of the dataset with casted features.

Example:

```py
>>> from datasets import load_dataset, ClassLabel, Value
>>> ds = load_dataset("cornell-movie-review-data/rotten_tomatoes", split="train", streaming=True)
>>> ds.features
{'label': ClassLabel(names=['neg', 'pos']),
 'text': Value('string')}
>>> new_features = ds.features.copy()
>>> new_features["label"] = ClassLabel(names=["bad", "good"])
>>> new_features["text"] = Value("large_string")
>>> ds = ds.cast(new_features)
>>> ds.features
{'label': ClassLabel(names=['bad', 'good']),
 'text': Value('large_string')}
```
rË  r  ©rÆ   rÝ   r  s   && rP   ÚcastÚIterableDataset.cast|  sd   € ôD 9¸ÓBˆØ�z‰z�‰Ó ˆØ ŒÜØ×)Ñ)ØØ—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c                ó*   <€ V ^8„  d   QhRS[ RS[RR/# )rT   ÚenableÚnum_threadsry   ré  )r�   rs   )rZ   rÀ   s   "€rP   r[   r  ª  s(   ø€ ÷ [ñ [™Tð [±sð [ÐCTñ [rR   c                óà  € V P                   '       g   \        R4      hT pR R lpV'       Ed    V^ 8”  dù   V P                   P                  4       pV P                   P                  4       p\        V\	        VR4      4       \        V\	        VR4      4       VP                  V4      p\        P                  P                  V4      p\	        \        WvP                  4      pVP                  W†R7      p\        VP                  \        4      '       g   Q h^V,          VP                  n        V# VP                   P                  4       p	\        V	\	        WA4      4       VP                  V	4      pV# )aŒ  
Enable or disable the dataset features decoding for audio, image, video.

When enabled (default), media types are decoded:

* audio -> dict of "array" and "sampling_rate" and "path"
* image -> PIL.Image
* video -> torchcodec.decoders.VideoDecoder

You can enable multithreading using `num_threads`. This is especially useful to speed up remote
data streaming. However it can be slower than `num_threads=0` for local data on fast disks.

Disabling decoding is useful if you want to iterate on the paths or bytes of the media files
without actually decoding their content. To disable decoding you can use `.decode(False)`, which
is equivalent to calling `.cast()` or `.cast_column()` with all the Audio, Image and Video types
set to `decode=False`.

Args:
    enable (`bool`, defaults to `True`):
        Enable or disable features decoding.
    num_threads (`int`, defaults to `0`):
        Enable multithreading for features decoding.

Returns:
    `IterableDataset`: A copy of the dataset with casted features.

Examples:

Disable decoding:

```py
>>> from datasets import load_dataset
>>> ds = load_dataset("sshh12/planet-textures", split="train", streaming=True)
>>> next(iter(ds))
{'image': <PIL.PngImagePlugin.PngImageFile image mode=RGB size=2048x1024>,
'text': 'A distant celestial object with an icy crust, displaying a light blue shade, covered with round pits and rugged terrains.'}
>>> ds = ds.decode(False)
>>> ds.features
{'image': Image(mode=None, decode=False, id=None),
'text': Value('string')}
>>> next(iter(ds))
{
  'image': {
    'path': 'hf://datasets/sshh12/planet-textures@69dc4cef7a5c4b2cfe387727ec8ea73d4bff7302/train/textures/0000.png',
    'bytes': None
  },
  'text': 'A distant celestial object with an icy crust, displaying a light blue shade, covered with round pits and rugged terrains.'
}
```

Speed up streaming with multithreading:

```py
>>> import os
>>> from datasets import load_dataset
>>> from tqdm import tqdm
>>> ds = load_dataset("sshh12/planet-textures", split="train", streaming=True)
>>> num_threads = min(32, (os.cpu_count() or 1) + 4)
>>> ds = ds.decode(num_threads=num_threads)
>>> for _ in tqdm(ds):  # 20 times faster !
...     ...
```
zŸFeatures decoding is only available for datasets with known features, but features are Unknown. Please set the datasets features with `ds = ds.cast(features)`.c                ó$   € V ^8„  d   QhR\         /# )rT   ÚdecoderÖ   )rZ   s   "rP   r[   Ú,IterableDataset.decode.<locals>.__annotate__ñ  s   € ÷ 	(ñ 	(¤ñ 	(rR   c                 ó:   € \        VR 4      '       d	   Wn        R# R# )r"  N)r¹   r"  )r"  r  s   &&rP   Úset_decodingÚ,IterableDataset.decode.<locals>.set_decodingñ  s   € Ü�w ×)Ò)Ø!'–ñ *rR   FTrR  )rÝ   rg   r   r(   r	   r  ÚmultiprocessingÚpoolÚ
ThreadPoolÚ_apply_asyncr¨  rÓ  r  r  r:  rD  )
rÆ   r  r  Údsr%  Údisabled_decoding_featuresÚenabled_decoding_featuresr(  ÚfuncrÝ   s
   &&&       rP   r"  ÚIterableDataset.decodeª  s1  € ð@ �}�}ˆ}ÜðRóð ð ˆõ	(÷ ˆ6�k A”oØ)-¯©×);Ñ);Ó)=Ð&Ø(,¯©×(:Ñ(:Ó(<Ð%äÐ-¬w°|ÀUÓ/KÔLÜÐ,¬g°lÀDÓ.IÔJØ—‘Ð3Ó4ˆBÜ"×'Ñ'×2Ñ2°;Ó?ˆDÜœ<¨×/WÑ/WÓXˆDØ—‘˜�ÓAˆBÜ˜bŸo™oÔ/E×FÒFÐFÐFØNOÐR]ÍoˆB�O‰OÔKð
 ˆ	ð —{‘{×'Ñ'Ó)ˆHÜ�8œW \Ó:Ô;Ø—‘˜Ó"ˆBØˆ	rR   c                ó*   <€ V ^8„  d   QhRS[ RS[ RR/# )rT   rý  rþ  ry   ré  r´   )rZ   rÀ   s   "€rP   r[   r    s#   ø€ ÷ 	
ñ 	
™#ð 	
¡sð 	
Ð/@ñ 	
rR   c           	     óä   € \        V P                  WR 7      p\        VV P                  P	                  4       V P
                  V P                  \        V P                  4      V P                  R7      # )r  rË  )
rû  r  ré  r'  r   rÌ  r  r   r  r  )rÆ   rý  rþ  r±   s   &&& rP   Ú_stepÚIterableDataset._step  sY   € Ü*¨4×+<Ñ+<À4ÔWˆÜØ#Ø—‘—‘Ó"Ø—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c           	     ó°  € V P                   e   V # V P                  P                  '       d   V P                  P                   pM(\        V P	                  R 4      P                  4       4      pV P                  P                  4       pWn         \        V P                  VV P                  V P                  \        V P                  4      V P                  R7      # )NrË  )rÝ   r  rÙ   r…   rÍ  r3  r  r   ré  rÌ  r  r   r  r  r  s   &  rP   Ú_resolve_featuresÚ!IterableDataset._resolve_features  s§   € Ø�=‰=Ò$ØˆKØ×Ñ×'×'Ð'Ø×(Ñ(×1Ñ1‰Hä1°$×2BÑ2BÀ4Ó2H×2NÑ2NÓ2PÓQˆHØ�y‰y�~‰~ÓˆØ ŒÜØ×)Ñ)ØØ—+‘+Ø×'Ñ'Ü  ×!2Ñ!2Ó3Ø"×5Ñ5ô
ð 	
rR   c                óv   <€ V ^8„  d   QhRS[ S[,          RS[ S[S[S[S[,          3,          ,          RS[RR/# )rT   rš   Ú	by_columnr›   ry   ré  )r   rs   r   rY   rh   r�   )rZ   rÀ   s   "€rP   r[   r  $  sO   ø€ ÷ A
ñ A
á™S•MðA
ñ ™E¡#¡t©C¥y .Õ1Õ2ðA
ñ ð	A
ð
 
ñA
rR   c           
     ó.  € Vf   Vf   \        R4      hV P                  '       dC   \        V P                  P                  4        UUu/ uF  w  rEV\	        V4      bK  	  upp4      pMRpVe‘   \        V\        4      '       d   V.MTpV P                  R4      P                  \        \        VR7      RRVVVRR7      P                  V P                  '       d   V P                  P                  4      pV# R4      pV# V P                  '       di   V P                  P                  '       dM   V P                  R4      P                  \        RVVVR7      P                  V P                  P                  4      # V P                  \         RWVR7      # u uppi )a/  
Group samples from the dataset into batches.

Args:
    batch_size (`int`, optional):
        The number of samples in each batch.
    by_column (`Union[str, list[str]`, optional):
        The column used to batch examples together.
        Successive examples with the same value for that column are in grouped the same batch.
        This can also be a list of columns if you want to batch by multiple columns.
        If batching by column, the batch_size is only used to control the size of the batches
        to group together or slice during acculumation.

        <Added version="4.9.0"/>
    drop_last_batch (`bool`, defaults to `False`):
        Whether to drop the last incomplete batch.

Example:
```py
>>> ds = load_dataset("some_dataset", streaming=True)
>>> batched_ds = ds.batch(batch_size=32)
```
NzDIterableDataset.batch() misses `batch_size` or `by_column` argument.Úarrow)rã  T)r=  r?  rš   r›   rÝ   rE  )r?  rš   r›   rÝ   )rg   rÝ   r!   rk   r#   r  rY   rÍ  rÒ  r	   r6   r  rK  rJ  rÓ  r7   Ú	_batch_fn)	rÆ   rš   r8  r›   r`   r  rÝ   rã  r+  s	   &&&&     rP   rw   ÚIterableDataset.batch$  s„  € ð: Ò )Ò"3ÜÐcÓdÐdØ�=�=ˆ=ÜÈÏÉ×H[ÑH[ÔH]Ô ^ÑH]¹¸ ¤d¨7£mÒ!3ÑH]Ò ^Ó_‰HàˆHØÒ Ü%/°	¼3×%?Ò%?�y‘kÀYˆGà× Ñ  Ó)ß‘ÜÔDÈgÔVØ!%Ø Ø)Ø$3Ø%Ø=Að ó ÷ ‘¸T×=M×=MÐ=M˜T×-Ñ-×9Ñ9ÓXð ð ˆIð TXÓXð ð ˆIØ××Ð × 0Ñ 0× 9× 9Ð 9à× Ñ  Ó)ß‘Ü&Ø Ø)Ø$3Ø%ð ó ÷ ‘˜T×-Ñ-×9Ñ9Ó:ð
ð �x‰xÜ˜t°
Ðfnð ó 
ð 	
ùó? !_s   ÁF
c          	      ób   <€ V ^8„  d   QhRS[ S[,          RS[RS[S[S[S[,          3,          /# ©rT   rš   r?  ry   )r   rs   r�   r   rX   r   )rZ   rÀ   s   "€rP   r[   r  g  s>   ø€ ÷ Añ A¡(©3¥-ð AÁð AÑRWÑX\Ñ^fÑgkÕ^lÐXlÕRmñ ArR   c              #  óZ  "  € V'       dH   V P                  R4      P                  VR7       F   p\        VRR7      P                  4       x € K"  	  R# \        P
                  ! \        V P                  R4      P                  RR7      4      4      p\        VRR7      P                  4       # 5i)aO  Returns the dataset as a Python dict. Can also return a generator for large datasets.

Args:
    batch_size (`int`, *optional*): The size (number of rows) of the batches if `batched` is `True`.
        Defaults to `datasets.config.DEFAULT_MAX_BATCH_SIZE`.

Returns:
    `dict` or `Iterator[dict]`

Example:

```py
>>> ds.to_dict()
```
r:  r©  Úunset©Úfingerprintr  N)rÍ  r’   r   Úto_dictr{   r³  rh   )rÆ   rš   r?  ré  s   &&& rP   rC  ÚIterableDataset.to_dictg  s‹   é € ÷  Ø×)Ñ)¨'Ó2×7Ñ7À:Ð7ÖN�Ü˜e°Ô9×AÑAÓCÔCó Oô ×$Ò$¤T¨$×*:Ñ*:¸7Ó*C×*HÑ*HÐTXÐ*HÓ*YÓ%ZÓ[ˆEÜ˜5¨gÔ6×>Ñ>Ó@Ð@ùs   ‚B)B+c                ó    <€ V ^8„  d   QhRS[ /# rÊ   )rh   )rZ   rÀ   s   "€rP   r[   r  ~  s   ø€ ÷ =ñ =™ñ =rR   c                ó´   € \         P                  ! \        V P                  R4      P	                  RR7      4      4      p\        VRR7      P                  4       # )zaReturns the dataset as a Python list.

Returns:
    `list`

Example:

```py
>>> ds.to_list()
```
r:  r  r©  r@  rA  )r{   r³  rh   rÍ  r’   r   Úto_list)rÆ   ré  s   & rP   rG  ÚIterableDataset.to_list~  sI   € ô × Ò ¤ d×&6Ñ&6°wÓ&?×&DÑ&DÐPTÐ&DÓ&UÓ!VÓWˆÜ�u¨'Ô2×:Ñ:Ó<Ð<rR   c          	      óŠ   <€ V ^8„  d   QhRS[ S[,          RS[RS[S[P
                  S[S[P
                  ,          3,          /# r>  )r   rs   r�   r   r.  r/  r   )rZ   rÀ   s   "€rP   r[   r  �  sE   ø€ ÷ &Nñ &NÙ"¡3�-ð&NÙ9=ð&Ná	‰r�|‰|™X¡b§l¡lÕ3Ð3Õ	4ñ&NrR   c                óÂ  a aa€ S P                   e%   \        S P                   P                  4       R7      MRoR V 3R lloV'       d-   VV3R lS P                  R4      P	                  VR7       4       # \
        P                  ! S P                  R4      P	                  RR7       Uu. uF  pS! V4      NK  	  up4      p\        VSR	R
7      P                  4       # u upi )a2  Returns the dataset as a `pandas.DataFrame`. Can also return a generator for large datasets.

Args:
    batch_size (`int`, *optional*):
        The size (number of rows) of the batches if `batched` is `True`.
        Defaults to `datasets.config.DEFAULT_MAX_BATCH_SIZE`.
    batched (`bool`):
        Set to `True` to return a generator that yields the dataset as batches
        of `batch_size` rows. Defaults to `False` (returns the whole datasets once).

Returns:
    `pandas.DataFrame` or `Iterator[pandas.DataFrame]`

Example:

```py
>>> ds.to_pandas()
```
NrR  c                ó8   € V ^8„  d   QhR\         P                  /# )rT   ré  r+  )rZ   s   "rP   r[   Ú/IterableDataset.to_pandas.<locals>.__annotate__¥  s   € ÷ 	ñ 	´2·8±8ñ 	rR   c                 óš   <€ SP                   e<   V P                  SP                   P                  8w  d   \        V SP                   4      # V # rM   )rÝ   r~   rÌ  r8   )ré  rÆ   s   &€rP   Úmaybe_cast_to_declared_featuresÚBIterableDataset.to_pandas.<locals>.maybe_cast_to_declared_features¥  s8   ø€ Ø�}‰}Ò(¨U¯\©\¸T¿]¹]×=WÑ=WÔ-WÜ-¨e°T·]±]ÓCÐCØˆLrR   c              3   óh   <"  € T F'  p\        S! V4      SR R7      P                  4       x € K)  	  R# 5i)r@  ©r  rB  N)r   Ú	to_pandas)r_   ré  r  rN  s   & €€rP   ra   Ú,IterableDataset.to_pandas.<locals>.<genexpr>«  s4   øé € ð áR�Eô Ñ7¸Ó>ÀTÐW^Ô_×iÑi×kÐkÛRùs   ƒ/2r:  r©  r  r@  rQ  )	rÝ   r1   r   rÍ  r’   r{   r³  r   rR  )rÆ   rš   r?  ré  r  rN  s   f&& @@rP   rR  ÚIterableDataset.to_pandas�  sÊ   ú€ ð, >B¿]¹]Ò=VŒ{ D§M¡M×$6Ñ$6Ó$8Õ9Ð\`ˆ÷	ð 	÷
 õà!×-Ñ-¨gÓ6×;Ñ;ÀzÐ;ÔRóð ô
 ×$Ò$ØEI×EUÑEUÐV]ÓE^×EcÑEcÐosÐEcÔEtÓuÑEt¸EÑ0°Ö7ÑEtÑuóˆEô ˜5 t¸ÔA×KÑKÓMÐMùò vs   Â(Cc                óz   <€ V ^8„  d   QhRS[ S[,          RS[RS[ S[,          RS[RS[RS[R,          3,          /# )rT   rš   r?  Úschema_overridesÚrechunkry   r‹  )r   rs   r�   rX   r   r   )rZ   rÀ   s   "€rP   r[   r  µ  s[   ø€ ÷ #uñ #uá™S•Mð#uñ ð#uñ #¡4�.ð	#uñ
 ð#uñ 
ˆ~™x¨Õ7Ð7Õ	8ñ#urR   c              #  ób  "  € V'       dJ   V P                  R4      P                  VR7       F"  p\        VRR7      P                  W4R7      x € K$  	  R# \        P
                  ! \        V P                  R4      P                  RR7      4      4      p\        VRR7      P                  W4R7      # 5i)aV  Returns the dataset as a `polars.DataFrame`. Can also return a generator for large datasets.

Args:
    batch_size (`int`, *optional*):
        The size (number of rows) of the batches if `batched` is `True`.
        Defaults to `datasets.config.DEFAULT_MAX_BATCH_SIZE`.
    batched (`bool`):
        Set to `True` to return a generator that yields the dataset as batches
        of `batch_size` rows. Defaults to `False` (returns the whole datasets once).
    schema_overrides (`dict`, *optional*):
        Support type specification or override of one or more columns; note that
        any dtypes inferred from the schema param will be overridden.
    rechunk (`bool`):
        Make sure that all data is in contiguous memory. Defaults to `True`.
Returns:
    `polars.DataFrame` or `Iterator[polars.DataFrame]`

Example:

```py
>>> ds.to_polars()
```
r:  r©  r@  rA  )rV  rW  r  N)rÍ  r’   r   Ú	to_polarsr{   r³  rh   )rÆ   rš   r?  rV  rW  ré  s   &&&&& rP   rY  ÚIterableDataset.to_polarsµ  s—   é € ÷< Ø×)Ñ)¨'Ó2×7Ñ7À:Ð7ÖN�Ü˜e°Ô9×CÑCÐUeÐCÓwÔwó Oô ×$Ò$¤T¨$×*:Ñ*:¸7Ó*C×*HÑ*HÐTXÐ*HÓ*YÓ%ZÓ[ˆEÜ˜5¨gÔ6×@Ñ@ÐRbÐ@ÓtÐtùs   ‚B-B/c                óh   <€ V ^8„  d   QhRS[ S[S[3,          RS[S[,          RS[S[,          RS[/# ©rT   Úpath_or_bufrš   Ústorage_optionsry   ©r   rE   r   r   rs   rX   )rZ   rÀ   s   "€rP   r[   r  Ú  sE   ø€ ÷ )
ñ )
á™8¡XÐ-Õ.ð)
ñ ™S•Mð)
ñ "¡$�ð	)
ñ 
ñ)
rR   c                óÂ   € \         P                  ! \        V P                  R4      P	                  RR7      4      4      p\        VRR7      P                  ! V3RVRV/VB # )aœ  Exports the dataset to csv.

This iterates on the dataset and loads it completely in memory before writing it.

Args:
    path_or_buf (`PathLike` or `FileOrBuffer`):
        Either a path to a file (e.g. `file.csv`), a remote URI (e.g. `hf://datasets/username/my_dataset_name/data.csv`),
        or a BinaryIO, where the dataset will be saved to in the specified format.
    batch_size (`int`, *optional*):
        Size of the batch to load in memory and write at once.
        Defaults to `datasets.config.DEFAULT_MAX_BATCH_SIZE`.
    storage_options (`dict`, *optional*):
        Key/value pairs to be passed on to the file-system backend, if any.
    **to_csv_kwargs (additional keyword arguments):
        Parameters to pass to pandas's [`pandas.DataFrame.to_csv`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_csv.html).
        The parameter `index` defaults to `False` if not specified.
        If you would like to write the index, pass `index=True` and also set a name for the index column by
        passing `index_label`.

Returns:
    `int`: The number of characters or bytes written.

Example:

```py
>>> ds.to_csv("path/to/dataset/directory")
```
r:  r  r©  r@  rA  rš   r^  )r{   r³  rh   rÍ  r’   r   Úto_csv)rÆ   r]  rš   r^  Úto_csv_kwargsré  s   &&&&, rP   ra  ÚIterableDataset.to_csvÚ  sm   € ôF × Ò ¤ d×&6Ñ&6°wÓ&?×&DÑ&DÐPTÐ&DÓ&UÓ!VÓWˆÜ�u¨'Ô2×9Ò9Øñ
à!ð
ð ,ð
ð ñ	
ð 	
rR   c                óh   <€ V ^8„  d   QhRS[ S[S[3,          RS[S[,          RS[S[,          RS[/# r\  r_  )rZ   rÀ   s   "€rP   r[   r    sE   ø€ ÷ 4
ñ 4
á™8¡XÐ-Õ.ð4
ñ ™S•Mð4
ñ "¡$�ð	4
ñ 
ñ4
rR   c                óÂ   € \         P                  ! \        V P                  R4      P	                  RR7      4      4      p\        VRR7      P                  ! V3RVRV/VB # )a:  Export the dataset to JSON Lines or JSON.

This iterates on the dataset and loads it completely in memory before writing it.

The default output format is [JSON Lines](https://jsonlines.org/).
To export to [JSON](https://www.json.org), pass `lines=False` argument and the desired `orient`.

Args:
    path_or_buf (`PathLike` or `FileOrBuffer`):
        Either a path to a file (e.g. `file.json`), a remote URI (e.g. `hf://datasets/username/my_dataset_name/data.json`),
        or a BinaryIO, where the dataset will be saved to in the specified format.
    batch_size (`int`, *optional*):
        Size of the batch to load in memory and write at once.
        Defaults to `datasets.config.DEFAULT_MAX_BATCH_SIZE`.
    storage_options (`dict`, *optional*):
        Key/value pairs to be passed on to the file-system backend, if any.
    **to_json_kwargs (additional keyword arguments):
        Parameters to pass to pandas's [`pandas.DataFrame.to_json`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_json.html).
        Default arguments are `lines=True` and `orient="records".
        The parameter `index` defaults to `False` if `orient` is `"split"` or `"table"`.
        If you would like to write the index, pass `index=True`.

Returns:
    `int`: The number of characters or bytes written.

Example:

```py
>>> ds.to_json("path/to/dataset/directory/filename.jsonl")
```

```py
>>> num_shards = dataset.num_shards
>>> for index in range(num_shards):
...     shard = dataset.shard(index, num_shards)
...     shard.to_json(f"path/of/my/dataset/data-{index:05d}.jsonl")
```

r:  r  r©  r@  rA  rš   r^  )r{   r³  rh   rÍ  r’   r   Úto_json)rÆ   r]  rš   r^  Úto_json_kwargsré  s   &&&&, rP   rf  ÚIterableDataset.to_json  sm   € ô\ × Ò ¤ d×&6Ñ&6°wÓ&?×&DÑ&DÐPTÐ&DÓ&UÓ!VÓWˆÜ�u¨'Ô2×:Ò:Øñ
à!ð
ð ,ð
ð ñ	
ð 	
rR   c                óZ   <€ V ^8„  d   QhRS[ RS[S[ RRR3,          RS[S[,          RS[/# )rT   rq   Úconzsqlalchemy.engine.Connectionzsqlalchemy.engine.Enginezsqlite3.Connectionrš   ry   )rY   r   r   rs   )rZ   rÀ   s   "€rP   r[   r  ;  sN   ø€ ÷ (qñ (qáð(qñ ‘3Ð6Ð8RÐThÐhÕið(qñ ™S•Mð	(qñ 
ñ(qrR   c                ó¾   € \         P                  ! \        V P                  R4      P	                  RR7      4      4      p\        VRR7      P                  ! W3RV/VB # )aæ  Exports the dataset to a SQL database.

Args:
    name (`str`):
        Name of SQL table.
    con (`str` or `sqlite3.Connection` or `sqlalchemy.engine.Connection` or `sqlalchemy.engine.Connection`):
        A [URI string](https://docs.sqlalchemy.org/en/13/core/engines.html#database-urls) or a SQLite3/SQLAlchemy connection object used to write to a database.
    batch_size (`int`, *optional*):
        Size of the batch to load in memory and write at once.
        Defaults to `datasets.config.DEFAULT_MAX_BATCH_SIZE`.
    **sql_writer_kwargs (additional keyword arguments):
        Parameters to pass to pandas's [`pandas.DataFrame.to_sql`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.to_sql.html).
        The parameter `index` defaults to `False` if not specified.
        If you would like to write the index, pass `index=True` and also set a name for the index column by
        passing `index_label`.


Returns:
    `int`: The number of records written.

Example:

```py
>>> # con provided as a connection URI string
>>> ds.to_sql("data", "sqlite:///my_own_db.sql")
>>> # con provided as a sqlite3 connection object
>>> import sqlite3
>>> con = sqlite3.connect("my_own_db.sql")
>>> with con:
...     ds.to_sql("data", con)
```
r:  r  r©  r@  rA  rš   )r{   r³  rh   rÍ  r’   r   Úto_sql)rÆ   rq   rj  rš   Úsql_writer_kwargsré  s   &&&&, rP   rl  ÚIterableDataset.to_sql;  sX   € ôN × Ò ¤ d×&6Ñ&6°wÓ&?×&DÑ&DÐPTÐ&DÓ&UÓ!VÓWˆÜ�u¨'Ô2×9Ò9¸$ÑpÐPZÐpÐ^oÑpÐprR   c                óh   <€ V ^8„  d   QhRS[ S[S[3,          RS[S[,          RS[S[,          RS[/# r\  r_  )rZ   rÀ   s   "€rP   r[   r  e  sE   ø€ ÷ .
ñ .
á™8¡XÐ-Õ.ð.
ñ ™S•Mð.
ñ "¡$�ð	.
ñ 
ñ.
rR   c                ó  € ^RI Hp V! V P                  4      ;'       g    \        P                  p\
        P                  ! \        V P                  R4      P                  VR7      4      4      p\        VRR7      P                  ! V3RV/VB # )a<  Exports the dataset to parquet

Args:
    path_or_buf (`PathLike` or `FileOrBuffer`):
        Either a path to a file (e.g. `file.parquet`), a remote URI (e.g. `hf://datasets/username/my_dataset_name/data.parquet`),
        or a BinaryIO, where the dataset will be saved to in the specified format.
    batch_size (`int`, *optional*):
        Size of the batch to load in memory and write at once.
        Defaults to `datasets.config.DEFAULT_MAX_BATCH_SIZE`.
    storage_options (`dict`, *optional*):
        Key/value pairs to be passed on to the file-system backend, if any.

        <Added version="2.19.0"/>
    **parquet_writer_kwargs (additional keyword arguments):
        Parameters to pass to PyArrow's `pyarrow.parquet.ParquetWriter`.

Returns:
    `int`: The number of characters or bytes written.

Example:

```py
>>> ds.to_parquet("path/to/dataset/directory")
```

```py
>>> num_shards = dataset.num_shards
>>> for index in range(num_shards):
...     shard = dataset.shard(index, num_shards)
...     shard.to_parquet(f"path/of/my/dataset/data-{index:05d}.parquet")
```

©Ú)get_arrow_writer_batch_size_from_featuresr:  r©  r@  rA  r^  )Úarrow_writerrr  rÝ   r   ÚDEFAULT_MAX_BATCH_SIZEr{   r³  rh   rÍ  r’   r   Ú
to_parquet)rÆ   r]  rš   r^  Úparquet_writer_kwargsrr  ré  s   &&&&,  rP   ru  ÚIterableDataset.to_parquete  s‚   € õP 	Lá>¸t¿}¹}ÓM×nÐnÔQW×QnÑQnˆ
Ü× Ò ¤ d×&6Ñ&6°wÓ&?×&DÑ&DÐPZÐ&DÓ&[Ó!\Ó]ˆÜ�u¨'Ô2×=Ò=Øñ
Ø)8ð
Ø<Qñ
ð 	
rR   c                óÄ   <€ V ^8„  d   QhRS[ RS[ RS[RS[RS[RS[S[,          RS[S[,          RS[ R	S[R
S[S[S[S[,          S[S[,          S[ S[ 3,          ,          /
# )rT   Újob_idÚnum_jobsÚresolved_output_pathÚdata_dirr	  ÚtokenÚ	create_prrê   Úembed_external_filesry   )	rs   r   rY   r   r�   r   rœ   rh   r   )rZ   rÀ   s   "€rP   r[   r  •  s¬   ø€ ÷ [cñ [cáð[cñ ð[cñ 7ð	[cñ
 ð[cñ ð[cñ ™�}ð[cñ ™D•>ð[cñ ð[cñ #ð[cñ 
‘%™Ñ/Õ0±$±sµ)¹SÁ#ÐEÕFÕ	Gñ[crR   c
           	   #  ó  a aaa"  € W‚,          p
W‚,          pW¡,          \        W4      ,           oSV
,           W8  d   ^M^ ,           oVV V3R l\        SS,
          4       4       p\        \        P                  VR\
        R7      p^ p^ p. p. pS P                  pV EF�  w  ppV	'       dU   ^RIHp VP                  R4      pVP                  \        \        S P                  R7      RV! VP                  4      R7      pV R	V R
VR RVR R2p\        P                  ! RRR7      p VP!                  V4       VP#                  4        \$        P&                  ! VP(                  4      oVf/   \*        P,                  ! SP.                  P1                  4       4      pVSP2                  ,          pV\5        V3R l\        SP6                  4       4       4      ,          pVP9                  V4       \;        V\<        4      '       dq   VP>                  '       g_   \A        VVP(                  R7      pVPC                  VPD                  V.VPF                  VPH                  VR7       VP9                  V4       M{\;        V\J        4      '       dX   VPL                  '       d   VPL                  R	,           V,           pVPO                  VPP                  VP(                  V3.R7       M\S        RV 24      hVP#                  4        \Y        VP(                  4      P[                  4        VR^3x € EK�  	  VRVVVWï33x € R#   \T        \V        3 d6    TP#                  4        \Y        TP(                  4      P[                  4        h i ; i5i)aÙ  Pushes the dataset shards as Parquet files to the hub.

Returns:
    additions (`List[CommitOperation]`): list of the `CommitOperationAdd` of the uploaded shards
    new_parquet_paths (`List[str]`): list of the paths of the uploaded parquet files
    features (`Features`): features of the uploaded dataset
    dataset_nbytes (`int`): approximate size in bytes of the uploaded dataset after uncompression
    num_examples (`int`): number of examples of th euploaded shards
c              3   ól   <"  € T F)  pSV,           SP                  SS,
          VR R7      3x € K+  	  R# 5i)TrF  N)rô  )r_   r•   rþ   rÆ   rý   s   & €€€rP   ra   ÚEIterableDataset._push_parquet_shards_to_hub_single.<locals>.<genexpr>±  s2   øé € ð 
Ù_qÐZ[ˆU�Q�Y˜Ÿ
™
¨c°E­kÀÈt˜
ÓTÕUÓ_qùs   ƒ14Údatasets©Úendpointr}  Úlibrary_nameÚlibrary_versionrq  r:  r¦  T)r?  rš   rG  Ú-Ú05dz-of-z.parquetF)ÚsuffixÚdeleteNc              3   óZ   <"  € T F   pSP                  V4      P                  x € K"  	  R # 5irM   )Ú	row_groupÚtotal_byte_size)r_   r•   Úparquet_metadatas   & €rP   ra   r‚  Ï  s'   øé € ð &ÙKqÀaÐ$×.Ñ.¨qÓ1×AÖAÓKqùs   ƒ(+)Úpath_in_repoÚpath_or_fileobj)Úrepo_idÚ	additionsÚ	repo_typeÚrevisionr~  )Ú	bucket_idÚaddzBad HF path: ).rú   r“   r   r   ÚHF_ENDPOINTr   rÝ   rs  rr  rÍ  rÓ  r	   r9   r  ÚtempfileÚNamedTemporaryFileru  ÚcloseÚpqÚread_metadatarq   r!   rƒ   r~   Úto_arrow_schemaÚnum_rowsr°  Únum_row_groupsr¶  r  rH   r�  r   Úpreupload_lfs_filesr’  r”  r•  rG   ÚpathÚbatch_bucket_filesr–  rÍ   r¢  r�  r   Úunlink)rÆ   ry  rz  r{  r|  r	  r}  r~  rê   r  rû   rü   Úindex_shardsÚapiÚdataset_nbytesÚnum_examplesr“  Únew_parquet_pathsrÝ   rë   rô  rr  Úshard_path_in_repoÚtmp_fileÚshard_additionrþ   r�  rý   s   f&&&&&&&&&               @@@rP   Ú"_push_parquet_shards_to_hub_singleÚ2IterableDataset._push_parquet_shards_to_hub_single•  s.  ûé € ð. Õ$ˆØÕ#ˆØ•œs 6Ó/Õ/ˆØ�c�k &¤,™Q°AÕ6ˆö
Ü_dÐehÐkpÕepÔ_qó
ˆô œV×/Ñ/°uÈ:ÔgrÔsˆàˆØˆØ.0ˆ	Ø')ÐØ—=‘=ˆÜ(‰LˆE�5ß#ÝSà×)Ñ)¨'Ó2�ØŸ	™	ÜÔ/À4×CZÑCZÔ[Ø ÙHÈÏÉÓXð "ó �ð
 %- :¨Q¨u¨g°Q°u¸S°kÀÀjÐQTÐEUÐU]Ð!^ÐÜ×2Ò2¸*ÈUÔSˆHð#Ø× Ñ  Ô*Ø—‘Ô Ü#%×#3Ò#3°H·M±MÓ#BÐ ØÒ#Ü'×9Ò9Ð:J×:QÑ:Q×:aÑ:aÓ:cÓd�HØÐ 0× 9Ñ 9Õ9�Ø¤#ô &ÜKPÐQa×QpÑQpÔKqó&ó #õ �ð "×(Ñ(Ð);Ô<äÐ3Ô5W×XÒXØ0×=×=Ð=ä%7ÐEWÐiq×ivÑivÔ%w�NØ×+Ñ+Ø 4× <Ñ <Ø#1Ð"2Ø"6×"@Ñ"@Ø!5×!>Ñ!>Ø"+ð ,ô ð ×$Ñ$ ^Õ4ÜÐ 4Ô6T×UÒUØ+×0×0Ð0Ø-A×-FÑ-FÈÕ-LÐOaÕ-aÐ*Ø×*Ñ*Ø"6×"@Ñ"@ÈÏÉÐWiÐGjÐFkð +õ ô .°Ð>RÐ=SÐ.TÓUÐUð
 �N‰NÔÜ�—‘Ó×&Ñ&Ô(Ø˜% Ð"Õ"ñe )ðh �d˜YÐ(9¸8À^ÐbÐbÔbøô Ô0Ð1ô Ø—‘Ô Ü�X—]‘]Ó#×*Ñ*Ô,ØðüsG   †D!NÄ(C-L;ÈAL;É3NÉ4'L;ÊAL;Ë NË!L;Ë/ANÌ;ANÎNc                óþ   <€ V ^8„  d   QhRS[ RS[RS[RS[S[,          RS[S[,          RS[S[S[S[3,          ,          RS[S[,          RS[R	S[S[,          R
S[S[S[,          S[S[,          S[	S[
S[3,          /
# )rT   r{  r|  r	  r}  r~  Úmax_shard_sizerê   r  Únum_procry   )r   rY   r   r�   r   rs   rœ   rh   r   r!   r5   )rZ   rÀ   s   "€rP   r[   r  ò  s¾   ø€ ÷ tQñ tQá6ðtQñ ðtQñ ð	tQñ
 ™�}ðtQñ ™D•>ðtQñ !¡¡s©C x¥Õ1ðtQñ ™S•MðtQñ #ðtQñ ™3•-ðtQñ 
‰tÑ&Õ'©©c­±H¹iÉÐLÕ	MñtQrR   c
                óž  € V'       dN   V P                   P                  P                  4        U
Uu. uF  w  r«\        VRR7      '       g   K  V
NK  	  upp
M. pT;'       d    \	        V4      pVf¬   Vf   V P
                  pMš\        T;'       g    \        P                  4      p^ pV P                  R4      P                  \        P                  R7       F  pWÞP                  ,          pK  	  \        WÖ,          4      ^,           p\        Yy;'       g    ^4      p. p. p^ p^ p^ pV P                  pT	;'       g    ^pV^8:  d"   \        P!                  RV RV R24       Rp	^pM-VV8  d'   \        P!                  RV R	V R
V RV R2	4       Tp	Tp\#        V4       Uu. uF+  pRV P%                  VVRR7      RVRVRVRVRVRVRVRVRV/
NK-  	  ppRpTV	e   V	^8¼  d   RV	 R2MR,          p\'        RVVR7      pV	e   V	^8  d   \(        P*                  ! 4       M$\,        P.                  ! R4      P1                  V	4      ;_uu_ 4       pVf   \2        P4                  ! R"/ V^ ,          B M\7        V\2        P4                  VR7      pV FP  w  pppV'       g   VP9                  V4       K"  Vw  ppp p!p"VV,          pVV,          pVV!,          pVV",          pT pKR  	  Ve!   VP;                  4        VP=                  4        RRR4       \?        R  V 4       4      p\A        VVVR!7      p#VVVV#V3# u upp
i u upi   + '       g   i     LB; i)#a?  Pushes the dataset shards as Parquet files to the hub.

Returns:
    additions (`List[CommitOperation]`): list of the `CommitOperationAdd` of the uploaded shards
    new_parquet_paths (`List[str]`): list of paths of the new files uploaded to the output path,
        relative to output path
    features (`features`): features of the uploaded dataset
    split_info (`int`): info of the uploaded split, including the approximate size in bytes of
        the uploaded dataset after uncompression
    uploaded_size (`int`): number of uploaded bytes to the repository or bucket
T)Úignore_decode_attributeNr:  r©  zSetting num_proc from z back to 1 for the z@ split to disable multiprocessing as it only contains one shard.rd   z	 for the z split as it only contains rH  rÆ   rF  ry  rz  r{  r|  r	  r}  r~  rê   r  zUploading the dataset shardsz (num_proc=Ú)rE  z shards)ÚunitÚtotalÚdescÚspawn)Úkwargs_iterablec              3   óL   "  € T F  qP                   P                  x € K  	  R # 5irM   )Úupload_infor  )r_   Úadditions   & rP   ra   Ú>IterableDataset._push_parquet_shards_to_hub.<locals>.<genexpr>d  s   é € ÐPÁi¸(×0Ñ0×5Ö5Ãiùs   ‚"$)Ú	num_bytesr¨  rN   )!r'  rÝ   rk   r*   r�   rê   r?   r   ÚMAX_SHARD_SIZErÍ  r’   rt  Únbytesrs   rq  r£  r  r“   rô  Úhf_tqdmÚ
contextlibÚnullcontextÚmpÚget_contextÚPoolré  r­  r@   rÛ  r›  r©   r°  r5   )$rÆ   r{  r|  r	  r}  r~  r°  rê   r  r±  ÚkÚvÚdecodable_columnsÚestimated_nbytesr„   r“  r©  Úuploaded_sizer§  r¨  rÝ   rz  ry  r¹  r·  Úpbarr(  Úupdate_streamr�  ÚcontentÚjob_additionsÚjob_new_parquet_pathsÚjob_featuresÚjob_uploaded_sizeÚjob_num_examplesÚ
split_infos$   &&&&&&&&&&                          rP   Ú_push_parquet_shards_to_hubÚ+IterableDataset._push_parquet_shards_to_hubò  s•  € ÷8 $ð  Ÿ:™:×.Ñ.×4Ñ4Ô6ÔlÑ6‘4�1Ô:JÈ1Ðfj×:kÐ:k�QˆQÑ6Ólàð 	ð
  4×OÐO¼Ð=NÓ8OÐàÒØÒ%Ø!Ÿ_™_‘
ä!9¸.×:aÐ:aÌF×LaÑLaÓ!b�Ø#$Ð Ø $× 0Ñ 0°Ó 9× >Ñ >Ì&×JgÑJgÐ >Ö h�HØ$¯©Õ7Ò$ñ !iä Ð!1Õ!BÓCÀaÕG�
Ü  ¯]¨]¸Ó;�
à.0ˆ	Ø')ÐØˆØˆØˆØ—=‘=ˆà—=�=˜qˆØ˜Œ?Ü�N‰NØ(¨¨
Ð2EÀeÀWð  MMð  Nôð ˆHØ‰HØ˜(Ô"Ü�N‰NØ(¨¨
°$°z°lÀ)ÈEÈ7ÐRmÐnxÐmyð  zBð  Côð "ˆHØ!ˆHô   œ/ó
ñ *�ð ˜Ÿ
™
¨h¸fÐQU˜
ÓVØ˜&Ø˜HØ&Ð(<Ø˜HØ˜Ø˜Ø˜YØ˜jØ&Ð(<óñ *ð 	ð 
ð .ˆØ¨XÒ-AÀhÐRSÄm�+˜h˜Z qÑ)ÐY[Õ[ˆÜØØØô
ˆð Ò 8¨a¤<ô ×"Ò"Ô$ä—’ Ó(×-Ñ-¨hÓ7÷8ð 8à;?ð ’<ô  ×BÒBÑXÀ_ÐUVÕEWÒXä'ØÜ#×FÑFØ$3ôð ó *7Ñ%�˜˜gßØ—K‘K Ö(ànuÑk�MÐ#8¸,ÐHYÐ[kØ Õ.�IØ%Ð)>Õ>Ð%Ø!Ð%6Õ6�MØ Ð$4Õ4�LØ+’Hñ *7ð ÒØ—
‘
”Ø—	‘	”÷38ô6 ÑPÁiÓPÓPˆÜ˜u°È\ÔZˆ
ØÐ+¨X°zÀ=ÐPÐPùós mùòJ
÷.8÷ 8ús   °L1ÁL1Æ 1L7É
B8L<Ì<M	c                 óP  <€ V ^8„  d   QhRS[ RS[ RS[S[,          RS[S[ ,          RS[S[ ,          RS[S[ ,          RS[S[ ,          RS[S[,          R	S[S[ ,          R
S[S[ ,          RS[S[,          RS[S[S[S[ 3,          ,          RS[S[,          RS[RS[S[,          RS[/# )rT   r’  Úconfig_nameÚset_defaultr	  r|  Úcommit_messageÚcommit_descriptionÚprivater}  r•  r~  r°  rê   r  r±  ry   )rY   r   r�   r   rs   r   )rZ   rÀ   s   "€rP   r[   r  h  sö   ø€ ÷ Añ AáðAñ ðAñ ™d•^ð	Añ
 ™�}ðAñ ™3•-ðAñ !¡�ðAñ %¡S�MðAñ ™$•ðAñ ™�}ðAñ ™3•-ðAñ ™D•>ðAñ !¡¡s©C x¥Õ1ðAñ ™S•MðAñ #ðAñ  ™3•-ð!Añ" 
ñ#ArR   c                óf  € Ve†   WðP                   8”  dv   \        P                  RV RV P                    RWðP                   ,
           R24       \        P                  RV P                    RV P                    R24       V P                   pVR8X  d   \	        R	4      hVe   Ve   \	        R
4      hVf&   V P
                  e   \        V P
                  4      MRp\        P                  ! \        V4      '       g   \	        R\         RV R24      hV'       g   VR8w  d   TMRp\        \        P                  V	R\        R7      pVP                  R4      '       d‚   \        f   \!        R4      hVP                  R4      vpppp VP#                  VR,           V,           4      P$                  pRP+                  R V 4       4      p\-        V VVVVVVV	VVVVR7      #  VP/                  VRR7      P$                  pV
e,   V
P                  R4      '       g   VP7                  WRRR7       \9        V VVVVVVVV	V
VVVVVR7      #   \         d2    TP'                  TR,           T,           TRR7      pTP(                  p LÑi ; i  \0         d%    TP3                  TRTRR7      pTP4                  p L¶i ; i)aˆ  Pushes the dataset to the hub as a Parquet dataset.
The dataset is pushed using HTTP requests and does not need to have neither git or git-lfs installed.

The resulting Parquet files are self-contained by default. If your dataset contains [`Image`], [`Audio`] or [`Video`]
data, the Parquet files will store the bytes of your images or audio files.
You can disable this by setting `embed_external_files` to `False`.

Args:
    repo_id (`str`):
        The ID of the repository to push to in the following format: `<user>/<dataset_name>` or
        `<org>/<dataset_name>`. Also accepts `<dataset_name>`, which will default to the namespace
        of the logged-in user.

        It could also be a location inside a bucket, e.g. `buckets/<user_or_org>/<bucket_name>/...`
    config_name (`str`, defaults to "default"):
        The configuration name (or subset) of a dataset. Defaults to "default".
    set_default (`bool`, *optional*):
        Whether to set this configuration as the default one. Otherwise, the default configuration is the one
        named "default".
    split (`str`, *optional*):
        The name of the split that will be given to that dataset. Defaults to `self.split`.
    data_dir (`str`, *optional*):
        Directory name that will contain the uploaded data files. Defaults to the `config_name` if different
        from "default", else "data".
    commit_message (`str`, *optional*):
        Message to commit while pushing. Will default to `"Upload dataset"`.
    commit_description (`str`, *optional*):
        Description of the commit that will be created.
        Additionally, description of the PR if a PR is created (`create_pr` is True).
    private (`bool`, *optional*):
        Whether to make the repo private. If `None` (default), the repo will be public unless the
        organization's default is private. This value is ignored if the repo already exists.
    token (`str`, *optional*):
        An optional authentication token for the Hugging Face Hub. If no token is passed, will default
        to the token saved locally when logging in with `huggingface-cli login`. Will raise an error
        if no token is passed and the user is not logged-in.
    revision (`str`, *optional*):
        Branch to push the uploaded files to. Defaults to the `"main"` branch.
    create_pr (`bool`, *optional*, defaults to `False`):
        Whether to create a PR with the uploaded files or directly commit.
    max_shard_size (`int` or `str`, *optional*):
        Optional maximum size of the dataset shards to be uploaded to the hub. If expressed as a string, needs to be digits followed
        by a unit (like `"5MB"`). If not provided, shard count defaults to this dataset's `.num_shards`.
    num_shards (`int`, *optional*):
        Number of shards to write. If `max_shard_size` is provided and `num_shards` is not, then the number of shards is estimated
        from `max_shard_size`.
    embed_external_files (`bool`, defaults to `True`):
        Whether to embed file bytes in the shards.
        In particular, this will do the following before the push for the fields of type:

        - [`Audio`] and [`Image`]: remove local path information and embed file content in the Parquet files.
    num_proc (`int`, *optional*, defaults to `None`):
        Number of processes when preparing and uploading the dataset.
        This is helpful if the dataset is made of many samples and transformations.
        I uses "spawn" context to work with hf_xet, the rust client for fast uploads to HF.
        Multiprocessing is disabled by default.

Return:
    huggingface_hub.CommitInfo

Example:

```python
>>> dataset.push_to_hub("<organization>/<dataset_id>")
>>> dataset_dict.push_to_hub("<organization>/<dataset_id>", private=True)
>>> dataset.push_to_hub("<organization>/<dataset_id>", max_shard_size="1GB")
>>> dataset.push_to_hub("<organization>/<dataset_id>", num_shards=1024)
```

If your dataset has multiple splits (e.g. train/validation/test):

```python
>>> train_dataset.push_to_hub("<organization>/<dataset_id>", split="train")
>>> val_dataset.push_to_hub("<organization>/<dataset_id>", split="validation")
>>> # later
>>> dataset = load_dataset("<organization>/<dataset_id>")
>>> train_dataset = dataset["train"]
>>> val_dataset = dataset["validation"]
```

If you want to add a new configuration (or subset) to a dataset (e.g. if the dataset has multiple tasks/versions/languages):

```python
>>> english_dataset.push_to_hub("<organization>/<dataset_id>", "en")
>>> french_dataset.push_to_hub("<organization>/<dataset_id>", "fr")
>>> # later
>>> english_dataset = load_dataset("<organization>/<dataset_id>", "en")
>>> french_dataset = load_dataset("<organization>/<dataset_id>", "fr")
```
zToo many num_proc: rA  rB  z processes.zµTo parallelize data loading, we give each process some shards (or data sources) to process. Therefore it's unnecessary to have a number of processes greater than dataset.num_shards=rC  rn  rè  zN`config_name` cannot be 'data'. Please, choose another name for configuration.zXFailed to push_to_hub: please specify either max_shard_size or num_shards, but not both.ÚtrainzSplit name should match 'z' but got 'z'.Údefaultrƒ  r„  zbuckets/z;Pushing datasets to buckets requires huggingface_hub>=1.6.0rG  T)rÜ  Úexist_okc              3   ó8   "  € T F  q'       g   K  Vx € K  	  R # 5irM   rN   )r_   rZ  s   & rP   ra   Ú.IterableDataset.push_to_hub.<locals>.<genexpr>û  s   é € Ð;¡~ !»ŸAšA£~ùs   ‚	�
)r–  r¢  rØ  rÙ  r	  r|  r}  r°  rê   r  r±  Údataset)r”  )r”  rÜ  rà  zrefs/pr/)Úbranchr”  rà  )r’  rØ  rÙ  r	  r|  rÚ  rÛ  r}  r•  r~  r°  rê   r  r±  )rê   r£  r  r  rg   r	  rY   ÚreÚmatchr2   r   r   r˜  r   Ú
startswithrF   ÚImportErrorÚbucket_inforP  Úcreate_bucketr–  r©   r   Ú	repo_infor   Úcreate_repor’  Úcreate_branchr   )rÆ   r’  rØ  rÙ  r	  r|  rÚ  rÛ  rÜ  r}  r•  r~  r°  rê   r  r±  r¦  r¡   Ú
_namespaceÚ_bucket_nameÚ_path_segmentsr–  Ú
bucket_urlr¢  Úrepo_urls   &&&&&&&&&&&&&&&&         rP   Úpush_to_hubÚIterableDataset.push_to_hubh  sÝ  € ðX Ò H¯©Ô$>Ü�N‰NØ% h ZÐ/KÈDÏOÉOÐK\ð ]Ø$§¡Õ6Ð7°{ðDôô �K‰KðlØlp×l{Ñl{Ðk|ð }[Ø[_×[jÑ[jÐZkÐklðnôð
 —‘ˆHà˜&Ô ÜÐmÓnÐnàÒ%¨*Ò*@ÜØjóð ð Š=Ø'+§z¡zÒ'=”C˜Ÿ
™
”OÀ7ˆEä�xŠxœ	 5×)Ò)ÜÐ8¼¸À;ÈuÈgÐUWÐXÓYÐYçØ&1°YÔ&>‘{ÀFˆHäœV×/Ñ/°uÈ:ÔgrÔsˆØ×Ñ˜j×)Ò)Ü"Ò*Ü!Ð"_Ó`Ð`Ø;B¿=¹=ÈÓ;MÐ8ˆAˆz˜<¨.ð1ØŸO™O¨J¸Õ,<¸|Õ,KÓL×OÑO�	ð —8‘8Ñ;¡~Ó;Ó;ˆDÜ"ØØ#ØØ'Ø'ØØ!ØØ-Ø%Ø%9Ø!ôð ð	+ØŸ-™-¨¸9˜-ÓE×HÑH�ð Ò#¨H×,?Ñ,?À
×,KÒ,Kà×!Ñ! 'ÀiÐZ^Ð!Ô_Ü ØØØ'Ø'ØØ!Ø-Ø#5ØØ!Ø#Ø-Ø%Ø%9Ø!ôð øôC 'ô 1Ø ×.Ñ.¨z¸CÕ/?À,Õ/NÐX_ÐjnÐ.Óo�
Ø&×0Ñ0’	ð1ûô* +ô +ØŸ?™?ØØ'Ø#Ø!ð	 +ó �ð #×*Ñ*’ð+ús$   Æ)I ÇJ É9I>É=I>Ê,J0Ê/J0)	r+  Ú__hffs_cacher  r  r  r  r  rÄ   r  )NNNNN)é   )rù   FrØ   )NN)NNNNrù   )NNN)NNNrù   )NNF)NNFN)NNFNNNr²  )NNFFrÀ  rM   )	NFNFr  FNNN)
NFNFr  FNNNF)NFNFr  N)NNr  é
   r!  )Tr   ra  )NFNT)rß  NNNNNNNNFNNTN)Jr"  r#  r$  r%  r&  rÇ   r'  r  rÕ  r  r  r(  r,  r0  r3  r7  rê   r>  rT  rN  r  rÎ   r’   r  r%  r4   ÚTRAINro  ry  r‚  Úclassmethodr1  r‘  r˜  r�  r¥  r¬  r»  rÆ  rÍ  rÓ  rÒ  ræ  r¨  rã  r´  rí  r  rô  rø  rü  r  r   r@  r  r  r  r"  r2  r5  rw   rC  rG  rR  rY  ra  rf  rl  ru  r­  rÕ  ró  r(  r)  r*  s   @rP   ré  ré  ²	  sˆ  ø‡ € Ù*÷Gò Gð, ÷Eó ðEð ÷Fó ðF÷3*ð 3*÷j0/ð 0/òdròòGô3ð ÷ ó ð ð ÷,ó ð,ð
 ÷ó ðò6òp	÷7ò 7òr÷*?ò ?÷>1ð 1ð ð (,Ø%)Ø!ŸK™K÷	4ñ 4ó ð4ðl ÷(ñ (ó ð(ðT ÷fó ðfð ÷:5ñ :5ó ð:5ðx ÷0
ñ 0
ó ð0
ðd ÷"
ñ "
ó ð"
ðH ÷$5ñ $5ó ð$5ðL ÷(ñ (ó ð(ðT ÷,ñ ,ó ð,ð\ ÷Rñ Ró ðRðh ÷1ñ 1ó ð1÷f7
ò 7
÷r]
ò ]
÷~U
ò U
÷nS
ò S
÷j`
ò `
÷D+ð +÷(
ð (
÷T(
ð (
÷T!
ð !
÷F6
ò 6
÷p&
ð &
÷P
]ð 
]÷Lð L÷<ð ÷2!ð !÷F0
ð 0
÷d,
ð ,
÷\,
ð ,
÷\[ò [÷z	
ð 	
ò
÷$A
ò A
÷FAò A÷.=ð =÷&Nò &N÷P#uò #u÷J)
ò )
÷V4
ò 4
÷l(qò (q÷T.
ò .
÷`[cð [c÷ztQð tQ÷lA÷ Að ArR   ré  c          
      ó–   € V ^8„  d   QhR\         \        ,          R\        \        ,          R\        \        ,          R\
        R\        /# )rT   Údsetsr  r	  Úaxisry   )rh   ré  r   r1   r3   rs   )rZ   s   "rP   r[   r[   ,  sP   € ÷ Yñ YÜ”Õ ðYä
”;Õ
ðYô ”JÕðYô ð	Yô
 ñYrR   c           
     ó¤  € V  Uu. uF  qDP                  4       NK  	  p pV^ 8X  d&   \        V  Uu. uF  qUP                  NK  	  up4       M.\        V  UUu. uF  qUP                   F  qfNK  	  K  	  upp4       \        ;QJ d    R V  4       F  '       d   K   RM	  RM! R V  4       4      '       d   RpMº\
        ;QJ d    R V  4       F  '       g   K   RM	  RM! R V  4       4      '       d   Rp\        P                  R4       MhV  Uu0 uF  qUP                  P                  kK  	  pp\        V4      ^8X  d   VP                  4       p	\        V	R7      pMRp\        P                  R4       \        \        V  Uu. uF  qUP                  NK  	  up4       U
UUu/ uF  qªP                  4        F  w  r¼W¼bK	  	  K  	  uppp
4      p
V  Uu. uF  p\!        VP"                  4      NK  	  ppV^ 8X  d   \%        V4      pM‡\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       dC   ^R	IHp V! V
4      ;'       g    \*        P,                  pV Uu. uF  p\/        VVR
7      NK  	  pp\1        V4      pVf1   \2        P4                  ! V  Uu. uF  qDP                  NK  	  up4      pMVP7                  4       pW¡n        V  UUUu/ uF*  pVP8                  P                  4        F	  w  ppVVbK  	  K,  	  pppp\;        VVVVVR7      # u upi u upi u uppi u upi u upi u uppp
i u upi u upi u upi u upppi )a²  
Converts a list of `IterableDataset` with the same schema into a single `IterableDataset`.
Missing data are filled with None values.

<Added version="2.4.0"/>

Args:
    dsets (`List[datasets.IterableDataset]`): List of Datasets to concatenate.
    info (`DatasetInfo`, optional): Dataset information, like description, citation, etc.
    split (`NamedSplit`, optional): Name of the dataset split.
    axis (``{0, 1}``, default ``0``, meaning over rows):
        Axis to concatenate over, where ``0`` means over rows (vertically) and ``1`` means over columns
        (horizontally).

        *New in version 1.6.0*

Example:

```py
>>> ds3 = _concatenate_iterable_datasets([ds1, ds2])
```
c              3   ó<   "  € T F  qP                   R J x € K  	  R # 5irM   ©r  ©r_   Údsets   & rP   ra   Ú1_concatenate_iterable_datasets.<locals>.<genexpr>Q  s   é € Ð
6±¨×Ñ˜tÕ#³ùr™  FTNc              3   ó<   "  € T F  qP                   R J x € K  	  R # 5irM   rÿ  r   s   & rP   ra   r  S  s   é € Ð8±%¨$×Ñ Õ%³%ùr™  zoSome of the datasets have disparate format or format not set. Resetting the format of the concatenated dataset.rÊ  c              3   ó8   "  € T F  qP                   x € K  	  R # 5irM   r<  r  s   & rP   ra   r  m  s   é € ÐF¹¨+×%Ö%»ùr§   rq  r©  )r±   r  r	  r¤  rB  )r5  r&   rÝ   rÁ  rŸ   rf   r£  r  r  rK  r�   r_  rC  r!   r%   rk   r   r  r‡  rs  rr  r   rt  r‹  rÃ  r1   Ú
from_merger   r  ré  )rû  r  r	  rü  r/  r  Úcol_namerB  Úformat_type_setrK  rÝ   rÇ  rÈ  r¸   r±   rr  rš   rã  r’  r}  r¤  s   &&&&                 rP   Ú_concatenate_iterable_datasetsr  ,  sÆ  € ñ8 -2Ó2©E q× Ñ Ö"©E€EÐ2ð ˆq„yÜ)ÁUÓ*KÁU¸T¯=¬=ÁUÑ*KÕLä±%ÔV±%¨$ÏÌ¸HšXÉ™X±%ÒVÔW÷ ƒsÑ
6±Ó
6‡s‡s‚sÑ
6±Ó
6×6Ò6Ø‰
ß	‹Ñ8±%Ó8��ŠÑ8±%Ó8×	8Ò	8Øˆ
Ü�‰Ø}õ	
ñ EJÓJÁE¸D×+Ñ+×7Ô7ÁEˆÐJÜˆÓ 1Ô$Ø)×-Ñ-Ó/ˆKÜ)°kÔB‰JàˆJÜ�K‰Kð Bôô Ü-ÉÓ.OÉÀ¯}¬}ÉÑ.OÔPÕnÑP�(×]kÑ]kÖ]mÑUYÐUVˆŠÑ]m‰ÑPÓnó€Hñ 7<Ó<±e°”H˜QŸ^™^Ö,±e€LÐ<Øˆq„yÜHÈÓV‰ç‹3ÑF¹ÓF�3�3Š3ÑF¹ÓF×FÒFÝOáBÀ8ÓL×mÐmÔPV×PmÑPmˆJáfróÙfrÐWbÔ.¨{Àz×RÑfrð ð ô KÈ<ÓXˆð ‚|Ü×%Ò%±uÓ&=±u°!§v¤v±uÑ&=Ó>‰à�y‰y‹{ˆØ„Má7<Õv±u¨GÐSZ×SmÑSm×SsÑSsÖSuÁÀÈ%˜ %šÑSu™±uÐÒväØØØØ+Øôð ùòo 3ùò +LùãVùò Kùò /PùÔnùò =ùòùò '>ùô
 ws:   …L¯L ÁL%
ÄL+Å>L0Æ#L5ÇL<É$MÊMË0Mc                óþ   € V ^8„  d   QhR\         \        ,          R\        \         \        ,          ,          R\        \        ,          R\        \
        ,          R\        \        ,          R\        R,          R\        /# )	rT   rƒ  rü  r  r  r	  r)  ry   r*  )rh   ré  r   rý  rs   r1   r3   r>   )rZ   s   "rP   r[   r[   ˆ  s{   € ÷ Rñ RÜ”?Õ#ðRäœD¤�KÕ(ðRô ”3�-ðRô ”;Õ
ð	Rô
 ”JÕðRô ØOõðRô ñRrR   c           
     ó  € V  Uu. uF  qfP                  4       NK  	  p p\        V  Uu. uF  qwP                  NK  	  up4       \        V 4       FV  w  r‡V ^ ,          P                  VP                  8w  g   K)  \        RV ^ ,          P                   RVP                   RV 24      h	  \        \        V  Uu. uF  qwP                  NK  	  up4       U	U
Uu/ uF  q™P                  4        F  w  r«W«bK	  	  K  	  upp
p	4      p	V  Uu. uF  p\        VP                  4      NK  	  pp\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d   V Uu. uF  p\        V^R7      NK  	  ppVf   \        WÅR7      pM.\        P                  P!                  V4      p\#        VVVVR	7      pVf1   \$        P&                  ! V  Uu. uF  qfP(                  NK  	  up4      pMVP+                  4       pW“n        V  UUUu/ uF)  qÿP,                  P                  4        F	  w  ppVVbK  	  K+  	  pppp\/        VVVVV ^ ,          P                  R
7      # u upi u upi u upi u upp
p	i u upi u upi u upi u upppi )a’  
Interleave several iterable datasets (sources) into a single iterable dataset.
The new iterable dataset alternates between the sources to yield examples.
If `probabilities = None` (default) the iterable dataset will cycles through the sources in order for each next example in the iteration.
If `probabilities` is not `None, the iterable dataset will sample a random source according to the provided probabilities for each next examples in the iteration.

<Added version="2.4.0"/>

Args:
    datasets (`List[IterableDataset]`): list of datasets to interleave
    probabilities (`List[float]`, optional, default None): If specified, the new iterable dataset samples
        examples from one source at a time according to these probabilities.
    seed (`int`, optional, default None): The random seed used to choose a source for each example.
    stopping_strategy (`str`, defaults to `first_exhausted`):
        Two strategies are proposed right now.
        By default, `first_exhausted` is an undersampling strategy, i.e the dataset construction is stopped as soon as one dataset has ran out of samples.
        If the strategy is `all_exhausted`,  we use an oversampling strategy, i.e the dataset construction is stopped as soon as every samples of every dataset has been added at least once.
        Note that if the strategy is `all_exhausted`, the interleaved dataset size can get enormous:
        - with no probabilities, the resulting dataset will have max_length_datasets*nb_dataset samples.
        - with given probabilities, the resulting dataset will have more samples if some datasets have really low probability of visiting.

Output:
    `datasets.IterableDataset`
zJDatasets should be identically split_by_node before interleaving, but got z!=z at index 0 and c              3   ó8   "  € T F  qP                   x € K  	  R # 5irM   r<  r  s   & rP   ra   Ú0_interleave_iterable_datasets.<locals>.<genexpr>»  s   é € Ð
B±\ k×!Ö!³\ùr§   FTr©  r  r"  )r±   r  r	  r¤  r
  )r5  r&   rÝ   r´  r  rg   r!   r%   rk   r   r  rŸ   r‹  r'  râ   rã   r  rú  r1   r  r  r   r  ré  )rƒ  rü  r  r  r	  r)  r/  r  r•   rÝ   rÇ  rÈ  r¸   r±   rà   rã  r’  r}  r¤  s   &&&&&&             rP   Ú_interleave_iterable_datasetsr  ˆ  sf  € ñD 08Ó8©x¨!×#Ñ#Ö%©x€HÐ8ô &ÁÓ&JÁ¸§}¤}ÁÑ&JÔKÜ˜XÖ&‰ˆØ�A�;×#Ñ# t×'8Ñ'8Ö8ÜØ\Ð]eÐfgÕ]h×]uÑ]uÐ\vÐvxÐy}÷  zKñ  zKð  yLð  L\ð  ]^ð  \_ð  `óð ñ 'ô Ü-ÉÓ.RÉÀ¯}¬}ÉÑ.RÔSÕqÑS�(×`nÑ`nÖ`pÑX\ÐXYˆŠÑ`p‰ÑSÓqó€Hñ 7?Ó?±h°”H˜QŸ^™^Ö,±h€LÐ?ß
ƒsÑ
B±\Ó
B‡s‡s‚sÑ
B±\Ó
B×BÒBÙeqÓrÑeqÐVaÔ6°{Èq×QÑeqˆÐràÒÜ9¸,Ôl‰ä—I‘I×)Ñ)¨$Ó/ˆ	ÜAØØØ'Ø/ô	
ˆð ‚|Ü×%Ò%±xÓ&@±x°!§v¤v±xÑ&@ÓA‰à�y‰y‹{ˆØ„Mñ '/õÙ&.˜7×E_ÑE_×EeÑEeÖEg±>°7¸Eˆ�ŠÑEg‰¡hð ò ô ØØØØ+Ø˜Q•K×,Ñ,ôð ùòU 9ùò 'Kùò /SùÔqùò @ùârùò 'Aùô
s.   …I¨I#Â6I(Ã#I-ÄI4Å#I9ÇI>È
/Jc                óH   € V ^8„  d   QhR\         R\        R\        R\         /# )rT   rã  rá  râ  ry   )ré  rs   )rZ   s   "rP   r[   r[   Ý  s*   € ÷ ñ ¬_ð ÄCð ÔUXð Ô]lñ rR   c           	     ó^  € V P                   '       d@   W P                   P                  ,          V,           pW P                   P                  ,          p\        WR7      p\	        V P
                  V P                  P                  4       V P                  V P                  VV P                  R7      # )a§  
Split an iterable dataset for the node at rank `rank` in a pool of nodes of size `world_size`.

If the dataset has a number of shards that is a factor of `world_size` (i.e. if `dataset.num_shards % world_size == 0`),
then the shards are evenly assigned across the nodes, which is the most optimized.
Otherwise, each node keeps 1 example out of `world_size`, skipping the other examples.

Args:
    dataset ([`IterableDataset`]):
        The iterable dataset to split by node.
    rank (`int`):
        Rank of the current node.
    world_size (`int`):
        Total number of nodes.

Returns:
    [`IterableDataset`]: The iterable dataset to be used on the node at rank `rank`.
)rá  râ  rË  )r  rá  râ  rß  ré  r  r'  r   rÌ  r  r  )rã  rá  râ  r
  s   &&& rP   Ú_split_by_node_iterable_datasetr  Ý  s‰   € ð& ××ÐØ×0Ñ0×5Ñ5Õ5¸Õ<ˆØ×"6Ñ"6×"AÑ"AÕAˆ
Ü#¨ÔE€KÜØ×(Ñ(Ø�]‰]×ÑÓ!Ø�n‰nØ×&Ñ&ØØ!×4Ñ4ôð rR   c              ƒ   óÀ   "  € V P                  W34      p VP                  4       '       d   VP                  4       # \        P                  ! ^ 4      G Rj  x€L
  KG   L5ir  )Úapply_asyncÚreadyr‰   rŽ  ra  )r(  r.  rO   rh  s   &&& rP   r*  r*  þ  sC   é € Ø×Ñ˜d DÓ)€FØ
Ø�<‰<�>Š>Ø—:‘:“<Ðä—-’- Ó"×"Ô"ùs   ‚)A¬)AÁAÁAc                 óX   € V P                  4        UUu/ uF  w  rW.bK
  	  upp# u uppi rM   )rk   )Ú	unbatchedrÇ  rÈ  s   &  rP   r;  r;    s)   € Ø(Ÿ™Ô0Ô1Ñ0‘t�qˆAˆsŠFÑ0Ò1Ð1ùÓ1s   ”&c                ó‚   € V ^8„  d   QhR\         R,          R\        \        R\        P                  3,          ,          /# )rT   rr  ry   rK   rŠ  )r   r   rœ   r{   r|   )rZ   s   "rP   r[   r[     s8   € ÷ <ñ <¤UÐ+IÕ%Jð <ÌxÔX]Ð^jÔln×ltÑltÐ^tÕXuÕOvñ <rR   c              #   óò   "  € ^ RI p^RIHp \        \	        WP
                  4      '       d   V P                  4       MV P                  4       4       F   w  r4V! ^ V4      VP                  4       3x € K"  	  R# 5i)r   NrI   )	r-  ÚbuilderrJ   r´  r  rŽ  Úcollect_batchesÚiter_slicesr5  )rr  r7  rK   Ú	slice_idxÚdf_slices   &    rP   r�  r�    s^   é € Ûå*ä(ÄÈB×P\ÑP\×A]ÒA]¨×);Ñ);Ô)=Ðce×cqÑcqÓcsÖtÑˆ	Ù˜˜IÓ&¨×(9Ñ(9Ó(;Ð;Ô;ó  uùs   ‚A5A7rM   rØ   )NNr   )NNNNr+  )·rŽ  Úconcurrent.futuresrY  rÂ  rŠ  rØ  Úmultiprocessing.poolr'  rå  r3  r™  r`  Úcollectionsr   Úcollections.abcr   r   r   r   Údataclassesr   Ú	functoolsr	   r
   r   Úpathlibr   Útypingr   r   r   r   r   r   Úfsspec.asynrJ  ÚmultiprocessrÄ  Únumpyrâ   Úpandasr.  Úpyarrowr{   Úpyarrow.datasetrã  rµ  Úpyarrow.parquetÚparquetrœ  Úhuggingface_hubr   r   r   r   r   Úhuggingface_hub.utilsr   Ú	packagingr   rE  r   r   Úarrow_datasetr   r   r   r   rÝ   r!   Úfeatures.featuresr"   r#   r$   r%   r&   r'   r(   r)   r*   rB  r+   r,   r-   r.   r/   r0   r  r1   Únamingr2   Úsplitsr3   r4   r5   ré  r6   r7   r8   r9   r:   r;   rç  r<   rÁ  Úutils.loggingr=   Úutils.py_utilsr>   r?   r@   Úutils.shardingrA   rB   rC   rD   Úutils.typingrE   ÚHF_HUB_VERSIONÚparseÚhuggingface_hub.errorsrF   Úhuggingface_hub.hf_file_systemrG   rH   Úsqlite3r-  r7  Ú
sqlalchemyrì  r  rJ   rK   r"  r£  rs   rY   rœ   rQ   rn   ru   r…   r�   r—   r¯   r½   r²   r,  re  r‹  rÓ  rû  r'  r‡  rÁ  rÃ  rú  r8  r:  rÍ  rÖ  rÙ  rÛ  rö  r¢  r'  r)  rf  r�  r«  rC  r¹  rß  rí  ró  rõ  ré  r  r  r  r*  r;  r�  rN   rR   rP   Ú<module>r>     s  ðÛ Û Û Û Û Û Û 	Û 
Û Û Ý ß .ß Ý !Ý ß #Ý ß J× Jã Û Û Û Û Ý Ý ÷õ õ :Ý ç !ß TÓ TÝ ÷
÷ 
õ 
÷÷ õ Ý ß 0Ñ 0÷÷ õ #Ý %÷ñ ÷
 wÓ vÝ "ð 
×Ñ˜GŸMšM¨'Ó2Ô2Ý:ßqÐqð ÐØ%)Ð"Ø)AÐ&çÛãÛÛå*á	�HÓ	€àˆC��e˜C ˜H•o |Ð3Õ4€òõõ÷7õ#õ>÷fõ@-÷T^ñ T^ônJ<Ð,ô J<ôZc<Ð1ô c<ôLY+Ð%:ô Y+ôx-+Ð1ô -+ô`D+Ð0ô D+ôNr
Ð*?ô r
ôjV
Ð9Nô V
õr
ôtÐ;Pô tônz
Ð2Uô z
õz
ôc+Ð2ô c+õL
(õ4õ
4ôV+Ð5ô V+ôrh+Ð%:ô h+ôVC Yô Côi+Ð0ô i+ôX4+Ð2ô 4+ônt+Ð0ô t+õnð ÷	Lð 	Ló ð	Lôv+Ð 5ô v+ðr ÷ð ó ðò
Aõ	÷1ñ 1ôBw)Ð&ô w)÷tSY÷xRõjòB#ò2÷<rR   