UNPKG

awscdk-resources-mongodbatlas

Version:

MongoDB Atlas CDK Construct Library for AWS CloudFormation Resources

128 lines 21.5 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.CfnStreamProcessor = exports.CfnStreamProcessorPropsDesiredState = void 0; exports.toJson_CfnStreamProcessorProps = toJson_CfnStreamProcessorProps; exports.toJson_StreamsOptions = toJson_StreamsOptions; exports.toJson_Timeouts = toJson_Timeouts; exports.toJson_StreamsDlq = toJson_StreamsDlq; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); // Generated by cdk-import const cdk = require("aws-cdk-lib"); /** * Converts an object of type 'CfnStreamProcessorProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ function toJson_CfnStreamProcessorProps(obj) { if (obj === undefined) { return undefined; } const result = { Profile: obj.profile, ProjectId: obj.projectId, WorkspaceName: obj.workspaceName, ProcessorName: obj.processorName, Pipeline: obj.pipeline, DesiredState: obj.desiredState, Options: toJson_StreamsOptions(obj.options), Timeouts: toJson_Timeouts(obj.timeouts), DeleteOnCreateTimeout: obj.deleteOnCreateTimeout, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The desired state of the stream processor. Used to start or stop the Stream Processor. Valid values are CREATED, STARTED or STOPPED. When a Stream Processor is created without specifying the desired state, it will default to CREATED state. When a Stream Processor is updated without specifying the desired state, it will default to the Previous state. * * **NOTE** When a Stream Processor is updated without specifying the desired state, it is stopped and then restored to previous state upon update completion. * * @schema CfnStreamProcessorPropsDesiredState */ var CfnStreamProcessorPropsDesiredState; (function (CfnStreamProcessorPropsDesiredState) { /** CREATED */ CfnStreamProcessorPropsDesiredState["CREATED"] = "CREATED"; /** STARTED */ CfnStreamProcessorPropsDesiredState["STARTED"] = "STARTED"; /** STOPPED */ CfnStreamProcessorPropsDesiredState["STOPPED"] = "STOPPED"; })(CfnStreamProcessorPropsDesiredState || (exports.CfnStreamProcessorPropsDesiredState = CfnStreamProcessorPropsDesiredState = {})); /** * Converts an object of type 'StreamsOptions' to JSON representation. */ /* eslint-disable max-len, quote-props */ function toJson_StreamsOptions(obj) { if (obj === undefined) { return undefined; } const result = { Dlq: toJson_StreamsDlq(obj.dlq), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}); } /** * Converts an object of type 'Timeouts' to JSON representation. */ /* eslint-disable max-len, quote-props */ function toJson_Timeouts(obj) { if (obj === undefined) { return undefined; } const result = { Create: obj.create, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}); } /** * Converts an object of type 'StreamsDlq' to JSON representation. */ /* eslint-disable max-len, quote-props */ function toJson_StreamsDlq(obj) { if (obj === undefined) { return undefined; } const result = { Coll: obj.coll, ConnectionName: obj.connectionName, Db: obj.db, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined ? r : { ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A CloudFormation `MongoDB::Atlas::StreamProcessor` * * @cloudformationResource MongoDB::Atlas::StreamProcessor * @stability external */ class CfnStreamProcessor extends cdk.CfnResource { /** * Create a new `MongoDB::Atlas::StreamProcessor`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope, id, props) { super(scope, id, { type: CfnStreamProcessor.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnStreamProcessorProps(props), }); this.props = props; this.attrId = cdk.Token.asString(this.getAtt("Id")); this.attrStats = cdk.Token.asString(this.getAtt("Stats")); this.attrState = cdk.Token.asString(this.getAtt("State")); } } exports.CfnStreamProcessor = CfnStreamProcessor; _a = JSII_RTTI_SYMBOL_1; CfnStreamProcessor[_a] = { fqn: "awscdk-resources-mongodbatlas.CfnStreamProcessor", version: "4.0.0" }; /** * The CloudFormation resource type name for this resource class. */ CfnStreamProcessor.CFN_RESOURCE_TYPE_NAME = "MongoDB::Atlas::StreamProcessor"; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbDEtcmVzb3VyY2VzL3N0cmVhbS1wcm9jZXNzb3IvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQWlGQSx3RUFzQkM7QUFtQ0Qsc0RBY0M7QUFzQkQsMENBY0M7QUFtQ0QsOENBZ0JDOztBQS9PRCwwQkFBMEI7QUFDMUIsbUNBQW1DO0FBNEVuQzs7R0FFRztBQUNILHlDQUF5QztBQUN6QyxTQUFnQiw4QkFBOEIsQ0FDNUMsR0FBd0M7SUFFeEMsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdEIsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUNELE1BQU0sTUFBTSxHQUFHO1FBQ2IsT0FBTyxFQUFFLEdBQUcsQ0FBQyxPQUFPO1FBQ3BCLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUztRQUN4QixhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWE7UUFDaEMsYUFBYSxFQUFFLEdBQUcsQ0FBQyxhQUFhO1FBQ2hDLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUTtRQUN0QixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7UUFDOUIsT0FBTyxFQUFFLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7UUFDM0MsUUFBUSxFQUFFLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO1FBQ3ZDLHFCQUFxQixFQUFFLEdBQUcsQ0FBQyxxQkFBcUI7S0FDakQsQ0FBQztJQUNGLDBCQUEwQjtJQUMxQixPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUNsQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMs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QW1CLFNBQVEsR0FBRyxDQUFDLFdBQVc7SUF5QnJEOzs7Ozs7T0FNRztJQUNILFlBQ0UsS0FBMkIsRUFDM0IsRUFBVSxFQUNWLEtBQThCO1FBRTlCLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2YsSUFBSSxFQUFFLGtCQUFrQixDQUFDLHNCQUFzQjtZQUMvQyxVQUFVLEVBQUUsOEJBQThCLENBQUMsS0FBSyxDQUFFO1NBQ25ELENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7O0FBL0NILGdEQWdEQzs7O0FBL0NDOztHQUVHO0FBQ29CLHlDQUFzQixHQUMzQyxpQ0FBaUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEdlbmVyYXRlZCBieSBjZGstaW1wb3J0XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgKiBhcyBjb25zdHJ1Y3RzIGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5cbi8qKlxuICogUmV0dXJucywgYWRkcywgZWRpdHMsIGFuZCByZW1vdmVzIEF0bGFzIFN0cmVhbSBQcm9jZXNzb3JzLlxuICpcbiAqIEBzY2hlbWEgQ2ZuU3RyZWFtUHJvY2Vzc29yUHJvcHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZm5TdHJlYW1Qcm9jZXNzb3JQcm9wcyB7XG4gIC8qKlxuICAgKiBQcm9maWxlIHVzZWQgdG8gcHJvdmlkZSBjcmVkZW50aWFscyBpbmZvcm1hdGlvbiwgKGEgc2VjcmV0IHdpdGggdGhlIGNmbi9hdGxhcy9wcm9maWxlL3tQcm9maWxlfSwgaXMgcmVxdWlyZWQpLCBpZiBub3QgcHJvdmlkZWQgZGVmYXVsdCBpcyB1c2VkXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuU3RyZWFtUHJvY2Vzc29yUHJvcHMjUHJvZmlsZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvZmlsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVW5pcXVlIDI0LWhleGFkZWNpbWFsIGRpZ2l0IHN0cmluZyB0aGF0IGlkZW50aWZpZXMgeW91ciBwcm9qZWN0LlxuICAgKlxuICAgKiAqKk5PVEUqKjogR3JvdXBzIGFuZCBwcm9qZWN0cyBhcmUgc3lub255bW91cyB0ZXJtcy4gWW91ciBncm91cCBpZCBpcyB0aGUgc2FtZSBhcyB5b3VyIHByb2plY3QgaWQuIEZvciBleGlzdGluZyBncm91cHMsIHlvdXIgZ3JvdXAvcHJvamVjdCBpZCByZW1haW5zIHRoZSBzYW1lLiBUaGUgcmVzb3VyY2UgYW5kIGNvcnJlc3BvbmRpbmcgZW5kcG9pbnRzIHVzZSB0aGUgdGVybSBncm91cHMuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuU3RyZWFtUHJvY2Vzc29yUHJvcHMjUHJvamVjdElkXG4gICAqL1xuICByZWFkb25seSBwcm9qZWN0SWQ6IHN0cmluZztcblxuICAvKipcbiAgICogTGFiZWwgdGhhdCBpZGVudGlmaWVzIHRoZSBzdHJlYW0gcHJvY2Vzc2luZyB3b3Jrc3BhY2UuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuU3RyZWFtUHJvY2Vzc29yUHJvcHMjV29ya3NwYWNlTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgd29ya3NwYWNlTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBMYWJlbCB0aGF0IGlkZW50aWZpZXMgdGhlIHN0cmVhbSBwcm9jZXNzb3IuXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuU3RyZWFtUHJvY2Vzc29yUHJvcHMjUHJvY2Vzc29yTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvY2Vzc29yTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdHJlYW0gYWdncmVnYXRpb24gcGlwZWxpbmUgeW91IHdhbnQgdG8gYXBwbHkgdG8geW91ciBzdHJlYW1pbmcgZGF0YS4gVGhpcyBzaG91bGQgYmUgYSBKU09OLWVuY29kZWQgYXJyYXkgb2YgcGlwZWxpbmUgc3RhZ2VzLiBSZWZlciB0byBNb25nb0RCIEF0bGFzIERvY3MgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gc3RyZWFtIGFnZ3JlZ2F0aW9uIHBpcGVsaW5lcy5cbiAgICpcbiAgICogQHNjaGVtYSBDZm5TdHJlYW1Qcm9jZXNzb3JQcm9wcyNQaXBlbGluZVxuICAgKi9cbiAgcmVhZG9ubHkgcGlwZWxpbmU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlc2lyZWQgc3RhdGUgb2YgdGhlIHN0cmVhbSBwcm9jZXNzb3IuIFVzZWQgdG8gc3RhcnQgb3Igc3RvcCB0aGUgU3RyZWFtIFByb2Nlc3Nvci4gVmFsaWQgdmFsdWVzIGFyZSBDUkVBVEVELCBTVEFSVEVEIG9yIFNUT1BQRUQuIFdoZW4gYSBTdHJlYW0gUHJvY2Vzc29yIGlzIGNyZWF0ZWQgd2l0aG91dCBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIHN0YXRlLCBpdCB3aWxsIGRlZmF1bHQgdG8gQ1JFQVRFRCBzdGF0ZS4gV2hlbiBhIFN0cmVhbSBQcm9jZXNzb3IgaXMgdXBkYXRlZCB3aXRob3V0IHNwZWNpZnlpbmcgdGhlIGRlc2lyZWQgc3RhdGUsIGl0IHdpbGwgZGVmYXVsdCB0byB0aGUgUHJldmlvdXMgc3RhdGUuXG4gICAqXG4gICAqICoqTk9URSoqIFdoZW4gYSBTdHJlYW0gUHJvY2Vzc29yIGlzIHVwZGF0ZWQgd2l0aG91dCBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIHN0YXRlLCBpdCBpcyBzdG9wcGVkIGFuZCB0aGVuIHJlc3RvcmVkIHRvIHByZXZpb3VzIHN0YXRlIHVwb24gdXBkYXRlIGNvbXBsZXRpb24uXG4gICAqXG4gICAqIEBzY2hlbWEgQ2ZuU3RyZWFtUHJvY2Vzc29yUHJvcHMjRGVzaXJlZFN0YXRlXG4gICAqL1xuICByZWFkb25seSBkZXNpcmVkU3RhdGU/OiBDZm5TdHJlYW1Qcm9jZXNzb3JQcm9wc0Rlc2lyZWRTdGF0ZTtcblxuICAvKipcbiAgICogQHNjaGVtYSBDZm5TdHJlYW1Qcm9jZXNzb3JQcm9wcyNPcHRpb25zXG4gICAqL1xuICByZWFkb25seSBvcHRpb25zPzogU3RyZWFtc09wdGlvbnM7XG5cbiAgLyoqXG4gICAqIENvbmZpZ3VyYWJsZSB0aW1lb3V0cyBmb3Igc3RyZWFtIHByb2Nlc3NvciBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAc2NoZW1hIENmblN0cmVhbVByb2Nlc3NvclByb3BzI1RpbWVvdXRzXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0cz86IFRpbWVvdXRzO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkZWxldGUgdGhlIHJlc291cmNlIGJlaW5nIGNyZWF0ZWQgaWYgYSB0aW1lb3V0IGlzIHJlYWNoZWQgd2hlbiB3YWl0aW5nIGZvciBjb21wbGV0aW9uLiBXaGVuIHNldCB0byBgdHJ1ZWAgYW5kIHRpbWVvdXQgb2NjdXJzLCBpdCB0cmlnZ2VycyB0aGUgZGVsZXRpb24gYW5kIHJldHVybnMgaW1tZWRpYXRlbHkgd2l0aG91dCB3YWl0aW5nIGZvciBkZWxldGlvbiB0byBjb21wbGV0ZS4gV2hlbiBzZXQgdG8gYGZhbHNlYCwgdGhlIHRpbWVvdXQgd2lsbCBub3QgdHJpZ2dlciByZXNvdXJjZSBkZWxldGlvbi4gSWYgeW91IHN1c3BlY3QgYSB0cmFuc2llbnQgZXJyb3Igd2hlbiB0aGUgdmFsdWUgaXMgYHRydWVgLCB3YWl0IGJlZm9yZSByZXRyeWluZyB0byBhbGxvdyByZXNvdXJjZSBkZWxldGlvbiB0byBmaW5pc2guIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlYC5cbiAgICogQHNjaGVtYSBDZm5TdHJlYW1Qcm9jZXNzb3JQcm9wcyNEZWxldGVPbkNyZWF0ZVRpbWVvdXRcbiAgICovXG4gIHJlYWRvbmx5IGRlbGV0ZU9uQ3JlYXRlVGltZW91dD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ0NmblN0cmVhbVByb2Nlc3NvclByb3BzJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9DZm5TdHJlYW1Qcm9jZXNzb3JQcm9wcyhcbiAgb2JqOiBDZm5TdHJlYW1Qcm9jZXNzb3JQcm9wcyB8IHVuZGVmaW5lZFxuKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIFByb2ZpbGU6IG9iai5wcm9maWxlLFxuICAgIFByb2plY3RJZDogb2JqLnByb2plY3RJZCxcbiAgICBXb3Jrc3BhY2VOYW1lOiBvYmoud29ya3NwYWNlTmFtZSxcbiAgICBQcm9jZXNzb3JOYW1lOiBvYmoucHJvY2Vzc29yTmFtZSxcbiAgICBQaXBlbGluZTogb2JqLnBpcGVsaW5lLFxuICAgIERlc2lyZWRTdGF0ZTogb2JqLmRlc2lyZWRTdGF0ZSxcbiAgICBPcHRpb25zOiB0b0pzb25fU3RyZWFtc09wdGlvbnMob2JqLm9wdGlvbnMpLFxuICAgIFRpbWVvdXRzOiB0b0pzb25fVGltZW91dHMob2JqLnRpbWVvdXRzKSxcbiAgICBEZWxldGVPbkNyZWF0ZVRpbWVvdXQ6IG9iai5kZWxldGVPbkNyZWF0ZVRpbWVvdXQsXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZShcbiAgICAociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCA/IHIgOiB7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSxcbiAgICB7fVxuICApO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIFRoZSBkZXNpcmVkIHN0YXRlIG9mIHRoZSBzdHJlYW0gcHJvY2Vzc29yLiBVc2VkIHRvIHN0YXJ0IG9yIHN0b3AgdGhlIFN0cmVhbSBQcm9jZXNzb3IuIFZhbGlkIHZhbHVlcyBhcmUgQ1JFQVRFRCwgU1RBUlRFRCBvciBTVE9QUEVELiBXaGVuIGEgU3RyZWFtIFByb2Nlc3NvciBpcyBjcmVhdGVkIHdpdGhvdXQgc3BlY2lmeWluZyB0aGUgZGVzaXJlZCBzdGF0ZSwgaXQgd2lsbCBkZWZhdWx0IHRvIENSRUFURUQgc3RhdGUuIFdoZW4gYSBTdHJlYW0gUHJvY2Vzc29yIGlzIHVwZGF0ZWQgd2l0aG91dCBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIHN0YXRlLCBpdCB3aWxsIGRlZmF1bHQgdG8gdGhlIFByZXZpb3VzIHN0YXRlLlxuICpcbiAqICoqTk9URSoqIFdoZW4gYSBTdHJlYW0gUHJvY2Vzc29yIGlzIHVwZGF0ZWQgd2l0aG91dCBzcGVjaWZ5aW5nIHRoZSBkZXNpcmVkIHN0YXRlLCBpdCBpcyBzdG9wcGVkIGFuZCB0aGVuIHJlc3RvcmVkIHRvIHByZXZpb3VzIHN0YXRlIHVwb24gdXBkYXRlIGNvbXBsZXRpb24uXG4gKlxuICogQHNjaGVtYSBDZm5TdHJlYW1Qcm9jZXNzb3JQcm9wc0Rlc2lyZWRTdGF0ZVxuICovXG5leHBvcnQgZW51bSBDZm5TdHJlYW1Qcm9jZXNzb3JQcm9wc0Rlc2lyZWRTdGF0ZSB7XG4gIC8qKiBDUkVBVEVEICovXG4gIENSRUFURUQgPSBcIkNSRUFURURcIixcbiAgLyoqIFNUQVJURUQgKi9cbiAgU1RBUlRFRCA9IFwiU1RBUlRFRFwiLFxuICAvKiogU1RPUFBFRCAqL1xuICBTVE9QUEVEID0gXCJTVE9QUEVEXCIsXG59XG5cbi8qKlxuICogT3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhlIHN0cmVhbSBwcm9jZXNzb3IuXG4gKlxuICogQHNjaGVtYSBTdHJlYW1zT3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbXNPcHRpb25zIHtcbiAgLyoqXG4gICAqIEBzY2hlbWEgU3RyZWFtc09wdGlvbnMjRGxxXG4gICAqL1xuICByZWFkb25seSBkbHE6IFN0cmVhbXNEbHE7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ1N0cmVhbXNPcHRpb25zJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9TdHJlYW1zT3B0aW9ucyhcbiAgb2JqOiBTdHJlYW1zT3B0aW9ucyB8IHVuZGVmaW5lZFxuKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIERscTogdG9Kc29uX1N0cmVhbXNEbHEob2JqLmRscSksXG4gIH07XG4gIC8vIGZpbHRlciB1bmRlZmluZWQgdmFsdWVzXG4gIHJldHVybiBPYmplY3QuZW50cmllcyhyZXN1bHQpLnJlZHVjZShcbiAgICAociwgaSkgPT4gKGlbMV0gPT09IHVuZGVmaW5lZCA/IHIgOiB7IC4uLnIsIFtpWzBdXTogaVsxXSB9KSxcbiAgICB7fVxuICApO1xufVxuLyogZXNsaW50LWVuYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuXG4vKipcbiAqIENvbmZpZ3VyYWJsZSB0aW1lb3V0cyBmb3Igc3RyZWFtIHByb2Nlc3NvciBvcGVyYXRpb25zLlxuICpcbiAqIEBzY2hlbWEgVGltZW91dHNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaW1lb3V0cyB7XG4gIC8qKlxuICAgKiBUaW1lb3V0IGZvciBjcmVhdGUgb3BlcmF0aW9uIGluIEdvIGR1cmF0aW9uIGZvcm1hdCAoZS5nLiwgJzVtJywgJzEwcycpLiBEZWZhdWx0IGlzIDIwIG1pbnV0ZXMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDIwIG1pbnV0ZXMuXG4gICAqIEBzY2hlbWEgVGltZW91dHMjQ3JlYXRlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ1RpbWVvdXRzJyB0byBKU09OIHJlcHJlc2VudGF0aW9uLlxuICovXG4vKiBlc2xpbnQtZGlzYWJsZSBtYXgtbGVuLCBxdW90ZS1wcm9wcyAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvSnNvbl9UaW1lb3V0cyhcbiAgb2JqOiBUaW1lb3V0cyB8IHVuZGVmaW5lZFxuKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIENyZWF0ZTogb2JqLmNyZWF0ZSxcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKFxuICAgIChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkID8gciA6IHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLFxuICAgIHt9XG4gICk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogRGVhZCBsZXR0ZXIgcXVldWUgZm9yIHRoZSBzdHJlYW0gcHJvY2Vzc29yLiBSZWZlciB0byB0aGUgTW9uZ29EQiBBdGxhcyBEb2NzIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuICpcbiAqIEBzY2hlbWEgU3RyZWFtc0RMUVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0cmVhbXNEbHEge1xuICAvKipcbiAgICogTmFtZSBvZiB0aGUgY29sbGVjdGlvbiB0byB1c2UgZm9yIHRoZSBETFEuXG4gICAqXG4gICAqIEBzY2hlbWEgU3RyZWFtc0RMUSNDb2xsXG4gICAqL1xuICByZWFkb25seSBjb2xsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIGNvbm5lY3Rpb24gdG8gd3JpdGUgRExRIG1lc3NhZ2VzIHRvLiBNdXN0IGJlIGFuIEF0bGFzIGNvbm5lY3Rpb24uXG4gICAqXG4gICAqIEBzY2hlbWEgU3RyZWFtc0RMUSNDb25uZWN0aW9uTmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgY29ubmVjdGlvbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogTmFtZSBvZiB0aGUgZGF0YWJhc2UgdG8gdXNlIGZvciB0aGUgRExRLlxuICAgKlxuICAgKiBAc2NoZW1hIFN0cmVhbXNETFEjRGJcbiAgICovXG4gIHJlYWRvbmx5IGRiOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JqZWN0IG9mIHR5cGUgJ1N0cmVhbXNEbHEnIHRvIEpTT04gcmVwcmVzZW50YXRpb24uXG4gKi9cbi8qIGVzbGludC1kaXNhYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5leHBvcnQgZnVuY3Rpb24gdG9Kc29uX1N0cmVhbXNEbHEoXG4gIG9iajogU3RyZWFtc0RscSB8IHVuZGVmaW5lZFxuKTogUmVjb3JkPHN0cmluZywgYW55PiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvYmogPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0ge1xuICAgIENvbGw6IG9iai5jb2xsLFxuICAgIENvbm5lY3Rpb25OYW1lOiBvYmouY29ubmVjdGlvbk5hbWUsXG4gICAgRGI6IG9iai5kYixcbiAgfTtcbiAgLy8gZmlsdGVyIHVuZGVmaW5lZCB2YWx1ZXNcbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHJlc3VsdCkucmVkdWNlKFxuICAgIChyLCBpKSA9PiAoaVsxXSA9PT0gdW5kZWZpbmVkID8gciA6IHsgLi4uciwgW2lbMF1dOiBpWzFdIH0pLFxuICAgIHt9XG4gICk7XG59XG4vKiBlc2xpbnQtZW5hYmxlIG1heC1sZW4sIHF1b3RlLXByb3BzICovXG5cbi8qKlxuICogQSBDbG91ZEZvcm1hdGlvbiBgTW9uZ29EQjo6QXRsYXM6OlN0cmVhbVByb2Nlc3NvcmBcbiAqXG4gKiBAY2xvdWRmb3JtYXRpb25SZXNvdXJjZSBNb25nb0RCOjpBdGxhczo6U3RyZWFtUHJvY2Vzc29yXG4gKiBAc3RhYmlsaXR5IGV4dGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBDZm5TdHJlYW1Qcm9jZXNzb3IgZXh0ZW5kcyBjZGsuQ2ZuUmVzb3VyY2Uge1xuICAvKipcbiAgICogVGhlIENsb3VkRm9ybWF0aW9uIHJlc291cmNlIHR5cGUgbmFtZSBmb3IgdGhpcyByZXNvdXJjZSBjbGFzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ0ZOX1JFU09VUkNFX1RZUEVfTkFNRSA9XG4gICAgXCJNb25nb0RCOjpBdGxhczo6U3RyZWFtUHJvY2Vzc29yXCI7XG5cbiAgLyoqXG4gICAqIFJlc291cmNlIHByb3BzLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHByb3BzOiBDZm5TdHJlYW1Qcm9jZXNzb3JQcm9wcztcblxuICAvKipcbiAgICogQXR0cmlidXRlIGBNb25nb0RCOjpBdGxhczo6U3RyZWFtUHJvY2Vzc29yLklkYFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF0dHJJZDogc3RyaW5nO1xuICAvKipcbiAgICogQXR0cmlidXRlIGBNb25nb0RCOjpBdGxhczo6U3RyZWFtUHJvY2Vzc29yLlN0YXRzYFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF0dHJTdGF0czogc3RyaW5nO1xuICAvKipcbiAgICogQXR0cmlidXRlIGBNb25nb0RCOjpBdGxhczo6U3RyZWFtUHJvY2Vzc29yLlN0YXRlYFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGF0dHJTdGF0ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgYE1vbmdvREI6OkF0bGFzOjpTdHJlYW1Qcm9jZXNzb3JgLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgLSBzY29wZSBpbiB3aGljaCB0aGlzIHJlc291cmNlIGlzIGRlZmluZWRcbiAgICogQHBhcmFtIGlkICAgIC0gc2NvcGVkIGlkIG9mIHRoZSByZXNvdXJjZVxuICAgKiBAcGFyYW0gcHJvcHMgLSByZXNvdXJjZSBwcm9wZXJ0aWVzXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogY29uc3RydWN0cy5Db25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBwcm9wczogQ2ZuU3RyZWFtUHJvY2Vzc29yUHJvcHNcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICB0eXBlOiBDZm5TdHJlYW1Qcm9jZXNzb3IuQ0ZOX1JFU09VUkNFX1RZUEVfTkFNRSxcbiAgICAgIHByb3BlcnRpZXM6IHRvSnNvbl9DZm5TdHJlYW1Qcm9jZXNzb3JQcm9wcyhwcm9wcykhLFxuICAgIH0pO1xuXG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuXG4gICAgdGhpcy5hdHRySWQgPSBjZGsuVG9rZW4uYXNTdHJpbmcodGhpcy5nZXRBdHQoXCJJZFwiKSk7XG4gICAgdGhpcy5hdHRyU3RhdHMgPSBjZGsuVG9rZW4uYXNTdHJpbmcodGhpcy5nZXRBdHQoXCJTdGF0c1wiKSk7XG4gICAgdGhpcy5hdHRyU3RhdGUgPSBjZGsuVG9rZW4uYXNTdHJpbmcodGhpcy5nZXRBdHQoXCJTdGF0ZVwiKSk7XG4gIH1cbn1cbiJdfQ==