# ***** This file was auto-generated at Thu, 9 Jun 2022 17:57:49 GMT. Do not edit this file manually. *****
# ***** Use onos-lib-gen *****

load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION")


load("@bazel_tools//tools/build_defs/repo:java.bzl", "java_import_external")

COMPILE = [
    "@commons_configuration//jar",
    "@commons_logging//jar",
    "@commons_collections//jar",
    "@commons_lang//jar",
    "@commons_lang3//jar",
    "@commons_io//jar",
    "@commons_pool//jar",
    "@com_google_guava_guava//jar",
    "@slf4j_api//jar",
    "@osgi_core//jar",
    "@org_osgi_util_promise//jar",
    "@org_osgi_service_component//jar",
    "@org_osgi_service_component_annotations//jar",
    "@org_osgi_service_metatype_annotations//jar",
    "@org_apache_karaf_features_core//jar",
    "@org_apache_karaf_system_core//jar",
    "@org_apache_servicemix_bundles_dom4j//jar",
    "@com_google_code_findbugs_jsr305//jar",
]
CORE_DEPS = [] + COMPILE + [
    "//core/api:onos-api",
    "//utils/misc:onlab-misc",
    "//utils/osgi:onlab-osgi",
]
JAXB = [
    "@jaxb_api//jar",
    "@jaxb_core//jar",
    "@jaxb_impl//jar",
    "@javax_activation//jar",
]
TEST = [
    "@junit//jar",
    "@easymock//jar",
    "@hamcrest_all//jar",
    "@hamcrest_optional//jar",
    "@com_google_guava_guava_testlib//jar",
    "//utils/junit:onlab-junit",
]
TEST_ADAPTERS = [] + TEST + [
    "//core/common:onos-core-common",
    "//core/api:onos-api-tests",
    "//core/common:onos-core-common-tests",
]
TEST_REST = [] + TEST_ADAPTERS + [
    "@jersey_client//jar",
    "@jersey_server//jar",
    "@jersey_common//jar",
    "@jersey_hk2//jar",
    "@jersey_test_framework_core//jar",
    "@jersey_test_framework_jetty//jar",
    "@jersey_container_jetty_http//jar",
    "@jetty_continuation//jar",
    "@jetty_http//jar",
    "@jetty_server//jar",
    "@jetty_io//jar",
    "@jetty_util//jar",
    "@javax_servlet_api//jar",
    "@hk2_api//jar",
    "@hk2_locator//jar",
    "@hk2_utils//jar",
    "@javax_inject//jar",
    "@hk2_osgi_resource_locator//jar",
    "@javax_annotation_javax_annotation_api//jar",
    "@validation_api//jar",
    "//core/common:onos-core-common",
    "//core/api:onos-api-tests",
    "//core/common:onos-core-common-tests",
    "//utils/osgi:onlab-osgi-tests",
]
NETTY = [
    "@io_netty_netty_buffer//jar",
    "@io_netty_netty_common//jar",
]
ONOS_YANG = [
    "@onos_yang_model//jar",
    "@onos_yang_compiler_api//jar",
    "@onos_yang_serializers_json//jar",
    "@onos_yang_serializers_xml//jar",
    "@onos_yang_serializers_utils//jar",
]
JACKSON = [
    "@jackson_annotations//jar",
    "@jackson_core//jar",
    "@jackson_databind//jar",
]
METRICS = [
    "@metrics_core//jar",
    "@metrics_json//jar",
]
KRYO = [
    "@kryo//jar",
    "@reflectasm//jar",
    "@asm//jar",
    "@minlog//jar",
    "@objenesis//jar",
]
CLI = [
    "@org_apache_karaf_shell_core//jar",
    "//cli:onos-cli",
]
REST = [
    "@javax_ws_rs_api//jar",
    "//utils/rest:onlab-rest",
]
ATOMIX = [
    "@atomix//jar",
    "@atomix_cluster//jar",
    "@atomix_primary_backup//jar",
    "@atomix_primitive//jar",
    "@atomix_raft//jar",
    "@atomix_storage//jar",
    "@atomix_utils//jar",
    "@typesafe_config//jar",
    "@classgraph//jar",
]

def generated_maven_jars():
    if "aopalliance_repackaged" not in native.existing_rules():
        java_import_external(
            name = "aopalliance_repackaged",
            jar_sha256 = "669869a9d7e98fcea34580de250db54531550487d03571f26b9592e712897423",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/external/aopalliance-repackaged/2.5.0-b42/aopalliance-repackaged-2.5.0-b42.jar"],        )
    if "amqp_client" not in native.existing_rules():
        java_import_external(
            name = "amqp_client",
            jar_sha256 = "cb6cdb7de8d37cb1b15b23867435c7dbbeaa1ca4b766f434138a8b9ef131994f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/rabbitmq/amqp-client/3.6.1/amqp-client-3.6.1.jar"],        )
    if "asm" not in native.existing_rules():
        java_import_external(
            name = "asm",
            jar_sha256 = "3e5ea0d7da2c5155ef4f470d9092d42de34e3f53db6589c7c07d6721adf4ba3e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/ow2/asm/asm/5.2/asm-5.2.jar"],        )
    if "atomix" not in native.existing_rules():
        java_import_external(
            name = "atomix",
            jar_sha256 = "d5163b005977b5da5f27835af528fce4a71127a1c795f5350f05a5767324e019",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix/3.1.12/atomix-3.1.12.jar"],        )
    if "atomix_cluster" not in native.existing_rules():
        java_import_external(
            name = "atomix_cluster",
            jar_sha256 = "4e3cbd01f23414934ffe5ccfafa0b16d4009c3d497390fcf8711236f6055fda2",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-cluster/3.1.12/atomix-cluster-3.1.12.jar"],        )
    if "atomix_primary_backup" not in native.existing_rules():
        java_import_external(
            name = "atomix_primary_backup",
            jar_sha256 = "afa5191c3a1ab79e007c208c9ef44f4b7c6e0904a1d7f576200d3cacd90c3f4b",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-primary-backup/3.1.12/atomix-primary-backup-3.1.12.jar"],        )
    if "atomix_primitive" not in native.existing_rules():
        java_import_external(
            name = "atomix_primitive",
            jar_sha256 = "a2a4002824db7b80308f8cedd83a5abe67ebdb9723b6c50fa99ab935c49c2641",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-primitive/3.1.12/atomix-primitive-3.1.12.jar"],        )
    if "atomix_raft" not in native.existing_rules():
        java_import_external(
            name = "atomix_raft",
            jar_sha256 = "9583123d7cfc60edb786964087b92f568aafdf00be1b52d4e4737a6cf9d4ca31",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-raft/3.1.12/atomix-raft-3.1.12.jar"],        )
    if "atomix_storage" not in native.existing_rules():
        java_import_external(
            name = "atomix_storage",
            jar_sha256 = "d81895846ca70202f38a13c9627b8fc3674e363a3670f7f1221e5444188bbaf3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-storage/3.1.12/atomix-storage-3.1.12.jar"],        )
    if "atomix_utils" not in native.existing_rules():
        java_import_external(
            name = "atomix_utils",
            jar_sha256 = "8d8b177488bf7665e008e892b33a5fbde92d6233dc83cf350d51f6bc3f5344d8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-utils/3.1.12/atomix-utils-3.1.12.jar"],        )
    if "classgraph" not in native.existing_rules():
        java_import_external(
            name = "classgraph",
            jar_sha256 = "92a75236a6a30993895916b7eea4011c54d3182c9fa6734e8c23b30cc9500023",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/github/classgraph/classgraph/4.2.3/classgraph-4.2.3.jar"],        )
    if "commons_codec" not in native.existing_rules():
        java_import_external(
            name = "commons_codec",
            jar_sha256 = "4241dfa94e711d435f29a4604a3e2de5c4aa3c165e23bd066be6fc1fc4309569",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-codec/commons-codec/1.10/commons-codec-1.10.jar"],        )
    if "commons_cli" not in native.existing_rules():
        java_import_external(
            name = "commons_cli",
            jar_sha256 = "f8046bdc72b7ff88afb1dff5ff45451df95290c78a639ec7fa40c953ca89cb26",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-cli/commons-cli/1.3/commons-cli-1.3.jar"],        )
    if "commons_collections" not in native.existing_rules():
        java_import_external(
            name = "commons_collections",
            jar_sha256 = "eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar"],        )
    if "commons_configuration" not in native.existing_rules():
        java_import_external(
            name = "commons_configuration",
            jar_sha256 = "95d4e6711e88ce78992c82c25bc03c8df9ecf5a357f0de0bec72a26db3399374",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-configuration/commons-configuration/1.10/commons-configuration-1.10.jar"],        )
    if "commons_io" not in native.existing_rules():
        java_import_external(
            name = "commons_io",
            jar_sha256 = "f877d304660ac2a142f3865badfc971dec7ed73c747c7f8d5d2f5139ca736513",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar"],        )
    if "commons_beanutils" not in native.existing_rules():
        java_import_external(
            name = "commons_beanutils",
            jar_sha256 = "c058e39c7c64203d3a448f3adb588cb03d6378ed808485618f26e137f29dae73",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.9.3/commons-beanutils-1.9.3.jar"],        )
    if "commons_jxpath" not in native.existing_rules():
        java_import_external(
            name = "commons_jxpath",
            jar_sha256 = "fcbc0ad917d9d6a73c6df21fac322e00d213ef19cd94815a007c407a8a3ff449",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-jxpath/commons-jxpath/1.3/commons-jxpath-1.3.jar"],        )
    if "fast_classpath_scanner" not in native.existing_rules():
        java_import_external(
            name = "fast_classpath_scanner",
            jar_sha256 = "80bd0619aa2111c26ad69808e29f649c860d30b14cbbbb080968a20518068185",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/github/lukehutch/fast-classpath-scanner/2.21/fast-classpath-scanner-2.21.jar"],        )
    if "jdom" not in native.existing_rules():
        java_import_external(
            name = "jdom",
            jar_sha256 = "3b23bc3979aec14a952a12aafc483010dc57579775f2ffcacef5256a90eeda02",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/jdom/jdom/1.0/jdom-1.0.jar"],        )
    if "commons_lang" not in native.existing_rules():
        java_import_external(
            name = "commons_lang",
            jar_sha256 = "50f11b09f877c294d56f24463f47d28f929cf5044f648661c0f0cfbae9a2f49c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar"],        )
    if "commons_lang3" not in native.existing_rules():
        java_import_external(
            name = "commons_lang3",
            jar_sha256 = "6e8dc31e046508d9953c96534edf0c2e0bfe6f468966b5b842b3f87e43b6a847",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7.jar"],        )
    if "commons_logging" not in native.existing_rules():
        java_import_external(
            name = "commons_logging",
            jar_sha256 = "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar"],        )
    if "commons_math3" not in native.existing_rules():
        java_import_external(
            name = "commons_math3",
            jar_sha256 = "1e56d7b058d28b65abd256b8458e3885b674c1d588fa43cd7d1cbb9c7ef2b308",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar"],        )
    if "commons_net" not in native.existing_rules():
        java_import_external(
            name = "commons_net",
            jar_sha256 = "c25b0da668b3c5649f002d504def22d1b4cb30d206f05428d2fe168fa1a901c2",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-net/commons-net/3.5/commons-net-3.5.jar"],        )
    if "commons_pool" not in native.existing_rules():
        java_import_external(
            name = "commons_pool",
            jar_sha256 = "46c42b4a38dc6b2db53a9ee5c92c63db103665d56694e2cfce2c95d51a6860cc",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-pool/commons-pool/1.6/commons-pool-1.6.jar"],        )
    if "commons_text" not in native.existing_rules():
        java_import_external(
            name = "commons_text",
            jar_sha256 = "8185b3a5311092d83ed1f184c2d093b3105d726bbd76867c32b3511542bb99a8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/commons/commons-text/1.3/commons-text-1.3.jar"],        )
    if "concurrent_trees" not in native.existing_rules():
        java_import_external(
            name = "concurrent_trees",
            jar_sha256 = "04e3724984e2a5cbf55606cfa372a5bd3d3c5d2a21533a7004e3cde539761fa5",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/googlecode/concurrent-trees/concurrent-trees/2.6.1/concurrent-trees-2.6.1.jar"],        )
    if "easymock" not in native.existing_rules():
        java_import_external(
            name = "easymock",
            jar_sha256 = "104370107ef64d115e642cbdc14cea438a8d076f5aee9a9cb7882dc9a8ed4123",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/easymock/easymock/4.0.2/easymock-4.0.2.jar"],        )
    if "antlr" not in native.existing_rules():
        java_import_external(
            name = "antlr",
            jar_sha256 = "88fbda4b912596b9f56e8e12e580cc954bacfb51776ecfddd3e18fc1cf56dc4c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/antlr/antlr/2.7.7/antlr-2.7.7.jar"],        )
    if "ganymed_ssh2" not in native.existing_rules():
        java_import_external(
            name = "ganymed_ssh2",
            jar_sha256 = "dc3c036d9d3a54742e01f50a6f4613be5a8e5647e958348932a2bdb0007fa15a",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/ch/ethz/ganymed/ganymed-ssh2/262/ganymed-ssh2-262.jar"],        )
    if "gmetric4j" not in native.existing_rules():
        java_import_external(
            name = "gmetric4j",
            jar_sha256 = "a32eb2f88f7c0fbc2846535c55d6f7bd8fc5763470bc3e1142cbaef2110a6bf3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/info/ganglia/gmetric4j/gmetric4j/1.0.10/gmetric4j-1.0.10.jar"],        )
    if "com_google_code_gson_gson" not in native.existing_rules():
        java_import_external(
            name = "com_google_code_gson_gson",
            jar_sha256 = "2d43eb5ea9e133d2ee2405cc14f5ee08951b8361302fdd93494a3a997b508d32",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/code/gson/gson/2.7/gson-2.7.jar"],        )
    if "com_google_guava_guava" not in native.existing_rules():
        java_import_external(
            name = "com_google_guava_guava",
            jar_sha256 = "1158e94c7de4da480873f0b4ab4a1da14c0d23d4b1902cc94a58a6f0f9ab579e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/guava/guava/22.0/guava-22.0.jar"],        )
    if "com_google_guava_guava_testlib" not in native.existing_rules():
        java_import_external(
            name = "com_google_guava_guava_testlib",
            jar_sha256 = "5a7542ddd374a6a2e1c4f55609a72f926267047acad4213585557526c36628e0",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/guava/guava-testlib/22.0/guava-testlib-22.0.jar"],        )
    if "hamcrest_all" not in native.existing_rules():
        java_import_external(
            name = "hamcrest_all",
            jar_sha256 = "4877670629ab96f34f5f90ab283125fcd9acb7e683e66319a68be6eb2cca60de",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.jar"],        )
    if "hk2_api" not in native.existing_rules():
        java_import_external(
            name = "hk2_api",
            jar_sha256 = "4d328e5b1cb5e8dcf3f97e1348d960f439e597009aa9d994dd5325bcef367908",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-api/2.5.0-b42/hk2-api-2.5.0-b42.jar"],        )
    if "hk2_locator" not in native.existing_rules():
        java_import_external(
            name = "hk2_locator",
            jar_sha256 = "2a3766079d1cd21e715e4fd75e8189ebd58f9bf852885f1679253f0a27039b72",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-locator/2.5.0-b42/hk2-locator-2.5.0-b42.jar"],        )
    if "hk2_osgi_resource_locator" not in native.existing_rules():
        java_import_external(
            name = "hk2_osgi_resource_locator",
            jar_sha256 = "775003be577e8806f51b6e442be1033d83be2cb2207227b349be0bf16e6c0843",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/osgi-resource-locator/1.0.1/osgi-resource-locator-1.0.1.jar"],        )
    if "hk2_utils" not in native.existing_rules():
        java_import_external(
            name = "hk2_utils",
            jar_sha256 = "5edb176086ad0be1d4abbc0a1d26d519d088a01ee24f9ee064c657895a86e3ee",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-utils/2.5.0-b42/hk2-utils-2.5.0-b42.jar"],        )
    if "httpclient_osgi" not in native.existing_rules():
        java_import_external(
            name = "httpclient_osgi",
            jar_sha256 = "e0cda85f788456b0a1664713794c70fd8ce634afbc5714df2dc6181174a6edd0",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient-osgi/4.5.1/httpclient-osgi-4.5.1.jar"],        )
    if "httpcore_osgi" not in native.existing_rules():
        java_import_external(
            name = "httpcore_osgi",
            jar_sha256 = "a0bd904e00cb6788efd5cd8c180cb19569bba43e22a711e9b020ffa51b045a4c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore-osgi/4.4.4/httpcore-osgi-4.4.4.jar"],        )
    if "influxdb_java" not in native.existing_rules():
        java_import_external(
            name = "influxdb_java",
            jar_sha256 = "c2c35eff56e5b101028a52f5fa2bc25e7b5e0f6c7b7fdf9f5c8ed503621547eb",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/influxdb/influxdb-java/2.9/influxdb-java-2.9.jar"],        )
    if "ipaddress" not in native.existing_rules():
        java_import_external(
            name = "ipaddress",
            jar_sha256 = "a8485113300d367306258a2663491fba8b1b746d00ca0df88d3943994cc0f7b9",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/seancfoley/ipaddress/5.3.3/ipaddress-5.3.3.jar"],        )
    if "simpleclient" not in native.existing_rules():
        java_import_external(
            name = "simpleclient",
            jar_sha256 = "68e20a01ec974f382553b763f58594416c3c652b7067d8aeccf1a5ea6c8b1d0d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/prometheus/simpleclient/0.5.0/simpleclient-0.5.0.jar"],        )
    if "simpleclient_common" not in native.existing_rules():
        java_import_external(
            name = "simpleclient_common",
            jar_sha256 = "41d881034a44639d5717d71c61d207b8580bc755e0c0a6f4a1ec7137a7274366",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/prometheus/simpleclient_common/0.5.0/simpleclient_common-0.5.0.jar"],        )
    if "simpleclient_hotspot" not in native.existing_rules():
        java_import_external(
            name = "simpleclient_hotspot",
            jar_sha256 = "93f4f9e43948599ce42e38b3899194a130989d967eba47233abe16177fef1d06",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/prometheus/simpleclient_hotspot/0.5.0/simpleclient_hotspot-0.5.0.jar"],        )
    if "simpleclient_servlet" not in native.existing_rules():
        java_import_external(
            name = "simpleclient_servlet",
            jar_sha256 = "f8c1d2879588475a4a2600f286347203ef71fdde68ebac0006498c821e6d0de3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/prometheus/simpleclient_servlet/0.5.0/simpleclient_servlet-0.5.0.jar"],        )
    if "retrofit" not in native.existing_rules():
        java_import_external(
            name = "retrofit",
            jar_sha256 = "c0295f38b3c1a48bb71a8ed2ea69ddeb2e49a830b11862385a403355c6a94643",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/retrofit2/retrofit/2.3.0/retrofit-2.3.0.jar"],        )
    if "converter_moshi" not in native.existing_rules():
        java_import_external(
            name = "converter_moshi",
            jar_sha256 = "9623b53c71e7305ab1eb8b9e68a4ea57152420de9e2646e3676fbe851fc0371a",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/retrofit2/converter-moshi/2.3.0/converter-moshi-2.3.0.jar"],        )
    if "okhttp" not in native.existing_rules():
        java_import_external(
            name = "okhttp",
            jar_sha256 = "36f1cd0798fb231e5be189d0bfe2634d5879f73082be5718ca30a73d1ee15e4b",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/3.12.12/okhttp-3.12.12.jar"],        )
    if "logging_interceptor" not in native.existing_rules():
        java_import_external(
            name = "logging_interceptor",
            jar_sha256 = "dbf83bebfae07c7d9823eb0cd3a11d74e3b387f9fd98ce6438c6c12c1d9f870f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/okhttp3/logging-interceptor/3.12.12/logging-interceptor-3.12.12.jar"],        )
    if "moshi" not in native.existing_rules():
        java_import_external(
            name = "moshi",
            jar_sha256 = "d8ef4da48b59790d587904c4ef2245ee6f64dedec780f1250d00ab136160dcce",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/moshi/moshi/1.4.0/moshi-1.4.0.jar"],        )
    if "okio" not in native.existing_rules():
        java_import_external(
            name = "okio",
            jar_sha256 = "4633c331f50642ebe795dc089d6a5928aff43071c9d17e7840a009eea2fe95a3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar"],        )
    if "jacoco_agent_runtime" not in native.existing_rules():
        java_import_external(
            name = "jacoco_agent_runtime",
            jar_sha256 = "940056732802d1cbaf243840e0f8f2c786f5deb6c1dcac786637366a051257d8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/jacoco/org.jacoco.agent/0.8.2/org.jacoco.agent-0.8.2-runtime.jar"],        )
    if "jackson_annotations" not in native.existing_rules():
        java_import_external(
            name = "jackson_annotations",
            jar_sha256 = "2ab76f64048673675f26ddd1008a32889855d8a126273edae2aeee516785a1ec",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.11.4/jackson-annotations-2.11.4.jar"],        )
    if "jackson_core" not in native.existing_rules():
        java_import_external(
            name = "jackson_core",
            jar_sha256 = "e1dda269f16f3be00578f3a46c754f098245c7a480b86e07030b6ee7087ee1f1",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.4/jackson-core-2.11.4.jar"],        )
    if "jackson_databind" not in native.existing_rules():
        java_import_external(
            name = "jackson_databind",
            jar_sha256 = "dc64fa3907bd299f29ad6116169e583333d04404b23a0f81ed679afa8e2a2ee8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.11.4/jackson-databind-2.11.4.jar"],        )
    if "jackson_datatype_jsr310" not in native.existing_rules():
        java_import_external(
            name = "jackson_datatype_jsr310",
            jar_sha256 = "4f70ec64696f8de547773d7f8d5243ab7d11dc42a854df1764fa16837b6f53af",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.11.4/jackson-datatype-jsr310-2.11.4.jar"],        )
    if "jackson_dataformat_yaml" not in native.existing_rules():
        java_import_external(
            name = "jackson_dataformat_yaml",
            jar_sha256 = "8a042017593286150e4cacda2a06e67f72e3ef1ca9e93d5ad8e1531b64ed66e7",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.11.4/jackson-dataformat-yaml-2.11.4.jar"],        )
    if "javax_annotation_javax_annotation_api" not in native.existing_rules():
        java_import_external(
            name = "javax_annotation_javax_annotation_api",
            jar_sha256 = "f43f8ca10941606fb675785286981c166be1393f584020ffd965c6863f62232c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3/javax.annotation-api-1.3.jar"],        )
    if "javax_inject" not in native.existing_rules():
        java_import_external(
            name = "javax_inject",
            jar_sha256 = "3bcf096beb918c9586be829190903090a21ac40513c1401e1b986e6030addc98",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/external/javax.inject/2.5.0-b42/javax.inject-2.5.0-b42.jar"],        )
    if "javax_ws_rs_api" not in native.existing_rules():
        java_import_external(
            name = "javax_ws_rs_api",
            jar_sha256 = "1a4295889416c6972addcd425dfeeee6e6ede110e8b2dc8b49044e9b400ad5db",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/ws/rs/javax.ws.rs-api/2.1/javax.ws.rs-api-2.1.jar"],        )
    if "javax_activation" not in native.existing_rules():
        java_import_external(
            name = "javax_activation",
            jar_sha256 = "ae475120e9fcd99b4b00b38329bd61cdc5eb754eee03fe66c01f50e137724f99",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar"],        )
    if "jaxb_api" not in native.existing_rules():
        java_import_external(
            name = "jaxb_api",
            jar_sha256 = "88b955a0df57880a26a74708bc34f74dcaf8ebf4e78843a28b50eae945732b06",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar"],        )
    if "jaxb_core" not in native.existing_rules():
        java_import_external(
            name = "jaxb_core",
            jar_sha256 = "d2ecba63615f317a11fb55c6468f6a9480f6411c10951d9881bafd9a9a8d0467",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/sun/xml/bind/jaxb-core/2.3.0.1/jaxb-core-2.3.0.1.jar"],        )
    if "jaxb_impl" not in native.existing_rules():
        java_import_external(
            name = "jaxb_impl",
            jar_sha256 = "5ec7bb8dd5d36c9199131e06609409e4ea58bdd5d06fb361d8adfa8887b3c068",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/sun/xml/bind/jaxb-impl/2.3.0.1/jaxb-impl-2.3.0.1.jar"],        )
    if "jersey_client" not in native.existing_rules():
        java_import_external(
            name = "jersey_client",
            jar_sha256 = "aba407bda94df54f590041b4cde5f2fa31db45bd8b4cf7575af48c1f8f81bb04",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/core/jersey-client/2.27/jersey-client-2.27.jar"],        )
    if "jersey_security" not in native.existing_rules():
        java_import_external(
            name = "jersey_security",
            jar_sha256 = "25052afa8c18f2e98e9160bc4f434179eff592c7c9cfb98bfc582d40280daa0b",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/security/oauth2-client/2.27/oauth2-client-2.27.jar"],        )
    if "jersey_common" not in native.existing_rules():
        java_import_external(
            name = "jersey_common",
            jar_sha256 = "9a9578c6dac52b96195a614150f696d455db6b6d267a645c3120a4d0ee495789",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/core/jersey-common/2.27/jersey-common-2.27.jar"],        )
    if "jersey_container_jetty_http" not in native.existing_rules():
        java_import_external(
            name = "jersey_container_jetty_http",
            jar_sha256 = "932390b9381d2bc9b9c1d386c30d7f2245ff0539e5c18b987727eea174256a09",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/containers/jersey-container-jetty-http/2.27/jersey-container-jetty-http-2.27.jar"],        )
    if "jersey_container_servlet" not in native.existing_rules():
        java_import_external(
            name = "jersey_container_servlet",
            jar_sha256 = "40349db8dabf6327a01ad59eaff172bd9a5f8927b2411bcdc59ceb05ce7731c1",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/containers/jersey-container-servlet/2.27/jersey-container-servlet-2.27.jar"],        )
    if "jersey_container_servlet_core" not in native.existing_rules():
        java_import_external(
            name = "jersey_container_servlet_core",
            jar_sha256 = "39e9fee46f5c6b5d4e49dc03f54741671bd4261090c5f7b5c72541a232873946",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/containers/jersey-container-servlet-core/2.27/jersey-container-servlet-core-2.27.jar"],        )
    if "jersey_media_multipart" not in native.existing_rules():
        java_import_external(
            name = "jersey_media_multipart",
            jar_sha256 = "08b303988e99546364283c63da5aa2d79c7c823f7b0d1ca5deabe66fbbb6374e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/media/jersey-media-multipart/2.27/jersey-media-multipart-2.27.jar"],        )
    if "jersey_media_sse" not in native.existing_rules():
        java_import_external(
            name = "jersey_media_sse",
            jar_sha256 = "660f0a524761b85a8689cd80c45eff9d1dd8302a1c623710b1e05f95d6748686",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/media/jersey-media-sse/2.27/jersey-media-sse-2.27.jar"],        )
    if "jersey_server" not in native.existing_rules():
        java_import_external(
            name = "jersey_server",
            jar_sha256 = "45a2e1e87566cb9808953d1f5ce0b4d99ede51be4a0f22ed92a7ceda7ba9417e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/core/jersey-server/2.27/jersey-server-2.27.jar"],        )
    if "jersey_hk2" not in native.existing_rules():
        java_import_external(
            name = "jersey_hk2",
            jar_sha256 = "634a2790f08c2f33feb78586b22a23005a2f8aa483c316ae2435729be0943968",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/inject/jersey-hk2/2.27/jersey-hk2-2.27.jar"],        )
    if "jersey_test_framework_core" not in native.existing_rules():
        java_import_external(
            name = "jersey_test_framework_core",
            jar_sha256 = "f2d6a9b9163643864b488f390325ef29c733996ca90089b0dbfa010032421139",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/test-framework/jersey-test-framework-core/2.27/jersey-test-framework-core-2.27.jar"],        )
    if "jersey_test_framework_jetty" not in native.existing_rules():
        java_import_external(
            name = "jersey_test_framework_jetty",
            jar_sha256 = "4308de3001f867d589a4e95085c128d9d33b3022c6f8d5c68ff7ef2e1fb54451",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/test-framework/providers/jersey-test-framework-provider-jetty/2.27/jersey-test-framework-provider-jetty-2.27.jar"],        )
    if "jetty_util" not in native.existing_rules():
        java_import_external(
            name = "jetty_util",
            jar_sha256 = "936e5ed74275c16164cc1eccaeae55900eb00edd9f1b1d3b83d70782dd25f505",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-util/9.4.11.v20180605/jetty-util-9.4.11.v20180605.jar"],        )
    if "jetty_websocket_api" not in native.existing_rules():
        java_import_external(
            name = "jetty_websocket_api",
            jar_sha256 = "924edcf7fb17f2ff2e541afce7fd692305235e51b5a16f7223d7e8b4de77559d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/websocket/websocket-api/9.4.11.v20180605/websocket-api-9.4.11.v20180605.jar"],        )
    if "jetty_websocket" not in native.existing_rules():
        java_import_external(
            name = "jetty_websocket",
            jar_sha256 = "76f52b482ad174944e07f552cbfaaa2ccf498063e0a3837bb930eee8a06373aa",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/websocket/websocket-servlet/9.4.11.v20180605/websocket-servlet-9.4.11.v20180605.jar"],        )
    if "jetty_server" not in native.existing_rules():
        java_import_external(
            name = "jetty_server",
            jar_sha256 = "b74af5ac482b05c242ed231e00b7c08a0b6649f76f2e039a0885de0cf1376ef8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-server/9.4.11.v20180605/jetty-server-9.4.11.v20180605.jar"],        )
    if "jetty_servlet" not in native.existing_rules():
        java_import_external(
            name = "jetty_servlet",
            jar_sha256 = "e24f145a6d95c7653ad2fe0c34cf8ce7311effb7eb8ed9399fae63d8af63eaf4",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-servlet/9.4.11.v20180605/jetty-servlet-9.4.11.v20180605.jar"],        )
    if "jetty_security" not in native.existing_rules():
        java_import_external(
            name = "jetty_security",
            jar_sha256 = "5a12b1c69264466004baff33b14fc1555007c86fb2fece2a420c480aa7f8ef56",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-security/9.4.11.v20180605/jetty-security-9.4.11.v20180605.jar"],        )
    if "jetty_continuation" not in native.existing_rules():
        java_import_external(
            name = "jetty_continuation",
            jar_sha256 = "0af8353dbe4ab06fb0020a380be60b2c2a63cd9430f5f199509ecd51dc3dd7cd",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-continuation/9.4.11.v20180605/jetty-continuation-9.4.11.v20180605.jar"],        )
    if "jetty_http" not in native.existing_rules():
        java_import_external(
            name = "jetty_http",
            jar_sha256 = "963b75730aa92b0dfbe65fe8a2e413edc88aeb53e8686ba6b1617d7caeb14067",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-http/9.4.11.v20180605/jetty-http-9.4.11.v20180605.jar"],        )
    if "jetty_io" not in native.existing_rules():
        java_import_external(
            name = "jetty_io",
            jar_sha256 = "75c82d6e542a3518e2517c4084c83d8216ec2d2458f8747b8b5c944355ebd732",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-io/9.4.11.v20180605/jetty-io-9.4.11.v20180605.jar"],        )
    if "javax_servlet_api" not in native.existing_rules():
        java_import_external(
            name = "javax_servlet_api",
            jar_sha256 = "af456b2dd41c4e82cf54f3e743bc678973d9fe35bd4d3071fa05c7e5333b8482",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar"],        )
    if "joda_time" not in native.existing_rules():
        java_import_external(
            name = "joda_time",
            jar_sha256 = "a05f5b8b021802a71919b18702aebdf286148188b3ee9d26e6ec40e8d0071487",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/joda-time/joda-time/2.9.3/joda-time-2.9.3.jar"],        )
    if "jsch" not in native.existing_rules():
        java_import_external(
            name = "jsch",
            jar_sha256 = "f00d5cb29d70a98ef6bf2000edc89b415ae6f59d25e33caf5578b20d0d400932",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.53/jsch-0.1.53.jar"],        )
    if "com_google_code_findbugs_jsr305" not in native.existing_rules():
        java_import_external(
            name = "com_google_code_findbugs_jsr305",
            jar_sha256 = "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"],        )
    if "junit" not in native.existing_rules():
        java_import_external(
            name = "junit",
            jar_sha256 = "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar"],        )
    if "junit_dep" not in native.existing_rules():
        java_import_external(
            name = "junit_dep",
            jar_sha256 = "36a747ca1e0b86f6ea88055b8723bb87030d627766da6288bf077afdeeb0f75a",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/junit/junit/4.10/junit-4.10.jar"],        )
    if "kryo" not in native.existing_rules():
        java_import_external(
            name = "kryo",
            jar_sha256 = "05da64250f6e6488cd79a2609887fd3b9db46c37cdc6daaba88a178632bf48f9",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/esotericsoftware/kryo/4.0.1/kryo-4.0.1.jar"],        )
    if "mapdb" not in native.existing_rules():
        java_import_external(
            name = "mapdb",
            jar_sha256 = "fac1afd9bfd1be9f2f480fb0c1253cdb9947f334f61a07ec9a855eb2a9d6aedd",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/mapdb/mapdb/1.0.9/mapdb-1.0.9.jar"],        )
    if "metrics_core" not in native.existing_rules():
        java_import_external(
            name = "metrics_core",
            jar_sha256 = "5c6f685e41664d10c70c65837cba9e58d39ff3896811e3b5707a934b11c85ad0",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/dropwizard/metrics/metrics-core/3.2.2/metrics-core-3.2.2.jar"],        )
    if "metrics_ganglia" not in native.existing_rules():
        java_import_external(
            name = "metrics_ganglia",
            jar_sha256 = "fdae87ba15898e1754c885afab1594962b0bb24e2049ad35b853521b458f7351",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/dropwizard/metrics/metrics-ganglia/3.2.2/metrics-ganglia-3.2.2.jar"],        )
    if "metrics_graphite" not in native.existing_rules():
        java_import_external(
            name = "metrics_graphite",
            jar_sha256 = "cb967ecf5d6d88fe08322b8fe64b885ef2ce0e74ed8fc9bfea286e7aad2e6d47",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/dropwizard/metrics/metrics-graphite/3.2.2/metrics-graphite-3.2.2.jar"],        )
    if "metrics_influxdb" not in native.existing_rules():
        java_import_external(
            name = "metrics_influxdb",
            jar_sha256 = "ad5b498597f66b245ecff13396fecfc7b8a2b2616c2e3f7773050596c09fd77f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/izettle/metrics-influxdb/1.1.1/metrics-influxdb-1.1.1.jar"],        )
    if "metrics_json" not in native.existing_rules():
        java_import_external(
            name = "metrics_json",
            jar_sha256 = "38f50ac1f211518279031919bbcc0e02f6d6659d02dcd6f4e47e90b16851c821",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/dropwizard/metrics/metrics-json/3.2.2/metrics-json-3.2.2.jar"],        )
    if "minimal_json" not in native.existing_rules():
        java_import_external(
            name = "minimal_json",
            jar_sha256 = "e1d280900c78f18ae2e00c14e7410a77ba19cf084154b386532846aa6dc81721",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/eclipsesource/minimal-json/minimal-json/0.9.4/minimal-json-0.9.4.jar"],        )
    if "minlog" not in native.existing_rules():
        java_import_external(
            name = "minlog",
            jar_sha256 = "f7b399d3a5478a4f3e0d98bd1c9f47766119c66414bc33aa0f6cde0066f24cc2",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0.jar"],        )
    if "io_netty_netty" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty",
            jar_sha256 = "eb031acf8a00733481bcd60807925ecfc9ce3840f13823d4b96cdcb1132db1da",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty/3.10.5.Final/netty-3.10.5.Final.jar"],        )
    if "io_netty_netty_buffer" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_buffer",
            jar_sha256 = "b7178cb8534676986c64a8fa7d216df926826c8d673a26b6c9f79fd2057a2d8d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.35.Final/netty-buffer-4.1.35.Final.jar"],        )
    if "io_netty_netty_codec" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec",
            jar_sha256 = "1569911a2c42d74876e84b89228fc580077997c9f7d4a9f54595592331fdba84",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.35.Final/netty-codec-4.1.35.Final.jar"],        )
    if "io_netty_netty_common" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_common",
            jar_sha256 = "a5bbdec45faaa4cf34cd21861e35193d8f132e54bdccad2378dbd9644f2862c9",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-common/4.1.35.Final/netty-common-4.1.35.Final.jar"],        )
    if "io_netty_netty_handler" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_handler",
            jar_sha256 = "1356bd60d8360d99746f3443d22b390983e1cd353045e8aae7f3e2df4fc7a8f3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.35.Final/netty-handler-4.1.35.Final.jar"],        )
    if "io_netty_netty_handler_proxy" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_handler_proxy",
            jar_sha256 = "a9dc237a886e33222eb1817821347255d9d788466d175a123cb497b1f1da3537",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.35.Final/netty-handler-proxy-4.1.35.Final.jar"],        )
    if "io_netty_netty_transport" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_transport",
            jar_sha256 = "02ff2bbe0837455d75b2b182f2cc868052ad404d1cf7ca5b48b8e1f6a6266982",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.35.Final/netty-transport-4.1.35.Final.jar"],        )
    if "io_netty_netty_transport_native_unix_common" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_transport_native_unix_common",
            jar_sha256 = "8fe591753ca7623c99d120bbf0750baafbd982257d06c94c93d221c94c75511e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.35.Final/netty-transport-native-unix-common-4.1.35.Final.jar"],        )
    if "io_netty_netty_transport_native_epoll" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_transport_native_epoll",
            jar_sha256 = "85d460beffccfc32a653c5294a79aa3800a81816da5c010ef93b0eb9fe53c812",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-transport-native-epoll/4.1.35.Final/netty-transport-native-epoll-4.1.35.Final.jar"],        )
    if "io_netty_netty_resolver" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_resolver",
            jar_sha256 = "690277caffe12fc92b9ae648ed36ff70a969e7acf6b82e1ccf5f7c375ed31bdf",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.35.Final/netty-resolver-4.1.35.Final.jar"],        )
    if "io_netty_netty_codec_http2" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec_http2",
            jar_sha256 = "aa5ab661b2a0ec939d8d3944f227ebd55f3052400087828c93803191b6624018",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.35.Final/netty-codec-http2-4.1.35.Final.jar"],        )
    if "io_netty_netty_codec_http" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec_http",
            jar_sha256 = "2f6e685a461a0ad5e088dc3a37139324f5587337af56b2922f91698341a4b0e2",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.35.Final/netty-codec-http-4.1.35.Final.jar"],        )
    if "io_netty_netty_codec_socks" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec_socks",
            jar_sha256 = "809ff79aeaefe0ffd0c0c72d7996ca6b99bf3b873faaa76f65a3cfbae3f66842",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-codec-socks/4.1.35.Final/netty-codec-socks-4.1.35.Final.jar"],        )
    if "io_netty_netty_tcnative_boringssl" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_tcnative_boringssl",
            jar_sha256 = "96d9c14ab4c47cbad7fec9bdb083917db971d3754d6c7fa89f958bc719e230ed",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.25.Final/netty-tcnative-boringssl-static-2.0.25.Final.jar"],        )
    if "objenesis" not in native.existing_rules():
        java_import_external(
            name = "objenesis",
            jar_sha256 = "5e168368fbc250af3c79aa5fef0c3467a2d64e5a7bd74005f25d8399aeb0708d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.jar"],        )
    if "openflowj" not in native.existing_rules():
        java_import_external(
            name = "openflowj",
            jar_sha256 = "b5bd490435fd6910ac9d2e0f1b2d71c68d9ff7261bfd0e70c4a0f8ea970c2785",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/openflowj/3.2.1.onos/openflowj-3.2.1.onos.jar"],        )
    if "org_osgi_util_function" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_util_function",
            jar_sha256 = "83d52d198f8bdd4cd9a02ecb7f05e01e0d59d1c960256db6dccd16962f79d7c5",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.util.function/1.1.0/org.osgi.util.function-1.1.0.jar"],        )
    if "org_osgi_util_promise" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_util_promise",
            jar_sha256 = "4f85beccd281cc1a4e735bd266a0dd3db11651d3d0dde001e6bfa55dbdfdee83",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.util.promise/1.1.1/org.osgi.util.promise-1.1.1.jar"],        )
    if "org_osgi_service_component" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_service_component",
            jar_sha256 = "607b85148c03e9385b91dd355200aeda3cbfaa6374edba737a9460aac5d576e1",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.service.component/1.4.0/org.osgi.service.component-1.4.0.jar"],        )
    if "org_osgi_service_component_annotations" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_service_component_annotations",
            jar_sha256 = "8de7c6753f00edc81df24059dcd2efd67fedcd9b020bbcc6aaa170f4a34c010c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.service.component.annotations/1.4.0/org.osgi.service.component.annotations-1.4.0.jar"],        )
    if "org_osgi_service_metatype_annotations" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_service_metatype_annotations",
            jar_sha256 = "c768e569389a25ce0ef2ce32ce9de05624ec093f2f275ce430da573aba554bcb",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.service.metatype.annotations/1.4.0/org.osgi.service.metatype.annotations-1.4.0.jar"],        )
    if "org_osgi_service_cm" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_service_cm",
            jar_sha256 = "c1768352603abdeb18ca160ac8c712768f88d2e418fe4c5cf50845e783154233",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.service.cm/1.6.0/org.osgi.service.cm-1.6.0.jar"],        )
    if "org_apache_felix_scr_bnd" not in native.existing_rules():
        java_import_external(
            name = "org_apache_felix_scr_bnd",
            jar_sha256 = "fee253dd67f87481c1d29f5ba6e6158604f722eac8b35bce868e3693ee00ccac",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.scr.bnd/1.9.0/org.apache.felix.scr.bnd-1.9.0.jar"],        )
    if "org_apache_karaf_bundle_core" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_bundle_core",
            jar_sha256 = "e4b1d099c21c03308855055c9df9993fbdba826d4b5301a5fb75f9d194fbef93",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/bundle/org.apache.karaf.bundle.core/4.2.14/org.apache.karaf.bundle.core-4.2.14.jar"],        )
    if "org_apache_karaf_features_core" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_features_core",
            jar_sha256 = "98273471d25ad9b01c8d2bee22c99f01f5f0763aed66d0fc79a1910ab0faf3b9",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/features/org.apache.karaf.features.core/4.2.14/org.apache.karaf.features.core-4.2.14.jar"],        )
    if "org_apache_karaf_shell_console" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_shell_console",
            jar_sha256 = "08bcab878989aec2ef352aebe99d6a03e490fd76cb6dbe43208a3eec78f3dcee",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.console/4.2.14/org.apache.karaf.shell.console-4.2.14.jar"],        )
    if "org_apache_karaf_shell_core" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_shell_core",
            jar_sha256 = "e769595061487eeb143c298f4d01272cfc3f78ef6ef8c5e49ff8b0689a647e99",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.core/4.2.14/org.apache.karaf.shell.core-4.2.14.jar"],        )
    if "org_apache_httpcomponents_httpasyncclient_osgi" not in native.existing_rules():
        java_import_external(
            name = "org_apache_httpcomponents_httpasyncclient_osgi",
            jar_sha256 = "243ed2ef640565dbe6abdaec7ff8469d3a983424ae80170a3b0db246be40ddb3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/httpcomponents/httpasyncclient-osgi/4.1.2/httpasyncclient-osgi-4.1.2.jar"],        )
    if "org_apache_httpcomponents_httpcore_nio" not in native.existing_rules():
        java_import_external(
            name = "org_apache_httpcomponents_httpcore_nio",
            jar_sha256 = "f21be11ed00a7c655204c03d3ff38c2e8ac88db0913da3598ce5f9ffd686ae1f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore-nio/4.4.4/httpcore-nio-4.4.4.jar"],        )
    if "org_apache_karaf_jaas" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_jaas",
            jar_sha256 = "3434034496ee96593cb13c9461380f88c6868f3797b45464c931ff02441dc225",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/jaas/org.apache.karaf.jaas.modules/4.2.14/org.apache.karaf.jaas.modules-4.2.14.jar"],        )
    if "org_apache_karaf_system_core" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_system_core",
            jar_sha256 = "307ce836799a81562b9d181d89a049aebeae7c2961d1cb4feabf2b7f1165aaef",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/system/org.apache.karaf.system.core/4.2.14/org.apache.karaf.system.core-4.2.14.jar"],        )
    if "org_apache_servicemix_bundles_snmp4j" not in native.existing_rules():
        java_import_external(
            name = "org_apache_servicemix_bundles_snmp4j",
            jar_sha256 = "68c5b7885fa9157813e01482ddbdfa1c63bb6743d98fd5dba8ce83904bfcf7f8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.snmp4j/2.3.4_1/org.apache.servicemix.bundles.snmp4j-2.3.4_1.jar"],        )
    if "org_osgi_cmpn" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_cmpn",
            jar_sha256 = "dbe06105a0e3e46bc88425b3d7c682a2d8b6bd055341913b6c37e998c00c9176",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/osgi.cmpn/6.0.0/osgi.cmpn-6.0.0.jar"],        )
    if "osgi_core" not in native.existing_rules():
        java_import_external(
            name = "osgi_core",
            jar_sha256 = "1c1bb435eb34cbf1f743653da38f604d45d53fbc95979053768cd3fc293cb931",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.core/6.0.0/org.osgi.core-6.0.0.jar"],        )
    if "reflectasm" not in native.existing_rules():
        java_import_external(
            name = "reflectasm",
            jar_sha256 = "7cd978191b9ff6159810a8ab4646a3e696388c5c41ce25ffcc554d4ec77f3a93",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/esotericsoftware/reflectasm/1.11.7/reflectasm-1.11.7.jar"],        )
    if "remotetea_oncrpc" not in native.existing_rules():
        java_import_external(
            name = "remotetea_oncrpc",
            jar_sha256 = "68d014e83e41a958ce8c73e9b7fd0108372d9f76af7d6d5217d181cf80e2a2bf",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/acplt/remotetea/remotetea-oncrpc/1.1.3/remotetea-oncrpc-1.1.3.jar"],        )
    if "rrd4j" not in native.existing_rules():
        java_import_external(
            name = "rrd4j",
            jar_sha256 = "90748680f887412d905ee43d09da5e5167a6dec3dfa4145832652eea1ad8171e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/rrd4j/rrd4j/3.1/rrd4j-3.1.jar"],        )
    if "javassist" not in native.existing_rules():
        java_import_external(
            name = "javassist",
            jar_sha256 = "59531c00f3e3aa1ff48b3a8cf4ead47d203ab0e2fd9e0ad401f764e05947e252",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/javassist/javassist/3.22.0-GA/javassist-3.22.0-GA.jar"],        )
    if "mimepull" not in native.existing_rules():
        java_import_external(
            name = "mimepull",
            jar_sha256 = "2d1ee56aa89837ba9ea55431542e7939fa9d425552c2e6c8ddfb3b77877721b7",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/jvnet/mimepull/mimepull/1.9.6/mimepull-1.9.6.jar"],        )
    if "servlet_api" not in native.existing_rules():
        java_import_external(
            name = "servlet_api",
            jar_sha256 = "c658ea360a70faeeadb66fb3c90a702e4142a0ab7768f9ae9828678e0d9ad4dc",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar"],        )
    if "slf4j_api" not in native.existing_rules():
        java_import_external(
            name = "slf4j_api",
            jar_sha256 = "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"],        )
    if "slf4j_jdk14" not in native.existing_rules():
        java_import_external(
            name = "slf4j_jdk14",
            jar_sha256 = "9b8b9b8279959b17e71432d40b8cf4175c761c3bc6ebc2c7ec0f2ae8ff223feb",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/slf4j/slf4j-jdk14/1.7.25/slf4j-jdk14-1.7.25.jar"],        )
    if "slf4j_nop" not in native.existing_rules():
        java_import_external(
            name = "slf4j_nop",
            jar_sha256 = "6cb127138f41b5a869f9ecdd061ad17799a0e3fe7204600797154eb0432eeb12",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/slf4j/slf4j-nop/1.7.25/slf4j-nop-1.7.25.jar"],        )
    if "typesafe_config" not in native.existing_rules():
        java_import_external(
            name = "typesafe_config",
            jar_sha256 = "6563d1723f3300bf596f41e40bc03e54986108b5c45d0ac34ebc66d48c2e25a3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/typesafe/config/1.3.2/config-1.3.2.jar"],        )
    if "validation_api" not in native.existing_rules():
        java_import_external(
            name = "validation_api",
            jar_sha256 = "9873b46df1833c9ee8f5bc1ff6853375115dadd8897bcb5a0dffb5848835ee6c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar"],        )
    if "checkstyle" not in native.existing_rules():
        java_import_external(
            name = "checkstyle",
            jar_sha256 = "dad140fc7e79179deb48653ad86517a3c4df69f9e957c72b5c6476c484042a14",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/puppycrawl/tools/checkstyle/8.10/checkstyle-8.10.jar"],        )
    if "apache_karaf" not in native.existing_rules():
        java_import_external(
            name = "apache_karaf",
            jar_sha256 = "892241ce4b48406e7f66d6a4e40bfb039a2dfbf88760e6ff8a62a7df680bcaf9",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.14-offline-20220105/apache-karaf-4.2.14-offline-20220105.tar.gz"],        )
    if "bndlib" not in native.existing_rules():
        java_import_external(
            name = "bndlib",
            jar_sha256 = "dfa48c53c124a41e8a21198b49e4a4d68620f2df8a545f9bcdca8c9f5bb5b14c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/4.1.0/biz.aQute.bndlib-4.1.0.jar"],        )
    if "bndexe" not in native.existing_rules():
        java_import_external(
            name = "bndexe",
            jar_sha256 = "5ad18a5a8702fcfe42d5180ee4ba33cf4728d5f68055b2d3755a86222afac462",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd/4.1.0/biz.aQute.bnd-4.1.0.jar"],        )
    if "libthrift" not in native.existing_rules():
        java_import_external(
            name = "libthrift",
            jar_sha256 = "65f1d191c3c97ec79e6d82e75f8af9d5265f4fbb605df4efc5614c222109cf36",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.11.0/libthrift-0.11.0.jar"],        )
    if "qdox" not in native.existing_rules():
        java_import_external(
            name = "qdox",
            jar_sha256 = "5753628390f7ac1665f813bf610b708cc489f3347b9813389e6c052346527cca",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/thoughtworks/qdox/qdox/2.0-M3/qdox-2.0-M3.jar"],        )
    if "snmp_core" not in native.existing_rules():
        java_import_external(
            name = "snmp_core",
            jar_sha256 = "4367a5a3e32d4f53394cd2585d7a086e20e6d8fb4317cadbacae918df7a4cd9e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/snmp-core/1.3-20161021.1/snmp-core-1.3-20161021.1.jar"],        )
    if "mibs_net_snmp" not in native.existing_rules():
        java_import_external(
            name = "mibs_net_snmp",
            jar_sha256 = "6ac3750d3555d2cbe6ef15550856be080db562aa4a9b9519959d3f1fc19f1ae3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/mibbler-mibs-net-snmp/1.0-20151221.1/mibbler-mibs-net-snmp-1.0-20151221.1.jar"],        )
    if "mibs_rfc" not in native.existing_rules():
        java_import_external(
            name = "mibs_rfc",
            jar_sha256 = "8f58bde90b7b24ac42b02196ce69ab6e1fa3bd009c38d8f972b24d5a1eb40f52",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/mibbler-mibs-rfc/1.0-20151221.1/mibbler-mibs-rfc-1.0-20151221.1.jar"],        )
    if "io_socket_client" not in native.existing_rules():
        java_import_external(
            name = "io_socket_client",
            jar_sha256 = "b5ccc73724f0d188ada06aff41c8bf60e0e5d4462e7980af203a20ea87bfa583",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/socket/socket.io-client/0.8.3/socket.io-client-0.8.3.jar"],        )
    if "engine_io_client" not in native.existing_rules():
        java_import_external(
            name = "engine_io_client",
            jar_sha256 = "c421ace40f0170d9c7f0155850076a68f091afa9a60fc055f703277ce92bc214",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/socket/engine.io-client/0.8.3/engine.io-client-0.8.3.jar"],        )
    if "org_codehaus_mojo_animal_sniffer_annotations" not in native.existing_rules():
        java_import_external(
            name = "org_codehaus_mojo_animal_sniffer_annotations",
            jar_sha256 = "92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar"],        )
    if "dns_java" not in native.existing_rules():
        java_import_external(
            name = "dns_java",
            jar_sha256 = "25b6fec5a5b4c9240accf86641c4f1694c6ca1b750097a8d175b1f7e930e34af",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/dnsjava/dnsjava/3.3.1/dnsjava-3.3.1.jar"],        )
    if "com_google_api_grpc_proto_google_common_protos" not in native.existing_rules():
        java_import_external(
            name = "com_google_api_grpc_proto_google_common_protos",
            jar_sha256 = "bd60cd7a423b00fb824c27bdd0293aaf4781be1daba6ed256311103fb4b84108",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar"],        )
    if "com_google_errorprone_error_prone_annotations" not in native.existing_rules():
        java_import_external(
            name = "com_google_errorprone_error_prone_annotations",
            jar_sha256 = "baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar"],        )
    if "com_google_auth_google_auth_library_credentials" not in native.existing_rules():
        java_import_external(
            name = "com_google_auth_google_auth_library_credentials",
            jar_sha256 = "e117279c52c41b66937a5adae41dfeae0e40e48ae40230d2edeb4adc28ed996c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.13.0/google-auth-library-credentials-0.13.0.jar"],        )
    if "com_google_auth_google_auth_library_oauth2_http" not in native.existing_rules():
        java_import_external(
            name = "com_google_auth_google_auth_library_oauth2_http",
            jar_sha256 = "62551f27379f873962e410328fc10a11a2b8f5df7c232e3cbe96a1b5edadf1ba",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.13.0/google-auth-library-oauth2-http-0.13.0.jar"],        )
    if "com_google_j2objc_j2objc_annotations" not in native.existing_rules():
        java_import_external(
            name = "com_google_j2objc_j2objc_annotations",
            jar_sha256 = "2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar"],        )
    if "com_google_guava_failureaccess" not in native.existing_rules():
        java_import_external(
            name = "com_google_guava_failureaccess",
            jar_sha256 = "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"],        )
    if "com_google_android_annotations" not in native.existing_rules():
        java_import_external(
            name = "com_google_android_annotations",
            jar_sha256 = "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar"],        )
    if "io_opencensus_opencensus_api" not in native.existing_rules():
        java_import_external(
            name = "io_opencensus_opencensus_api",
            jar_sha256 = "8e2cb0f6391d8eb0a1bcd01e7748883f0033b1941754f4ed3f19d2c3e4276fc8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.21.0/opencensus-api-0.21.0.jar"],        )
    if "io_opencensus_opencensus_contrib_grpc_metrics" not in native.existing_rules():
        java_import_external(
            name = "io_opencensus_opencensus_contrib_grpc_metrics",
            jar_sha256 = "29fc79401082301542cab89d7054d2f0825f184492654c950020553ef4ff0ef8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-grpc-metrics/0.21.0/opencensus-contrib-grpc-metrics-0.21.0.jar"],        )
    if "io_perfmark_perfmark_api" not in native.existing_rules():
        java_import_external(
            name = "io_perfmark_perfmark_api",
            jar_sha256 = "a93667875ea9d10315177768739a18d6c667df041c982d2841645ae8558d0af0",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/perfmark/perfmark-api/0.16.0/perfmark-api-0.16.0.jar"],        )
    if "openstack4j_core" not in native.existing_rules():
        java_import_external(
            name = "openstack4j_core",
            jar_sha256 = "f818e00d9c1ae979b107ee6166455ae0c5c023d7aff08dce4089deddd41837c1",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/pacesys/openstack4j-core/3.2.0/openstack4j-core-3.2.0.jar"],        )
    if "openstack4j_http_connector" not in native.existing_rules():
        java_import_external(
            name = "openstack4j_http_connector",
            jar_sha256 = "7677a217126817d74ce42becb397bf5627a8d5c37b5a7cd318aa3099b1680d08",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/pacesys/openstack4j/connectors/openstack4j-http-connector/3.2.0/openstack4j-http-connector-3.2.0.jar"],        )
    if "openstack4j_httpclient" not in native.existing_rules():
        java_import_external(
            name = "openstack4j_httpclient",
            jar_sha256 = "3cb4f8cab734ca5727bfb89ee2a733b921b76c5a58eceb9a05281d4c040b802f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/pacesys/openstack4j/connectors/openstack4j-httpclient/3.2.0/openstack4j-httpclient-3.2.0.jar"],        )
    if "json_patch" not in native.existing_rules():
        java_import_external(
            name = "json_patch",
            jar_sha256 = "2d6acbda3675e6f25b7b4ab338317006865a8416a69c2b5e1cfa8b8209fc10a1",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/fge/json-patch/1.9/json-patch-1.9.jar"],        )
    if "jackson_coreutils" not in native.existing_rules():
        java_import_external(
            name = "jackson_coreutils",
            jar_sha256 = "d84b416924fb061a26c48a5c90e98cf4d4e718179eb1df702aa8f1021163eed6",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/fge/jackson-coreutils/1.6/jackson-coreutils-1.6.jar"],        )
    if "btf" not in native.existing_rules():
        java_import_external(
            name = "btf",
            jar_sha256 = "38a380577a186718cb97ee8af58d4f40f7fbfdc23ff68b5f4b3c2c68a1d5c05d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/fge/btf/1.2/btf-1.2.jar"],        )
    if "msg_simple" not in native.existing_rules():
        java_import_external(
            name = "msg_simple",
            jar_sha256 = "c3c5add3971a9a7f1868beb7607780d73f36bb611c7505de01f1baf49ab4ff75",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/fge/msg-simple/1.1/msg-simple-1.1.jar"],        )
    if "snakeyaml" not in native.existing_rules():
        java_import_external(
            name = "snakeyaml",
            jar_sha256 = "d87d607e500885356c03c1cae61e8c2e05d697df8787d5aba13484c2eb76a844",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/yaml/snakeyaml/1.26/snakeyaml-1.26.jar"],        )
    if "k8s_client" not in native.existing_rules():
        java_import_external(
            name = "k8s_client",
            jar_sha256 = "c61490f7eafa4f976ac06206056a77d4e28ec9dc3b7ec4cad86e6379c623a7ca",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-client/5.4.2/kubernetes-client-5.4.2.jar"],        )
    if "k8s_model" not in native.existing_rules():
        java_import_external(
            name = "k8s_model",
            jar_sha256 = "d60a02f1b9e5078fea05d71647b541ecf3b82100ca60d39688c59cb7cd906ff4",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model/5.4.2/kubernetes-model-5.4.2.jar"],        )
    if "k8s_model_common" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_common",
            jar_sha256 = "423de93e55b9af7a6f54f99bc606857680acf19332b66150bd392be968660b5d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-common/5.4.2/kubernetes-model-common-5.4.2.jar"],        )
    if "k8s_model_core" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_core",
            jar_sha256 = "d70c16838f95a7c27e1eb75ef64c9217db945ba438cc8fae2c9048fc50b7e60c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-core/5.4.2/kubernetes-model-core-5.4.2.jar"],        )
    if "k8s_model_rbac" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_rbac",
            jar_sha256 = "b88045da1dd0d3f2cdda04398306b4ce742539d9f475f0f5626f94366c7c41d6",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-rbac/5.4.2/kubernetes-model-rbac-5.4.2.jar"],        )
    if "k8s_model_admissionregistration" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_admissionregistration",
            jar_sha256 = "5f4cec99af539ac3bcc70160362fa9c738e165cbae649f9c2cf52d7917b16884",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-admissionregistration/5.4.2/kubernetes-model-admissionregistration-5.4.2.jar"],        )
    if "k8s_model_apiextensions" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_apiextensions",
            jar_sha256 = "0fd76135e697d35d9e0937c6b3c6fd04429139db4089ebfceaa5346fb86b2c77",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-apiextensions/5.4.2/kubernetes-model-apiextensions-5.4.2.jar"],        )
    if "k8s_model_batch" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_batch",
            jar_sha256 = "d3add7016f4ad9ee929d6137ba7fe6c9179b9c84fb825f886c27070522647a43",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-batch/5.4.2/kubernetes-model-batch-5.4.2.jar"],        )
    if "k8s_model_certificates" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_certificates",
            jar_sha256 = "26a7d2cd94bf25d408a984a1f9c00f8c2e90a1b5704d85cf608f83474cd1107b",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-certificates/5.4.2/kubernetes-model-certificates-5.4.2.jar"],        )
    if "k8s_model_coordination" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_coordination",
            jar_sha256 = "4660fd19352425dd998b2f365de44d15fee8d0c0c201ed9dedff520330728421",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-coordination/5.4.2/kubernetes-model-coordination-5.4.2.jar"],        )
    if "k8s_model_discovery" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_discovery",
            jar_sha256 = "54857b1c9aebd05feacc7ac33ce8d39a8465cc9246a7b2477f98c2ceb31d9873",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-discovery/5.4.2/kubernetes-model-discovery-5.4.2.jar"],        )
    if "k8s_model_flowcontrol" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_flowcontrol",
            jar_sha256 = "fd18b3e534ac6f2a65762d486c2389497fdd6a3e277a3cad8bbc9742361389c7",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-flowcontrol/5.4.2/kubernetes-model-flowcontrol-5.4.2.jar"],        )
    if "k8s_model_metrics" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_metrics",
            jar_sha256 = "b39eef5ef7b13543a253a80a2cbddba19e94416a15ffe0962f26d17ce96c6184",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-metrics/5.4.2/kubernetes-model-metrics-5.4.2.jar"],        )
    if "k8s_model_scheduling" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_scheduling",
            jar_sha256 = "71dfde7859eaddfa3308dd90e40158c07e2505bd66e1a134f608ef9e22be91f2",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-scheduling/5.4.2/kubernetes-model-scheduling-5.4.2.jar"],        )
    if "k8s_model_storageclass" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_storageclass",
            jar_sha256 = "45a45c839a19e8d7e9db7ee42971e812040c1733ae835ac48b9a2eff8087e617",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-storageclass/5.4.2/kubernetes-model-storageclass-5.4.2.jar"],        )
    if "k8s_model_autoscaling" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_autoscaling",
            jar_sha256 = "31647e74f5c168bbce4780557bd603ba3aa1100168c9f3073306e300145c7bf9",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-autoscaling/5.4.2/kubernetes-model-autoscaling-5.4.2.jar"],        )
    if "k8s_model_apps" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_apps",
            jar_sha256 = "4fc5bf249f30d75f8ee4a92f4b01bf8d551645232e6b2519ee07925066e8914d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-apps/5.4.2/kubernetes-model-apps-5.4.2.jar"],        )
    if "k8s_model_events" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_events",
            jar_sha256 = "e041ea193f4ca194adabc960335257035ec3d4e5cef650c3c51966091ddd7111",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-events/5.4.2/kubernetes-model-events-5.4.2.jar"],        )
    if "k8s_model_extensions" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_extensions",
            jar_sha256 = "e0dc58b3d835cab8cea4473104453cf7834680903885330bab31c458ced825a6",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-extensions/5.4.2/kubernetes-model-extensions-5.4.2.jar"],        )
    if "k8s_model_networking" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_networking",
            jar_sha256 = "626cde028e26cb26f78a3a8b3702ee3aee9e1727658341adc90912145902d3f7",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-networking/5.4.2/kubernetes-model-networking-5.4.2.jar"],        )
    if "k8s_model_node" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_node",
            jar_sha256 = "e254fa5afd650956cbfd563c817c85901413ec1d48f6a5d38bf68e73840a6016",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-node/5.4.2/kubernetes-model-node-5.4.2.jar"],        )
    if "k8s_model_policy" not in native.existing_rules():
        java_import_external(
            name = "k8s_model_policy",
            jar_sha256 = "dffbe9902e9f59e50d68ef324204d3f82709cb947cbe5d0d006dc7d3e9db3b7c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model-policy/5.4.2/kubernetes-model-policy-5.4.2.jar"],        )
    if "zjsonpatch" not in native.existing_rules():
        java_import_external(
            name = "zjsonpatch",
            jar_sha256 = "ae4e5e931646a25cb09b55186de4f3346e358e01130bef279ddf495a719c71d5",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/zjsonpatch/0.3.0/zjsonpatch-0.3.0.jar"],        )
    if "generex" not in native.existing_rules():
        java_import_external(
            name = "generex",
            jar_sha256 = "8f8ce233c335e08e113a3f9579de1046fb19927e82468b1bbebcd6cba8760b81",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/mifmif/generex/1.0.2/generex-1.0.2.jar"],        )
    if "automaton" not in native.existing_rules():
        java_import_external(
            name = "automaton",
            jar_sha256 = "a24475f6ccfe1cc7a4fe9e34e05ce687b0ce0c6e8cb781e0eced3b186482c61e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/dk/brics/automaton/automaton/1.11-8/automaton-1.11-8.jar"],        )
    if "onos_yang_model" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_model",
            jar_sha256 = "6ff02d581cbf66276eac346e8ba363ad2078244897aea210f1bc0ab8d7fbb913",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-model/2.6.1/onos-yang-model-2.6.1.jar"],        )
    if "onos_yang_compiler_api" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_compiler_api",
            jar_sha256 = "7c4a9ac600b89affea34cd3218bfd6023045947e780f94419df33de9223829c4",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-compiler-api/2.6.1/onos-yang-compiler-api-2.6.1.jar"],        )
    if "onos_yang_compiler_main" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_compiler_main",
            jar_sha256 = "7f2b92bc74c91a3ea4a91896d35c8c2bc5039c5e5108dc51c884b9cba250b556",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-compiler-main/2.6.1/onos-yang-compiler-main-2.6.1.jar"],        )
    if "onos_yang_runtime" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_runtime",
            jar_sha256 = "b8e0c47ba62931319324566a7ab81c3a3f070665b912877e675a4e1fb181e310",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-runtime/2.6/onos-yang-runtime-2.6.jar"],        )
    if "onos_yang_serializers_json" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_serializers_json",
            jar_sha256 = "685903f8b72e3c4dd59ed57ebd82ced45a03761883a0c66f499c7109c16e85a7",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-serializers-json/2.6.1/onos-yang-serializers-json-2.6.1.jar"],        )
    if "onos_yang_serializers_xml" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_serializers_xml",
            jar_sha256 = "63d9db7c3e3ef4eba1d8a0720f43191938826e9ec813b0e3ef94473339c29d47",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-serializers-xml/2.6.1/onos-yang-serializers-xml-2.6.1.jar"],        )
    if "onos_yang_serializers_utils" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_serializers_utils",
            jar_sha256 = "57b2544d044ecb2cab7cc6d6026acc6fb7cbaa5f084264884ccb9b5d7d3991c4",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-serializers-utils/2.6.1/onos-yang-serializers-utils-2.6.1.jar"],        )
    if "org_apache_servicemix_bundles_dom4j" not in native.existing_rules():
        java_import_external(
            name = "org_apache_servicemix_bundles_dom4j",
            jar_sha256 = "15abe1ccad24f4fd71a926959f1acd64d84878348deee12dcf4928ee4f1db3d5",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5/org.apache.servicemix.bundles.dom4j-1.6.1_5.jar"],        )
    if "plexus_utils" not in native.existing_rules():
        java_import_external(
            name = "plexus_utils",
            jar_sha256 = "83ee748b12d06afb0ad4050a591132b3e8025fbb1990f1ed002e8b73293e69b4",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.jar"],        )
    if "sshd_core" not in native.existing_rules():
        java_import_external(
            name = "sshd_core",
            jar_sha256 = "2b4793548bdf172705686c34615c5397b2258d07dd1492f4de936e09985aa3c7",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/sshd/sshd-core/1.7.0/sshd-core-1.7.0.jar"],        )
    if "bcpkix_jdk15on" not in native.existing_rules():
        java_import_external(
            name = "bcpkix_jdk15on",
            jar_sha256 = "02d61268352fdb35dba996c9ca68a3f793d7b8bfa75754aac66d696517a421bd",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.66/bcpkix-jdk15on-1.66.jar"],        )
    if "bcprov_jdk15on" not in native.existing_rules():
        java_import_external(
            name = "bcprov_jdk15on",
            jar_sha256 = "1b861dba1c5445de9b38a1789c211ef28b9d07e26d1fa38bee717e5b51162ffe",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/bouncycastle/bcprov-jdk15on/1.66/bcprov-jdk15on-1.66.jar"],        )
    if "hamcrest_optional" not in native.existing_rules():
        java_import_external(
            name = "hamcrest_optional",
            jar_sha256 = "003448296855b665d7c41c23096dbd7d880a1c58880c13c7a6aed1a0cb641eb6",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/spotify/hamcrest-optional/1.1.0/hamcrest-optional-1.1.0.jar"],        )
    if "swagger_annotations" not in native.existing_rules():
        java_import_external(
            name = "swagger_annotations",
            jar_sha256 = "bd9a46c296bacb2a135330a2518fed1ea12a7be33dbf57f148d6c766e1aa0940",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/swagger/swagger-annotations/1.5.16/swagger-annotations-1.5.16.jar"],        )
    if "kafka_clients" not in native.existing_rules():
        java_import_external(
            name = "kafka_clients",
            jar_sha256 = "15449e35e7ab4b701a136e8b57062dc49963cf785a7bf84e0065af621ae5772d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.kafka-clients/1.1.1_1/org.apache.servicemix.bundles.kafka-clients-1.1.1_1.jar"],        )
    if "tinder_xmpp" not in native.existing_rules():
        java_import_external(
            name = "tinder_xmpp",
            jar_sha256 = "8eb803e80bf621fa22b421d1c7eadfc48c78e583353e13bed3b2ddbcf1ee6769",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/igniterealtime/tinder/1.3.0/tinder-1.3.0.jar"],        )
    if "aalto_xml" not in native.existing_rules():
        java_import_external(
            name = "aalto_xml",
            jar_sha256 = "7de8f7b2c640e36155b29565e68fd96f7c363c553bf65c4b5280115223820396",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/fasterxml/aalto-xml/1.0.0/aalto-xml-1.0.0.jar"],        )
    if "stax2_api" not in native.existing_rules():
        java_import_external(
            name = "stax2_api",
            jar_sha256 = "605b25fb3fa710c3ce28e46e385ba17b4f1081361ae465fefb3c9241ae4de2a6",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/codehaus/woodstox/stax2-api/4.0.0/stax2-api-4.0.0.jar"],        )
    if "concurrent_hashmap" not in native.existing_rules():
        java_import_external(
            name = "concurrent_hashmap",
            jar_sha256 = "dd624af33566e7077547862129520ab89103b1f2a8eb3db18dc72ea8de2fdd97",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/googlecode/concurrentlinkedhashmap/concurrentlinkedhashmap-lru/1.0/concurrentlinkedhashmap-lru-1.0.jar"],        )
    if "gnu_idn" not in native.existing_rules():
        java_import_external(
            name = "gnu_idn",
            jar_sha256 = "ba491f1dff9b4fb211fe495fe6c52a38f76dcd861dadfcd2c93bea0f9fd18f03",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/gnu/inet/libidn/1.15/libidn-1.15.jar"],        )
    if "sigar" not in native.existing_rules():
        java_import_external(
            name = "sigar",
            jar_sha256 = "5107e6b19b1d0ff2cfcd3baf0c25f0d444330273b1f2bec710e127c733f11455",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/knowhowlab/osgi/sigar/1.6.5_01/sigar-1.6.5_01.jar"],        )
artifact_map = {}
artifact_map["@aopalliance_repackaged//:aopalliance_repackaged"] = "mvn:org.glassfish.hk2.external:aopalliance-repackaged:jar:2.5.0-b42"
artifact_map["@amqp_client//:amqp_client"] = "mvn:com.rabbitmq:amqp-client:jar:3.6.1"
artifact_map["@asm//:asm"] = "mvn:org.ow2.asm:asm:jar:5.2"
artifact_map["@atomix//:atomix"] = "mvn:io.atomix:atomix:jar:3.1.12"
artifact_map["@atomix_cluster//:atomix_cluster"] = "mvn:io.atomix:atomix-cluster:jar:3.1.12"
artifact_map["@atomix_primary_backup//:atomix_primary_backup"] = "mvn:io.atomix:atomix-primary-backup:jar:3.1.12"
artifact_map["@atomix_primitive//:atomix_primitive"] = "mvn:io.atomix:atomix-primitive:jar:3.1.12"
artifact_map["@atomix_raft//:atomix_raft"] = "mvn:io.atomix:atomix-raft:jar:3.1.12"
artifact_map["@atomix_storage//:atomix_storage"] = "mvn:io.atomix:atomix-storage:jar:3.1.12"
artifact_map["@atomix_utils//:atomix_utils"] = "mvn:io.atomix:atomix-utils:jar:3.1.12"
artifact_map["@classgraph//:classgraph"] = "mvn:io.github.classgraph:classgraph:jar:4.2.3"
artifact_map["@commons_codec//:commons_codec"] = "mvn:commons-codec:commons-codec:jar:1.10"
artifact_map["@commons_cli//:commons_cli"] = "mvn:commons-cli:commons-cli:jar:1.3"
artifact_map["@commons_collections//:commons_collections"] = "mvn:commons-collections:commons-collections:jar:3.2.2"
artifact_map["@commons_configuration//:commons_configuration"] = "mvn:commons-configuration:commons-configuration:jar:1.10"
artifact_map["@commons_io//:commons_io"] = "mvn:commons-io:commons-io:jar:2.6"
artifact_map["@commons_beanutils//:commons_beanutils"] = "mvn:commons-beanutils:commons-beanutils:jar:1.9.3"
artifact_map["@commons_jxpath//:commons_jxpath"] = "mvn:commons-jxpath:commons-jxpath:jar:1.3"
artifact_map["@fast_classpath_scanner//:fast_classpath_scanner"] = "mvn:io.github.lukehutch:fast-classpath-scanner:jar:2.21"
artifact_map["@jdom//:jdom"] = "mvn:jdom:jdom:jar:NON-OSGI:1.0"
artifact_map["@commons_lang//:commons_lang"] = "mvn:commons-lang:commons-lang:jar:2.6"
artifact_map["@commons_lang3//:commons_lang3"] = "mvn:org.apache.commons:commons-lang3:jar:3.7"
artifact_map["@commons_logging//:commons_logging"] = "mvn:commons-logging:commons-logging:jar:1.2"
artifact_map["@commons_math3//:commons_math3"] = "mvn:org.apache.commons:commons-math3:jar:3.6.1"
artifact_map["@commons_net//:commons_net"] = "mvn:commons-net:commons-net:jar:3.5"
artifact_map["@commons_pool//:commons_pool"] = "mvn:commons-pool:commons-pool:jar:1.6"
artifact_map["@commons_text//:commons_text"] = "mvn:org.apache.commons:commons-text:jar:1.3"
artifact_map["@concurrent_trees//:concurrent_trees"] = "mvn:com.googlecode.concurrent-trees:concurrent-trees:jar:2.6.1"
artifact_map["@easymock//:easymock"] = "mvn:org.easymock:easymock:jar:4.0.2"
artifact_map["@antlr//:antlr"] = "mvn:antlr:antlr:jar:NON-OSGI:2.7.7"
artifact_map["@ganymed_ssh2//:ganymed_ssh2"] = "mvn:ch.ethz.ganymed:ganymed-ssh2:jar:NON-OSGI:262"
artifact_map["@gmetric4j//:gmetric4j"] = "mvn:info.ganglia.gmetric4j:gmetric4j:jar:1.0.10"
artifact_map["@com_google_code_gson_gson//:com_google_code_gson_gson"] = "mvn:com.google.code.gson:gson:jar:2.7"
artifact_map["@com_google_guava_guava//:com_google_guava_guava"] = "mvn:com.google.guava:guava:jar:22.0"
artifact_map["@com_google_guava_guava_testlib//:com_google_guava_guava_testlib"] = "mvn:com.google.guava:guava-testlib:jar:NON-OSGI:22.0"
artifact_map["@hamcrest_all//:hamcrest_all"] = "mvn:org.hamcrest:hamcrest-all:jar:NON-OSGI:1.3"
artifact_map["@hk2_api//:hk2_api"] = "mvn:org.glassfish.hk2:hk2-api:jar:2.5.0-b42"
artifact_map["@hk2_locator//:hk2_locator"] = "mvn:org.glassfish.hk2:hk2-locator:jar:2.5.0-b42"
artifact_map["@hk2_osgi_resource_locator//:hk2_osgi_resource_locator"] = "mvn:org.glassfish.hk2:osgi-resource-locator:jar:1.0.1"
artifact_map["@hk2_utils//:hk2_utils"] = "mvn:org.glassfish.hk2:hk2-utils:jar:2.5.0-b42"
artifact_map["@httpclient_osgi//:httpclient_osgi"] = "mvn:org.apache.httpcomponents:httpclient-osgi:jar:4.5.1"
artifact_map["@httpcore_osgi//:httpcore_osgi"] = "mvn:org.apache.httpcomponents:httpcore-osgi:jar:4.4.4"
artifact_map["@influxdb_java//:influxdb_java"] = "mvn:org.influxdb:influxdb-java:jar:NON-OSGI:2.9"
artifact_map["@ipaddress//:ipaddress"] = "mvn:com.github.seancfoley:ipaddress:jar:5.3.3"
artifact_map["@simpleclient//:simpleclient"] = "mvn:io.prometheus:simpleclient:jar:0.5.0"
artifact_map["@simpleclient_common//:simpleclient_common"] = "mvn:io.prometheus:simpleclient_common:jar:0.5.0"
artifact_map["@simpleclient_hotspot//:simpleclient_hotspot"] = "mvn:io.prometheus:simpleclient_hotspot:jar:0.5.0"
artifact_map["@simpleclient_servlet//:simpleclient_servlet"] = "mvn:io.prometheus:simpleclient_servlet:jar:0.5.0"
artifact_map["@retrofit//:retrofit"] = "mvn:com.squareup.retrofit2:retrofit:jar:NON-OSGI:2.3.0"
artifact_map["@converter_moshi//:converter_moshi"] = "mvn:com.squareup.retrofit2:converter-moshi:jar:NON-OSGI:2.3.0"
artifact_map["@okhttp//:okhttp"] = "mvn:com.squareup.okhttp3:okhttp:jar:NON-OSGI:3.12.12"
artifact_map["@logging_interceptor//:logging_interceptor"] = "mvn:com.squareup.okhttp3:logging-interceptor:jar:NON-OSGI:3.12.12"
artifact_map["@moshi//:moshi"] = "mvn:com.squareup.moshi:moshi:jar:NON-OSGI:1.4.0"
artifact_map["@okio//:okio"] = "mvn:com.squareup.okio:okio:jar:NON-OSGI:1.14.0"
artifact_map["@jacoco_agent_runtime//:jacoco_agent_runtime"] = "mvn:org.jacoco:org.jacoco.agent:jar:runtime:NON-OSGI:0.8.2"
artifact_map["@jackson_annotations//:jackson_annotations"] = "mvn:com.fasterxml.jackson.core:jackson-annotations:jar:2.11.4"
artifact_map["@jackson_core//:jackson_core"] = "mvn:com.fasterxml.jackson.core:jackson-core:jar:2.11.4"
artifact_map["@jackson_databind//:jackson_databind"] = "mvn:com.fasterxml.jackson.core:jackson-databind:jar:2.11.4"
artifact_map["@jackson_datatype_jsr310//:jackson_datatype_jsr310"] = "mvn:com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.11.4"
artifact_map["@jackson_dataformat_yaml//:jackson_dataformat_yaml"] = "mvn:com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.11.4"
artifact_map["@javax_annotation_javax_annotation_api//:javax_annotation_javax_annotation_api"] = "mvn:javax.annotation:javax.annotation-api:jar:1.3"
artifact_map["@javax_inject//:javax_inject"] = "mvn:org.glassfish.hk2.external:javax.inject:jar:2.5.0-b42"
artifact_map["@javax_ws_rs_api//:javax_ws_rs_api"] = "mvn:javax.ws.rs:javax.ws.rs-api:jar:2.1"
artifact_map["@javax_activation//:javax_activation"] = "mvn:javax.activation:activation:jar:NON-OSGI:1.1.1"
artifact_map["@jaxb_api//:jaxb_api"] = "mvn:javax.xml.bind:jaxb-api:jar:2.3.1"
artifact_map["@jaxb_core//:jaxb_core"] = "mvn:com.sun.xml.bind:jaxb-core:jar:2.3.0.1"
artifact_map["@jaxb_impl//:jaxb_impl"] = "mvn:com.sun.xml.bind:jaxb-impl:jar:2.3.0.1"
artifact_map["@jersey_client//:jersey_client"] = "mvn:org.glassfish.jersey.core:jersey-client:jar:2.27"
artifact_map["@jersey_security//:jersey_security"] = "mvn:org.glassfish.jersey.security:oauth2-client:jar:NON-OSGI:2.27"
artifact_map["@jersey_common//:jersey_common"] = "mvn:org.glassfish.jersey.core:jersey-common:jar:2.27"
artifact_map["@jersey_container_jetty_http//:jersey_container_jetty_http"] = "mvn:org.glassfish.jersey.containers:jersey-container-jetty-http:jar:2.27"
artifact_map["@jersey_container_servlet//:jersey_container_servlet"] = "mvn:org.glassfish.jersey.containers:jersey-container-servlet:jar:2.27"
artifact_map["@jersey_container_servlet_core//:jersey_container_servlet_core"] = "mvn:org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.27"
artifact_map["@jersey_media_multipart//:jersey_media_multipart"] = "mvn:org.glassfish.jersey.media:jersey-media-multipart:jar:2.27"
artifact_map["@jersey_media_sse//:jersey_media_sse"] = "mvn:org.glassfish.jersey.media:jersey-media-sse:jar:2.27"
artifact_map["@jersey_server//:jersey_server"] = "mvn:org.glassfish.jersey.core:jersey-server:jar:2.27"
artifact_map["@jersey_hk2//:jersey_hk2"] = "mvn:org.glassfish.jersey.inject:jersey-hk2:jar:2.27"
artifact_map["@jersey_test_framework_core//:jersey_test_framework_core"] = "mvn:org.glassfish.jersey.test-framework:jersey-test-framework-core:jar:NON-OSGI:2.27"
artifact_map["@jersey_test_framework_jetty//:jersey_test_framework_jetty"] = "mvn:org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty:jar:NON-OSGI:2.27"
artifact_map["@jetty_util//:jetty_util"] = "mvn:org.eclipse.jetty:jetty-util:jar:9.4.11.v20180605"
artifact_map["@jetty_websocket_api//:jetty_websocket_api"] = "mvn:org.eclipse.jetty.websocket:websocket-api:jar:9.4.11.v20180605"
artifact_map["@jetty_websocket//:jetty_websocket"] = "mvn:org.eclipse.jetty.websocket:websocket-servlet:jar:9.4.11.v20180605"
artifact_map["@jetty_server//:jetty_server"] = "mvn:org.eclipse.jetty:jetty-server:jar:9.4.11.v20180605"
artifact_map["@jetty_servlet//:jetty_servlet"] = "mvn:org.eclipse.jetty:jetty-servlet:jar:9.4.11.v20180605"
artifact_map["@jetty_security//:jetty_security"] = "mvn:org.eclipse.jetty:jetty-security:jar:9.4.11.v20180605"
artifact_map["@jetty_continuation//:jetty_continuation"] = "mvn:org.eclipse.jetty:jetty-continuation:jar:9.4.11.v20180605"
artifact_map["@jetty_http//:jetty_http"] = "mvn:org.eclipse.jetty:jetty-http:jar:9.4.11.v20180605"
artifact_map["@jetty_io//:jetty_io"] = "mvn:org.eclipse.jetty:jetty-io:jar:9.4.11.v20180605"
artifact_map["@javax_servlet_api//:javax_servlet_api"] = "mvn:javax.servlet:javax.servlet-api:jar:3.1.0"
artifact_map["@joda_time//:joda_time"] = "mvn:joda-time:joda-time:jar:2.9.3"
artifact_map["@jsch//:jsch"] = "mvn:com.jcraft:jsch:jar:NON-OSGI:0.1.53"
artifact_map["@com_google_code_findbugs_jsr305//:com_google_code_findbugs_jsr305"] = "mvn:com.google.code.findbugs:jsr305:jar:3.0.2"
artifact_map["@junit//:junit"] = "mvn:junit:junit:jar:NON-OSGI:4.12"
artifact_map["@junit_dep//:junit_dep"] = "mvn:junit:junit:jar:NON-OSGI:4.10"
artifact_map["@kryo//:kryo"] = "mvn:com.esotericsoftware:kryo:jar:4.0.1"
artifact_map["@mapdb//:mapdb"] = "mvn:org.mapdb:mapdb:jar:1.0.9"
artifact_map["@metrics_core//:metrics_core"] = "mvn:io.dropwizard.metrics:metrics-core:jar:3.2.2"
artifact_map["@metrics_ganglia//:metrics_ganglia"] = "mvn:io.dropwizard.metrics:metrics-ganglia:jar:3.2.2"
artifact_map["@metrics_graphite//:metrics_graphite"] = "mvn:io.dropwizard.metrics:metrics-graphite:jar:3.2.2"
artifact_map["@metrics_influxdb//:metrics_influxdb"] = "mvn:com.izettle:metrics-influxdb:jar:NON-OSGI:1.1.1"
artifact_map["@metrics_json//:metrics_json"] = "mvn:io.dropwizard.metrics:metrics-json:jar:3.2.2"
artifact_map["@minimal_json//:minimal_json"] = "mvn:com.eclipsesource.minimal-json:minimal-json:jar:0.9.4"
artifact_map["@minlog//:minlog"] = "mvn:com.esotericsoftware:minlog:jar:1.3.0"
artifact_map["@io_netty_netty//:io_netty_netty"] = "mvn:io.netty:netty:jar:3.10.5.Final"
artifact_map["@io_netty_netty_buffer//:io_netty_netty_buffer"] = "mvn:io.netty:netty-buffer:jar:4.1.35.Final"
artifact_map["@io_netty_netty_codec//:io_netty_netty_codec"] = "mvn:io.netty:netty-codec:jar:4.1.35.Final"
artifact_map["@io_netty_netty_common//:io_netty_netty_common"] = "mvn:io.netty:netty-common:jar:4.1.35.Final"
artifact_map["@io_netty_netty_handler//:io_netty_netty_handler"] = "mvn:io.netty:netty-handler:jar:4.1.35.Final"
artifact_map["@io_netty_netty_handler_proxy//:io_netty_netty_handler_proxy"] = "mvn:io.netty:netty-handler-proxy:jar:4.1.35.Final"
artifact_map["@io_netty_netty_transport//:io_netty_netty_transport"] = "mvn:io.netty:netty-transport:jar:4.1.35.Final"
artifact_map["@io_netty_netty_transport_native_unix_common//:io_netty_netty_transport_native_unix_common"] = "mvn:io.netty:netty-transport-native-unix-common:jar:4.1.35.Final"
artifact_map["@io_netty_netty_transport_native_epoll//:io_netty_netty_transport_native_epoll"] = "mvn:io.netty:netty-transport-native-epoll:jar:4.1.35.Final"
artifact_map["@io_netty_netty_resolver//:io_netty_netty_resolver"] = "mvn:io.netty:netty-resolver:jar:4.1.35.Final"
artifact_map["@io_netty_netty_codec_http2//:io_netty_netty_codec_http2"] = "mvn:io.netty:netty-codec-http2:jar:4.1.35.Final"
artifact_map["@io_netty_netty_codec_http//:io_netty_netty_codec_http"] = "mvn:io.netty:netty-codec-http:jar:4.1.35.Final"
artifact_map["@io_netty_netty_codec_socks//:io_netty_netty_codec_socks"] = "mvn:io.netty:netty-codec-socks:jar:4.1.35.Final"
artifact_map["@io_netty_netty_tcnative_boringssl//:io_netty_netty_tcnative_boringssl"] = "mvn:io.netty:netty-tcnative-boringssl-static:jar:2.0.25.Final"
artifact_map["@objenesis//:objenesis"] = "mvn:org.objenesis:objenesis:jar:2.6"
artifact_map["@openflowj//:openflowj"] = "mvn:org.onosproject:openflowj:jar:3.2.1.onos"
artifact_map["@org_osgi_util_function//:org_osgi_util_function"] = "mvn:org.osgi:org.osgi.util.function:jar:1.1.0"
artifact_map["@org_osgi_util_promise//:org_osgi_util_promise"] = "mvn:org.osgi:org.osgi.util.promise:jar:1.1.1"
artifact_map["@org_osgi_service_component//:org_osgi_service_component"] = "mvn:org.osgi:org.osgi.service.component:jar:1.4.0"
artifact_map["@org_osgi_service_component_annotations//:org_osgi_service_component_annotations"] = "mvn:org.osgi:org.osgi.service.component.annotations:jar:1.4.0"
artifact_map["@org_osgi_service_metatype_annotations//:org_osgi_service_metatype_annotations"] = "mvn:org.osgi:org.osgi.service.metatype.annotations:jar:1.4.0"
artifact_map["@org_osgi_service_cm//:org_osgi_service_cm"] = "mvn:org.osgi:org.osgi.service.cm:jar:1.6.0"
artifact_map["@org_apache_felix_scr_bnd//:org_apache_felix_scr_bnd"] = "mvn:org.apache.felix:org.apache.felix.scr.bnd:jar:NON-OSGI:1.9.0"
artifact_map["@org_apache_karaf_bundle_core//:org_apache_karaf_bundle_core"] = "mvn:org.apache.karaf.bundle:org.apache.karaf.bundle.core:jar:4.2.14"
artifact_map["@org_apache_karaf_features_core//:org_apache_karaf_features_core"] = "mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:4.2.14"
artifact_map["@org_apache_karaf_shell_console//:org_apache_karaf_shell_console"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:4.2.14"
artifact_map["@org_apache_karaf_shell_core//:org_apache_karaf_shell_core"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.core:jar:4.2.14"
artifact_map["@org_apache_httpcomponents_httpasyncclient_osgi//:org_apache_httpcomponents_httpasyncclient_osgi"] = "mvn:org.apache.httpcomponents:httpasyncclient-osgi:jar:4.1.2"
artifact_map["@org_apache_httpcomponents_httpcore_nio//:org_apache_httpcomponents_httpcore_nio"] = "mvn:org.apache.httpcomponents:httpcore-nio:jar:NON-OSGI:4.4.4"
artifact_map["@org_apache_karaf_jaas//:org_apache_karaf_jaas"] = "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:4.2.14"
artifact_map["@org_apache_karaf_system_core//:org_apache_karaf_system_core"] = "mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:4.2.14"
artifact_map["@org_apache_servicemix_bundles_snmp4j//:org_apache_servicemix_bundles_snmp4j"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.snmp4j:jar:2.3.4_1"
artifact_map["@org_osgi_cmpn//:org_osgi_cmpn"] = "mvn:org.osgi:osgi.cmpn:jar:6.0.0"
artifact_map["@osgi_core//:osgi_core"] = "mvn:org.osgi:org.osgi.core:jar:6.0.0"
artifact_map["@reflectasm//:reflectasm"] = "mvn:com.esotericsoftware:reflectasm:jar:1.11.7"
artifact_map["@remotetea_oncrpc//:remotetea_oncrpc"] = "mvn:org.acplt.remotetea:remotetea-oncrpc:jar:1.1.3"
artifact_map["@rrd4j//:rrd4j"] = "mvn:org.rrd4j:rrd4j:jar:NON-OSGI:3.1"
artifact_map["@javassist//:javassist"] = "mvn:org.javassist:javassist:jar:3.22.0-GA"
artifact_map["@mimepull//:mimepull"] = "mvn:org.jvnet.mimepull:mimepull:jar:1.9.6"
artifact_map["@servlet_api//:servlet_api"] = "mvn:javax.servlet:servlet-api:jar:NON-OSGI:2.5"
artifact_map["@slf4j_api//:slf4j_api"] = "mvn:org.slf4j:slf4j-api:jar:1.7.25"
artifact_map["@slf4j_jdk14//:slf4j_jdk14"] = "mvn:org.slf4j:slf4j-jdk14:jar:1.7.25"
artifact_map["@slf4j_nop//:slf4j_nop"] = "mvn:org.slf4j:slf4j-nop:jar:1.7.25"
artifact_map["@typesafe_config//:typesafe_config"] = "mvn:com.typesafe:config:jar:1.3.2"
artifact_map["@validation_api//:validation_api"] = "mvn:javax.validation:validation-api:jar:2.0.1.Final"
artifact_map["@checkstyle//:checkstyle"] = "mvn:com.puppycrawl.tools:checkstyle:jar:NON-OSGI:8.10"
artifact_map["@apache_karaf//:apache_karaf"] = "https://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.14-offline-20220105/apache-karaf-4.2.14-offline-20220105.tar.gz"
artifact_map["@bndlib//:bndlib"] = "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:4.1.0"
artifact_map["@bndexe//:bndexe"] = "mvn:biz.aQute.bnd:biz.aQute.bnd:jar:4.1.0"
artifact_map["@libthrift//:libthrift"] = "mvn:org.apache.thrift:libthrift:jar:0.11.0"
artifact_map["@qdox//:qdox"] = "mvn:com.thoughtworks.qdox:qdox:jar:NON-OSGI:2.0-M3"
artifact_map["@snmp_core//:snmp_core"] = "mvn:org.onosproject:snmp-core:jar:1.3-20161021.1"
artifact_map["@mibs_net_snmp//:mibs_net_snmp"] = "mvn:org.onosproject:mibbler-mibs-net-snmp:jar:1.0-20151221.1"
artifact_map["@mibs_rfc//:mibs_rfc"] = "mvn:org.onosproject:mibbler-mibs-rfc:jar:1.0-20151221.1"
artifact_map["@io_socket_client//:io_socket_client"] = "mvn:io.socket:socket.io-client:jar:NON-OSGI:0.8.3"
artifact_map["@engine_io_client//:engine_io_client"] = "mvn:io.socket:engine.io-client:jar:NON-OSGI:0.8.3"
artifact_map["@org_codehaus_mojo_animal_sniffer_annotations//:org_codehaus_mojo_animal_sniffer_annotations"] = "mvn:org.codehaus.mojo:animal-sniffer-annotations:jar:NON-OSGI:1.17"
artifact_map["@dns_java//:dns_java"] = "mvn:dnsjava:dnsjava:jar:3.3.1"
artifact_map["@com_google_api_grpc_proto_google_common_protos//:com_google_api_grpc_proto_google_common_protos"] = "mvn:com.google.api.grpc:proto-google-common-protos:jar:NON-OSGI:1.12.0"
artifact_map["@com_google_errorprone_error_prone_annotations//:com_google_errorprone_error_prone_annotations"] = "mvn:com.google.errorprone:error_prone_annotations:jar:NON-OSGI:2.3.4"
artifact_map["@com_google_auth_google_auth_library_credentials//:com_google_auth_google_auth_library_credentials"] = "mvn:com.google.auth:google-auth-library-credentials:jar:NON-OSGI:0.13.0"
artifact_map["@com_google_auth_google_auth_library_oauth2_http//:com_google_auth_google_auth_library_oauth2_http"] = "mvn:com.google.auth:google-auth-library-oauth2-http:jar:NON-OSGI:0.13.0"
artifact_map["@com_google_j2objc_j2objc_annotations//:com_google_j2objc_j2objc_annotations"] = "mvn:com.google.j2objc:j2objc-annotations:jar:NON-OSGI:1.1"
artifact_map["@com_google_guava_failureaccess//:com_google_guava_failureaccess"] = "mvn:com.google.guava:failureaccess:jar:1.0.1"
artifact_map["@com_google_android_annotations//:com_google_android_annotations"] = "mvn:com.google.android:annotations:jar:NON-OSGI:4.1.1.4"
artifact_map["@io_opencensus_opencensus_api//:io_opencensus_opencensus_api"] = "mvn:io.opencensus:opencensus-api:jar:NON-OSGI:0.21.0"
artifact_map["@io_opencensus_opencensus_contrib_grpc_metrics//:io_opencensus_opencensus_contrib_grpc_metrics"] = "mvn:io.opencensus:opencensus-contrib-grpc-metrics:jar:NON-OSGI:0.21.0"
artifact_map["@io_perfmark_perfmark_api//:io_perfmark_perfmark_api"] = "mvn:io.perfmark:perfmark-api:jar:NON-OSGI:0.16.0"
artifact_map["@openstack4j_core//:openstack4j_core"] = "mvn:org.pacesys:openstack4j-core:jar:3.2.0"
artifact_map["@openstack4j_http_connector//:openstack4j_http_connector"] = "mvn:org.pacesys.openstack4j.connectors:openstack4j-http-connector:jar:3.2.0"
artifact_map["@openstack4j_httpclient//:openstack4j_httpclient"] = "mvn:org.pacesys.openstack4j.connectors:openstack4j-httpclient:jar:3.2.0"
artifact_map["@json_patch//:json_patch"] = "mvn:com.github.fge:json-patch:jar:1.9"
artifact_map["@jackson_coreutils//:jackson_coreutils"] = "mvn:com.github.fge:jackson-coreutils:jar:1.6"
artifact_map["@btf//:btf"] = "mvn:com.github.fge:btf:jar:1.2"
artifact_map["@msg_simple//:msg_simple"] = "mvn:com.github.fge:msg-simple:jar:1.1"
artifact_map["@snakeyaml//:snakeyaml"] = "mvn:org.yaml:snakeyaml:jar:1.26"
artifact_map["@k8s_client//:k8s_client"] = "mvn:io.fabric8:kubernetes-client:jar:NON-OSGI:5.4.2"
artifact_map["@k8s_model//:k8s_model"] = "mvn:io.fabric8:kubernetes-model:jar:NON-OSGI:5.4.2"
artifact_map["@k8s_model_common//:k8s_model_common"] = "mvn:io.fabric8:kubernetes-model-common:jar:5.4.2"
artifact_map["@k8s_model_core//:k8s_model_core"] = "mvn:io.fabric8:kubernetes-model-core:jar:5.4.2"
artifact_map["@k8s_model_rbac//:k8s_model_rbac"] = "mvn:io.fabric8:kubernetes-model-rbac:jar:5.4.2"
artifact_map["@k8s_model_admissionregistration//:k8s_model_admissionregistration"] = "mvn:io.fabric8:kubernetes-model-admissionregistration:jar:5.4.2"
artifact_map["@k8s_model_apiextensions//:k8s_model_apiextensions"] = "mvn:io.fabric8:kubernetes-model-apiextensions:jar:5.4.2"
artifact_map["@k8s_model_batch//:k8s_model_batch"] = "mvn:io.fabric8:kubernetes-model-batch:jar:5.4.2"
artifact_map["@k8s_model_certificates//:k8s_model_certificates"] = "mvn:io.fabric8:kubernetes-model-certificates:jar:5.4.2"
artifact_map["@k8s_model_coordination//:k8s_model_coordination"] = "mvn:io.fabric8:kubernetes-model-coordination:jar:5.4.2"
artifact_map["@k8s_model_discovery//:k8s_model_discovery"] = "mvn:io.fabric8:kubernetes-model-discovery:jar:5.4.2"
artifact_map["@k8s_model_flowcontrol//:k8s_model_flowcontrol"] = "mvn:io.fabric8:kubernetes-model-flowcontrol:jar:5.4.2"
artifact_map["@k8s_model_metrics//:k8s_model_metrics"] = "mvn:io.fabric8:kubernetes-model-metrics:jar:5.4.2"
artifact_map["@k8s_model_scheduling//:k8s_model_scheduling"] = "mvn:io.fabric8:kubernetes-model-scheduling:jar:5.4.2"
artifact_map["@k8s_model_storageclass//:k8s_model_storageclass"] = "mvn:io.fabric8:kubernetes-model-storageclass:jar:5.4.2"
artifact_map["@k8s_model_autoscaling//:k8s_model_autoscaling"] = "mvn:io.fabric8:kubernetes-model-autoscaling:jar:5.4.2"
artifact_map["@k8s_model_apps//:k8s_model_apps"] = "mvn:io.fabric8:kubernetes-model-apps:jar:5.4.2"
artifact_map["@k8s_model_events//:k8s_model_events"] = "mvn:io.fabric8:kubernetes-model-events:jar:5.4.2"
artifact_map["@k8s_model_extensions//:k8s_model_extensions"] = "mvn:io.fabric8:kubernetes-model-extensions:jar:5.4.2"
artifact_map["@k8s_model_networking//:k8s_model_networking"] = "mvn:io.fabric8:kubernetes-model-networking:jar:5.4.2"
artifact_map["@k8s_model_node//:k8s_model_node"] = "mvn:io.fabric8:kubernetes-model-node:jar:5.4.2"
artifact_map["@k8s_model_policy//:k8s_model_policy"] = "mvn:io.fabric8:kubernetes-model-policy:jar:5.4.2"
artifact_map["@zjsonpatch//:zjsonpatch"] = "mvn:io.fabric8:zjsonpatch:jar:0.3.0"
artifact_map["@generex//:generex"] = "mvn:com.github.mifmif:generex:jar:NON-OSGI:1.0.2"
artifact_map["@automaton//:automaton"] = "mvn:dk.brics.automaton:automaton:jar:NON-OSGI:1.11-8"
artifact_map["@onos_yang_model//:onos_yang_model"] = "mvn:org.onosproject:onos-yang-model:jar:2.6.1"
artifact_map["@onos_yang_compiler_api//:onos_yang_compiler_api"] = "mvn:org.onosproject:onos-yang-compiler-api:jar:2.6.1"
artifact_map["@onos_yang_compiler_main//:onos_yang_compiler_main"] = "mvn:org.onosproject:onos-yang-compiler-main:jar:2.6.1"
artifact_map["@onos_yang_runtime//:onos_yang_runtime"] = "mvn:org.onosproject:onos-yang-runtime:jar:2.6"
artifact_map["@onos_yang_serializers_json//:onos_yang_serializers_json"] = "mvn:org.onosproject:onos-yang-serializers-json:jar:2.6.1"
artifact_map["@onos_yang_serializers_xml//:onos_yang_serializers_xml"] = "mvn:org.onosproject:onos-yang-serializers-xml:jar:2.6.1"
artifact_map["@onos_yang_serializers_utils//:onos_yang_serializers_utils"] = "mvn:org.onosproject:onos-yang-serializers-utils:jar:2.6.1"
artifact_map["@org_apache_servicemix_bundles_dom4j//:org_apache_servicemix_bundles_dom4j"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:jar:1.6.1_5"
artifact_map["@plexus_utils//:plexus_utils"] = "mvn:org.codehaus.plexus:plexus-utils:jar:NON-OSGI:3.0.24"
artifact_map["@sshd_core//:sshd_core"] = "mvn:org.apache.sshd:sshd-core:jar:1.7.0"
artifact_map["@bcpkix_jdk15on//:bcpkix_jdk15on"] = "mvn:org.bouncycastle:bcpkix-jdk15on:jar:1.66"
artifact_map["@bcprov_jdk15on//:bcprov_jdk15on"] = "mvn:org.bouncycastle:bcprov-jdk15on:jar:1.66"
artifact_map["@hamcrest_optional//:hamcrest_optional"] = "mvn:com.spotify:hamcrest-optional:jar:NON-OSGI:1.1.0"
artifact_map["@swagger_annotations//:swagger_annotations"] = "mvn:io.swagger:swagger-annotations:jar:1.5.16"
artifact_map["@kafka_clients//:kafka_clients"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:jar:1.1.1_1"
artifact_map["@tinder_xmpp//:tinder_xmpp"] = "mvn:org.igniterealtime:tinder:jar:NON-OSGI:1.3.0"
artifact_map["@aalto_xml//:aalto_xml"] = "mvn:com.fasterxml:aalto-xml:jar:1.0.0"
artifact_map["@stax2_api//:stax2_api"] = "mvn:org.codehaus.woodstox:stax2-api:jar:4.0.0"
artifact_map["@concurrent_hashmap//:concurrent_hashmap"] = "mvn:com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:NON-OSGI:1.0"
artifact_map["@gnu_idn//:gnu_idn"] = "mvn:org.gnu.inet:libidn:jar:NON-OSGI:1.15"
artifact_map["@sigar//:sigar"] = "mvn:org.knowhowlab.osgi:sigar:jar:1.6.5_01"

def maven_coordinates(label):
    label_string = str(label)
    if label_string in artifact_map:
        return artifact_map[label_string]
    if (label_string.endswith(":jar")):
        label_string = label_string.replace(":jar", "")
        if label_string in artifact_map:
            return artifact_map[label_string]
    if type(label) == "string":
        return "mvn:%s:%s:%s" % (ONOS_GROUP_ID, label_string, ONOS_VERSION)
    return "mvn:%s:%s:%s" % (ONOS_GROUP_ID, label.name, ONOS_VERSION)
