�
%�g� � � � d dl Z d dlZd dlmZ d dlmZmZ d dlZd dl Z d dl
mZ dd�Zd� Z
d� Zdeeej f d eee j f fd
�Z G d� de� � Z G d
� de� � Zd eee j f dee fd�ZdS )� N)�Mapping)�Optional�Union)� safe_openc �" � d }t | j � � dk r!| � t j � � } d}| � � � � � � }t j � ||� d�� � }|�0|�t |j � � }|t |j � � d�||<