ó
    "Eñi  ã                   ór   • S SK r S SKrS SKJrJr  S SKJrJr  S SKJ	r	  \" S5      r
S/r " S S\	\
   5      rg)é    N)ÚMappingÚSequence)ÚAnyÚTypeVar)ÚMapDataPipeÚ_TÚSequenceWrapperMapDataPipec                   óŒ   • \ rS rSr% Sr\\   \\\4   -  \	S'    SS\\   \\\4   -  S\
SS4S jjrS\S\4S	 jrS\4S
 jrSrg)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
ÚsequenceÚdeepcopyÚreturnNc                 ó®   • U(       a   [         R                  " U5      U l        g Xl        g ! [         a    [        R
                  " SSS9  Xl         g f = f)NzkThe input sequence can not be deepcopied, please be aware of in-place modification would affect source dataé   )Ú
stacklevel)Úcopyr   r   Ú	TypeErrorÚwarningsÚwarn)Úselfr   r   s      Úa/home/mande/repo/quber/.venv/lib/python3.13/site-packages/torch/utils/data/datapipes/map/utils.pyÚ__init__Ú#SequenceWrapperMapDataPipe.__init__)   sP   € ö ð)Ü $§¢¨hÓ 7�•ð %�Møô ó )Ü—’ðXà òð
 !)–ð)ús   ‰, ¬%AÁAÚindexc                 ó    • U R                   U   $ ©N©r   )r   r   s     r   Ú__getitem__Ú&SequenceWrapperMapDataPipe.__getitem__9   s   € Ø�}‰}˜UÑ#Ð#ó    c                 ó,   • [        U R                  5      $ r   )Úlenr   )r   s    r   Ú__len__Ú"SequenceWrapperMapDataPipe.__len__<   s   € Ü�4—=‘=Ó!Ð!r    r   )T)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r   r   Ú__annotations__Úboolr   Úintr   r#   Ú__static_attributes__© r    r   r	   r	      sv   ‡ ñð0 �r‰l˜W S¨" WÑ-Ñ-Ó-ð KOñ%Ø  ™ w¨s°B¨wÑ'7Ñ7ð%ØCGð%à	õ%ð $ ð $¨ô $ð"˜÷ "r    )r   r   Úcollections.abcr   r   Útypingr   r   Ú#torch.utils.data.datapipes.datapiper   r   Ú__all__r	   r.   r    r   Ú<module>r3      s7   ðÛ Û ß -ß å ;ñ ˆTƒ]€à'Ð
(€ô/" ¨R¡õ /"r    