o
    i                     @   s*   d dl Z d dlmZ dd ZdddZdS )    NOperationNotSupportedErrorc                    s   t | stdt|  dt| }i |j}g  | D ] \}}|jtjj	u r/ 
| q|jtjju r>td| dq fddS )Nz5The given operation must be callable, but found type .zHThe given operation must not have a var-keyword parameter, but found '**z'.c                    s   |  v S N )name
kwargnamesr   Q/home/ubuntu/.local/lib/python3.10/site-packages/einx/_src/frontend/impl/_util.py<lambda>   s    z_make_iskwarg.<locals>.<lambda>)callable
ValueErrortypeinspect	signature
parametersitemskind	ParameterKEYWORD_ONLYappendVAR_KEYWORD)opr   r   r   paramr   r   r
   _make_iskwarg   s   

r   c                    s    fdd}|_ |S )Nc                     s,    d  d}d ur|d 7 }t |)Nz# operation is not supported by the z	 backend. r   )argskwargsmessage2backendmessager   r   r
   r      s   z_unsupported_op.<locals>.op)__name__)r   r    r!   r   r   r   r
   _unsupported_op   s   r#   r   )r   einx._src.frontend.errorsr   r   r#   r   r   r   r
   <module>   s    