"""
@generated
cargo-raze crate build file.

DO NOT EDIT! Replaced on runs of cargo-raze
"""

# buildifier: disable=load
load("@bazel_skylib//lib:selects.bzl", "selects")

# buildifier: disable=load
load(
    "@rules_rust//rust:defs.bzl",
    "rust_binary",
    "rust_library",
    "rust_proc_macro",
    "rust_test",
)

package(default_visibility = [
    # Public for visibility by "@raze__crate__version//" targets.
    #
    # Prefer access through "//third_party/rust/crates", which limits external
    # visibility to explicit Cargo.toml dependencies.
    "//visibility:public",
])

licenses([
    "notice",  # MIT from expression "MIT OR Apache-2.0"
])

# Generated Targets

# Unsupported target "key" with type "bench" omitted

rust_library(
    name = "rsa",
    srcs = glob(["**/*.rs"]),
    aliases = {
        "@raze__num_bigint_dig__0_7_0//:num_bigint_dig": "num_bigint",
    },
    crate_features = [
        "alloc",
        "default",
        "pem",
        "std",
    ],
    crate_root = "src/lib.rs",
    data = [],
    edition = "2018",
    rustc_flags = [
        "--cap-lints=allow",
    ],
    tags = [
        "cargo-raze",
        "crate-name=rsa",
        "manual",
    ],
    version = "0.5.0",
    # buildifier: leave-alone
    deps = [
        "@raze__byteorder__1_4_3//:byteorder",
        "@raze__digest__0_9_0//:digest",
        "@raze__lazy_static__1_4_0//:lazy_static",
        "@raze__num_bigint_dig__0_7_0//:num_bigint_dig",
        "@raze__num_integer__0_1_45//:num_integer",
        "@raze__num_iter__0_1_43//:num_iter",
        "@raze__num_traits__0_2_15//:num_traits",
        "@raze__pkcs1__0_2_4//:pkcs1",
        "@raze__pkcs8__0_7_6//:pkcs8",
        "@raze__rand__0_8_5//:rand",
        "@raze__subtle__2_4_1//:subtle",
        "@raze__zeroize__1_4_3//:zeroize",
    ],
)

# Unsupported target "pkcs1" with type "test" omitted

# Unsupported target "pkcs8" with type "test" omitted
