
    2Vh\                     0    d dl mZ d dlmZ  G d d      Zy)    )tree)KerasTensorc                       e Zd Zd Zd Zd Zy)SymbolicArgumentsc                    t        j                  d |      | _        t        j                  d |      | _        t        j                  | j                  | j                  f      | _        | j                  sJt        | j                        dk(  r2t        | j                  d   t              r| j                  d   | _	        nd | _	        g | _
        | j
                  D ].  }t        |t              s| j                  j                  |       0 y )Nc                     | S N xs    P/home/dcms/DCMS/lib/python3.12/site-packages/keras/src/ops/symbolic_arguments.py<lambda>z,SymbolicArguments.__init__.<locals>.<lambda>   s         c                     | S r	   r
   r   s    r   r   z,SymbolicArguments.__init__.<locals>.<lambda>   s    1 r      r   )r   map_structureargskwargsflatten_flat_argumentslen
isinstancer   _single_positional_tensorkeras_tensorsappend)selfr   r   args       r   __init__zSymbolicArguments.__init__   s    &&{D9	((f=#||TYY,DE DII!#499Q<5-1YYq\D*-1D*'' 	/C#{+""))#.	/r   c                     t        j                  || j                        }t        j                  || j                        }||fS r	   )r   r   r   r   )r   conversion_fnr   r   s       r   convertzSymbolicArguments.convert   s8    !!-;##M4;;?V|r   c                 ~    | j                   t        | j                            fi fS fd}| j                  |      S )zMaps KerasTensors to computed values using `tensor_dict`.

        `tensor_dict` maps `KerasTensor` instances to their current values.
        c                 ^    t        | t              rj                  t        |       d       S | S r	   )r   r   getid)r   tensor_dicts    r   	switch_fnz,SymbolicArguments.fill_in.<locals>.switch_fn)   s'    ![)"r!ud33Hr   )r   r%   r!   )r   r&   r'   s    ` r   fill_inzSymbolicArguments.fill_in   sG    
 ))5  4#A#A BCErII	
 ||I&&r   N)__name__
__module____qualname__r   r!   r(   r
   r   r   r   r      s    /(
'r   r   N)	keras.srcr   keras.src.backendr   r   r
   r   r   <module>r.      s     ))' )'r   