o
    wi                     @  s6   d dl mZ d dlmZ d dlmZmZ ddd	Zd
S )    )annotations)Any)OpRun_split_class_namemodule_contextdict[str, Any]return(dict[str, dict[int | None, type[OpRun]]]c           
      C  s   i }|   D ]N\}}|ds|dv rqt|ttrqd}zt|t}W n ty= } ztd|d|d|d }~ww |rTt|\}}||vrNi ||< ||| |< q|s[t	d|
 D ]}d |v rfq_t|}	||	 |d < q_|S )N_>   clr   DictListUniontextwrap	TOptional
class_name
get_schemar   r   FzUnexpected variable type z and class_name=.zNo registered operator. This error happens when no implementation of type 'OpRun' was detected. It may be due to an error during installation. Please try reinstalling onnx.)items
startswith
isinstancetype%build_registered_operators_any_domain
issubclassr   	TypeErrorr   RuntimeErrorvaluesmax)
r   reg_opsr   
class_typeissubeop_type
op_versionimplmax_version r&   X/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/reference/ops/_helpers.pyr      sB   r   N)r   r   r   r	   )
__future__r   typingr   onnx.reference.op_runr   r   r   r&   r&   r&   r'   <module>   s   