@sphereon/ssi-sdk.kms-rest-client 0.36.1-feature.SSISDK.82.and.SSISDK.70.35 → 0.36.1-next.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +20 -82
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +52 -28
- package/dist/index.d.ts +52 -28
- package/dist/index.js +20 -82
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/agent/KmsRestClient.ts +42 -55
- package/src/types/IKmsRestClient.ts +60 -43
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../plugin.schema.json","../src/agent/KmsRestClient.ts","../src/models/LookupMode.ts","../src/models/AwsAssumeRoleCredentials.ts","../src/models/AwsClientConfiguration.ts","../src/models/AwsStaticCredentials.ts","../src/models/AwsWebIdentityTokenCredentials.ts","../src/models/AwsKmsSetting.ts","../src/models/AzureClientSecretCredentialOpts.ts","../src/models/AzureCredentialOpts.ts","../src/models/AzureKeyVaultSetting.ts","../src/models/CoseKeyType.ts","../src/models/CoseKey.ts","../src/models/CoseKeyPair.ts","../src/models/KeyProviderType.ts","../src/models/CreateKeyProvider.ts","../src/models/KeyType.ts","../src/models/KeyVisibility.ts","../src/models/SignatureAlgorithm.ts","../src/models/KeyEncoding.ts","../src/models/Curve.ts","../src/models/KeyOperations.ts","../src/models/JwkUse.ts","../src/models/JwkKeyType.ts","../src/models/Jwk.ts","../src/models/KeyInfo.ts","../src/models/CreateRawSignature.ts","../src/models/CreateRawSignatureResponse.ts","../src/models/SignInput.ts","../src/models/CreateSimpleSignature.ts","../src/models/CryptoAlg.ts","../src/models/DigestAlg.ts","../src/models/ErrorResponse.ts","../src/models/GenerateKey.ts","../src/models/GenerateKeyGlobal.ts","../src/models/JoseKeyPair.ts","../src/models/ManagedKeyPair.ts","../src/models/GenerateKeyResponse.ts","../src/models/ManagedKeyInfo.ts","../src/models/GetKeyResponse.ts","../src/models/IdentifierMethod.ts","../src/models/KeyProvider.ts","../src/models/KeyProviderResponse.ts","../src/models/KeyResolver.ts","../src/models/ListKeyProvidersResponse.ts","../src/models/ListKeysResponse.ts","../src/models/Resolver.ts","../src/models/ListResolversResponse.ts","../src/models/MaskGenFunction.ts","../src/models/ProviderCapabilities.ts","../src/models/ResolvePublicKey.ts","../src/models/ResolvedKeyInfo.ts","../src/models/Signature.ts","../src/models/SignOutput.ts","../src/models/StoreKey.ts","../src/models/StoreKeyResponse.ts","../src/models/UpdateKeyProvider.ts","../src/models/VerifyRawSignature.ts","../src/models/VerifyRawSignatureResponse.ts","../src/models/VerifySimpleSignature.ts"],"sourcesContent":["/**\n * @public\n */\nimport schema from '../plugin.schema.json'\nexport { schema }\nexport { KmsRestClient } from './agent/KmsRestClient'\nexport type * from './types/IKmsRestClient'\nexport * from './models'\n","{\n \"IKmsRestClient\": {\n \"components\": {\n \"schemas\": {\n \"KmsClientCreateRawSignatureArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"input\": {\n \"type\": \"string\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"input\", \"keyInfo\"]\n },\n \"KeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"additionalProperties\": false,\n \"description\": \"Information about a cryptographic key, providing metadata and configuration details necessary for cryptographic operations.\"\n },\n \"Jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"$ref\": \"#/components/schemas/JwkKeyType\"\n },\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier used to uniquely identify the key.\"\n },\n \"alg\": {\n \"type\": \"string\",\n \"description\": \"The algorithm intended for use with the key (JWA algorithm name).\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOps\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n },\n \"description\": \"The allowed cryptographic operations for the key.\"\n },\n \"crv\": {\n \"$ref\": \"#/components/schemas/Curve\"\n },\n \"x\": {\n \"type\": \"string\",\n \"description\": \"The x coordinate for elliptic curve keys (base64url-encoded).\"\n },\n \"y\": {\n \"type\": \"string\",\n \"description\": \"The y coordinate for elliptic curve keys (base64url-encoded).\"\n },\n \"d\": {\n \"type\": \"string\",\n \"description\": \"The private key parameter (base64url-encoded).\"\n },\n \"n\": {\n \"type\": \"string\",\n \"description\": \"The modulus value for RSA keys (base64url-encoded).\"\n },\n \"e\": {\n \"type\": \"string\",\n \"description\": \"The public exponent for RSA keys (base64url-encoded).\"\n },\n \"p\": {\n \"type\": \"string\",\n \"description\": \"The first prime factor for RSA private keys (base64url-encoded).\"\n },\n \"q\": {\n \"type\": \"string\",\n \"description\": \"The second prime factor for RSA private keys (base64url-encoded).\"\n },\n \"dp\": {\n \"type\": \"string\",\n \"description\": \"The first factor CRT exponent for RSA private keys (base64url-encoded).\"\n },\n \"dq\": {\n \"type\": \"string\",\n \"description\": \"The second factor CRT exponent for RSA private keys (base64url-encoded).\"\n },\n \"qi\": {\n \"type\": \"string\",\n \"description\": \"The first CRT coefficient for RSA private keys (base64url-encoded).\"\n },\n \"k\": {\n \"type\": \"string\",\n \"description\": \"The symmetric key value (base64url-encoded).\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"X.509 certificate SHA-1 thumbprint (base64url-encoded).\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"URL pointing to X.509 certificate or certificate chain.\"\n },\n \"x5tS256\": {\n \"type\": \"string\",\n \"description\": \"X.509 certificate SHA-256 thumbprint (base64url-encoded).\"\n }\n },\n \"required\": [\"kty\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a JSON Web Key (JWK) as defined by the JSON Web Key specification.\"\n },\n \"JwkKeyType\": {\n \"type\": \"string\",\n \"enum\": [\"EC\", \"RSA\", \"OKP\", \"oct\"],\n \"description\": \"JSON Web Key (JWK) key type parameter identifying the cryptographic algorithm family.\"\n },\n \"JwkUse\": {\n \"type\": \"string\",\n \"enum\": [\"sig\", \"enc\"],\n \"description\": \"Intended use of the key (signing or encryption).\"\n },\n \"KeyOperations\": {\n \"type\": \"string\",\n \"enum\": [\"sign\", \"verify\", \"encrypt\", \"decrypt\", \"wrapKey\", \"unwrapKey\", \"deriveKey\", \"deriveBits\"],\n \"description\": \"Specific operations the key is intended for.\"\n },\n \"Curve\": {\n \"type\": \"string\",\n \"enum\": [\"P-256\", \"P-384\", \"P-521\", \"secp256k1\", \"Ed25519\", \"Ed448\", \"X25519\", \"X448\"],\n \"description\": \"Elliptic curve identifier.\"\n },\n \"SignatureAlgorithm\": {\n \"type\": \"string\",\n \"enum\": [\n \"ED25519\",\n \"ECDSA_SHA256\",\n \"ECDSA_SHA384\",\n \"ECDSA_SHA512\",\n \"ES256K\",\n \"ECKA_DH_SHA256\",\n \"HMAC_SHA256\",\n \"HMAC_SHA384\",\n \"HMAC_SHA512\",\n \"RSA_SSA_PSS_SHA256_MGF1\",\n \"RSA_SSA_PSS_SHA384_MGF1\",\n \"RSA_SSA_PSS_SHA512_MGF1\"\n ],\n \"description\": \"Cryptographic signature algorithm identifier.\"\n },\n \"KeyVisibility\": {\n \"type\": \"string\",\n \"enum\": [\"PUBLIC\", \"PRIVATE\"],\n \"description\": \"Indicates the visibility status of a cryptographic key.\"\n },\n \"KeyType\": {\n \"type\": \"string\",\n \"enum\": [\"OKP\", \"EC\", \"RSA\"],\n \"description\": \"Cryptographic key type identifier.\"\n },\n \"KeyEncoding\": {\n \"type\": \"string\",\n \"enum\": [\"COSE\", \"JOSE\"],\n \"description\": \"The encoding format of the cryptographic key.\"\n },\n \"CreateRawSignatureResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"signature\": {\n \"type\": \"string\",\n \"description\": \"The created signature encoded as a base64 string.\"\n }\n },\n \"required\": [\"signature\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the created signature.\"\n },\n \"KmsClientDeleteKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"KmsClientGenerateKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Alias for the generated key.\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOperations\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n }\n },\n \"alg\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"Optional provider ID. If not specified, the default provider will be used.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n }\n },\n \"GenerateKeyResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyPair\": {\n \"$ref\": \"#/components/schemas/ManagedKeyPair\"\n }\n },\n \"required\": [\"keyPair\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing a generated key pair.\"\n },\n \"ManagedKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier, may be null.\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"Key Management System identifier.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Reference to the key in the KMS.\"\n },\n \"cose\": {\n \"$ref\": \"#/components/schemas/CoseKeyPair\"\n },\n \"jose\": {\n \"$ref\": \"#/components/schemas/JoseKeyPair\"\n }\n },\n \"required\": [\"providerId\", \"alias\", \"cose\", \"jose\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a key pair used by a crypto provider, encapsulating both JOSE and COSE key pairs.\"\n },\n \"CoseKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"privateCoseKey\": {\n \"$ref\": \"#/components/schemas/CoseKey\"\n },\n \"publicCoseKey\": {\n \"$ref\": \"#/components/schemas/CoseKey\"\n }\n },\n \"required\": [\"publicCoseKey\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a cryptographic key pair for COSE (CBOR Object Signing and Encryption) operations.\"\n },\n \"CoseKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"$ref\": \"#/components/schemas/CoseKeyType\"\n },\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier (base64url-encoded byte string).\"\n },\n \"alg\": {\n \"type\": \"number\",\n \"description\": \"The COSE algorithm identifier (e.g., -7=ES256, -35=ES384, -36=ES512, -8=EdDSA).\"\n },\n \"keyOps\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\"\n },\n \"description\": \"The allowed COSE key operations (1=sign, 2=verify, 3=encrypt, 4=decrypt, etc.).\"\n },\n \"baseIV\": {\n \"type\": \"string\",\n \"description\": \"Base initialization vector (base64url-encoded).\"\n },\n \"crv\": {\n \"type\": \"number\",\n \"description\": \"The COSE curve identifier (1=P-256, 2=P-384, 3=P-521, 8=secp256k1, 6=Ed25519, etc.).\"\n },\n \"x\": {\n \"type\": \"string\",\n \"description\": \"The x coordinate (base64url-encoded byte string).\"\n },\n \"y\": {\n \"type\": \"string\",\n \"description\": \"The y coordinate (base64url-encoded byte string).\"\n },\n \"d\": {\n \"type\": \"string\",\n \"description\": \"The private key parameter (base64url-encoded byte string).\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded certificates.\"\n }\n },\n \"required\": [\"kty\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a COSE (CBOR Object Signing and Encryption) key in JSON format.\"\n },\n \"CoseKeyType\": {\n \"type\": \"number\",\n \"enum\": [1, 2, 3, 4],\n \"description\": \"COSE key type parameter. 1=OKP (Octet Key Pair), 2=EC2 (Elliptic Curve), 3=RSA, 4=Symmetric.\"\n },\n \"JoseKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"privateJwk\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"publicJwk\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n }\n },\n \"required\": [\"publicJwk\"],\n \"additionalProperties\": false,\n \"description\": \"Data class representing a cryptographic key pair used with JOSE (JSON Object Signing and Encryption).\"\n },\n \"KmsClientGetKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"GetKeyResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n },\n \"required\": [\"keyInfo\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing a managed key.\"\n },\n \"ManagedKeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"required\": [\"key\", \"alias\", \"providerId\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a managed cryptographic key information that is guaranteed to be present and resolved, part of a KMS providing concrete access to the key.\"\n },\n \"KmsClientGetKeyProviderArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\"],\n \"additionalProperties\": false\n },\n \"KeyProviderResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The unique identifier assigned to the Key Provider instance upon creation.\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/KeyProviderType\"\n }\n },\n \"required\": [\"providerId\", \"type\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KeyProviderType\": {\n \"type\": \"string\",\n \"enum\": [\"SOFTWARE\", \"AZURE_KEYVAULT\", \"AWS_KMS\"],\n \"description\": \"The type of Key Provider. Determines the required configuration settings. - AZURE_KEYVAULT: Microsoft Azure Key Vault or Managed HSM. - AWS_KMS: Amazon Web Services Key Management Service.\"\n },\n \"kmsClientGetResolverArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"resolverId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"resolverId\"],\n \"additionalProperties\": false\n },\n \"Resolver\": {\n \"type\": \"object\",\n \"properties\": {\n \"resolverId\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the resolver.\"\n },\n \"supportedIdentifierMethods\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IdentifierMethod\"\n },\n \"description\": \"List of identifier methods supported by this resolver.\"\n },\n \"supportedKeyTypes\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"description\": \"List of key types supported by this resolver.\"\n }\n },\n \"required\": [\"resolverId\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a key resolver configuration.\"\n },\n \"IdentifierMethod\": {\n \"type\": \"string\",\n \"enum\": [\"JWK\", \"KID\", \"COSE_KEY\", \"X5C\", \"DID\"],\n \"description\": \"Method used to identify cryptographic keys.\"\n },\n \"KmsClientIsValidRawSignatureArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"input\": {\n \"type\": \"string\"\n },\n \"signature\": {\n \"type\": \"string\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"input\", \"keyInfo\", \"signature\"]\n },\n \"VerifyRawSignatureResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"isValid\": {\n \"type\": \"boolean\",\n \"description\": \"Indicates whether the signature is valid or not.\"\n }\n },\n \"required\": [\"isValid\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of the signature verification.\"\n },\n \"KmsClientListKeyProvidersArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListKeyProvidersResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"providers\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyProvider\"\n }\n }\n },\n \"required\": [\"providers\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KeyProvider\": {\n \"type\": \"object\",\n \"properties\": {\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The unique identifier assigned to the Key Provider instance upon creation.\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/KeyProviderType\"\n }\n },\n \"required\": [\"providerId\", \"type\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KmsClientListKeysArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListKeysResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyInfos\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n }\n },\n \"required\": [\"keyInfos\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing all the managed keys.\"\n },\n \"KmsClientListResolversArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListResolversResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"resolvers\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Resolver\"\n }\n }\n },\n \"required\": [\"resolvers\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing all the resolvers.\"\n },\n \"KmsClientProviderDeleteKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\", \"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"KmsClientProviderGenerateKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Alias for the generated key.\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOperations\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n }\n },\n \"alg\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\"]\n },\n \"KmsClientProviderGetKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\", \"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"KmsClientProviderListKeysArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\"],\n \"additionalProperties\": false\n },\n \"KmsClientProviderStoreKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n },\n \"certChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"keyInfo\", \"providerId\"]\n },\n \"ResolvedKeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"required\": [\"key\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a resolved cryptographic key information where the key is guaranteed to be present and resolved, providing concrete access to the key.\"\n },\n \"StoreKeyResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n },\n \"required\": [\"keyInfo\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing a stored key.\"\n },\n \"KmsClientResolveKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"identifierMethod\": {\n \"$ref\": \"#/components/schemas/IdentifierMethod\"\n },\n \"trustedCerts\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"Optional array of trusted certificates (base64-encoded) that may be used in the resolution process.\"\n },\n \"verifyX509CertificateChain\": {\n \"type\": \"boolean\",\n \"description\": \"Optional boolean indicating whether the X.509 certificate chain should be verified.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"resolverId\": {\n \"$ref\": \"#/components/schemas/String\"\n }\n },\n \"required\": [\"keyInfo\", \"resolverId\"]\n },\n \"String\": {\n \"type\": \"object\",\n \"properties\": {\n \"length\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\"length\"],\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n },\n \"KmsClientStoreKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n },\n \"certChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"keyInfo\"]\n }\n },\n \"methods\": {\n \"kmsClientCreateRawSignature\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientCreateRawSignatureArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/CreateRawSignatureResponse\"\n }\n },\n \"kmsClientDeleteKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientDeleteKeyArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"kmsClientGenerateKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientGenerateKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/GenerateKeyResponse\"\n }\n },\n \"kmsClientGetKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientGetKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/GetKeyResponse\"\n }\n },\n \"kmsClientGetKeyProvider\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientGetKeyProviderArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/KeyProviderResponse\"\n }\n },\n \"kmsClientGetResolver\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/kmsClientGetResolverArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/Resolver\"\n }\n },\n \"kmsClientIsValidRawSignature\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientIsValidRawSignatureArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/VerifyRawSignatureResponse\"\n }\n },\n \"kmsClientListKeyProviders\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientListKeyProvidersArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeyProvidersResponse\"\n }\n },\n \"kmsClientListKeys\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientListKeysArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeysResponse\"\n }\n },\n \"kmsClientListResolvers\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientListResolversArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListResolversResponse\"\n }\n },\n \"kmsClientProviderDeleteKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientProviderDeleteKeyArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"kmsClientProviderGenerateKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientProviderGenerateKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/GenerateKeyResponse\"\n }\n },\n \"kmsClientProviderGetKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientProviderGetKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/GetKeyResponse\"\n }\n },\n \"kmsClientProviderListKeys\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientProviderListKeysArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeysResponse\"\n }\n },\n \"kmsClientProviderStoreKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientProviderStoreKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/StoreKeyResponse\"\n }\n },\n \"kmsClientResolveKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientResolveKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n }\n },\n \"kmsClientStoreKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientStoreKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/StoreKeyResponse\"\n }\n }\n }\n }\n }\n}\n","import { Loggers } from '@sphereon/ssi-types'\nimport { IAgentPlugin } from '@veramo/core'\nimport { fetch } from 'cross-fetch'\nimport type {\n CreateRawSignature,\n CreateRawSignatureResponse,\n GenerateKey,\n GenerateKeyGlobal,\n GenerateKeyResponse,\n GetKeyResponse,\n KeyProviderResponse,\n ListKeyProvidersResponse,\n ListKeysResponse,\n ListResolversResponse,\n ResolvedKeyInfo,\n ResolvePublicKey,\n Resolver,\n StoreKey,\n StoreKeyResponse,\n VerifyRawSignature,\n VerifyRawSignatureResponse,\n} from '../models'\nimport {\n CreateRawSignatureResponseFromJSONTyped,\n CreateRawSignatureToJSONTyped,\n GenerateKeyGlobalToJSONTyped,\n GenerateKeyResponseFromJSONTyped,\n GenerateKeyToJSONTyped,\n GetKeyResponseFromJSONTyped,\n KeyProviderResponseFromJSONTyped,\n ListKeyProvidersResponseFromJSONTyped,\n ListKeysResponseFromJSONTyped,\n ListResolversResponseFromJSONTyped,\n ResolvedKeyInfoFromJSONTyped,\n ResolvePublicKeyToJSONTyped,\n ResolverFromJSONTyped,\n StoreKeyResponseFromJSONTyped,\n StoreKeyToJSONTyped,\n VerifyRawSignatureResponseFromJSONTyped,\n VerifyRawSignatureToJSONTyped,\n} from '../models'\nimport {\n IKmsRestClient,\n KmsClientCreateRawSignatureArgs,\n KmsClientDeleteKeyArgs,\n KmsClientGenerateKeyArgs,\n KmsClientGetKeyArgs,\n KmsClientGetKeyProviderArgs,\n KmsClientGetResolverArgs,\n KmsClientIsValidRawSignatureArgs,\n KmsClientListKeyProvidersArgs,\n KmsClientListKeysArgs,\n KmsClientListResolversArgs,\n KmsClientProviderDeleteKeyArgs,\n KmsClientProviderGenerateKeyArgs,\n KmsClientProviderGetKeyArgs,\n KmsClientProviderListKeysArgs,\n KmsClientProviderStoreKeyArgs,\n KmsClientResolveKeyArgs,\n KmsClientStoreKeyArgs,\n KmsRestClientArgs,\n RestClientAuthenticationOpts,\n} from '../types/IKmsRestClient'\n\nconst logger = Loggers.DEFAULT.get('sphereon:ssi-sdk:kms:rest-client')\n\n/**\n * {@inheritDoc IKmsRestClient}\n */\nexport class KmsRestClient implements IAgentPlugin {\n readonly methods: IKmsRestClient = {\n kmsClientGetKey: this.kmsClientGetKey.bind(this),\n kmsClientListKeys: this.kmsClientListKeys.bind(this),\n kmsClientStoreKey: this.kmsClientStoreKey.bind(this),\n kmsClientGenerateKey: this.kmsClientGenerateKey.bind(this),\n kmsClientDeleteKey: this.kmsClientDeleteKey.bind(this),\n\n kmsClientGetKeyProvider: this.kmsClientGetKeyProvider.bind(this),\n kmsClientListKeyProviders: this.kmsClientListKeyProviders.bind(this),\n kmsClientProviderListKeys: this.kmsClientProviderListKeys.bind(this),\n kmsClientProviderStoreKey: this.kmsClientProviderStoreKey.bind(this),\n kmsClientProviderGenerateKey: this.kmsClientProviderGenerateKey.bind(this),\n kmsClientProviderGetKey: this.kmsClientProviderGetKey.bind(this),\n kmsClientProviderDeleteKey: this.kmsClientProviderDeleteKey.bind(this),\n\n kmsClientGetResolver: this.kmsClientGetResolver.bind(this),\n kmsClientListResolvers: this.kmsClientListResolvers.bind(this),\n kmsClientResolveKey: this.kmsClientResolveKey.bind(this),\n\n kmsClientCreateRawSignature: this.kmsClientCreateRawSignature.bind(this),\n kmsClientIsValidRawSignature: this.kmsClientIsValidRawSignature.bind(this),\n }\n\n private readonly agentBaseUrl?: string\n private readonly authOpts?: RestClientAuthenticationOpts\n\n constructor(args?: KmsRestClientArgs) {\n if (args?.baseUrl) {\n this.agentBaseUrl = args.baseUrl\n }\n this.authOpts = args?.authentication\n }\n\n private static urlWithBase(path: string, baseUrl: string): string {\n return `${baseUrl}${path.startsWith('/') ? path : `/${path}`}`\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetResolver} */\n private async kmsClientGetResolver(args: KmsClientGetResolverArgs): Promise<Resolver> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/resolvers/${args.resolverId}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n headers: await this.createHeaders({ tenantId: args.tenantId, userId: args.userId }),\n })\n logger.debug(`get resolver response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return ResolverFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListResolvers} */\n private async kmsClientListResolvers(args?: KmsClientListResolversArgs): Promise<ListResolversResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args?.baseUrl)\n const url = KmsRestClient.urlWithBase('/resolvers', baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n headers: await this.createHeaders({ tenantId: args?.tenantId, userId: args?.userId }),\n })\n logger.debug(`list resolvers response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return ListResolversResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsResolveKey} */\n private async kmsClientResolveKey(args: KmsClientResolveKeyArgs): Promise<ResolvedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/resolvers/${args.resolverId}/resolve`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n identifierMethod: args.identifierMethod,\n trustedCerts: args.trustedCerts,\n verifyX509CertificateChain: args.verifyX509CertificateChain,\n } satisfies ResolvePublicKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ contentType: 'application/json', tenantId: args.tenantId, userId: args.userId }),\n body: JSON.stringify(ResolvePublicKeyToJSONTyped(body)),\n })\n logger.debug(`resolve key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return ResolvedKeyInfoFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsCreateRawSignature} */\n private async kmsClientCreateRawSignature(args: KmsClientCreateRawSignatureArgs): Promise<CreateRawSignatureResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/signatures/raw/create`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n input: args.input,\n } satisfies CreateRawSignature\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ contentType: 'application/json', tenantId: args.tenantId, userId: args.userId }),\n body: JSON.stringify(CreateRawSignatureToJSONTyped(body)),\n })\n logger.debug(`create raw signature response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return CreateRawSignatureResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsIsValidRawSignature} */\n private async kmsClientIsValidRawSignature(args: KmsClientIsValidRawSignatureArgs): Promise<VerifyRawSignatureResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/signatures/raw/verify`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n signature: args.signature,\n input: args.input,\n } satisfies VerifyRawSignature\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ contentType: 'application/json', tenantId: args.tenantId, userId: args.userId }),\n body: JSON.stringify(VerifyRawSignatureToJSONTyped(body)),\n })\n logger.debug(`verify raw signature response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return VerifyRawSignatureResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetKey} */\n private async kmsClientGetKey(args: KmsClientGetKeyArgs): Promise<GetKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n headers: await this.createHeaders({ tenantId: args.tenantId, userId: args.userId }),\n })\n logger.debug(`get key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return GetKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListKeys} */\n private async kmsClientListKeys(args?: KmsClientListKeysArgs): Promise<ListKeysResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args?.baseUrl)\n const url = this.addSearchParams(KmsRestClient.urlWithBase('/keys', baseUrl), { ...(args?.providerId && { providerId: args.providerId }) })\n const response = await fetch(url, {\n method: 'GET',\n headers: await this.createHeaders({ tenantId: args?.tenantId, userId: args?.userId }),\n })\n logger.debug(`list keys response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url.toString(), response)\n }\n\n return ListKeysResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsStoreKey} */\n private async kmsClientStoreKey(args: KmsClientStoreKeyArgs): Promise<StoreKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n certChain: args.certChain,\n } satisfies StoreKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ contentType: 'application/json', tenantId: args.tenantId, userId: args.userId }),\n body: JSON.stringify(StoreKeyToJSONTyped(body)),\n })\n logger.debug(`store key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return StoreKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGenerateKey} */\n private async kmsClientGenerateKey(args: KmsClientGenerateKeyArgs): Promise<GenerateKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/generate`, baseUrl)\n\n const body = {\n alg: args.alg,\n keyOperations: args.keyOperations,\n providerId: args.providerId,\n use: args.use,\n } satisfies GenerateKeyGlobal\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ contentType: 'application/json', tenantId: args.tenantId, userId: args.userId }),\n body: JSON.stringify(GenerateKeyGlobalToJSONTyped(body)),\n })\n logger.debug(`generate key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return GenerateKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsDeleteKey} */\n private async kmsClientDeleteKey(args: KmsClientDeleteKeyArgs): Promise<boolean> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'DELETE',\n headers: await this.createHeaders({ tenantId: args.tenantId, userId: args.userId }),\n })\n logger.debug(`delete key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return true\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetKeyProvider} */\n private async kmsClientGetKeyProvider(args: KmsClientGetKeyProviderArgs): Promise<KeyProviderResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n headers: await this.createHeaders({ tenantId: args.tenantId, userId: args.userId }),\n })\n logger.debug(`get provider response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return KeyProviderResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListKeyProviders} */\n private async kmsClientListKeyProviders(args?: KmsClientListKeyProvidersArgs): Promise<ListKeyProvidersResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args?.baseUrl)\n const url = KmsRestClient.urlWithBase('/providers', baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n headers: await this.createHeaders({ tenantId: args?.tenantId, userId: args?.userId }),\n })\n logger.debug(`list providers response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return ListKeyProvidersResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderListKeys} */\n private async kmsClientProviderListKeys(args: KmsClientProviderListKeysArgs): Promise<ListKeysResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n headers: await this.createHeaders({ tenantId: args.tenantId, userId: args.userId }),\n })\n logger.debug(`list provider keys response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return ListKeysResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderStoreKey} */\n private async kmsClientProviderStoreKey(args: KmsClientProviderStoreKeyArgs): Promise<StoreKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n certChain: args.certChain,\n } satisfies StoreKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ contentType: 'application/json', tenantId: args.tenantId, userId: args.userId }),\n body: JSON.stringify(StoreKeyToJSONTyped(body)),\n })\n logger.debug(`provider store key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return StoreKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderGenerateKey} */\n private async kmsClientProviderGenerateKey(args: KmsClientProviderGenerateKeyArgs): Promise<GenerateKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys/generate`, baseUrl)\n\n const body = {\n alg: args.alg,\n keyOperations: args.keyOperations,\n use: args.use,\n alias: args.alias,\n } satisfies GenerateKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ contentType: 'application/json', tenantId: args.tenantId, userId: args.userId }),\n body: JSON.stringify(GenerateKeyToJSONTyped(body)),\n })\n logger.debug(`provider generate key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return GenerateKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderGetKey} */\n private async kmsClientProviderGetKey(args: KmsClientProviderGetKeyArgs): Promise<GetKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n headers: await this.createHeaders({ tenantId: args.tenantId, userId: args.userId }),\n })\n logger.debug(`get provider key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return GetKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderDeleteKey} */\n private async kmsClientProviderDeleteKey(args: KmsClientProviderDeleteKeyArgs): Promise<boolean> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`providers/${args.providerId}/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'DELETE',\n headers: await this.createHeaders({ tenantId: args.tenantId, userId: args.userId }),\n })\n logger.debug(`delete key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return true\n }\n\n private assertedAgentBaseUrl(baseUrl?: string): string {\n if (baseUrl) {\n return baseUrl\n } else if (this.agentBaseUrl) {\n return this.agentBaseUrl\n }\n throw new Error('No base url has been provided')\n }\n\n private async createHeaders(args?: { contentType?: string; tenantId?: string; userId?: string }): Promise<HeadersInit> {\n const headers: HeadersInit = {\n ...(args?.contentType ? { 'Content-Type': args.contentType } : {}),\n ...(args?.tenantId ? { 'X-Tenant-ID': args.tenantId } : {}),\n ...(args?.userId ? { 'X-User-ID': args.userId } : {}),\n Accept: 'application/json',\n }\n\n if (this.authOpts?.enabled === true) {\n if (!this.authOpts.bearerToken) {\n throw Error(`Cannot have authentication enabled, whilst not enabling static bearer tokens at this point`)\n }\n headers.Authorization = `Bearer ${\n typeof this.authOpts.bearerToken === 'string' ? this.authOpts.bearerToken : await this.authOpts.bearerToken()\n }`\n }\n return headers\n }\n\n private addSearchParams(baseUrl: string, params: Record<string, string | number | boolean>): URL {\n const url = new URL(baseUrl)\n\n for (const [key, value] of Object.entries(params)) {\n url.searchParams.set(key, String(value))\n }\n\n return url\n }\n\n private async handleHttpError(url: string, response: Response): Promise<never> {\n const contentType = response.headers.get('content-type')\n const isJson = contentType?.includes('application/json')\n const responseBody = isJson ? JSON.stringify(await response.json()) : await response.text()\n\n return Promise.reject(Error(`request to ${url} returned http error ${response.status} - ${responseBody}`))\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Determines how configuration values are looked up. - VALUE: The actual configuration values are provided directly. - CONFIG_SERVICE: Configuration values are looked up from a configuration service using keys. - SECRET_SERVICE: Configuration values are looked up from a secret service using keys.\n * @export\n */\nexport const LookupMode = {\n Value: 'VALUE',\n ConfigService: 'CONFIG_SERVICE',\n SecretService: 'SECRET_SERVICE',\n} as const\nexport type LookupMode = (typeof LookupMode)[keyof typeof LookupMode]\n\nexport function instanceOfLookupMode(value: any): boolean {\n for (const key in LookupMode) {\n if (Object.prototype.hasOwnProperty.call(LookupMode, key)) {\n if (LookupMode[key as keyof typeof LookupMode] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function LookupModeFromJSON(json: any): LookupMode {\n return LookupModeFromJSONTyped(json, false)\n}\n\nexport function LookupModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): LookupMode {\n return json as LookupMode\n}\n\nexport function LookupModeToJSON(value?: LookupMode | null): any {\n return value as any\n}\n\nexport function LookupModeToJSONTyped(value: any, ignoreDiscriminator: boolean): LookupMode {\n return value as LookupMode\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { LookupMode } from './LookupMode'\nimport { LookupModeFromJSON, LookupModeToJSON } from './LookupMode'\n\n/**\n * Credentials obtained by assuming an IAM role.\n * @export\n * @interface AwsAssumeRoleCredentials\n */\nexport interface AwsAssumeRoleCredentials {\n /**\n * The Amazon Resource Name (ARN) of the role to assume.\n * @type {string}\n * @memberof AwsAssumeRoleCredentials\n */\n roleArn: string\n /**\n * An identifier for the assumed role session. Use characters compatible with file systems.\n * @type {string}\n * @memberof AwsAssumeRoleCredentials\n */\n roleSessionName: string\n /**\n * An optional external ID that might be required by the role's trust policy.\n * @type {string}\n * @memberof AwsAssumeRoleCredentials\n */\n externalId?: string\n /**\n *\n * @type {LookupMode}\n * @memberof AwsAssumeRoleCredentials\n */\n lookupMode?: LookupMode\n}\n\n/**\n * Check if a given object implements the AwsAssumeRoleCredentials interface.\n */\nexport function instanceOfAwsAssumeRoleCredentials(value: object): value is AwsAssumeRoleCredentials {\n if (!('roleArn' in value) || value['roleArn'] === undefined) return false\n if (!('roleSessionName' in value) || value['roleSessionName'] === undefined) return false\n return true\n}\n\nexport function AwsAssumeRoleCredentialsFromJSON(json: any): AwsAssumeRoleCredentials {\n return AwsAssumeRoleCredentialsFromJSONTyped(json, false)\n}\n\nexport function AwsAssumeRoleCredentialsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AwsAssumeRoleCredentials {\n if (json == null) {\n return json\n }\n return {\n roleArn: json['roleArn'],\n roleSessionName: json['roleSessionName'],\n externalId: json['externalId'] == null ? undefined : json['externalId'],\n lookupMode: json['lookupMode'] == null ? undefined : LookupModeFromJSON(json['lookupMode']),\n }\n}\n\nexport function AwsAssumeRoleCredentialsToJSON(json: any): AwsAssumeRoleCredentials {\n return AwsAssumeRoleCredentialsToJSONTyped(json, false)\n}\n\nexport function AwsAssumeRoleCredentialsToJSONTyped(value?: AwsAssumeRoleCredentials | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n roleArn: value['roleArn'],\n roleSessionName: value['roleSessionName'],\n externalId: value['externalId'],\n lookupMode: LookupModeToJSON(value['lookupMode']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Optional advanced AWS SDK client settings.\n * @export\n * @interface AwsClientConfiguration\n */\nexport interface AwsClientConfiguration {\n /**\n * Amount of time (in milliseconds) to wait when initially establishing a connection before giving up.\n * @type {number}\n * @memberof AwsClientConfiguration\n */\n connectionTimeoutInMillis?: number\n /**\n * Amount of time (in milliseconds) to wait for data to be transferred over an established, open connection before timing out.\n * @type {number}\n * @memberof AwsClientConfiguration\n */\n socketTimeoutInMillis?: number\n}\n\n/**\n * Check if a given object implements the AwsClientConfiguration interface.\n */\nexport function instanceOfAwsClientConfiguration(value: object): value is AwsClientConfiguration {\n return true\n}\n\nexport function AwsClientConfigurationFromJSON(json: any): AwsClientConfiguration {\n return AwsClientConfigurationFromJSONTyped(json, false)\n}\n\nexport function AwsClientConfigurationFromJSONTyped(json: any, ignoreDiscriminator: boolean): AwsClientConfiguration {\n if (json == null) {\n return json\n }\n return {\n connectionTimeoutInMillis: json['connectionTimeoutInMillis'] == null ? undefined : json['connectionTimeoutInMillis'],\n socketTimeoutInMillis: json['socketTimeoutInMillis'] == null ? undefined : json['socketTimeoutInMillis'],\n }\n}\n\nexport function AwsClientConfigurationToJSON(json: any): AwsClientConfiguration {\n return AwsClientConfigurationToJSONTyped(json, false)\n}\n\nexport function AwsClientConfigurationToJSONTyped(value?: AwsClientConfiguration | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n connectionTimeoutInMillis: value['connectionTimeoutInMillis'],\n socketTimeoutInMillis: value['socketTimeoutInMillis'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { LookupMode } from './LookupMode'\nimport { LookupModeFromJSON, LookupModeToJSON } from './LookupMode'\n\n/**\n * Explicit AWS access key ID and secret access key. Use with caution; prefer IAM roles or other mechanisms where possible.\n * @export\n * @interface AwsStaticCredentials\n */\nexport interface AwsStaticCredentials {\n /**\n * AWS Access Key ID.\n * @type {string}\n * @memberof AwsStaticCredentials\n */\n accesskid: string\n /**\n * AWS Secret Access Key.\n * @type {string}\n * @memberof AwsStaticCredentials\n */\n secretAccessKey: string\n /**\n * Optional AWS session token, typically used with temporary credentials.\n * @type {string}\n * @memberof AwsStaticCredentials\n */\n sessionToken?: string\n /**\n *\n * @type {LookupMode}\n * @memberof AwsStaticCredentials\n */\n lookupMode?: LookupMode\n}\n\n/**\n * Check if a given object implements the AwsStaticCredentials interface.\n */\nexport function instanceOfAwsStaticCredentials(value: object): value is AwsStaticCredentials {\n if (!('accesskid' in value) || value['accesskid'] === undefined) return false\n if (!('secretAccessKey' in value) || value['secretAccessKey'] === undefined) return false\n return true\n}\n\nexport function AwsStaticCredentialsFromJSON(json: any): AwsStaticCredentials {\n return AwsStaticCredentialsFromJSONTyped(json, false)\n}\n\nexport function AwsStaticCredentialsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AwsStaticCredentials {\n if (json == null) {\n return json\n }\n return {\n accesskid: json['accesskid'],\n secretAccessKey: json['secretAccessKey'],\n sessionToken: json['sessionToken'] == null ? undefined : json['sessionToken'],\n lookupMode: json['lookupMode'] == null ? undefined : LookupModeFromJSON(json['lookupMode']),\n }\n}\n\nexport function AwsStaticCredentialsToJSON(json: any): AwsStaticCredentials {\n return AwsStaticCredentialsToJSONTyped(json, false)\n}\n\nexport function AwsStaticCredentialsToJSONTyped(value?: AwsStaticCredentials | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n accesskid: value['accesskid'],\n secretAccessKey: value['secretAccessKey'],\n sessionToken: value['sessionToken'],\n lookupMode: LookupModeToJSON(value['lookupMode']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { LookupMode } from './LookupMode'\nimport { LookupModeFromJSON, LookupModeToJSON } from './LookupMode'\n\n/**\n * Credentials obtained using a web identity token (e.g., from Cognito, OIDC provider).\n * @export\n * @interface AwsWebIdentityTokenCredentials\n */\nexport interface AwsWebIdentityTokenCredentials {\n /**\n * The Amazon Resource Name (ARN) of the role to assume.\n * @type {string}\n * @memberof AwsWebIdentityTokenCredentials\n */\n roleArn: string\n /**\n * An identifier for the assumed role session.\n * @type {string}\n * @memberof AwsWebIdentityTokenCredentials\n */\n roleSessionName: string\n /**\n * The web identity token (e.g., OIDC token, Cognito token) itself.\n * @type {string}\n * @memberof AwsWebIdentityTokenCredentials\n */\n webIdentityToken: string\n /**\n *\n * @type {LookupMode}\n * @memberof AwsWebIdentityTokenCredentials\n */\n lookupMode?: LookupMode\n}\n\n/**\n * Check if a given object implements the AwsWebIdentityTokenCredentials interface.\n */\nexport function instanceOfAwsWebIdentityTokenCredentials(value: object): value is AwsWebIdentityTokenCredentials {\n if (!('roleArn' in value) || value['roleArn'] === undefined) return false\n if (!('roleSessionName' in value) || value['roleSessionName'] === undefined) return false\n if (!('webIdentityToken' in value) || value['webIdentityToken'] === undefined) return false\n return true\n}\n\nexport function AwsWebIdentityTokenCredentialsFromJSON(json: any): AwsWebIdentityTokenCredentials {\n return AwsWebIdentityTokenCredentialsFromJSONTyped(json, false)\n}\n\nexport function AwsWebIdentityTokenCredentialsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AwsWebIdentityTokenCredentials {\n if (json == null) {\n return json\n }\n return {\n roleArn: json['roleArn'],\n roleSessionName: json['roleSessionName'],\n webIdentityToken: json['webIdentityToken'],\n lookupMode: json['lookupMode'] == null ? undefined : LookupModeFromJSON(json['lookupMode']),\n }\n}\n\nexport function AwsWebIdentityTokenCredentialsToJSON(json: any): AwsWebIdentityTokenCredentials {\n return AwsWebIdentityTokenCredentialsToJSONTyped(json, false)\n}\n\nexport function AwsWebIdentityTokenCredentialsToJSONTyped(value?: AwsWebIdentityTokenCredentials | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n roleArn: value['roleArn'],\n roleSessionName: value['roleSessionName'],\n webIdentityToken: value['webIdentityToken'],\n lookupMode: LookupModeToJSON(value['lookupMode']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AwsAssumeRoleCredentials } from './AwsAssumeRoleCredentials'\nimport { AwsAssumeRoleCredentialsFromJSON, AwsAssumeRoleCredentialsToJSON } from './AwsAssumeRoleCredentials'\nimport type { AwsStaticCredentials } from './AwsStaticCredentials'\nimport { AwsStaticCredentialsFromJSON, AwsStaticCredentialsToJSON } from './AwsStaticCredentials'\nimport type { AwsWebIdentityTokenCredentials } from './AwsWebIdentityTokenCredentials'\nimport { AwsWebIdentityTokenCredentialsFromJSON, AwsWebIdentityTokenCredentialsToJSON } from './AwsWebIdentityTokenCredentials'\nimport type { AwsClientConfiguration } from './AwsClientConfiguration'\nimport { AwsClientConfigurationFromJSON, AwsClientConfigurationToJSON } from './AwsClientConfiguration'\n\n/**\n * Configuration settings specific to the AWS_KMS provider type. Defines how to connect and authenticate to AWS KMS. If no specific credential provider is specified, the implementation should rely on the default AWS SDK credential provider chain.\n * @export\n * @interface AwsKmsSetting\n */\nexport interface AwsKmsSetting {\n /**\n * The AWS region where the KMS keys reside (e.g., 'us-east-1', 'eu-west-1').\n * @type {string}\n * @memberof AwsKmsSetting\n */\n region: string\n /**\n *\n * @type {AwsStaticCredentials}\n * @memberof AwsKmsSetting\n */\n staticCredentials?: AwsStaticCredentials\n /**\n *\n * @type {AwsAssumeRoleCredentials}\n * @memberof AwsKmsSetting\n */\n assumeRoleCredentials?: AwsAssumeRoleCredentials\n /**\n *\n * @type {AwsWebIdentityTokenCredentials}\n * @memberof AwsKmsSetting\n */\n webIdentityTokenCredentials?: AwsWebIdentityTokenCredentials\n /**\n * Optional custom endpoint URL for AWS KMS (e.g., for VPC endpoints or local testing).\n * @type {string}\n * @memberof AwsKmsSetting\n */\n endpointUrl?: string\n /**\n *\n * @type {AwsClientConfiguration}\n * @memberof AwsKmsSetting\n */\n clientConfiguration?: AwsClientConfiguration\n}\n\n/**\n * Check if a given object implements the AwsKmsSetting interface.\n */\nexport function instanceOfAwsKmsSetting(value: object): value is AwsKmsSetting {\n if (!('region' in value) || value['region'] === undefined) return false\n return true\n}\n\nexport function AwsKmsSettingFromJSON(json: any): AwsKmsSetting {\n return AwsKmsSettingFromJSONTyped(json, false)\n}\n\nexport function AwsKmsSettingFromJSONTyped(json: any, ignoreDiscriminator: boolean): AwsKmsSetting {\n if (json == null) {\n return json\n }\n return {\n region: json['region'],\n staticCredentials: json['staticCredentials'] == null ? undefined : AwsStaticCredentialsFromJSON(json['staticCredentials']),\n assumeRoleCredentials: json['assumeRoleCredentials'] == null ? undefined : AwsAssumeRoleCredentialsFromJSON(json['assumeRoleCredentials']),\n webIdentityTokenCredentials:\n json['webIdentityTokenCredentials'] == null ? undefined : AwsWebIdentityTokenCredentialsFromJSON(json['webIdentityTokenCredentials']),\n endpointUrl: json['endpointUrl'] == null ? undefined : json['endpointUrl'],\n clientConfiguration: json['clientConfiguration'] == null ? undefined : AwsClientConfigurationFromJSON(json['clientConfiguration']),\n }\n}\n\nexport function AwsKmsSettingToJSON(json: any): AwsKmsSetting {\n return AwsKmsSettingToJSONTyped(json, false)\n}\n\nexport function AwsKmsSettingToJSONTyped(value?: AwsKmsSetting | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n region: value['region'],\n staticCredentials: AwsStaticCredentialsToJSON(value['staticCredentials']),\n assumeRoleCredentials: AwsAssumeRoleCredentialsToJSON(value['assumeRoleCredentials']),\n webIdentityTokenCredentials: AwsWebIdentityTokenCredentialsToJSON(value['webIdentityTokenCredentials']),\n endpointUrl: value['endpointUrl'],\n clientConfiguration: AwsClientConfigurationToJSON(value['clientConfiguration']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { LookupMode } from './LookupMode'\nimport { LookupModeFromJSON, LookupModeToJSON } from './LookupMode'\n\n/**\n * Azure Service Principal credentials using a client secret.\n * @export\n * @interface AzureClientSecretCredentialOpts\n */\nexport interface AzureClientSecretCredentialOpts {\n /**\n * The Application (client) ID of the Azure service principal.\n * @type {string}\n * @memberof AzureClientSecretCredentialOpts\n */\n clientId: string\n /**\n * The client secret for the service principal.\n * @type {string}\n * @memberof AzureClientSecretCredentialOpts\n */\n clientSecret: string\n /**\n *\n * @type {LookupMode}\n * @memberof AzureClientSecretCredentialOpts\n */\n lookupMode?: LookupMode\n}\n\n/**\n * Check if a given object implements the AzureClientSecretCredentialOpts interface.\n */\nexport function instanceOfAzureClientSecretCredentialOpts(value: object): value is AzureClientSecretCredentialOpts {\n if (!('clientId' in value) || value['clientId'] === undefined) return false\n if (!('clientSecret' in value) || value['clientSecret'] === undefined) return false\n return true\n}\n\nexport function AzureClientSecretCredentialOptsFromJSON(json: any): AzureClientSecretCredentialOpts {\n return AzureClientSecretCredentialOptsFromJSONTyped(json, false)\n}\n\nexport function AzureClientSecretCredentialOptsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AzureClientSecretCredentialOpts {\n if (json == null) {\n return json\n }\n return {\n clientId: json['clientId'],\n clientSecret: json['clientSecret'],\n lookupMode: json['lookupMode'] == null ? undefined : LookupModeFromJSON(json['lookupMode']),\n }\n}\n\nexport function AzureClientSecretCredentialOptsToJSON(json: any): AzureClientSecretCredentialOpts {\n return AzureClientSecretCredentialOptsToJSONTyped(json, false)\n}\n\nexport function AzureClientSecretCredentialOptsToJSONTyped(\n value?: AzureClientSecretCredentialOpts | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value\n }\n\n return {\n clientId: value['clientId'],\n clientSecret: value['clientSecret'],\n lookupMode: LookupModeToJSON(value['lookupMode']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AzureClientSecretCredentialOpts } from './AzureClientSecretCredentialOpts'\nimport { AzureClientSecretCredentialOptsFromJSON, AzureClientSecretCredentialOptsToJSON } from './AzureClientSecretCredentialOpts'\n\n/**\n * Azure credential options for authenticating to Key Vault. Currently assumes Service Principal with Client Secret.\n * @export\n * @interface AzureCredentialOpts\n */\nexport interface AzureCredentialOpts {\n /**\n *\n * @type {AzureClientSecretCredentialOpts}\n * @memberof AzureCredentialOpts\n */\n clientSecretCredentialOpts?: AzureClientSecretCredentialOpts\n}\n\n/**\n * Check if a given object implements the AzureCredentialOpts interface.\n */\nexport function instanceOfAzureCredentialOpts(value: object): value is AzureCredentialOpts {\n return true\n}\n\nexport function AzureCredentialOptsFromJSON(json: any): AzureCredentialOpts {\n return AzureCredentialOptsFromJSONTyped(json, false)\n}\n\nexport function AzureCredentialOptsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AzureCredentialOpts {\n if (json == null) {\n return json\n }\n return {\n clientSecretCredentialOpts:\n json['clientSecretCredentialOpts'] == null ? undefined : AzureClientSecretCredentialOptsFromJSON(json['clientSecretCredentialOpts']),\n }\n}\n\nexport function AzureCredentialOptsToJSON(json: any): AzureCredentialOpts {\n return AzureCredentialOptsToJSONTyped(json, false)\n}\n\nexport function AzureCredentialOptsToJSONTyped(value?: AzureCredentialOpts | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n clientSecretCredentialOpts: AzureClientSecretCredentialOptsToJSON(value['clientSecretCredentialOpts']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AzureCredentialOpts } from './AzureCredentialOpts'\nimport { AzureCredentialOptsFromJSON, AzureCredentialOptsToJSON } from './AzureCredentialOpts'\nimport type { LookupMode } from './LookupMode'\nimport { LookupModeFromJSON, LookupModeToJSON } from './LookupMode'\n\n/**\n * Configuration settings specific to the Azure KeyVault provider type.\n * @export\n * @interface AzureKeyVaultSetting\n */\nexport interface AzureKeyVaultSetting {\n /**\n * The URL of the Azure Key Vault or Managed HSM instance.\n * @type {string}\n * @memberof AzureKeyVaultSetting\n */\n keyvaultUrl: string\n /**\n * The Azure Active Directory tenant (directory) ID.\n * @type {string}\n * @memberof AzureKeyVaultSetting\n */\n tenantId: string\n /**\n *\n * @type {AzureCredentialOpts}\n * @memberof AzureKeyVaultSetting\n */\n credentialOpts: AzureCredentialOpts\n /**\n * An optional identifier for your application using the Key Vault.\n * @type {string}\n * @memberof AzureKeyVaultSetting\n */\n applicationId?: string\n /**\n *\n * @type {LookupMode}\n * @memberof AzureKeyVaultSetting\n */\n lookupMode?: LookupMode\n}\n\n/**\n * Check if a given object implements the AzureKeyVaultSetting interface.\n */\nexport function instanceOfAzureKeyVaultSetting(value: object): value is AzureKeyVaultSetting {\n if (!('keyvaultUrl' in value) || value['keyvaultUrl'] === undefined) return false\n if (!('tenantId' in value) || value['tenantId'] === undefined) return false\n if (!('credentialOpts' in value) || value['credentialOpts'] === undefined) return false\n return true\n}\n\nexport function AzureKeyVaultSettingFromJSON(json: any): AzureKeyVaultSetting {\n return AzureKeyVaultSettingFromJSONTyped(json, false)\n}\n\nexport function AzureKeyVaultSettingFromJSONTyped(json: any, ignoreDiscriminator: boolean): AzureKeyVaultSetting {\n if (json == null) {\n return json\n }\n return {\n keyvaultUrl: json['keyvaultUrl'],\n tenantId: json['tenantId'],\n credentialOpts: AzureCredentialOptsFromJSON(json['credentialOpts']),\n applicationId: json['applicationId'] == null ? undefined : json['applicationId'],\n lookupMode: json['lookupMode'] == null ? undefined : LookupModeFromJSON(json['lookupMode']),\n }\n}\n\nexport function AzureKeyVaultSettingToJSON(json: any): AzureKeyVaultSetting {\n return AzureKeyVaultSettingToJSONTyped(json, false)\n}\n\nexport function AzureKeyVaultSettingToJSONTyped(value?: AzureKeyVaultSetting | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyvaultUrl: value['keyvaultUrl'],\n tenantId: value['tenantId'],\n credentialOpts: AzureCredentialOptsToJSON(value['credentialOpts']),\n applicationId: value['applicationId'],\n lookupMode: LookupModeToJSON(value['lookupMode']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * COSE key type parameter. 1=OKP (Octet Key Pair), 2=EC2 (Elliptic Curve), 3=RSA, 4=Symmetric.\n * @export\n */\nexport const CoseKeyType = {\n NUMBER_1: 1,\n NUMBER_2: 2,\n NUMBER_3: 3,\n NUMBER_4: 4,\n} as const\nexport type CoseKeyType = (typeof CoseKeyType)[keyof typeof CoseKeyType]\n\nexport function instanceOfCoseKeyType(value: any): boolean {\n for (const key in CoseKeyType) {\n if (Object.prototype.hasOwnProperty.call(CoseKeyType, key)) {\n if (CoseKeyType[key as keyof typeof CoseKeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function CoseKeyTypeFromJSON(json: any): CoseKeyType {\n return CoseKeyTypeFromJSONTyped(json, false)\n}\n\nexport function CoseKeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKeyType {\n return json as CoseKeyType\n}\n\nexport function CoseKeyTypeToJSON(value?: CoseKeyType | null): any {\n return value as any\n}\n\nexport function CoseKeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): CoseKeyType {\n return value as CoseKeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { CoseKeyType } from './CoseKeyType'\nimport { CoseKeyTypeFromJSON, CoseKeyTypeToJSON } from './CoseKeyType'\n\n/**\n * Represents a COSE (CBOR Object Signing and Encryption) key in JSON format.\n * @export\n * @interface CoseKey\n */\nexport interface CoseKey {\n /**\n *\n * @type {CoseKeyType}\n * @memberof CoseKey\n */\n kty: CoseKeyType\n /**\n * Key identifier (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n kid?: string\n /**\n * The COSE algorithm identifier (e.g., -7=ES256, -35=ES384, -36=ES512, -8=EdDSA).\n * @type {number}\n * @memberof CoseKey\n */\n alg?: number\n /**\n * The allowed COSE key operations (1=sign, 2=verify, 3=encrypt, 4=decrypt, etc.).\n * @type {Array<number>}\n * @memberof CoseKey\n */\n keyOps?: Array<number>\n /**\n * Base initialization vector (base64url-encoded).\n * @type {string}\n * @memberof CoseKey\n */\n baseIV?: string\n /**\n * The COSE curve identifier (1=P-256, 2=P-384, 3=P-521, 8=secp256k1, 6=Ed25519, etc.).\n * @type {number}\n * @memberof CoseKey\n */\n crv?: number\n /**\n * The x coordinate (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n x?: string\n /**\n * The y coordinate (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n y?: string\n /**\n * The private key parameter (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n d?: string\n /**\n * X.509 certificate chain as base64-encoded certificates.\n * @type {Array<string>}\n * @memberof CoseKey\n */\n x5chain?: Array<string>\n}\n\n/**\n * Check if a given object implements the CoseKey interface.\n */\nexport function instanceOfCoseKey(value: object): value is CoseKey {\n if (!('kty' in value) || value['kty'] === undefined) return false\n return true\n}\n\nexport function CoseKeyFromJSON(json: any): CoseKey {\n return CoseKeyFromJSONTyped(json, false)\n}\n\nexport function CoseKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKey {\n if (json == null) {\n return json\n }\n return {\n kty: CoseKeyTypeFromJSON(json['kty']),\n kid: json['kid'] == null ? undefined : json['kid'],\n alg: json['alg'] == null ? undefined : json['alg'],\n keyOps: json['key_ops'] == null ? undefined : json['key_ops'],\n baseIV: json['baseIV'] == null ? undefined : json['baseIV'],\n crv: json['crv'] == null ? undefined : json['crv'],\n x: json['x'] == null ? undefined : json['x'],\n y: json['y'] == null ? undefined : json['y'],\n d: json['d'] == null ? undefined : json['d'],\n x5chain: json['x5chain'] == null ? undefined : json['x5chain'],\n }\n}\n\nexport function CoseKeyToJSON(json: any): CoseKey {\n return CoseKeyToJSONTyped(json, false)\n}\n\nexport function CoseKeyToJSONTyped(value?: CoseKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kty: CoseKeyTypeToJSON(value['kty']),\n kid: value['kid'],\n alg: value['alg'],\n key_ops: value['keyOps'],\n baseIV: value['baseIV'],\n crv: value['crv'],\n x: value['x'],\n y: value['y'],\n d: value['d'],\n x5chain: value['x5chain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { CoseKey } from './CoseKey'\nimport { CoseKeyFromJSON, CoseKeyToJSON } from './CoseKey'\n\n/**\n * Represents a cryptographic key pair for COSE (CBOR Object Signing and Encryption) operations.\n * @export\n * @interface CoseKeyPair\n */\nexport interface CoseKeyPair {\n /**\n *\n * @type {CoseKey}\n * @memberof CoseKeyPair\n */\n privateCoseKey?: CoseKey\n /**\n *\n * @type {CoseKey}\n * @memberof CoseKeyPair\n */\n publicCoseKey: CoseKey\n}\n\n/**\n * Check if a given object implements the CoseKeyPair interface.\n */\nexport function instanceOfCoseKeyPair(value: object): value is CoseKeyPair {\n if (!('publicCoseKey' in value) || value['publicCoseKey'] === undefined) return false\n return true\n}\n\nexport function CoseKeyPairFromJSON(json: any): CoseKeyPair {\n return CoseKeyPairFromJSONTyped(json, false)\n}\n\nexport function CoseKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKeyPair {\n if (json == null) {\n return json\n }\n return {\n privateCoseKey: json['privateCoseKey'] == null ? undefined : CoseKeyFromJSON(json['privateCoseKey']),\n publicCoseKey: CoseKeyFromJSON(json['publicCoseKey']),\n }\n}\n\nexport function CoseKeyPairToJSON(json: any): CoseKeyPair {\n return CoseKeyPairToJSONTyped(json, false)\n}\n\nexport function CoseKeyPairToJSONTyped(value?: CoseKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n privateCoseKey: CoseKeyToJSON(value['privateCoseKey']),\n publicCoseKey: CoseKeyToJSON(value['publicCoseKey']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The type of Key Provider. Determines the required configuration settings. - AZURE_KEYVAULT: Microsoft Azure Key Vault or Managed HSM. - AWS_KMS: Amazon Web Services Key Management Service.\n * @export\n */\nexport const KeyProviderType = {\n Software: 'SOFTWARE',\n AzureKeyvault: 'AZURE_KEYVAULT',\n AwsKms: 'AWS_KMS',\n} as const\nexport type KeyProviderType = (typeof KeyProviderType)[keyof typeof KeyProviderType]\n\nexport function instanceOfKeyProviderType(value: any): boolean {\n for (const key in KeyProviderType) {\n if (Object.prototype.hasOwnProperty.call(KeyProviderType, key)) {\n if (KeyProviderType[key as keyof typeof KeyProviderType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyProviderTypeFromJSON(json: any): KeyProviderType {\n return KeyProviderTypeFromJSONTyped(json, false)\n}\n\nexport function KeyProviderTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProviderType {\n return json as KeyProviderType\n}\n\nexport function KeyProviderTypeToJSON(value?: KeyProviderType | null): any {\n return value as any\n}\n\nexport function KeyProviderTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyProviderType {\n return value as KeyProviderType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AwsKmsSetting } from './AwsKmsSetting'\nimport { AwsKmsSettingFromJSON, AwsKmsSettingToJSON } from './AwsKmsSetting'\nimport type { AzureKeyVaultSetting } from './AzureKeyVaultSetting'\nimport { AzureKeyVaultSettingFromJSON, AzureKeyVaultSettingToJSON } from './AzureKeyVaultSetting'\nimport type { KeyProviderType } from './KeyProviderType'\nimport { KeyProviderTypeFromJSON, KeyProviderTypeToJSON } from './KeyProviderType'\n\n/**\n * Request body for creating a new Key Provider instance.\n * @export\n * @interface CreateKeyProvider\n */\nexport interface CreateKeyProvider {\n /**\n *\n * @type {KeyProviderType}\n * @memberof CreateKeyProvider\n */\n type: KeyProviderType\n /**\n *\n * @type {AzureKeyVaultSetting}\n * @memberof CreateKeyProvider\n */\n azureKeyvaultSettings?: AzureKeyVaultSetting\n /**\n *\n * @type {AwsKmsSetting}\n * @memberof CreateKeyProvider\n */\n awsKmsSettings?: AwsKmsSetting\n /**\n * Whether to enable caching for keys retrieved from this provider.\n * @type {boolean}\n * @memberof CreateKeyProvider\n */\n cacheEnabled?: boolean\n /**\n * Time-to-live for cached keys in seconds (if cacheEnabled is true).\n * @type {number}\n * @memberof CreateKeyProvider\n */\n cacheTTLInSeconds?: number\n}\n\n/**\n * Check if a given object implements the CreateKeyProvider interface.\n */\nexport function instanceOfCreateKeyProvider(value: object): value is CreateKeyProvider {\n if (!('type' in value) || value['type'] === undefined) return false\n return true\n}\n\nexport function CreateKeyProviderFromJSON(json: any): CreateKeyProvider {\n return CreateKeyProviderFromJSONTyped(json, false)\n}\n\nexport function CreateKeyProviderFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateKeyProvider {\n if (json == null) {\n return json\n }\n return {\n type: KeyProviderTypeFromJSON(json['type']),\n azureKeyvaultSettings: json['azureKeyvaultSettings'] == null ? undefined : AzureKeyVaultSettingFromJSON(json['azureKeyvaultSettings']),\n awsKmsSettings: json['awsKmsSettings'] == null ? undefined : AwsKmsSettingFromJSON(json['awsKmsSettings']),\n cacheEnabled: json['cacheEnabled'] == null ? undefined : json['cacheEnabled'],\n cacheTTLInSeconds: json['cacheTTLInSeconds'] == null ? undefined : json['cacheTTLInSeconds'],\n }\n}\n\nexport function CreateKeyProviderToJSON(json: any): CreateKeyProvider {\n return CreateKeyProviderToJSONTyped(json, false)\n}\n\nexport function CreateKeyProviderToJSONTyped(value?: CreateKeyProvider | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n type: KeyProviderTypeToJSON(value['type']),\n azureKeyvaultSettings: AzureKeyVaultSettingToJSON(value['azureKeyvaultSettings']),\n awsKmsSettings: AwsKmsSettingToJSON(value['awsKmsSettings']),\n cacheEnabled: value['cacheEnabled'],\n cacheTTLInSeconds: value['cacheTTLInSeconds'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic key type identifier.\n * @export\n */\nexport const KeyType = {\n Okp: 'OKP',\n Ec: 'EC',\n Rsa: 'RSA',\n} as const\nexport type KeyType = (typeof KeyType)[keyof typeof KeyType]\n\nexport function instanceOfKeyType(value: any): boolean {\n for (const key in KeyType) {\n if (Object.prototype.hasOwnProperty.call(KeyType, key)) {\n if (KeyType[key as keyof typeof KeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyTypeFromJSON(json: any): KeyType {\n return KeyTypeFromJSONTyped(json, false)\n}\n\nexport function KeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyType {\n return json as KeyType\n}\n\nexport function KeyTypeToJSON(value?: KeyType | null): any {\n return value as any\n}\n\nexport function KeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyType {\n return value as KeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Indicates the visibility status of a cryptographic key.\n * @export\n */\nexport const KeyVisibility = {\n Public: 'PUBLIC',\n Private: 'PRIVATE',\n} as const\nexport type KeyVisibility = (typeof KeyVisibility)[keyof typeof KeyVisibility]\n\nexport function instanceOfKeyVisibility(value: any): boolean {\n for (const key in KeyVisibility) {\n if (Object.prototype.hasOwnProperty.call(KeyVisibility, key)) {\n if (KeyVisibility[key as keyof typeof KeyVisibility] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyVisibilityFromJSON(json: any): KeyVisibility {\n return KeyVisibilityFromJSONTyped(json, false)\n}\n\nexport function KeyVisibilityFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyVisibility {\n return json as KeyVisibility\n}\n\nexport function KeyVisibilityToJSON(value?: KeyVisibility | null): any {\n return value as any\n}\n\nexport function KeyVisibilityToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyVisibility {\n return value as KeyVisibility\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic signature algorithm identifier.\n * @export\n */\nexport const SignatureAlgorithm = {\n Ed25519: 'ED25519',\n EcdsaSha256: 'ECDSA_SHA256',\n EcdsaSha384: 'ECDSA_SHA384',\n EcdsaSha512: 'ECDSA_SHA512',\n Es256K: 'ES256K',\n EckaDhSha256: 'ECKA_DH_SHA256',\n HmacSha256: 'HMAC_SHA256',\n HmacSha384: 'HMAC_SHA384',\n HmacSha512: 'HMAC_SHA512',\n RsaSsaPssSha256Mgf1: 'RSA_SSA_PSS_SHA256_MGF1',\n RsaSsaPssSha384Mgf1: 'RSA_SSA_PSS_SHA384_MGF1',\n RsaSsaPssSha512Mgf1: 'RSA_SSA_PSS_SHA512_MGF1',\n} as const\nexport type SignatureAlgorithm = (typeof SignatureAlgorithm)[keyof typeof SignatureAlgorithm]\n\nexport function instanceOfSignatureAlgorithm(value: any): boolean {\n for (const key in SignatureAlgorithm) {\n if (Object.prototype.hasOwnProperty.call(SignatureAlgorithm, key)) {\n if (SignatureAlgorithm[key as keyof typeof SignatureAlgorithm] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function SignatureAlgorithmFromJSON(json: any): SignatureAlgorithm {\n return SignatureAlgorithmFromJSONTyped(json, false)\n}\n\nexport function SignatureAlgorithmFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignatureAlgorithm {\n return json as SignatureAlgorithm\n}\n\nexport function SignatureAlgorithmToJSON(value?: SignatureAlgorithm | null): any {\n return value as any\n}\n\nexport function SignatureAlgorithmToJSONTyped(value: any, ignoreDiscriminator: boolean): SignatureAlgorithm {\n return value as SignatureAlgorithm\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The encoding format of the cryptographic key.\n * @export\n */\nexport const KeyEncoding = {\n Cose: 'COSE',\n Jose: 'JOSE',\n} as const\nexport type KeyEncoding = (typeof KeyEncoding)[keyof typeof KeyEncoding]\n\nexport function instanceOfKeyEncoding(value: any): boolean {\n for (const key in KeyEncoding) {\n if (Object.prototype.hasOwnProperty.call(KeyEncoding, key)) {\n if (KeyEncoding[key as keyof typeof KeyEncoding] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyEncodingFromJSON(json: any): KeyEncoding {\n return KeyEncodingFromJSONTyped(json, false)\n}\n\nexport function KeyEncodingFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyEncoding {\n return json as KeyEncoding\n}\n\nexport function KeyEncodingToJSON(value?: KeyEncoding | null): any {\n return value as any\n}\n\nexport function KeyEncodingToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyEncoding {\n return value as KeyEncoding\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Elliptic curve identifier.\n * @export\n */\nexport const Curve = {\n P256: 'P-256',\n P384: 'P-384',\n P521: 'P-521',\n Secp256k1: 'secp256k1',\n Ed25519: 'Ed25519',\n Ed448: 'Ed448',\n X25519: 'X25519',\n X448: 'X448',\n} as const\nexport type Curve = (typeof Curve)[keyof typeof Curve]\n\nexport function instanceOfCurve(value: any): boolean {\n for (const key in Curve) {\n if (Object.prototype.hasOwnProperty.call(Curve, key)) {\n if (Curve[key as keyof typeof Curve] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function CurveFromJSON(json: any): Curve {\n return CurveFromJSONTyped(json, false)\n}\n\nexport function CurveFromJSONTyped(json: any, ignoreDiscriminator: boolean): Curve {\n return json as Curve\n}\n\nexport function CurveToJSON(value?: Curve | null): any {\n return value as any\n}\n\nexport function CurveToJSONTyped(value: any, ignoreDiscriminator: boolean): Curve {\n return value as Curve\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Specific operations the key is intended for.\n * @export\n */\nexport const KeyOperations = {\n Sign: 'sign',\n Verify: 'verify',\n Encrypt: 'encrypt',\n Decrypt: 'decrypt',\n WrapKey: 'wrapKey',\n UnwrapKey: 'unwrapKey',\n DeriveKey: 'deriveKey',\n DeriveBits: 'deriveBits',\n} as const\nexport type KeyOperations = (typeof KeyOperations)[keyof typeof KeyOperations]\n\nexport function instanceOfKeyOperations(value: any): boolean {\n for (const key in KeyOperations) {\n if (Object.prototype.hasOwnProperty.call(KeyOperations, key)) {\n if (KeyOperations[key as keyof typeof KeyOperations] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyOperationsFromJSON(json: any): KeyOperations {\n return KeyOperationsFromJSONTyped(json, false)\n}\n\nexport function KeyOperationsFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyOperations {\n return json as KeyOperations\n}\n\nexport function KeyOperationsToJSON(value?: KeyOperations | null): any {\n return value as any\n}\n\nexport function KeyOperationsToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyOperations {\n return value as KeyOperations\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Intended use of the key (signing or encryption).\n * @export\n */\nexport const JwkUse = {\n Sig: 'sig',\n Enc: 'enc',\n} as const\nexport type JwkUse = (typeof JwkUse)[keyof typeof JwkUse]\n\nexport function instanceOfJwkUse(value: any): boolean {\n for (const key in JwkUse) {\n if (Object.prototype.hasOwnProperty.call(JwkUse, key)) {\n if (JwkUse[key as keyof typeof JwkUse] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function JwkUseFromJSON(json: any): JwkUse {\n return JwkUseFromJSONTyped(json, false)\n}\n\nexport function JwkUseFromJSONTyped(json: any, ignoreDiscriminator: boolean): JwkUse {\n return json as JwkUse\n}\n\nexport function JwkUseToJSON(value?: JwkUse | null): any {\n return value as any\n}\n\nexport function JwkUseToJSONTyped(value: any, ignoreDiscriminator: boolean): JwkUse {\n return value as JwkUse\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * JSON Web Key (JWK) key type parameter identifying the cryptographic algorithm family.\n * @export\n */\nexport const JwkKeyType = {\n Ec: 'EC',\n Rsa: 'RSA',\n Okp: 'OKP',\n Oct: 'oct',\n} as const\nexport type JwkKeyType = (typeof JwkKeyType)[keyof typeof JwkKeyType]\n\nexport function instanceOfJwkKeyType(value: any): boolean {\n for (const key in JwkKeyType) {\n if (Object.prototype.hasOwnProperty.call(JwkKeyType, key)) {\n if (JwkKeyType[key as keyof typeof JwkKeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function JwkKeyTypeFromJSON(json: any): JwkKeyType {\n return JwkKeyTypeFromJSONTyped(json, false)\n}\n\nexport function JwkKeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): JwkKeyType {\n return json as JwkKeyType\n}\n\nexport function JwkKeyTypeToJSON(value?: JwkKeyType | null): any {\n return value as any\n}\n\nexport function JwkKeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): JwkKeyType {\n return value as JwkKeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Curve } from './Curve'\nimport { CurveFromJSON, CurveToJSON } from './Curve'\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\nimport type { JwkKeyType } from './JwkKeyType'\nimport { JwkKeyTypeFromJSON, JwkKeyTypeToJSON } from './JwkKeyType'\n\n/**\n * Represents a JSON Web Key (JWK) as defined by the JSON Web Key specification.\n * @export\n * @interface Jwk\n */\nexport interface Jwk {\n /**\n *\n * @type {JwkKeyType}\n * @memberof Jwk\n */\n kty: JwkKeyType\n /**\n * Key identifier used to uniquely identify the key.\n * @type {string}\n * @memberof Jwk\n */\n kid?: string\n /**\n * The algorithm intended for use with the key (JWA algorithm name).\n * @type {string}\n * @memberof Jwk\n */\n alg?: string\n /**\n *\n * @type {JwkUse}\n * @memberof Jwk\n */\n use?: JwkUse\n /**\n * The allowed cryptographic operations for the key.\n * @type {Array<KeyOperations>}\n * @memberof Jwk\n */\n keyOps?: Array<KeyOperations>\n /**\n *\n * @type {Curve}\n * @memberof Jwk\n */\n crv?: Curve\n /**\n * The x coordinate for elliptic curve keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x?: string\n /**\n * The y coordinate for elliptic curve keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n y?: string\n /**\n * The private key parameter (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n d?: string\n /**\n * The modulus value for RSA keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n n?: string\n /**\n * The public exponent for RSA keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n e?: string\n /**\n * The first prime factor for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n p?: string\n /**\n * The second prime factor for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n q?: string\n /**\n * The first factor CRT exponent for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n dp?: string\n /**\n * The second factor CRT exponent for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n dq?: string\n /**\n * The first CRT coefficient for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n qi?: string\n /**\n * The symmetric key value (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n k?: string\n /**\n * X.509 certificate chain as base64-encoded DER certificates.\n * @type {Array<string>}\n * @memberof Jwk\n */\n x5c?: Array<string>\n /**\n * X.509 certificate SHA-1 thumbprint (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x5t?: string\n /**\n * URL pointing to X.509 certificate or certificate chain.\n * @type {string}\n * @memberof Jwk\n */\n x5u?: string\n /**\n * X.509 certificate SHA-256 thumbprint (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x5tS256?: string\n}\n\n/**\n * Check if a given object implements the Jwk interface.\n */\nexport function instanceOfJwk(value: object): value is Jwk {\n if (!('kty' in value) || value['kty'] === undefined) return false\n return true\n}\n\nexport function JwkFromJSON(json: any): Jwk {\n return JwkFromJSONTyped(json, false)\n}\n\nexport function JwkFromJSONTyped(json: any, ignoreDiscriminator: boolean): Jwk {\n if (json == null) {\n return json\n }\n return {\n kty: JwkKeyTypeFromJSON(json['kty']),\n kid: json['kid'] == null ? undefined : json['kid'],\n alg: json['alg'] == null ? undefined : json['alg'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOps: json['key_ops'] == null ? undefined : (json['key_ops'] as Array<any>).map(KeyOperationsFromJSON),\n crv: json['crv'] == null ? undefined : CurveFromJSON(json['crv']),\n x: json['x'] == null ? undefined : json['x'],\n y: json['y'] == null ? undefined : json['y'],\n d: json['d'] == null ? undefined : json['d'],\n n: json['n'] == null ? undefined : json['n'],\n e: json['e'] == null ? undefined : json['e'],\n p: json['p'] == null ? undefined : json['p'],\n q: json['q'] == null ? undefined : json['q'],\n dp: json['dp'] == null ? undefined : json['dp'],\n dq: json['dq'] == null ? undefined : json['dq'],\n qi: json['qi'] == null ? undefined : json['qi'],\n k: json['k'] == null ? undefined : json['k'],\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n x5t: json['x5t'] == null ? undefined : json['x5t'],\n x5u: json['x5u'] == null ? undefined : json['x5u'],\n x5tS256: json['x5t#S256'] == null ? undefined : json['x5t#S256'],\n }\n}\n\nexport function JwkToJSON(json: any): Jwk {\n return JwkToJSONTyped(json, false)\n}\n\nexport function JwkToJSONTyped(value?: Jwk | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kty: JwkKeyTypeToJSON(value['kty']),\n kid: value['kid'],\n alg: value['alg'],\n use: JwkUseToJSON(value['use']),\n key_ops: value['keyOps'] == null ? undefined : (value['keyOps'] as Array<any>).map(KeyOperationsToJSON),\n crv: CurveToJSON(value['crv']),\n x: value['x'],\n y: value['y'],\n d: value['d'],\n n: value['n'],\n e: value['e'],\n p: value['p'],\n q: value['q'],\n dp: value['dp'],\n dq: value['dq'],\n qi: value['qi'],\n k: value['k'],\n x5c: value['x5c'],\n x5t: value['x5t'],\n x5u: value['x5u'],\n 'x5t#S256': value['x5tS256'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Information about a cryptographic key, providing metadata and configuration details necessary for cryptographic operations.\n * @export\n * @interface KeyInfo\n */\nexport interface KeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof KeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof KeyInfo\n */\n key?: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof KeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof KeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof KeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof KeyInfo\n */\n alias?: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof KeyInfo\n */\n providerId?: string\n /**\n *\n * @type {KeyType}\n * @memberof KeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof KeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof KeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the KeyInfo interface.\n */\nexport function instanceOfKeyInfo(value: object): value is KeyInfo {\n return true\n}\n\nexport function KeyInfoFromJSON(json: any): KeyInfo {\n return KeyInfoFromJSONTyped(json, false)\n}\n\nexport function KeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: json['key'] == null ? undefined : JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'] == null ? undefined : json['alias'],\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function KeyInfoToJSON(json: any): KeyInfo {\n return KeyInfoToJSONTyped(json, false)\n}\n\nexport function KeyInfoToJSONTyped(value?: KeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\n\n/**\n * Request body for creating a raw signature.\n * @export\n * @interface CreateRawSignature\n */\nexport interface CreateRawSignature {\n /**\n *\n * @type {KeyInfo}\n * @memberof CreateRawSignature\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {string}\n * @memberof CreateRawSignature\n */\n input: string\n}\n\n/**\n * Check if a given object implements the CreateRawSignature interface.\n */\nexport function instanceOfCreateRawSignature(value: object): value is CreateRawSignature {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n if (!('input' in value) || value['input'] === undefined) return false\n return true\n}\n\nexport function CreateRawSignatureFromJSON(json: any): CreateRawSignature {\n return CreateRawSignatureFromJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateRawSignature {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n input: json['input'],\n }\n}\n\nexport function CreateRawSignatureToJSON(json: any): CreateRawSignature {\n return CreateRawSignatureToJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureToJSONTyped(value?: CreateRawSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n input: value['input'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Response body containing the created signature.\n * @export\n * @interface CreateRawSignatureResponse\n */\nexport interface CreateRawSignatureResponse {\n /**\n * The created signature encoded as a base64 string.\n * @type {string}\n * @memberof CreateRawSignatureResponse\n */\n signature: string\n}\n\n/**\n * Check if a given object implements the CreateRawSignatureResponse interface.\n */\nexport function instanceOfCreateRawSignatureResponse(value: object): value is CreateRawSignatureResponse {\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function CreateRawSignatureResponseFromJSON(json: any): CreateRawSignatureResponse {\n return CreateRawSignatureResponseFromJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateRawSignatureResponse {\n if (json == null) {\n return json\n }\n return {\n signature: json['signature'],\n }\n}\n\nexport function CreateRawSignatureResponseToJSON(json: any): CreateRawSignatureResponse {\n return CreateRawSignatureResponseToJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureResponseToJSONTyped(value?: CreateRawSignatureResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n signature: value['signature'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The input data and metadata required for creating a signature.\n * @export\n * @interface SignInput\n */\nexport interface SignInput {\n /**\n * The data to be signed, encoded as a base64 string.\n * @type {string}\n * @memberof SignInput\n */\n data: string\n /**\n * The signing mode to be used.\n * @type {string}\n * @memberof SignInput\n */\n mode?: SignInputModeEnum\n /**\n * Additional metadata to be included in the signature.\n * @type {{ [key: string]: any; }}\n * @memberof SignInput\n */\n metadata?: { [key: string]: any }\n}\n\n/**\n * @export\n */\nexport const SignInputModeEnum = {\n Detached: 'DETACHED',\n Attached: 'ATTACHED',\n} as const\nexport type SignInputModeEnum = (typeof SignInputModeEnum)[keyof typeof SignInputModeEnum]\n\n/**\n * Check if a given object implements the SignInput interface.\n */\nexport function instanceOfSignInput(value: object): value is SignInput {\n if (!('data' in value) || value['data'] === undefined) return false\n return true\n}\n\nexport function SignInputFromJSON(json: any): SignInput {\n return SignInputFromJSONTyped(json, false)\n}\n\nexport function SignInputFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignInput {\n if (json == null) {\n return json\n }\n return {\n data: json['data'],\n mode: json['mode'] == null ? undefined : json['mode'],\n metadata: json['metadata'] == null ? undefined : json['metadata'],\n }\n}\n\nexport function SignInputToJSON(json: any): SignInput {\n return SignInputToJSONTyped(json, false)\n}\n\nexport function SignInputToJSONTyped(value?: SignInput | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n data: value['data'],\n mode: value['mode'],\n metadata: value['metadata'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\nimport type { SignInput } from './SignInput'\nimport { SignInputFromJSON, SignInputToJSON } from './SignInput'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\n\n/**\n * Request body for creating a digital signature.\n * @export\n * @interface CreateSimpleSignature\n */\nexport interface CreateSimpleSignature {\n /**\n *\n * @type {SignInput}\n * @memberof CreateSimpleSignature\n */\n signInput: SignInput\n /**\n *\n * @type {KeyInfo}\n * @memberof CreateSimpleSignature\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof CreateSimpleSignature\n */\n signatureAlgorithm?: SignatureAlgorithm\n}\n\n/**\n * Check if a given object implements the CreateSimpleSignature interface.\n */\nexport function instanceOfCreateSimpleSignature(value: object): value is CreateSimpleSignature {\n if (!('signInput' in value) || value['signInput'] === undefined) return false\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function CreateSimpleSignatureFromJSON(json: any): CreateSimpleSignature {\n return CreateSimpleSignatureFromJSONTyped(json, false)\n}\n\nexport function CreateSimpleSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateSimpleSignature {\n if (json == null) {\n return json\n }\n return {\n signInput: SignInputFromJSON(json['signInput']),\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n }\n}\n\nexport function CreateSimpleSignatureToJSON(json: any): CreateSimpleSignature {\n return CreateSimpleSignatureToJSONTyped(json, false)\n}\n\nexport function CreateSimpleSignatureToJSONTyped(value?: CreateSimpleSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n signInput: SignInputToJSON(value['signInput']),\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic algorithm type.\n * @export\n */\nexport const CryptoAlg = {\n Ed25519: 'ED25519',\n Ecdsa: 'ECDSA',\n Hmac: 'HMAC',\n Rsa: 'RSA',\n} as const\nexport type CryptoAlg = (typeof CryptoAlg)[keyof typeof CryptoAlg]\n\nexport function instanceOfCryptoAlg(value: any): boolean {\n for (const key in CryptoAlg) {\n if (Object.prototype.hasOwnProperty.call(CryptoAlg, key)) {\n if (CryptoAlg[key as keyof typeof CryptoAlg] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function CryptoAlgFromJSON(json: any): CryptoAlg {\n return CryptoAlgFromJSONTyped(json, false)\n}\n\nexport function CryptoAlgFromJSONTyped(json: any, ignoreDiscriminator: boolean): CryptoAlg {\n return json as CryptoAlg\n}\n\nexport function CryptoAlgToJSON(value?: CryptoAlg | null): any {\n return value as any\n}\n\nexport function CryptoAlgToJSONTyped(value: any, ignoreDiscriminator: boolean): CryptoAlg {\n return value as CryptoAlg\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic digest (hash) algorithm identifier.\n * @export\n */\nexport const DigestAlg = {\n None: 'NONE',\n Sha256: 'SHA256',\n Sha384: 'SHA384',\n Sha512: 'SHA512',\n Sha3256: 'SHA3_256',\n Sha3384: 'SHA3_384',\n Sha3512: 'SHA3_512',\n} as const\nexport type DigestAlg = (typeof DigestAlg)[keyof typeof DigestAlg]\n\nexport function instanceOfDigestAlg(value: any): boolean {\n for (const key in DigestAlg) {\n if (Object.prototype.hasOwnProperty.call(DigestAlg, key)) {\n if (DigestAlg[key as keyof typeof DigestAlg] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function DigestAlgFromJSON(json: any): DigestAlg {\n return DigestAlgFromJSONTyped(json, false)\n}\n\nexport function DigestAlgFromJSONTyped(json: any, ignoreDiscriminator: boolean): DigestAlg {\n return json as DigestAlg\n}\n\nexport function DigestAlgToJSON(value?: DigestAlg | null): any {\n return value as any\n}\n\nexport function DigestAlgToJSONTyped(value: any, ignoreDiscriminator: boolean): DigestAlg {\n return value as DigestAlg\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @interface ErrorResponse\n */\nexport interface ErrorResponse {\n /**\n * Error code identifying the type of error.\n * @type {string}\n * @memberof ErrorResponse\n */\n code: string\n /**\n * Human-readable error message.\n * @type {string}\n * @memberof ErrorResponse\n */\n message: string\n /**\n * Additional error details.\n * @type {{ [key: string]: any; }}\n * @memberof ErrorResponse\n */\n details?: { [key: string]: any }\n}\n\n/**\n * Check if a given object implements the ErrorResponse interface.\n */\nexport function instanceOfErrorResponse(value: object): value is ErrorResponse {\n if (!('code' in value) || value['code'] === undefined) return false\n if (!('message' in value) || value['message'] === undefined) return false\n return true\n}\n\nexport function ErrorResponseFromJSON(json: any): ErrorResponse {\n return ErrorResponseFromJSONTyped(json, false)\n}\n\nexport function ErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ErrorResponse {\n if (json == null) {\n return json\n }\n return {\n code: json['code'],\n message: json['message'],\n details: json['details'] == null ? undefined : json['details'],\n }\n}\n\nexport function ErrorResponseToJSON(json: any): ErrorResponse {\n return ErrorResponseToJSONTyped(json, false)\n}\n\nexport function ErrorResponseToJSONTyped(value?: ErrorResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n code: value['code'],\n message: value['message'],\n details: value['details'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\n\n/**\n * Parameters for key generation.\n * @export\n * @interface GenerateKey\n */\nexport interface GenerateKey {\n /**\n * Alias for the generated key.\n * @type {string}\n * @memberof GenerateKey\n */\n alias?: string\n /**\n *\n * @type {JwkUse}\n * @memberof GenerateKey\n */\n use?: JwkUse\n /**\n *\n * @type {Array<KeyOperations>}\n * @memberof GenerateKey\n */\n keyOperations?: Array<KeyOperations>\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof GenerateKey\n */\n alg?: SignatureAlgorithm\n}\n\n/**\n * Check if a given object implements the GenerateKey interface.\n */\nexport function instanceOfGenerateKey(value: object): value is GenerateKey {\n return true\n}\n\nexport function GenerateKeyFromJSON(json: any): GenerateKey {\n return GenerateKeyFromJSONTyped(json, false)\n}\n\nexport function GenerateKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateKey {\n if (json == null) {\n return json\n }\n return {\n alias: json['alias'] == null ? undefined : json['alias'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOperations: json['keyOperations'] == null ? undefined : (json['keyOperations'] as Array<any>).map(KeyOperationsFromJSON),\n alg: json['alg'] == null ? undefined : SignatureAlgorithmFromJSON(json['alg']),\n }\n}\n\nexport function GenerateKeyToJSON(json: any): GenerateKey {\n return GenerateKeyToJSONTyped(json, false)\n}\n\nexport function GenerateKeyToJSONTyped(value?: GenerateKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n alias: value['alias'],\n use: JwkUseToJSON(value['use']),\n keyOperations: value['keyOperations'] == null ? undefined : (value['keyOperations'] as Array<any>).map(KeyOperationsToJSON),\n alg: SignatureAlgorithmToJSON(value['alg']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\n\n/**\n * Parameters for global key generation with optional provider specification.\n * @export\n * @interface GenerateKeyGlobal\n */\nexport interface GenerateKeyGlobal {\n /**\n * Alias for the generated key.\n * @type {string}\n * @memberof GenerateKeyGlobal\n */\n alias?: string\n /**\n *\n * @type {JwkUse}\n * @memberof GenerateKeyGlobal\n */\n use?: JwkUse\n /**\n *\n * @type {Array<KeyOperations>}\n * @memberof GenerateKeyGlobal\n */\n keyOperations?: Array<KeyOperations>\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof GenerateKeyGlobal\n */\n alg?: SignatureAlgorithm\n /**\n * Optional provider ID. If not specified, the default provider will be used.\n * @type {string}\n * @memberof GenerateKeyGlobal\n */\n providerId?: string\n}\n\n/**\n * Check if a given object implements the GenerateKeyGlobal interface.\n */\nexport function instanceOfGenerateKeyGlobal(value: object): value is GenerateKeyGlobal {\n return true\n}\n\nexport function GenerateKeyGlobalFromJSON(json: any): GenerateKeyGlobal {\n return GenerateKeyGlobalFromJSONTyped(json, false)\n}\n\nexport function GenerateKeyGlobalFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateKeyGlobal {\n if (json == null) {\n return json\n }\n return {\n alias: json['alias'] == null ? undefined : json['alias'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOperations: json['keyOperations'] == null ? undefined : (json['keyOperations'] as Array<any>).map(KeyOperationsFromJSON),\n alg: json['alg'] == null ? undefined : SignatureAlgorithmFromJSON(json['alg']),\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n }\n}\n\nexport function GenerateKeyGlobalToJSON(json: any): GenerateKeyGlobal {\n return GenerateKeyGlobalToJSONTyped(json, false)\n}\n\nexport function GenerateKeyGlobalToJSONTyped(value?: GenerateKeyGlobal | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n alias: value['alias'],\n use: JwkUseToJSON(value['use']),\n keyOperations: value['keyOperations'] == null ? undefined : (value['keyOperations'] as Array<any>).map(KeyOperationsToJSON),\n alg: SignatureAlgorithmToJSON(value['alg']),\n providerId: value['providerId'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Data class representing a cryptographic key pair used with JOSE (JSON Object Signing and Encryption).\n * @export\n * @interface JoseKeyPair\n */\nexport interface JoseKeyPair {\n /**\n *\n * @type {Jwk}\n * @memberof JoseKeyPair\n */\n privateJwk?: Jwk\n /**\n *\n * @type {Jwk}\n * @memberof JoseKeyPair\n */\n publicJwk: Jwk\n}\n\n/**\n * Check if a given object implements the JoseKeyPair interface.\n */\nexport function instanceOfJoseKeyPair(value: object): value is JoseKeyPair {\n if (!('publicJwk' in value) || value['publicJwk'] === undefined) return false\n return true\n}\n\nexport function JoseKeyPairFromJSON(json: any): JoseKeyPair {\n return JoseKeyPairFromJSONTyped(json, false)\n}\n\nexport function JoseKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): JoseKeyPair {\n if (json == null) {\n return json\n }\n return {\n privateJwk: json['privateJwk'] == null ? undefined : JwkFromJSON(json['privateJwk']),\n publicJwk: JwkFromJSON(json['publicJwk']),\n }\n}\n\nexport function JoseKeyPairToJSON(json: any): JoseKeyPair {\n return JoseKeyPairToJSONTyped(json, false)\n}\n\nexport function JoseKeyPairToJSONTyped(value?: JoseKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n privateJwk: JwkToJSON(value['privateJwk']),\n publicJwk: JwkToJSON(value['publicJwk']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { JoseKeyPair } from './JoseKeyPair'\nimport { JoseKeyPairFromJSON, JoseKeyPairToJSON } from './JoseKeyPair'\nimport type { CoseKeyPair } from './CoseKeyPair'\nimport { CoseKeyPairFromJSON, CoseKeyPairToJSON } from './CoseKeyPair'\n\n/**\n * Represents a key pair used by a crypto provider, encapsulating both JOSE and COSE key pairs.\n * @export\n * @interface ManagedKeyPair\n */\nexport interface ManagedKeyPair {\n /**\n * Key identifier, may be null.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n kid?: string\n /**\n * Key Management System identifier.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n providerId: string\n /**\n * Reference to the key in the KMS.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n alias: string\n /**\n *\n * @type {CoseKeyPair}\n * @memberof ManagedKeyPair\n */\n cose: CoseKeyPair\n /**\n *\n * @type {JoseKeyPair}\n * @memberof ManagedKeyPair\n */\n jose: JoseKeyPair\n}\n\n/**\n * Check if a given object implements the ManagedKeyPair interface.\n */\nexport function instanceOfManagedKeyPair(value: object): value is ManagedKeyPair {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('alias' in value) || value['alias'] === undefined) return false\n if (!('cose' in value) || value['cose'] === undefined) return false\n if (!('jose' in value) || value['jose'] === undefined) return false\n return true\n}\n\nexport function ManagedKeyPairFromJSON(json: any): ManagedKeyPair {\n return ManagedKeyPairFromJSONTyped(json, false)\n}\n\nexport function ManagedKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): ManagedKeyPair {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n providerId: json['providerId'],\n alias: json['alias'],\n cose: CoseKeyPairFromJSON(json['cose']),\n jose: JoseKeyPairFromJSON(json['jose']),\n }\n}\n\nexport function ManagedKeyPairToJSON(json: any): ManagedKeyPair {\n return ManagedKeyPairToJSONTyped(json, false)\n}\n\nexport function ManagedKeyPairToJSONTyped(value?: ManagedKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n providerId: value['providerId'],\n alias: value['alias'],\n cose: CoseKeyPairToJSON(value['cose']),\n jose: JoseKeyPairToJSON(value['jose']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ManagedKeyPair } from './ManagedKeyPair'\nimport { ManagedKeyPairFromJSON, ManagedKeyPairToJSON } from './ManagedKeyPair'\n\n/**\n * Response body containing a generated key pair.\n * @export\n * @interface GenerateKeyResponse\n */\nexport interface GenerateKeyResponse {\n /**\n *\n * @type {ManagedKeyPair}\n * @memberof GenerateKeyResponse\n */\n keyPair: ManagedKeyPair\n}\n\n/**\n * Check if a given object implements the GenerateKeyResponse interface.\n */\nexport function instanceOfGenerateKeyResponse(value: object): value is GenerateKeyResponse {\n if (!('keyPair' in value) || value['keyPair'] === undefined) return false\n return true\n}\n\nexport function GenerateKeyResponseFromJSON(json: any): GenerateKeyResponse {\n return GenerateKeyResponseFromJSONTyped(json, false)\n}\n\nexport function GenerateKeyResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateKeyResponse {\n if (json == null) {\n return json\n }\n return {\n keyPair: ManagedKeyPairFromJSON(json['keyPair']),\n }\n}\n\nexport function GenerateKeyResponseToJSON(json: any): GenerateKeyResponse {\n return GenerateKeyResponseToJSONTyped(json, false)\n}\n\nexport function GenerateKeyResponseToJSONTyped(value?: GenerateKeyResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyPair: ManagedKeyPairToJSON(value['keyPair']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Represents a managed cryptographic key information that is guaranteed to be present and resolved, part of a KMS providing concrete access to the key.\n * @export\n * @interface ManagedKeyInfo\n */\nexport interface ManagedKeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof ManagedKeyInfo\n */\n key: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof ManagedKeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof ManagedKeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof ManagedKeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n alias: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n providerId: string\n /**\n *\n * @type {KeyType}\n * @memberof ManagedKeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof ManagedKeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof ManagedKeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the ManagedKeyInfo interface.\n */\nexport function instanceOfManagedKeyInfo(value: object): value is ManagedKeyInfo {\n if (!('key' in value) || value['key'] === undefined) return false\n if (!('alias' in value) || value['alias'] === undefined) return false\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n return true\n}\n\nexport function ManagedKeyInfoFromJSON(json: any): ManagedKeyInfo {\n return ManagedKeyInfoFromJSONTyped(json, false)\n}\n\nexport function ManagedKeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ManagedKeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'],\n providerId: json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function ManagedKeyInfoToJSON(json: any): ManagedKeyInfo {\n return ManagedKeyInfoToJSONTyped(json, false)\n}\n\nexport function ManagedKeyInfoToJSONTyped(value?: ManagedKeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ManagedKeyInfo } from './ManagedKeyInfo'\nimport { ManagedKeyInfoFromJSON, ManagedKeyInfoToJSON } from './ManagedKeyInfo'\n\n/**\n * Response body containing a managed key.\n * @export\n * @interface GetKeyResponse\n */\nexport interface GetKeyResponse {\n /**\n *\n * @type {ManagedKeyInfo}\n * @memberof GetKeyResponse\n */\n keyInfo: ManagedKeyInfo\n}\n\n/**\n * Check if a given object implements the GetKeyResponse interface.\n */\nexport function instanceOfGetKeyResponse(value: object): value is GetKeyResponse {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function GetKeyResponseFromJSON(json: any): GetKeyResponse {\n return GetKeyResponseFromJSONTyped(json, false)\n}\n\nexport function GetKeyResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetKeyResponse {\n if (json == null) {\n return json\n }\n return {\n keyInfo: ManagedKeyInfoFromJSON(json['keyInfo']),\n }\n}\n\nexport function GetKeyResponseToJSON(json: any): GetKeyResponse {\n return GetKeyResponseToJSONTyped(json, false)\n}\n\nexport function GetKeyResponseToJSONTyped(value?: GetKeyResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: ManagedKeyInfoToJSON(value['keyInfo']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Method used to identify cryptographic keys.\n * @export\n */\nexport const IdentifierMethod = {\n Jwk: 'JWK',\n Kid: 'KID',\n CoseKey: 'COSE_KEY',\n X5C: 'X5C',\n Did: 'DID',\n} as const\nexport type IdentifierMethod = (typeof IdentifierMethod)[keyof typeof IdentifierMethod]\n\nexport function instanceOfIdentifierMethod(value: any): boolean {\n for (const key in IdentifierMethod) {\n if (Object.prototype.hasOwnProperty.call(IdentifierMethod, key)) {\n if (IdentifierMethod[key as keyof typeof IdentifierMethod] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function IdentifierMethodFromJSON(json: any): IdentifierMethod {\n return IdentifierMethodFromJSONTyped(json, false)\n}\n\nexport function IdentifierMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): IdentifierMethod {\n return json as IdentifierMethod\n}\n\nexport function IdentifierMethodToJSON(value?: IdentifierMethod | null): any {\n return value as any\n}\n\nexport function IdentifierMethodToJSONTyped(value: any, ignoreDiscriminator: boolean): IdentifierMethod {\n return value as IdentifierMethod\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProviderType } from './KeyProviderType'\nimport { KeyProviderTypeFromJSON, KeyProviderTypeToJSON } from './KeyProviderType'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface KeyProvider\n */\nexport interface KeyProvider {\n /**\n * The unique identifier assigned to the Key Provider instance upon creation.\n * @type {string}\n * @memberof KeyProvider\n */\n providerId: string\n /**\n *\n * @type {KeyProviderType}\n * @memberof KeyProvider\n */\n type: KeyProviderType\n}\n\n/**\n * Check if a given object implements the KeyProvider interface.\n */\nexport function instanceOfKeyProvider(value: object): value is KeyProvider {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('type' in value) || value['type'] === undefined) return false\n return true\n}\n\nexport function KeyProviderFromJSON(json: any): KeyProvider {\n return KeyProviderFromJSONTyped(json, false)\n}\n\nexport function KeyProviderFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProvider {\n if (json == null) {\n return json\n }\n return {\n providerId: json['providerId'],\n type: KeyProviderTypeFromJSON(json['type']),\n }\n}\n\nexport function KeyProviderToJSON(json: any): KeyProvider {\n return KeyProviderToJSONTyped(json, false)\n}\n\nexport function KeyProviderToJSONTyped(value?: KeyProvider | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providerId: value['providerId'],\n type: KeyProviderTypeToJSON(value['type']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProviderType } from './KeyProviderType'\nimport { KeyProviderTypeFromJSON, KeyProviderTypeToJSON } from './KeyProviderType'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface KeyProviderResponse\n */\nexport interface KeyProviderResponse {\n /**\n * The unique identifier assigned to the Key Provider instance upon creation.\n * @type {string}\n * @memberof KeyProviderResponse\n */\n providerId: string\n /**\n *\n * @type {KeyProviderType}\n * @memberof KeyProviderResponse\n */\n type: KeyProviderType\n}\n\n/**\n * Check if a given object implements the KeyProviderResponse interface.\n */\nexport function instanceOfKeyProviderResponse(value: object): value is KeyProviderResponse {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('type' in value) || value['type'] === undefined) return false\n return true\n}\n\nexport function KeyProviderResponseFromJSON(json: any): KeyProviderResponse {\n return KeyProviderResponseFromJSONTyped(json, false)\n}\n\nexport function KeyProviderResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProviderResponse {\n if (json == null) {\n return json\n }\n return {\n providerId: json['providerId'],\n type: KeyProviderTypeFromJSON(json['type']),\n }\n}\n\nexport function KeyProviderResponseToJSON(json: any): KeyProviderResponse {\n return KeyProviderResponseToJSONTyped(json, false)\n}\n\nexport function KeyProviderResponseToJSONTyped(value?: KeyProviderResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providerId: value['providerId'],\n type: KeyProviderTypeToJSON(value['type']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { IdentifierMethod } from './IdentifierMethod'\nimport { IdentifierMethodFromJSON, IdentifierMethodToJSON } from './IdentifierMethod'\n\n/**\n * Represents a key resolver instance with detailed configuration.\n * @export\n * @interface KeyResolver\n */\nexport interface KeyResolver {\n /**\n * Unique identifier for the resolver.\n * @type {string}\n * @memberof KeyResolver\n */\n resolverId: string\n /**\n * List of identifier methods supported by this resolver.\n * @type {Array<IdentifierMethod>}\n * @memberof KeyResolver\n */\n supportedIdentifierMethods?: Array<IdentifierMethod>\n /**\n * List of key types supported by this resolver.\n * @type {Array<KeyType>}\n * @memberof KeyResolver\n */\n supportedKeyTypes?: Array<KeyType>\n}\n\n/**\n * Check if a given object implements the KeyResolver interface.\n */\nexport function instanceOfKeyResolver(value: object): value is KeyResolver {\n if (!('resolverId' in value) || value['resolverId'] === undefined) return false\n return true\n}\n\nexport function KeyResolverFromJSON(json: any): KeyResolver {\n return KeyResolverFromJSONTyped(json, false)\n}\n\nexport function KeyResolverFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyResolver {\n if (json == null) {\n return json\n }\n return {\n resolverId: json['resolverId'],\n supportedIdentifierMethods:\n json['supportedIdentifierMethods'] == null ? undefined : (json['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodFromJSON),\n supportedKeyTypes: json['supportedKeyTypes'] == null ? undefined : (json['supportedKeyTypes'] as Array<any>).map(KeyTypeFromJSON),\n }\n}\n\nexport function KeyResolverToJSON(json: any): KeyResolver {\n return KeyResolverToJSONTyped(json, false)\n}\n\nexport function KeyResolverToJSONTyped(value?: KeyResolver | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n resolverId: value['resolverId'],\n supportedIdentifierMethods:\n value['supportedIdentifierMethods'] == null ? undefined : (value['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodToJSON),\n supportedKeyTypes: value['supportedKeyTypes'] == null ? undefined : (value['supportedKeyTypes'] as Array<any>).map(KeyTypeToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProvider } from './KeyProvider'\nimport { KeyProviderFromJSON, KeyProviderToJSON } from './KeyProvider'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface ListKeyProvidersResponse\n */\nexport interface ListKeyProvidersResponse {\n /**\n *\n * @type {Array<KeyProvider>}\n * @memberof ListKeyProvidersResponse\n */\n providers: Array<KeyProvider>\n}\n\n/**\n * Check if a given object implements the ListKeyProvidersResponse interface.\n */\nexport function instanceOfListKeyProvidersResponse(value: object): value is ListKeyProvidersResponse {\n if (!('providers' in value) || value['providers'] === undefined) return false\n return true\n}\n\nexport function ListKeyProvidersResponseFromJSON(json: any): ListKeyProvidersResponse {\n return ListKeyProvidersResponseFromJSONTyped(json, false)\n}\n\nexport function ListKeyProvidersResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListKeyProvidersResponse {\n if (json == null) {\n return json\n }\n return {\n providers: (json['providers'] as Array<any>).map(KeyProviderFromJSON),\n }\n}\n\nexport function ListKeyProvidersResponseToJSON(json: any): ListKeyProvidersResponse {\n return ListKeyProvidersResponseToJSONTyped(json, false)\n}\n\nexport function ListKeyProvidersResponseToJSONTyped(value?: ListKeyProvidersResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providers: (value['providers'] as Array<any>).map(KeyProviderToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ManagedKeyInfo } from './ManagedKeyInfo'\nimport { ManagedKeyInfoFromJSON, ManagedKeyInfoToJSON } from './ManagedKeyInfo'\n\n/**\n * Response body containing all the managed keys.\n * @export\n * @interface ListKeysResponse\n */\nexport interface ListKeysResponse {\n /**\n *\n * @type {Array<ManagedKeyInfo>}\n * @memberof ListKeysResponse\n */\n keyInfos: Array<ManagedKeyInfo>\n}\n\n/**\n * Check if a given object implements the ListKeysResponse interface.\n */\nexport function instanceOfListKeysResponse(value: object): value is ListKeysResponse {\n if (!('keyInfos' in value) || value['keyInfos'] === undefined) return false\n return true\n}\n\nexport function ListKeysResponseFromJSON(json: any): ListKeysResponse {\n return ListKeysResponseFromJSONTyped(json, false)\n}\n\nexport function ListKeysResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListKeysResponse {\n if (json == null) {\n return json\n }\n return {\n keyInfos: (json['keyInfos'] as Array<any>).map(ManagedKeyInfoFromJSON),\n }\n}\n\nexport function ListKeysResponseToJSON(json: any): ListKeysResponse {\n return ListKeysResponseToJSONTyped(json, false)\n}\n\nexport function ListKeysResponseToJSONTyped(value?: ListKeysResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfos: (value['keyInfos'] as Array<any>).map(ManagedKeyInfoToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { IdentifierMethod } from './IdentifierMethod'\nimport { IdentifierMethodFromJSON, IdentifierMethodToJSON } from './IdentifierMethod'\n\n/**\n * Represents a key resolver configuration.\n * @export\n * @interface Resolver\n */\nexport interface Resolver {\n /**\n * Unique identifier for the resolver.\n * @type {string}\n * @memberof Resolver\n */\n resolverId: string\n /**\n * List of identifier methods supported by this resolver.\n * @type {Array<IdentifierMethod>}\n * @memberof Resolver\n */\n supportedIdentifierMethods?: Array<IdentifierMethod>\n /**\n * List of key types supported by this resolver.\n * @type {Array<KeyType>}\n * @memberof Resolver\n */\n supportedKeyTypes?: Array<KeyType>\n}\n\n/**\n * Check if a given object implements the Resolver interface.\n */\nexport function instanceOfResolver(value: object): value is Resolver {\n if (!('resolverId' in value) || value['resolverId'] === undefined) return false\n return true\n}\n\nexport function ResolverFromJSON(json: any): Resolver {\n return ResolverFromJSONTyped(json, false)\n}\n\nexport function ResolverFromJSONTyped(json: any, ignoreDiscriminator: boolean): Resolver {\n if (json == null) {\n return json\n }\n return {\n resolverId: json['resolverId'],\n supportedIdentifierMethods:\n json['supportedIdentifierMethods'] == null ? undefined : (json['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodFromJSON),\n supportedKeyTypes: json['supportedKeyTypes'] == null ? undefined : (json['supportedKeyTypes'] as Array<any>).map(KeyTypeFromJSON),\n }\n}\n\nexport function ResolverToJSON(json: any): Resolver {\n return ResolverToJSONTyped(json, false)\n}\n\nexport function ResolverToJSONTyped(value?: Resolver | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n resolverId: value['resolverId'],\n supportedIdentifierMethods:\n value['supportedIdentifierMethods'] == null ? undefined : (value['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodToJSON),\n supportedKeyTypes: value['supportedKeyTypes'] == null ? undefined : (value['supportedKeyTypes'] as Array<any>).map(KeyTypeToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Resolver } from './Resolver'\nimport { ResolverFromJSON, ResolverToJSON } from './Resolver'\n\n/**\n * Response body containing all the resolvers.\n * @export\n * @interface ListResolversResponse\n */\nexport interface ListResolversResponse {\n /**\n *\n * @type {Array<Resolver>}\n * @memberof ListResolversResponse\n */\n resolvers: Array<Resolver>\n}\n\n/**\n * Check if a given object implements the ListResolversResponse interface.\n */\nexport function instanceOfListResolversResponse(value: object): value is ListResolversResponse {\n if (!('resolvers' in value) || value['resolvers'] === undefined) return false\n return true\n}\n\nexport function ListResolversResponseFromJSON(json: any): ListResolversResponse {\n return ListResolversResponseFromJSONTyped(json, false)\n}\n\nexport function ListResolversResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListResolversResponse {\n if (json == null) {\n return json\n }\n return {\n resolvers: (json['resolvers'] as Array<any>).map(ResolverFromJSON),\n }\n}\n\nexport function ListResolversResponseToJSON(json: any): ListResolversResponse {\n return ListResolversResponseToJSONTyped(json, false)\n}\n\nexport function ListResolversResponseToJSONTyped(value?: ListResolversResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n resolvers: (value['resolvers'] as Array<any>).map(ResolverToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Mask generation function algorithm.\n * @export\n */\nexport const MaskGenFunction = {\n Mgf1: 'MGF1',\n} as const\nexport type MaskGenFunction = (typeof MaskGenFunction)[keyof typeof MaskGenFunction]\n\nexport function instanceOfMaskGenFunction(value: any): boolean {\n for (const key in MaskGenFunction) {\n if (Object.prototype.hasOwnProperty.call(MaskGenFunction, key)) {\n if (MaskGenFunction[key as keyof typeof MaskGenFunction] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function MaskGenFunctionFromJSON(json: any): MaskGenFunction {\n return MaskGenFunctionFromJSONTyped(json, false)\n}\n\nexport function MaskGenFunctionFromJSONTyped(json: any, ignoreDiscriminator: boolean): MaskGenFunction {\n return json as MaskGenFunction\n}\n\nexport function MaskGenFunctionToJSON(value?: MaskGenFunction | null): any {\n return value as any\n}\n\nexport function MaskGenFunctionToJSONTyped(value: any, ignoreDiscriminator: boolean): MaskGenFunction {\n return value as MaskGenFunction\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { DigestAlg } from './DigestAlg'\nimport { DigestAlgFromJSON, DigestAlgToJSON } from './DigestAlg'\nimport type { Curve } from './Curve'\nimport { CurveFromJSON, CurveToJSON } from './Curve'\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\n\n/**\n * Comprehensive information about a provider's cryptographic capabilities.\n * @export\n * @interface ProviderCapabilities\n */\nexport interface ProviderCapabilities {\n /**\n * List of key types supported by this provider.\n * @type {Array<KeyType>}\n * @memberof ProviderCapabilities\n */\n keyTypes?: Array<KeyType>\n /**\n * List of signature algorithms supported by this provider.\n * @type {Array<SignatureAlgorithm>}\n * @memberof ProviderCapabilities\n */\n signatureAlgorithms?: Array<SignatureAlgorithm>\n /**\n * List of digest algorithms supported by this provider.\n * @type {Array<DigestAlg>}\n * @memberof ProviderCapabilities\n */\n digests?: Array<DigestAlg>\n /**\n * List of elliptic curves supported by this provider.\n * @type {Array<Curve>}\n * @memberof ProviderCapabilities\n */\n curves?: Array<Curve>\n /**\n * List of key operations supported by this provider.\n * @type {Array<KeyOperations>}\n * @memberof ProviderCapabilities\n */\n keyOperations?: Array<KeyOperations>\n}\n\n/**\n * Check if a given object implements the ProviderCapabilities interface.\n */\nexport function instanceOfProviderCapabilities(value: object): value is ProviderCapabilities {\n return true\n}\n\nexport function ProviderCapabilitiesFromJSON(json: any): ProviderCapabilities {\n return ProviderCapabilitiesFromJSONTyped(json, false)\n}\n\nexport function ProviderCapabilitiesFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProviderCapabilities {\n if (json == null) {\n return json\n }\n return {\n keyTypes: json['keyTypes'] == null ? undefined : (json['keyTypes'] as Array<any>).map(KeyTypeFromJSON),\n signatureAlgorithms:\n json['signatureAlgorithms'] == null ? undefined : (json['signatureAlgorithms'] as Array<any>).map(SignatureAlgorithmFromJSON),\n digests: json['digests'] == null ? undefined : (json['digests'] as Array<any>).map(DigestAlgFromJSON),\n curves: json['curves'] == null ? undefined : (json['curves'] as Array<any>).map(CurveFromJSON),\n keyOperations: json['keyOperations'] == null ? undefined : (json['keyOperations'] as Array<any>).map(KeyOperationsFromJSON),\n }\n}\n\nexport function ProviderCapabilitiesToJSON(json: any): ProviderCapabilities {\n return ProviderCapabilitiesToJSONTyped(json, false)\n}\n\nexport function ProviderCapabilitiesToJSONTyped(value?: ProviderCapabilities | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyTypes: value['keyTypes'] == null ? undefined : (value['keyTypes'] as Array<any>).map(KeyTypeToJSON),\n signatureAlgorithms:\n value['signatureAlgorithms'] == null ? undefined : (value['signatureAlgorithms'] as Array<any>).map(SignatureAlgorithmToJSON),\n digests: value['digests'] == null ? undefined : (value['digests'] as Array<any>).map(DigestAlgToJSON),\n curves: value['curves'] == null ? undefined : (value['curves'] as Array<any>).map(CurveToJSON),\n keyOperations: value['keyOperations'] == null ? undefined : (value['keyOperations'] as Array<any>).map(KeyOperationsToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\nimport type { IdentifierMethod } from './IdentifierMethod'\nimport { IdentifierMethodFromJSON, IdentifierMethodToJSON } from './IdentifierMethod'\n\n/**\n * Request body for resolving a public key.\n * @export\n * @interface ResolvePublicKey\n */\nexport interface ResolvePublicKey {\n /**\n *\n * @type {KeyInfo}\n * @memberof ResolvePublicKey\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {IdentifierMethod}\n * @memberof ResolvePublicKey\n */\n identifierMethod?: IdentifierMethod\n /**\n * Optional array of trusted certificates (base64-encoded) that may be used in the resolution process.\n * @type {Array<string>}\n * @memberof ResolvePublicKey\n */\n trustedCerts?: Array<string>\n /**\n * Optional boolean indicating whether the X.509 certificate chain should be verified.\n * @type {boolean}\n * @memberof ResolvePublicKey\n */\n verifyX509CertificateChain?: boolean\n}\n\n/**\n * Check if a given object implements the ResolvePublicKey interface.\n */\nexport function instanceOfResolvePublicKey(value: object): value is ResolvePublicKey {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function ResolvePublicKeyFromJSON(json: any): ResolvePublicKey {\n return ResolvePublicKeyFromJSONTyped(json, false)\n}\n\nexport function ResolvePublicKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResolvePublicKey {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n identifierMethod: json['identifierMethod'] == null ? undefined : IdentifierMethodFromJSON(json['identifierMethod']),\n trustedCerts: json['trustedCerts'] == null ? undefined : json['trustedCerts'],\n verifyX509CertificateChain: json['verifyX509CertificateChain'] == null ? undefined : json['verifyX509CertificateChain'],\n }\n}\n\nexport function ResolvePublicKeyToJSON(json: any): ResolvePublicKey {\n return ResolvePublicKeyToJSONTyped(json, false)\n}\n\nexport function ResolvePublicKeyToJSONTyped(value?: ResolvePublicKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n identifierMethod: IdentifierMethodToJSON(value['identifierMethod']),\n trustedCerts: value['trustedCerts'],\n verifyX509CertificateChain: value['verifyX509CertificateChain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Represents a resolved cryptographic key information where the key is guaranteed to be present and resolved, providing concrete access to the key.\n * @export\n * @interface ResolvedKeyInfo\n */\nexport interface ResolvedKeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof ResolvedKeyInfo\n */\n key: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof ResolvedKeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof ResolvedKeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof ResolvedKeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n alias?: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n providerId?: string\n /**\n *\n * @type {KeyType}\n * @memberof ResolvedKeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof ResolvedKeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof ResolvedKeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the ResolvedKeyInfo interface.\n */\nexport function instanceOfResolvedKeyInfo(value: object): value is ResolvedKeyInfo {\n if (!('key' in value) || value['key'] === undefined) return false\n return true\n}\n\nexport function ResolvedKeyInfoFromJSON(json: any): ResolvedKeyInfo {\n return ResolvedKeyInfoFromJSONTyped(json, false)\n}\n\nexport function ResolvedKeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResolvedKeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'] == null ? undefined : json['alias'],\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function ResolvedKeyInfoToJSON(json: any): ResolvedKeyInfo {\n return ResolvedKeyInfoToJSONTyped(json, false)\n}\n\nexport function ResolvedKeyInfoToJSONTyped(value?: ResolvedKeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\n\n/**\n * A cryptographic signature including the signature value and related information.\n * @export\n * @interface Signature\n */\nexport interface Signature {\n /**\n * The signature value, encoded as a base64 string.\n * @type {string}\n * @memberof Signature\n */\n value: string\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof Signature\n */\n algorithm: SignatureAlgorithm\n /**\n *\n * @type {KeyInfo}\n * @memberof Signature\n */\n keyInfo?: KeyInfo\n /**\n * Additional metadata included in the signature.\n * @type {{ [key: string]: any; }}\n * @memberof Signature\n */\n metadata?: { [key: string]: any }\n}\n\n/**\n * Check if a given object implements the Signature interface.\n */\nexport function instanceOfSignature(value: object): value is Signature {\n if (!('value' in value) || value['value'] === undefined) return false\n if (!('algorithm' in value) || value['algorithm'] === undefined) return false\n return true\n}\n\nexport function SignatureFromJSON(json: any): Signature {\n return SignatureFromJSONTyped(json, false)\n}\n\nexport function SignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): Signature {\n if (json == null) {\n return json\n }\n return {\n value: json['value'],\n algorithm: SignatureAlgorithmFromJSON(json['algorithm']),\n keyInfo: json['keyInfo'] == null ? undefined : KeyInfoFromJSON(json['keyInfo']),\n metadata: json['metadata'] == null ? undefined : json['metadata'],\n }\n}\n\nexport function SignatureToJSON(json: any): Signature {\n return SignatureToJSONTyped(json, false)\n}\n\nexport function SignatureToJSONTyped(value?: Signature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n value: value['value'],\n algorithm: SignatureAlgorithmToJSON(value['algorithm']),\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n metadata: value['metadata'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Signature } from './Signature'\nimport { SignatureFromJSON, SignatureToJSON } from './Signature'\n\n/**\n * The output of a signature creation operation.\n * @export\n * @interface SignOutput\n */\nexport interface SignOutput {\n /**\n *\n * @type {Signature}\n * @memberof SignOutput\n */\n signature: Signature\n /**\n * Additional metadata included in the signature output.\n * @type {{ [key: string]: any; }}\n * @memberof SignOutput\n */\n metadata?: { [key: string]: any }\n}\n\n/**\n * Check if a given object implements the SignOutput interface.\n */\nexport function instanceOfSignOutput(value: object): value is SignOutput {\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function SignOutputFromJSON(json: any): SignOutput {\n return SignOutputFromJSONTyped(json, false)\n}\n\nexport function SignOutputFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignOutput {\n if (json == null) {\n return json\n }\n return {\n signature: SignatureFromJSON(json['signature']),\n metadata: json['metadata'] == null ? undefined : json['metadata'],\n }\n}\n\nexport function SignOutputToJSON(json: any): SignOutput {\n return SignOutputToJSONTyped(json, false)\n}\n\nexport function SignOutputToJSONTyped(value?: SignOutput | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n signature: SignatureToJSON(value['signature']),\n metadata: value['metadata'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ResolvedKeyInfo } from './ResolvedKeyInfo'\nimport { ResolvedKeyInfoFromJSON, ResolvedKeyInfoToJSON } from './ResolvedKeyInfo'\n\n/**\n * Request body for storing a key.\n * @export\n * @interface StoreKey\n */\nexport interface StoreKey {\n /**\n *\n * @type {ResolvedKeyInfo}\n * @memberof StoreKey\n */\n keyInfo: ResolvedKeyInfo\n /**\n * X.509 certificate chain as base64-encoded DER certificates.\n * @type {Array<string>}\n * @memberof StoreKey\n */\n certChain?: Array<string>\n}\n\n/**\n * Check if a given object implements the StoreKey interface.\n */\nexport function instanceOfStoreKey(value: object): value is StoreKey {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function StoreKeyFromJSON(json: any): StoreKey {\n return StoreKeyFromJSONTyped(json, false)\n}\n\nexport function StoreKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): StoreKey {\n if (json == null) {\n return json\n }\n return {\n keyInfo: ResolvedKeyInfoFromJSON(json['keyInfo']),\n certChain: json['certChain'] == null ? undefined : json['certChain'],\n }\n}\n\nexport function StoreKeyToJSON(json: any): StoreKey {\n return StoreKeyToJSONTyped(json, false)\n}\n\nexport function StoreKeyToJSONTyped(value?: StoreKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: ResolvedKeyInfoToJSON(value['keyInfo']),\n certChain: value['certChain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ManagedKeyInfo } from './ManagedKeyInfo'\nimport { ManagedKeyInfoFromJSON, ManagedKeyInfoToJSON } from './ManagedKeyInfo'\n\n/**\n * Response body containing a stored key.\n * @export\n * @interface StoreKeyResponse\n */\nexport interface StoreKeyResponse {\n /**\n *\n * @type {ManagedKeyInfo}\n * @memberof StoreKeyResponse\n */\n keyInfo: ManagedKeyInfo\n}\n\n/**\n * Check if a given object implements the StoreKeyResponse interface.\n */\nexport function instanceOfStoreKeyResponse(value: object): value is StoreKeyResponse {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function StoreKeyResponseFromJSON(json: any): StoreKeyResponse {\n return StoreKeyResponseFromJSONTyped(json, false)\n}\n\nexport function StoreKeyResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StoreKeyResponse {\n if (json == null) {\n return json\n }\n return {\n keyInfo: ManagedKeyInfoFromJSON(json['keyInfo']),\n }\n}\n\nexport function StoreKeyResponseToJSON(json: any): StoreKeyResponse {\n return StoreKeyResponseToJSONTyped(json, false)\n}\n\nexport function StoreKeyResponseToJSONTyped(value?: StoreKeyResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: ManagedKeyInfoToJSON(value['keyInfo']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AwsKmsSetting } from './AwsKmsSetting'\nimport { AwsKmsSettingFromJSON, AwsKmsSettingToJSON } from './AwsKmsSetting'\nimport type { AzureKeyVaultSetting } from './AzureKeyVaultSetting'\nimport { AzureKeyVaultSettingFromJSON, AzureKeyVaultSettingToJSON } from './AzureKeyVaultSetting'\n\n/**\n * Request body for updating an existing Key Provider instance.\n * @export\n * @interface UpdateKeyProvider\n */\nexport interface UpdateKeyProvider {\n /**\n *\n * @type {AzureKeyVaultSetting}\n * @memberof UpdateKeyProvider\n */\n azureKeyvaultSettings?: AzureKeyVaultSetting\n /**\n *\n * @type {AwsKmsSetting}\n * @memberof UpdateKeyProvider\n */\n awsKmsSettings?: AwsKmsSetting\n /**\n * Whether to enable caching for keys retrieved from this provider.\n * @type {boolean}\n * @memberof UpdateKeyProvider\n */\n cacheEnabled?: boolean\n /**\n * Time-to-live for cached keys in seconds (if cacheEnabled is true).\n * @type {number}\n * @memberof UpdateKeyProvider\n */\n cacheTTLInSeconds?: number\n}\n\n/**\n * Check if a given object implements the UpdateKeyProvider interface.\n */\nexport function instanceOfUpdateKeyProvider(value: object): value is UpdateKeyProvider {\n return true\n}\n\nexport function UpdateKeyProviderFromJSON(json: any): UpdateKeyProvider {\n return UpdateKeyProviderFromJSONTyped(json, false)\n}\n\nexport function UpdateKeyProviderFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateKeyProvider {\n if (json == null) {\n return json\n }\n return {\n azureKeyvaultSettings: json['azureKeyvaultSettings'] == null ? undefined : AzureKeyVaultSettingFromJSON(json['azureKeyvaultSettings']),\n awsKmsSettings: json['awsKmsSettings'] == null ? undefined : AwsKmsSettingFromJSON(json['awsKmsSettings']),\n cacheEnabled: json['cacheEnabled'] == null ? undefined : json['cacheEnabled'],\n cacheTTLInSeconds: json['cacheTTLInSeconds'] == null ? undefined : json['cacheTTLInSeconds'],\n }\n}\n\nexport function UpdateKeyProviderToJSON(json: any): UpdateKeyProvider {\n return UpdateKeyProviderToJSONTyped(json, false)\n}\n\nexport function UpdateKeyProviderToJSONTyped(value?: UpdateKeyProvider | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n azureKeyvaultSettings: AzureKeyVaultSettingToJSON(value['azureKeyvaultSettings']),\n awsKmsSettings: AwsKmsSettingToJSON(value['awsKmsSettings']),\n cacheEnabled: value['cacheEnabled'],\n cacheTTLInSeconds: value['cacheTTLInSeconds'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\n\n/**\n * Request body for verifying a raw signature.\n * @export\n * @interface VerifyRawSignature\n */\nexport interface VerifyRawSignature {\n /**\n *\n * @type {KeyInfo}\n * @memberof VerifyRawSignature\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {string}\n * @memberof VerifyRawSignature\n */\n input: string\n /**\n *\n * @type {string}\n * @memberof VerifyRawSignature\n */\n signature: string\n}\n\n/**\n * Check if a given object implements the VerifyRawSignature interface.\n */\nexport function instanceOfVerifyRawSignature(value: object): value is VerifyRawSignature {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n if (!('input' in value) || value['input'] === undefined) return false\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function VerifyRawSignatureFromJSON(json: any): VerifyRawSignature {\n return VerifyRawSignatureFromJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): VerifyRawSignature {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n input: json['input'],\n signature: json['signature'],\n }\n}\n\nexport function VerifyRawSignatureToJSON(json: any): VerifyRawSignature {\n return VerifyRawSignatureToJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureToJSONTyped(value?: VerifyRawSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n input: value['input'],\n signature: value['signature'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Response body containing the details of the signature verification.\n * @export\n * @interface VerifyRawSignatureResponse\n */\nexport interface VerifyRawSignatureResponse {\n /**\n * Indicates whether the signature is valid or not.\n * @type {boolean}\n * @memberof VerifyRawSignatureResponse\n */\n isValid: boolean\n}\n\n/**\n * Check if a given object implements the VerifyRawSignatureResponse interface.\n */\nexport function instanceOfVerifyRawSignatureResponse(value: object): value is VerifyRawSignatureResponse {\n if (!('isValid' in value) || value['isValid'] === undefined) return false\n return true\n}\n\nexport function VerifyRawSignatureResponseFromJSON(json: any): VerifyRawSignatureResponse {\n return VerifyRawSignatureResponseFromJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): VerifyRawSignatureResponse {\n if (json == null) {\n return json\n }\n return {\n isValid: json['isValid'],\n }\n}\n\nexport function VerifyRawSignatureResponseToJSON(json: any): VerifyRawSignatureResponse {\n return VerifyRawSignatureResponseToJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureResponseToJSONTyped(value?: VerifyRawSignatureResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n isValid: value['isValid'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { SignInput } from './SignInput'\nimport { SignInputFromJSON, SignInputToJSON } from './SignInput'\nimport type { Signature } from './Signature'\nimport { SignatureFromJSON, SignatureToJSON } from './Signature'\n\n/**\n * Request body for verifying a digital signature.\n * @export\n * @interface VerifySimpleSignature\n */\nexport interface VerifySimpleSignature {\n /**\n *\n * @type {SignInput}\n * @memberof VerifySimpleSignature\n */\n signInput: SignInput\n /**\n *\n * @type {Signature}\n * @memberof VerifySimpleSignature\n */\n signature: Signature\n}\n\n/**\n * Check if a given object implements the VerifySimpleSignature interface.\n */\nexport function instanceOfVerifySimpleSignature(value: object): value is VerifySimpleSignature {\n if (!('signInput' in value) || value['signInput'] === undefined) return false\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function VerifySimpleSignatureFromJSON(json: any): VerifySimpleSignature {\n return VerifySimpleSignatureFromJSONTyped(json, false)\n}\n\nexport function VerifySimpleSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): VerifySimpleSignature {\n if (json == null) {\n return json\n }\n return {\n signInput: SignInputFromJSON(json['signInput']),\n signature: SignatureFromJSON(json['signature']),\n }\n}\n\nexport function VerifySimpleSignatureToJSON(json: any): VerifySimpleSignature {\n return VerifySimpleSignatureToJSONTyped(json, false)\n}\n\nexport function VerifySimpleSignatureToJSONTyped(value?: VerifySimpleSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n signInput: SignInputToJSON(value['signInput']),\n signature: SignatureToJSON(value['signature']),\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AAAA,EACE,gBAAkB;AAAA,IAChB,YAAc;AAAA,MACZ,SAAW;AAAA,QACT,iCAAmC;AAAA,UACjC,MAAQ;AAAA,UACR,sBAAwB;AAAA,UACxB,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,OAAS;AAAA,cACP,MAAQ;AAAA,YACV;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,SAAS,SAAS;AAAA,QACjC;AAAA,QACA,SAAW;AAAA,UACT,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,YACV;AAAA,YACA,oBAAsB;AAAA,cACpB,MAAQ;AAAA,YACV;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,YACV;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,YACA,OAAS;AAAA,cACP,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,aAAe;AAAA,cACb,MAAQ;AAAA,YACV;AAAA,YACA,MAAQ;AAAA,cACN,MAAQ;AAAA,cACR,sBAAwB;AAAA,gBACtB,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,UACF;AAAA,UACA,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,KAAO;AAAA,UACL,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,KAAO;AAAA,cACL,MAAQ;AAAA,YACV;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,YACV;AAAA,YACA,QAAU;AAAA,cACR,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,YACV;AAAA,YACA,GAAK;AAAA,cACH,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,GAAK;AAAA,cACH,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,GAAK;AAAA,cACH,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,GAAK;AAAA,cACH,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,GAAK;AAAA,cACH,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,GAAK;AAAA,cACH,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,GAAK;AAAA,cACH,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,IAAM;AAAA,cACJ,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,IAAM;AAAA,cACJ,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,IAAM;AAAA,cACJ,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,GAAK;AAAA,cACH,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,UACF;AAAA,UACA,UAAY,CAAC,KAAK;AAAA,UAClB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,YAAc;AAAA,UACZ,MAAQ;AAAA,UACR,MAAQ,CAAC,MAAM,OAAO,OAAO,KAAK;AAAA,UAClC,aAAe;AAAA,QACjB;AAAA,QACA,QAAU;AAAA,UACR,MAAQ;AAAA,UACR,MAAQ,CAAC,OAAO,KAAK;AAAA,UACrB,aAAe;AAAA,QACjB;AAAA,QACA,eAAiB;AAAA,UACf,MAAQ;AAAA,UACR,MAAQ,CAAC,QAAQ,UAAU,WAAW,WAAW,WAAW,aAAa,aAAa,YAAY;AAAA,UAClG,aAAe;AAAA,QACjB;AAAA,QACA,OAAS;AAAA,UACP,MAAQ;AAAA,UACR,MAAQ,CAAC,SAAS,SAAS,SAAS,aAAa,WAAW,SAAS,UAAU,MAAM;AAAA,UACrF,aAAe;AAAA,QACjB;AAAA,QACA,oBAAsB;AAAA,UACpB,MAAQ;AAAA,UACR,MAAQ;AAAA,YACN;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,UACA,aAAe;AAAA,QACjB;AAAA,QACA,eAAiB;AAAA,UACf,MAAQ;AAAA,UACR,MAAQ,CAAC,UAAU,SAAS;AAAA,UAC5B,aAAe;AAAA,QACjB;AAAA,QACA,SAAW;AAAA,UACT,MAAQ;AAAA,UACR,MAAQ,CAAC,OAAO,MAAM,KAAK;AAAA,UAC3B,aAAe;AAAA,QACjB;AAAA,QACA,aAAe;AAAA,UACb,MAAQ;AAAA,UACR,MAAQ,CAAC,QAAQ,MAAM;AAAA,UACvB,aAAe;AAAA,QACjB;AAAA,QACA,4BAA8B;AAAA,UAC5B,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,WAAa;AAAA,cACX,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,UACF;AAAA,UACA,UAAY,CAAC,WAAW;AAAA,UACxB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,wBAA0B;AAAA,UACxB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,YAAY;AAAA,UACzB,sBAAwB;AAAA,QAC1B;AAAA,QACA,0BAA4B;AAAA,UAC1B,MAAQ;AAAA,UACR,sBAAwB;AAAA,UACxB,YAAc;AAAA,YACZ,OAAS;AAAA,cACP,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,YACV;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,QACF;AAAA,QACA,qBAAuB;AAAA,UACrB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,SAAS;AAAA,UACtB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,gBAAkB;AAAA,UAChB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,OAAS;AAAA,cACP,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,MAAQ;AAAA,cACN,MAAQ;AAAA,YACV;AAAA,YACA,MAAQ;AAAA,cACN,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,cAAc,SAAS,QAAQ,MAAM;AAAA,UAClD,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,aAAe;AAAA,UACb,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,gBAAkB;AAAA,cAChB,MAAQ;AAAA,YACV;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,eAAe;AAAA,UAC5B,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,SAAW;AAAA,UACT,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,KAAO;AAAA,cACL,MAAQ;AAAA,YACV;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,QAAU;AAAA,cACR,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,YACA,QAAU;AAAA,cACR,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,GAAK;AAAA,cACH,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,GAAK;AAAA,cACH,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,GAAK;AAAA,cACH,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,UACF;AAAA,UACA,UAAY,CAAC,KAAK;AAAA,UAClB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,aAAe;AAAA,UACb,MAAQ;AAAA,UACR,MAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;AAAA,UACnB,aAAe;AAAA,QACjB;AAAA,QACA,aAAe;AAAA,UACb,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,YACA,WAAa;AAAA,cACX,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,WAAW;AAAA,UACxB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,qBAAuB;AAAA,UACrB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,YAAY;AAAA,UACzB,sBAAwB;AAAA,QAC1B;AAAA,QACA,gBAAkB;AAAA,UAChB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,SAAS;AAAA,UACtB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,gBAAkB;AAAA,UAChB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,YACV;AAAA,YACA,oBAAsB;AAAA,cACpB,MAAQ;AAAA,YACV;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,YACV;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,YACA,OAAS;AAAA,cACP,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,aAAe;AAAA,cACb,MAAQ;AAAA,YACV;AAAA,YACA,MAAQ;AAAA,cACN,MAAQ;AAAA,cACR,sBAAwB;AAAA,gBACtB,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,UACF;AAAA,UACA,UAAY,CAAC,OAAO,SAAS,YAAY;AAAA,UACzC,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,6BAA+B;AAAA,UAC7B,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,YAAY;AAAA,UACzB,sBAAwB;AAAA,QAC1B;AAAA,QACA,qBAAuB;AAAA,UACrB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,YAAc;AAAA,cACZ,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,MAAQ;AAAA,cACN,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,cAAc,MAAM;AAAA,UACjC,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,iBAAmB;AAAA,UACjB,MAAQ;AAAA,UACR,MAAQ,CAAC,YAAY,kBAAkB,SAAS;AAAA,UAChD,aAAe;AAAA,QACjB;AAAA,QACA,0BAA4B;AAAA,UAC1B,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,YAAY;AAAA,UACzB,sBAAwB;AAAA,QAC1B;AAAA,QACA,UAAY;AAAA,UACV,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,YAAc;AAAA,cACZ,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,4BAA8B;AAAA,cAC5B,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,YACA,mBAAqB;AAAA,cACnB,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,UACF;AAAA,UACA,UAAY,CAAC,YAAY;AAAA,UACzB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,kBAAoB;AAAA,UAClB,MAAQ;AAAA,UACR,MAAQ,CAAC,OAAO,OAAO,YAAY,OAAO,KAAK;AAAA,UAC/C,aAAe;AAAA,QACjB;AAAA,QACA,kCAAoC;AAAA,UAClC,MAAQ;AAAA,UACR,sBAAwB;AAAA,UACxB,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,OAAS;AAAA,cACP,MAAQ;AAAA,YACV;AAAA,YACA,WAAa;AAAA,cACX,MAAQ;AAAA,YACV;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,SAAS,WAAW,WAAW;AAAA,QAC9C;AAAA,QACA,4BAA8B;AAAA,UAC5B,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,UACF;AAAA,UACA,UAAY,CAAC,SAAS;AAAA,UACtB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,+BAAiC;AAAA,UAC/B,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,sBAAwB;AAAA,QAC1B;AAAA,QACA,0BAA4B;AAAA,UAC1B,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,WAAa;AAAA,cACX,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA,UAAY,CAAC,WAAW;AAAA,UACxB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,aAAe;AAAA,UACb,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,YAAc;AAAA,cACZ,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,MAAQ;AAAA,cACN,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,cAAc,MAAM;AAAA,UACjC,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,uBAAyB;AAAA,UACvB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,sBAAwB;AAAA,QAC1B;AAAA,QACA,kBAAoB;AAAA,UAClB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,UAAY;AAAA,cACV,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA,UAAY,CAAC,UAAU;AAAA,UACvB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,4BAA8B;AAAA,UAC5B,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,sBAAwB;AAAA,QAC1B;AAAA,QACA,uBAAyB;AAAA,UACvB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,WAAa;AAAA,cACX,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,UACA,UAAY,CAAC,WAAW;AAAA,UACxB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,gCAAkC;AAAA,UAChC,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,cAAc,YAAY;AAAA,UACvC,sBAAwB;AAAA,QAC1B;AAAA,QACA,kCAAoC;AAAA,UAClC,MAAQ;AAAA,UACR,sBAAwB;AAAA,UACxB,YAAc;AAAA,YACZ,OAAS;AAAA,cACP,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,YACV;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,YACV;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,YAAY;AAAA,QAC3B;AAAA,QACA,6BAA+B;AAAA,UAC7B,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,cAAc,YAAY;AAAA,UACvC,sBAAwB;AAAA,QAC1B;AAAA,QACA,+BAAiC;AAAA,UAC/B,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,YAAY;AAAA,UACzB,sBAAwB;AAAA,QAC1B;AAAA,QACA,+BAAiC;AAAA,UAC/B,MAAQ;AAAA,UACR,sBAAwB;AAAA,UACxB,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,WAAa;AAAA,cACX,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,WAAW,YAAY;AAAA,QACtC;AAAA,QACA,iBAAmB;AAAA,UACjB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,YACV;AAAA,YACA,oBAAsB;AAAA,cACpB,MAAQ;AAAA,YACV;AAAA,YACA,eAAiB;AAAA,cACf,MAAQ;AAAA,YACV;AAAA,YACA,KAAO;AAAA,cACL,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,YACA,OAAS;AAAA,cACP,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,aAAe;AAAA,cACb,MAAQ;AAAA,YACV;AAAA,YACA,MAAQ;AAAA,cACN,MAAQ;AAAA,cACR,sBAAwB;AAAA,gBACtB,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,UACF;AAAA,UACA,UAAY,CAAC,KAAK;AAAA,UAClB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,kBAAoB;AAAA,UAClB,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,SAAS;AAAA,UACtB,sBAAwB;AAAA,UACxB,aAAe;AAAA,QACjB;AAAA,QACA,yBAA2B;AAAA,UACzB,MAAQ;AAAA,UACR,sBAAwB;AAAA,UACxB,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,kBAAoB;AAAA,cAClB,MAAQ;AAAA,YACV;AAAA,YACA,cAAgB;AAAA,cACd,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,YACA,4BAA8B;AAAA,cAC5B,MAAQ;AAAA,cACR,aAAe;AAAA,YACjB;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,YAAc;AAAA,cACZ,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,WAAW,YAAY;AAAA,QACtC;AAAA,QACA,QAAU;AAAA,UACR,MAAQ;AAAA,UACR,YAAc;AAAA,YACZ,QAAU;AAAA,cACR,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,QAAQ;AAAA,UACrB,sBAAwB;AAAA,YACtB,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,uBAAyB;AAAA,UACvB,MAAQ;AAAA,UACR,sBAAwB;AAAA,UACxB,YAAc;AAAA,YACZ,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,YACA,WAAa;AAAA,cACX,MAAQ;AAAA,cACR,OAAS;AAAA,gBACP,MAAQ;AAAA,cACV;AAAA,cACA,aAAe;AAAA,YACjB;AAAA,YACA,SAAW;AAAA,cACT,MAAQ;AAAA,YACV;AAAA,UACF;AAAA,UACA,UAAY,CAAC,SAAS;AAAA,QACxB;AAAA,MACF;AAAA,MACA,SAAW;AAAA,QACT,6BAA+B;AAAA,UAC7B,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,oBAAsB;AAAA,UACpB,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,sBAAwB;AAAA,UACtB,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,iBAAmB;AAAA,UACjB,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,yBAA2B;AAAA,UACzB,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,sBAAwB;AAAA,UACtB,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,8BAAgC;AAAA,UAC9B,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,2BAA6B;AAAA,UAC3B,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,mBAAqB;AAAA,UACnB,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,wBAA0B;AAAA,UACxB,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,4BAA8B;AAAA,UAC5B,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,8BAAgC;AAAA,UAC9B,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,yBAA2B;AAAA,UACzB,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,2BAA6B;AAAA,UAC3B,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,2BAA6B;AAAA,UAC3B,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,qBAAuB;AAAA,UACrB,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,QACA,mBAAqB;AAAA,UACnB,aAAe;AAAA,UACf,WAAa;AAAA,YACX,MAAQ;AAAA,UACV;AAAA,UACA,YAAc;AAAA,YACZ,MAAQ;AAAA,UACV;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AC9gCA,uBAAwB;AAExB,yBAAsB;;;ACgBf,IAAMA,aAAa;EACxBC,OAAO;EACPC,eAAe;EACfC,eAAe;AACjB;AAGO,SAASC,qBAAqBC,OAAU;AAC7C,aAAWC,OAAON,YAAY;AAC5B,QAAIO,OAAOC,UAAUC,eAAeC,KAAKV,YAAYM,GAAAA,GAAM;AACzD,UAAIN,WAAWM,GAAAA,MAAoCD,OAAO;AACxD,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,mBAAmBC,MAAS;AAC1C,SAAOC,wBAAwBD,MAAM,KAAA;AACvC;AAFgBD;AAIT,SAASE,wBAAwBD,MAAWE,qBAA4B;AAC7E,SAAOF;AACT;AAFgBC;AAIT,SAASE,iBAAiBV,OAAyB;AACxD,SAAOA;AACT;AAFgBU;AAIT,SAASC,sBAAsBX,OAAYS,qBAA4B;AAC5E,SAAOT;AACT;AAFgBW;;;ACIT,SAASC,mCAAmCC,OAAa;AAC9D,MAAI,EAAE,aAAaA,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,MAAI,EAAE,qBAAqBD,UAAUA,MAAM,iBAAA,MAAuBC,OAAW,QAAO;AACpF,SAAO;AACT;AAJgBF;AAMT,SAASG,iCAAiCC,MAAS;AACxD,SAAOC,sCAAsCD,MAAM,KAAA;AACrD;AAFgBD;AAIT,SAASE,sCAAsCD,MAAWE,qBAA4B;AAC3F,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,SAASH,KAAK,SAAA;IACdI,iBAAiBJ,KAAK,iBAAA;IACtBK,YAAYL,KAAK,YAAA,KAAiB,OAAOF,SAAYE,KAAK,YAAA;IAC1DM,YAAYN,KAAK,YAAA,KAAiB,OAAOF,SAAYS,mBAAmBP,KAAK,YAAA,CAAa;EAC5F;AACF;AAVgBC;AAYT,SAASO,+BAA+BR,MAAS;AACtD,SAAOS,oCAAoCT,MAAM,KAAA;AACnD;AAFgBQ;AAIT,SAASC,oCAAoCZ,OAAyCK,sBAA+B,OAAK;AAC/H,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,SAASN,MAAM,SAAA;IACfO,iBAAiBP,MAAM,iBAAA;IACvBQ,YAAYR,MAAM,YAAA;IAClBS,YAAYI,iBAAiBb,MAAM,YAAA,CAAa;EAClD;AACF;AAXgBY;;;ACzCT,SAASE,iCAAiCC,OAAa;AAC5D,SAAO;AACT;AAFgBD;AAIT,SAASE,+BAA+BC,MAAS;AACtD,SAAOC,oCAAoCD,MAAM,KAAA;AACnD;AAFgBD;AAIT,SAASE,oCAAoCD,MAAWE,qBAA4B;AACzF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,2BAA2BH,KAAK,2BAAA,KAAgC,OAAOI,SAAYJ,KAAK,2BAAA;IACxFK,uBAAuBL,KAAK,uBAAA,KAA4B,OAAOI,SAAYJ,KAAK,uBAAA;EAClF;AACF;AARgBC;AAUT,SAASK,6BAA6BN,MAAS;AACpD,SAAOO,kCAAkCP,MAAM,KAAA;AACjD;AAFgBM;AAIT,SAASC,kCAAkCT,OAAuCI,sBAA+B,OAAK;AAC3H,MAAIJ,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLK,2BAA2BL,MAAM,2BAAA;IACjCO,uBAAuBP,MAAM,uBAAA;EAC/B;AACF;AATgBS;;;ACPT,SAASC,+BAA+BC,OAAa;AAC1D,MAAI,EAAE,eAAeA,UAAUA,MAAM,WAAA,MAAiBC,OAAW,QAAO;AACxE,MAAI,EAAE,qBAAqBD,UAAUA,MAAM,iBAAA,MAAuBC,OAAW,QAAO;AACpF,SAAO;AACT;AAJgBF;AAMT,SAASG,6BAA6BC,MAAS;AACpD,SAAOC,kCAAkCD,MAAM,KAAA;AACjD;AAFgBD;AAIT,SAASE,kCAAkCD,MAAWE,qBAA4B;AACvF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,WAAWH,KAAK,WAAA;IAChBI,iBAAiBJ,KAAK,iBAAA;IACtBK,cAAcL,KAAK,cAAA,KAAmB,OAAOF,SAAYE,KAAK,cAAA;IAC9DM,YAAYN,KAAK,YAAA,KAAiB,OAAOF,SAAYS,mBAAmBP,KAAK,YAAA,CAAa;EAC5F;AACF;AAVgBC;AAYT,SAASO,2BAA2BR,MAAS;AAClD,SAAOS,gCAAgCT,MAAM,KAAA;AAC/C;AAFgBQ;AAIT,SAASC,gCAAgCZ,OAAqCK,sBAA+B,OAAK;AACvH,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,WAAWN,MAAM,WAAA;IACjBO,iBAAiBP,MAAM,iBAAA;IACvBQ,cAAcR,MAAM,cAAA;IACpBS,YAAYI,iBAAiBb,MAAM,YAAA,CAAa;EAClD;AACF;AAXgBY;;;AC1BT,SAASE,yCAAyCC,OAAa;AACpE,MAAI,EAAE,aAAaA,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,MAAI,EAAE,qBAAqBD,UAAUA,MAAM,iBAAA,MAAuBC,OAAW,QAAO;AACpF,MAAI,EAAE,sBAAsBD,UAAUA,MAAM,kBAAA,MAAwBC,OAAW,QAAO;AACtF,SAAO;AACT;AALgBF;AAOT,SAASG,uCAAuCC,MAAS;AAC9D,SAAOC,4CAA4CD,MAAM,KAAA;AAC3D;AAFgBD;AAIT,SAASE,4CAA4CD,MAAWE,qBAA4B;AACjG,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,SAASH,KAAK,SAAA;IACdI,iBAAiBJ,KAAK,iBAAA;IACtBK,kBAAkBL,KAAK,kBAAA;IACvBM,YAAYN,KAAK,YAAA,KAAiB,OAAOF,SAAYS,mBAAmBP,KAAK,YAAA,CAAa;EAC5F;AACF;AAVgBC;AAYT,SAASO,qCAAqCR,MAAS;AAC5D,SAAOS,0CAA0CT,MAAM,KAAA;AACzD;AAFgBQ;AAIT,SAASC,0CAA0CZ,OAA+CK,sBAA+B,OAAK;AAC3I,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,SAASN,MAAM,SAAA;IACfO,iBAAiBP,MAAM,iBAAA;IACvBQ,kBAAkBR,MAAM,kBAAA;IACxBS,YAAYI,iBAAiBb,MAAM,YAAA,CAAa;EAClD;AACF;AAXgBY;;;ACTT,SAASE,wBAAwBC,OAAa;AACnD,MAAI,EAAE,YAAYA,UAAUA,MAAM,QAAA,MAAcC,OAAW,QAAO;AAClE,SAAO;AACT;AAHgBF;AAKT,SAASG,sBAAsBC,MAAS;AAC7C,SAAOC,2BAA2BD,MAAM,KAAA;AAC1C;AAFgBD;AAIT,SAASE,2BAA2BD,MAAWE,qBAA4B;AAChF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,QAAQH,KAAK,QAAA;IACbI,mBAAmBJ,KAAK,mBAAA,KAAwB,OAAOF,SAAYO,6BAA6BL,KAAK,mBAAA,CAAoB;IACzHM,uBAAuBN,KAAK,uBAAA,KAA4B,OAAOF,SAAYS,iCAAiCP,KAAK,uBAAA,CAAwB;IACzIQ,6BACER,KAAK,6BAAA,KAAkC,OAAOF,SAAYW,uCAAuCT,KAAK,6BAAA,CAA8B;IACtIU,aAAaV,KAAK,aAAA,KAAkB,OAAOF,SAAYE,KAAK,aAAA;IAC5DW,qBAAqBX,KAAK,qBAAA,KAA0B,OAAOF,SAAYc,+BAA+BZ,KAAK,qBAAA,CAAsB;EACnI;AACF;AAbgBC;AAeT,SAASY,oBAAoBb,MAAS;AAC3C,SAAOc,yBAAyBd,MAAM,KAAA;AACxC;AAFgBa;AAIT,SAASC,yBAAyBjB,OAA8BK,sBAA+B,OAAK;AACzG,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,QAAQN,MAAM,QAAA;IACdO,mBAAmBW,2BAA2BlB,MAAM,mBAAA,CAAoB;IACxES,uBAAuBU,+BAA+BnB,MAAM,uBAAA,CAAwB;IACpFW,6BAA6BS,qCAAqCpB,MAAM,6BAAA,CAA8B;IACtGa,aAAab,MAAM,aAAA;IACnBc,qBAAqBO,6BAA6BrB,MAAM,qBAAA,CAAsB;EAChF;AACF;AAbgBiB;;;ACpDT,SAASK,0CAA0CC,OAAa;AACrE,MAAI,EAAE,cAAcA,UAAUA,MAAM,UAAA,MAAgBC,OAAW,QAAO;AACtE,MAAI,EAAE,kBAAkBD,UAAUA,MAAM,cAAA,MAAoBC,OAAW,QAAO;AAC9E,SAAO;AACT;AAJgBF;AAMT,SAASG,wCAAwCC,MAAS;AAC/D,SAAOC,6CAA6CD,MAAM,KAAA;AAC5D;AAFgBD;AAIT,SAASE,6CAA6CD,MAAWE,qBAA4B;AAClG,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,UAAUH,KAAK,UAAA;IACfI,cAAcJ,KAAK,cAAA;IACnBK,YAAYL,KAAK,YAAA,KAAiB,OAAOF,SAAYQ,mBAAmBN,KAAK,YAAA,CAAa;EAC5F;AACF;AATgBC;AAWT,SAASM,sCAAsCP,MAAS;AAC7D,SAAOQ,2CAA2CR,MAAM,KAAA;AAC1D;AAFgBO;AAIT,SAASC,2CACdX,OACAK,sBAA+B,OAAK;AAEpC,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,UAAUN,MAAM,UAAA;IAChBO,cAAcP,MAAM,cAAA;IACpBQ,YAAYI,iBAAiBZ,MAAM,YAAA,CAAa;EAClD;AACF;AAbgBW;;;ACrCT,SAASE,8BAA8BC,OAAa;AACzD,SAAO;AACT;AAFgBD;AAIT,SAASE,4BAA4BC,MAAS;AACnD,SAAOC,iCAAiCD,MAAM,KAAA;AAChD;AAFgBD;AAIT,SAASE,iCAAiCD,MAAWE,qBAA4B;AACtF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,4BACEH,KAAK,4BAAA,KAAiC,OAAOI,SAAYC,wCAAwCL,KAAK,4BAAA,CAA6B;EACvI;AACF;AARgBC;AAUT,SAASK,0BAA0BN,MAAS;AACjD,SAAOO,+BAA+BP,MAAM,KAAA;AAC9C;AAFgBM;AAIT,SAASC,+BAA+BT,OAAoCI,sBAA+B,OAAK;AACrH,MAAIJ,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLK,4BAA4BK,sCAAsCV,MAAM,4BAAA,CAA6B;EACvG;AACF;AARgBS;;;ACIT,SAASE,+BAA+BC,OAAa;AAC1D,MAAI,EAAE,iBAAiBA,UAAUA,MAAM,aAAA,MAAmBC,OAAW,QAAO;AAC5E,MAAI,EAAE,cAAcD,UAAUA,MAAM,UAAA,MAAgBC,OAAW,QAAO;AACtE,MAAI,EAAE,oBAAoBD,UAAUA,MAAM,gBAAA,MAAsBC,OAAW,QAAO;AAClF,SAAO;AACT;AALgBF;AAOT,SAASG,6BAA6BC,MAAS;AACpD,SAAOC,kCAAkCD,MAAM,KAAA;AACjD;AAFgBD;AAIT,SAASE,kCAAkCD,MAAWE,qBAA4B;AACvF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,aAAaH,KAAK,aAAA;IAClBI,UAAUJ,KAAK,UAAA;IACfK,gBAAgBC,4BAA4BN,KAAK,gBAAA,CAAiB;IAClEO,eAAeP,KAAK,eAAA,KAAoB,OAAOF,SAAYE,KAAK,eAAA;IAChEQ,YAAYR,KAAK,YAAA,KAAiB,OAAOF,SAAYW,mBAAmBT,KAAK,YAAA,CAAa;EAC5F;AACF;AAXgBC;AAaT,SAASS,2BAA2BV,MAAS;AAClD,SAAOW,gCAAgCX,MAAM,KAAA;AAC/C;AAFgBU;AAIT,SAASC,gCAAgCd,OAAqCK,sBAA+B,OAAK;AACvH,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,aAAaN,MAAM,aAAA;IACnBO,UAAUP,MAAM,UAAA;IAChBQ,gBAAgBO,0BAA0Bf,MAAM,gBAAA,CAAiB;IACjEU,eAAeV,MAAM,eAAA;IACrBW,YAAYK,iBAAiBhB,MAAM,YAAA,CAAa;EAClD;AACF;AAZgBc;;;ACtET,IAAMG,cAAc;EACzBC,UAAU;EACVC,UAAU;EACVC,UAAU;EACVC,UAAU;AACZ;AAGO,SAASC,sBAAsBC,OAAU;AAC9C,aAAWC,OAAOP,aAAa;AAC7B,QAAIQ,OAAOC,UAAUC,eAAeC,KAAKX,aAAaO,GAAAA,GAAM;AAC1D,UAAIP,YAAYO,GAAAA,MAAqCD,OAAO;AAC1D,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,oBAAoBC,MAAS;AAC3C,SAAOC,yBAAyBD,MAAM,KAAA;AACxC;AAFgBD;AAIT,SAASE,yBAAyBD,MAAWE,qBAA4B;AAC9E,SAAOF;AACT;AAFgBC;AAIT,SAASE,kBAAkBV,OAA0B;AAC1D,SAAOA;AACT;AAFgBU;AAIT,SAASC,uBAAuBX,OAAYS,qBAA4B;AAC7E,SAAOT;AACT;AAFgBW;;;ACuCT,SAASC,kBAAkBC,OAAa;AAC7C,MAAI,EAAE,SAASA,UAAUA,MAAM,KAAA,MAAWC,OAAW,QAAO;AAC5D,SAAO;AACT;AAHgBF;AAKT,SAASG,gBAAgBC,MAAS;AACvC,SAAOC,qBAAqBD,MAAM,KAAA;AACpC;AAFgBD;AAIT,SAASE,qBAAqBD,MAAWE,qBAA4B;AAC1E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,KAAKC,oBAAoBJ,KAAK,KAAA,CAAM;IACpCK,KAAKL,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5CM,KAAKN,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5CO,QAAQP,KAAK,SAAA,KAAc,OAAOF,SAAYE,KAAK,SAAA;IACnDQ,QAAQR,KAAK,QAAA,KAAa,OAAOF,SAAYE,KAAK,QAAA;IAClDS,KAAKT,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5CU,GAAGV,KAAK,GAAA,KAAQ,OAAOF,SAAYE,KAAK,GAAA;IACxCW,GAAGX,KAAK,GAAA,KAAQ,OAAOF,SAAYE,KAAK,GAAA;IACxCY,GAAGZ,KAAK,GAAA,KAAQ,OAAOF,SAAYE,KAAK,GAAA;IACxCa,SAASb,KAAK,SAAA,KAAc,OAAOF,SAAYE,KAAK,SAAA;EACtD;AACF;AAhBgBC;AAkBT,SAASa,cAAcd,MAAS;AACrC,SAAOe,mBAAmBf,MAAM,KAAA;AAClC;AAFgBc;AAIT,SAASC,mBAAmBlB,OAAwBK,sBAA+B,OAAK;AAC7F,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,KAAKa,kBAAkBnB,MAAM,KAAA,CAAM;IACnCQ,KAAKR,MAAM,KAAA;IACXS,KAAKT,MAAM,KAAA;IACXoB,SAASpB,MAAM,QAAA;IACfW,QAAQX,MAAM,QAAA;IACdY,KAAKZ,MAAM,KAAA;IACXa,GAAGb,MAAM,GAAA;IACTc,GAAGd,MAAM,GAAA;IACTe,GAAGf,MAAM,GAAA;IACTgB,SAAShB,MAAM,SAAA;EACjB;AACF;AAjBgBkB;;;AC/ET,SAASG,sBAAsBC,OAAa;AACjD,MAAI,EAAE,mBAAmBA,UAAUA,MAAM,eAAA,MAAqBC,OAAW,QAAO;AAChF,SAAO;AACT;AAHgBF;AAKT,SAASG,oBAAoBC,MAAS;AAC3C,SAAOC,yBAAyBD,MAAM,KAAA;AACxC;AAFgBD;AAIT,SAASE,yBAAyBD,MAAWE,qBAA4B;AAC9E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,gBAAgBH,KAAK,gBAAA,KAAqB,OAAOF,SAAYM,gBAAgBJ,KAAK,gBAAA,CAAiB;IACnGK,eAAeD,gBAAgBJ,KAAK,eAAA,CAAgB;EACtD;AACF;AARgBC;AAUT,SAASK,kBAAkBN,MAAS;AACzC,SAAOO,uBAAuBP,MAAM,KAAA;AACtC;AAFgBM;AAIT,SAASC,uBAAuBV,OAA4BK,sBAA+B,OAAK;AACrG,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,gBAAgBK,cAAcX,MAAM,gBAAA,CAAiB;IACrDQ,eAAeG,cAAcX,MAAM,eAAA,CAAgB;EACrD;AACF;AATgBU;;;AC7CT,IAAME,kBAAkB;EAC7BC,UAAU;EACVC,eAAe;EACfC,QAAQ;AACV;AAGO,SAASC,0BAA0BC,OAAU;AAClD,aAAWC,OAAON,iBAAiB;AACjC,QAAIO,OAAOC,UAAUC,eAAeC,KAAKV,iBAAiBM,GAAAA,GAAM;AAC9D,UAAIN,gBAAgBM,GAAAA,MAAyCD,OAAO;AAClE,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,wBAAwBC,MAAS;AAC/C,SAAOC,6BAA6BD,MAAM,KAAA;AAC5C;AAFgBD;AAIT,SAASE,6BAA6BD,MAAWE,qBAA4B;AAClF,SAAOF;AACT;AAFgBC;AAIT,SAASE,sBAAsBV,OAA8B;AAClE,SAAOA;AACT;AAFgBU;AAIT,SAASC,2BAA2BX,OAAYS,qBAA4B;AACjF,SAAOT;AACT;AAFgBW;;;ACcT,SAASC,4BAA4BC,OAAa;AACvD,MAAI,EAAE,UAAUA,UAAUA,MAAM,MAAA,MAAYC,OAAW,QAAO;AAC9D,SAAO;AACT;AAHgBF;AAKT,SAASG,0BAA0BC,MAAS;AACjD,SAAOC,+BAA+BD,MAAM,KAAA;AAC9C;AAFgBD;AAIT,SAASE,+BAA+BD,MAAWE,qBAA4B;AACpF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,MAAMC,wBAAwBJ,KAAK,MAAA,CAAO;IAC1CK,uBAAuBL,KAAK,uBAAA,KAA4B,OAAOF,SAAYQ,6BAA6BN,KAAK,uBAAA,CAAwB;IACrIO,gBAAgBP,KAAK,gBAAA,KAAqB,OAAOF,SAAYU,sBAAsBR,KAAK,gBAAA,CAAiB;IACzGS,cAAcT,KAAK,cAAA,KAAmB,OAAOF,SAAYE,KAAK,cAAA;IAC9DU,mBAAmBV,KAAK,mBAAA,KAAwB,OAAOF,SAAYE,KAAK,mBAAA;EAC1E;AACF;AAXgBC;AAaT,SAASU,wBAAwBX,MAAS;AAC/C,SAAOY,6BAA6BZ,MAAM,KAAA;AAC5C;AAFgBW;AAIT,SAASC,6BAA6Bf,OAAkCK,sBAA+B,OAAK;AACjH,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,MAAMU,sBAAsBhB,MAAM,MAAA,CAAO;IACzCQ,uBAAuBS,2BAA2BjB,MAAM,uBAAA,CAAwB;IAChFU,gBAAgBQ,oBAAoBlB,MAAM,gBAAA,CAAiB;IAC3DY,cAAcZ,MAAM,cAAA;IACpBa,mBAAmBb,MAAM,mBAAA;EAC3B;AACF;AAZgBe;;;ACtET,IAAMI,UAAU;EACrBC,KAAK;EACLC,IAAI;EACJC,KAAK;AACP;AAGO,SAASC,kBAAkBC,OAAU;AAC1C,aAAWC,OAAON,SAAS;AACzB,QAAIO,OAAOC,UAAUC,eAAeC,KAAKV,SAASM,GAAAA,GAAM;AACtD,UAAIN,QAAQM,GAAAA,MAAiCD,OAAO;AAClD,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,gBAAgBC,MAAS;AACvC,SAAOC,qBAAqBD,MAAM,KAAA;AACpC;AAFgBD;AAIT,SAASE,qBAAqBD,MAAWE,qBAA4B;AAC1E,SAAOF;AACT;AAFgBC;AAIT,SAASE,cAAcV,OAAsB;AAClD,SAAOA;AACT;AAFgBU;AAIT,SAASC,mBAAmBX,OAAYS,qBAA4B;AACzE,SAAOT;AACT;AAFgBW;;;AC9BT,IAAMC,gBAAgB;EAC3BC,QAAQ;EACRC,SAAS;AACX;AAGO,SAASC,wBAAwBC,OAAU;AAChD,aAAWC,OAAOL,eAAe;AAC/B,QAAIM,OAAOC,UAAUC,eAAeC,KAAKT,eAAeK,GAAAA,GAAM;AAC5D,UAAIL,cAAcK,GAAAA,MAAuCD,OAAO;AAC9D,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,sBAAsBC,MAAS;AAC7C,SAAOC,2BAA2BD,MAAM,KAAA;AAC1C;AAFgBD;AAIT,SAASE,2BAA2BD,MAAWE,qBAA4B;AAChF,SAAOF;AACT;AAFgBC;AAIT,SAASE,oBAAoBV,OAA4B;AAC9D,SAAOA;AACT;AAFgBU;AAIT,SAASC,yBAAyBX,OAAYS,qBAA4B;AAC/E,SAAOT;AACT;AAFgBW;;;AC7BT,IAAMC,qBAAqB;EAChCC,SAAS;EACTC,aAAa;EACbC,aAAa;EACbC,aAAa;EACbC,QAAQ;EACRC,cAAc;EACdC,YAAY;EACZC,YAAY;EACZC,YAAY;EACZC,qBAAqB;EACrBC,qBAAqB;EACrBC,qBAAqB;AACvB;AAGO,SAASC,6BAA6BC,OAAU;AACrD,aAAWC,OAAOf,oBAAoB;AACpC,QAAIgB,OAAOC,UAAUC,eAAeC,KAAKnB,oBAAoBe,GAAAA,GAAM;AACjE,UAAIf,mBAAmBe,GAAAA,MAA4CD,OAAO;AACxE,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,2BAA2BC,MAAS;AAClD,SAAOC,gCAAgCD,MAAM,KAAA;AAC/C;AAFgBD;AAIT,SAASE,gCAAgCD,MAAWE,qBAA4B;AACrF,SAAOF;AACT;AAFgBC;AAIT,SAASE,yBAAyBV,OAAiC;AACxE,SAAOA;AACT;AAFgBU;AAIT,SAASC,8BAA8BX,OAAYS,qBAA4B;AACpF,SAAOT;AACT;AAFgBW;;;ACvCT,IAAMC,cAAc;EACzBC,MAAM;EACNC,MAAM;AACR;AAGO,SAASC,sBAAsBC,OAAU;AAC9C,aAAWC,OAAOL,aAAa;AAC7B,QAAIM,OAAOC,UAAUC,eAAeC,KAAKT,aAAaK,GAAAA,GAAM;AAC1D,UAAIL,YAAYK,GAAAA,MAAqCD,OAAO;AAC1D,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,oBAAoBC,MAAS;AAC3C,SAAOC,yBAAyBD,MAAM,KAAA;AACxC;AAFgBD;AAIT,SAASE,yBAAyBD,MAAWE,qBAA4B;AAC9E,SAAOF;AACT;AAFgBC;AAIT,SAASE,kBAAkBV,OAA0B;AAC1D,SAAOA;AACT;AAFgBU;AAIT,SAASC,uBAAuBX,OAAYS,qBAA4B;AAC7E,SAAOT;AACT;AAFgBW;;;AC7BT,IAAMC,QAAQ;EACnBC,MAAM;EACNC,MAAM;EACNC,MAAM;EACNC,WAAW;EACXC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC,MAAM;AACR;AAGO,SAASC,gBAAgBC,OAAU;AACxC,aAAWC,OAAOX,OAAO;AACvB,QAAIY,OAAOC,UAAUC,eAAeC,KAAKf,OAAOW,GAAAA,GAAM;AACpD,UAAIX,MAAMW,GAAAA,MAA+BD,OAAO;AAC9C,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,cAAcC,MAAS;AACrC,SAAOC,mBAAmBD,MAAM,KAAA;AAClC;AAFgBD;AAIT,SAASE,mBAAmBD,MAAWE,qBAA4B;AACxE,SAAOF;AACT;AAFgBC;AAIT,SAASE,YAAYV,OAAoB;AAC9C,SAAOA;AACT;AAFgBU;AAIT,SAASC,iBAAiBX,OAAYS,qBAA4B;AACvE,SAAOT;AACT;AAFgBW;;;ACnCT,IAAMC,gBAAgB;EAC3BC,MAAM;EACNC,QAAQ;EACRC,SAAS;EACTC,SAAS;EACTC,SAAS;EACTC,WAAW;EACXC,WAAW;EACXC,YAAY;AACd;AAGO,SAASC,wBAAwBC,OAAU;AAChD,aAAWC,OAAOX,eAAe;AAC/B,QAAIY,OAAOC,UAAUC,eAAeC,KAAKf,eAAeW,GAAAA,GAAM;AAC5D,UAAIX,cAAcW,GAAAA,MAAuCD,OAAO;AAC9D,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,sBAAsBC,MAAS;AAC7C,SAAOC,2BAA2BD,MAAM,KAAA;AAC1C;AAFgBD;AAIT,SAASE,2BAA2BD,MAAWE,qBAA4B;AAChF,SAAOF;AACT;AAFgBC;AAIT,SAASE,oBAAoBV,OAA4B;AAC9D,SAAOA;AACT;AAFgBU;AAIT,SAASC,yBAAyBX,OAAYS,qBAA4B;AAC/E,SAAOT;AACT;AAFgBW;;;ACnCT,IAAMC,SAAS;EACpBC,KAAK;EACLC,KAAK;AACP;AAGO,SAASC,iBAAiBC,OAAU;AACzC,aAAWC,OAAOL,QAAQ;AACxB,QAAIM,OAAOC,UAAUC,eAAeC,KAAKT,QAAQK,GAAAA,GAAM;AACrD,UAAIL,OAAOK,GAAAA,MAAgCD,OAAO;AAChD,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,eAAeC,MAAS;AACtC,SAAOC,oBAAoBD,MAAM,KAAA;AACnC;AAFgBD;AAIT,SAASE,oBAAoBD,MAAWE,qBAA4B;AACzE,SAAOF;AACT;AAFgBC;AAIT,SAASE,aAAaV,OAAqB;AAChD,SAAOA;AACT;AAFgBU;AAIT,SAASC,kBAAkBX,OAAYS,qBAA4B;AACxE,SAAOT;AACT;AAFgBW;;;AC7BT,IAAMC,aAAa;EACxBC,IAAI;EACJC,KAAK;EACLC,KAAK;EACLC,KAAK;AACP;AAGO,SAASC,qBAAqBC,OAAU;AAC7C,aAAWC,OAAOP,YAAY;AAC5B,QAAIQ,OAAOC,UAAUC,eAAeC,KAAKX,YAAYO,GAAAA,GAAM;AACzD,UAAIP,WAAWO,GAAAA,MAAoCD,OAAO;AACxD,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,mBAAmBC,MAAS;AAC1C,SAAOC,wBAAwBD,MAAM,KAAA;AACvC;AAFgBD;AAIT,SAASE,wBAAwBD,MAAWE,qBAA4B;AAC7E,SAAOF;AACT;AAFgBC;AAIT,SAASE,iBAAiBV,OAAyB;AACxD,SAAOA;AACT;AAFgBU;AAIT,SAASC,sBAAsBX,OAAYS,qBAA4B;AAC5E,SAAOT;AACT;AAFgBW;;;AC+GT,SAASC,cAAcC,OAAa;AACzC,MAAI,EAAE,SAASA,UAAUA,MAAM,KAAA,MAAWC,OAAW,QAAO;AAC5D,SAAO;AACT;AAHgBF;AAKT,SAASG,YAAYC,MAAS;AACnC,SAAOC,iBAAiBD,MAAM,KAAA;AAChC;AAFgBD;AAIT,SAASE,iBAAiBD,MAAWE,qBAA4B;AACtE,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,KAAKC,mBAAmBJ,KAAK,KAAA,CAAM;IACnCK,KAAKL,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5CM,KAAKN,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5CO,KAAKP,KAAK,KAAA,KAAU,OAAOF,SAAYU,eAAeR,KAAK,KAAA,CAAM;IACjES,QAAQT,KAAK,SAAA,KAAc,OAAOF,SAAaE,KAAK,SAAA,EAA0BU,IAAIC,qBAAAA;IAClFC,KAAKZ,KAAK,KAAA,KAAU,OAAOF,SAAYe,cAAcb,KAAK,KAAA,CAAM;IAChEc,GAAGd,KAAK,GAAA,KAAQ,OAAOF,SAAYE,KAAK,GAAA;IACxCe,GAAGf,KAAK,GAAA,KAAQ,OAAOF,SAAYE,KAAK,GAAA;IACxCgB,GAAGhB,KAAK,GAAA,KAAQ,OAAOF,SAAYE,KAAK,GAAA;IACxCiB,GAAGjB,KAAK,GAAA,KAAQ,OAAOF,SAAYE,KAAK,GAAA;IACxCkB,GAAGlB,KAAK,GAAA,KAAQ,OAAOF,SAAYE,KAAK,GAAA;IACxCmB,GAAGnB,KAAK,GAAA,KAAQ,OAAOF,SAAYE,KAAK,GAAA;IACxCoB,GAAGpB,KAAK,GAAA,KAAQ,OAAOF,SAAYE,KAAK,GAAA;IACxCqB,IAAIrB,KAAK,IAAA,KAAS,OAAOF,SAAYE,KAAK,IAAA;IAC1CsB,IAAItB,KAAK,IAAA,KAAS,OAAOF,SAAYE,KAAK,IAAA;IAC1CuB,IAAIvB,KAAK,IAAA,KAAS,OAAOF,SAAYE,KAAK,IAAA;IAC1CwB,GAAGxB,KAAK,GAAA,KAAQ,OAAOF,SAAYE,KAAK,GAAA;IACxCyB,KAAKzB,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5C0B,KAAK1B,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5C2B,KAAK3B,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5C4B,SAAS5B,KAAK,UAAA,KAAe,OAAOF,SAAYE,KAAK,UAAA;EACvD;AACF;AA3BgBC;AA6BT,SAAS4B,UAAU7B,MAAS;AACjC,SAAO8B,eAAe9B,MAAM,KAAA;AAC9B;AAFgB6B;AAIT,SAASC,eAAejC,OAAoBK,sBAA+B,OAAK;AACrF,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,KAAK4B,iBAAiBlC,MAAM,KAAA,CAAM;IAClCQ,KAAKR,MAAM,KAAA;IACXS,KAAKT,MAAM,KAAA;IACXU,KAAKyB,aAAanC,MAAM,KAAA,CAAM;IAC9BoC,SAASpC,MAAM,QAAA,KAAa,OAAOC,SAAaD,MAAM,QAAA,EAAyBa,IAAIwB,mBAAAA;IACnFtB,KAAKuB,YAAYtC,MAAM,KAAA,CAAM;IAC7BiB,GAAGjB,MAAM,GAAA;IACTkB,GAAGlB,MAAM,GAAA;IACTmB,GAAGnB,MAAM,GAAA;IACToB,GAAGpB,MAAM,GAAA;IACTqB,GAAGrB,MAAM,GAAA;IACTsB,GAAGtB,MAAM,GAAA;IACTuB,GAAGvB,MAAM,GAAA;IACTwB,IAAIxB,MAAM,IAAA;IACVyB,IAAIzB,MAAM,IAAA;IACV0B,IAAI1B,MAAM,IAAA;IACV2B,GAAG3B,MAAM,GAAA;IACT4B,KAAK5B,MAAM,KAAA;IACX6B,KAAK7B,MAAM,KAAA;IACX8B,KAAK9B,MAAM,KAAA;IACX,YAAYA,MAAM,SAAA;EACpB;AACF;AA5BgBiC;;;AC1GT,SAASM,kBAAkBC,OAAa;AAC7C,SAAO;AACT;AAFgBD;AAIT,SAASE,gBAAgBC,MAAS;AACvC,SAAOC,qBAAqBD,MAAM,KAAA;AACpC;AAFgBD;AAIT,SAASE,qBAAqBD,MAAWE,qBAA4B;AAC1E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,KAAKH,KAAK,KAAA,KAAU,OAAOI,SAAYJ,KAAK,KAAA;IAC5CK,KAAKL,KAAK,KAAA,KAAU,OAAOI,SAAYE,YAAYN,KAAK,KAAA,CAAM;IAC9DO,oBAAoBP,KAAK,oBAAA,KAAyB,OAAOI,SAAYI,2BAA2BR,KAAK,oBAAA,CAAqB;IAC1HS,eAAeT,KAAK,eAAA,KAAoB,OAAOI,SAAYM,sBAAsBV,KAAK,eAAA,CAAgB;IACtGW,KAAKX,KAAK,KAAA,KAAU,OAAOI,SAAYJ,KAAK,KAAA;IAC5CY,OAAOZ,KAAK,OAAA,KAAY,OAAOI,SAAYJ,KAAK,OAAA;IAChDa,YAAYb,KAAK,YAAA,KAAiB,OAAOI,SAAYJ,KAAK,YAAA;IAC1Dc,SAASd,KAAK,SAAA,KAAc,OAAOI,SAAYW,gBAAgBf,KAAK,SAAA,CAAU;IAC9EgB,aAAahB,KAAK,aAAA,KAAkB,OAAOI,SAAYa,oBAAoBjB,KAAK,aAAA,CAAc;IAC9FkB,MAAMlB,KAAK,MAAA,KAAW,OAAOI,SAAYJ,KAAK,MAAA;EAChD;AACF;AAhBgBC;AAkBT,SAASkB,cAAcnB,MAAS;AACrC,SAAOoB,mBAAmBpB,MAAM,KAAA;AAClC;AAFgBmB;AAIT,SAASC,mBAAmBtB,OAAwBI,sBAA+B,OAAK;AAC7F,MAAIJ,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLK,KAAKL,MAAM,KAAA;IACXO,KAAKgB,UAAUvB,MAAM,KAAA,CAAM;IAC3BS,oBAAoBe,yBAAyBxB,MAAM,oBAAA,CAAqB;IACxEW,eAAec,oBAAoBzB,MAAM,eAAA,CAAgB;IACzDa,KAAKb,MAAM,KAAA;IACXc,OAAOd,MAAM,OAAA;IACbe,YAAYf,MAAM,YAAA;IAClBgB,SAASU,cAAc1B,MAAM,SAAA,CAAU;IACvCkB,aAAaS,kBAAkB3B,MAAM,aAAA,CAAc;IACnDoB,MAAMpB,MAAM,MAAA;EACd;AACF;AAjBgBsB;;;ACtFT,SAASM,6BAA6BC,OAAa;AACxD,MAAI,EAAE,aAAaA,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,MAAI,EAAE,WAAWD,UAAUA,MAAM,OAAA,MAAaC,OAAW,QAAO;AAChE,SAAO;AACT;AAJgBF;AAMT,SAASG,2BAA2BC,MAAS;AAClD,SAAOC,gCAAgCD,MAAM,KAAA;AAC/C;AAFgBD;AAIT,SAASE,gCAAgCD,MAAWE,qBAA4B;AACrF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,SAASC,gBAAgBJ,KAAK,SAAA,CAAU;IACxCK,OAAOL,KAAK,OAAA;EACd;AACF;AARgBC;AAUT,SAASK,yBAAyBN,MAAS;AAChD,SAAOO,8BAA8BP,MAAM,KAAA;AAC7C;AAFgBM;AAIT,SAASC,8BAA8BV,OAAmCK,sBAA+B,OAAK;AACnH,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,SAASK,cAAcX,MAAM,SAAA,CAAU;IACvCQ,OAAOR,MAAM,OAAA;EACf;AACF;AATgBU;;;ACjCT,SAASE,qCAAqCC,OAAa;AAChE,MAAI,EAAE,eAAeA,UAAUA,MAAM,WAAA,MAAiBC,OAAW,QAAO;AACxE,SAAO;AACT;AAHgBF;AAKT,SAASG,mCAAmCC,MAAS;AAC1D,SAAOC,wCAAwCD,MAAM,KAAA;AACvD;AAFgBD;AAIT,SAASE,wCAAwCD,MAAWE,qBAA4B;AAC7F,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,WAAWH,KAAK,WAAA;EAClB;AACF;AAPgBC;AAST,SAASG,iCAAiCJ,MAAS;AACxD,SAAOK,sCAAsCL,MAAM,KAAA;AACrD;AAFgBI;AAIT,SAASC,sCAAsCR,OAA2CK,sBAA+B,OAAK;AACnI,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,WAAWN,MAAM,WAAA;EACnB;AACF;AARgBQ;;;ACVT,IAAMC,oBAAoB;EAC/BC,UAAU;EACVC,UAAU;AACZ;AAMO,SAASC,oBAAoBC,OAAa;AAC/C,MAAI,EAAE,UAAUA,UAAUA,MAAM,MAAA,MAAYC,OAAW,QAAO;AAC9D,SAAO;AACT;AAHgBF;AAKT,SAASG,kBAAkBC,MAAS;AACzC,SAAOC,uBAAuBD,MAAM,KAAA;AACtC;AAFgBD;AAIT,SAASE,uBAAuBD,MAAWE,qBAA4B;AAC5E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,MAAMH,KAAK,MAAA;IACXI,MAAMJ,KAAK,MAAA,KAAW,OAAOF,SAAYE,KAAK,MAAA;IAC9CK,UAAUL,KAAK,UAAA,KAAe,OAAOF,SAAYE,KAAK,UAAA;EACxD;AACF;AATgBC;AAWT,SAASK,gBAAgBN,MAAS;AACvC,SAAOO,qBAAqBP,MAAM,KAAA;AACpC;AAFgBM;AAIT,SAASC,qBAAqBV,OAA0BK,sBAA+B,OAAK;AACjG,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,MAAMN,MAAM,MAAA;IACZO,MAAMP,MAAM,MAAA;IACZQ,UAAUR,MAAM,UAAA;EAClB;AACF;AAVgBU;;;AC1BT,SAASC,gCAAgCC,OAAa;AAC3D,MAAI,EAAE,eAAeA,UAAUA,MAAM,WAAA,MAAiBC,OAAW,QAAO;AACxE,MAAI,EAAE,aAAaD,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,SAAO;AACT;AAJgBF;AAMT,SAASG,8BAA8BC,MAAS;AACrD,SAAOC,mCAAmCD,MAAM,KAAA;AAClD;AAFgBD;AAIT,SAASE,mCAAmCD,MAAWE,qBAA4B;AACxF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,WAAWC,kBAAkBJ,KAAK,WAAA,CAAY;IAC9CK,SAASC,gBAAgBN,KAAK,SAAA,CAAU;IACxCO,oBAAoBP,KAAK,oBAAA,KAAyB,OAAOF,SAAYU,2BAA2BR,KAAK,oBAAA,CAAqB;EAC5H;AACF;AATgBC;AAWT,SAASQ,4BAA4BT,MAAS;AACnD,SAAOU,iCAAiCV,MAAM,KAAA;AAChD;AAFgBS;AAIT,SAASC,iCAAiCb,OAAsCK,sBAA+B,OAAK;AACzH,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,WAAWQ,gBAAgBd,MAAM,WAAA,CAAY;IAC7CQ,SAASO,cAAcf,MAAM,SAAA,CAAU;IACvCU,oBAAoBM,yBAAyBhB,MAAM,oBAAA,CAAqB;EAC1E;AACF;AAVgBa;;;ACzDT,IAAMI,YAAY;EACvBC,SAAS;EACTC,OAAO;EACPC,MAAM;EACNC,KAAK;AACP;AAGO,SAASC,oBAAoBC,OAAU;AAC5C,aAAWC,OAAOP,WAAW;AAC3B,QAAIQ,OAAOC,UAAUC,eAAeC,KAAKX,WAAWO,GAAAA,GAAM;AACxD,UAAIP,UAAUO,GAAAA,MAAmCD,OAAO;AACtD,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,kBAAkBC,MAAS;AACzC,SAAOC,uBAAuBD,MAAM,KAAA;AACtC;AAFgBD;AAIT,SAASE,uBAAuBD,MAAWE,qBAA4B;AAC5E,SAAOF;AACT;AAFgBC;AAIT,SAASE,gBAAgBV,OAAwB;AACtD,SAAOA;AACT;AAFgBU;AAIT,SAASC,qBAAqBX,OAAYS,qBAA4B;AAC3E,SAAOT;AACT;AAFgBW;;;AC/BT,IAAMC,YAAY;EACvBC,MAAM;EACNC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,SAAS;EACTC,SAAS;EACTC,SAAS;AACX;AAGO,SAASC,oBAAoBC,OAAU;AAC5C,aAAWC,OAAOV,WAAW;AAC3B,QAAIW,OAAOC,UAAUC,eAAeC,KAAKd,WAAWU,GAAAA,GAAM;AACxD,UAAIV,UAAUU,GAAAA,MAAmCD,OAAO;AACtD,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,kBAAkBC,MAAS;AACzC,SAAOC,uBAAuBD,MAAM,KAAA;AACtC;AAFgBD;AAIT,SAASE,uBAAuBD,MAAWE,qBAA4B;AAC5E,SAAOF;AACT;AAFgBC;AAIT,SAASE,gBAAgBV,OAAwB;AACtD,SAAOA;AACT;AAFgBU;AAIT,SAASC,qBAAqBX,OAAYS,qBAA4B;AAC3E,SAAOT;AACT;AAFgBW;;;ACTT,SAASC,wBAAwBC,OAAa;AACnD,MAAI,EAAE,UAAUA,UAAUA,MAAM,MAAA,MAAYC,OAAW,QAAO;AAC9D,MAAI,EAAE,aAAaD,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,SAAO;AACT;AAJgBF;AAMT,SAASG,sBAAsBC,MAAS;AAC7C,SAAOC,2BAA2BD,MAAM,KAAA;AAC1C;AAFgBD;AAIT,SAASE,2BAA2BD,MAAWE,qBAA4B;AAChF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,MAAMH,KAAK,MAAA;IACXI,SAASJ,KAAK,SAAA;IACdK,SAASL,KAAK,SAAA,KAAc,OAAOF,SAAYE,KAAK,SAAA;EACtD;AACF;AATgBC;AAWT,SAASK,oBAAoBN,MAAS;AAC3C,SAAOO,yBAAyBP,MAAM,KAAA;AACxC;AAFgBM;AAIT,SAASC,yBAAyBV,OAA8BK,sBAA+B,OAAK;AACzG,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,MAAMN,MAAM,MAAA;IACZO,SAASP,MAAM,SAAA;IACfQ,SAASR,MAAM,SAAA;EACjB;AACF;AAVgBU;;;ACZT,SAASC,sBAAsBC,OAAa;AACjD,SAAO;AACT;AAFgBD;AAIT,SAASE,oBAAoBC,MAAS;AAC3C,SAAOC,yBAAyBD,MAAM,KAAA;AACxC;AAFgBD;AAIT,SAASE,yBAAyBD,MAAWE,qBAA4B;AAC9E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,OAAOH,KAAK,OAAA,KAAY,OAAOI,SAAYJ,KAAK,OAAA;IAChDK,KAAKL,KAAK,KAAA,KAAU,OAAOI,SAAYE,eAAeN,KAAK,KAAA,CAAM;IACjEO,eAAeP,KAAK,eAAA,KAAoB,OAAOI,SAAaJ,KAAK,eAAA,EAAgCQ,IAAIC,qBAAAA;IACrGC,KAAKV,KAAK,KAAA,KAAU,OAAOI,SAAYO,2BAA2BX,KAAK,KAAA,CAAM;EAC/E;AACF;AAVgBC;AAYT,SAASW,kBAAkBZ,MAAS;AACzC,SAAOa,uBAAuBb,MAAM,KAAA;AACtC;AAFgBY;AAIT,SAASC,uBAAuBf,OAA4BI,sBAA+B,OAAK;AACrG,MAAIJ,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLK,OAAOL,MAAM,OAAA;IACbO,KAAKS,aAAahB,MAAM,KAAA,CAAM;IAC9BS,eAAeT,MAAM,eAAA,KAAoB,OAAOM,SAAaN,MAAM,eAAA,EAAgCU,IAAIO,mBAAAA;IACvGL,KAAKM,yBAAyBlB,MAAM,KAAA,CAAM;EAC5C;AACF;AAXgBe;;;AClBT,SAASI,4BAA4BC,OAAa;AACvD,SAAO;AACT;AAFgBD;AAIT,SAASE,0BAA0BC,MAAS;AACjD,SAAOC,+BAA+BD,MAAM,KAAA;AAC9C;AAFgBD;AAIT,SAASE,+BAA+BD,MAAWE,qBAA4B;AACpF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,OAAOH,KAAK,OAAA,KAAY,OAAOI,SAAYJ,KAAK,OAAA;IAChDK,KAAKL,KAAK,KAAA,KAAU,OAAOI,SAAYE,eAAeN,KAAK,KAAA,CAAM;IACjEO,eAAeP,KAAK,eAAA,KAAoB,OAAOI,SAAaJ,KAAK,eAAA,EAAgCQ,IAAIC,qBAAAA;IACrGC,KAAKV,KAAK,KAAA,KAAU,OAAOI,SAAYO,2BAA2BX,KAAK,KAAA,CAAM;IAC7EY,YAAYZ,KAAK,YAAA,KAAiB,OAAOI,SAAYJ,KAAK,YAAA;EAC5D;AACF;AAXgBC;AAaT,SAASY,wBAAwBb,MAAS;AAC/C,SAAOc,6BAA6Bd,MAAM,KAAA;AAC5C;AAFgBa;AAIT,SAASC,6BAA6BhB,OAAkCI,sBAA+B,OAAK;AACjH,MAAIJ,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLK,OAAOL,MAAM,OAAA;IACbO,KAAKU,aAAajB,MAAM,KAAA,CAAM;IAC9BS,eAAeT,MAAM,eAAA,KAAoB,OAAOM,SAAaN,MAAM,eAAA,EAAgCU,IAAIQ,mBAAAA;IACvGN,KAAKO,yBAAyBnB,MAAM,KAAA,CAAM;IAC1Cc,YAAYd,MAAM,YAAA;EACpB;AACF;AAZgBgB;;;AC/CT,SAASI,sBAAsBC,OAAa;AACjD,MAAI,EAAE,eAAeA,UAAUA,MAAM,WAAA,MAAiBC,OAAW,QAAO;AACxE,SAAO;AACT;AAHgBF;AAKT,SAASG,oBAAoBC,MAAS;AAC3C,SAAOC,yBAAyBD,MAAM,KAAA;AACxC;AAFgBD;AAIT,SAASE,yBAAyBD,MAAWE,qBAA4B;AAC9E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,YAAYH,KAAK,YAAA,KAAiB,OAAOF,SAAYM,YAAYJ,KAAK,YAAA,CAAa;IACnFK,WAAWD,YAAYJ,KAAK,WAAA,CAAY;EAC1C;AACF;AARgBC;AAUT,SAASK,kBAAkBN,MAAS;AACzC,SAAOO,uBAAuBP,MAAM,KAAA;AACtC;AAFgBM;AAIT,SAASC,uBAAuBV,OAA4BK,sBAA+B,OAAK;AACrG,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,YAAYK,UAAUX,MAAM,YAAA,CAAa;IACzCQ,WAAWG,UAAUX,MAAM,WAAA,CAAY;EACzC;AACF;AATgBU;;;ACHT,SAASE,yBAAyBC,OAAa;AACpD,MAAI,EAAE,gBAAgBA,UAAUA,MAAM,YAAA,MAAkBC,OAAW,QAAO;AAC1E,MAAI,EAAE,WAAWD,UAAUA,MAAM,OAAA,MAAaC,OAAW,QAAO;AAChE,MAAI,EAAE,UAAUD,UAAUA,MAAM,MAAA,MAAYC,OAAW,QAAO;AAC9D,MAAI,EAAE,UAAUD,UAAUA,MAAM,MAAA,MAAYC,OAAW,QAAO;AAC9D,SAAO;AACT;AANgBF;AAQT,SAASG,uBAAuBC,MAAS;AAC9C,SAAOC,4BAA4BD,MAAM,KAAA;AAC3C;AAFgBD;AAIT,SAASE,4BAA4BD,MAAWE,qBAA4B;AACjF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,KAAKH,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5CI,YAAYJ,KAAK,YAAA;IACjBK,OAAOL,KAAK,OAAA;IACZM,MAAMC,oBAAoBP,KAAK,MAAA,CAAO;IACtCQ,MAAMC,oBAAoBT,KAAK,MAAA,CAAO;EACxC;AACF;AAXgBC;AAaT,SAASS,qBAAqBV,MAAS;AAC5C,SAAOW,0BAA0BX,MAAM,KAAA;AACzC;AAFgBU;AAIT,SAASC,0BAA0Bd,OAA+BK,sBAA+B,OAAK;AAC3G,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,KAAKN,MAAM,KAAA;IACXO,YAAYP,MAAM,YAAA;IAClBQ,OAAOR,MAAM,OAAA;IACbS,MAAMM,kBAAkBf,MAAM,MAAA,CAAO;IACrCW,MAAMK,kBAAkBhB,MAAM,MAAA,CAAO;EACvC;AACF;AAZgBc;;;ACvDT,SAASG,8BAA8BC,OAAa;AACzD,MAAI,EAAE,aAAaA,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,SAAO;AACT;AAHgBF;AAKT,SAASG,4BAA4BC,MAAS;AACnD,SAAOC,iCAAiCD,MAAM,KAAA;AAChD;AAFgBD;AAIT,SAASE,iCAAiCD,MAAWE,qBAA4B;AACtF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,SAASC,uBAAuBJ,KAAK,SAAA,CAAU;EACjD;AACF;AAPgBC;AAST,SAASI,0BAA0BL,MAAS;AACjD,SAAOM,+BAA+BN,MAAM,KAAA;AAC9C;AAFgBK;AAIT,SAASC,+BAA+BT,OAAoCK,sBAA+B,OAAK;AACrH,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,SAASI,qBAAqBV,MAAM,SAAA,CAAU;EAChD;AACF;AARgBS;;;ACwCT,SAASE,yBAAyBC,OAAa;AACpD,MAAI,EAAE,SAASA,UAAUA,MAAM,KAAA,MAAWC,OAAW,QAAO;AAC5D,MAAI,EAAE,WAAWD,UAAUA,MAAM,OAAA,MAAaC,OAAW,QAAO;AAChE,MAAI,EAAE,gBAAgBD,UAAUA,MAAM,YAAA,MAAkBC,OAAW,QAAO;AAC1E,SAAO;AACT;AALgBF;AAOT,SAASG,uBAAuBC,MAAS;AAC9C,SAAOC,4BAA4BD,MAAM,KAAA;AAC3C;AAFgBD;AAIT,SAASE,4BAA4BD,MAAWE,qBAA4B;AACjF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,KAAKH,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5CI,KAAKC,YAAYL,KAAK,KAAA,CAAM;IAC5BM,oBAAoBN,KAAK,oBAAA,KAAyB,OAAOF,SAAYS,2BAA2BP,KAAK,oBAAA,CAAqB;IAC1HQ,eAAeR,KAAK,eAAA,KAAoB,OAAOF,SAAYW,sBAAsBT,KAAK,eAAA,CAAgB;IACtGU,KAAKV,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5CW,OAAOX,KAAK,OAAA;IACZY,YAAYZ,KAAK,YAAA;IACjBa,SAASb,KAAK,SAAA,KAAc,OAAOF,SAAYgB,gBAAgBd,KAAK,SAAA,CAAU;IAC9Ee,aAAaf,KAAK,aAAA,KAAkB,OAAOF,SAAYkB,oBAAoBhB,KAAK,aAAA,CAAc;IAC9FiB,MAAMjB,KAAK,MAAA,KAAW,OAAOF,SAAYE,KAAK,MAAA;EAChD;AACF;AAhBgBC;AAkBT,SAASiB,qBAAqBlB,MAAS;AAC5C,SAAOmB,0BAA0BnB,MAAM,KAAA;AACzC;AAFgBkB;AAIT,SAASC,0BAA0BtB,OAA+BK,sBAA+B,OAAK;AAC3G,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,KAAKN,MAAM,KAAA;IACXO,KAAKgB,UAAUvB,MAAM,KAAA,CAAM;IAC3BS,oBAAoBe,yBAAyBxB,MAAM,oBAAA,CAAqB;IACxEW,eAAec,oBAAoBzB,MAAM,eAAA,CAAgB;IACzDa,KAAKb,MAAM,KAAA;IACXc,OAAOd,MAAM,OAAA;IACbe,YAAYf,MAAM,YAAA;IAClBgB,SAASU,cAAc1B,MAAM,SAAA,CAAU;IACvCkB,aAAaS,kBAAkB3B,MAAM,aAAA,CAAc;IACnDoB,MAAMpB,MAAM,MAAA;EACd;AACF;AAjBgBsB;;;AC/FT,SAASM,yBAAyBC,OAAa;AACpD,MAAI,EAAE,aAAaA,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,SAAO;AACT;AAHgBF;AAKT,SAASG,uBAAuBC,MAAS;AAC9C,SAAOC,4BAA4BD,MAAM,KAAA;AAC3C;AAFgBD;AAIT,SAASE,4BAA4BD,MAAWE,qBAA4B;AACjF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,SAASC,uBAAuBJ,KAAK,SAAA,CAAU;EACjD;AACF;AAPgBC;AAST,SAASI,qBAAqBL,MAAS;AAC5C,SAAOM,0BAA0BN,MAAM,KAAA;AACzC;AAFgBK;AAIT,SAASC,0BAA0BT,OAA+BK,sBAA+B,OAAK;AAC3G,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,SAASI,qBAAqBV,MAAM,SAAA,CAAU;EAChD;AACF;AARgBS;;;ACtCT,IAAME,mBAAmB;EAC9BC,KAAK;EACLC,KAAK;EACLC,SAAS;EACTC,KAAK;EACLC,KAAK;AACP;AAGO,SAASC,2BAA2BC,OAAU;AACnD,aAAWC,OAAOR,kBAAkB;AAClC,QAAIS,OAAOC,UAAUC,eAAeC,KAAKZ,kBAAkBQ,GAAAA,GAAM;AAC/D,UAAIR,iBAAiBQ,GAAAA,MAA0CD,OAAO;AACpE,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,yBAAyBC,MAAS;AAChD,SAAOC,8BAA8BD,MAAM,KAAA;AAC7C;AAFgBD;AAIT,SAASE,8BAA8BD,MAAWE,qBAA4B;AACnF,SAAOF;AACT;AAFgBC;AAIT,SAASE,uBAAuBV,OAA+B;AACpE,SAAOA;AACT;AAFgBU;AAIT,SAASC,4BAA4BX,OAAYS,qBAA4B;AAClF,SAAOT;AACT;AAFgBW;;;ACVT,SAASC,sBAAsBC,OAAa;AACjD,MAAI,EAAE,gBAAgBA,UAAUA,MAAM,YAAA,MAAkBC,OAAW,QAAO;AAC1E,MAAI,EAAE,UAAUD,UAAUA,MAAM,MAAA,MAAYC,OAAW,QAAO;AAC9D,SAAO;AACT;AAJgBF;AAMT,SAASG,oBAAoBC,MAAS;AAC3C,SAAOC,yBAAyBD,MAAM,KAAA;AACxC;AAFgBD;AAIT,SAASE,yBAAyBD,MAAWE,qBAA4B;AAC9E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,YAAYH,KAAK,YAAA;IACjBI,MAAMC,wBAAwBL,KAAK,MAAA,CAAO;EAC5C;AACF;AARgBC;AAUT,SAASK,kBAAkBN,MAAS;AACzC,SAAOO,uBAAuBP,MAAM,KAAA;AACtC;AAFgBM;AAIT,SAASC,uBAAuBV,OAA4BK,sBAA+B,OAAK;AACrG,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,YAAYN,MAAM,YAAA;IAClBO,MAAMI,sBAAsBX,MAAM,MAAA,CAAO;EAC3C;AACF;AATgBU;;;ACxBT,SAASE,8BAA8BC,OAAa;AACzD,MAAI,EAAE,gBAAgBA,UAAUA,MAAM,YAAA,MAAkBC,OAAW,QAAO;AAC1E,MAAI,EAAE,UAAUD,UAAUA,MAAM,MAAA,MAAYC,OAAW,QAAO;AAC9D,SAAO;AACT;AAJgBF;AAMT,SAASG,4BAA4BC,MAAS;AACnD,SAAOC,iCAAiCD,MAAM,KAAA;AAChD;AAFgBD;AAIT,SAASE,iCAAiCD,MAAWE,qBAA4B;AACtF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,YAAYH,KAAK,YAAA;IACjBI,MAAMC,wBAAwBL,KAAK,MAAA,CAAO;EAC5C;AACF;AARgBC;AAUT,SAASK,0BAA0BN,MAAS;AACjD,SAAOO,+BAA+BP,MAAM,KAAA;AAC9C;AAFgBM;AAIT,SAASC,+BAA+BV,OAAoCK,sBAA+B,OAAK;AACrH,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,YAAYN,MAAM,YAAA;IAClBO,MAAMI,sBAAsBX,MAAM,MAAA,CAAO;EAC3C;AACF;AATgBU;;;AChBT,SAASE,sBAAsBC,OAAa;AACjD,MAAI,EAAE,gBAAgBA,UAAUA,MAAM,YAAA,MAAkBC,OAAW,QAAO;AAC1E,SAAO;AACT;AAHgBF;AAKT,SAASG,oBAAoBC,MAAS;AAC3C,SAAOC,yBAAyBD,MAAM,KAAA;AACxC;AAFgBD;AAIT,SAASE,yBAAyBD,MAAWE,qBAA4B;AAC9E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,YAAYH,KAAK,YAAA;IACjBI,4BACEJ,KAAK,4BAAA,KAAiC,OAAOF,SAAaE,KAAK,4BAAA,EAA6CK,IAAIC,wBAAAA;IAClHC,mBAAmBP,KAAK,mBAAA,KAAwB,OAAOF,SAAaE,KAAK,mBAAA,EAAoCK,IAAIG,eAAAA;EACnH;AACF;AAVgBP;AAYT,SAASQ,kBAAkBT,MAAS;AACzC,SAAOU,uBAAuBV,MAAM,KAAA;AACtC;AAFgBS;AAIT,SAASC,uBAAuBb,OAA4BK,sBAA+B,OAAK;AACrG,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,YAAYN,MAAM,YAAA;IAClBO,4BACEP,MAAM,4BAAA,KAAiC,OAAOC,SAAaD,MAAM,4BAAA,EAA6CQ,IAAIM,sBAAAA;IACpHJ,mBAAmBV,MAAM,mBAAA,KAAwB,OAAOC,SAAaD,MAAM,mBAAA,EAAoCQ,IAAIO,aAAAA;EACrH;AACF;AAXgBF;;;ACvCT,SAASG,mCAAmCC,OAAa;AAC9D,MAAI,EAAE,eAAeA,UAAUA,MAAM,WAAA,MAAiBC,OAAW,QAAO;AACxE,SAAO;AACT;AAHgBF;AAKT,SAASG,iCAAiCC,MAAS;AACxD,SAAOC,sCAAsCD,MAAM,KAAA;AACrD;AAFgBD;AAIT,SAASE,sCAAsCD,MAAWE,qBAA4B;AAC3F,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,WAAYH,KAAK,WAAA,EAA4BI,IAAIC,mBAAAA;EACnD;AACF;AAPgBJ;AAST,SAASK,+BAA+BN,MAAS;AACtD,SAAOO,oCAAoCP,MAAM,KAAA;AACnD;AAFgBM;AAIT,SAASC,oCAAoCV,OAAyCK,sBAA+B,OAAK;AAC/H,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,WAAYN,MAAM,WAAA,EAA4BO,IAAII,iBAAAA;EACpD;AACF;AARgBD;;;ACtBT,SAASE,2BAA2BC,OAAa;AACtD,MAAI,EAAE,cAAcA,UAAUA,MAAM,UAAA,MAAgBC,OAAW,QAAO;AACtE,SAAO;AACT;AAHgBF;AAKT,SAASG,yBAAyBC,MAAS;AAChD,SAAOC,8BAA8BD,MAAM,KAAA;AAC7C;AAFgBD;AAIT,SAASE,8BAA8BD,MAAWE,qBAA4B;AACnF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,UAAWH,KAAK,UAAA,EAA2BI,IAAIC,sBAAAA;EACjD;AACF;AAPgBJ;AAST,SAASK,uBAAuBN,MAAS;AAC9C,SAAOO,4BAA4BP,MAAM,KAAA;AAC3C;AAFgBM;AAIT,SAASC,4BAA4BV,OAAiCK,sBAA+B,OAAK;AAC/G,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,UAAWN,MAAM,UAAA,EAA2BO,IAAII,oBAAAA;EAClD;AACF;AARgBD;;;ACRT,SAASE,mBAAmBC,OAAa;AAC9C,MAAI,EAAE,gBAAgBA,UAAUA,MAAM,YAAA,MAAkBC,OAAW,QAAO;AAC1E,SAAO;AACT;AAHgBF;AAKT,SAASG,iBAAiBC,MAAS;AACxC,SAAOC,sBAAsBD,MAAM,KAAA;AACrC;AAFgBD;AAIT,SAASE,sBAAsBD,MAAWE,qBAA4B;AAC3E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,YAAYH,KAAK,YAAA;IACjBI,4BACEJ,KAAK,4BAAA,KAAiC,OAAOF,SAAaE,KAAK,4BAAA,EAA6CK,IAAIC,wBAAAA;IAClHC,mBAAmBP,KAAK,mBAAA,KAAwB,OAAOF,SAAaE,KAAK,mBAAA,EAAoCK,IAAIG,eAAAA;EACnH;AACF;AAVgBP;AAYT,SAASQ,eAAeT,MAAS;AACtC,SAAOU,oBAAoBV,MAAM,KAAA;AACnC;AAFgBS;AAIT,SAASC,oBAAoBb,OAAyBK,sBAA+B,OAAK;AAC/F,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,YAAYN,MAAM,YAAA;IAClBO,4BACEP,MAAM,4BAAA,KAAiC,OAAOC,SAAaD,MAAM,4BAAA,EAA6CQ,IAAIM,sBAAAA;IACpHJ,mBAAmBV,MAAM,mBAAA,KAAwB,OAAOC,SAAaD,MAAM,mBAAA,EAAoCQ,IAAIO,aAAAA;EACrH;AACF;AAXgBF;;;ACvCT,SAASG,gCAAgCC,OAAa;AAC3D,MAAI,EAAE,eAAeA,UAAUA,MAAM,WAAA,MAAiBC,OAAW,QAAO;AACxE,SAAO;AACT;AAHgBF;AAKT,SAASG,8BAA8BC,MAAS;AACrD,SAAOC,mCAAmCD,MAAM,KAAA;AAClD;AAFgBD;AAIT,SAASE,mCAAmCD,MAAWE,qBAA4B;AACxF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,WAAYH,KAAK,WAAA,EAA4BI,IAAIC,gBAAAA;EACnD;AACF;AAPgBJ;AAST,SAASK,4BAA4BN,MAAS;AACnD,SAAOO,iCAAiCP,MAAM,KAAA;AAChD;AAFgBM;AAIT,SAASC,iCAAiCV,OAAsCK,sBAA+B,OAAK;AACzH,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,WAAYN,MAAM,WAAA,EAA4BO,IAAII,cAAAA;EACpD;AACF;AARgBD;;;ACtCT,IAAME,kBAAkB;EAC7BC,MAAM;AACR;AAGO,SAASC,0BAA0BC,OAAU;AAClD,aAAWC,OAAOJ,iBAAiB;AACjC,QAAIK,OAAOC,UAAUC,eAAeC,KAAKR,iBAAiBI,GAAAA,GAAM;AAC9D,UAAIJ,gBAAgBI,GAAAA,MAAyCD,OAAO;AAClE,eAAO;MACT;IACF;EACF;AACA,SAAO;AACT;AATgBD;AAWT,SAASO,wBAAwBC,MAAS;AAC/C,SAAOC,6BAA6BD,MAAM,KAAA;AAC5C;AAFgBD;AAIT,SAASE,6BAA6BD,MAAWE,qBAA4B;AAClF,SAAOF;AACT;AAFgBC;AAIT,SAASE,sBAAsBV,OAA8B;AAClE,SAAOA;AACT;AAFgBU;AAIT,SAASC,2BAA2BX,OAAYS,qBAA4B;AACjF,SAAOT;AACT;AAFgBW;;;ACoBT,SAASC,+BAA+BC,OAAa;AAC1D,SAAO;AACT;AAFgBD;AAIT,SAASE,6BAA6BC,MAAS;AACpD,SAAOC,kCAAkCD,MAAM,KAAA;AACjD;AAFgBD;AAIT,SAASE,kCAAkCD,MAAWE,qBAA4B;AACvF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,UAAUH,KAAK,UAAA,KAAe,OAAOI,SAAaJ,KAAK,UAAA,EAA2BK,IAAIC,eAAAA;IACtFC,qBACEP,KAAK,qBAAA,KAA0B,OAAOI,SAAaJ,KAAK,qBAAA,EAAsCK,IAAIG,0BAAAA;IACpGC,SAAST,KAAK,SAAA,KAAc,OAAOI,SAAaJ,KAAK,SAAA,EAA0BK,IAAIK,iBAAAA;IACnFC,QAAQX,KAAK,QAAA,KAAa,OAAOI,SAAaJ,KAAK,QAAA,EAAyBK,IAAIO,aAAAA;IAChFC,eAAeb,KAAK,eAAA,KAAoB,OAAOI,SAAaJ,KAAK,eAAA,EAAgCK,IAAIS,qBAAAA;EACvG;AACF;AAZgBb;AAcT,SAASc,2BAA2Bf,MAAS;AAClD,SAAOgB,gCAAgChB,MAAM,KAAA;AAC/C;AAFgBe;AAIT,SAASC,gCAAgClB,OAAqCI,sBAA+B,OAAK;AACvH,MAAIJ,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLK,UAAUL,MAAM,UAAA,KAAe,OAAOM,SAAaN,MAAM,UAAA,EAA2BO,IAAIY,aAAAA;IACxFV,qBACET,MAAM,qBAAA,KAA0B,OAAOM,SAAaN,MAAM,qBAAA,EAAsCO,IAAIa,wBAAAA;IACtGT,SAASX,MAAM,SAAA,KAAc,OAAOM,SAAaN,MAAM,SAAA,EAA0BO,IAAIc,eAAAA;IACrFR,QAAQb,MAAM,QAAA,KAAa,OAAOM,SAAaN,MAAM,QAAA,EAAyBO,IAAIe,WAAAA;IAClFP,eAAef,MAAM,eAAA,KAAoB,OAAOM,SAAaN,MAAM,eAAA,EAAgCO,IAAIgB,mBAAAA;EACzG;AACF;AAbgBL;;;ACtCT,SAASM,2BAA2BC,OAAa;AACtD,MAAI,EAAE,aAAaA,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,SAAO;AACT;AAHgBF;AAKT,SAASG,yBAAyBC,MAAS;AAChD,SAAOC,8BAA8BD,MAAM,KAAA;AAC7C;AAFgBD;AAIT,SAASE,8BAA8BD,MAAWE,qBAA4B;AACnF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,SAASC,gBAAgBJ,KAAK,SAAA,CAAU;IACxCK,kBAAkBL,KAAK,kBAAA,KAAuB,OAAOF,SAAYQ,yBAAyBN,KAAK,kBAAA,CAAmB;IAClHO,cAAcP,KAAK,cAAA,KAAmB,OAAOF,SAAYE,KAAK,cAAA;IAC9DQ,4BAA4BR,KAAK,4BAAA,KAAiC,OAAOF,SAAYE,KAAK,4BAAA;EAC5F;AACF;AAVgBC;AAYT,SAASQ,uBAAuBT,MAAS;AAC9C,SAAOU,4BAA4BV,MAAM,KAAA;AAC3C;AAFgBS;AAIT,SAASC,4BAA4Bb,OAAiCK,sBAA+B,OAAK;AAC/G,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,SAASQ,cAAcd,MAAM,SAAA,CAAU;IACvCQ,kBAAkBO,uBAAuBf,MAAM,kBAAA,CAAmB;IAClEU,cAAcV,MAAM,cAAA;IACpBW,4BAA4BX,MAAM,4BAAA;EACpC;AACF;AAXgBa;;;ACiBT,SAASG,0BAA0BC,OAAa;AACrD,MAAI,EAAE,SAASA,UAAUA,MAAM,KAAA,MAAWC,OAAW,QAAO;AAC5D,SAAO;AACT;AAHgBF;AAKT,SAASG,wBAAwBC,MAAS;AAC/C,SAAOC,6BAA6BD,MAAM,KAAA;AAC5C;AAFgBD;AAIT,SAASE,6BAA6BD,MAAWE,qBAA4B;AAClF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,KAAKH,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5CI,KAAKC,YAAYL,KAAK,KAAA,CAAM;IAC5BM,oBAAoBN,KAAK,oBAAA,KAAyB,OAAOF,SAAYS,2BAA2BP,KAAK,oBAAA,CAAqB;IAC1HQ,eAAeR,KAAK,eAAA,KAAoB,OAAOF,SAAYW,sBAAsBT,KAAK,eAAA,CAAgB;IACtGU,KAAKV,KAAK,KAAA,KAAU,OAAOF,SAAYE,KAAK,KAAA;IAC5CW,OAAOX,KAAK,OAAA,KAAY,OAAOF,SAAYE,KAAK,OAAA;IAChDY,YAAYZ,KAAK,YAAA,KAAiB,OAAOF,SAAYE,KAAK,YAAA;IAC1Da,SAASb,KAAK,SAAA,KAAc,OAAOF,SAAYgB,gBAAgBd,KAAK,SAAA,CAAU;IAC9Ee,aAAaf,KAAK,aAAA,KAAkB,OAAOF,SAAYkB,oBAAoBhB,KAAK,aAAA,CAAc;IAC9FiB,MAAMjB,KAAK,MAAA,KAAW,OAAOF,SAAYE,KAAK,MAAA;EAChD;AACF;AAhBgBC;AAkBT,SAASiB,sBAAsBlB,MAAS;AAC7C,SAAOmB,2BAA2BnB,MAAM,KAAA;AAC1C;AAFgBkB;AAIT,SAASC,2BAA2BtB,OAAgCK,sBAA+B,OAAK;AAC7G,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,KAAKN,MAAM,KAAA;IACXO,KAAKgB,UAAUvB,MAAM,KAAA,CAAM;IAC3BS,oBAAoBe,yBAAyBxB,MAAM,oBAAA,CAAqB;IACxEW,eAAec,oBAAoBzB,MAAM,eAAA,CAAgB;IACzDa,KAAKb,MAAM,KAAA;IACXc,OAAOd,MAAM,OAAA;IACbe,YAAYf,MAAM,YAAA;IAClBgB,SAASU,cAAc1B,MAAM,SAAA,CAAU;IACvCkB,aAAaS,kBAAkB3B,MAAM,aAAA,CAAc;IACnDoB,MAAMpB,MAAM,MAAA;EACd;AACF;AAjBgBsB;;;ACzET,SAASM,oBAAoBC,OAAa;AAC/C,MAAI,EAAE,WAAWA,UAAUA,MAAM,OAAA,MAAaC,OAAW,QAAO;AAChE,MAAI,EAAE,eAAeD,UAAUA,MAAM,WAAA,MAAiBC,OAAW,QAAO;AACxE,SAAO;AACT;AAJgBF;AAMT,SAASG,kBAAkBC,MAAS;AACzC,SAAOC,uBAAuBD,MAAM,KAAA;AACtC;AAFgBD;AAIT,SAASE,uBAAuBD,MAAWE,qBAA4B;AAC5E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLH,OAAOG,KAAK,OAAA;IACZG,WAAWC,2BAA2BJ,KAAK,WAAA,CAAY;IACvDK,SAASL,KAAK,SAAA,KAAc,OAAOF,SAAYQ,gBAAgBN,KAAK,SAAA,CAAU;IAC9EO,UAAUP,KAAK,UAAA,KAAe,OAAOF,SAAYE,KAAK,UAAA;EACxD;AACF;AAVgBC;AAYT,SAASO,gBAAgBR,MAAS;AACvC,SAAOS,qBAAqBT,MAAM,KAAA;AACpC;AAFgBQ;AAIT,SAASC,qBAAqBZ,OAA0BK,sBAA+B,OAAK;AACjG,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLA,OAAOA,MAAM,OAAA;IACbM,WAAWO,yBAAyBb,MAAM,WAAA,CAAY;IACtDQ,SAASM,cAAcd,MAAM,SAAA,CAAU;IACvCU,UAAUV,MAAM,UAAA;EAClB;AACF;AAXgBY;;;ACxCT,SAASG,qBAAqBC,OAAa;AAChD,MAAI,EAAE,eAAeA,UAAUA,MAAM,WAAA,MAAiBC,OAAW,QAAO;AACxE,SAAO;AACT;AAHgBF;AAKT,SAASG,mBAAmBC,MAAS;AAC1C,SAAOC,wBAAwBD,MAAM,KAAA;AACvC;AAFgBD;AAIT,SAASE,wBAAwBD,MAAWE,qBAA4B;AAC7E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,WAAWC,kBAAkBJ,KAAK,WAAA,CAAY;IAC9CK,UAAUL,KAAK,UAAA,KAAe,OAAOF,SAAYE,KAAK,UAAA;EACxD;AACF;AARgBC;AAUT,SAASK,iBAAiBN,MAAS;AACxC,SAAOO,sBAAsBP,MAAM,KAAA;AACrC;AAFgBM;AAIT,SAASC,sBAAsBV,OAA2BK,sBAA+B,OAAK;AACnG,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,WAAWK,gBAAgBX,MAAM,WAAA,CAAY;IAC7CQ,UAAUR,MAAM,UAAA;EAClB;AACF;AATgBU;;;ACvBT,SAASE,mBAAmBC,OAAa;AAC9C,MAAI,EAAE,aAAaA,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,SAAO;AACT;AAHgBF;AAKT,SAASG,iBAAiBC,MAAS;AACxC,SAAOC,sBAAsBD,MAAM,KAAA;AACrC;AAFgBD;AAIT,SAASE,sBAAsBD,MAAWE,qBAA4B;AAC3E,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,SAASC,wBAAwBJ,KAAK,SAAA,CAAU;IAChDK,WAAWL,KAAK,WAAA,KAAgB,OAAOF,SAAYE,KAAK,WAAA;EAC1D;AACF;AARgBC;AAUT,SAASK,eAAeN,MAAS;AACtC,SAAOO,oBAAoBP,MAAM,KAAA;AACnC;AAFgBM;AAIT,SAASC,oBAAoBV,OAAyBK,sBAA+B,OAAK;AAC/F,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,SAASK,sBAAsBX,MAAM,SAAA,CAAU;IAC/CQ,WAAWR,MAAM,WAAA;EACnB;AACF;AATgBU;;;AC7BT,SAASE,2BAA2BC,OAAa;AACtD,MAAI,EAAE,aAAaA,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,SAAO;AACT;AAHgBF;AAKT,SAASG,yBAAyBC,MAAS;AAChD,SAAOC,8BAA8BD,MAAM,KAAA;AAC7C;AAFgBD;AAIT,SAASE,8BAA8BD,MAAWE,qBAA4B;AACnF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,SAASC,uBAAuBJ,KAAK,SAAA,CAAU;EACjD;AACF;AAPgBC;AAST,SAASI,uBAAuBL,MAAS;AAC9C,SAAOM,4BAA4BN,MAAM,KAAA;AAC3C;AAFgBK;AAIT,SAASC,4BAA4BT,OAAiCK,sBAA+B,OAAK;AAC/G,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,SAASI,qBAAqBV,MAAM,SAAA,CAAU;EAChD;AACF;AARgBS;;;ACFT,SAASE,4BAA4BC,OAAa;AACvD,SAAO;AACT;AAFgBD;AAIT,SAASE,0BAA0BC,MAAS;AACjD,SAAOC,+BAA+BD,MAAM,KAAA;AAC9C;AAFgBD;AAIT,SAASE,+BAA+BD,MAAWE,qBAA4B;AACpF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,uBAAuBH,KAAK,uBAAA,KAA4B,OAAOI,SAAYC,6BAA6BL,KAAK,uBAAA,CAAwB;IACrIM,gBAAgBN,KAAK,gBAAA,KAAqB,OAAOI,SAAYG,sBAAsBP,KAAK,gBAAA,CAAiB;IACzGQ,cAAcR,KAAK,cAAA,KAAmB,OAAOI,SAAYJ,KAAK,cAAA;IAC9DS,mBAAmBT,KAAK,mBAAA,KAAwB,OAAOI,SAAYJ,KAAK,mBAAA;EAC1E;AACF;AAVgBC;AAYT,SAASS,wBAAwBV,MAAS;AAC/C,SAAOW,6BAA6BX,MAAM,KAAA;AAC5C;AAFgBU;AAIT,SAASC,6BAA6Bb,OAAkCI,sBAA+B,OAAK;AACjH,MAAIJ,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLK,uBAAuBS,2BAA2Bd,MAAM,uBAAA,CAAwB;IAChFQ,gBAAgBO,oBAAoBf,MAAM,gBAAA,CAAiB;IAC3DU,cAAcV,MAAM,cAAA;IACpBW,mBAAmBX,MAAM,mBAAA;EAC3B;AACF;AAXgBa;;;AChCT,SAASG,6BAA6BC,OAAa;AACxD,MAAI,EAAE,aAAaA,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,MAAI,EAAE,WAAWD,UAAUA,MAAM,OAAA,MAAaC,OAAW,QAAO;AAChE,MAAI,EAAE,eAAeD,UAAUA,MAAM,WAAA,MAAiBC,OAAW,QAAO;AACxE,SAAO;AACT;AALgBF;AAOT,SAASG,2BAA2BC,MAAS;AAClD,SAAOC,gCAAgCD,MAAM,KAAA;AAC/C;AAFgBD;AAIT,SAASE,gCAAgCD,MAAWE,qBAA4B;AACrF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,SAASC,gBAAgBJ,KAAK,SAAA,CAAU;IACxCK,OAAOL,KAAK,OAAA;IACZM,WAAWN,KAAK,WAAA;EAClB;AACF;AATgBC;AAWT,SAASM,yBAAyBP,MAAS;AAChD,SAAOQ,8BAA8BR,MAAM,KAAA;AAC7C;AAFgBO;AAIT,SAASC,8BAA8BX,OAAmCK,sBAA+B,OAAK;AACnH,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,SAASM,cAAcZ,MAAM,SAAA,CAAU;IACvCQ,OAAOR,MAAM,OAAA;IACbS,WAAWT,MAAM,WAAA;EACnB;AACF;AAVgBW;;;ACzCT,SAASE,qCAAqCC,OAAa;AAChE,MAAI,EAAE,aAAaA,UAAUA,MAAM,SAAA,MAAeC,OAAW,QAAO;AACpE,SAAO;AACT;AAHgBF;AAKT,SAASG,mCAAmCC,MAAS;AAC1D,SAAOC,wCAAwCD,MAAM,KAAA;AACvD;AAFgBD;AAIT,SAASE,wCAAwCD,MAAWE,qBAA4B;AAC7F,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,SAASH,KAAK,SAAA;EAChB;AACF;AAPgBC;AAST,SAASG,iCAAiCJ,MAAS;AACxD,SAAOK,sCAAsCL,MAAM,KAAA;AACrD;AAFgBI;AAIT,SAASC,sCAAsCR,OAA2CK,sBAA+B,OAAK;AACnI,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,SAASN,MAAM,SAAA;EACjB;AACF;AARgBQ;;;ACXT,SAASC,gCAAgCC,OAAa;AAC3D,MAAI,EAAE,eAAeA,UAAUA,MAAM,WAAA,MAAiBC,OAAW,QAAO;AACxE,MAAI,EAAE,eAAeD,UAAUA,MAAM,WAAA,MAAiBC,OAAW,QAAO;AACxE,SAAO;AACT;AAJgBF;AAMT,SAASG,8BAA8BC,MAAS;AACrD,SAAOC,mCAAmCD,MAAM,KAAA;AAClD;AAFgBD;AAIT,SAASE,mCAAmCD,MAAWE,qBAA4B;AACxF,MAAIF,QAAQ,MAAM;AAChB,WAAOA;EACT;AACA,SAAO;IACLG,WAAWC,kBAAkBJ,KAAK,WAAA,CAAY;IAC9CK,WAAWC,kBAAkBN,KAAK,WAAA,CAAY;EAChD;AACF;AARgBC;AAUT,SAASM,4BAA4BP,MAAS;AACnD,SAAOQ,iCAAiCR,MAAM,KAAA;AAChD;AAFgBO;AAIT,SAASC,iCAAiCX,OAAsCK,sBAA+B,OAAK;AACzH,MAAIL,SAAS,MAAM;AACjB,WAAOA;EACT;AAEA,SAAO;IACLM,WAAWM,gBAAgBZ,MAAM,WAAA,CAAY;IAC7CQ,WAAWK,gBAAgBb,MAAM,WAAA,CAAY;EAC/C;AACF;AATgBW;;;A1DFhB,IAAMG,SAASC,yBAAQC,QAAQC,IAAI,kCAAA;AAK5B,IAAMC,gBAAN,MAAMA,eAAAA;EArEb,OAqEaA;;;EACFC,UAA0B;IACjCC,iBAAiB,KAAKA,gBAAgBC,KAAK,IAAI;IAC/CC,mBAAmB,KAAKA,kBAAkBD,KAAK,IAAI;IACnDE,mBAAmB,KAAKA,kBAAkBF,KAAK,IAAI;IACnDG,sBAAsB,KAAKA,qBAAqBH,KAAK,IAAI;IACzDI,oBAAoB,KAAKA,mBAAmBJ,KAAK,IAAI;IAErDK,yBAAyB,KAAKA,wBAAwBL,KAAK,IAAI;IAC/DM,2BAA2B,KAAKA,0BAA0BN,KAAK,IAAI;IACnEO,2BAA2B,KAAKA,0BAA0BP,KAAK,IAAI;IACnEQ,2BAA2B,KAAKA,0BAA0BR,KAAK,IAAI;IACnES,8BAA8B,KAAKA,6BAA6BT,KAAK,IAAI;IACzEU,yBAAyB,KAAKA,wBAAwBV,KAAK,IAAI;IAC/DW,4BAA4B,KAAKA,2BAA2BX,KAAK,IAAI;IAErEY,sBAAsB,KAAKA,qBAAqBZ,KAAK,IAAI;IACzDa,wBAAwB,KAAKA,uBAAuBb,KAAK,IAAI;IAC7Dc,qBAAqB,KAAKA,oBAAoBd,KAAK,IAAI;IAEvDe,6BAA6B,KAAKA,4BAA4Bf,KAAK,IAAI;IACvEgB,8BAA8B,KAAKA,6BAA6BhB,KAAK,IAAI;EAC3E;EAEiBiB;EACAC;EAEjB,YAAYC,MAA0B;AACpC,QAAIA,MAAMC,SAAS;AACjB,WAAKH,eAAeE,KAAKC;IAC3B;AACA,SAAKF,WAAWC,MAAME;EACxB;EAEA,OAAeC,YAAYC,MAAcH,SAAyB;AAChE,WAAO,GAAGA,OAAAA,GAAUG,KAAKC,WAAW,GAAA,IAAOD,OAAO,IAAIA,IAAAA,EAAM;EAC9D;;EAGA,MAAcX,qBAAqBO,MAAmD;AACpF,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,cAAcH,KAAKQ,UAAU,IAAIP,OAAAA;AAEvE,UAAMQ,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEC,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;IACnF,CAAA;AACAzC,WAAO0C,MAAM,0BAA0BP,QAAAA,EAAU;AAEjD,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAOU,sBAAsB,MAAMV,SAASW,KAAI,GAAI,KAAA;EACtD;;EAGA,MAAc1B,uBAAuBM,MAAmE;AACtG,UAAMC,UAAU,KAAKK,qBAAqBN,MAAMC,OAAAA;AAChD,UAAMM,MAAM7B,eAAcyB,YAAY,cAAcF,OAAAA;AAEpD,UAAMQ,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEC,UAAUd,MAAMc;QAAUC,QAAQf,MAAMe;MAAO,CAAA;IACrF,CAAA;AACAzC,WAAO0C,MAAM,4BAA4BP,QAAAA,EAAU;AAEnD,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAOY,mCAAmC,MAAMZ,SAASW,KAAI,GAAI,KAAA;EACnE;;EAGA,MAAczB,oBAAoBK,MAAyD;AACzF,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,cAAcH,KAAKQ,UAAU,YAAYP,OAAAA;AAE/E,UAAMqB,OAAO;MACXC,SAASvB,KAAKuB;MACdC,kBAAkBxB,KAAKwB;MACvBC,cAAczB,KAAKyB;MACnBC,4BAA4B1B,KAAK0B;IACnC;AACA,UAAMjB,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEc,aAAa;QAAoBb,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;MAClHO,MAAMM,KAAKC,UAAUC,4BAA4BR,IAAAA,CAAAA;IACnD,CAAA;AACAhD,WAAO0C,MAAM,yBAAyBP,QAAAA,EAAU;AAEhD,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAOsB,6BAA6B,MAAMtB,SAASW,KAAI,GAAI,KAAA;EAC7D;;EAGA,MAAcxB,4BAA4BI,MAA4E;AACpH,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,0BAA0BF,OAAAA;AAEhE,UAAMqB,OAAO;MACXC,SAASvB,KAAKuB;MACdS,OAAOhC,KAAKgC;IACd;AACA,UAAMvB,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEc,aAAa;QAAoBb,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;MAClHO,MAAMM,KAAKC,UAAUI,8BAA8BX,IAAAA,CAAAA;IACrD,CAAA;AACAhD,WAAO0C,MAAM,kCAAkCP,QAAAA,EAAU;AAEzD,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAOyB,wCAAwC,MAAMzB,SAASW,KAAI,GAAI,KAAA;EACxE;;EAGA,MAAcvB,6BAA6BG,MAA6E;AACtH,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,0BAA0BF,OAAAA;AAEhE,UAAMqB,OAAO;MACXC,SAASvB,KAAKuB;MACdY,WAAWnC,KAAKmC;MAChBH,OAAOhC,KAAKgC;IACd;AACA,UAAMvB,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEc,aAAa;QAAoBb,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;MAClHO,MAAMM,KAAKC,UAAUO,8BAA8Bd,IAAAA,CAAAA;IACrD,CAAA;AACAhD,WAAO0C,MAAM,kCAAkCP,QAAAA,EAAU;AAEzD,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAO4B,wCAAwC,MAAM5B,SAASW,KAAI,GAAI,KAAA;EACxE;;EAGA,MAAcxC,gBAAgBoB,MAAoD;AAChF,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,SAASH,KAAKsC,UAAU,IAAIrC,OAAAA;AAElE,UAAMQ,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEC,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;IACnF,CAAA;AACAzC,WAAO0C,MAAM,qBAAqBP,QAAAA,EAAU;AAE5C,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAO8B,4BAA4B,MAAM9B,SAASW,KAAI,GAAI,KAAA;EAC5D;;EAGA,MAActC,kBAAkBkB,MAAyD;AACvF,UAAMC,UAAU,KAAKK,qBAAqBN,MAAMC,OAAAA;AAChD,UAAMM,MAAM,KAAKiC,gBAAgB9D,eAAcyB,YAAY,SAASF,OAAAA,GAAU;MAAE,GAAID,MAAMyC,cAAc;QAAEA,YAAYzC,KAAKyC;MAAW;IAAG,CAAA;AACzI,UAAMhC,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEC,UAAUd,MAAMc;QAAUC,QAAQf,MAAMe;MAAO,CAAA;IACrF,CAAA;AACAzC,WAAO0C,MAAM,uBAAuBP,QAAAA,EAAU;AAE9C,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,IAAImC,SAAQ,GAAIjC,QAAAA;IAC9C;AAEA,WAAOkC,8BAA8B,MAAMlC,SAASW,KAAI,GAAI,KAAA;EAC9D;;EAGA,MAAcrC,kBAAkBiB,MAAwD;AACtF,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,SAASF,OAAAA;AAE/C,UAAMqB,OAAO;MACXC,SAASvB,KAAKuB;MACdqB,WAAW5C,KAAK4C;IAClB;AACA,UAAMnC,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEc,aAAa;QAAoBb,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;MAClHO,MAAMM,KAAKC,UAAUgB,oBAAoBvB,IAAAA,CAAAA;IAC3C,CAAA;AACAhD,WAAO0C,MAAM,uBAAuBP,QAAAA,EAAU;AAE9C,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAOqC,8BAA8B,MAAMrC,SAASW,KAAI,GAAI,KAAA;EAC9D;;EAGA,MAAcpC,qBAAqBgB,MAA8D;AAC/F,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,kBAAkBF,OAAAA;AAExD,UAAMqB,OAAO;MACXyB,KAAK/C,KAAK+C;MACVC,eAAehD,KAAKgD;MACpBP,YAAYzC,KAAKyC;MACjBQ,KAAKjD,KAAKiD;IACZ;AACA,UAAMxC,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEc,aAAa;QAAoBb,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;MAClHO,MAAMM,KAAKC,UAAUqB,6BAA6B5B,IAAAA,CAAAA;IACpD,CAAA;AACAhD,WAAO0C,MAAM,0BAA0BP,QAAAA,EAAU;AAEjD,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAO0C,iCAAiC,MAAM1C,SAASW,KAAI,GAAI,KAAA;EACjE;;EAGA,MAAcnC,mBAAmBe,MAAgD;AAC/E,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,SAASH,KAAKsC,UAAU,IAAIrC,OAAAA;AAElE,UAAMQ,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEC,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;IACnF,CAAA;AACAzC,WAAO0C,MAAM,wBAAwBP,QAAAA,EAAU;AAE/C,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAO;EACT;;EAGA,MAAcvB,wBAAwBc,MAAiE;AACrG,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,cAAcH,KAAKyC,UAAU,IAAIxC,OAAAA;AAEvE,UAAMQ,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEC,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;IACnF,CAAA;AACAzC,WAAO0C,MAAM,0BAA0BP,QAAAA,EAAU;AAEjD,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAO2C,iCAAiC,MAAM3C,SAASW,KAAI,GAAI,KAAA;EACjE;;EAGA,MAAcjC,0BAA0Ba,MAAyE;AAC/G,UAAMC,UAAU,KAAKK,qBAAqBN,MAAMC,OAAAA;AAChD,UAAMM,MAAM7B,eAAcyB,YAAY,cAAcF,OAAAA;AAEpD,UAAMQ,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEC,UAAUd,MAAMc;QAAUC,QAAQf,MAAMe;MAAO,CAAA;IACrF,CAAA;AACAzC,WAAO0C,MAAM,4BAA4BP,QAAAA,EAAU;AAEnD,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAO4C,sCAAsC,MAAM5C,SAASW,KAAI,GAAI,KAAA;EACtE;;EAGA,MAAchC,0BAA0BY,MAAgE;AACtG,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,cAAcH,KAAKyC,UAAU,SAASxC,OAAAA;AAE5E,UAAMQ,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEC,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;IACnF,CAAA;AACAzC,WAAO0C,MAAM,gCAAgCP,QAAAA,EAAU;AAEvD,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAOkC,8BAA8B,MAAMlC,SAASW,KAAI,GAAI,KAAA;EAC9D;;EAGA,MAAc/B,0BAA0BW,MAAgE;AACtG,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,cAAcH,KAAKyC,UAAU,SAASxC,OAAAA;AAE5E,UAAMqB,OAAO;MACXC,SAASvB,KAAKuB;MACdqB,WAAW5C,KAAK4C;IAClB;AACA,UAAMnC,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEc,aAAa;QAAoBb,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;MAClHO,MAAMM,KAAKC,UAAUgB,oBAAoBvB,IAAAA,CAAAA;IAC3C,CAAA;AACAhD,WAAO0C,MAAM,gCAAgCP,QAAAA,EAAU;AAEvD,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAOqC,8BAA8B,MAAMrC,SAASW,KAAI,GAAI,KAAA;EAC9D;;EAGA,MAAc9B,6BAA6BU,MAAsE;AAC/G,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,cAAcH,KAAKyC,UAAU,kBAAkBxC,OAAAA;AAErF,UAAMqB,OAAO;MACXyB,KAAK/C,KAAK+C;MACVC,eAAehD,KAAKgD;MACpBC,KAAKjD,KAAKiD;MACVK,OAAOtD,KAAKsD;IACd;AACA,UAAM7C,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEc,aAAa;QAAoBb,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;MAClHO,MAAMM,KAAKC,UAAU0B,uBAAuBjC,IAAAA,CAAAA;IAC9C,CAAA;AACAhD,WAAO0C,MAAM,mCAAmCP,QAAAA,EAAU;AAE1D,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAO0C,iCAAiC,MAAM1C,SAASW,KAAI,GAAI,KAAA;EACjE;;EAGA,MAAc7B,wBAAwBS,MAA4D;AAChG,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,cAAcH,KAAKyC,UAAU,SAASzC,KAAKsC,UAAU,IAAIrC,OAAAA;AAE/F,UAAMQ,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEC,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;IACnF,CAAA;AACAzC,WAAO0C,MAAM,8BAA8BP,QAAAA,EAAU;AAErD,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAO8B,4BAA4B,MAAM9B,SAASW,KAAI,GAAI,KAAA;EAC5D;;EAGA,MAAc5B,2BAA2BQ,MAAwD;AAC/F,UAAMC,UAAU,KAAKK,qBAAqBN,KAAKC,OAAO;AACtD,UAAMM,MAAM7B,eAAcyB,YAAY,aAAaH,KAAKyC,UAAU,SAASzC,KAAKsC,UAAU,IAAIrC,OAAAA;AAE9F,UAAMQ,WAAW,UAAMC,0BAAMH,KAAK;MAChCI,QAAQ;MACRC,SAAS,MAAM,KAAKC,cAAc;QAAEC,UAAUd,KAAKc;QAAUC,QAAQf,KAAKe;MAAO,CAAA;IACnF,CAAA;AACAzC,WAAO0C,MAAM,wBAAwBP,QAAAA,EAAU;AAE/C,QAAI,CAACA,SAASQ,IAAI;AAChB,aAAO,KAAKC,gBAAgBX,KAAKE,QAAAA;IACnC;AAEA,WAAO;EACT;EAEQH,qBAAqBL,SAA0B;AACrD,QAAIA,SAAS;AACX,aAAOA;IACT,WAAW,KAAKH,cAAc;AAC5B,aAAO,KAAKA;IACd;AACA,UAAM,IAAI0D,MAAM,+BAAA;EAClB;EAEA,MAAc3C,cAAcb,MAA2F;AACrH,UAAMY,UAAuB;MAC3B,GAAIZ,MAAM2B,cAAc;QAAE,gBAAgB3B,KAAK2B;MAAY,IAAI,CAAC;MAChE,GAAI3B,MAAMc,WAAW;QAAE,eAAed,KAAKc;MAAS,IAAI,CAAC;MACzD,GAAId,MAAMe,SAAS;QAAE,aAAaf,KAAKe;MAAO,IAAI,CAAC;MACnD0C,QAAQ;IACV;AAEA,QAAI,KAAK1D,UAAU2D,YAAY,MAAM;AACnC,UAAI,CAAC,KAAK3D,SAAS4D,aAAa;AAC9B,cAAMH,MAAM,4FAA4F;MAC1G;AACA5C,cAAQgD,gBAAgB,UACtB,OAAO,KAAK7D,SAAS4D,gBAAgB,WAAW,KAAK5D,SAAS4D,cAAc,MAAM,KAAK5D,SAAS4D,YAAW,CAAA;IAE/G;AACA,WAAO/C;EACT;EAEQ4B,gBAAgBvC,SAAiB4D,QAAwD;AAC/F,UAAMtD,MAAM,IAAIuD,IAAI7D,OAAAA;AAEpB,eAAW,CAAC8D,KAAKC,KAAAA,KAAUC,OAAOC,QAAQL,MAAAA,GAAS;AACjDtD,UAAI4D,aAAaC,IAAIL,KAAKM,OAAOL,KAAAA,CAAAA;IACnC;AAEA,WAAOzD;EACT;EAEA,MAAcW,gBAAgBX,KAAaE,UAAoC;AAC7E,UAAMkB,cAAclB,SAASG,QAAQnC,IAAI,cAAA;AACzC,UAAM6F,SAAS3C,aAAa4C,SAAS,kBAAA;AACrC,UAAMC,eAAeF,SAAS1C,KAAKC,UAAU,MAAMpB,SAASW,KAAI,CAAA,IAAM,MAAMX,SAASgE,KAAI;AAEzF,WAAOC,QAAQC,OAAOnB,MAAM,cAAcjD,GAAAA,wBAA2BE,SAASmE,MAAM,MAAMJ,YAAAA,EAAc,CAAA;EAC1G;AACF;","names":["LookupMode","Value","ConfigService","SecretService","instanceOfLookupMode","value","key","Object","prototype","hasOwnProperty","call","LookupModeFromJSON","json","LookupModeFromJSONTyped","ignoreDiscriminator","LookupModeToJSON","LookupModeToJSONTyped","instanceOfAwsAssumeRoleCredentials","value","undefined","AwsAssumeRoleCredentialsFromJSON","json","AwsAssumeRoleCredentialsFromJSONTyped","ignoreDiscriminator","roleArn","roleSessionName","externalId","lookupMode","LookupModeFromJSON","AwsAssumeRoleCredentialsToJSON","AwsAssumeRoleCredentialsToJSONTyped","LookupModeToJSON","instanceOfAwsClientConfiguration","value","AwsClientConfigurationFromJSON","json","AwsClientConfigurationFromJSONTyped","ignoreDiscriminator","connectionTimeoutInMillis","undefined","socketTimeoutInMillis","AwsClientConfigurationToJSON","AwsClientConfigurationToJSONTyped","instanceOfAwsStaticCredentials","value","undefined","AwsStaticCredentialsFromJSON","json","AwsStaticCredentialsFromJSONTyped","ignoreDiscriminator","accesskid","secretAccessKey","sessionToken","lookupMode","LookupModeFromJSON","AwsStaticCredentialsToJSON","AwsStaticCredentialsToJSONTyped","LookupModeToJSON","instanceOfAwsWebIdentityTokenCredentials","value","undefined","AwsWebIdentityTokenCredentialsFromJSON","json","AwsWebIdentityTokenCredentialsFromJSONTyped","ignoreDiscriminator","roleArn","roleSessionName","webIdentityToken","lookupMode","LookupModeFromJSON","AwsWebIdentityTokenCredentialsToJSON","AwsWebIdentityTokenCredentialsToJSONTyped","LookupModeToJSON","instanceOfAwsKmsSetting","value","undefined","AwsKmsSettingFromJSON","json","AwsKmsSettingFromJSONTyped","ignoreDiscriminator","region","staticCredentials","AwsStaticCredentialsFromJSON","assumeRoleCredentials","AwsAssumeRoleCredentialsFromJSON","webIdentityTokenCredentials","AwsWebIdentityTokenCredentialsFromJSON","endpointUrl","clientConfiguration","AwsClientConfigurationFromJSON","AwsKmsSettingToJSON","AwsKmsSettingToJSONTyped","AwsStaticCredentialsToJSON","AwsAssumeRoleCredentialsToJSON","AwsWebIdentityTokenCredentialsToJSON","AwsClientConfigurationToJSON","instanceOfAzureClientSecretCredentialOpts","value","undefined","AzureClientSecretCredentialOptsFromJSON","json","AzureClientSecretCredentialOptsFromJSONTyped","ignoreDiscriminator","clientId","clientSecret","lookupMode","LookupModeFromJSON","AzureClientSecretCredentialOptsToJSON","AzureClientSecretCredentialOptsToJSONTyped","LookupModeToJSON","instanceOfAzureCredentialOpts","value","AzureCredentialOptsFromJSON","json","AzureCredentialOptsFromJSONTyped","ignoreDiscriminator","clientSecretCredentialOpts","undefined","AzureClientSecretCredentialOptsFromJSON","AzureCredentialOptsToJSON","AzureCredentialOptsToJSONTyped","AzureClientSecretCredentialOptsToJSON","instanceOfAzureKeyVaultSetting","value","undefined","AzureKeyVaultSettingFromJSON","json","AzureKeyVaultSettingFromJSONTyped","ignoreDiscriminator","keyvaultUrl","tenantId","credentialOpts","AzureCredentialOptsFromJSON","applicationId","lookupMode","LookupModeFromJSON","AzureKeyVaultSettingToJSON","AzureKeyVaultSettingToJSONTyped","AzureCredentialOptsToJSON","LookupModeToJSON","CoseKeyType","NUMBER_1","NUMBER_2","NUMBER_3","NUMBER_4","instanceOfCoseKeyType","value","key","Object","prototype","hasOwnProperty","call","CoseKeyTypeFromJSON","json","CoseKeyTypeFromJSONTyped","ignoreDiscriminator","CoseKeyTypeToJSON","CoseKeyTypeToJSONTyped","instanceOfCoseKey","value","undefined","CoseKeyFromJSON","json","CoseKeyFromJSONTyped","ignoreDiscriminator","kty","CoseKeyTypeFromJSON","kid","alg","keyOps","baseIV","crv","x","y","d","x5chain","CoseKeyToJSON","CoseKeyToJSONTyped","CoseKeyTypeToJSON","key_ops","instanceOfCoseKeyPair","value","undefined","CoseKeyPairFromJSON","json","CoseKeyPairFromJSONTyped","ignoreDiscriminator","privateCoseKey","CoseKeyFromJSON","publicCoseKey","CoseKeyPairToJSON","CoseKeyPairToJSONTyped","CoseKeyToJSON","KeyProviderType","Software","AzureKeyvault","AwsKms","instanceOfKeyProviderType","value","key","Object","prototype","hasOwnProperty","call","KeyProviderTypeFromJSON","json","KeyProviderTypeFromJSONTyped","ignoreDiscriminator","KeyProviderTypeToJSON","KeyProviderTypeToJSONTyped","instanceOfCreateKeyProvider","value","undefined","CreateKeyProviderFromJSON","json","CreateKeyProviderFromJSONTyped","ignoreDiscriminator","type","KeyProviderTypeFromJSON","azureKeyvaultSettings","AzureKeyVaultSettingFromJSON","awsKmsSettings","AwsKmsSettingFromJSON","cacheEnabled","cacheTTLInSeconds","CreateKeyProviderToJSON","CreateKeyProviderToJSONTyped","KeyProviderTypeToJSON","AzureKeyVaultSettingToJSON","AwsKmsSettingToJSON","KeyType","Okp","Ec","Rsa","instanceOfKeyType","value","key","Object","prototype","hasOwnProperty","call","KeyTypeFromJSON","json","KeyTypeFromJSONTyped","ignoreDiscriminator","KeyTypeToJSON","KeyTypeToJSONTyped","KeyVisibility","Public","Private","instanceOfKeyVisibility","value","key","Object","prototype","hasOwnProperty","call","KeyVisibilityFromJSON","json","KeyVisibilityFromJSONTyped","ignoreDiscriminator","KeyVisibilityToJSON","KeyVisibilityToJSONTyped","SignatureAlgorithm","Ed25519","EcdsaSha256","EcdsaSha384","EcdsaSha512","Es256K","EckaDhSha256","HmacSha256","HmacSha384","HmacSha512","RsaSsaPssSha256Mgf1","RsaSsaPssSha384Mgf1","RsaSsaPssSha512Mgf1","instanceOfSignatureAlgorithm","value","key","Object","prototype","hasOwnProperty","call","SignatureAlgorithmFromJSON","json","SignatureAlgorithmFromJSONTyped","ignoreDiscriminator","SignatureAlgorithmToJSON","SignatureAlgorithmToJSONTyped","KeyEncoding","Cose","Jose","instanceOfKeyEncoding","value","key","Object","prototype","hasOwnProperty","call","KeyEncodingFromJSON","json","KeyEncodingFromJSONTyped","ignoreDiscriminator","KeyEncodingToJSON","KeyEncodingToJSONTyped","Curve","P256","P384","P521","Secp256k1","Ed25519","Ed448","X25519","X448","instanceOfCurve","value","key","Object","prototype","hasOwnProperty","call","CurveFromJSON","json","CurveFromJSONTyped","ignoreDiscriminator","CurveToJSON","CurveToJSONTyped","KeyOperations","Sign","Verify","Encrypt","Decrypt","WrapKey","UnwrapKey","DeriveKey","DeriveBits","instanceOfKeyOperations","value","key","Object","prototype","hasOwnProperty","call","KeyOperationsFromJSON","json","KeyOperationsFromJSONTyped","ignoreDiscriminator","KeyOperationsToJSON","KeyOperationsToJSONTyped","JwkUse","Sig","Enc","instanceOfJwkUse","value","key","Object","prototype","hasOwnProperty","call","JwkUseFromJSON","json","JwkUseFromJSONTyped","ignoreDiscriminator","JwkUseToJSON","JwkUseToJSONTyped","JwkKeyType","Ec","Rsa","Okp","Oct","instanceOfJwkKeyType","value","key","Object","prototype","hasOwnProperty","call","JwkKeyTypeFromJSON","json","JwkKeyTypeFromJSONTyped","ignoreDiscriminator","JwkKeyTypeToJSON","JwkKeyTypeToJSONTyped","instanceOfJwk","value","undefined","JwkFromJSON","json","JwkFromJSONTyped","ignoreDiscriminator","kty","JwkKeyTypeFromJSON","kid","alg","use","JwkUseFromJSON","keyOps","map","KeyOperationsFromJSON","crv","CurveFromJSON","x","y","d","n","e","p","q","dp","dq","qi","k","x5c","x5t","x5u","x5tS256","JwkToJSON","JwkToJSONTyped","JwkKeyTypeToJSON","JwkUseToJSON","key_ops","KeyOperationsToJSON","CurveToJSON","instanceOfKeyInfo","value","KeyInfoFromJSON","json","KeyInfoFromJSONTyped","ignoreDiscriminator","kid","undefined","key","JwkFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","keyVisibility","KeyVisibilityFromJSON","x5c","alias","providerId","keyType","KeyTypeFromJSON","keyEncoding","KeyEncodingFromJSON","opts","KeyInfoToJSON","KeyInfoToJSONTyped","JwkToJSON","SignatureAlgorithmToJSON","KeyVisibilityToJSON","KeyTypeToJSON","KeyEncodingToJSON","instanceOfCreateRawSignature","value","undefined","CreateRawSignatureFromJSON","json","CreateRawSignatureFromJSONTyped","ignoreDiscriminator","keyInfo","KeyInfoFromJSON","input","CreateRawSignatureToJSON","CreateRawSignatureToJSONTyped","KeyInfoToJSON","instanceOfCreateRawSignatureResponse","value","undefined","CreateRawSignatureResponseFromJSON","json","CreateRawSignatureResponseFromJSONTyped","ignoreDiscriminator","signature","CreateRawSignatureResponseToJSON","CreateRawSignatureResponseToJSONTyped","SignInputModeEnum","Detached","Attached","instanceOfSignInput","value","undefined","SignInputFromJSON","json","SignInputFromJSONTyped","ignoreDiscriminator","data","mode","metadata","SignInputToJSON","SignInputToJSONTyped","instanceOfCreateSimpleSignature","value","undefined","CreateSimpleSignatureFromJSON","json","CreateSimpleSignatureFromJSONTyped","ignoreDiscriminator","signInput","SignInputFromJSON","keyInfo","KeyInfoFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","CreateSimpleSignatureToJSON","CreateSimpleSignatureToJSONTyped","SignInputToJSON","KeyInfoToJSON","SignatureAlgorithmToJSON","CryptoAlg","Ed25519","Ecdsa","Hmac","Rsa","instanceOfCryptoAlg","value","key","Object","prototype","hasOwnProperty","call","CryptoAlgFromJSON","json","CryptoAlgFromJSONTyped","ignoreDiscriminator","CryptoAlgToJSON","CryptoAlgToJSONTyped","DigestAlg","None","Sha256","Sha384","Sha512","Sha3256","Sha3384","Sha3512","instanceOfDigestAlg","value","key","Object","prototype","hasOwnProperty","call","DigestAlgFromJSON","json","DigestAlgFromJSONTyped","ignoreDiscriminator","DigestAlgToJSON","DigestAlgToJSONTyped","instanceOfErrorResponse","value","undefined","ErrorResponseFromJSON","json","ErrorResponseFromJSONTyped","ignoreDiscriminator","code","message","details","ErrorResponseToJSON","ErrorResponseToJSONTyped","instanceOfGenerateKey","value","GenerateKeyFromJSON","json","GenerateKeyFromJSONTyped","ignoreDiscriminator","alias","undefined","use","JwkUseFromJSON","keyOperations","map","KeyOperationsFromJSON","alg","SignatureAlgorithmFromJSON","GenerateKeyToJSON","GenerateKeyToJSONTyped","JwkUseToJSON","KeyOperationsToJSON","SignatureAlgorithmToJSON","instanceOfGenerateKeyGlobal","value","GenerateKeyGlobalFromJSON","json","GenerateKeyGlobalFromJSONTyped","ignoreDiscriminator","alias","undefined","use","JwkUseFromJSON","keyOperations","map","KeyOperationsFromJSON","alg","SignatureAlgorithmFromJSON","providerId","GenerateKeyGlobalToJSON","GenerateKeyGlobalToJSONTyped","JwkUseToJSON","KeyOperationsToJSON","SignatureAlgorithmToJSON","instanceOfJoseKeyPair","value","undefined","JoseKeyPairFromJSON","json","JoseKeyPairFromJSONTyped","ignoreDiscriminator","privateJwk","JwkFromJSON","publicJwk","JoseKeyPairToJSON","JoseKeyPairToJSONTyped","JwkToJSON","instanceOfManagedKeyPair","value","undefined","ManagedKeyPairFromJSON","json","ManagedKeyPairFromJSONTyped","ignoreDiscriminator","kid","providerId","alias","cose","CoseKeyPairFromJSON","jose","JoseKeyPairFromJSON","ManagedKeyPairToJSON","ManagedKeyPairToJSONTyped","CoseKeyPairToJSON","JoseKeyPairToJSON","instanceOfGenerateKeyResponse","value","undefined","GenerateKeyResponseFromJSON","json","GenerateKeyResponseFromJSONTyped","ignoreDiscriminator","keyPair","ManagedKeyPairFromJSON","GenerateKeyResponseToJSON","GenerateKeyResponseToJSONTyped","ManagedKeyPairToJSON","instanceOfManagedKeyInfo","value","undefined","ManagedKeyInfoFromJSON","json","ManagedKeyInfoFromJSONTyped","ignoreDiscriminator","kid","key","JwkFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","keyVisibility","KeyVisibilityFromJSON","x5c","alias","providerId","keyType","KeyTypeFromJSON","keyEncoding","KeyEncodingFromJSON","opts","ManagedKeyInfoToJSON","ManagedKeyInfoToJSONTyped","JwkToJSON","SignatureAlgorithmToJSON","KeyVisibilityToJSON","KeyTypeToJSON","KeyEncodingToJSON","instanceOfGetKeyResponse","value","undefined","GetKeyResponseFromJSON","json","GetKeyResponseFromJSONTyped","ignoreDiscriminator","keyInfo","ManagedKeyInfoFromJSON","GetKeyResponseToJSON","GetKeyResponseToJSONTyped","ManagedKeyInfoToJSON","IdentifierMethod","Jwk","Kid","CoseKey","X5C","Did","instanceOfIdentifierMethod","value","key","Object","prototype","hasOwnProperty","call","IdentifierMethodFromJSON","json","IdentifierMethodFromJSONTyped","ignoreDiscriminator","IdentifierMethodToJSON","IdentifierMethodToJSONTyped","instanceOfKeyProvider","value","undefined","KeyProviderFromJSON","json","KeyProviderFromJSONTyped","ignoreDiscriminator","providerId","type","KeyProviderTypeFromJSON","KeyProviderToJSON","KeyProviderToJSONTyped","KeyProviderTypeToJSON","instanceOfKeyProviderResponse","value","undefined","KeyProviderResponseFromJSON","json","KeyProviderResponseFromJSONTyped","ignoreDiscriminator","providerId","type","KeyProviderTypeFromJSON","KeyProviderResponseToJSON","KeyProviderResponseToJSONTyped","KeyProviderTypeToJSON","instanceOfKeyResolver","value","undefined","KeyResolverFromJSON","json","KeyResolverFromJSONTyped","ignoreDiscriminator","resolverId","supportedIdentifierMethods","map","IdentifierMethodFromJSON","supportedKeyTypes","KeyTypeFromJSON","KeyResolverToJSON","KeyResolverToJSONTyped","IdentifierMethodToJSON","KeyTypeToJSON","instanceOfListKeyProvidersResponse","value","undefined","ListKeyProvidersResponseFromJSON","json","ListKeyProvidersResponseFromJSONTyped","ignoreDiscriminator","providers","map","KeyProviderFromJSON","ListKeyProvidersResponseToJSON","ListKeyProvidersResponseToJSONTyped","KeyProviderToJSON","instanceOfListKeysResponse","value","undefined","ListKeysResponseFromJSON","json","ListKeysResponseFromJSONTyped","ignoreDiscriminator","keyInfos","map","ManagedKeyInfoFromJSON","ListKeysResponseToJSON","ListKeysResponseToJSONTyped","ManagedKeyInfoToJSON","instanceOfResolver","value","undefined","ResolverFromJSON","json","ResolverFromJSONTyped","ignoreDiscriminator","resolverId","supportedIdentifierMethods","map","IdentifierMethodFromJSON","supportedKeyTypes","KeyTypeFromJSON","ResolverToJSON","ResolverToJSONTyped","IdentifierMethodToJSON","KeyTypeToJSON","instanceOfListResolversResponse","value","undefined","ListResolversResponseFromJSON","json","ListResolversResponseFromJSONTyped","ignoreDiscriminator","resolvers","map","ResolverFromJSON","ListResolversResponseToJSON","ListResolversResponseToJSONTyped","ResolverToJSON","MaskGenFunction","Mgf1","instanceOfMaskGenFunction","value","key","Object","prototype","hasOwnProperty","call","MaskGenFunctionFromJSON","json","MaskGenFunctionFromJSONTyped","ignoreDiscriminator","MaskGenFunctionToJSON","MaskGenFunctionToJSONTyped","instanceOfProviderCapabilities","value","ProviderCapabilitiesFromJSON","json","ProviderCapabilitiesFromJSONTyped","ignoreDiscriminator","keyTypes","undefined","map","KeyTypeFromJSON","signatureAlgorithms","SignatureAlgorithmFromJSON","digests","DigestAlgFromJSON","curves","CurveFromJSON","keyOperations","KeyOperationsFromJSON","ProviderCapabilitiesToJSON","ProviderCapabilitiesToJSONTyped","KeyTypeToJSON","SignatureAlgorithmToJSON","DigestAlgToJSON","CurveToJSON","KeyOperationsToJSON","instanceOfResolvePublicKey","value","undefined","ResolvePublicKeyFromJSON","json","ResolvePublicKeyFromJSONTyped","ignoreDiscriminator","keyInfo","KeyInfoFromJSON","identifierMethod","IdentifierMethodFromJSON","trustedCerts","verifyX509CertificateChain","ResolvePublicKeyToJSON","ResolvePublicKeyToJSONTyped","KeyInfoToJSON","IdentifierMethodToJSON","instanceOfResolvedKeyInfo","value","undefined","ResolvedKeyInfoFromJSON","json","ResolvedKeyInfoFromJSONTyped","ignoreDiscriminator","kid","key","JwkFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","keyVisibility","KeyVisibilityFromJSON","x5c","alias","providerId","keyType","KeyTypeFromJSON","keyEncoding","KeyEncodingFromJSON","opts","ResolvedKeyInfoToJSON","ResolvedKeyInfoToJSONTyped","JwkToJSON","SignatureAlgorithmToJSON","KeyVisibilityToJSON","KeyTypeToJSON","KeyEncodingToJSON","instanceOfSignature","value","undefined","SignatureFromJSON","json","SignatureFromJSONTyped","ignoreDiscriminator","algorithm","SignatureAlgorithmFromJSON","keyInfo","KeyInfoFromJSON","metadata","SignatureToJSON","SignatureToJSONTyped","SignatureAlgorithmToJSON","KeyInfoToJSON","instanceOfSignOutput","value","undefined","SignOutputFromJSON","json","SignOutputFromJSONTyped","ignoreDiscriminator","signature","SignatureFromJSON","metadata","SignOutputToJSON","SignOutputToJSONTyped","SignatureToJSON","instanceOfStoreKey","value","undefined","StoreKeyFromJSON","json","StoreKeyFromJSONTyped","ignoreDiscriminator","keyInfo","ResolvedKeyInfoFromJSON","certChain","StoreKeyToJSON","StoreKeyToJSONTyped","ResolvedKeyInfoToJSON","instanceOfStoreKeyResponse","value","undefined","StoreKeyResponseFromJSON","json","StoreKeyResponseFromJSONTyped","ignoreDiscriminator","keyInfo","ManagedKeyInfoFromJSON","StoreKeyResponseToJSON","StoreKeyResponseToJSONTyped","ManagedKeyInfoToJSON","instanceOfUpdateKeyProvider","value","UpdateKeyProviderFromJSON","json","UpdateKeyProviderFromJSONTyped","ignoreDiscriminator","azureKeyvaultSettings","undefined","AzureKeyVaultSettingFromJSON","awsKmsSettings","AwsKmsSettingFromJSON","cacheEnabled","cacheTTLInSeconds","UpdateKeyProviderToJSON","UpdateKeyProviderToJSONTyped","AzureKeyVaultSettingToJSON","AwsKmsSettingToJSON","instanceOfVerifyRawSignature","value","undefined","VerifyRawSignatureFromJSON","json","VerifyRawSignatureFromJSONTyped","ignoreDiscriminator","keyInfo","KeyInfoFromJSON","input","signature","VerifyRawSignatureToJSON","VerifyRawSignatureToJSONTyped","KeyInfoToJSON","instanceOfVerifyRawSignatureResponse","value","undefined","VerifyRawSignatureResponseFromJSON","json","VerifyRawSignatureResponseFromJSONTyped","ignoreDiscriminator","isValid","VerifyRawSignatureResponseToJSON","VerifyRawSignatureResponseToJSONTyped","instanceOfVerifySimpleSignature","value","undefined","VerifySimpleSignatureFromJSON","json","VerifySimpleSignatureFromJSONTyped","ignoreDiscriminator","signInput","SignInputFromJSON","signature","SignatureFromJSON","VerifySimpleSignatureToJSON","VerifySimpleSignatureToJSONTyped","SignInputToJSON","SignatureToJSON","logger","Loggers","DEFAULT","get","KmsRestClient","methods","kmsClientGetKey","bind","kmsClientListKeys","kmsClientStoreKey","kmsClientGenerateKey","kmsClientDeleteKey","kmsClientGetKeyProvider","kmsClientListKeyProviders","kmsClientProviderListKeys","kmsClientProviderStoreKey","kmsClientProviderGenerateKey","kmsClientProviderGetKey","kmsClientProviderDeleteKey","kmsClientGetResolver","kmsClientListResolvers","kmsClientResolveKey","kmsClientCreateRawSignature","kmsClientIsValidRawSignature","agentBaseUrl","authOpts","args","baseUrl","authentication","urlWithBase","path","startsWith","assertedAgentBaseUrl","url","resolverId","response","fetch","method","headers","createHeaders","tenantId","userId","debug","ok","handleHttpError","ResolverFromJSONTyped","json","ListResolversResponseFromJSONTyped","body","keyInfo","identifierMethod","trustedCerts","verifyX509CertificateChain","contentType","JSON","stringify","ResolvePublicKeyToJSONTyped","ResolvedKeyInfoFromJSONTyped","input","CreateRawSignatureToJSONTyped","CreateRawSignatureResponseFromJSONTyped","signature","VerifyRawSignatureToJSONTyped","VerifyRawSignatureResponseFromJSONTyped","aliasOrKid","GetKeyResponseFromJSONTyped","addSearchParams","providerId","toString","ListKeysResponseFromJSONTyped","certChain","StoreKeyToJSONTyped","StoreKeyResponseFromJSONTyped","alg","keyOperations","use","GenerateKeyGlobalToJSONTyped","GenerateKeyResponseFromJSONTyped","KeyProviderResponseFromJSONTyped","ListKeyProvidersResponseFromJSONTyped","alias","GenerateKeyToJSONTyped","Error","Accept","enabled","bearerToken","Authorization","params","URL","key","value","Object","entries","searchParams","set","String","isJson","includes","responseBody","text","Promise","reject","status"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../plugin.schema.json","../src/agent/KmsRestClient.ts","../src/models/LookupMode.ts","../src/models/AwsAssumeRoleCredentials.ts","../src/models/AwsClientConfiguration.ts","../src/models/AwsStaticCredentials.ts","../src/models/AwsWebIdentityTokenCredentials.ts","../src/models/AwsKmsSetting.ts","../src/models/AzureClientSecretCredentialOpts.ts","../src/models/AzureCredentialOpts.ts","../src/models/AzureKeyVaultSetting.ts","../src/models/CoseKeyType.ts","../src/models/CoseKey.ts","../src/models/CoseKeyPair.ts","../src/models/KeyProviderType.ts","../src/models/CreateKeyProvider.ts","../src/models/KeyType.ts","../src/models/KeyVisibility.ts","../src/models/SignatureAlgorithm.ts","../src/models/KeyEncoding.ts","../src/models/Curve.ts","../src/models/KeyOperations.ts","../src/models/JwkUse.ts","../src/models/JwkKeyType.ts","../src/models/Jwk.ts","../src/models/KeyInfo.ts","../src/models/CreateRawSignature.ts","../src/models/CreateRawSignatureResponse.ts","../src/models/SignInput.ts","../src/models/CreateSimpleSignature.ts","../src/models/CryptoAlg.ts","../src/models/DigestAlg.ts","../src/models/ErrorResponse.ts","../src/models/GenerateKey.ts","../src/models/GenerateKeyGlobal.ts","../src/models/JoseKeyPair.ts","../src/models/ManagedKeyPair.ts","../src/models/GenerateKeyResponse.ts","../src/models/ManagedKeyInfo.ts","../src/models/GetKeyResponse.ts","../src/models/IdentifierMethod.ts","../src/models/KeyProvider.ts","../src/models/KeyProviderResponse.ts","../src/models/KeyResolver.ts","../src/models/ListKeyProvidersResponse.ts","../src/models/ListKeysResponse.ts","../src/models/Resolver.ts","../src/models/ListResolversResponse.ts","../src/models/MaskGenFunction.ts","../src/models/ProviderCapabilities.ts","../src/models/ResolvePublicKey.ts","../src/models/ResolvedKeyInfo.ts","../src/models/Signature.ts","../src/models/SignOutput.ts","../src/models/StoreKey.ts","../src/models/StoreKeyResponse.ts","../src/models/UpdateKeyProvider.ts","../src/models/VerifyRawSignature.ts","../src/models/VerifyRawSignatureResponse.ts","../src/models/VerifySimpleSignature.ts"],"sourcesContent":["/**\n * @public\n */\nimport schema from '../plugin.schema.json'\nexport { schema }\nexport { KmsRestClient } from './agent/KmsRestClient'\nexport type * from './types/IKmsRestClient'\nexport * from './models'\n","{\n \"IKmsRestClient\": {\n \"components\": {\n \"schemas\": {\n \"KmsClientCreateRawSignatureArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"input\": {\n \"type\": \"string\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"input\", \"keyInfo\"]\n },\n \"KeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"additionalProperties\": false,\n \"description\": \"Information about a cryptographic key, providing metadata and configuration details necessary for cryptographic operations.\"\n },\n \"Jwk\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"$ref\": \"#/components/schemas/JwkKeyType\"\n },\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier used to uniquely identify the key.\"\n },\n \"alg\": {\n \"type\": \"string\",\n \"description\": \"The algorithm intended for use with the key (JWA algorithm name).\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOps\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n },\n \"description\": \"The allowed cryptographic operations for the key.\"\n },\n \"crv\": {\n \"$ref\": \"#/components/schemas/Curve\"\n },\n \"x\": {\n \"type\": \"string\",\n \"description\": \"The x coordinate for elliptic curve keys (base64url-encoded).\"\n },\n \"y\": {\n \"type\": \"string\",\n \"description\": \"The y coordinate for elliptic curve keys (base64url-encoded).\"\n },\n \"d\": {\n \"type\": \"string\",\n \"description\": \"The private key parameter (base64url-encoded).\"\n },\n \"n\": {\n \"type\": \"string\",\n \"description\": \"The modulus value for RSA keys (base64url-encoded).\"\n },\n \"e\": {\n \"type\": \"string\",\n \"description\": \"The public exponent for RSA keys (base64url-encoded).\"\n },\n \"p\": {\n \"type\": \"string\",\n \"description\": \"The first prime factor for RSA private keys (base64url-encoded).\"\n },\n \"q\": {\n \"type\": \"string\",\n \"description\": \"The second prime factor for RSA private keys (base64url-encoded).\"\n },\n \"dp\": {\n \"type\": \"string\",\n \"description\": \"The first factor CRT exponent for RSA private keys (base64url-encoded).\"\n },\n \"dq\": {\n \"type\": \"string\",\n \"description\": \"The second factor CRT exponent for RSA private keys (base64url-encoded).\"\n },\n \"qi\": {\n \"type\": \"string\",\n \"description\": \"The first CRT coefficient for RSA private keys (base64url-encoded).\"\n },\n \"k\": {\n \"type\": \"string\",\n \"description\": \"The symmetric key value (base64url-encoded).\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"x5t\": {\n \"type\": \"string\",\n \"description\": \"X.509 certificate SHA-1 thumbprint (base64url-encoded).\"\n },\n \"x5u\": {\n \"type\": \"string\",\n \"description\": \"URL pointing to X.509 certificate or certificate chain.\"\n },\n \"x5tS256\": {\n \"type\": \"string\",\n \"description\": \"X.509 certificate SHA-256 thumbprint (base64url-encoded).\"\n }\n },\n \"required\": [\"kty\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a JSON Web Key (JWK) as defined by the JSON Web Key specification.\"\n },\n \"JwkKeyType\": {\n \"type\": \"string\",\n \"enum\": [\"EC\", \"RSA\", \"OKP\", \"oct\"],\n \"description\": \"JSON Web Key (JWK) key type parameter identifying the cryptographic algorithm family.\"\n },\n \"JwkUse\": {\n \"type\": \"string\",\n \"enum\": [\"sig\", \"enc\"],\n \"description\": \"Intended use of the key (signing or encryption).\"\n },\n \"KeyOperations\": {\n \"type\": \"string\",\n \"enum\": [\"sign\", \"verify\", \"encrypt\", \"decrypt\", \"wrapKey\", \"unwrapKey\", \"deriveKey\", \"deriveBits\"],\n \"description\": \"Specific operations the key is intended for.\"\n },\n \"Curve\": {\n \"type\": \"string\",\n \"enum\": [\"P-256\", \"P-384\", \"P-521\", \"secp256k1\", \"Ed25519\", \"Ed448\", \"X25519\", \"X448\"],\n \"description\": \"Elliptic curve identifier.\"\n },\n \"SignatureAlgorithm\": {\n \"type\": \"string\",\n \"enum\": [\n \"ED25519\",\n \"ECDSA_SHA256\",\n \"ECDSA_SHA384\",\n \"ECDSA_SHA512\",\n \"ES256K\",\n \"ECKA_DH_SHA256\",\n \"HMAC_SHA256\",\n \"HMAC_SHA384\",\n \"HMAC_SHA512\",\n \"RSA_SSA_PSS_SHA256_MGF1\",\n \"RSA_SSA_PSS_SHA384_MGF1\",\n \"RSA_SSA_PSS_SHA512_MGF1\"\n ],\n \"description\": \"Cryptographic signature algorithm identifier.\"\n },\n \"KeyVisibility\": {\n \"type\": \"string\",\n \"enum\": [\"PUBLIC\", \"PRIVATE\"],\n \"description\": \"Indicates the visibility status of a cryptographic key.\"\n },\n \"KeyType\": {\n \"type\": \"string\",\n \"enum\": [\"OKP\", \"EC\", \"RSA\"],\n \"description\": \"Cryptographic key type identifier.\"\n },\n \"KeyEncoding\": {\n \"type\": \"string\",\n \"enum\": [\"COSE\", \"JOSE\"],\n \"description\": \"The encoding format of the cryptographic key.\"\n },\n \"CreateRawSignatureResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"signature\": {\n \"type\": \"string\",\n \"description\": \"The created signature encoded as a base64 string.\"\n }\n },\n \"required\": [\"signature\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the created signature.\"\n },\n \"KmsClientDeleteKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"KmsClientGenerateKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Alias for the generated key.\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOperations\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n }\n },\n \"alg\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"Optional provider ID. If not specified, the default provider will be used.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n }\n },\n \"GenerateKeyResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyPair\": {\n \"$ref\": \"#/components/schemas/ManagedKeyPair\"\n }\n },\n \"required\": [\"keyPair\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing a generated key pair.\"\n },\n \"ManagedKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier, may be null.\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"Key Management System identifier.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Reference to the key in the KMS.\"\n },\n \"cose\": {\n \"$ref\": \"#/components/schemas/CoseKeyPair\"\n },\n \"jose\": {\n \"$ref\": \"#/components/schemas/JoseKeyPair\"\n }\n },\n \"required\": [\"providerId\", \"alias\", \"cose\", \"jose\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a key pair used by a crypto provider, encapsulating both JOSE and COSE key pairs.\"\n },\n \"CoseKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"privateCoseKey\": {\n \"$ref\": \"#/components/schemas/CoseKey\"\n },\n \"publicCoseKey\": {\n \"$ref\": \"#/components/schemas/CoseKey\"\n }\n },\n \"required\": [\"publicCoseKey\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a cryptographic key pair for COSE (CBOR Object Signing and Encryption) operations.\"\n },\n \"CoseKey\": {\n \"type\": \"object\",\n \"properties\": {\n \"kty\": {\n \"$ref\": \"#/components/schemas/CoseKeyType\"\n },\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Key identifier (base64url-encoded byte string).\"\n },\n \"alg\": {\n \"type\": \"number\",\n \"description\": \"The COSE algorithm identifier (e.g., -7=ES256, -35=ES384, -36=ES512, -8=EdDSA).\"\n },\n \"keyOps\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"number\"\n },\n \"description\": \"The allowed COSE key operations (1=sign, 2=verify, 3=encrypt, 4=decrypt, etc.).\"\n },\n \"baseIV\": {\n \"type\": \"string\",\n \"description\": \"Base initialization vector (base64url-encoded).\"\n },\n \"crv\": {\n \"type\": \"number\",\n \"description\": \"The COSE curve identifier (1=P-256, 2=P-384, 3=P-521, 8=secp256k1, 6=Ed25519, etc.).\"\n },\n \"x\": {\n \"type\": \"string\",\n \"description\": \"The x coordinate (base64url-encoded byte string).\"\n },\n \"y\": {\n \"type\": \"string\",\n \"description\": \"The y coordinate (base64url-encoded byte string).\"\n },\n \"d\": {\n \"type\": \"string\",\n \"description\": \"The private key parameter (base64url-encoded byte string).\"\n },\n \"x5chain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded certificates.\"\n }\n },\n \"required\": [\"kty\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a COSE (CBOR Object Signing and Encryption) key in JSON format.\"\n },\n \"CoseKeyType\": {\n \"type\": \"number\",\n \"enum\": [1, 2, 3, 4],\n \"description\": \"COSE key type parameter. 1=OKP (Octet Key Pair), 2=EC2 (Elliptic Curve), 3=RSA, 4=Symmetric.\"\n },\n \"JoseKeyPair\": {\n \"type\": \"object\",\n \"properties\": {\n \"privateJwk\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"publicJwk\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n }\n },\n \"required\": [\"publicJwk\"],\n \"additionalProperties\": false,\n \"description\": \"Data class representing a cryptographic key pair used with JOSE (JSON Object Signing and Encryption).\"\n },\n \"KmsClientGetKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"GetKeyResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n },\n \"required\": [\"keyInfo\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing a managed key.\"\n },\n \"ManagedKeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"required\": [\"key\", \"alias\", \"providerId\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a managed cryptographic key information that is guaranteed to be present and resolved, part of a KMS providing concrete access to the key.\"\n },\n \"KmsClientGetKeyProviderArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\"],\n \"additionalProperties\": false\n },\n \"KeyProviderResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The unique identifier assigned to the Key Provider instance upon creation.\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/KeyProviderType\"\n }\n },\n \"required\": [\"providerId\", \"type\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KeyProviderType\": {\n \"type\": \"string\",\n \"enum\": [\"SOFTWARE\", \"AZURE_KEYVAULT\", \"AWS_KMS\"],\n \"description\": \"The type of Key Provider. Determines the required configuration settings. - AZURE_KEYVAULT: Microsoft Azure Key Vault or Managed HSM. - AWS_KMS: Amazon Web Services Key Management Service.\"\n },\n \"kmsClientGetResolverArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"resolverId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"resolverId\"],\n \"additionalProperties\": false\n },\n \"Resolver\": {\n \"type\": \"object\",\n \"properties\": {\n \"resolverId\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the resolver.\"\n },\n \"supportedIdentifierMethods\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/IdentifierMethod\"\n },\n \"description\": \"List of identifier methods supported by this resolver.\"\n },\n \"supportedKeyTypes\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"description\": \"List of key types supported by this resolver.\"\n }\n },\n \"required\": [\"resolverId\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a key resolver configuration.\"\n },\n \"IdentifierMethod\": {\n \"type\": \"string\",\n \"enum\": [\"JWK\", \"KID\", \"COSE_KEY\", \"X5C\", \"DID\"],\n \"description\": \"Method used to identify cryptographic keys.\"\n },\n \"KmsClientIsValidRawSignatureArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"input\": {\n \"type\": \"string\"\n },\n \"signature\": {\n \"type\": \"string\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"input\", \"keyInfo\", \"signature\"]\n },\n \"VerifyRawSignatureResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"isValid\": {\n \"type\": \"boolean\",\n \"description\": \"Indicates whether the signature is valid or not.\"\n }\n },\n \"required\": [\"isValid\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of the signature verification.\"\n },\n \"KmsClientListKeyProvidersArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListKeyProvidersResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"providers\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyProvider\"\n }\n }\n },\n \"required\": [\"providers\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KeyProvider\": {\n \"type\": \"object\",\n \"properties\": {\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The unique identifier assigned to the Key Provider instance upon creation.\"\n },\n \"type\": {\n \"$ref\": \"#/components/schemas/KeyProviderType\"\n }\n },\n \"required\": [\"providerId\", \"type\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing the details of a Key Provider instance.\"\n },\n \"KmsClientListKeysArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListKeysResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyInfos\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n }\n },\n \"required\": [\"keyInfos\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing all the managed keys.\"\n },\n \"KmsClientListResolversArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"additionalProperties\": false\n },\n \"ListResolversResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"resolvers\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/Resolver\"\n }\n }\n },\n \"required\": [\"resolvers\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing all the resolvers.\"\n },\n \"KmsClientProviderDeleteKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\", \"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"KmsClientProviderGenerateKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"Alias for the generated key.\"\n },\n \"use\": {\n \"$ref\": \"#/components/schemas/JwkUse\"\n },\n \"keyOperations\": {\n \"type\": \"array\",\n \"items\": {\n \"$ref\": \"#/components/schemas/KeyOperations\"\n }\n },\n \"alg\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\"]\n },\n \"KmsClientProviderGetKeyArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n },\n \"aliasOrKid\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\", \"aliasOrKid\"],\n \"additionalProperties\": false\n },\n \"KmsClientProviderListKeysArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"providerId\"],\n \"additionalProperties\": false\n },\n \"KmsClientProviderStoreKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n },\n \"certChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"providerId\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"keyInfo\", \"providerId\"]\n },\n \"ResolvedKeyInfo\": {\n \"type\": \"object\",\n \"properties\": {\n \"kid\": {\n \"type\": \"string\",\n \"description\": \"Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\"\n },\n \"key\": {\n \"$ref\": \"#/components/schemas/Jwk\"\n },\n \"signatureAlgorithm\": {\n \"$ref\": \"#/components/schemas/SignatureAlgorithm\"\n },\n \"keyVisibility\": {\n \"$ref\": \"#/components/schemas/KeyVisibility\"\n },\n \"x5c\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain associated with the key.\"\n },\n \"alias\": {\n \"type\": \"string\",\n \"description\": \"A reference or alias to the key in the Key Management Service (KMS).\"\n },\n \"providerId\": {\n \"type\": \"string\",\n \"description\": \"The Key Management System (KMS) identifier associated with the key.\"\n },\n \"keyType\": {\n \"$ref\": \"#/components/schemas/KeyType\"\n },\n \"keyEncoding\": {\n \"$ref\": \"#/components/schemas/KeyEncoding\"\n },\n \"opts\": {\n \"type\": \"object\",\n \"additionalProperties\": {\n \"type\": \"string\"\n },\n \"description\": \"Additional configuration options as key-value pairs.\"\n }\n },\n \"required\": [\"key\"],\n \"additionalProperties\": false,\n \"description\": \"Represents a resolved cryptographic key information where the key is guaranteed to be present and resolved, providing concrete access to the key.\"\n },\n \"StoreKeyResponse\": {\n \"type\": \"object\",\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ManagedKeyInfo\"\n }\n },\n \"required\": [\"keyInfo\"],\n \"additionalProperties\": false,\n \"description\": \"Response body containing a stored key.\"\n },\n \"KmsClientResolveKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/KeyInfo\"\n },\n \"identifierMethod\": {\n \"$ref\": \"#/components/schemas/IdentifierMethod\"\n },\n \"trustedCerts\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"Optional array of trusted certificates (base64-encoded) that may be used in the resolution process.\"\n },\n \"verifyX509CertificateChain\": {\n \"type\": \"boolean\",\n \"description\": \"Optional boolean indicating whether the X.509 certificate chain should be verified.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n },\n \"resolverId\": {\n \"$ref\": \"#/components/schemas/String\"\n }\n },\n \"required\": [\"keyInfo\", \"resolverId\"]\n },\n \"String\": {\n \"type\": \"object\",\n \"properties\": {\n \"length\": {\n \"type\": \"number\"\n }\n },\n \"required\": [\"length\"],\n \"additionalProperties\": {\n \"type\": \"string\"\n }\n },\n \"KmsClientStoreKeyArgs\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {\n \"keyInfo\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n },\n \"certChain\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n },\n \"description\": \"X.509 certificate chain as base64-encoded DER certificates.\"\n },\n \"baseUrl\": {\n \"type\": \"string\"\n }\n },\n \"required\": [\"keyInfo\"]\n }\n },\n \"methods\": {\n \"kmsClientCreateRawSignature\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientCreateRawSignatureArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/CreateRawSignatureResponse\"\n }\n },\n \"kmsClientDeleteKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientDeleteKeyArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"kmsClientGenerateKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientGenerateKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/GenerateKeyResponse\"\n }\n },\n \"kmsClientGetKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientGetKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/GetKeyResponse\"\n }\n },\n \"kmsClientGetKeyProvider\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientGetKeyProviderArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/KeyProviderResponse\"\n }\n },\n \"kmsClientGetResolver\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/kmsClientGetResolverArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/Resolver\"\n }\n },\n \"kmsClientIsValidRawSignature\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientIsValidRawSignatureArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/VerifyRawSignatureResponse\"\n }\n },\n \"kmsClientListKeyProviders\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientListKeyProvidersArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeyProvidersResponse\"\n }\n },\n \"kmsClientListKeys\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientListKeysArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeysResponse\"\n }\n },\n \"kmsClientListResolvers\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientListResolversArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListResolversResponse\"\n }\n },\n \"kmsClientProviderDeleteKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientProviderDeleteKeyArgs\"\n },\n \"returnType\": {\n \"type\": \"boolean\"\n }\n },\n \"kmsClientProviderGenerateKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientProviderGenerateKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/GenerateKeyResponse\"\n }\n },\n \"kmsClientProviderGetKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientProviderGetKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/GetKeyResponse\"\n }\n },\n \"kmsClientProviderListKeys\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientProviderListKeysArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ListKeysResponse\"\n }\n },\n \"kmsClientProviderStoreKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientProviderStoreKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/StoreKeyResponse\"\n }\n },\n \"kmsClientResolveKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientResolveKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/ResolvedKeyInfo\"\n }\n },\n \"kmsClientStoreKey\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/KmsClientStoreKeyArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/StoreKeyResponse\"\n }\n }\n }\n }\n }\n}\n","import { IAgentPlugin } from '@veramo/core'\nimport { Loggers } from '@sphereon/ssi-types'\nimport { fetch } from 'cross-fetch'\nimport type {\n kmsClientGetResolverArgs,\n KmsClientListResolversArgs,\n IKmsRestClient,\n KmsClientResolveKeyArgs,\n KmsClientCreateRawSignatureArgs,\n KmsClientGetKeyArgs,\n KmsClientListKeysArgs,\n KmsClientStoreKeyArgs,\n KmsClientGenerateKeyArgs,\n KmsClientDeleteKeyArgs,\n KmsClientGetKeyProviderArgs,\n KmsClientListKeyProvidersArgs,\n KmsClientProviderListKeysArgs,\n KmsClientProviderStoreKeyArgs,\n KmsClientProviderGenerateKeyArgs,\n KmsClientProviderGetKeyArgs,\n KmsClientProviderDeleteKeyArgs,\n RestClientAuthenticationOpts,\n KmsRestClientArgs,\n KmsClientIsValidRawSignatureArgs,\n} from '../types/IKmsRestClient'\nimport type {\n CreateRawSignature,\n CreateRawSignatureResponse,\n GenerateKey,\n GenerateKeyGlobal,\n ListKeyProvidersResponse,\n ListKeysResponse,\n ListResolversResponse,\n ResolvedKeyInfo,\n ResolvePublicKey,\n Resolver,\n VerifyRawSignatureResponse,\n StoreKey,\n VerifyRawSignature,\n KeyProviderResponse,\n GenerateKeyResponse,\n StoreKeyResponse,\n GetKeyResponse,\n} from '../models'\nimport {\n CreateRawSignatureResponseFromJSONTyped,\n CreateRawSignatureToJSONTyped,\n GenerateKeyGlobalToJSONTyped,\n GenerateKeyToJSONTyped,\n GenerateKeyResponseFromJSONTyped,\n GetKeyResponseFromJSONTyped,\n KeyProviderResponseFromJSONTyped,\n ListKeyProvidersResponseFromJSONTyped,\n ListKeysResponseFromJSONTyped,\n ListResolversResponseFromJSONTyped,\n ResolvePublicKeyToJSONTyped,\n ResolvedKeyInfoFromJSONTyped,\n ResolverFromJSONTyped,\n StoreKeyToJSONTyped,\n StoreKeyResponseFromJSONTyped,\n VerifyRawSignatureResponseFromJSONTyped,\n VerifyRawSignatureToJSONTyped,\n} from '../models'\n\nconst logger = Loggers.DEFAULT.get('sphereon:ssi-sdk:kms:rest-client')\n\n/**\n * {@inheritDoc IKmsRestClient}\n */\nexport class KmsRestClient implements IAgentPlugin {\n readonly methods: IKmsRestClient = {\n kmsClientGetKey: this.kmsClientGetKey.bind(this),\n kmsClientListKeys: this.kmsClientListKeys.bind(this),\n kmsClientStoreKey: this.kmsClientStoreKey.bind(this),\n kmsClientGenerateKey: this.kmsClientGenerateKey.bind(this),\n kmsClientDeleteKey: this.kmsClientDeleteKey.bind(this),\n\n kmsClientGetKeyProvider: this.kmsClientGetKeyProvider.bind(this),\n kmsClientListKeyProviders: this.kmsClientListKeyProviders.bind(this),\n kmsClientProviderListKeys: this.kmsClientProviderListKeys.bind(this),\n kmsClientProviderStoreKey: this.kmsClientProviderStoreKey.bind(this),\n kmsClientProviderGenerateKey: this.kmsClientProviderGenerateKey.bind(this),\n kmsClientProviderGetKey: this.kmsClientProviderGetKey.bind(this),\n kmsClientProviderDeleteKey: this.kmsClientProviderDeleteKey.bind(this),\n\n kmsClientGetResolver: this.kmsClientGetResolver.bind(this),\n kmsClientListResolvers: this.kmsClientListResolvers.bind(this),\n kmsClientResolveKey: this.kmsClientResolveKey.bind(this),\n\n kmsClientCreateRawSignature: this.kmsClientCreateRawSignature.bind(this),\n kmsClientIsValidRawSignature: this.kmsClientIsValidRawSignature.bind(this),\n }\n\n private readonly agentBaseUrl?: string\n private readonly authOpts?: RestClientAuthenticationOpts\n\n constructor(args?: KmsRestClientArgs) {\n if (args?.baseUrl) {\n this.agentBaseUrl = args.baseUrl\n }\n this.authOpts = args?.authentication\n }\n\n private static urlWithBase(path: string, baseUrl: string): string {\n return `${baseUrl}${path.startsWith('/') ? path : `/${path}`}`\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetResolver} */\n private async kmsClientGetResolver(args: kmsClientGetResolverArgs): Promise<Resolver> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/resolvers/${args.resolverId}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get resolver response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return ResolverFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListResolvers} */\n private async kmsClientListResolvers(args?: KmsClientListResolversArgs): Promise<ListResolversResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args?.baseUrl)\n const url = KmsRestClient.urlWithBase('/resolvers', baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list resolvers response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return ListResolversResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsResolveKey} */\n private async kmsClientResolveKey(args: KmsClientResolveKeyArgs): Promise<ResolvedKeyInfo> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/resolvers/${args.resolverId}/resolve`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n identifierMethod: args.identifierMethod,\n trustedCerts: args.trustedCerts,\n verifyX509CertificateChain: args.verifyX509CertificateChain,\n } satisfies ResolvePublicKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(ResolvePublicKeyToJSONTyped(body)),\n })\n logger.debug(`resolve key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return ResolvedKeyInfoFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsCreateRawSignature} */\n private async kmsClientCreateRawSignature(args: KmsClientCreateRawSignatureArgs): Promise<CreateRawSignatureResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/signatures/raw`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n input: args.input,\n } satisfies CreateRawSignature\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(CreateRawSignatureToJSONTyped(body)),\n })\n logger.debug(`create raw signature response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return CreateRawSignatureResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsIsValidRawSignature} */\n private async kmsClientIsValidRawSignature(args: KmsClientIsValidRawSignatureArgs): Promise<VerifyRawSignatureResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/signatures/raw/verify`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n signature: args.signature,\n input: args.input,\n } satisfies VerifyRawSignature\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(VerifyRawSignatureToJSONTyped(body)),\n })\n logger.debug(`verify raw signature response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return VerifyRawSignatureResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetKey} */\n private async kmsClientGetKey(args: KmsClientGetKeyArgs): Promise<GetKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return GetKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListKeys} */\n private async kmsClientListKeys(args?: KmsClientListKeysArgs): Promise<ListKeysResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args?.baseUrl)\n const url = this.addSearchParams(KmsRestClient.urlWithBase('/keys', baseUrl), { ...(args?.providerId && { providerId: args.providerId }) })\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list keys response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url.toString(), response)\n }\n\n return ListKeysResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsStoreKey} */\n private async kmsClientStoreKey(args: KmsClientStoreKeyArgs): Promise<StoreKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n certChain: args.certChain,\n } satisfies StoreKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(StoreKeyToJSONTyped(body)),\n })\n logger.debug(`store key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return StoreKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGenerateKey} */\n private async kmsClientGenerateKey(args: KmsClientGenerateKeyArgs): Promise<GenerateKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/generate`, baseUrl)\n\n const body = {\n alg: args.alg,\n keyOperations: args.keyOperations,\n providerId: args.providerId,\n use: args.use,\n } satisfies GenerateKeyGlobal\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(GenerateKeyGlobalToJSONTyped(body)),\n })\n logger.debug(`generate key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return GenerateKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsDeleteKey} */\n private async kmsClientDeleteKey(args: KmsClientDeleteKeyArgs): Promise<boolean> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'DELETE',\n })\n logger.debug(`delete key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return true\n }\n\n /** {@inheritDoc IKmsRestClient.kmsGetKeyProvider} */\n private async kmsClientGetKeyProvider(args: KmsClientGetKeyProviderArgs): Promise<KeyProviderResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get provider response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return KeyProviderResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsListKeyProviders} */\n private async kmsClientListKeyProviders(args?: KmsClientListKeyProvidersArgs): Promise<ListKeyProvidersResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args?.baseUrl)\n const url = KmsRestClient.urlWithBase('/providers', baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list providers response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return ListKeyProvidersResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderListKeys} */\n private async kmsClientProviderListKeys(args: KmsClientProviderListKeysArgs): Promise<ListKeysResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`list provider keys response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return ListKeysResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderStoreKey} */\n private async kmsClientProviderStoreKey(args: KmsClientProviderStoreKeyArgs): Promise<StoreKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys`, baseUrl)\n\n const body = {\n keyInfo: args.keyInfo,\n certChain: args.certChain,\n } satisfies StoreKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(StoreKeyToJSONTyped(body)),\n })\n logger.debug(`provider store key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return StoreKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderGenerateKey} */\n private async kmsClientProviderGenerateKey(args: KmsClientProviderGenerateKeyArgs): Promise<GenerateKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys/generate`, baseUrl)\n\n const body = {\n alg: args.alg,\n keyOperations: args.keyOperations,\n use: args.use,\n alias: args.alias,\n } satisfies GenerateKey\n const response = await fetch(url, {\n method: 'POST',\n headers: await this.createHeaders({ 'Content-Type': 'application/json' }),\n body: JSON.stringify(GenerateKeyToJSONTyped(body)),\n })\n logger.debug(`provider generate key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return GenerateKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderGetKey} */\n private async kmsClientProviderGetKey(args: KmsClientProviderGetKeyArgs): Promise<GetKeyResponse> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`/providers/${args.providerId}/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'GET',\n })\n logger.debug(`get provider key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return GetKeyResponseFromJSONTyped(await response.json(), false)\n }\n\n /** {@inheritDoc IKmsRestClient.kmsProviderDeleteKey} */\n private async kmsClientProviderDeleteKey(args: KmsClientProviderDeleteKeyArgs): Promise<boolean> {\n const baseUrl = this.assertedAgentBaseUrl(args.baseUrl)\n const url = KmsRestClient.urlWithBase(`providers/${args.providerId}/keys/${args.aliasOrKid}`, baseUrl)\n\n const response = await fetch(url, {\n method: 'DELETE',\n })\n logger.debug(`delete key response: ${response}`)\n\n if (!response.ok) {\n return this.handleHttpError(url, response)\n }\n\n return true\n }\n\n private assertedAgentBaseUrl(baseUrl?: string): string {\n if (baseUrl) {\n return baseUrl\n } else if (this.agentBaseUrl) {\n return this.agentBaseUrl\n }\n throw new Error('No base url has been provided')\n }\n\n private async createHeaders(existing?: Record<string, any>): Promise<HeadersInit> {\n const headers: HeadersInit = {\n ...existing,\n Accept: 'application/json',\n }\n if (this.authOpts?.enabled === true) {\n if (!this.authOpts.bearerToken) {\n throw Error(`Cannot have authentication enabled, whilst not enabling static bearer tokens at this point`)\n }\n headers.Authorization = `Bearer ${\n typeof this.authOpts.bearerToken === 'string' ? this.authOpts.bearerToken : await this.authOpts.bearerToken()\n }`\n }\n return headers\n }\n\n private addSearchParams(baseUrl: string, params: Record<string, string | number | boolean>): URL {\n const url = new URL(baseUrl)\n\n for (const [key, value] of Object.entries(params)) {\n url.searchParams.set(key, String(value))\n }\n\n return url\n }\n\n private async handleHttpError(url: string, response: Response): Promise<never> {\n const contentType = response.headers.get('content-type')\n const isJson = contentType?.includes('application/json')\n const responseBody = isJson ? JSON.stringify(await response.json()) : await response.text()\n\n return Promise.reject(Error(`request to ${url} returned http error ${response.status} - ${responseBody}`))\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Determines how configuration values are looked up. - VALUE: The actual configuration values are provided directly. - CONFIG_SERVICE: Configuration values are looked up from a configuration service using keys. - SECRET_SERVICE: Configuration values are looked up from a secret service using keys.\n * @export\n */\nexport const LookupMode = {\n Value: 'VALUE',\n ConfigService: 'CONFIG_SERVICE',\n SecretService: 'SECRET_SERVICE',\n} as const\nexport type LookupMode = (typeof LookupMode)[keyof typeof LookupMode]\n\nexport function instanceOfLookupMode(value: any): boolean {\n for (const key in LookupMode) {\n if (Object.prototype.hasOwnProperty.call(LookupMode, key)) {\n if (LookupMode[key as keyof typeof LookupMode] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function LookupModeFromJSON(json: any): LookupMode {\n return LookupModeFromJSONTyped(json, false)\n}\n\nexport function LookupModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): LookupMode {\n return json as LookupMode\n}\n\nexport function LookupModeToJSON(value?: LookupMode | null): any {\n return value as any\n}\n\nexport function LookupModeToJSONTyped(value: any, ignoreDiscriminator: boolean): LookupMode {\n return value as LookupMode\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { LookupMode } from './LookupMode'\nimport { LookupModeFromJSON, LookupModeToJSON } from './LookupMode'\n\n/**\n * Credentials obtained by assuming an IAM role.\n * @export\n * @interface AwsAssumeRoleCredentials\n */\nexport interface AwsAssumeRoleCredentials {\n /**\n * The Amazon Resource Name (ARN) of the role to assume.\n * @type {string}\n * @memberof AwsAssumeRoleCredentials\n */\n roleArn: string\n /**\n * An identifier for the assumed role session. Use characters compatible with file systems.\n * @type {string}\n * @memberof AwsAssumeRoleCredentials\n */\n roleSessionName: string\n /**\n * An optional external ID that might be required by the role's trust policy.\n * @type {string}\n * @memberof AwsAssumeRoleCredentials\n */\n externalId?: string\n /**\n *\n * @type {LookupMode}\n * @memberof AwsAssumeRoleCredentials\n */\n lookupMode?: LookupMode\n}\n\n/**\n * Check if a given object implements the AwsAssumeRoleCredentials interface.\n */\nexport function instanceOfAwsAssumeRoleCredentials(value: object): value is AwsAssumeRoleCredentials {\n if (!('roleArn' in value) || value['roleArn'] === undefined) return false\n if (!('roleSessionName' in value) || value['roleSessionName'] === undefined) return false\n return true\n}\n\nexport function AwsAssumeRoleCredentialsFromJSON(json: any): AwsAssumeRoleCredentials {\n return AwsAssumeRoleCredentialsFromJSONTyped(json, false)\n}\n\nexport function AwsAssumeRoleCredentialsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AwsAssumeRoleCredentials {\n if (json == null) {\n return json\n }\n return {\n roleArn: json['roleArn'],\n roleSessionName: json['roleSessionName'],\n externalId: json['externalId'] == null ? undefined : json['externalId'],\n lookupMode: json['lookupMode'] == null ? undefined : LookupModeFromJSON(json['lookupMode']),\n }\n}\n\nexport function AwsAssumeRoleCredentialsToJSON(json: any): AwsAssumeRoleCredentials {\n return AwsAssumeRoleCredentialsToJSONTyped(json, false)\n}\n\nexport function AwsAssumeRoleCredentialsToJSONTyped(value?: AwsAssumeRoleCredentials | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n roleArn: value['roleArn'],\n roleSessionName: value['roleSessionName'],\n externalId: value['externalId'],\n lookupMode: LookupModeToJSON(value['lookupMode']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Optional advanced AWS SDK client settings.\n * @export\n * @interface AwsClientConfiguration\n */\nexport interface AwsClientConfiguration {\n /**\n * Amount of time (in milliseconds) to wait when initially establishing a connection before giving up.\n * @type {number}\n * @memberof AwsClientConfiguration\n */\n connectionTimeoutInMillis?: number\n /**\n * Amount of time (in milliseconds) to wait for data to be transferred over an established, open connection before timing out.\n * @type {number}\n * @memberof AwsClientConfiguration\n */\n socketTimeoutInMillis?: number\n}\n\n/**\n * Check if a given object implements the AwsClientConfiguration interface.\n */\nexport function instanceOfAwsClientConfiguration(value: object): value is AwsClientConfiguration {\n return true\n}\n\nexport function AwsClientConfigurationFromJSON(json: any): AwsClientConfiguration {\n return AwsClientConfigurationFromJSONTyped(json, false)\n}\n\nexport function AwsClientConfigurationFromJSONTyped(json: any, ignoreDiscriminator: boolean): AwsClientConfiguration {\n if (json == null) {\n return json\n }\n return {\n connectionTimeoutInMillis: json['connectionTimeoutInMillis'] == null ? undefined : json['connectionTimeoutInMillis'],\n socketTimeoutInMillis: json['socketTimeoutInMillis'] == null ? undefined : json['socketTimeoutInMillis'],\n }\n}\n\nexport function AwsClientConfigurationToJSON(json: any): AwsClientConfiguration {\n return AwsClientConfigurationToJSONTyped(json, false)\n}\n\nexport function AwsClientConfigurationToJSONTyped(value?: AwsClientConfiguration | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n connectionTimeoutInMillis: value['connectionTimeoutInMillis'],\n socketTimeoutInMillis: value['socketTimeoutInMillis'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { LookupMode } from './LookupMode'\nimport { LookupModeFromJSON, LookupModeToJSON } from './LookupMode'\n\n/**\n * Explicit AWS access key ID and secret access key. Use with caution; prefer IAM roles or other mechanisms where possible.\n * @export\n * @interface AwsStaticCredentials\n */\nexport interface AwsStaticCredentials {\n /**\n * AWS Access Key ID.\n * @type {string}\n * @memberof AwsStaticCredentials\n */\n accesskid: string\n /**\n * AWS Secret Access Key.\n * @type {string}\n * @memberof AwsStaticCredentials\n */\n secretAccessKey: string\n /**\n * Optional AWS session token, typically used with temporary credentials.\n * @type {string}\n * @memberof AwsStaticCredentials\n */\n sessionToken?: string\n /**\n *\n * @type {LookupMode}\n * @memberof AwsStaticCredentials\n */\n lookupMode?: LookupMode\n}\n\n/**\n * Check if a given object implements the AwsStaticCredentials interface.\n */\nexport function instanceOfAwsStaticCredentials(value: object): value is AwsStaticCredentials {\n if (!('accesskid' in value) || value['accesskid'] === undefined) return false\n if (!('secretAccessKey' in value) || value['secretAccessKey'] === undefined) return false\n return true\n}\n\nexport function AwsStaticCredentialsFromJSON(json: any): AwsStaticCredentials {\n return AwsStaticCredentialsFromJSONTyped(json, false)\n}\n\nexport function AwsStaticCredentialsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AwsStaticCredentials {\n if (json == null) {\n return json\n }\n return {\n accesskid: json['accesskid'],\n secretAccessKey: json['secretAccessKey'],\n sessionToken: json['sessionToken'] == null ? undefined : json['sessionToken'],\n lookupMode: json['lookupMode'] == null ? undefined : LookupModeFromJSON(json['lookupMode']),\n }\n}\n\nexport function AwsStaticCredentialsToJSON(json: any): AwsStaticCredentials {\n return AwsStaticCredentialsToJSONTyped(json, false)\n}\n\nexport function AwsStaticCredentialsToJSONTyped(value?: AwsStaticCredentials | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n accesskid: value['accesskid'],\n secretAccessKey: value['secretAccessKey'],\n sessionToken: value['sessionToken'],\n lookupMode: LookupModeToJSON(value['lookupMode']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { LookupMode } from './LookupMode'\nimport { LookupModeFromJSON, LookupModeToJSON } from './LookupMode'\n\n/**\n * Credentials obtained using a web identity token (e.g., from Cognito, OIDC provider).\n * @export\n * @interface AwsWebIdentityTokenCredentials\n */\nexport interface AwsWebIdentityTokenCredentials {\n /**\n * The Amazon Resource Name (ARN) of the role to assume.\n * @type {string}\n * @memberof AwsWebIdentityTokenCredentials\n */\n roleArn: string\n /**\n * An identifier for the assumed role session.\n * @type {string}\n * @memberof AwsWebIdentityTokenCredentials\n */\n roleSessionName: string\n /**\n * The web identity token (e.g., OIDC token, Cognito token) itself.\n * @type {string}\n * @memberof AwsWebIdentityTokenCredentials\n */\n webIdentityToken: string\n /**\n *\n * @type {LookupMode}\n * @memberof AwsWebIdentityTokenCredentials\n */\n lookupMode?: LookupMode\n}\n\n/**\n * Check if a given object implements the AwsWebIdentityTokenCredentials interface.\n */\nexport function instanceOfAwsWebIdentityTokenCredentials(value: object): value is AwsWebIdentityTokenCredentials {\n if (!('roleArn' in value) || value['roleArn'] === undefined) return false\n if (!('roleSessionName' in value) || value['roleSessionName'] === undefined) return false\n if (!('webIdentityToken' in value) || value['webIdentityToken'] === undefined) return false\n return true\n}\n\nexport function AwsWebIdentityTokenCredentialsFromJSON(json: any): AwsWebIdentityTokenCredentials {\n return AwsWebIdentityTokenCredentialsFromJSONTyped(json, false)\n}\n\nexport function AwsWebIdentityTokenCredentialsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AwsWebIdentityTokenCredentials {\n if (json == null) {\n return json\n }\n return {\n roleArn: json['roleArn'],\n roleSessionName: json['roleSessionName'],\n webIdentityToken: json['webIdentityToken'],\n lookupMode: json['lookupMode'] == null ? undefined : LookupModeFromJSON(json['lookupMode']),\n }\n}\n\nexport function AwsWebIdentityTokenCredentialsToJSON(json: any): AwsWebIdentityTokenCredentials {\n return AwsWebIdentityTokenCredentialsToJSONTyped(json, false)\n}\n\nexport function AwsWebIdentityTokenCredentialsToJSONTyped(value?: AwsWebIdentityTokenCredentials | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n roleArn: value['roleArn'],\n roleSessionName: value['roleSessionName'],\n webIdentityToken: value['webIdentityToken'],\n lookupMode: LookupModeToJSON(value['lookupMode']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AwsAssumeRoleCredentials } from './AwsAssumeRoleCredentials'\nimport { AwsAssumeRoleCredentialsFromJSON, AwsAssumeRoleCredentialsToJSON } from './AwsAssumeRoleCredentials'\nimport type { AwsStaticCredentials } from './AwsStaticCredentials'\nimport { AwsStaticCredentialsFromJSON, AwsStaticCredentialsToJSON } from './AwsStaticCredentials'\nimport type { AwsWebIdentityTokenCredentials } from './AwsWebIdentityTokenCredentials'\nimport { AwsWebIdentityTokenCredentialsFromJSON, AwsWebIdentityTokenCredentialsToJSON } from './AwsWebIdentityTokenCredentials'\nimport type { AwsClientConfiguration } from './AwsClientConfiguration'\nimport { AwsClientConfigurationFromJSON, AwsClientConfigurationToJSON } from './AwsClientConfiguration'\n\n/**\n * Configuration settings specific to the AWS_KMS provider type. Defines how to connect and authenticate to AWS KMS. If no specific credential provider is specified, the implementation should rely on the default AWS SDK credential provider chain.\n * @export\n * @interface AwsKmsSetting\n */\nexport interface AwsKmsSetting {\n /**\n * The AWS region where the KMS keys reside (e.g., 'us-east-1', 'eu-west-1').\n * @type {string}\n * @memberof AwsKmsSetting\n */\n region: string\n /**\n *\n * @type {AwsStaticCredentials}\n * @memberof AwsKmsSetting\n */\n staticCredentials?: AwsStaticCredentials\n /**\n *\n * @type {AwsAssumeRoleCredentials}\n * @memberof AwsKmsSetting\n */\n assumeRoleCredentials?: AwsAssumeRoleCredentials\n /**\n *\n * @type {AwsWebIdentityTokenCredentials}\n * @memberof AwsKmsSetting\n */\n webIdentityTokenCredentials?: AwsWebIdentityTokenCredentials\n /**\n * Optional custom endpoint URL for AWS KMS (e.g., for VPC endpoints or local testing).\n * @type {string}\n * @memberof AwsKmsSetting\n */\n endpointUrl?: string\n /**\n *\n * @type {AwsClientConfiguration}\n * @memberof AwsKmsSetting\n */\n clientConfiguration?: AwsClientConfiguration\n}\n\n/**\n * Check if a given object implements the AwsKmsSetting interface.\n */\nexport function instanceOfAwsKmsSetting(value: object): value is AwsKmsSetting {\n if (!('region' in value) || value['region'] === undefined) return false\n return true\n}\n\nexport function AwsKmsSettingFromJSON(json: any): AwsKmsSetting {\n return AwsKmsSettingFromJSONTyped(json, false)\n}\n\nexport function AwsKmsSettingFromJSONTyped(json: any, ignoreDiscriminator: boolean): AwsKmsSetting {\n if (json == null) {\n return json\n }\n return {\n region: json['region'],\n staticCredentials: json['staticCredentials'] == null ? undefined : AwsStaticCredentialsFromJSON(json['staticCredentials']),\n assumeRoleCredentials: json['assumeRoleCredentials'] == null ? undefined : AwsAssumeRoleCredentialsFromJSON(json['assumeRoleCredentials']),\n webIdentityTokenCredentials:\n json['webIdentityTokenCredentials'] == null ? undefined : AwsWebIdentityTokenCredentialsFromJSON(json['webIdentityTokenCredentials']),\n endpointUrl: json['endpointUrl'] == null ? undefined : json['endpointUrl'],\n clientConfiguration: json['clientConfiguration'] == null ? undefined : AwsClientConfigurationFromJSON(json['clientConfiguration']),\n }\n}\n\nexport function AwsKmsSettingToJSON(json: any): AwsKmsSetting {\n return AwsKmsSettingToJSONTyped(json, false)\n}\n\nexport function AwsKmsSettingToJSONTyped(value?: AwsKmsSetting | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n region: value['region'],\n staticCredentials: AwsStaticCredentialsToJSON(value['staticCredentials']),\n assumeRoleCredentials: AwsAssumeRoleCredentialsToJSON(value['assumeRoleCredentials']),\n webIdentityTokenCredentials: AwsWebIdentityTokenCredentialsToJSON(value['webIdentityTokenCredentials']),\n endpointUrl: value['endpointUrl'],\n clientConfiguration: AwsClientConfigurationToJSON(value['clientConfiguration']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { LookupMode } from './LookupMode'\nimport { LookupModeFromJSON, LookupModeToJSON } from './LookupMode'\n\n/**\n * Azure Service Principal credentials using a client secret.\n * @export\n * @interface AzureClientSecretCredentialOpts\n */\nexport interface AzureClientSecretCredentialOpts {\n /**\n * The Application (client) ID of the Azure service principal.\n * @type {string}\n * @memberof AzureClientSecretCredentialOpts\n */\n clientId: string\n /**\n * The client secret for the service principal.\n * @type {string}\n * @memberof AzureClientSecretCredentialOpts\n */\n clientSecret: string\n /**\n *\n * @type {LookupMode}\n * @memberof AzureClientSecretCredentialOpts\n */\n lookupMode?: LookupMode\n}\n\n/**\n * Check if a given object implements the AzureClientSecretCredentialOpts interface.\n */\nexport function instanceOfAzureClientSecretCredentialOpts(value: object): value is AzureClientSecretCredentialOpts {\n if (!('clientId' in value) || value['clientId'] === undefined) return false\n if (!('clientSecret' in value) || value['clientSecret'] === undefined) return false\n return true\n}\n\nexport function AzureClientSecretCredentialOptsFromJSON(json: any): AzureClientSecretCredentialOpts {\n return AzureClientSecretCredentialOptsFromJSONTyped(json, false)\n}\n\nexport function AzureClientSecretCredentialOptsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AzureClientSecretCredentialOpts {\n if (json == null) {\n return json\n }\n return {\n clientId: json['clientId'],\n clientSecret: json['clientSecret'],\n lookupMode: json['lookupMode'] == null ? undefined : LookupModeFromJSON(json['lookupMode']),\n }\n}\n\nexport function AzureClientSecretCredentialOptsToJSON(json: any): AzureClientSecretCredentialOpts {\n return AzureClientSecretCredentialOptsToJSONTyped(json, false)\n}\n\nexport function AzureClientSecretCredentialOptsToJSONTyped(\n value?: AzureClientSecretCredentialOpts | null,\n ignoreDiscriminator: boolean = false,\n): any {\n if (value == null) {\n return value\n }\n\n return {\n clientId: value['clientId'],\n clientSecret: value['clientSecret'],\n lookupMode: LookupModeToJSON(value['lookupMode']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AzureClientSecretCredentialOpts } from './AzureClientSecretCredentialOpts'\nimport { AzureClientSecretCredentialOptsFromJSON, AzureClientSecretCredentialOptsToJSON } from './AzureClientSecretCredentialOpts'\n\n/**\n * Azure credential options for authenticating to Key Vault. Currently assumes Service Principal with Client Secret.\n * @export\n * @interface AzureCredentialOpts\n */\nexport interface AzureCredentialOpts {\n /**\n *\n * @type {AzureClientSecretCredentialOpts}\n * @memberof AzureCredentialOpts\n */\n clientSecretCredentialOpts?: AzureClientSecretCredentialOpts\n}\n\n/**\n * Check if a given object implements the AzureCredentialOpts interface.\n */\nexport function instanceOfAzureCredentialOpts(value: object): value is AzureCredentialOpts {\n return true\n}\n\nexport function AzureCredentialOptsFromJSON(json: any): AzureCredentialOpts {\n return AzureCredentialOptsFromJSONTyped(json, false)\n}\n\nexport function AzureCredentialOptsFromJSONTyped(json: any, ignoreDiscriminator: boolean): AzureCredentialOpts {\n if (json == null) {\n return json\n }\n return {\n clientSecretCredentialOpts:\n json['clientSecretCredentialOpts'] == null ? undefined : AzureClientSecretCredentialOptsFromJSON(json['clientSecretCredentialOpts']),\n }\n}\n\nexport function AzureCredentialOptsToJSON(json: any): AzureCredentialOpts {\n return AzureCredentialOptsToJSONTyped(json, false)\n}\n\nexport function AzureCredentialOptsToJSONTyped(value?: AzureCredentialOpts | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n clientSecretCredentialOpts: AzureClientSecretCredentialOptsToJSON(value['clientSecretCredentialOpts']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AzureCredentialOpts } from './AzureCredentialOpts'\nimport { AzureCredentialOptsFromJSON, AzureCredentialOptsToJSON } from './AzureCredentialOpts'\nimport type { LookupMode } from './LookupMode'\nimport { LookupModeFromJSON, LookupModeToJSON } from './LookupMode'\n\n/**\n * Configuration settings specific to the Azure KeyVault provider type.\n * @export\n * @interface AzureKeyVaultSetting\n */\nexport interface AzureKeyVaultSetting {\n /**\n * The URL of the Azure Key Vault or Managed HSM instance.\n * @type {string}\n * @memberof AzureKeyVaultSetting\n */\n keyvaultUrl: string\n /**\n * The Azure Active Directory tenant (directory) ID.\n * @type {string}\n * @memberof AzureKeyVaultSetting\n */\n tenantId: string\n /**\n *\n * @type {AzureCredentialOpts}\n * @memberof AzureKeyVaultSetting\n */\n credentialOpts: AzureCredentialOpts\n /**\n * An optional identifier for your application using the Key Vault.\n * @type {string}\n * @memberof AzureKeyVaultSetting\n */\n applicationId?: string\n /**\n *\n * @type {LookupMode}\n * @memberof AzureKeyVaultSetting\n */\n lookupMode?: LookupMode\n}\n\n/**\n * Check if a given object implements the AzureKeyVaultSetting interface.\n */\nexport function instanceOfAzureKeyVaultSetting(value: object): value is AzureKeyVaultSetting {\n if (!('keyvaultUrl' in value) || value['keyvaultUrl'] === undefined) return false\n if (!('tenantId' in value) || value['tenantId'] === undefined) return false\n if (!('credentialOpts' in value) || value['credentialOpts'] === undefined) return false\n return true\n}\n\nexport function AzureKeyVaultSettingFromJSON(json: any): AzureKeyVaultSetting {\n return AzureKeyVaultSettingFromJSONTyped(json, false)\n}\n\nexport function AzureKeyVaultSettingFromJSONTyped(json: any, ignoreDiscriminator: boolean): AzureKeyVaultSetting {\n if (json == null) {\n return json\n }\n return {\n keyvaultUrl: json['keyvaultUrl'],\n tenantId: json['tenantId'],\n credentialOpts: AzureCredentialOptsFromJSON(json['credentialOpts']),\n applicationId: json['applicationId'] == null ? undefined : json['applicationId'],\n lookupMode: json['lookupMode'] == null ? undefined : LookupModeFromJSON(json['lookupMode']),\n }\n}\n\nexport function AzureKeyVaultSettingToJSON(json: any): AzureKeyVaultSetting {\n return AzureKeyVaultSettingToJSONTyped(json, false)\n}\n\nexport function AzureKeyVaultSettingToJSONTyped(value?: AzureKeyVaultSetting | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyvaultUrl: value['keyvaultUrl'],\n tenantId: value['tenantId'],\n credentialOpts: AzureCredentialOptsToJSON(value['credentialOpts']),\n applicationId: value['applicationId'],\n lookupMode: LookupModeToJSON(value['lookupMode']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * COSE key type parameter. 1=OKP (Octet Key Pair), 2=EC2 (Elliptic Curve), 3=RSA, 4=Symmetric.\n * @export\n */\nexport const CoseKeyType = {\n NUMBER_1: 1,\n NUMBER_2: 2,\n NUMBER_3: 3,\n NUMBER_4: 4,\n} as const\nexport type CoseKeyType = (typeof CoseKeyType)[keyof typeof CoseKeyType]\n\nexport function instanceOfCoseKeyType(value: any): boolean {\n for (const key in CoseKeyType) {\n if (Object.prototype.hasOwnProperty.call(CoseKeyType, key)) {\n if (CoseKeyType[key as keyof typeof CoseKeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function CoseKeyTypeFromJSON(json: any): CoseKeyType {\n return CoseKeyTypeFromJSONTyped(json, false)\n}\n\nexport function CoseKeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKeyType {\n return json as CoseKeyType\n}\n\nexport function CoseKeyTypeToJSON(value?: CoseKeyType | null): any {\n return value as any\n}\n\nexport function CoseKeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): CoseKeyType {\n return value as CoseKeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { CoseKeyType } from './CoseKeyType'\nimport { CoseKeyTypeFromJSON, CoseKeyTypeToJSON } from './CoseKeyType'\n\n/**\n * Represents a COSE (CBOR Object Signing and Encryption) key in JSON format.\n * @export\n * @interface CoseKey\n */\nexport interface CoseKey {\n /**\n *\n * @type {CoseKeyType}\n * @memberof CoseKey\n */\n kty: CoseKeyType\n /**\n * Key identifier (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n kid?: string\n /**\n * The COSE algorithm identifier (e.g., -7=ES256, -35=ES384, -36=ES512, -8=EdDSA).\n * @type {number}\n * @memberof CoseKey\n */\n alg?: number\n /**\n * The allowed COSE key operations (1=sign, 2=verify, 3=encrypt, 4=decrypt, etc.).\n * @type {Array<number>}\n * @memberof CoseKey\n */\n keyOps?: Array<number>\n /**\n * Base initialization vector (base64url-encoded).\n * @type {string}\n * @memberof CoseKey\n */\n baseIV?: string\n /**\n * The COSE curve identifier (1=P-256, 2=P-384, 3=P-521, 8=secp256k1, 6=Ed25519, etc.).\n * @type {number}\n * @memberof CoseKey\n */\n crv?: number\n /**\n * The x coordinate (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n x?: string\n /**\n * The y coordinate (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n y?: string\n /**\n * The private key parameter (base64url-encoded byte string).\n * @type {string}\n * @memberof CoseKey\n */\n d?: string\n /**\n * X.509 certificate chain as base64-encoded certificates.\n * @type {Array<string>}\n * @memberof CoseKey\n */\n x5chain?: Array<string>\n}\n\n/**\n * Check if a given object implements the CoseKey interface.\n */\nexport function instanceOfCoseKey(value: object): value is CoseKey {\n if (!('kty' in value) || value['kty'] === undefined) return false\n return true\n}\n\nexport function CoseKeyFromJSON(json: any): CoseKey {\n return CoseKeyFromJSONTyped(json, false)\n}\n\nexport function CoseKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKey {\n if (json == null) {\n return json\n }\n return {\n kty: CoseKeyTypeFromJSON(json['kty']),\n kid: json['kid'] == null ? undefined : json['kid'],\n alg: json['alg'] == null ? undefined : json['alg'],\n keyOps: json['key_ops'] == null ? undefined : json['key_ops'],\n baseIV: json['baseIV'] == null ? undefined : json['baseIV'],\n crv: json['crv'] == null ? undefined : json['crv'],\n x: json['x'] == null ? undefined : json['x'],\n y: json['y'] == null ? undefined : json['y'],\n d: json['d'] == null ? undefined : json['d'],\n x5chain: json['x5chain'] == null ? undefined : json['x5chain'],\n }\n}\n\nexport function CoseKeyToJSON(json: any): CoseKey {\n return CoseKeyToJSONTyped(json, false)\n}\n\nexport function CoseKeyToJSONTyped(value?: CoseKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kty: CoseKeyTypeToJSON(value['kty']),\n kid: value['kid'],\n alg: value['alg'],\n key_ops: value['keyOps'],\n baseIV: value['baseIV'],\n crv: value['crv'],\n x: value['x'],\n y: value['y'],\n d: value['d'],\n x5chain: value['x5chain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { CoseKey } from './CoseKey'\nimport { CoseKeyFromJSON, CoseKeyToJSON } from './CoseKey'\n\n/**\n * Represents a cryptographic key pair for COSE (CBOR Object Signing and Encryption) operations.\n * @export\n * @interface CoseKeyPair\n */\nexport interface CoseKeyPair {\n /**\n *\n * @type {CoseKey}\n * @memberof CoseKeyPair\n */\n privateCoseKey?: CoseKey\n /**\n *\n * @type {CoseKey}\n * @memberof CoseKeyPair\n */\n publicCoseKey: CoseKey\n}\n\n/**\n * Check if a given object implements the CoseKeyPair interface.\n */\nexport function instanceOfCoseKeyPair(value: object): value is CoseKeyPair {\n if (!('publicCoseKey' in value) || value['publicCoseKey'] === undefined) return false\n return true\n}\n\nexport function CoseKeyPairFromJSON(json: any): CoseKeyPair {\n return CoseKeyPairFromJSONTyped(json, false)\n}\n\nexport function CoseKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoseKeyPair {\n if (json == null) {\n return json\n }\n return {\n privateCoseKey: json['privateCoseKey'] == null ? undefined : CoseKeyFromJSON(json['privateCoseKey']),\n publicCoseKey: CoseKeyFromJSON(json['publicCoseKey']),\n }\n}\n\nexport function CoseKeyPairToJSON(json: any): CoseKeyPair {\n return CoseKeyPairToJSONTyped(json, false)\n}\n\nexport function CoseKeyPairToJSONTyped(value?: CoseKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n privateCoseKey: CoseKeyToJSON(value['privateCoseKey']),\n publicCoseKey: CoseKeyToJSON(value['publicCoseKey']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The type of Key Provider. Determines the required configuration settings. - AZURE_KEYVAULT: Microsoft Azure Key Vault or Managed HSM. - AWS_KMS: Amazon Web Services Key Management Service.\n * @export\n */\nexport const KeyProviderType = {\n Software: 'SOFTWARE',\n AzureKeyvault: 'AZURE_KEYVAULT',\n AwsKms: 'AWS_KMS',\n} as const\nexport type KeyProviderType = (typeof KeyProviderType)[keyof typeof KeyProviderType]\n\nexport function instanceOfKeyProviderType(value: any): boolean {\n for (const key in KeyProviderType) {\n if (Object.prototype.hasOwnProperty.call(KeyProviderType, key)) {\n if (KeyProviderType[key as keyof typeof KeyProviderType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyProviderTypeFromJSON(json: any): KeyProviderType {\n return KeyProviderTypeFromJSONTyped(json, false)\n}\n\nexport function KeyProviderTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProviderType {\n return json as KeyProviderType\n}\n\nexport function KeyProviderTypeToJSON(value?: KeyProviderType | null): any {\n return value as any\n}\n\nexport function KeyProviderTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyProviderType {\n return value as KeyProviderType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AwsKmsSetting } from './AwsKmsSetting'\nimport { AwsKmsSettingFromJSON, AwsKmsSettingToJSON } from './AwsKmsSetting'\nimport type { AzureKeyVaultSetting } from './AzureKeyVaultSetting'\nimport { AzureKeyVaultSettingFromJSON, AzureKeyVaultSettingToJSON } from './AzureKeyVaultSetting'\nimport type { KeyProviderType } from './KeyProviderType'\nimport { KeyProviderTypeFromJSON, KeyProviderTypeToJSON } from './KeyProviderType'\n\n/**\n * Request body for creating a new Key Provider instance.\n * @export\n * @interface CreateKeyProvider\n */\nexport interface CreateKeyProvider {\n /**\n *\n * @type {KeyProviderType}\n * @memberof CreateKeyProvider\n */\n type: KeyProviderType\n /**\n *\n * @type {AzureKeyVaultSetting}\n * @memberof CreateKeyProvider\n */\n azureKeyvaultSettings?: AzureKeyVaultSetting\n /**\n *\n * @type {AwsKmsSetting}\n * @memberof CreateKeyProvider\n */\n awsKmsSettings?: AwsKmsSetting\n /**\n * Whether to enable caching for keys retrieved from this provider.\n * @type {boolean}\n * @memberof CreateKeyProvider\n */\n cacheEnabled?: boolean\n /**\n * Time-to-live for cached keys in seconds (if cacheEnabled is true).\n * @type {number}\n * @memberof CreateKeyProvider\n */\n cacheTTLInSeconds?: number\n}\n\n/**\n * Check if a given object implements the CreateKeyProvider interface.\n */\nexport function instanceOfCreateKeyProvider(value: object): value is CreateKeyProvider {\n if (!('type' in value) || value['type'] === undefined) return false\n return true\n}\n\nexport function CreateKeyProviderFromJSON(json: any): CreateKeyProvider {\n return CreateKeyProviderFromJSONTyped(json, false)\n}\n\nexport function CreateKeyProviderFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateKeyProvider {\n if (json == null) {\n return json\n }\n return {\n type: KeyProviderTypeFromJSON(json['type']),\n azureKeyvaultSettings: json['azureKeyvaultSettings'] == null ? undefined : AzureKeyVaultSettingFromJSON(json['azureKeyvaultSettings']),\n awsKmsSettings: json['awsKmsSettings'] == null ? undefined : AwsKmsSettingFromJSON(json['awsKmsSettings']),\n cacheEnabled: json['cacheEnabled'] == null ? undefined : json['cacheEnabled'],\n cacheTTLInSeconds: json['cacheTTLInSeconds'] == null ? undefined : json['cacheTTLInSeconds'],\n }\n}\n\nexport function CreateKeyProviderToJSON(json: any): CreateKeyProvider {\n return CreateKeyProviderToJSONTyped(json, false)\n}\n\nexport function CreateKeyProviderToJSONTyped(value?: CreateKeyProvider | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n type: KeyProviderTypeToJSON(value['type']),\n azureKeyvaultSettings: AzureKeyVaultSettingToJSON(value['azureKeyvaultSettings']),\n awsKmsSettings: AwsKmsSettingToJSON(value['awsKmsSettings']),\n cacheEnabled: value['cacheEnabled'],\n cacheTTLInSeconds: value['cacheTTLInSeconds'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic key type identifier.\n * @export\n */\nexport const KeyType = {\n Okp: 'OKP',\n Ec: 'EC',\n Rsa: 'RSA',\n} as const\nexport type KeyType = (typeof KeyType)[keyof typeof KeyType]\n\nexport function instanceOfKeyType(value: any): boolean {\n for (const key in KeyType) {\n if (Object.prototype.hasOwnProperty.call(KeyType, key)) {\n if (KeyType[key as keyof typeof KeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyTypeFromJSON(json: any): KeyType {\n return KeyTypeFromJSONTyped(json, false)\n}\n\nexport function KeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyType {\n return json as KeyType\n}\n\nexport function KeyTypeToJSON(value?: KeyType | null): any {\n return value as any\n}\n\nexport function KeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyType {\n return value as KeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Indicates the visibility status of a cryptographic key.\n * @export\n */\nexport const KeyVisibility = {\n Public: 'PUBLIC',\n Private: 'PRIVATE',\n} as const\nexport type KeyVisibility = (typeof KeyVisibility)[keyof typeof KeyVisibility]\n\nexport function instanceOfKeyVisibility(value: any): boolean {\n for (const key in KeyVisibility) {\n if (Object.prototype.hasOwnProperty.call(KeyVisibility, key)) {\n if (KeyVisibility[key as keyof typeof KeyVisibility] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyVisibilityFromJSON(json: any): KeyVisibility {\n return KeyVisibilityFromJSONTyped(json, false)\n}\n\nexport function KeyVisibilityFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyVisibility {\n return json as KeyVisibility\n}\n\nexport function KeyVisibilityToJSON(value?: KeyVisibility | null): any {\n return value as any\n}\n\nexport function KeyVisibilityToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyVisibility {\n return value as KeyVisibility\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic signature algorithm identifier.\n * @export\n */\nexport const SignatureAlgorithm = {\n Ed25519: 'ED25519',\n EcdsaSha256: 'ECDSA_SHA256',\n EcdsaSha384: 'ECDSA_SHA384',\n EcdsaSha512: 'ECDSA_SHA512',\n Es256K: 'ES256K',\n EckaDhSha256: 'ECKA_DH_SHA256',\n HmacSha256: 'HMAC_SHA256',\n HmacSha384: 'HMAC_SHA384',\n HmacSha512: 'HMAC_SHA512',\n RsaSsaPssSha256Mgf1: 'RSA_SSA_PSS_SHA256_MGF1',\n RsaSsaPssSha384Mgf1: 'RSA_SSA_PSS_SHA384_MGF1',\n RsaSsaPssSha512Mgf1: 'RSA_SSA_PSS_SHA512_MGF1',\n} as const\nexport type SignatureAlgorithm = (typeof SignatureAlgorithm)[keyof typeof SignatureAlgorithm]\n\nexport function instanceOfSignatureAlgorithm(value: any): boolean {\n for (const key in SignatureAlgorithm) {\n if (Object.prototype.hasOwnProperty.call(SignatureAlgorithm, key)) {\n if (SignatureAlgorithm[key as keyof typeof SignatureAlgorithm] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function SignatureAlgorithmFromJSON(json: any): SignatureAlgorithm {\n return SignatureAlgorithmFromJSONTyped(json, false)\n}\n\nexport function SignatureAlgorithmFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignatureAlgorithm {\n return json as SignatureAlgorithm\n}\n\nexport function SignatureAlgorithmToJSON(value?: SignatureAlgorithm | null): any {\n return value as any\n}\n\nexport function SignatureAlgorithmToJSONTyped(value: any, ignoreDiscriminator: boolean): SignatureAlgorithm {\n return value as SignatureAlgorithm\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The encoding format of the cryptographic key.\n * @export\n */\nexport const KeyEncoding = {\n Cose: 'COSE',\n Jose: 'JOSE',\n} as const\nexport type KeyEncoding = (typeof KeyEncoding)[keyof typeof KeyEncoding]\n\nexport function instanceOfKeyEncoding(value: any): boolean {\n for (const key in KeyEncoding) {\n if (Object.prototype.hasOwnProperty.call(KeyEncoding, key)) {\n if (KeyEncoding[key as keyof typeof KeyEncoding] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyEncodingFromJSON(json: any): KeyEncoding {\n return KeyEncodingFromJSONTyped(json, false)\n}\n\nexport function KeyEncodingFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyEncoding {\n return json as KeyEncoding\n}\n\nexport function KeyEncodingToJSON(value?: KeyEncoding | null): any {\n return value as any\n}\n\nexport function KeyEncodingToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyEncoding {\n return value as KeyEncoding\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Elliptic curve identifier.\n * @export\n */\nexport const Curve = {\n P256: 'P-256',\n P384: 'P-384',\n P521: 'P-521',\n Secp256k1: 'secp256k1',\n Ed25519: 'Ed25519',\n Ed448: 'Ed448',\n X25519: 'X25519',\n X448: 'X448',\n} as const\nexport type Curve = (typeof Curve)[keyof typeof Curve]\n\nexport function instanceOfCurve(value: any): boolean {\n for (const key in Curve) {\n if (Object.prototype.hasOwnProperty.call(Curve, key)) {\n if (Curve[key as keyof typeof Curve] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function CurveFromJSON(json: any): Curve {\n return CurveFromJSONTyped(json, false)\n}\n\nexport function CurveFromJSONTyped(json: any, ignoreDiscriminator: boolean): Curve {\n return json as Curve\n}\n\nexport function CurveToJSON(value?: Curve | null): any {\n return value as any\n}\n\nexport function CurveToJSONTyped(value: any, ignoreDiscriminator: boolean): Curve {\n return value as Curve\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Specific operations the key is intended for.\n * @export\n */\nexport const KeyOperations = {\n Sign: 'sign',\n Verify: 'verify',\n Encrypt: 'encrypt',\n Decrypt: 'decrypt',\n WrapKey: 'wrapKey',\n UnwrapKey: 'unwrapKey',\n DeriveKey: 'deriveKey',\n DeriveBits: 'deriveBits',\n} as const\nexport type KeyOperations = (typeof KeyOperations)[keyof typeof KeyOperations]\n\nexport function instanceOfKeyOperations(value: any): boolean {\n for (const key in KeyOperations) {\n if (Object.prototype.hasOwnProperty.call(KeyOperations, key)) {\n if (KeyOperations[key as keyof typeof KeyOperations] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function KeyOperationsFromJSON(json: any): KeyOperations {\n return KeyOperationsFromJSONTyped(json, false)\n}\n\nexport function KeyOperationsFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyOperations {\n return json as KeyOperations\n}\n\nexport function KeyOperationsToJSON(value?: KeyOperations | null): any {\n return value as any\n}\n\nexport function KeyOperationsToJSONTyped(value: any, ignoreDiscriminator: boolean): KeyOperations {\n return value as KeyOperations\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Intended use of the key (signing or encryption).\n * @export\n */\nexport const JwkUse = {\n Sig: 'sig',\n Enc: 'enc',\n} as const\nexport type JwkUse = (typeof JwkUse)[keyof typeof JwkUse]\n\nexport function instanceOfJwkUse(value: any): boolean {\n for (const key in JwkUse) {\n if (Object.prototype.hasOwnProperty.call(JwkUse, key)) {\n if (JwkUse[key as keyof typeof JwkUse] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function JwkUseFromJSON(json: any): JwkUse {\n return JwkUseFromJSONTyped(json, false)\n}\n\nexport function JwkUseFromJSONTyped(json: any, ignoreDiscriminator: boolean): JwkUse {\n return json as JwkUse\n}\n\nexport function JwkUseToJSON(value?: JwkUse | null): any {\n return value as any\n}\n\nexport function JwkUseToJSONTyped(value: any, ignoreDiscriminator: boolean): JwkUse {\n return value as JwkUse\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * JSON Web Key (JWK) key type parameter identifying the cryptographic algorithm family.\n * @export\n */\nexport const JwkKeyType = {\n Ec: 'EC',\n Rsa: 'RSA',\n Okp: 'OKP',\n Oct: 'oct',\n} as const\nexport type JwkKeyType = (typeof JwkKeyType)[keyof typeof JwkKeyType]\n\nexport function instanceOfJwkKeyType(value: any): boolean {\n for (const key in JwkKeyType) {\n if (Object.prototype.hasOwnProperty.call(JwkKeyType, key)) {\n if (JwkKeyType[key as keyof typeof JwkKeyType] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function JwkKeyTypeFromJSON(json: any): JwkKeyType {\n return JwkKeyTypeFromJSONTyped(json, false)\n}\n\nexport function JwkKeyTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): JwkKeyType {\n return json as JwkKeyType\n}\n\nexport function JwkKeyTypeToJSON(value?: JwkKeyType | null): any {\n return value as any\n}\n\nexport function JwkKeyTypeToJSONTyped(value: any, ignoreDiscriminator: boolean): JwkKeyType {\n return value as JwkKeyType\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Curve } from './Curve'\nimport { CurveFromJSON, CurveToJSON } from './Curve'\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\nimport type { JwkKeyType } from './JwkKeyType'\nimport { JwkKeyTypeFromJSON, JwkKeyTypeToJSON } from './JwkKeyType'\n\n/**\n * Represents a JSON Web Key (JWK) as defined by the JSON Web Key specification.\n * @export\n * @interface Jwk\n */\nexport interface Jwk {\n /**\n *\n * @type {JwkKeyType}\n * @memberof Jwk\n */\n kty: JwkKeyType\n /**\n * Key identifier used to uniquely identify the key.\n * @type {string}\n * @memberof Jwk\n */\n kid?: string\n /**\n * The algorithm intended for use with the key (JWA algorithm name).\n * @type {string}\n * @memberof Jwk\n */\n alg?: string\n /**\n *\n * @type {JwkUse}\n * @memberof Jwk\n */\n use?: JwkUse\n /**\n * The allowed cryptographic operations for the key.\n * @type {Array<KeyOperations>}\n * @memberof Jwk\n */\n keyOps?: Array<KeyOperations>\n /**\n *\n * @type {Curve}\n * @memberof Jwk\n */\n crv?: Curve\n /**\n * The x coordinate for elliptic curve keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x?: string\n /**\n * The y coordinate for elliptic curve keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n y?: string\n /**\n * The private key parameter (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n d?: string\n /**\n * The modulus value for RSA keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n n?: string\n /**\n * The public exponent for RSA keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n e?: string\n /**\n * The first prime factor for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n p?: string\n /**\n * The second prime factor for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n q?: string\n /**\n * The first factor CRT exponent for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n dp?: string\n /**\n * The second factor CRT exponent for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n dq?: string\n /**\n * The first CRT coefficient for RSA private keys (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n qi?: string\n /**\n * The symmetric key value (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n k?: string\n /**\n * X.509 certificate chain as base64-encoded DER certificates.\n * @type {Array<string>}\n * @memberof Jwk\n */\n x5c?: Array<string>\n /**\n * X.509 certificate SHA-1 thumbprint (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x5t?: string\n /**\n * URL pointing to X.509 certificate or certificate chain.\n * @type {string}\n * @memberof Jwk\n */\n x5u?: string\n /**\n * X.509 certificate SHA-256 thumbprint (base64url-encoded).\n * @type {string}\n * @memberof Jwk\n */\n x5tS256?: string\n}\n\n/**\n * Check if a given object implements the Jwk interface.\n */\nexport function instanceOfJwk(value: object): value is Jwk {\n if (!('kty' in value) || value['kty'] === undefined) return false\n return true\n}\n\nexport function JwkFromJSON(json: any): Jwk {\n return JwkFromJSONTyped(json, false)\n}\n\nexport function JwkFromJSONTyped(json: any, ignoreDiscriminator: boolean): Jwk {\n if (json == null) {\n return json\n }\n return {\n kty: JwkKeyTypeFromJSON(json['kty']),\n kid: json['kid'] == null ? undefined : json['kid'],\n alg: json['alg'] == null ? undefined : json['alg'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOps: json['key_ops'] == null ? undefined : (json['key_ops'] as Array<any>).map(KeyOperationsFromJSON),\n crv: json['crv'] == null ? undefined : CurveFromJSON(json['crv']),\n x: json['x'] == null ? undefined : json['x'],\n y: json['y'] == null ? undefined : json['y'],\n d: json['d'] == null ? undefined : json['d'],\n n: json['n'] == null ? undefined : json['n'],\n e: json['e'] == null ? undefined : json['e'],\n p: json['p'] == null ? undefined : json['p'],\n q: json['q'] == null ? undefined : json['q'],\n dp: json['dp'] == null ? undefined : json['dp'],\n dq: json['dq'] == null ? undefined : json['dq'],\n qi: json['qi'] == null ? undefined : json['qi'],\n k: json['k'] == null ? undefined : json['k'],\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n x5t: json['x5t'] == null ? undefined : json['x5t'],\n x5u: json['x5u'] == null ? undefined : json['x5u'],\n x5tS256: json['x5t#S256'] == null ? undefined : json['x5t#S256'],\n }\n}\n\nexport function JwkToJSON(json: any): Jwk {\n return JwkToJSONTyped(json, false)\n}\n\nexport function JwkToJSONTyped(value?: Jwk | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kty: JwkKeyTypeToJSON(value['kty']),\n kid: value['kid'],\n alg: value['alg'],\n use: JwkUseToJSON(value['use']),\n key_ops: value['keyOps'] == null ? undefined : (value['keyOps'] as Array<any>).map(KeyOperationsToJSON),\n crv: CurveToJSON(value['crv']),\n x: value['x'],\n y: value['y'],\n d: value['d'],\n n: value['n'],\n e: value['e'],\n p: value['p'],\n q: value['q'],\n dp: value['dp'],\n dq: value['dq'],\n qi: value['qi'],\n k: value['k'],\n x5c: value['x5c'],\n x5t: value['x5t'],\n x5u: value['x5u'],\n 'x5t#S256': value['x5tS256'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Information about a cryptographic key, providing metadata and configuration details necessary for cryptographic operations.\n * @export\n * @interface KeyInfo\n */\nexport interface KeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof KeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof KeyInfo\n */\n key?: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof KeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof KeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof KeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof KeyInfo\n */\n alias?: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof KeyInfo\n */\n providerId?: string\n /**\n *\n * @type {KeyType}\n * @memberof KeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof KeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof KeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the KeyInfo interface.\n */\nexport function instanceOfKeyInfo(value: object): value is KeyInfo {\n return true\n}\n\nexport function KeyInfoFromJSON(json: any): KeyInfo {\n return KeyInfoFromJSONTyped(json, false)\n}\n\nexport function KeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: json['key'] == null ? undefined : JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'] == null ? undefined : json['alias'],\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function KeyInfoToJSON(json: any): KeyInfo {\n return KeyInfoToJSONTyped(json, false)\n}\n\nexport function KeyInfoToJSONTyped(value?: KeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\n\n/**\n * Request body for creating a raw signature.\n * @export\n * @interface CreateRawSignature\n */\nexport interface CreateRawSignature {\n /**\n *\n * @type {KeyInfo}\n * @memberof CreateRawSignature\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {string}\n * @memberof CreateRawSignature\n */\n input: string\n}\n\n/**\n * Check if a given object implements the CreateRawSignature interface.\n */\nexport function instanceOfCreateRawSignature(value: object): value is CreateRawSignature {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n if (!('input' in value) || value['input'] === undefined) return false\n return true\n}\n\nexport function CreateRawSignatureFromJSON(json: any): CreateRawSignature {\n return CreateRawSignatureFromJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateRawSignature {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n input: json['input'],\n }\n}\n\nexport function CreateRawSignatureToJSON(json: any): CreateRawSignature {\n return CreateRawSignatureToJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureToJSONTyped(value?: CreateRawSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n input: value['input'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Response body containing the created signature.\n * @export\n * @interface CreateRawSignatureResponse\n */\nexport interface CreateRawSignatureResponse {\n /**\n * The created signature encoded as a base64 string.\n * @type {string}\n * @memberof CreateRawSignatureResponse\n */\n signature: string\n}\n\n/**\n * Check if a given object implements the CreateRawSignatureResponse interface.\n */\nexport function instanceOfCreateRawSignatureResponse(value: object): value is CreateRawSignatureResponse {\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function CreateRawSignatureResponseFromJSON(json: any): CreateRawSignatureResponse {\n return CreateRawSignatureResponseFromJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateRawSignatureResponse {\n if (json == null) {\n return json\n }\n return {\n signature: json['signature'],\n }\n}\n\nexport function CreateRawSignatureResponseToJSON(json: any): CreateRawSignatureResponse {\n return CreateRawSignatureResponseToJSONTyped(json, false)\n}\n\nexport function CreateRawSignatureResponseToJSONTyped(value?: CreateRawSignatureResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n signature: value['signature'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * The input data and metadata required for creating a signature.\n * @export\n * @interface SignInput\n */\nexport interface SignInput {\n /**\n * The data to be signed, encoded as a base64 string.\n * @type {string}\n * @memberof SignInput\n */\n data: string\n /**\n * The signing mode to be used.\n * @type {string}\n * @memberof SignInput\n */\n mode?: SignInputModeEnum\n /**\n * Additional metadata to be included in the signature.\n * @type {{ [key: string]: any; }}\n * @memberof SignInput\n */\n metadata?: { [key: string]: any }\n}\n\n/**\n * @export\n */\nexport const SignInputModeEnum = {\n Detached: 'DETACHED',\n Attached: 'ATTACHED',\n} as const\nexport type SignInputModeEnum = (typeof SignInputModeEnum)[keyof typeof SignInputModeEnum]\n\n/**\n * Check if a given object implements the SignInput interface.\n */\nexport function instanceOfSignInput(value: object): value is SignInput {\n if (!('data' in value) || value['data'] === undefined) return false\n return true\n}\n\nexport function SignInputFromJSON(json: any): SignInput {\n return SignInputFromJSONTyped(json, false)\n}\n\nexport function SignInputFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignInput {\n if (json == null) {\n return json\n }\n return {\n data: json['data'],\n mode: json['mode'] == null ? undefined : json['mode'],\n metadata: json['metadata'] == null ? undefined : json['metadata'],\n }\n}\n\nexport function SignInputToJSON(json: any): SignInput {\n return SignInputToJSONTyped(json, false)\n}\n\nexport function SignInputToJSONTyped(value?: SignInput | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n data: value['data'],\n mode: value['mode'],\n metadata: value['metadata'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\nimport type { SignInput } from './SignInput'\nimport { SignInputFromJSON, SignInputToJSON } from './SignInput'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\n\n/**\n * Request body for creating a digital signature.\n * @export\n * @interface CreateSimpleSignature\n */\nexport interface CreateSimpleSignature {\n /**\n *\n * @type {SignInput}\n * @memberof CreateSimpleSignature\n */\n signInput: SignInput\n /**\n *\n * @type {KeyInfo}\n * @memberof CreateSimpleSignature\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof CreateSimpleSignature\n */\n signatureAlgorithm?: SignatureAlgorithm\n}\n\n/**\n * Check if a given object implements the CreateSimpleSignature interface.\n */\nexport function instanceOfCreateSimpleSignature(value: object): value is CreateSimpleSignature {\n if (!('signInput' in value) || value['signInput'] === undefined) return false\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function CreateSimpleSignatureFromJSON(json: any): CreateSimpleSignature {\n return CreateSimpleSignatureFromJSONTyped(json, false)\n}\n\nexport function CreateSimpleSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateSimpleSignature {\n if (json == null) {\n return json\n }\n return {\n signInput: SignInputFromJSON(json['signInput']),\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n }\n}\n\nexport function CreateSimpleSignatureToJSON(json: any): CreateSimpleSignature {\n return CreateSimpleSignatureToJSONTyped(json, false)\n}\n\nexport function CreateSimpleSignatureToJSONTyped(value?: CreateSimpleSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n signInput: SignInputToJSON(value['signInput']),\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic algorithm type.\n * @export\n */\nexport const CryptoAlg = {\n Ed25519: 'ED25519',\n Ecdsa: 'ECDSA',\n Hmac: 'HMAC',\n Rsa: 'RSA',\n} as const\nexport type CryptoAlg = (typeof CryptoAlg)[keyof typeof CryptoAlg]\n\nexport function instanceOfCryptoAlg(value: any): boolean {\n for (const key in CryptoAlg) {\n if (Object.prototype.hasOwnProperty.call(CryptoAlg, key)) {\n if (CryptoAlg[key as keyof typeof CryptoAlg] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function CryptoAlgFromJSON(json: any): CryptoAlg {\n return CryptoAlgFromJSONTyped(json, false)\n}\n\nexport function CryptoAlgFromJSONTyped(json: any, ignoreDiscriminator: boolean): CryptoAlg {\n return json as CryptoAlg\n}\n\nexport function CryptoAlgToJSON(value?: CryptoAlg | null): any {\n return value as any\n}\n\nexport function CryptoAlgToJSONTyped(value: any, ignoreDiscriminator: boolean): CryptoAlg {\n return value as CryptoAlg\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Cryptographic digest (hash) algorithm identifier.\n * @export\n */\nexport const DigestAlg = {\n None: 'NONE',\n Sha256: 'SHA256',\n Sha384: 'SHA384',\n Sha512: 'SHA512',\n Sha3256: 'SHA3_256',\n Sha3384: 'SHA3_384',\n Sha3512: 'SHA3_512',\n} as const\nexport type DigestAlg = (typeof DigestAlg)[keyof typeof DigestAlg]\n\nexport function instanceOfDigestAlg(value: any): boolean {\n for (const key in DigestAlg) {\n if (Object.prototype.hasOwnProperty.call(DigestAlg, key)) {\n if (DigestAlg[key as keyof typeof DigestAlg] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function DigestAlgFromJSON(json: any): DigestAlg {\n return DigestAlgFromJSONTyped(json, false)\n}\n\nexport function DigestAlgFromJSONTyped(json: any, ignoreDiscriminator: boolean): DigestAlg {\n return json as DigestAlg\n}\n\nexport function DigestAlgToJSON(value?: DigestAlg | null): any {\n return value as any\n}\n\nexport function DigestAlgToJSONTyped(value: any, ignoreDiscriminator: boolean): DigestAlg {\n return value as DigestAlg\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n *\n * @export\n * @interface ErrorResponse\n */\nexport interface ErrorResponse {\n /**\n * Error code identifying the type of error.\n * @type {string}\n * @memberof ErrorResponse\n */\n code: string\n /**\n * Human-readable error message.\n * @type {string}\n * @memberof ErrorResponse\n */\n message: string\n /**\n * Additional error details.\n * @type {{ [key: string]: any; }}\n * @memberof ErrorResponse\n */\n details?: { [key: string]: any }\n}\n\n/**\n * Check if a given object implements the ErrorResponse interface.\n */\nexport function instanceOfErrorResponse(value: object): value is ErrorResponse {\n if (!('code' in value) || value['code'] === undefined) return false\n if (!('message' in value) || value['message'] === undefined) return false\n return true\n}\n\nexport function ErrorResponseFromJSON(json: any): ErrorResponse {\n return ErrorResponseFromJSONTyped(json, false)\n}\n\nexport function ErrorResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ErrorResponse {\n if (json == null) {\n return json\n }\n return {\n code: json['code'],\n message: json['message'],\n details: json['details'] == null ? undefined : json['details'],\n }\n}\n\nexport function ErrorResponseToJSON(json: any): ErrorResponse {\n return ErrorResponseToJSONTyped(json, false)\n}\n\nexport function ErrorResponseToJSONTyped(value?: ErrorResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n code: value['code'],\n message: value['message'],\n details: value['details'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\n\n/**\n * Parameters for key generation.\n * @export\n * @interface GenerateKey\n */\nexport interface GenerateKey {\n /**\n * Alias for the generated key.\n * @type {string}\n * @memberof GenerateKey\n */\n alias?: string\n /**\n *\n * @type {JwkUse}\n * @memberof GenerateKey\n */\n use?: JwkUse\n /**\n *\n * @type {Array<KeyOperations>}\n * @memberof GenerateKey\n */\n keyOperations?: Array<KeyOperations>\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof GenerateKey\n */\n alg?: SignatureAlgorithm\n}\n\n/**\n * Check if a given object implements the GenerateKey interface.\n */\nexport function instanceOfGenerateKey(value: object): value is GenerateKey {\n return true\n}\n\nexport function GenerateKeyFromJSON(json: any): GenerateKey {\n return GenerateKeyFromJSONTyped(json, false)\n}\n\nexport function GenerateKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateKey {\n if (json == null) {\n return json\n }\n return {\n alias: json['alias'] == null ? undefined : json['alias'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOperations: json['keyOperations'] == null ? undefined : (json['keyOperations'] as Array<any>).map(KeyOperationsFromJSON),\n alg: json['alg'] == null ? undefined : SignatureAlgorithmFromJSON(json['alg']),\n }\n}\n\nexport function GenerateKeyToJSON(json: any): GenerateKey {\n return GenerateKeyToJSONTyped(json, false)\n}\n\nexport function GenerateKeyToJSONTyped(value?: GenerateKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n alias: value['alias'],\n use: JwkUseToJSON(value['use']),\n keyOperations: value['keyOperations'] == null ? undefined : (value['keyOperations'] as Array<any>).map(KeyOperationsToJSON),\n alg: SignatureAlgorithmToJSON(value['alg']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { JwkUse } from './JwkUse'\nimport { JwkUseFromJSON, JwkUseToJSON } from './JwkUse'\n\n/**\n * Parameters for global key generation with optional provider specification.\n * @export\n * @interface GenerateKeyGlobal\n */\nexport interface GenerateKeyGlobal {\n /**\n * Alias for the generated key.\n * @type {string}\n * @memberof GenerateKeyGlobal\n */\n alias?: string\n /**\n *\n * @type {JwkUse}\n * @memberof GenerateKeyGlobal\n */\n use?: JwkUse\n /**\n *\n * @type {Array<KeyOperations>}\n * @memberof GenerateKeyGlobal\n */\n keyOperations?: Array<KeyOperations>\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof GenerateKeyGlobal\n */\n alg?: SignatureAlgorithm\n /**\n * Optional provider ID. If not specified, the default provider will be used.\n * @type {string}\n * @memberof GenerateKeyGlobal\n */\n providerId?: string\n}\n\n/**\n * Check if a given object implements the GenerateKeyGlobal interface.\n */\nexport function instanceOfGenerateKeyGlobal(value: object): value is GenerateKeyGlobal {\n return true\n}\n\nexport function GenerateKeyGlobalFromJSON(json: any): GenerateKeyGlobal {\n return GenerateKeyGlobalFromJSONTyped(json, false)\n}\n\nexport function GenerateKeyGlobalFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateKeyGlobal {\n if (json == null) {\n return json\n }\n return {\n alias: json['alias'] == null ? undefined : json['alias'],\n use: json['use'] == null ? undefined : JwkUseFromJSON(json['use']),\n keyOperations: json['keyOperations'] == null ? undefined : (json['keyOperations'] as Array<any>).map(KeyOperationsFromJSON),\n alg: json['alg'] == null ? undefined : SignatureAlgorithmFromJSON(json['alg']),\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n }\n}\n\nexport function GenerateKeyGlobalToJSON(json: any): GenerateKeyGlobal {\n return GenerateKeyGlobalToJSONTyped(json, false)\n}\n\nexport function GenerateKeyGlobalToJSONTyped(value?: GenerateKeyGlobal | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n alias: value['alias'],\n use: JwkUseToJSON(value['use']),\n keyOperations: value['keyOperations'] == null ? undefined : (value['keyOperations'] as Array<any>).map(KeyOperationsToJSON),\n alg: SignatureAlgorithmToJSON(value['alg']),\n providerId: value['providerId'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Data class representing a cryptographic key pair used with JOSE (JSON Object Signing and Encryption).\n * @export\n * @interface JoseKeyPair\n */\nexport interface JoseKeyPair {\n /**\n *\n * @type {Jwk}\n * @memberof JoseKeyPair\n */\n privateJwk?: Jwk\n /**\n *\n * @type {Jwk}\n * @memberof JoseKeyPair\n */\n publicJwk: Jwk\n}\n\n/**\n * Check if a given object implements the JoseKeyPair interface.\n */\nexport function instanceOfJoseKeyPair(value: object): value is JoseKeyPair {\n if (!('publicJwk' in value) || value['publicJwk'] === undefined) return false\n return true\n}\n\nexport function JoseKeyPairFromJSON(json: any): JoseKeyPair {\n return JoseKeyPairFromJSONTyped(json, false)\n}\n\nexport function JoseKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): JoseKeyPair {\n if (json == null) {\n return json\n }\n return {\n privateJwk: json['privateJwk'] == null ? undefined : JwkFromJSON(json['privateJwk']),\n publicJwk: JwkFromJSON(json['publicJwk']),\n }\n}\n\nexport function JoseKeyPairToJSON(json: any): JoseKeyPair {\n return JoseKeyPairToJSONTyped(json, false)\n}\n\nexport function JoseKeyPairToJSONTyped(value?: JoseKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n privateJwk: JwkToJSON(value['privateJwk']),\n publicJwk: JwkToJSON(value['publicJwk']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { JoseKeyPair } from './JoseKeyPair'\nimport { JoseKeyPairFromJSON, JoseKeyPairToJSON } from './JoseKeyPair'\nimport type { CoseKeyPair } from './CoseKeyPair'\nimport { CoseKeyPairFromJSON, CoseKeyPairToJSON } from './CoseKeyPair'\n\n/**\n * Represents a key pair used by a crypto provider, encapsulating both JOSE and COSE key pairs.\n * @export\n * @interface ManagedKeyPair\n */\nexport interface ManagedKeyPair {\n /**\n * Key identifier, may be null.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n kid?: string\n /**\n * Key Management System identifier.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n providerId: string\n /**\n * Reference to the key in the KMS.\n * @type {string}\n * @memberof ManagedKeyPair\n */\n alias: string\n /**\n *\n * @type {CoseKeyPair}\n * @memberof ManagedKeyPair\n */\n cose: CoseKeyPair\n /**\n *\n * @type {JoseKeyPair}\n * @memberof ManagedKeyPair\n */\n jose: JoseKeyPair\n}\n\n/**\n * Check if a given object implements the ManagedKeyPair interface.\n */\nexport function instanceOfManagedKeyPair(value: object): value is ManagedKeyPair {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('alias' in value) || value['alias'] === undefined) return false\n if (!('cose' in value) || value['cose'] === undefined) return false\n if (!('jose' in value) || value['jose'] === undefined) return false\n return true\n}\n\nexport function ManagedKeyPairFromJSON(json: any): ManagedKeyPair {\n return ManagedKeyPairFromJSONTyped(json, false)\n}\n\nexport function ManagedKeyPairFromJSONTyped(json: any, ignoreDiscriminator: boolean): ManagedKeyPair {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n providerId: json['providerId'],\n alias: json['alias'],\n cose: CoseKeyPairFromJSON(json['cose']),\n jose: JoseKeyPairFromJSON(json['jose']),\n }\n}\n\nexport function ManagedKeyPairToJSON(json: any): ManagedKeyPair {\n return ManagedKeyPairToJSONTyped(json, false)\n}\n\nexport function ManagedKeyPairToJSONTyped(value?: ManagedKeyPair | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n providerId: value['providerId'],\n alias: value['alias'],\n cose: CoseKeyPairToJSON(value['cose']),\n jose: JoseKeyPairToJSON(value['jose']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ManagedKeyPair } from './ManagedKeyPair'\nimport { ManagedKeyPairFromJSON, ManagedKeyPairToJSON } from './ManagedKeyPair'\n\n/**\n * Response body containing a generated key pair.\n * @export\n * @interface GenerateKeyResponse\n */\nexport interface GenerateKeyResponse {\n /**\n *\n * @type {ManagedKeyPair}\n * @memberof GenerateKeyResponse\n */\n keyPair: ManagedKeyPair\n}\n\n/**\n * Check if a given object implements the GenerateKeyResponse interface.\n */\nexport function instanceOfGenerateKeyResponse(value: object): value is GenerateKeyResponse {\n if (!('keyPair' in value) || value['keyPair'] === undefined) return false\n return true\n}\n\nexport function GenerateKeyResponseFromJSON(json: any): GenerateKeyResponse {\n return GenerateKeyResponseFromJSONTyped(json, false)\n}\n\nexport function GenerateKeyResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GenerateKeyResponse {\n if (json == null) {\n return json\n }\n return {\n keyPair: ManagedKeyPairFromJSON(json['keyPair']),\n }\n}\n\nexport function GenerateKeyResponseToJSON(json: any): GenerateKeyResponse {\n return GenerateKeyResponseToJSONTyped(json, false)\n}\n\nexport function GenerateKeyResponseToJSONTyped(value?: GenerateKeyResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyPair: ManagedKeyPairToJSON(value['keyPair']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Represents a managed cryptographic key information that is guaranteed to be present and resolved, part of a KMS providing concrete access to the key.\n * @export\n * @interface ManagedKeyInfo\n */\nexport interface ManagedKeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof ManagedKeyInfo\n */\n key: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof ManagedKeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof ManagedKeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof ManagedKeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n alias: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof ManagedKeyInfo\n */\n providerId: string\n /**\n *\n * @type {KeyType}\n * @memberof ManagedKeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof ManagedKeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof ManagedKeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the ManagedKeyInfo interface.\n */\nexport function instanceOfManagedKeyInfo(value: object): value is ManagedKeyInfo {\n if (!('key' in value) || value['key'] === undefined) return false\n if (!('alias' in value) || value['alias'] === undefined) return false\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n return true\n}\n\nexport function ManagedKeyInfoFromJSON(json: any): ManagedKeyInfo {\n return ManagedKeyInfoFromJSONTyped(json, false)\n}\n\nexport function ManagedKeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ManagedKeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'],\n providerId: json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function ManagedKeyInfoToJSON(json: any): ManagedKeyInfo {\n return ManagedKeyInfoToJSONTyped(json, false)\n}\n\nexport function ManagedKeyInfoToJSONTyped(value?: ManagedKeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ManagedKeyInfo } from './ManagedKeyInfo'\nimport { ManagedKeyInfoFromJSON, ManagedKeyInfoToJSON } from './ManagedKeyInfo'\n\n/**\n * Response body containing a managed key.\n * @export\n * @interface GetKeyResponse\n */\nexport interface GetKeyResponse {\n /**\n *\n * @type {ManagedKeyInfo}\n * @memberof GetKeyResponse\n */\n keyInfo: ManagedKeyInfo\n}\n\n/**\n * Check if a given object implements the GetKeyResponse interface.\n */\nexport function instanceOfGetKeyResponse(value: object): value is GetKeyResponse {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function GetKeyResponseFromJSON(json: any): GetKeyResponse {\n return GetKeyResponseFromJSONTyped(json, false)\n}\n\nexport function GetKeyResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): GetKeyResponse {\n if (json == null) {\n return json\n }\n return {\n keyInfo: ManagedKeyInfoFromJSON(json['keyInfo']),\n }\n}\n\nexport function GetKeyResponseToJSON(json: any): GetKeyResponse {\n return GetKeyResponseToJSONTyped(json, false)\n}\n\nexport function GetKeyResponseToJSONTyped(value?: GetKeyResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: ManagedKeyInfoToJSON(value['keyInfo']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Method used to identify cryptographic keys.\n * @export\n */\nexport const IdentifierMethod = {\n Jwk: 'JWK',\n Kid: 'KID',\n CoseKey: 'COSE_KEY',\n X5C: 'X5C',\n Did: 'DID',\n} as const\nexport type IdentifierMethod = (typeof IdentifierMethod)[keyof typeof IdentifierMethod]\n\nexport function instanceOfIdentifierMethod(value: any): boolean {\n for (const key in IdentifierMethod) {\n if (Object.prototype.hasOwnProperty.call(IdentifierMethod, key)) {\n if (IdentifierMethod[key as keyof typeof IdentifierMethod] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function IdentifierMethodFromJSON(json: any): IdentifierMethod {\n return IdentifierMethodFromJSONTyped(json, false)\n}\n\nexport function IdentifierMethodFromJSONTyped(json: any, ignoreDiscriminator: boolean): IdentifierMethod {\n return json as IdentifierMethod\n}\n\nexport function IdentifierMethodToJSON(value?: IdentifierMethod | null): any {\n return value as any\n}\n\nexport function IdentifierMethodToJSONTyped(value: any, ignoreDiscriminator: boolean): IdentifierMethod {\n return value as IdentifierMethod\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProviderType } from './KeyProviderType'\nimport { KeyProviderTypeFromJSON, KeyProviderTypeToJSON } from './KeyProviderType'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface KeyProvider\n */\nexport interface KeyProvider {\n /**\n * The unique identifier assigned to the Key Provider instance upon creation.\n * @type {string}\n * @memberof KeyProvider\n */\n providerId: string\n /**\n *\n * @type {KeyProviderType}\n * @memberof KeyProvider\n */\n type: KeyProviderType\n}\n\n/**\n * Check if a given object implements the KeyProvider interface.\n */\nexport function instanceOfKeyProvider(value: object): value is KeyProvider {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('type' in value) || value['type'] === undefined) return false\n return true\n}\n\nexport function KeyProviderFromJSON(json: any): KeyProvider {\n return KeyProviderFromJSONTyped(json, false)\n}\n\nexport function KeyProviderFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProvider {\n if (json == null) {\n return json\n }\n return {\n providerId: json['providerId'],\n type: KeyProviderTypeFromJSON(json['type']),\n }\n}\n\nexport function KeyProviderToJSON(json: any): KeyProvider {\n return KeyProviderToJSONTyped(json, false)\n}\n\nexport function KeyProviderToJSONTyped(value?: KeyProvider | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providerId: value['providerId'],\n type: KeyProviderTypeToJSON(value['type']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProviderType } from './KeyProviderType'\nimport { KeyProviderTypeFromJSON, KeyProviderTypeToJSON } from './KeyProviderType'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface KeyProviderResponse\n */\nexport interface KeyProviderResponse {\n /**\n * The unique identifier assigned to the Key Provider instance upon creation.\n * @type {string}\n * @memberof KeyProviderResponse\n */\n providerId: string\n /**\n *\n * @type {KeyProviderType}\n * @memberof KeyProviderResponse\n */\n type: KeyProviderType\n}\n\n/**\n * Check if a given object implements the KeyProviderResponse interface.\n */\nexport function instanceOfKeyProviderResponse(value: object): value is KeyProviderResponse {\n if (!('providerId' in value) || value['providerId'] === undefined) return false\n if (!('type' in value) || value['type'] === undefined) return false\n return true\n}\n\nexport function KeyProviderResponseFromJSON(json: any): KeyProviderResponse {\n return KeyProviderResponseFromJSONTyped(json, false)\n}\n\nexport function KeyProviderResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyProviderResponse {\n if (json == null) {\n return json\n }\n return {\n providerId: json['providerId'],\n type: KeyProviderTypeFromJSON(json['type']),\n }\n}\n\nexport function KeyProviderResponseToJSON(json: any): KeyProviderResponse {\n return KeyProviderResponseToJSONTyped(json, false)\n}\n\nexport function KeyProviderResponseToJSONTyped(value?: KeyProviderResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providerId: value['providerId'],\n type: KeyProviderTypeToJSON(value['type']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { IdentifierMethod } from './IdentifierMethod'\nimport { IdentifierMethodFromJSON, IdentifierMethodToJSON } from './IdentifierMethod'\n\n/**\n * Represents a key resolver instance with detailed configuration.\n * @export\n * @interface KeyResolver\n */\nexport interface KeyResolver {\n /**\n * Unique identifier for the resolver.\n * @type {string}\n * @memberof KeyResolver\n */\n resolverId: string\n /**\n * List of identifier methods supported by this resolver.\n * @type {Array<IdentifierMethod>}\n * @memberof KeyResolver\n */\n supportedIdentifierMethods?: Array<IdentifierMethod>\n /**\n * List of key types supported by this resolver.\n * @type {Array<KeyType>}\n * @memberof KeyResolver\n */\n supportedKeyTypes?: Array<KeyType>\n}\n\n/**\n * Check if a given object implements the KeyResolver interface.\n */\nexport function instanceOfKeyResolver(value: object): value is KeyResolver {\n if (!('resolverId' in value) || value['resolverId'] === undefined) return false\n return true\n}\n\nexport function KeyResolverFromJSON(json: any): KeyResolver {\n return KeyResolverFromJSONTyped(json, false)\n}\n\nexport function KeyResolverFromJSONTyped(json: any, ignoreDiscriminator: boolean): KeyResolver {\n if (json == null) {\n return json\n }\n return {\n resolverId: json['resolverId'],\n supportedIdentifierMethods:\n json['supportedIdentifierMethods'] == null ? undefined : (json['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodFromJSON),\n supportedKeyTypes: json['supportedKeyTypes'] == null ? undefined : (json['supportedKeyTypes'] as Array<any>).map(KeyTypeFromJSON),\n }\n}\n\nexport function KeyResolverToJSON(json: any): KeyResolver {\n return KeyResolverToJSONTyped(json, false)\n}\n\nexport function KeyResolverToJSONTyped(value?: KeyResolver | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n resolverId: value['resolverId'],\n supportedIdentifierMethods:\n value['supportedIdentifierMethods'] == null ? undefined : (value['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodToJSON),\n supportedKeyTypes: value['supportedKeyTypes'] == null ? undefined : (value['supportedKeyTypes'] as Array<any>).map(KeyTypeToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyProvider } from './KeyProvider'\nimport { KeyProviderFromJSON, KeyProviderToJSON } from './KeyProvider'\n\n/**\n * Response body containing the details of a Key Provider instance.\n * @export\n * @interface ListKeyProvidersResponse\n */\nexport interface ListKeyProvidersResponse {\n /**\n *\n * @type {Array<KeyProvider>}\n * @memberof ListKeyProvidersResponse\n */\n providers: Array<KeyProvider>\n}\n\n/**\n * Check if a given object implements the ListKeyProvidersResponse interface.\n */\nexport function instanceOfListKeyProvidersResponse(value: object): value is ListKeyProvidersResponse {\n if (!('providers' in value) || value['providers'] === undefined) return false\n return true\n}\n\nexport function ListKeyProvidersResponseFromJSON(json: any): ListKeyProvidersResponse {\n return ListKeyProvidersResponseFromJSONTyped(json, false)\n}\n\nexport function ListKeyProvidersResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListKeyProvidersResponse {\n if (json == null) {\n return json\n }\n return {\n providers: (json['providers'] as Array<any>).map(KeyProviderFromJSON),\n }\n}\n\nexport function ListKeyProvidersResponseToJSON(json: any): ListKeyProvidersResponse {\n return ListKeyProvidersResponseToJSONTyped(json, false)\n}\n\nexport function ListKeyProvidersResponseToJSONTyped(value?: ListKeyProvidersResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n providers: (value['providers'] as Array<any>).map(KeyProviderToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ManagedKeyInfo } from './ManagedKeyInfo'\nimport { ManagedKeyInfoFromJSON, ManagedKeyInfoToJSON } from './ManagedKeyInfo'\n\n/**\n * Response body containing all the managed keys.\n * @export\n * @interface ListKeysResponse\n */\nexport interface ListKeysResponse {\n /**\n *\n * @type {Array<ManagedKeyInfo>}\n * @memberof ListKeysResponse\n */\n keyInfos: Array<ManagedKeyInfo>\n}\n\n/**\n * Check if a given object implements the ListKeysResponse interface.\n */\nexport function instanceOfListKeysResponse(value: object): value is ListKeysResponse {\n if (!('keyInfos' in value) || value['keyInfos'] === undefined) return false\n return true\n}\n\nexport function ListKeysResponseFromJSON(json: any): ListKeysResponse {\n return ListKeysResponseFromJSONTyped(json, false)\n}\n\nexport function ListKeysResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListKeysResponse {\n if (json == null) {\n return json\n }\n return {\n keyInfos: (json['keyInfos'] as Array<any>).map(ManagedKeyInfoFromJSON),\n }\n}\n\nexport function ListKeysResponseToJSON(json: any): ListKeysResponse {\n return ListKeysResponseToJSONTyped(json, false)\n}\n\nexport function ListKeysResponseToJSONTyped(value?: ListKeysResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfos: (value['keyInfos'] as Array<any>).map(ManagedKeyInfoToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { IdentifierMethod } from './IdentifierMethod'\nimport { IdentifierMethodFromJSON, IdentifierMethodToJSON } from './IdentifierMethod'\n\n/**\n * Represents a key resolver configuration.\n * @export\n * @interface Resolver\n */\nexport interface Resolver {\n /**\n * Unique identifier for the resolver.\n * @type {string}\n * @memberof Resolver\n */\n resolverId: string\n /**\n * List of identifier methods supported by this resolver.\n * @type {Array<IdentifierMethod>}\n * @memberof Resolver\n */\n supportedIdentifierMethods?: Array<IdentifierMethod>\n /**\n * List of key types supported by this resolver.\n * @type {Array<KeyType>}\n * @memberof Resolver\n */\n supportedKeyTypes?: Array<KeyType>\n}\n\n/**\n * Check if a given object implements the Resolver interface.\n */\nexport function instanceOfResolver(value: object): value is Resolver {\n if (!('resolverId' in value) || value['resolverId'] === undefined) return false\n return true\n}\n\nexport function ResolverFromJSON(json: any): Resolver {\n return ResolverFromJSONTyped(json, false)\n}\n\nexport function ResolverFromJSONTyped(json: any, ignoreDiscriminator: boolean): Resolver {\n if (json == null) {\n return json\n }\n return {\n resolverId: json['resolverId'],\n supportedIdentifierMethods:\n json['supportedIdentifierMethods'] == null ? undefined : (json['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodFromJSON),\n supportedKeyTypes: json['supportedKeyTypes'] == null ? undefined : (json['supportedKeyTypes'] as Array<any>).map(KeyTypeFromJSON),\n }\n}\n\nexport function ResolverToJSON(json: any): Resolver {\n return ResolverToJSONTyped(json, false)\n}\n\nexport function ResolverToJSONTyped(value?: Resolver | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n resolverId: value['resolverId'],\n supportedIdentifierMethods:\n value['supportedIdentifierMethods'] == null ? undefined : (value['supportedIdentifierMethods'] as Array<any>).map(IdentifierMethodToJSON),\n supportedKeyTypes: value['supportedKeyTypes'] == null ? undefined : (value['supportedKeyTypes'] as Array<any>).map(KeyTypeToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Resolver } from './Resolver'\nimport { ResolverFromJSON, ResolverToJSON } from './Resolver'\n\n/**\n * Response body containing all the resolvers.\n * @export\n * @interface ListResolversResponse\n */\nexport interface ListResolversResponse {\n /**\n *\n * @type {Array<Resolver>}\n * @memberof ListResolversResponse\n */\n resolvers: Array<Resolver>\n}\n\n/**\n * Check if a given object implements the ListResolversResponse interface.\n */\nexport function instanceOfListResolversResponse(value: object): value is ListResolversResponse {\n if (!('resolvers' in value) || value['resolvers'] === undefined) return false\n return true\n}\n\nexport function ListResolversResponseFromJSON(json: any): ListResolversResponse {\n return ListResolversResponseFromJSONTyped(json, false)\n}\n\nexport function ListResolversResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListResolversResponse {\n if (json == null) {\n return json\n }\n return {\n resolvers: (json['resolvers'] as Array<any>).map(ResolverFromJSON),\n }\n}\n\nexport function ListResolversResponseToJSON(json: any): ListResolversResponse {\n return ListResolversResponseToJSONTyped(json, false)\n}\n\nexport function ListResolversResponseToJSONTyped(value?: ListResolversResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n resolvers: (value['resolvers'] as Array<any>).map(ResolverToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Mask generation function algorithm.\n * @export\n */\nexport const MaskGenFunction = {\n Mgf1: 'MGF1',\n} as const\nexport type MaskGenFunction = (typeof MaskGenFunction)[keyof typeof MaskGenFunction]\n\nexport function instanceOfMaskGenFunction(value: any): boolean {\n for (const key in MaskGenFunction) {\n if (Object.prototype.hasOwnProperty.call(MaskGenFunction, key)) {\n if (MaskGenFunction[key as keyof typeof MaskGenFunction] === value) {\n return true\n }\n }\n }\n return false\n}\n\nexport function MaskGenFunctionFromJSON(json: any): MaskGenFunction {\n return MaskGenFunctionFromJSONTyped(json, false)\n}\n\nexport function MaskGenFunctionFromJSONTyped(json: any, ignoreDiscriminator: boolean): MaskGenFunction {\n return json as MaskGenFunction\n}\n\nexport function MaskGenFunctionToJSON(value?: MaskGenFunction | null): any {\n return value as any\n}\n\nexport function MaskGenFunctionToJSONTyped(value: any, ignoreDiscriminator: boolean): MaskGenFunction {\n return value as MaskGenFunction\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { DigestAlg } from './DigestAlg'\nimport { DigestAlgFromJSON, DigestAlgToJSON } from './DigestAlg'\nimport type { Curve } from './Curve'\nimport { CurveFromJSON, CurveToJSON } from './Curve'\nimport type { KeyOperations } from './KeyOperations'\nimport { KeyOperationsFromJSON, KeyOperationsToJSON } from './KeyOperations'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\n\n/**\n * Comprehensive information about a provider's cryptographic capabilities.\n * @export\n * @interface ProviderCapabilities\n */\nexport interface ProviderCapabilities {\n /**\n * List of key types supported by this provider.\n * @type {Array<KeyType>}\n * @memberof ProviderCapabilities\n */\n keyTypes?: Array<KeyType>\n /**\n * List of signature algorithms supported by this provider.\n * @type {Array<SignatureAlgorithm>}\n * @memberof ProviderCapabilities\n */\n signatureAlgorithms?: Array<SignatureAlgorithm>\n /**\n * List of digest algorithms supported by this provider.\n * @type {Array<DigestAlg>}\n * @memberof ProviderCapabilities\n */\n digests?: Array<DigestAlg>\n /**\n * List of elliptic curves supported by this provider.\n * @type {Array<Curve>}\n * @memberof ProviderCapabilities\n */\n curves?: Array<Curve>\n /**\n * List of key operations supported by this provider.\n * @type {Array<KeyOperations>}\n * @memberof ProviderCapabilities\n */\n keyOperations?: Array<KeyOperations>\n}\n\n/**\n * Check if a given object implements the ProviderCapabilities interface.\n */\nexport function instanceOfProviderCapabilities(value: object): value is ProviderCapabilities {\n return true\n}\n\nexport function ProviderCapabilitiesFromJSON(json: any): ProviderCapabilities {\n return ProviderCapabilitiesFromJSONTyped(json, false)\n}\n\nexport function ProviderCapabilitiesFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProviderCapabilities {\n if (json == null) {\n return json\n }\n return {\n keyTypes: json['keyTypes'] == null ? undefined : (json['keyTypes'] as Array<any>).map(KeyTypeFromJSON),\n signatureAlgorithms:\n json['signatureAlgorithms'] == null ? undefined : (json['signatureAlgorithms'] as Array<any>).map(SignatureAlgorithmFromJSON),\n digests: json['digests'] == null ? undefined : (json['digests'] as Array<any>).map(DigestAlgFromJSON),\n curves: json['curves'] == null ? undefined : (json['curves'] as Array<any>).map(CurveFromJSON),\n keyOperations: json['keyOperations'] == null ? undefined : (json['keyOperations'] as Array<any>).map(KeyOperationsFromJSON),\n }\n}\n\nexport function ProviderCapabilitiesToJSON(json: any): ProviderCapabilities {\n return ProviderCapabilitiesToJSONTyped(json, false)\n}\n\nexport function ProviderCapabilitiesToJSONTyped(value?: ProviderCapabilities | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyTypes: value['keyTypes'] == null ? undefined : (value['keyTypes'] as Array<any>).map(KeyTypeToJSON),\n signatureAlgorithms:\n value['signatureAlgorithms'] == null ? undefined : (value['signatureAlgorithms'] as Array<any>).map(SignatureAlgorithmToJSON),\n digests: value['digests'] == null ? undefined : (value['digests'] as Array<any>).map(DigestAlgToJSON),\n curves: value['curves'] == null ? undefined : (value['curves'] as Array<any>).map(CurveToJSON),\n keyOperations: value['keyOperations'] == null ? undefined : (value['keyOperations'] as Array<any>).map(KeyOperationsToJSON),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\nimport type { IdentifierMethod } from './IdentifierMethod'\nimport { IdentifierMethodFromJSON, IdentifierMethodToJSON } from './IdentifierMethod'\n\n/**\n * Request body for resolving a public key.\n * @export\n * @interface ResolvePublicKey\n */\nexport interface ResolvePublicKey {\n /**\n *\n * @type {KeyInfo}\n * @memberof ResolvePublicKey\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {IdentifierMethod}\n * @memberof ResolvePublicKey\n */\n identifierMethod?: IdentifierMethod\n /**\n * Optional array of trusted certificates (base64-encoded) that may be used in the resolution process.\n * @type {Array<string>}\n * @memberof ResolvePublicKey\n */\n trustedCerts?: Array<string>\n /**\n * Optional boolean indicating whether the X.509 certificate chain should be verified.\n * @type {boolean}\n * @memberof ResolvePublicKey\n */\n verifyX509CertificateChain?: boolean\n}\n\n/**\n * Check if a given object implements the ResolvePublicKey interface.\n */\nexport function instanceOfResolvePublicKey(value: object): value is ResolvePublicKey {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function ResolvePublicKeyFromJSON(json: any): ResolvePublicKey {\n return ResolvePublicKeyFromJSONTyped(json, false)\n}\n\nexport function ResolvePublicKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResolvePublicKey {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n identifierMethod: json['identifierMethod'] == null ? undefined : IdentifierMethodFromJSON(json['identifierMethod']),\n trustedCerts: json['trustedCerts'] == null ? undefined : json['trustedCerts'],\n verifyX509CertificateChain: json['verifyX509CertificateChain'] == null ? undefined : json['verifyX509CertificateChain'],\n }\n}\n\nexport function ResolvePublicKeyToJSON(json: any): ResolvePublicKey {\n return ResolvePublicKeyToJSONTyped(json, false)\n}\n\nexport function ResolvePublicKeyToJSONTyped(value?: ResolvePublicKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n identifierMethod: IdentifierMethodToJSON(value['identifierMethod']),\n trustedCerts: value['trustedCerts'],\n verifyX509CertificateChain: value['verifyX509CertificateChain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyType } from './KeyType'\nimport { KeyTypeFromJSON, KeyTypeToJSON } from './KeyType'\nimport type { KeyVisibility } from './KeyVisibility'\nimport { KeyVisibilityFromJSON, KeyVisibilityToJSON } from './KeyVisibility'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\nimport type { KeyEncoding } from './KeyEncoding'\nimport { KeyEncodingFromJSON, KeyEncodingToJSON } from './KeyEncoding'\nimport type { Jwk } from './Jwk'\nimport { JwkFromJSON, JwkToJSON } from './Jwk'\n\n/**\n * Represents a resolved cryptographic key information where the key is guaranteed to be present and resolved, providing concrete access to the key.\n * @export\n * @interface ResolvedKeyInfo\n */\nexport interface ResolvedKeyInfo {\n /**\n * Unique identifier for the cryptographic key. Can be null if the key identifier is not provided.\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n kid?: string\n /**\n *\n * @type {Jwk}\n * @memberof ResolvedKeyInfo\n */\n key: Jwk\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof ResolvedKeyInfo\n */\n signatureAlgorithm?: SignatureAlgorithm\n /**\n *\n * @type {KeyVisibility}\n * @memberof ResolvedKeyInfo\n */\n keyVisibility?: KeyVisibility\n /**\n * X.509 certificate chain associated with the key.\n * @type {Array<string>}\n * @memberof ResolvedKeyInfo\n */\n x5c?: Array<string>\n /**\n * A reference or alias to the key in the Key Management Service (KMS).\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n alias?: string\n /**\n * The Key Management System (KMS) identifier associated with the key.\n * @type {string}\n * @memberof ResolvedKeyInfo\n */\n providerId?: string\n /**\n *\n * @type {KeyType}\n * @memberof ResolvedKeyInfo\n */\n keyType?: KeyType\n /**\n *\n * @type {KeyEncoding}\n * @memberof ResolvedKeyInfo\n */\n keyEncoding?: KeyEncoding\n /**\n * Additional configuration options as key-value pairs.\n * @type {{ [key: string]: string; }}\n * @memberof ResolvedKeyInfo\n */\n opts?: { [key: string]: string }\n}\n\n/**\n * Check if a given object implements the ResolvedKeyInfo interface.\n */\nexport function instanceOfResolvedKeyInfo(value: object): value is ResolvedKeyInfo {\n if (!('key' in value) || value['key'] === undefined) return false\n return true\n}\n\nexport function ResolvedKeyInfoFromJSON(json: any): ResolvedKeyInfo {\n return ResolvedKeyInfoFromJSONTyped(json, false)\n}\n\nexport function ResolvedKeyInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ResolvedKeyInfo {\n if (json == null) {\n return json\n }\n return {\n kid: json['kid'] == null ? undefined : json['kid'],\n key: JwkFromJSON(json['key']),\n signatureAlgorithm: json['signatureAlgorithm'] == null ? undefined : SignatureAlgorithmFromJSON(json['signatureAlgorithm']),\n keyVisibility: json['keyVisibility'] == null ? undefined : KeyVisibilityFromJSON(json['keyVisibility']),\n x5c: json['x5c'] == null ? undefined : json['x5c'],\n alias: json['alias'] == null ? undefined : json['alias'],\n providerId: json['providerId'] == null ? undefined : json['providerId'],\n keyType: json['keyType'] == null ? undefined : KeyTypeFromJSON(json['keyType']),\n keyEncoding: json['keyEncoding'] == null ? undefined : KeyEncodingFromJSON(json['keyEncoding']),\n opts: json['opts'] == null ? undefined : json['opts'],\n }\n}\n\nexport function ResolvedKeyInfoToJSON(json: any): ResolvedKeyInfo {\n return ResolvedKeyInfoToJSONTyped(json, false)\n}\n\nexport function ResolvedKeyInfoToJSONTyped(value?: ResolvedKeyInfo | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n kid: value['kid'],\n key: JwkToJSON(value['key']),\n signatureAlgorithm: SignatureAlgorithmToJSON(value['signatureAlgorithm']),\n keyVisibility: KeyVisibilityToJSON(value['keyVisibility']),\n x5c: value['x5c'],\n alias: value['alias'],\n providerId: value['providerId'],\n keyType: KeyTypeToJSON(value['keyType']),\n keyEncoding: KeyEncodingToJSON(value['keyEncoding']),\n opts: value['opts'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\nimport type { SignatureAlgorithm } from './SignatureAlgorithm'\nimport { SignatureAlgorithmFromJSON, SignatureAlgorithmToJSON } from './SignatureAlgorithm'\n\n/**\n * A cryptographic signature including the signature value and related information.\n * @export\n * @interface Signature\n */\nexport interface Signature {\n /**\n * The signature value, encoded as a base64 string.\n * @type {string}\n * @memberof Signature\n */\n value: string\n /**\n *\n * @type {SignatureAlgorithm}\n * @memberof Signature\n */\n algorithm: SignatureAlgorithm\n /**\n *\n * @type {KeyInfo}\n * @memberof Signature\n */\n keyInfo?: KeyInfo\n /**\n * Additional metadata included in the signature.\n * @type {{ [key: string]: any; }}\n * @memberof Signature\n */\n metadata?: { [key: string]: any }\n}\n\n/**\n * Check if a given object implements the Signature interface.\n */\nexport function instanceOfSignature(value: object): value is Signature {\n if (!('value' in value) || value['value'] === undefined) return false\n if (!('algorithm' in value) || value['algorithm'] === undefined) return false\n return true\n}\n\nexport function SignatureFromJSON(json: any): Signature {\n return SignatureFromJSONTyped(json, false)\n}\n\nexport function SignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): Signature {\n if (json == null) {\n return json\n }\n return {\n value: json['value'],\n algorithm: SignatureAlgorithmFromJSON(json['algorithm']),\n keyInfo: json['keyInfo'] == null ? undefined : KeyInfoFromJSON(json['keyInfo']),\n metadata: json['metadata'] == null ? undefined : json['metadata'],\n }\n}\n\nexport function SignatureToJSON(json: any): Signature {\n return SignatureToJSONTyped(json, false)\n}\n\nexport function SignatureToJSONTyped(value?: Signature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n value: value['value'],\n algorithm: SignatureAlgorithmToJSON(value['algorithm']),\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n metadata: value['metadata'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { Signature } from './Signature'\nimport { SignatureFromJSON, SignatureToJSON } from './Signature'\n\n/**\n * The output of a signature creation operation.\n * @export\n * @interface SignOutput\n */\nexport interface SignOutput {\n /**\n *\n * @type {Signature}\n * @memberof SignOutput\n */\n signature: Signature\n /**\n * Additional metadata included in the signature output.\n * @type {{ [key: string]: any; }}\n * @memberof SignOutput\n */\n metadata?: { [key: string]: any }\n}\n\n/**\n * Check if a given object implements the SignOutput interface.\n */\nexport function instanceOfSignOutput(value: object): value is SignOutput {\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function SignOutputFromJSON(json: any): SignOutput {\n return SignOutputFromJSONTyped(json, false)\n}\n\nexport function SignOutputFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignOutput {\n if (json == null) {\n return json\n }\n return {\n signature: SignatureFromJSON(json['signature']),\n metadata: json['metadata'] == null ? undefined : json['metadata'],\n }\n}\n\nexport function SignOutputToJSON(json: any): SignOutput {\n return SignOutputToJSONTyped(json, false)\n}\n\nexport function SignOutputToJSONTyped(value?: SignOutput | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n signature: SignatureToJSON(value['signature']),\n metadata: value['metadata'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ResolvedKeyInfo } from './ResolvedKeyInfo'\nimport { ResolvedKeyInfoFromJSON, ResolvedKeyInfoToJSON } from './ResolvedKeyInfo'\n\n/**\n * Request body for storing a key.\n * @export\n * @interface StoreKey\n */\nexport interface StoreKey {\n /**\n *\n * @type {ResolvedKeyInfo}\n * @memberof StoreKey\n */\n keyInfo: ResolvedKeyInfo\n /**\n * X.509 certificate chain as base64-encoded DER certificates.\n * @type {Array<string>}\n * @memberof StoreKey\n */\n certChain?: Array<string>\n}\n\n/**\n * Check if a given object implements the StoreKey interface.\n */\nexport function instanceOfStoreKey(value: object): value is StoreKey {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function StoreKeyFromJSON(json: any): StoreKey {\n return StoreKeyFromJSONTyped(json, false)\n}\n\nexport function StoreKeyFromJSONTyped(json: any, ignoreDiscriminator: boolean): StoreKey {\n if (json == null) {\n return json\n }\n return {\n keyInfo: ResolvedKeyInfoFromJSON(json['keyInfo']),\n certChain: json['certChain'] == null ? undefined : json['certChain'],\n }\n}\n\nexport function StoreKeyToJSON(json: any): StoreKey {\n return StoreKeyToJSONTyped(json, false)\n}\n\nexport function StoreKeyToJSONTyped(value?: StoreKey | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: ResolvedKeyInfoToJSON(value['keyInfo']),\n certChain: value['certChain'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { ManagedKeyInfo } from './ManagedKeyInfo'\nimport { ManagedKeyInfoFromJSON, ManagedKeyInfoToJSON } from './ManagedKeyInfo'\n\n/**\n * Response body containing a stored key.\n * @export\n * @interface StoreKeyResponse\n */\nexport interface StoreKeyResponse {\n /**\n *\n * @type {ManagedKeyInfo}\n * @memberof StoreKeyResponse\n */\n keyInfo: ManagedKeyInfo\n}\n\n/**\n * Check if a given object implements the StoreKeyResponse interface.\n */\nexport function instanceOfStoreKeyResponse(value: object): value is StoreKeyResponse {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n return true\n}\n\nexport function StoreKeyResponseFromJSON(json: any): StoreKeyResponse {\n return StoreKeyResponseFromJSONTyped(json, false)\n}\n\nexport function StoreKeyResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): StoreKeyResponse {\n if (json == null) {\n return json\n }\n return {\n keyInfo: ManagedKeyInfoFromJSON(json['keyInfo']),\n }\n}\n\nexport function StoreKeyResponseToJSON(json: any): StoreKeyResponse {\n return StoreKeyResponseToJSONTyped(json, false)\n}\n\nexport function StoreKeyResponseToJSONTyped(value?: StoreKeyResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: ManagedKeyInfoToJSON(value['keyInfo']),\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { AwsKmsSetting } from './AwsKmsSetting'\nimport { AwsKmsSettingFromJSON, AwsKmsSettingToJSON } from './AwsKmsSetting'\nimport type { AzureKeyVaultSetting } from './AzureKeyVaultSetting'\nimport { AzureKeyVaultSettingFromJSON, AzureKeyVaultSettingToJSON } from './AzureKeyVaultSetting'\n\n/**\n * Request body for updating an existing Key Provider instance.\n * @export\n * @interface UpdateKeyProvider\n */\nexport interface UpdateKeyProvider {\n /**\n *\n * @type {AzureKeyVaultSetting}\n * @memberof UpdateKeyProvider\n */\n azureKeyvaultSettings?: AzureKeyVaultSetting\n /**\n *\n * @type {AwsKmsSetting}\n * @memberof UpdateKeyProvider\n */\n awsKmsSettings?: AwsKmsSetting\n /**\n * Whether to enable caching for keys retrieved from this provider.\n * @type {boolean}\n * @memberof UpdateKeyProvider\n */\n cacheEnabled?: boolean\n /**\n * Time-to-live for cached keys in seconds (if cacheEnabled is true).\n * @type {number}\n * @memberof UpdateKeyProvider\n */\n cacheTTLInSeconds?: number\n}\n\n/**\n * Check if a given object implements the UpdateKeyProvider interface.\n */\nexport function instanceOfUpdateKeyProvider(value: object): value is UpdateKeyProvider {\n return true\n}\n\nexport function UpdateKeyProviderFromJSON(json: any): UpdateKeyProvider {\n return UpdateKeyProviderFromJSONTyped(json, false)\n}\n\nexport function UpdateKeyProviderFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateKeyProvider {\n if (json == null) {\n return json\n }\n return {\n azureKeyvaultSettings: json['azureKeyvaultSettings'] == null ? undefined : AzureKeyVaultSettingFromJSON(json['azureKeyvaultSettings']),\n awsKmsSettings: json['awsKmsSettings'] == null ? undefined : AwsKmsSettingFromJSON(json['awsKmsSettings']),\n cacheEnabled: json['cacheEnabled'] == null ? undefined : json['cacheEnabled'],\n cacheTTLInSeconds: json['cacheTTLInSeconds'] == null ? undefined : json['cacheTTLInSeconds'],\n }\n}\n\nexport function UpdateKeyProviderToJSON(json: any): UpdateKeyProvider {\n return UpdateKeyProviderToJSONTyped(json, false)\n}\n\nexport function UpdateKeyProviderToJSONTyped(value?: UpdateKeyProvider | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n azureKeyvaultSettings: AzureKeyVaultSettingToJSON(value['azureKeyvaultSettings']),\n awsKmsSettings: AwsKmsSettingToJSON(value['awsKmsSettings']),\n cacheEnabled: value['cacheEnabled'],\n cacheTTLInSeconds: value['cacheTTLInSeconds'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { KeyInfo } from './KeyInfo'\nimport { KeyInfoFromJSON, KeyInfoToJSON } from './KeyInfo'\n\n/**\n * Request body for verifying a raw signature.\n * @export\n * @interface VerifyRawSignature\n */\nexport interface VerifyRawSignature {\n /**\n *\n * @type {KeyInfo}\n * @memberof VerifyRawSignature\n */\n keyInfo: KeyInfo\n /**\n *\n * @type {string}\n * @memberof VerifyRawSignature\n */\n input: string\n /**\n *\n * @type {string}\n * @memberof VerifyRawSignature\n */\n signature: string\n}\n\n/**\n * Check if a given object implements the VerifyRawSignature interface.\n */\nexport function instanceOfVerifyRawSignature(value: object): value is VerifyRawSignature {\n if (!('keyInfo' in value) || value['keyInfo'] === undefined) return false\n if (!('input' in value) || value['input'] === undefined) return false\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function VerifyRawSignatureFromJSON(json: any): VerifyRawSignature {\n return VerifyRawSignatureFromJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): VerifyRawSignature {\n if (json == null) {\n return json\n }\n return {\n keyInfo: KeyInfoFromJSON(json['keyInfo']),\n input: json['input'],\n signature: json['signature'],\n }\n}\n\nexport function VerifyRawSignatureToJSON(json: any): VerifyRawSignature {\n return VerifyRawSignatureToJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureToJSONTyped(value?: VerifyRawSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n keyInfo: KeyInfoToJSON(value['keyInfo']),\n input: value['input'],\n signature: value['signature'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n/**\n * Response body containing the details of the signature verification.\n * @export\n * @interface VerifyRawSignatureResponse\n */\nexport interface VerifyRawSignatureResponse {\n /**\n * Indicates whether the signature is valid or not.\n * @type {boolean}\n * @memberof VerifyRawSignatureResponse\n */\n isValid: boolean\n}\n\n/**\n * Check if a given object implements the VerifyRawSignatureResponse interface.\n */\nexport function instanceOfVerifyRawSignatureResponse(value: object): value is VerifyRawSignatureResponse {\n if (!('isValid' in value) || value['isValid'] === undefined) return false\n return true\n}\n\nexport function VerifyRawSignatureResponseFromJSON(json: any): VerifyRawSignatureResponse {\n return VerifyRawSignatureResponseFromJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): VerifyRawSignatureResponse {\n if (json == null) {\n return json\n }\n return {\n isValid: json['isValid'],\n }\n}\n\nexport function VerifyRawSignatureResponseToJSON(json: any): VerifyRawSignatureResponse {\n return VerifyRawSignatureResponseToJSONTyped(json, false)\n}\n\nexport function VerifyRawSignatureResponseToJSONTyped(value?: VerifyRawSignatureResponse | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n isValid: value['isValid'],\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * KMS REST Server API\n * A REST API for managing cryptographic keys and performing signing and verification operations.\n *\n * The version of the OpenAPI document: 0.0.1\n * Contact: support@sphereon.com\n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\nimport type { SignInput } from './SignInput'\nimport { SignInputFromJSON, SignInputToJSON } from './SignInput'\nimport type { Signature } from './Signature'\nimport { SignatureFromJSON, SignatureToJSON } from './Signature'\n\n/**\n * Request body for verifying a digital signature.\n * @export\n * @interface VerifySimpleSignature\n */\nexport interface VerifySimpleSignature {\n /**\n *\n * @type {SignInput}\n * @memberof VerifySimpleSignature\n */\n signInput: SignInput\n /**\n *\n * @type {Signature}\n * @memberof VerifySimpleSignature\n */\n signature: Signature\n}\n\n/**\n * Check if a given object implements the VerifySimpleSignature interface.\n */\nexport function instanceOfVerifySimpleSignature(value: object): value is VerifySimpleSignature {\n if (!('signInput' in value) || value['signInput'] === undefined) return false\n if (!('signature' in value) || value['signature'] === undefined) return false\n return true\n}\n\nexport function VerifySimpleSignatureFromJSON(json: any): VerifySimpleSignature {\n return VerifySimpleSignatureFromJSONTyped(json, false)\n}\n\nexport function VerifySimpleSignatureFromJSONTyped(json: any, ignoreDiscriminator: boolean): VerifySimpleSignature {\n if (json == null) {\n return json\n }\n return {\n signInput: SignInputFromJSON(json['signInput']),\n signature: SignatureFromJSON(json['signature']),\n }\n}\n\nexport function VerifySimpleSignatureToJSON(json: any): VerifySimpleSignature {\n return VerifySimpleSignatureToJSONTyped(json, false)\n}\n\nexport function VerifySimpleSignatureToJSONTyped(value?: VerifySimpleSignature | null, ignoreDiscriminator: boolean = false): any {\n if (value == null) {\n return value\n }\n\n return {\n signInput: SignInputToJSON(value['signInput']),\n signature: SignatureToJSON(value['signature']),\n }\n}\n"],"mappings":"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","names":["LookupMode","Value","ConfigService","SecretService","instanceOfLookupMode","value","key","Object","prototype","hasOwnProperty","call","LookupModeFromJSON","json","LookupModeFromJSONTyped","ignoreDiscriminator","LookupModeToJSON","LookupModeToJSONTyped","instanceOfAwsAssumeRoleCredentials","value","undefined","AwsAssumeRoleCredentialsFromJSON","json","AwsAssumeRoleCredentialsFromJSONTyped","ignoreDiscriminator","roleArn","roleSessionName","externalId","lookupMode","LookupModeFromJSON","AwsAssumeRoleCredentialsToJSON","AwsAssumeRoleCredentialsToJSONTyped","LookupModeToJSON","instanceOfAwsClientConfiguration","value","AwsClientConfigurationFromJSON","json","AwsClientConfigurationFromJSONTyped","ignoreDiscriminator","connectionTimeoutInMillis","undefined","socketTimeoutInMillis","AwsClientConfigurationToJSON","AwsClientConfigurationToJSONTyped","instanceOfAwsStaticCredentials","value","undefined","AwsStaticCredentialsFromJSON","json","AwsStaticCredentialsFromJSONTyped","ignoreDiscriminator","accesskid","secretAccessKey","sessionToken","lookupMode","LookupModeFromJSON","AwsStaticCredentialsToJSON","AwsStaticCredentialsToJSONTyped","LookupModeToJSON","instanceOfAwsWebIdentityTokenCredentials","value","undefined","AwsWebIdentityTokenCredentialsFromJSON","json","AwsWebIdentityTokenCredentialsFromJSONTyped","ignoreDiscriminator","roleArn","roleSessionName","webIdentityToken","lookupMode","LookupModeFromJSON","AwsWebIdentityTokenCredentialsToJSON","AwsWebIdentityTokenCredentialsToJSONTyped","LookupModeToJSON","instanceOfAwsKmsSetting","value","undefined","AwsKmsSettingFromJSON","json","AwsKmsSettingFromJSONTyped","ignoreDiscriminator","region","staticCredentials","AwsStaticCredentialsFromJSON","assumeRoleCredentials","AwsAssumeRoleCredentialsFromJSON","webIdentityTokenCredentials","AwsWebIdentityTokenCredentialsFromJSON","endpointUrl","clientConfiguration","AwsClientConfigurationFromJSON","AwsKmsSettingToJSON","AwsKmsSettingToJSONTyped","AwsStaticCredentialsToJSON","AwsAssumeRoleCredentialsToJSON","AwsWebIdentityTokenCredentialsToJSON","AwsClientConfigurationToJSON","instanceOfAzureClientSecretCredentialOpts","value","undefined","AzureClientSecretCredentialOptsFromJSON","json","AzureClientSecretCredentialOptsFromJSONTyped","ignoreDiscriminator","clientId","clientSecret","lookupMode","LookupModeFromJSON","AzureClientSecretCredentialOptsToJSON","AzureClientSecretCredentialOptsToJSONTyped","LookupModeToJSON","instanceOfAzureCredentialOpts","value","AzureCredentialOptsFromJSON","json","AzureCredentialOptsFromJSONTyped","ignoreDiscriminator","clientSecretCredentialOpts","undefined","AzureClientSecretCredentialOptsFromJSON","AzureCredentialOptsToJSON","AzureCredentialOptsToJSONTyped","AzureClientSecretCredentialOptsToJSON","instanceOfAzureKeyVaultSetting","value","undefined","AzureKeyVaultSettingFromJSON","json","AzureKeyVaultSettingFromJSONTyped","ignoreDiscriminator","keyvaultUrl","tenantId","credentialOpts","AzureCredentialOptsFromJSON","applicationId","lookupMode","LookupModeFromJSON","AzureKeyVaultSettingToJSON","AzureKeyVaultSettingToJSONTyped","AzureCredentialOptsToJSON","LookupModeToJSON","CoseKeyType","NUMBER_1","NUMBER_2","NUMBER_3","NUMBER_4","instanceOfCoseKeyType","value","key","Object","prototype","hasOwnProperty","call","CoseKeyTypeFromJSON","json","CoseKeyTypeFromJSONTyped","ignoreDiscriminator","CoseKeyTypeToJSON","CoseKeyTypeToJSONTyped","instanceOfCoseKey","value","undefined","CoseKeyFromJSON","json","CoseKeyFromJSONTyped","ignoreDiscriminator","kty","CoseKeyTypeFromJSON","kid","alg","keyOps","baseIV","crv","x","y","d","x5chain","CoseKeyToJSON","CoseKeyToJSONTyped","CoseKeyTypeToJSON","key_ops","instanceOfCoseKeyPair","value","undefined","CoseKeyPairFromJSON","json","CoseKeyPairFromJSONTyped","ignoreDiscriminator","privateCoseKey","CoseKeyFromJSON","publicCoseKey","CoseKeyPairToJSON","CoseKeyPairToJSONTyped","CoseKeyToJSON","KeyProviderType","Software","AzureKeyvault","AwsKms","instanceOfKeyProviderType","value","key","Object","prototype","hasOwnProperty","call","KeyProviderTypeFromJSON","json","KeyProviderTypeFromJSONTyped","ignoreDiscriminator","KeyProviderTypeToJSON","KeyProviderTypeToJSONTyped","instanceOfCreateKeyProvider","value","undefined","CreateKeyProviderFromJSON","json","CreateKeyProviderFromJSONTyped","ignoreDiscriminator","type","KeyProviderTypeFromJSON","azureKeyvaultSettings","AzureKeyVaultSettingFromJSON","awsKmsSettings","AwsKmsSettingFromJSON","cacheEnabled","cacheTTLInSeconds","CreateKeyProviderToJSON","CreateKeyProviderToJSONTyped","KeyProviderTypeToJSON","AzureKeyVaultSettingToJSON","AwsKmsSettingToJSON","KeyType","Okp","Ec","Rsa","instanceOfKeyType","value","key","Object","prototype","hasOwnProperty","call","KeyTypeFromJSON","json","KeyTypeFromJSONTyped","ignoreDiscriminator","KeyTypeToJSON","KeyTypeToJSONTyped","KeyVisibility","Public","Private","instanceOfKeyVisibility","value","key","Object","prototype","hasOwnProperty","call","KeyVisibilityFromJSON","json","KeyVisibilityFromJSONTyped","ignoreDiscriminator","KeyVisibilityToJSON","KeyVisibilityToJSONTyped","SignatureAlgorithm","Ed25519","EcdsaSha256","EcdsaSha384","EcdsaSha512","Es256K","EckaDhSha256","HmacSha256","HmacSha384","HmacSha512","RsaSsaPssSha256Mgf1","RsaSsaPssSha384Mgf1","RsaSsaPssSha512Mgf1","instanceOfSignatureAlgorithm","value","key","Object","prototype","hasOwnProperty","call","SignatureAlgorithmFromJSON","json","SignatureAlgorithmFromJSONTyped","ignoreDiscriminator","SignatureAlgorithmToJSON","SignatureAlgorithmToJSONTyped","KeyEncoding","Cose","Jose","instanceOfKeyEncoding","value","key","Object","prototype","hasOwnProperty","call","KeyEncodingFromJSON","json","KeyEncodingFromJSONTyped","ignoreDiscriminator","KeyEncodingToJSON","KeyEncodingToJSONTyped","Curve","P256","P384","P521","Secp256k1","Ed25519","Ed448","X25519","X448","instanceOfCurve","value","key","Object","prototype","hasOwnProperty","call","CurveFromJSON","json","CurveFromJSONTyped","ignoreDiscriminator","CurveToJSON","CurveToJSONTyped","KeyOperations","Sign","Verify","Encrypt","Decrypt","WrapKey","UnwrapKey","DeriveKey","DeriveBits","instanceOfKeyOperations","value","key","Object","prototype","hasOwnProperty","call","KeyOperationsFromJSON","json","KeyOperationsFromJSONTyped","ignoreDiscriminator","KeyOperationsToJSON","KeyOperationsToJSONTyped","JwkUse","Sig","Enc","instanceOfJwkUse","value","key","Object","prototype","hasOwnProperty","call","JwkUseFromJSON","json","JwkUseFromJSONTyped","ignoreDiscriminator","JwkUseToJSON","JwkUseToJSONTyped","JwkKeyType","Ec","Rsa","Okp","Oct","instanceOfJwkKeyType","value","key","Object","prototype","hasOwnProperty","call","JwkKeyTypeFromJSON","json","JwkKeyTypeFromJSONTyped","ignoreDiscriminator","JwkKeyTypeToJSON","JwkKeyTypeToJSONTyped","instanceOfJwk","value","undefined","JwkFromJSON","json","JwkFromJSONTyped","ignoreDiscriminator","kty","JwkKeyTypeFromJSON","kid","alg","use","JwkUseFromJSON","keyOps","map","KeyOperationsFromJSON","crv","CurveFromJSON","x","y","d","n","e","p","q","dp","dq","qi","k","x5c","x5t","x5u","x5tS256","JwkToJSON","JwkToJSONTyped","JwkKeyTypeToJSON","JwkUseToJSON","key_ops","KeyOperationsToJSON","CurveToJSON","instanceOfKeyInfo","value","KeyInfoFromJSON","json","KeyInfoFromJSONTyped","ignoreDiscriminator","kid","undefined","key","JwkFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","keyVisibility","KeyVisibilityFromJSON","x5c","alias","providerId","keyType","KeyTypeFromJSON","keyEncoding","KeyEncodingFromJSON","opts","KeyInfoToJSON","KeyInfoToJSONTyped","JwkToJSON","SignatureAlgorithmToJSON","KeyVisibilityToJSON","KeyTypeToJSON","KeyEncodingToJSON","instanceOfCreateRawSignature","value","undefined","CreateRawSignatureFromJSON","json","CreateRawSignatureFromJSONTyped","ignoreDiscriminator","keyInfo","KeyInfoFromJSON","input","CreateRawSignatureToJSON","CreateRawSignatureToJSONTyped","KeyInfoToJSON","instanceOfCreateRawSignatureResponse","value","undefined","CreateRawSignatureResponseFromJSON","json","CreateRawSignatureResponseFromJSONTyped","ignoreDiscriminator","signature","CreateRawSignatureResponseToJSON","CreateRawSignatureResponseToJSONTyped","SignInputModeEnum","Detached","Attached","instanceOfSignInput","value","undefined","SignInputFromJSON","json","SignInputFromJSONTyped","ignoreDiscriminator","data","mode","metadata","SignInputToJSON","SignInputToJSONTyped","instanceOfCreateSimpleSignature","value","undefined","CreateSimpleSignatureFromJSON","json","CreateSimpleSignatureFromJSONTyped","ignoreDiscriminator","signInput","SignInputFromJSON","keyInfo","KeyInfoFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","CreateSimpleSignatureToJSON","CreateSimpleSignatureToJSONTyped","SignInputToJSON","KeyInfoToJSON","SignatureAlgorithmToJSON","CryptoAlg","Ed25519","Ecdsa","Hmac","Rsa","instanceOfCryptoAlg","value","key","Object","prototype","hasOwnProperty","call","CryptoAlgFromJSON","json","CryptoAlgFromJSONTyped","ignoreDiscriminator","CryptoAlgToJSON","CryptoAlgToJSONTyped","DigestAlg","None","Sha256","Sha384","Sha512","Sha3256","Sha3384","Sha3512","instanceOfDigestAlg","value","key","Object","prototype","hasOwnProperty","call","DigestAlgFromJSON","json","DigestAlgFromJSONTyped","ignoreDiscriminator","DigestAlgToJSON","DigestAlgToJSONTyped","instanceOfErrorResponse","value","undefined","ErrorResponseFromJSON","json","ErrorResponseFromJSONTyped","ignoreDiscriminator","code","message","details","ErrorResponseToJSON","ErrorResponseToJSONTyped","instanceOfGenerateKey","value","GenerateKeyFromJSON","json","GenerateKeyFromJSONTyped","ignoreDiscriminator","alias","undefined","use","JwkUseFromJSON","keyOperations","map","KeyOperationsFromJSON","alg","SignatureAlgorithmFromJSON","GenerateKeyToJSON","GenerateKeyToJSONTyped","JwkUseToJSON","KeyOperationsToJSON","SignatureAlgorithmToJSON","instanceOfGenerateKeyGlobal","value","GenerateKeyGlobalFromJSON","json","GenerateKeyGlobalFromJSONTyped","ignoreDiscriminator","alias","undefined","use","JwkUseFromJSON","keyOperations","map","KeyOperationsFromJSON","alg","SignatureAlgorithmFromJSON","providerId","GenerateKeyGlobalToJSON","GenerateKeyGlobalToJSONTyped","JwkUseToJSON","KeyOperationsToJSON","SignatureAlgorithmToJSON","instanceOfJoseKeyPair","value","undefined","JoseKeyPairFromJSON","json","JoseKeyPairFromJSONTyped","ignoreDiscriminator","privateJwk","JwkFromJSON","publicJwk","JoseKeyPairToJSON","JoseKeyPairToJSONTyped","JwkToJSON","instanceOfManagedKeyPair","value","undefined","ManagedKeyPairFromJSON","json","ManagedKeyPairFromJSONTyped","ignoreDiscriminator","kid","providerId","alias","cose","CoseKeyPairFromJSON","jose","JoseKeyPairFromJSON","ManagedKeyPairToJSON","ManagedKeyPairToJSONTyped","CoseKeyPairToJSON","JoseKeyPairToJSON","instanceOfGenerateKeyResponse","value","undefined","GenerateKeyResponseFromJSON","json","GenerateKeyResponseFromJSONTyped","ignoreDiscriminator","keyPair","ManagedKeyPairFromJSON","GenerateKeyResponseToJSON","GenerateKeyResponseToJSONTyped","ManagedKeyPairToJSON","instanceOfManagedKeyInfo","value","undefined","ManagedKeyInfoFromJSON","json","ManagedKeyInfoFromJSONTyped","ignoreDiscriminator","kid","key","JwkFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","keyVisibility","KeyVisibilityFromJSON","x5c","alias","providerId","keyType","KeyTypeFromJSON","keyEncoding","KeyEncodingFromJSON","opts","ManagedKeyInfoToJSON","ManagedKeyInfoToJSONTyped","JwkToJSON","SignatureAlgorithmToJSON","KeyVisibilityToJSON","KeyTypeToJSON","KeyEncodingToJSON","instanceOfGetKeyResponse","value","undefined","GetKeyResponseFromJSON","json","GetKeyResponseFromJSONTyped","ignoreDiscriminator","keyInfo","ManagedKeyInfoFromJSON","GetKeyResponseToJSON","GetKeyResponseToJSONTyped","ManagedKeyInfoToJSON","IdentifierMethod","Jwk","Kid","CoseKey","X5C","Did","instanceOfIdentifierMethod","value","key","Object","prototype","hasOwnProperty","call","IdentifierMethodFromJSON","json","IdentifierMethodFromJSONTyped","ignoreDiscriminator","IdentifierMethodToJSON","IdentifierMethodToJSONTyped","instanceOfKeyProvider","value","undefined","KeyProviderFromJSON","json","KeyProviderFromJSONTyped","ignoreDiscriminator","providerId","type","KeyProviderTypeFromJSON","KeyProviderToJSON","KeyProviderToJSONTyped","KeyProviderTypeToJSON","instanceOfKeyProviderResponse","value","undefined","KeyProviderResponseFromJSON","json","KeyProviderResponseFromJSONTyped","ignoreDiscriminator","providerId","type","KeyProviderTypeFromJSON","KeyProviderResponseToJSON","KeyProviderResponseToJSONTyped","KeyProviderTypeToJSON","instanceOfKeyResolver","value","undefined","KeyResolverFromJSON","json","KeyResolverFromJSONTyped","ignoreDiscriminator","resolverId","supportedIdentifierMethods","map","IdentifierMethodFromJSON","supportedKeyTypes","KeyTypeFromJSON","KeyResolverToJSON","KeyResolverToJSONTyped","IdentifierMethodToJSON","KeyTypeToJSON","instanceOfListKeyProvidersResponse","value","undefined","ListKeyProvidersResponseFromJSON","json","ListKeyProvidersResponseFromJSONTyped","ignoreDiscriminator","providers","map","KeyProviderFromJSON","ListKeyProvidersResponseToJSON","ListKeyProvidersResponseToJSONTyped","KeyProviderToJSON","instanceOfListKeysResponse","value","undefined","ListKeysResponseFromJSON","json","ListKeysResponseFromJSONTyped","ignoreDiscriminator","keyInfos","map","ManagedKeyInfoFromJSON","ListKeysResponseToJSON","ListKeysResponseToJSONTyped","ManagedKeyInfoToJSON","instanceOfResolver","value","undefined","ResolverFromJSON","json","ResolverFromJSONTyped","ignoreDiscriminator","resolverId","supportedIdentifierMethods","map","IdentifierMethodFromJSON","supportedKeyTypes","KeyTypeFromJSON","ResolverToJSON","ResolverToJSONTyped","IdentifierMethodToJSON","KeyTypeToJSON","instanceOfListResolversResponse","value","undefined","ListResolversResponseFromJSON","json","ListResolversResponseFromJSONTyped","ignoreDiscriminator","resolvers","map","ResolverFromJSON","ListResolversResponseToJSON","ListResolversResponseToJSONTyped","ResolverToJSON","MaskGenFunction","Mgf1","instanceOfMaskGenFunction","value","key","Object","prototype","hasOwnProperty","call","MaskGenFunctionFromJSON","json","MaskGenFunctionFromJSONTyped","ignoreDiscriminator","MaskGenFunctionToJSON","MaskGenFunctionToJSONTyped","instanceOfProviderCapabilities","value","ProviderCapabilitiesFromJSON","json","ProviderCapabilitiesFromJSONTyped","ignoreDiscriminator","keyTypes","undefined","map","KeyTypeFromJSON","signatureAlgorithms","SignatureAlgorithmFromJSON","digests","DigestAlgFromJSON","curves","CurveFromJSON","keyOperations","KeyOperationsFromJSON","ProviderCapabilitiesToJSON","ProviderCapabilitiesToJSONTyped","KeyTypeToJSON","SignatureAlgorithmToJSON","DigestAlgToJSON","CurveToJSON","KeyOperationsToJSON","instanceOfResolvePublicKey","value","undefined","ResolvePublicKeyFromJSON","json","ResolvePublicKeyFromJSONTyped","ignoreDiscriminator","keyInfo","KeyInfoFromJSON","identifierMethod","IdentifierMethodFromJSON","trustedCerts","verifyX509CertificateChain","ResolvePublicKeyToJSON","ResolvePublicKeyToJSONTyped","KeyInfoToJSON","IdentifierMethodToJSON","instanceOfResolvedKeyInfo","value","undefined","ResolvedKeyInfoFromJSON","json","ResolvedKeyInfoFromJSONTyped","ignoreDiscriminator","kid","key","JwkFromJSON","signatureAlgorithm","SignatureAlgorithmFromJSON","keyVisibility","KeyVisibilityFromJSON","x5c","alias","providerId","keyType","KeyTypeFromJSON","keyEncoding","KeyEncodingFromJSON","opts","ResolvedKeyInfoToJSON","ResolvedKeyInfoToJSONTyped","JwkToJSON","SignatureAlgorithmToJSON","KeyVisibilityToJSON","KeyTypeToJSON","KeyEncodingToJSON","instanceOfSignature","value","undefined","SignatureFromJSON","json","SignatureFromJSONTyped","ignoreDiscriminator","algorithm","SignatureAlgorithmFromJSON","keyInfo","KeyInfoFromJSON","metadata","SignatureToJSON","SignatureToJSONTyped","SignatureAlgorithmToJSON","KeyInfoToJSON","instanceOfSignOutput","value","undefined","SignOutputFromJSON","json","SignOutputFromJSONTyped","ignoreDiscriminator","signature","SignatureFromJSON","metadata","SignOutputToJSON","SignOutputToJSONTyped","SignatureToJSON","instanceOfStoreKey","value","undefined","StoreKeyFromJSON","json","StoreKeyFromJSONTyped","ignoreDiscriminator","keyInfo","ResolvedKeyInfoFromJSON","certChain","StoreKeyToJSON","StoreKeyToJSONTyped","ResolvedKeyInfoToJSON","instanceOfStoreKeyResponse","value","undefined","StoreKeyResponseFromJSON","json","StoreKeyResponseFromJSONTyped","ignoreDiscriminator","keyInfo","ManagedKeyInfoFromJSON","StoreKeyResponseToJSON","StoreKeyResponseToJSONTyped","ManagedKeyInfoToJSON","instanceOfUpdateKeyProvider","value","UpdateKeyProviderFromJSON","json","UpdateKeyProviderFromJSONTyped","ignoreDiscriminator","azureKeyvaultSettings","undefined","AzureKeyVaultSettingFromJSON","awsKmsSettings","AwsKmsSettingFromJSON","cacheEnabled","cacheTTLInSeconds","UpdateKeyProviderToJSON","UpdateKeyProviderToJSONTyped","AzureKeyVaultSettingToJSON","AwsKmsSettingToJSON","instanceOfVerifyRawSignature","value","undefined","VerifyRawSignatureFromJSON","json","VerifyRawSignatureFromJSONTyped","ignoreDiscriminator","keyInfo","KeyInfoFromJSON","input","signature","VerifyRawSignatureToJSON","VerifyRawSignatureToJSONTyped","KeyInfoToJSON","instanceOfVerifyRawSignatureResponse","value","undefined","VerifyRawSignatureResponseFromJSON","json","VerifyRawSignatureResponseFromJSONTyped","ignoreDiscriminator","isValid","VerifyRawSignatureResponseToJSON","VerifyRawSignatureResponseToJSONTyped","instanceOfVerifySimpleSignature","value","undefined","VerifySimpleSignatureFromJSON","json","VerifySimpleSignatureFromJSONTyped","ignoreDiscriminator","signInput","SignInputFromJSON","signature","SignatureFromJSON","VerifySimpleSignatureToJSON","VerifySimpleSignatureToJSONTyped","SignInputToJSON","SignatureToJSON","logger","Loggers","DEFAULT","get","KmsRestClient","methods","kmsClientGetKey","bind","kmsClientListKeys","kmsClientStoreKey","kmsClientGenerateKey","kmsClientDeleteKey","kmsClientGetKeyProvider","kmsClientListKeyProviders","kmsClientProviderListKeys","kmsClientProviderStoreKey","kmsClientProviderGenerateKey","kmsClientProviderGetKey","kmsClientProviderDeleteKey","kmsClientGetResolver","kmsClientListResolvers","kmsClientResolveKey","kmsClientCreateRawSignature","kmsClientIsValidRawSignature","agentBaseUrl","authOpts","args","baseUrl","authentication","urlWithBase","path","startsWith","assertedAgentBaseUrl","url","resolverId","response","fetch","method","debug","ok","handleHttpError","ResolverFromJSONTyped","json","ListResolversResponseFromJSONTyped","body","keyInfo","identifierMethod","trustedCerts","verifyX509CertificateChain","headers","createHeaders","JSON","stringify","ResolvePublicKeyToJSONTyped","ResolvedKeyInfoFromJSONTyped","input","CreateRawSignatureToJSONTyped","CreateRawSignatureResponseFromJSONTyped","signature","VerifyRawSignatureToJSONTyped","VerifyRawSignatureResponseFromJSONTyped","aliasOrKid","GetKeyResponseFromJSONTyped","addSearchParams","providerId","toString","ListKeysResponseFromJSONTyped","certChain","StoreKeyToJSONTyped","StoreKeyResponseFromJSONTyped","alg","keyOperations","use","GenerateKeyGlobalToJSONTyped","GenerateKeyResponseFromJSONTyped","KeyProviderResponseFromJSONTyped","ListKeyProvidersResponseFromJSONTyped","alias","GenerateKeyToJSONTyped","Error","existing","Accept","enabled","bearerToken","Authorization","params","URL","key","value","Object","entries","searchParams","set","String","contentType","isJson","includes","responseBody","text","Promise","reject","status"]}
|