£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
U
    ʗRe                     @   s   d dl mZmZmZ edZee eeeef  dddZee eeeef  dddZee eeeeef  ddd	Zd
S )    )IterableTupleTypeVarT)valuesreturnc                 c   sN   t | }zt|}W n tk
r*   Y dS X d|fV  |D ]}d|fV  q:dS )z9Iterate and generate a tuple with a flag for first value.NTFiternextStopIteration)r   iter_valuesvalue r   /builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/rich/_loop.py
loop_first   s    
r   c                 c   sR   t | }zt|}W n tk
r*   Y dS X |D ]}d|fV  |}q0d|fV  dS )z8Iterate and generate a tuple with a flag for last value.NFTr   )r   r   previous_valuer   r   r   r   	loop_last   s    
r   c                 c   s^   t | }zt|}W n tk
r*   Y dS X d}|D ]}|d|fV  d}|}q4|d|fV  dS )zBIterate and generate a tuple with a flag for first and last value.NTFr   )r   r   r   firstr   r   r   r   loop_first_last   s    r   N)	typingr   r   r   r   boolr   r   r   r   r   r   r   <module>   s     