Ë
    P/æj
  ã                  óH  — d Z ddlmZ ddlZddlmZmZmZ ddlm	Z	 g d¢Z
 ed«      Z e	ej                  d	¬
«      dd„«       Z e	ej                  j                  «      dd„«       Zee_         e	ej                  d	¬
«      dd„«       Z e	ej                   «      ddd„«       Zy)z 
Python polyfills for itertools
é    )ÚannotationsN)ÚIterableÚIteratorÚTypeVaré   )Úsubstitute_in_graph)ÚchainÚchain_from_iterableÚisliceÚteeÚ_TT)Úis_embedded_typec               '  ó2   K  — | D ]  }|E d {  –—†  Œ y 7 Œ­w©N© )Ú	iterablesÚiterables     úd/root/repos/pocs/video-evals/.venv/lib/python3.12/site-packages/torch/_dynamo/polyfills/itertools.pyr	   r	      s!   è ø€ àò ˆØ×ÑñØús   ‚�Žc               ó&   — t        j                  | Ž S r   )Ú	itertoolsr	   )r   s    r   r
   r
      s   € ä�?‰?˜HÐ%Ð%ó    c             '  ó–  K  — t        |Ž }|j                  €dn|j                  }|j                  }|j                  €dn|j                  }|dk  s|�|dk  s|dk  rt	        d«      ‚|€%|}t        | «      D ]  \  }}||k(  sŒ|–— ||z  }Œ y t        t        ||«      «      }	|}t        |	| «      D ]  \  }}||k(  sŒ|–— ||z  }Œ y ­w)Nr   é   zGIndices for islice() must be None or an integer: 0 <= x <= sys.maxsize.)	ÚsliceÚstartÚstopÚstepÚ
ValueErrorÚ	enumerateÚrangeÚmaxÚzip)
r   ÚargsÚsr   r   r   Únext_iÚiÚelementÚindicess
             r   r   r   (   sè   è ø€ äˆtˆ€AØ—‘�‰A a§g¡g€EØ�6‰6€DØ—‘�‰1 A§F¡F€DØˆq‚y�TÐ%¨$°ª(°t¸q²yÜØUó
ð 	
ð €|ð ˆÜ# HÓ-ò 	‰JˆAˆwØ�F‹{Ø’Ø˜$‘‘ñ	ô
 œ˜E 4Ó(Ó)ˆØˆÜ˜g xÓ0ò 	‰JˆAˆwØ�F‹{Ø’Ø˜$‘‘ñ	ùs   ‚A?C	Â:C	Â=C	c               ón   ‡‡‡— t        | «      Šd d gŠdˆfd„Št        ˆˆfd„t        |«      D «       «      S )Nc              3  óv   •K  — 	 	 | d   €t        ‰«      | d<   d d g| d<   | \  }} |–— Œ$# t        $ r Y y w xY w­w)Nr   r   )ÚnextÚStopIteration)ÚlinkÚvalueÚiterators     €r   Ú_teeztee.<locals>._teeJ   sX   øè ø€ ð	ØØ˜‘7�?Ü" 8›n�D˜‘GØ# T˜l�D˜‘GØ"‘��tØ’ð øô ò 	Ùð	üs   ƒ9…%* ª	6³9µ6¶9c              3  ó.   •K  — | ]  } ‰‰«      –— Œ y ­wr   r   )Ú.0Ú_r0   Úshared_links     €€r   ú	<genexpr>ztee.<locals>.<genexpr>U   s   øè ø€ Ò5 q‘�k×"Ñ5ùs   ƒ)ÚreturnúIterator[_T])ÚiterÚtupler    )r   Únr0   r/   r4   s     @@@r   r   r   E   s1   ú€ ä�H‹~€HØ˜�,€Kõ	ô Ô5¬E°!«HÔ5Ó5Ð5r   )r   úIterable[_T]r6   r7   )r   zIterable[Iterable[_T]]r6   r7   )r   r;   r#   z
int | Noner6   r7   )r   )r   r;   r:   Úintr6   ztuple[Iterator[_T], ...])Ú__doc__Ú
__future__r   r   Útypingr   r   r   Ú
decoratorsr   Ú__all__r   r	   Úfrom_iterabler
   r   r   r   r   r   ú<module>rC      s·   ðñõ #ã ß .Ñ .å ,ò€ñ ˆTƒ]€ñ �Y—_‘_°tÔ<òó =ðñ
 �Y—_‘_×2Ñ2Ó3ò&ó 4ð&ð *€Ô ñ �Y×%Ñ%¸Ô=òó >ðñ8 �Y—]‘]Ó#ó6ó $ñ6r   