
    ^h                         S SK r S SKrS SKJrJr  S SKJrJrJr  S SK	r
S SKr
S SKJr  S SK	JrJrJrJrJrJr  \(       a  S SKJr     SS\\   S\\   S	\\   S
\\   S\\ R.                     S\S\S   S\\   4S jjrg)    N)FunctionType
ModuleType)TYPE_CHECKINGAnyOptional)flow)REGISTERED_HANDLER_BY_FUNCTIONREGISTERED_HANDLER_BY_METHODExternalCallHandler$MutatingMethodEventNotYetImplementedNoopCallHandlerStandardMutation)Symbolmodulecaller_selffunction_or_methodmethod	call_nodeuse_standard_defaultcalling_symbolr   returnc           
         UbM  [        US5      (       a<  [        US5      (       a+  [        UR                  R                  UR                  U5      nUb  [        U[        5      (       a  U c  Un S nU [        L d  [        U SS 5      S:X  d	  U[        L a  g U[        L d  [        U[        R                  5      (       a  g UbL  [        S [        5       R                  R                  [        [        U5      5      / 5       5       5      (       a  g Uc  OUc  g [        U[        5      (       a  S n Uc  S nO[         R                  " U5      n Uce  Ubb  Ub_  [        U[        5      (       dJ  UR                  R%                  5        H,  n[&        R                  " X45      nUc  M  [        USU 5      n   O   Uc  U(       a  [(        nOg U[*        L a  g U[,        L a  [(        nUR/                  U UUUUS9$ ! ["         a     g f = f)N__self____name____main__c              3   8   #    U  H  oR                   v   M     g 7f)N)is_class).0syms     a/home/james-whalen/.local/lib/python3.13/site-packages/ipyflow/tracing/external_calls/__init__.py	<genexpr>(resolve_external_call.<locals>.<genexpr>7   s      ) M Ms   
__module__)r   r   r   r   r   )hasattrgetattrr   	__class__r   
isinstancer   loggingprintLoggeranyr   aliasesgetidtyper	   	TypeErrormror
   r   r   r   create)	r   r   r   r   r   r   r   external_call_typeclss	            r    resolve_external_callr5      s    	&&
33&
33$''11''

 :k:#F#F> F'6:t,
:&gK!H!H		 S ) $ 2 22d;6G3H" M) & & 			+z**%!%!?!C!CDV!W 	"#;--((,,.C!=!A!A3-!P!- lF;	 /
 !!1		.	C	C-$$-% %  /  s   ,G/ 2G/ /
G<;G<)NTN)astr(   typesr   r   typingr   r   r   ,ipyflow.tracing.external_calls.base_handlersipyflow,ipyflow.tracing.external_calls.list_handlersipyflow.singletonsr   r	   r
   r   r   r   r   ipyflow.data_model.symbolr   strCallboolr5        r    <module>rC      s    
  * / / 4 3 #  0 %)!%)-MZ M#M !.M SM	M
 !M M X&M !"MrB   