
    	Ae1                     *    d Z ddlZddlmZmZmZ d Zy)z
Call loop machinery
    N   )HookCallError_Result_raise_wrapfailc                    d}g }d}	 g }	 t        |      D ]  }	 |j                  D 	cg c]  }	||	   	 }
}	|j                  r-	  |j
                  
 }t        |       |j                  |       Y |j
                  
 }|k|j                  |       |s n |rt        |r|d   nd|      }nt        ||      }t        |      D ]   }	 |j                  |       t        |d       " |j                         S c c}	w # t        $ r& |j                  D ]  }	|	|vst        d|	       Y w xY w# t        $ r t        d       Y 1w xY w# t        $ r t        j                         }Y w xY w# t        $ r Y w xY w# |rt        |r|d   nd|      }nt        ||      }t              D ]/  }	 |j                  |       t        |d       "# t        $ r Y -w xY w |j                         c cY S xY w)zExecute a call into multiple python functions/methods and return the
    result(s).

    ``caller_kwargs`` comes from _HookCaller.__call__().
    TNz hook call must provide argument zdid not yieldr   zhas second yield)reversedargnamesKeyErrorr   hookwrapperfunctionnextappendStopIterationr   BaseExceptionsysexc_infor   send
get_result)	hook_name
hook_implscaller_kwargsfirstresult__tracebackhide__resultsexcinfo	teardowns	hook_implargnameargsgenresoutcomes                 /lib/python3.12/site-packages/pluggy/_callers.py
_multicallr$   	   s1    GG*$		%%j1 "	BKBTBTUwM'2UDU ((>0i00$7S	!((- -),,d3Cs+&!-"4 GgajwGGgw/G I& 	C!%78	 !!##K V #,#5#5 "-7"/"B7+ N#  ) >'_=>  	%llnG	% !  GgajwGGgw/G I& 	C!%78  		 !!##s   E= E C=C8C=E +D/.E E E 	E.8C==D,D,)E +D,,E /EE EE E+(E= *E++E= .	E:9E:=1G1/GG1	G	G1G	G1)__doc__r   _resultr   r   r   r$        r#   <module>r)      s     < <3$r(   