# --------------------------------------------------------------------------
# ⚠️ WARNING - AUTO-GENERATED CODE - DO NOT EDIT ⚠️
# ⚙️ Generated by 'python -m opgen'
# --------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
# --------------------------------------------------------------------------
# pylint: disable=W0221,W0222,R0901,W0237
# mypy: disable-error-code=override
# --------------------------------------------------------------------------

from __future__ import annotations

from typing import Mapping, Tuple

from onnx.defs import onnx_opset_version

from onnxscript.onnx_opset._impl.opset1 import Opset1
from onnxscript.onnx_opset._impl.opset2 import Opset2
from onnxscript.onnx_opset._impl.opset3 import Opset3
from onnxscript.onnx_opset._impl.opset4 import Opset4
from onnxscript.onnx_opset._impl.opset5 import Opset5
from onnxscript.onnx_opset._impl.opset6 import Opset6
from onnxscript.onnx_opset._impl.opset7 import Opset7
from onnxscript.onnx_opset._impl.opset8 import Opset8
from onnxscript.onnx_opset._impl.opset9 import Opset9
from onnxscript.onnx_opset._impl.opset10 import Opset10
from onnxscript.onnx_opset._impl.opset11 import Opset11
from onnxscript.onnx_opset._impl.opset12 import Opset12
from onnxscript.onnx_opset._impl.opset13 import Opset13
from onnxscript.onnx_opset._impl.opset14 import Opset14
from onnxscript.onnx_opset._impl.opset15 import Opset15
from onnxscript.onnx_opset._impl.opset16 import Opset16
from onnxscript.onnx_opset._impl.opset17 import Opset17
from onnxscript.onnx_opset._impl.opset18 import Opset18
from onnxscript.onnx_opset._impl.opset19 import Opset19
from onnxscript.onnx_opset._impl.opset20 import Opset20
from onnxscript.onnx_opset._impl.opset21 import Opset21
from onnxscript.onnx_opset._impl.opset22 import Opset22
from onnxscript.onnx_opset._impl.opset23 import Opset23
from onnxscript.onnx_opset._impl.opset24 import Opset24
from onnxscript.onnx_opset._impl.opset_ai_onnx_ml1 import Opset_ai_onnx_ml1
from onnxscript.onnx_opset._impl.opset_ai_onnx_ml2 import Opset_ai_onnx_ml2
from onnxscript.onnx_opset._impl.opset_ai_onnx_ml3 import Opset_ai_onnx_ml3
from onnxscript.onnx_opset._impl.opset_ai_onnx_ml4 import Opset_ai_onnx_ml4
from onnxscript.onnx_opset._impl.opset_ai_onnx_ml5 import Opset_ai_onnx_ml5
from onnxscript.values import Opset

__all__ = [
    "all_opsets",
    "opset1",
    "opset2",
    "opset3",
    "opset4",
    "opset5",
    "opset6",
    "opset7",
    "opset8",
    "opset9",
    "opset10",
    "opset11",
    "opset12",
    "opset13",
    "opset14",
    "opset15",
    "opset16",
    "opset17",
    "opset18",
    "opset19",
    "opset20",
    "opset21",
    "opset22",
    "opset23",
    "opset24",
    "opset_ai_onnx_ml1",
    "opset_ai_onnx_ml2",
    "opset_ai_onnx_ml3",
    "opset_ai_onnx_ml4",
    "opset_ai_onnx_ml5",
]


if onnx_opset_version() < 14:
    raise ImportError(
        f"ONNX Script requires ONNX opset >= 14 but {onnx_opset_version()} is detected."
    )


opset1 = Opset1()
opset2 = Opset2()
opset3 = Opset3()
opset4 = Opset4()
opset5 = Opset5()
opset6 = Opset6()
opset7 = Opset7()
opset8 = Opset8()
opset9 = Opset9()
opset10 = Opset10()
opset11 = Opset11()
opset12 = Opset12()
opset13 = Opset13()
opset14 = Opset14()
opset15 = Opset15()
opset16 = Opset16()
opset17 = Opset17()
opset18 = Opset18()
opset19 = Opset19()
opset20 = Opset20()
opset21 = Opset21()
opset22 = Opset22()
opset23 = Opset23()
opset24 = Opset24()
opset_ai_onnx_ml1 = Opset_ai_onnx_ml1()
opset_ai_onnx_ml2 = Opset_ai_onnx_ml2()
opset_ai_onnx_ml3 = Opset_ai_onnx_ml3()
opset_ai_onnx_ml4 = Opset_ai_onnx_ml4()
opset_ai_onnx_ml5 = Opset_ai_onnx_ml5()
all_opsets: Mapping[Tuple[str, int], Opset] = {
    (
        "",
        1,
    ): opset1,
    (
        "",
        2,
    ): opset2,
    (
        "",
        3,
    ): opset3,
    (
        "",
        4,
    ): opset4,
    (
        "",
        5,
    ): opset5,
    (
        "",
        6,
    ): opset6,
    (
        "",
        7,
    ): opset7,
    (
        "",
        8,
    ): opset8,
    (
        "",
        9,
    ): opset9,
    (
        "",
        10,
    ): opset10,
    (
        "",
        11,
    ): opset11,
    (
        "",
        12,
    ): opset12,
    (
        "",
        13,
    ): opset13,
    (
        "",
        14,
    ): opset14,
    (
        "",
        15,
    ): opset15,
    (
        "",
        16,
    ): opset16,
    (
        "",
        17,
    ): opset17,
    (
        "",
        18,
    ): opset18,
    (
        "",
        19,
    ): opset19,
    (
        "",
        20,
    ): opset20,
    (
        "",
        21,
    ): opset21,
    (
        "",
        22,
    ): opset22,
    (
        "",
        23,
    ): opset23,
    (
        "",
        24,
    ): opset24,
    (
        "ai.onnx.ml",
        1,
    ): opset_ai_onnx_ml1,
    (
        "ai.onnx.ml",
        2,
    ): opset_ai_onnx_ml2,
    (
        "ai.onnx.ml",
        3,
    ): opset_ai_onnx_ml3,
    (
        "ai.onnx.ml",
        4,
    ): opset_ai_onnx_ml4,
    (
        "ai.onnx.ml",
        5,
    ): opset_ai_onnx_ml5,
}
