+
    ÒÜ³jF  ã                   óÚ   a € R t0 t ^ RIt^ RIHt ^ RIHtHt ^ RIt^ RI	t
^RIHt ^RIHt ^RIHt ^RIHt ]'       d	   ^ RIt^ RIt]! 4       tRs] ^ k  ! R R	]]R
]3,          4      tR# )é    N)ÚMapping)ÚTYPE_CHECKINGÚOptional)Úconfig)Ú
get_logger)Ú
map_nested)ÚTensorFormatterc                   ó¬   a a€ ] tR t^&t oRV 3R llt]V3R lR l4       tR tR tR t	V3R lR l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V ;t# )ÚJaxFormatterc                ó¶  <€ \         SV `  WR 7       ^ RIp^ RIHp \        W&4      '       d   \        RV R\        V4       R24      h\        V\        4      '       d   TM \        VP                  ! 4       ^ ,          4      V n
        \        f   V P                  4       sV P                  \        \        P                  4       4      9  dŠ   \        P!                  RV P                   R\        \        P                  4       4       R\        VP                  ! 4       ^ ,          4       R	24       \        VP                  ! 4       ^ ,          4      V n
        W@n        R# )
)ÚfeaturesÚtoken_per_repo_idN)ÚDevicez	Expected z to be a `str` not z÷, as `jaxlib.xla_extension.Device` is not serializable neither with `pickle` nor with `dill`. Instead you can surround the device with `str()` to get its string identifier that will be internally mapped to the actual `jaxlib.xla_extension.Device`.zDevice with string identifier z) not listed among the available devices: z), so falling back to the default device: Ú.)ÚsuperÚ__init__ÚjaxÚjaxlib.xla_clientr   Ú
isinstanceÚ
ValueErrorÚtypeÚstrÚdevicesÚdeviceÚDEVICE_MAPPINGÚ_map_devices_to_strÚlistÚkeysÚloggerÚwarningÚjnp_array_kwargs)Úselfr   r   r   r!   r   r   Ú	__class__s   &&&&,  €Úb/home/luca/screen-checking/.venv/lib/python3.14/site-packages/datasets/formatting/jax_formatter.pyr   ÚJaxFormatter.__init__'   s  ø€ Ü‰Ñ (ÐÔPÛÝ,ä�f×%Ò%ÜØ˜F˜8Ð#6´t¸F³|°nð E?ð ?óð ô !+¨6´3× 7Ò 7‘f¼SÀÇÂÃÈqÕAQÓ=RˆŒô Ò!Ø!×5Ñ5Ó7ˆNØ�;‰;œd¤>×#6Ñ#6Ó#8Ó9Ô9Ü�N‰NØ0°·±°ð >Ü ¤×!4Ñ!4Ó!6Ó7Ð8ð 9Ü˜sŸ{š{›}¨QÕ/Ó0Ð1°ð4ôô
 ˜cŸkšk›m¨AÕ.Ó/ˆDŒKØ 0Öó    c                ó4   <€ V ^8„  d   QhRS[ S[R3,          /# )é   Úreturnzjaxlib.xla_extension.Device)Údictr   )ÚformatÚ__classdict__s   "€r$   Ú__annotate__ÚJaxFormatter.__annotate__C   s"   ø€ ÷ Añ A¡¡cÐ+HÐ&HÕ!Iñ Ar&   c                 ój   € ^ RI p V P                  ! 4        Uu/ uF  p\        V4      VbK  	  up# u upi ©r   N)r   r   r   )r   r   s     r$   r   Ú JaxFormatter._map_devices_to_strB   s,   € ãà25·+²+´-Ó@±-¨”�F“˜VÒ#±-Ñ@Ð@ùÒ@s   ˜0c                ó  aa€ ^ RI o^ RIHp \        S\        4      '       d^   S'       dV   \
        ;QJ d     VV3R lS 4       F  '       d   K   RM	  RM! VV3R lS 4       4      '       d   VP                  S^ R7      # S# )r   Nc              3   óð   <"  € T Fk  p\        VSP                  4      ;'       dI    VP                  S^ ,          P                  8H  ;'       d!    VP                  S^ ,          P                  8H  x € Km  	  R# 5ir0   )r   ÚArrayÚshapeÚdtype)Ú.0ÚxÚcolumnr   s   & €€r$   Ú	<genexpr>Ú,JaxFormatter._consolidate.<locals>.<genexpr>M   s[   øé € ð ÙpvÐkl”
˜1˜cŸi™iÓ(×fÐf¨Q¯W©W¸¸q½	¿¹Ñ-G×fÐfÈAÏGÉGÐW]Ð^_ÕW`×WfÑWfÑLfÔfÓpvùs   ƒ!A6¥'A6Á)A6FT)Úaxis)r   Ú	jax.numpyÚnumpyr   r   ÚallÚstack)r"   r9   Újnpr   s   &f @r$   Ú_consolidateÚJaxFormatter._consolidateH   sa   ù€ ÛÝä�fœd×#Ò#¯ß‹sõ Ùpvó�s�sŠsõ Ùpvó÷ ò ð —y‘y ¨a�yÓ0Ð0Øˆr&   c                ó˜  € ^ RI p^ RIHp \        V\        \
        \        R4      34      '       d   V# \        V\        P                  \        P                  34      '       dF   \        P                  ! VP                  \        P                  4      '       d   VP                  4       # / p\        V\        P                  \        P                  34      '       dp   \        P                  ! VP                  \        P                  4      '       d;   VP                  P                   '       d   RVP"                  /pM‚RVP$                  /pMs\        V\        P                  \        P                  34      '       dD   \        P                  ! VP                  \        P&                  4      '       d   RVP(                  /p\        P*                  '       dU   R\,        P.                  9   d@   ^ RIp\        WP2                  P2                  4      '       d   \        P4                  ! V4      p\        P6                  '       d1   R\,        P.                  9   d    ^ RIHp \        W4      '       d   V#  \        P>                  '       d3   R\,        P.                  9   d   ^ RI H!pH"p \        WV34      '       d   V# \F        f   V PI                  4       s#VPJ                  ! \F        V PL                  ,          4      ;_uu_ 4        VPN                  ! V3/ / VCV PP                  CB uuRRR4       #   \<         d     LÈi ; i  + '       g   i     R# ; i)r   Nr6   ÚPILÚtorchvision)ÚVideoReaderÚ
torchcodec)ÚAudioDecoderÚVideoDecoder))r   r=   r>   r   r   Úbytesr   ÚnpÚ	characterÚndarrayÚ
issubdtyper6   ÚtolistÚnumberÚintegerr   Újax_enable_x64Úint64Úint32ÚfloatingÚfloat32ÚPIL_AVAILABLEÚsysÚmodulesÚ	PIL.ImageÚImageÚasarrayÚTORCHVISION_AVAILABLEÚtorchvision.iorG   ÚImportErrorÚTORCHCODEC_AVAILABLEÚtorchcodec.decodersrI   rJ   r   r   Údefault_devicer   Úarrayr!   )	r"   Úvaluer   rA   Údefault_dtyperE   rG   rI   rJ   s	   &&       r$   Ú
_tensorizeÚJaxFormatter._tensorizeS   s-  € ÛÝä�eœc¤5¬$¨t«*Ð5×6Ò6ØˆLÜ˜¤§¡¬b¯j©jÐ9×:Ò:¼r¿}º}ÈUÏ[É[ÔZ\×ZfÑZf×?gÒ?gØ—<‘<“>Ð!àˆä�eœbŸi™i¬¯©Ð4×5Ò5¼"¿-º-ÈÏÉÔUW×U_ÑU_×:`Ò:`ð �z‰z×(×(Ð(Ø!(¨#¯)©)Ð 4‘à!(¨#¯)©)Ð 4‘Ü˜¤§	¡	¬2¯:©:Ð6×7Ò7¼B¿MºMÈ%Ï+É+ÔWY×WbÑWb×<cÒ<cØ$ c§k¡kÐ2ˆMä××Ð E¬S¯[©[Ô$8Ûä˜%§¡§¡×1Ò1ÜŸ
š
 5Ó)�Ü×'×'Ð'¨M¼S¿[¹[Ô,HðÝ6ä˜e×1Ò1Ø �Lð 2ô ×&×&Ð&¨<¼3¿;¹;Ô+FßFä˜%°Ð!=×>Ò>Ø�ô
 Ò!Ø!×5Ñ5Ó7ˆNà×Ò¤¨t¯{©{Õ ;×<Õ<ð —9’9˜UÑQÐ&P¨Ð&P¸$×:OÑ:OÐ&PÑQ÷ =Ò<øô ô Ùðú÷ =×<Ð<ús   ÉL' Ë;!L8Ì'L5Ì4L5Ì8M		c                ó2  € ^ RI p\        P                  '       dw   R\        P                  9   db   ^ RIp\        WP                  4      '       dC   V P                  VP                  4       P                  4       P                  4       R,          4      # \        VR4      '       d,   \        WP                  4      '       g   VP                  4       p\        V\        P                   4      '       dF   VP"                  \$        8X  d0   T P'                  V Uu. uF  q@P)                  V4      NK  	  up4      # MK\        V\*        \,        34      '       d0   T P'                  V Uu. uF  q@P)                  V4      NK  	  up4      # V P                  V4      # u upi u upi )r   NÚtorchÚ	__array__© )r   r   ÚTORCH_AVAILABLErY   rZ   rj   r   ÚTensorrg   ÚdetachÚcpur>   Úhasattrr4   rk   rL   rN   r6   ÚobjectrB   Úrecursive_tensorizer   Útuple)r"   Údata_structr   rj   Ú	substructs   &&   r$   Ú_recursive_tensorizeÚ!JaxFormatter._recursive_tensorize†   s.  € Ûô ×!×!Ð! g´·±Ô&<Ûä˜+§|¡|×4Ò4Ø—‘ {×'9Ñ'9Ó';×'?Ñ'?Ó'A×'GÑ'GÓ'IÈ"Õ'MÓNÐNÜ�; ×,Ò,´ZÀÏYÉY×5WÒ5WØ%×/Ñ/Ó1ˆKä�k¤2§:¡:×.Ò.Ø× Ñ ¤FÔ*Ø×(Ñ(Ñ_jÓ)kÑ_jÐR[×*BÑ*BÀ9Ö*MÑ_jÑ)kÓlÐlð +ä˜¤d¬E ]×3Ò3Ø×$Ñ$Ñ[fÓ%gÑ[fÈi×&>Ñ&>¸yÖ&IÑ[fÑ%gÓhÐhØ�‰˜{Ó+Ð+ùò *lùâ%gs   ÄFÅFc                ó    <€ V ^8„  d   QhRS[ /# )r(   ru   )r*   )r+   r,   s   "€r$   r-   r.   ™   s   ø€ ÷ Rñ R©tñ Rr&   c                ó2   € \        V P                  VR R7      # )F)Úmap_list)r   rw   )r"   ru   s   &&r$   rs   Ú JaxFormatter.recursive_tensorize™   s   € Ü˜$×3Ñ3°[È5ÔQÐQr&   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# ©r(   Úpa_tabler)   ©ÚpaÚTabler   )r+   r,   s   "€r$   r-   r.   œ   s   ø€ ÷ -ñ -¡2§8¡8ð -±ñ -r&   c                ó˜   € V P                  4       P                  V4      pV P                  P                  V4      pV P	                  V4      # ©N)Únumpy_arrow_extractorÚextract_rowÚpython_features_decoderÚ
decode_rowrs   )r"   r   Úrows   && r$   Ú
format_rowÚJaxFormatter.format_rowœ   sB   € Ø×(Ñ(Ó*×6Ñ6°xÓ@ˆØ×*Ñ*×5Ñ5°cÓ:ˆØ×'Ñ'¨Ó,Ð,r&   c                ó8   <€ V ^8„  d   QhRS[ P                  RR/# )r(   r   r)   ú	jax.Array)r�   r‚   )r+   r,   s   "€r$   r-   r.   ¡   s   ø€ ÷ ñ ¡b§h¡hð °;ñ r&   c                óà   € V P                  4       P                  V4      pV P                  P                  W!P                  ^ ,          4      pV P                  V4      pV P                  V4      pV# )r   )r…   Úextract_columnr‡   Údecode_columnÚcolumn_namesrs   rB   )r"   r   r9   s   && r$   Úformat_columnÚJaxFormatter.format_column¡   sb   € Ø×+Ñ+Ó-×<Ñ<¸XÓFˆØ×-Ñ-×;Ñ;¸F×DYÑDYÐZ[ÕD\Ó]ˆØ×)Ñ)¨&Ó1ˆØ×"Ñ" 6Ó*ˆØˆr&   c                ó:   <€ V ^8„  d   QhRS[ P                  RS[/# r~   r€   )r+   r,   s   "€r$   r-   r.   ¨   s   ø€ ÷ ñ ¡R§X¡Xð ±'ñ r&   c                óà   € V P                  4       P                  V4      pV P                  P                  V4      pV P	                  V4      pV F  pV P                  W#,          4      W#&   K  	  V# r„   )r…   Úextract_batchr‡   Údecode_batchrs   rB   )r"   r   ÚbatchÚcolumn_names   &&  r$   Úformat_batchÚJaxFormatter.format_batch¨   sf   € Ø×*Ñ*Ó,×:Ñ:¸8ÓDˆØ×,Ñ,×9Ñ9¸%Ó@ˆØ×(Ñ(¨Ó/ˆÛ ˆKØ!%×!2Ñ!2°5Õ3EÓ!FˆEÓñ !àˆr&   )r   r!   )NNN)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ústaticmethodr   rB   rg   rw   rs   rŠ   r’   rš   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r#   r,   s   @@r$   r   r   &   s`   ù‡ € ÷1ð6 ÷Aó ðAò
	ò1Ròf,÷&Rð R÷-ð -÷
ð ÷÷ ð r&   r   r�   c                óV   € V ^8„  d   Qh/ ^ \         9   d   \        \        ,          ;R&   # )r(   r   )Ú__conditional_annotations__r   r*   )r+   s   "r$   r-   r-      s   € ‡
�
÷& &Ò %”œ•Ñ %ò' r&   )r¥   rY   Úcollections.abcr   Útypingr   r   r>   rL   Úpyarrowr�   Ú r   Úutils.loggingr   Úutils.py_utilsr   Ú
formattingr	   r   Újaxlibr   r   r   r-   )r¥   s   @r$   Ú<module>r®      sY   øð÷  €
Ý #ß *ã Û å Ý &Ý 'Ý '÷ ÛÛá	‹€à!%€Ó %ôH�? 7¨K¸Ð#@ÕAö Hr&   