UNPKG

@circle-fin/circle-sdk

Version:
130 lines 16 kB
"use strict"; /* tslint:disable */ /* eslint-disable */ /** * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.EncryptionApi = exports.EncryptionApiFactory = exports.EncryptionApiFp = exports.EncryptionApiAxiosParamCreator = void 0; const axios_1 = __importDefault(require("axios")); // Some imports not used depending on template conditions // @ts-ignore const common_1 = require("../common"); // @ts-ignore const base_1 = require("../base"); /** * EncryptionApi - axios parameter creator * @export */ const EncryptionApiAxiosParamCreator = function (configuration) { return { /** * Retrieves an RSA public key to be used in encrypting data sent to the API. Your public keys change infrequently, so we encourage you to cache this response value locally for a duration of 24 hours or more. * @summary Get public key * @param {*} [options] Override http request option. * @throws {RequiredError} */ getPublicKey: (options = {}) => __awaiter(this, void 0, void 0, function* () { const localVarPath = `/v1/encryption/public`; // use dummy base URL string because the URL constructor only accepts absolute URLs. const localVarUrlObj = new URL(localVarPath, common_1.DUMMY_BASE_URL); let baseOptions; if (configuration) { baseOptions = configuration.baseOptions; } const localVarRequestOptions = Object.assign(Object.assign({ method: "GET" }, baseOptions), options); const localVarHeaderParameter = {}; const localVarQueryParameter = {}; // authentication bearerAuth required // http bearer authentication required yield (0, common_1.setBearerAuthToObject)(localVarHeaderParameter, configuration); (0, common_1.setSearchParams)(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = Object.assign(Object.assign(Object.assign({}, localVarHeaderParameter), headersFromBaseOptions), options.headers); return { url: (0, common_1.toPathString)(localVarUrlObj), options: localVarRequestOptions }; }) }; }; exports.EncryptionApiAxiosParamCreator = EncryptionApiAxiosParamCreator; /** * EncryptionApi - functional programming interface * @export */ const EncryptionApiFp = function (configuration) { const localVarAxiosParamCreator = (0, exports.EncryptionApiAxiosParamCreator)(configuration); return { /** * Retrieves an RSA public key to be used in encrypting data sent to the API. Your public keys change infrequently, so we encourage you to cache this response value locally for a duration of 24 hours or more. * @summary Get public key * @param {*} [options] Override http request option. * @throws {RequiredError} */ getPublicKey(options) { return __awaiter(this, void 0, void 0, function* () { const localVarAxiosArgs = yield localVarAxiosParamCreator.getPublicKey(options); return (0, common_1.createRequestFunction)(localVarAxiosArgs, axios_1.default, base_1.BASE_PATH, configuration); }); } }; }; exports.EncryptionApiFp = EncryptionApiFp; /** * EncryptionApi - factory interface * @export */ const EncryptionApiFactory = function (configuration, basePath, axios) { const localVarFp = (0, exports.EncryptionApiFp)(configuration); return { /** * Retrieves an RSA public key to be used in encrypting data sent to the API. Your public keys change infrequently, so we encourage you to cache this response value locally for a duration of 24 hours or more. * @summary Get public key * @param {*} [options] Override http request option. * @throws {RequiredError} */ getPublicKey(options) { return localVarFp .getPublicKey(options) .then((request) => request(axios, basePath)); } }; }; exports.EncryptionApiFactory = EncryptionApiFactory; /** * EncryptionApi - object-oriented interface * @export * @class EncryptionApi * @extends {BaseAPI} */ class EncryptionApi extends base_1.BaseAPI { /** * Retrieves an RSA public key to be used in encrypting data sent to the API. Your public keys change infrequently, so we encourage you to cache this response value locally for a duration of 24 hours or more. * @summary Get public key * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof EncryptionApi */ getPublicKey(options) { return (0, exports.EncryptionApiFp)(this.configuration) .getPublicKey(options) .then((request) => request(this.axios, this.basePath)); } } exports.EncryptionApi = EncryptionApi; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL2FwaXMvZW5jcnlwdGlvbi1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEI7Ozs7R0FJRzs7Ozs7Ozs7Ozs7Ozs7O0FBRUgsa0RBSWU7QUFFZix5REFBeUQ7QUFDekQsYUFBYTtBQUNiLHNDQVFtQjtBQUNuQixhQUFhO0FBQ2Isa0NBTWlCO0FBR2pCOzs7R0FHRztBQUNJLE1BQU0sOEJBQThCLEdBQUcsVUFDNUMsYUFBNkI7SUFFN0IsT0FBTztRQUNMOzs7OztXQUtHO1FBQ0gsWUFBWSxFQUFFLENBQ1osVUFBOEIsRUFBRSxFQUNWLEVBQUU7WUFDeEIsTUFBTSxZQUFZLEdBQUcsdUJBQXVCLENBQUM7WUFDN0Msb0ZBQW9GO1lBQ3BGLE1BQU0sY0FBYyxHQUFHLElBQUksR0FBRyxDQUFDLFlBQVksRUFBRSx1QkFBYyxDQUFDLENBQUM7WUFDN0QsSUFBSSxXQUFXLENBQUM7WUFDaEIsSUFBSSxhQUFhLEVBQUU7Z0JBQ2pCLFdBQVcsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDO2FBQ3pDO1lBRUQsTUFBTSxzQkFBc0IsaUNBQzFCLE1BQU0sRUFBRSxLQUFLLElBQ1YsV0FBVyxHQUNYLE9BQU8sQ0FDWCxDQUFDO1lBQ0YsTUFBTSx1QkFBdUIsR0FBRyxFQUFTLENBQUM7WUFDMUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFTLENBQUM7WUFFekMscUNBQXFDO1lBQ3JDLHNDQUFzQztZQUN0QyxNQUFNLElBQUEsOEJBQXFCLEVBQUMsdUJBQXVCLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFFcEUsSUFBQSx3QkFBZSxFQUFDLGNBQWMsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO1lBQ3hELElBQUksc0JBQXNCLEdBQ3hCLFdBQVcsSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDaEUsc0JBQXNCLENBQUMsT0FBTyxpREFDekIsdUJBQXVCLEdBQ3ZCLHNCQUFzQixHQUN0QixPQUFPLENBQUMsT0FBTyxDQUNuQixDQUFDO1lBRUYsT0FBTztnQkFDTCxHQUFHLEVBQUUsSUFBQSxxQkFBWSxFQUFDLGNBQWMsQ0FBQztnQkFDakMsT0FBTyxFQUFFLHNCQUFzQjthQUNoQyxDQUFDO1FBQ0osQ0FBQyxDQUFBO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWhEVyxRQUFBLDhCQUE4QixrQ0FnRHpDO0FBRUY7OztHQUdHO0FBQ0ksTUFBTSxlQUFlLEdBQUcsVUFBVSxhQUE2QjtJQUNwRSxNQUFNLHlCQUF5QixHQUM3QixJQUFBLHNDQUE4QixFQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ2hELE9BQU87UUFDTDs7Ozs7V0FLRztRQUNHLFlBQVksQ0FDaEIsT0FBNEI7O2dCQU81QixNQUFNLGlCQUFpQixHQUFHLE1BQU0seUJBQXlCLENBQUMsWUFBWSxDQUNwRSxPQUFPLENBQ1IsQ0FBQztnQkFDRixPQUFPLElBQUEsOEJBQXFCLEVBQzFCLGlCQUFpQixFQUNqQixlQUFXLEVBQ1gsZ0JBQVMsRUFDVCxhQUFhLENBQ2QsQ0FBQztZQUNKLENBQUM7U0FBQTtLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUE3QlcsUUFBQSxlQUFlLG1CQTZCMUI7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLG9CQUFvQixHQUFHLFVBQ2xDLGFBQTZCLEVBQzdCLFFBQWlCLEVBQ2pCLEtBQXFCO0lBRXJCLE1BQU0sVUFBVSxHQUFHLElBQUEsdUJBQWUsRUFBQyxhQUFhLENBQUMsQ0FBQztJQUNsRCxPQUFPO1FBQ0w7Ozs7O1dBS0c7UUFDSCxZQUFZLENBQUMsT0FBYTtZQUN4QixPQUFPLFVBQVU7aUJBQ2QsWUFBWSxDQUFDLE9BQU8sQ0FBQztpQkFDckIsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDLENBQUM7QUFuQlcsUUFBQSxvQkFBb0Isd0JBbUIvQjtBQUVGOzs7OztHQUtHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsY0FBTztJQUN4Qzs7Ozs7O09BTUc7SUFDSSxZQUFZLENBQUMsT0FBNEI7UUFDOUMsT0FBTyxJQUFBLHVCQUFlLEVBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQzthQUN2QyxZQUFZLENBQUMsT0FBTyxDQUFDO2FBQ3JCLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztDQUNGO0FBYkQsc0NBYUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuLyogZXNsaW50LWRpc2FibGUgKi9cbi8qKlxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cbiAqIGh0dHBzOi8vb3BlbmFwaS1nZW5lcmF0b3IudGVjaFxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxuICovXG5cbmltcG9ydCBnbG9iYWxBeGlvcywge1xuICBBeGlvc1Byb21pc2UsXG4gIEF4aW9zSW5zdGFuY2UsXG4gIEF4aW9zUmVxdWVzdENvbmZpZ1xufSBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24gfSBmcm9tIFwiLi4vY29uZmlndXJhdGlvblwiO1xuLy8gU29tZSBpbXBvcnRzIG5vdCB1c2VkIGRlcGVuZGluZyBvbiB0ZW1wbGF0ZSBjb25kaXRpb25zXG4vLyBAdHMtaWdub3JlXG5pbXBvcnQge1xuICBEVU1NWV9CQVNFX1VSTCxcbiAgYXNzZXJ0UGFyYW1FeGlzdHMsXG4gIHNldEJlYXJlckF1dGhUb09iamVjdCxcbiAgc2V0U2VhcmNoUGFyYW1zLFxuICBzZXJpYWxpemVEYXRhSWZOZWVkZWQsXG4gIHRvUGF0aFN0cmluZyxcbiAgY3JlYXRlUmVxdWVzdEZ1bmN0aW9uXG59IGZyb20gXCIuLi9jb21tb25cIjtcbi8vIEB0cy1pZ25vcmVcbmltcG9ydCB7XG4gIEJBU0VfUEFUSCxcbiAgQ09MTEVDVElPTl9GT1JNQVRTLFxuICBSZXF1ZXN0QXJncyxcbiAgQmFzZUFQSSxcbiAgUmVxdWlyZWRFcnJvclxufSBmcm9tIFwiLi4vYmFzZVwiO1xuLy8gQHRzLWlnbm9yZVxuaW1wb3J0IHsgR2V0UHVibGljS2V5UmVzcG9uc2UgfSBmcm9tIFwiLi4vbW9kZWxzXCI7XG4vKipcbiAqIEVuY3J5cHRpb25BcGkgLSBheGlvcyBwYXJhbWV0ZXIgY3JlYXRvclxuICogQGV4cG9ydFxuICovXG5leHBvcnQgY29uc3QgRW5jcnlwdGlvbkFwaUF4aW9zUGFyYW1DcmVhdG9yID0gZnVuY3Rpb24gKFxuICBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvblxuKSB7XG4gIHJldHVybiB7XG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGFuIFJTQSBwdWJsaWMga2V5IHRvIGJlIHVzZWQgaW4gZW5jcnlwdGluZyBkYXRhIHNlbnQgdG8gdGhlIEFQSS4gWW91ciBwdWJsaWMga2V5cyBjaGFuZ2UgaW5mcmVxdWVudGx5LCBzbyB3ZSBlbmNvdXJhZ2UgeW91IHRvIGNhY2hlIHRoaXMgcmVzcG9uc2UgdmFsdWUgbG9jYWxseSBmb3IgYSBkdXJhdGlvbiBvZiAyNCBob3VycyBvciBtb3JlLlxuICAgICAqIEBzdW1tYXJ5IEdldCBwdWJsaWMga2V5XG4gICAgICogQHBhcmFtIHsqfSBbb3B0aW9uc10gT3ZlcnJpZGUgaHR0cCByZXF1ZXN0IG9wdGlvbi5cbiAgICAgKiBAdGhyb3dzIHtSZXF1aXJlZEVycm9yfVxuICAgICAqL1xuICAgIGdldFB1YmxpY0tleTogYXN5bmMgKFxuICAgICAgb3B0aW9uczogQXhpb3NSZXF1ZXN0Q29uZmlnID0ge31cbiAgICApOiBQcm9taXNlPFJlcXVlc3RBcmdzPiA9PiB7XG4gICAgICBjb25zdCBsb2NhbFZhclBhdGggPSBgL3YxL2VuY3J5cHRpb24vcHVibGljYDtcbiAgICAgIC8vIHVzZSBkdW1teSBiYXNlIFVSTCBzdHJpbmcgYmVjYXVzZSB0aGUgVVJMIGNvbnN0cnVjdG9yIG9ubHkgYWNjZXB0cyBhYnNvbHV0ZSBVUkxzLlxuICAgICAgY29uc3QgbG9jYWxWYXJVcmxPYmogPSBuZXcgVVJMKGxvY2FsVmFyUGF0aCwgRFVNTVlfQkFTRV9VUkwpO1xuICAgICAgbGV0IGJhc2VPcHRpb25zO1xuICAgICAgaWYgKGNvbmZpZ3VyYXRpb24pIHtcbiAgICAgICAgYmFzZU9wdGlvbnMgPSBjb25maWd1cmF0aW9uLmJhc2VPcHRpb25zO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsb2NhbFZhclJlcXVlc3RPcHRpb25zID0ge1xuICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICAgIC4uLmJhc2VPcHRpb25zLFxuICAgICAgICAuLi5vcHRpb25zXG4gICAgICB9O1xuICAgICAgY29uc3QgbG9jYWxWYXJIZWFkZXJQYXJhbWV0ZXIgPSB7fSBhcyBhbnk7XG4gICAgICBjb25zdCBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVyID0ge30gYXMgYW55O1xuXG4gICAgICAvLyBhdXRoZW50aWNhdGlvbiBiZWFyZXJBdXRoIHJlcXVpcmVkXG4gICAgICAvLyBodHRwIGJlYXJlciBhdXRoZW50aWNhdGlvbiByZXF1aXJlZFxuICAgICAgYXdhaXQgc2V0QmVhcmVyQXV0aFRvT2JqZWN0KGxvY2FsVmFySGVhZGVyUGFyYW1ldGVyLCBjb25maWd1cmF0aW9uKTtcblxuICAgICAgc2V0U2VhcmNoUGFyYW1zKGxvY2FsVmFyVXJsT2JqLCBsb2NhbFZhclF1ZXJ5UGFyYW1ldGVyKTtcbiAgICAgIGxldCBoZWFkZXJzRnJvbUJhc2VPcHRpb25zID1cbiAgICAgICAgYmFzZU9wdGlvbnMgJiYgYmFzZU9wdGlvbnMuaGVhZGVycyA/IGJhc2VPcHRpb25zLmhlYWRlcnMgOiB7fTtcbiAgICAgIGxvY2FsVmFyUmVxdWVzdE9wdGlvbnMuaGVhZGVycyA9IHtcbiAgICAgICAgLi4ubG9jYWxWYXJIZWFkZXJQYXJhbWV0ZXIsXG4gICAgICAgIC4uLmhlYWRlcnNGcm9tQmFzZU9wdGlvbnMsXG4gICAgICAgIC4uLm9wdGlvbnMuaGVhZGVyc1xuICAgICAgfTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdXJsOiB0b1BhdGhTdHJpbmcobG9jYWxWYXJVcmxPYmopLFxuICAgICAgICBvcHRpb25zOiBsb2NhbFZhclJlcXVlc3RPcHRpb25zXG4gICAgICB9O1xuICAgIH1cbiAgfTtcbn07XG5cbi8qKlxuICogRW5jcnlwdGlvbkFwaSAtIGZ1bmN0aW9uYWwgcHJvZ3JhbW1pbmcgaW50ZXJmYWNlXG4gKiBAZXhwb3J0XG4gKi9cbmV4cG9ydCBjb25zdCBFbmNyeXB0aW9uQXBpRnAgPSBmdW5jdGlvbiAoY29uZmlndXJhdGlvbj86IENvbmZpZ3VyYXRpb24pIHtcbiAgY29uc3QgbG9jYWxWYXJBeGlvc1BhcmFtQ3JlYXRvciA9XG4gICAgRW5jcnlwdGlvbkFwaUF4aW9zUGFyYW1DcmVhdG9yKGNvbmZpZ3VyYXRpb24pO1xuICByZXR1cm4ge1xuICAgIC8qKlxuICAgICAqIFJldHJpZXZlcyBhbiBSU0EgcHVibGljIGtleSB0byBiZSB1c2VkIGluIGVuY3J5cHRpbmcgZGF0YSBzZW50IHRvIHRoZSBBUEkuIFlvdXIgcHVibGljIGtleXMgY2hhbmdlIGluZnJlcXVlbnRseSwgc28gd2UgZW5jb3VyYWdlIHlvdSB0byBjYWNoZSB0aGlzIHJlc3BvbnNlIHZhbHVlIGxvY2FsbHkgZm9yIGEgZHVyYXRpb24gb2YgMjQgaG91cnMgb3IgbW9yZS5cbiAgICAgKiBAc3VtbWFyeSBHZXQgcHVibGljIGtleVxuICAgICAqIEBwYXJhbSB7Kn0gW29wdGlvbnNdIE92ZXJyaWRlIGh0dHAgcmVxdWVzdCBvcHRpb24uXG4gICAgICogQHRocm93cyB7UmVxdWlyZWRFcnJvcn1cbiAgICAgKi9cbiAgICBhc3luYyBnZXRQdWJsaWNLZXkoXG4gICAgICBvcHRpb25zPzogQXhpb3NSZXF1ZXN0Q29uZmlnXG4gICAgKTogUHJvbWlzZTxcbiAgICAgIChcbiAgICAgICAgYXhpb3M/OiBBeGlvc0luc3RhbmNlLFxuICAgICAgICBiYXNlUGF0aD86IHN0cmluZ1xuICAgICAgKSA9PiBBeGlvc1Byb21pc2U8R2V0UHVibGljS2V5UmVzcG9uc2U+XG4gICAgPiB7XG4gICAgICBjb25zdCBsb2NhbFZhckF4aW9zQXJncyA9IGF3YWl0IGxvY2FsVmFyQXhpb3NQYXJhbUNyZWF0b3IuZ2V0UHVibGljS2V5KFxuICAgICAgICBvcHRpb25zXG4gICAgICApO1xuICAgICAgcmV0dXJuIGNyZWF0ZVJlcXVlc3RGdW5jdGlvbihcbiAgICAgICAgbG9jYWxWYXJBeGlvc0FyZ3MsXG4gICAgICAgIGdsb2JhbEF4aW9zLFxuICAgICAgICBCQVNFX1BBVEgsXG4gICAgICAgIGNvbmZpZ3VyYXRpb25cbiAgICAgICk7XG4gICAgfVxuICB9O1xufTtcblxuLyoqXG4gKiBFbmNyeXB0aW9uQXBpIC0gZmFjdG9yeSBpbnRlcmZhY2VcbiAqIEBleHBvcnRcbiAqL1xuZXhwb3J0IGNvbnN0IEVuY3J5cHRpb25BcGlGYWN0b3J5ID0gZnVuY3Rpb24gKFxuICBjb25maWd1cmF0aW9uPzogQ29uZmlndXJhdGlvbixcbiAgYmFzZVBhdGg/OiBzdHJpbmcsXG4gIGF4aW9zPzogQXhpb3NJbnN0YW5jZVxuKSB7XG4gIGNvbnN0IGxvY2FsVmFyRnAgPSBFbmNyeXB0aW9uQXBpRnAoY29uZmlndXJhdGlvbik7XG4gIHJldHVybiB7XG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIGFuIFJTQSBwdWJsaWMga2V5IHRvIGJlIHVzZWQgaW4gZW5jcnlwdGluZyBkYXRhIHNlbnQgdG8gdGhlIEFQSS4gWW91ciBwdWJsaWMga2V5cyBjaGFuZ2UgaW5mcmVxdWVudGx5LCBzbyB3ZSBlbmNvdXJhZ2UgeW91IHRvIGNhY2hlIHRoaXMgcmVzcG9uc2UgdmFsdWUgbG9jYWxseSBmb3IgYSBkdXJhdGlvbiBvZiAyNCBob3VycyBvciBtb3JlLlxuICAgICAqIEBzdW1tYXJ5IEdldCBwdWJsaWMga2V5XG4gICAgICogQHBhcmFtIHsqfSBbb3B0aW9uc10gT3ZlcnJpZGUgaHR0cCByZXF1ZXN0IG9wdGlvbi5cbiAgICAgKiBAdGhyb3dzIHtSZXF1aXJlZEVycm9yfVxuICAgICAqL1xuICAgIGdldFB1YmxpY0tleShvcHRpb25zPzogYW55KTogQXhpb3NQcm9taXNlPEdldFB1YmxpY0tleVJlc3BvbnNlPiB7XG4gICAgICByZXR1cm4gbG9jYWxWYXJGcFxuICAgICAgICAuZ2V0UHVibGljS2V5KG9wdGlvbnMpXG4gICAgICAgIC50aGVuKChyZXF1ZXN0KSA9PiByZXF1ZXN0KGF4aW9zLCBiYXNlUGF0aCkpO1xuICAgIH1cbiAgfTtcbn07XG5cbi8qKlxuICogRW5jcnlwdGlvbkFwaSAtIG9iamVjdC1vcmllbnRlZCBpbnRlcmZhY2VcbiAqIEBleHBvcnRcbiAqIEBjbGFzcyBFbmNyeXB0aW9uQXBpXG4gKiBAZXh0ZW5kcyB7QmFzZUFQSX1cbiAqL1xuZXhwb3J0IGNsYXNzIEVuY3J5cHRpb25BcGkgZXh0ZW5kcyBCYXNlQVBJIHtcbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhbiBSU0EgcHVibGljIGtleSB0byBiZSB1c2VkIGluIGVuY3J5cHRpbmcgZGF0YSBzZW50IHRvIHRoZSBBUEkuIFlvdXIgcHVibGljIGtleXMgY2hhbmdlIGluZnJlcXVlbnRseSwgc28gd2UgZW5jb3VyYWdlIHlvdSB0byBjYWNoZSB0aGlzIHJlc3BvbnNlIHZhbHVlIGxvY2FsbHkgZm9yIGEgZHVyYXRpb24gb2YgMjQgaG91cnMgb3IgbW9yZS5cbiAgICogQHN1bW1hcnkgR2V0IHB1YmxpYyBrZXlcbiAgICogQHBhcmFtIHsqfSBbb3B0aW9uc10gT3ZlcnJpZGUgaHR0cCByZXF1ZXN0IG9wdGlvbi5cbiAgICogQHRocm93cyB7UmVxdWlyZWRFcnJvcn1cbiAgICogQG1lbWJlcm9mIEVuY3J5cHRpb25BcGlcbiAgICovXG4gIHB1YmxpYyBnZXRQdWJsaWNLZXkob3B0aW9ucz86IEF4aW9zUmVxdWVzdENvbmZpZykge1xuICAgIHJldHVybiBFbmNyeXB0aW9uQXBpRnAodGhpcy5jb25maWd1cmF0aW9uKVxuICAgICAgLmdldFB1YmxpY0tleShvcHRpb25zKVxuICAgICAgLnRoZW4oKHJlcXVlc3QpID0+IHJlcXVlc3QodGhpcy5heGlvcywgdGhpcy5iYXNlUGF0aCkpO1xuICB9XG59XG4iXX0=