+
    ˜°³j  ã                   ó|   € ^ RI t ^ RIt^ RIHtHt ^ RIHtHt ^ RIH	t	 ]! R4      t
R.t ! R R]	]
,          4      tR# )é    N)ÚMappingÚSequence)ÚAnyÚTypeVar)ÚMapDataPipeÚ_TÚSequenceWrapperMapDataPipec                   ój   a € ] tR t^t o RtRV 3R lR lltV 3R lR ltV 3R lR ltV 3R ltR	t	V t
R
# )r	   aª  
Wraps a sequence object into a MapDataPipe.

Args:
    sequence: Sequence object to be wrapped into an MapDataPipe
    deepcopy: Option to deepcopy input sequence object

.. note::
  If ``deepcopy`` is set to False explicitly, users should ensure
  that data pipeline doesn't contain any in-place operations over
  the iterable instance, in order to prevent data inconsistency
  across iterations.

Example:
    >>> # xdoctest: +SKIP
    >>> from torchdata.datapipes.map import SequenceWrapper
    >>> dp = SequenceWrapper(range(10))
    >>> list(dp)
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    >>> dp = SequenceWrapper({"a": 100, "b": 200, "c": 300, "d": 400})
    >>> dp["a"]
    100
c                ó`   <€ V ^8„  d   QhRS[ S[,          S[S[S[3,          ,          RS[RR/# )é   ÚsequenceÚdeepcopyÚreturnN)r   r   r   r   Úbool)ÚformatÚ__classdict__s   "€Úe/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/utils/data/datapipes/map/utils.pyÚ__annotate__Ú'SequenceWrapperMapDataPipe.__annotate__)   s7   ø€ ÷ %ñ %Ù ¡�¡w©s±B¨wÕ'7Õ7ð%ÙCGð%à	ñ%ó    c                ó¾   € V'       d    \         P                  ! V4      V n        R# Wn        R#   \         d#    \        P
                  ! R ^R7       Yn         R# i ; i)zkThe input sequence can not be deepcopied, please be aware of in-place modification would affect source data)Ú
stacklevelN)Úcopyr   r   Ú	TypeErrorÚwarningsÚwarn)Úselfr   r   s   &&&r   Ú__init__Ú#SequenceWrapperMapDataPipe.__init__)   sP   € ÷ ð)Ü $§¢¨hÓ 7�–ð %ŽMøô ô )Ü—’ðXà õð
 !)—ð)ús   Š/ ¯)AÁAc                ó&   <€ V ^8„  d   QhRS[ RS[/# )r   Úindexr   )Úintr   )r   r   s   "€r   r   r   9   s   ø€ ÷ $ñ $¡ð $©ñ $r   c                ó(   € V P                   V,          # ©N©r   )r   r!   s   &&r   Ú__getitem__Ú&SequenceWrapperMapDataPipe.__getitem__9   s   € Ø�}‰}˜UÕ#Ð#r   c                ó    <€ V ^8„  d   QhRS[ /# )r   r   )r"   )r   r   s   "€r   r   r   <   s   ø€ ÷ "ñ "™ñ "r   c                ó,   € \        V P                  4      # r$   )Úlenr   )r   s   &r   Ú__len__Ú"SequenceWrapperMapDataPipe.__len__<   s   € Ü�4—=‘=Ó!Ð!r   c                ó\   <€ V ^8„  d   Qh/ S[ S[,          S[S[S[3,          ,          ;R&   # )r   r   )r   r   r   r   )r   r   s   "€r   r   r      s$   ø‡ ‚ ñ2 ‘r�l™W¡S©" WÕ-Õ-Ñ-ò3 r   r%   N)T)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r&   r+   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r	   r	      s0   ø‡ € ñ÷4%ò %÷ $ð $÷"ð "÷] ƒ r   )r   r   Úcollections.abcr   r   Útypingr   r   Ú#torch.utils.data.datapipes.datapiper   r   Ú__all__r	   © r   r   Ú<module>r;      s7   ðÛ Û ß -ß å ;ñ ˆTƒ]€à'Ð
(€ô/" ¨R¥ö /"r   