@aws-cdk/aws-gamelift-alpha 2.235.0-alpha.0 → 2.236.0-alpha.0

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.
@@ -41,6 +41,7 @@ const gamelift = require("aws-cdk-lib/aws-gamelift");
41
41
  const iam = require("aws-cdk-lib/aws-iam");
42
42
  const sns = require("aws-cdk-lib/aws-sns");
43
43
  const cdk = require("aws-cdk-lib/core");
44
+ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
44
45
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
45
46
  const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
46
47
  const matchmaking_configuration_1 = require("./matchmaking-configuration");
@@ -60,18 +61,24 @@ let QueuedMatchmakingConfiguration = (() => {
60
61
  let _classThis;
61
62
  let _classSuper = matchmaking_configuration_1.MatchmakingConfigurationBase;
62
63
  let _instanceExtraInitializers = [];
64
+ let _get_matchmakingConfigurationName_decorators;
65
+ let _get_matchmakingConfigurationArn_decorators;
63
66
  let _addGameSessionQueue_decorators;
64
67
  var QueuedMatchmakingConfiguration = class extends _classSuper {
65
68
  static { _classThis = this; }
66
69
  static {
67
70
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
71
+ _get_matchmakingConfigurationName_decorators = [helpers_internal_1.memoizedGetter];
72
+ _get_matchmakingConfigurationArn_decorators = [helpers_internal_1.memoizedGetter];
68
73
  _addGameSessionQueue_decorators = [(0, metadata_resource_1.MethodMetadata)()];
74
+ __esDecorate(this, null, _get_matchmakingConfigurationName_decorators, { kind: "getter", name: "matchmakingConfigurationName", static: false, private: false, access: { has: obj => "matchmakingConfigurationName" in obj, get: obj => obj.matchmakingConfigurationName }, metadata: _metadata }, null, _instanceExtraInitializers);
75
+ __esDecorate(this, null, _get_matchmakingConfigurationArn_decorators, { kind: "getter", name: "matchmakingConfigurationArn", static: false, private: false, access: { has: obj => "matchmakingConfigurationArn" in obj, get: obj => obj.matchmakingConfigurationArn }, metadata: _metadata }, null, _instanceExtraInitializers);
69
76
  __esDecorate(this, null, _addGameSessionQueue_decorators, { kind: "method", name: "addGameSessionQueue", static: false, private: false, access: { has: obj => "addGameSessionQueue" in obj, get: obj => obj.addGameSessionQueue }, metadata: _metadata }, null, _instanceExtraInitializers);
70
77
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
71
78
  QueuedMatchmakingConfiguration = _classThis = _classDescriptor.value;
72
79
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
73
80
  }
74
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.QueuedMatchmakingConfiguration", version: "2.235.0-alpha.0" };
81
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.QueuedMatchmakingConfiguration", version: "2.236.0-alpha.0" };
75
82
  /** Uniquely identifies this class. */
76
83
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-gamelift-alpha.QueuedMatchmakingConfiguration';
77
84
  /**
@@ -86,22 +93,18 @@ let QueuedMatchmakingConfiguration = (() => {
86
93
  static fromQueuedMatchmakingConfigurationArn(scope, id, matchmakingConfigurationArn) {
87
94
  return this.fromMatchmakingConfigurationAttributes(scope, id, { matchmakingConfigurationArn: matchmakingConfigurationArn });
88
95
  }
89
- /**
90
- * The name of the matchmaking configuration.
91
- */
92
- matchmakingConfigurationName = __runInitializers(this, _instanceExtraInitializers);
93
- /**
94
- * The ARN of the matchmaking configuration.
95
- */
96
- matchmakingConfigurationArn;
97
96
  /**
98
97
  * The notification target for matchmaking events
99
98
  */
100
- notificationTarget;
99
+ notificationTarget = __runInitializers(this, _instanceExtraInitializers);
101
100
  /**
102
101
  * A list of game session queue destinations
103
102
  */
104
103
  gameSessionQueues = [];
104
+ /**
105
+ * The underlying CfnMatchmakingConfiguration resource
106
+ */
107
+ resource;
105
108
  constructor(scope, id, props) {
106
109
  super(scope, id, {
107
110
  physicalName: props.matchmakingConfigurationName,
@@ -161,7 +164,7 @@ let QueuedMatchmakingConfiguration = (() => {
161
164
  }));
162
165
  // Add all queues
163
166
  (props.gameSessionQueues || []).forEach(this.addGameSessionQueue.bind(this));
164
- const resource = new gamelift.CfnMatchmakingConfiguration(this, 'Resource', {
167
+ this.resource = new gamelift.CfnMatchmakingConfiguration(this, 'Resource', {
165
168
  name: this.physicalName,
166
169
  acceptanceRequired: Boolean(props.requireAcceptance),
167
170
  acceptanceTimeoutSeconds: props.acceptanceTimeout && props.acceptanceTimeout.toSeconds(),
@@ -177,8 +180,12 @@ let QueuedMatchmakingConfiguration = (() => {
177
180
  requestTimeoutSeconds: props.requestTimeout && props.requestTimeout.toSeconds() || cdk.Duration.seconds(300).toSeconds(),
178
181
  ruleSetName: props.ruleSet.matchmakingRuleSetName,
179
182
  });
180
- this.matchmakingConfigurationName = this.getResourceNameAttribute(resource.ref);
181
- this.matchmakingConfigurationArn = cdk.Stack.of(scope).formatArn({
183
+ }
184
+ get matchmakingConfigurationName() {
185
+ return this.getResourceNameAttribute(this.resource.ref);
186
+ }
187
+ get matchmakingConfigurationArn() {
188
+ return cdk.Stack.of(this).formatArn({
182
189
  service: 'gamelift',
183
190
  resource: 'matchmakingconfiguration',
184
191
  resourceName: this.matchmakingConfigurationName,
@@ -227,4 +234,4 @@ let QueuedMatchmakingConfiguration = (() => {
227
234
  return QueuedMatchmakingConfiguration = _classThis;
228
235
  })();
229
236
  exports.QueuedMatchmakingConfiguration = QueuedMatchmakingConfiguration;
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVkLW1hdGNobWFraW5nLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJxdWV1ZWQtbWF0Y2htYWtpbmctY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBcUQ7QUFDckQsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQyx3Q0FBd0M7QUFDeEMsOEVBQThGO0FBQzlGLDBFQUEwRTtBQUcxRSwyRUFBbUo7QUFxRG5KOzs7Ozs7OztHQVFHO0lBRVUsOEJBQThCOzRCQUQxQyxvQ0FBa0I7Ozs7c0JBQ2lDLHdEQUE0Qjs7OzhDQUFwQyxTQUFRLFdBQTRCOzs7OytDQWtJN0UsSUFBQSxrQ0FBYyxHQUFFO1lBQ2pCLDRNQUFPLG1CQUFtQiw2REFFekI7WUFySUgsNktBNkpDOzs7OztRQTVKQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLDREQUE0RCxDQUFDO1FBRXBIOztXQUVHO1FBQ0gsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLDRCQUFvQztZQUM5RyxPQUFPLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsNEJBQTRCLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1NBQy9IO1FBRUQ7O1dBRUc7UUFDSCxNQUFNLENBQUMscUNBQXFDLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsMkJBQW1DO1lBQzVHLE9BQU8sSUFBSSxDQUFDLHNDQUFzQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSxDQUFDLENBQUM7U0FDN0g7UUFFRDs7V0FFRztRQUNhLDRCQUE0QixHQXJCakMsbURBQThCLENBcUJZO1FBRXJEOztXQUVHO1FBQ2EsMkJBQTJCLENBQVM7UUFFcEQ7O1dBRUc7UUFDYSxr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QUVJLG1CQUFtQixDQUFDLGdCQUFtQzs7Ozs7Ozs7OztZQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDL0M7UUFFTyxzQkFBc0I7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNuRSxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN6RTtRQUVPLG1CQUFtQixDQUFDLEtBQTBDO1lBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMvRCxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBRUQsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBRW5ELFNBQVMsaUJBQWlCLENBQUMsWUFBMEI7Z0JBQ25ELE9BQU87b0JBQ0wsR0FBRyxFQUFFLFlBQVksQ0FBQyxHQUFHO29CQUNyQixLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUs7aUJBQzFCLENBQUM7WUFDSixDQUFDO1NBQ0Y7O1lBNUpVLHVEQUE4Qjs7Ozs7QUFBOUIsd0VBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZ2FtZWxpZnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWdhbWVsaWZ0JztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHNucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhLCBNZXRob2RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElHYW1lU2Vzc2lvblF1ZXVlIH0gZnJvbSAnLi9nYW1lLXNlc3Npb24tcXVldWUnO1xuaW1wb3J0IHsgTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uUHJvcHMsIEdhbWVQcm9wZXJ0eSwgTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uQmFzZSwgSU1hdGNobWFraW5nQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vbWF0Y2htYWtpbmctY29uZmlndXJhdGlvbic7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBuZXcgcXVldWVkIG1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBRdWV1ZWRNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Qcm9wcyBleHRlbmRzIE1hdGNobWFraW5nQ29uZmlndXJhdGlvblByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgcGxheWVyIHNsb3RzIGluIGEgbWF0Y2ggdG8ga2VlcCBvcGVuIGZvciBmdXR1cmUgcGxheWVycy5cbiAgICogRm9yIGV4YW1wbGUsIGlmIHRoZSBjb25maWd1cmF0aW9uJ3MgcnVsZSBzZXQgc3BlY2lmaWVzIGEgbWF0Y2ggZm9yIGEgc2luZ2xlIDEyLXBlcnNvbiB0ZWFtLCBhbmQgdGhlIGFkZGl0aW9uYWwgcGxheWVyIGNvdW50IGlzIHNldCB0byAyLCBvbmx5IDEwIHBsYXllcnMgYXJlIHNlbGVjdGVkIGZvciB0aGUgbWF0Y2guXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGFkZGl0aW9uYWwgcGxheWVyIHNsb3RzXG4gICAqL1xuICByZWFkb25seSBhZGRpdGlvbmFsUGxheWVyQ291bnQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXRob2QgdXNlZCB0byBiYWNrZmlsbCBnYW1lIHNlc3Npb25zIHRoYXQgYXJlIGNyZWF0ZWQgd2l0aCB0aGlzIG1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqIC0gQ2hvb3NlIG1hbnVhbCB3aGVuIHlvdXIgZ2FtZSBtYW5hZ2VzIGJhY2tmaWxsIHJlcXVlc3RzIG1hbnVhbGx5IG9yIGRvZXMgbm90IHVzZSB0aGUgbWF0Y2ggYmFja2ZpbGwgZmVhdHVyZS5cbiAgICogLSBPdGhlcndpc2UgYmFja2ZpbGwgaXMgc2V0dGxlZCB0byBhdXRvbWF0aWMgdG8gaGF2ZSBHYW1lTGlmdCBjcmVhdGUgYSBgU3RhcnRNYXRjaEJhY2tmaWxsYCByZXF1ZXN0IHdoZW5ldmVyIGEgZ2FtZSBzZXNzaW9uIGhhcyBvbmUgb3IgbW9yZSBvcGVuIHNsb3RzLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nYW1lbGlmdC9sYXRlc3QvZmxleG1hdGNoZ3VpZGUvbWF0Y2gtYmFja2ZpbGwuaHRtbFxuICAgKlxuICAgKiBAZGVmYXVsdCBhdXRvbWF0aWMgYmFja2ZpbGwgbW9kZVxuICAgKi9cbiAgcmVhZG9ubHkgbWFudWFsQmFja2ZpbGxNb2RlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBzZXQgb2YgY3VzdG9tIHByb3BlcnRpZXMgZm9yIGEgZ2FtZSBzZXNzaW9uLCBmb3JtYXR0ZWQgYXMga2V5LXZhbHVlIHBhaXJzLlxuICAgKiBUaGVzZSBwcm9wZXJ0aWVzIGFyZSBwYXNzZWQgdG8gYSBnYW1lIHNlcnZlciBwcm9jZXNzIHdpdGggYSByZXF1ZXN0IHRvIHN0YXJ0IGEgbmV3IGdhbWUgc2Vzc2lvbi5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2FtZWxpZnQvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2dhbWVsaWZ0LXNkay1zZXJ2ZXItYXBpLmh0bWwjZ2FtZWxpZnQtc2RrLXNlcnZlci1zdGFydHNlc3Npb25cbiAgICpcbiAgICogQGRlZmF1bHQgbm8gYWRkaXRpb25hbCBnYW1lIHByb3BlcnRpZXNcbiAgICovXG4gIHJlYWRvbmx5IGdhbWVQcm9wZXJ0aWVzPzogR2FtZVByb3BlcnR5W107XG5cbiAgLyoqXG4gICAqIEEgc2V0IG9mIGN1c3RvbSBnYW1lIHNlc3Npb24gcHJvcGVydGllcywgZm9ybWF0dGVkIGFzIGEgc2luZ2xlIHN0cmluZyB2YWx1ZS5cbiAgICogVGhpcyBkYXRhIGlzIHBhc3NlZCB0byBhIGdhbWUgc2VydmVyIHByb2Nlc3Mgd2l0aCBhIHJlcXVlc3QgdG8gc3RhcnQgYSBuZXcgZ2FtZSBzZXNzaW9uLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nYW1lbGlmdC9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvZ2FtZWxpZnQtc2RrLXNlcnZlci1hcGkuaHRtbCNnYW1lbGlmdC1zZGstc2VydmVyLXN0YXJ0c2Vzc2lvblxuICAgKlxuICAgKiBAZGVmYXVsdCBubyBhZGRpdGlvbmFsIGdhbWUgc2Vzc2lvbiBkYXRhXG4gICAqL1xuICByZWFkb25seSBnYW1lU2Vzc2lvbkRhdGE/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFF1ZXVlcyBhcmUgdXNlZCB0byBzdGFydCBuZXcgR2FtZUxpZnQtaG9zdGVkIGdhbWUgc2Vzc2lvbnMgZm9yIG1hdGNoZXMgdGhhdCBhcmUgY3JlYXRlZCB3aXRoIHRoaXMgbWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbi5cbiAgICpcbiAgICogUXVldWVzIGNhbiBiZSBsb2NhdGVkIGluIGFueSBSZWdpb24uXG4gICAqL1xuICByZWFkb25seSBnYW1lU2Vzc2lvblF1ZXVlczogSUdhbWVTZXNzaW9uUXVldWVbXTtcbn1cblxuLyoqXG4gKiBBIEZsZXhNYXRjaCBtYXRjaG1ha2VyIHByb2Nlc3MgZG9lcyB0aGUgd29yayBvZiBidWlsZGluZyBhIGdhbWUgbWF0Y2guXG4gKiBJdCBtYW5hZ2VzIHRoZSBwb29sIG9mIG1hdGNobWFraW5nIHJlcXVlc3RzIHJlY2VpdmVkLCBmb3JtcyB0ZWFtcyBmb3IgYSBtYXRjaCwgcHJvY2Vzc2VzIGFuZCBzZWxlY3RzIHBsYXllcnMgdG8gZmluZCB0aGUgYmVzdCBwb3NzaWJsZSBwbGF5ZXIgZ3JvdXBzLCBhbmQgaW5pdGlhdGVzIHRoZSBwcm9jZXNzIG9mIHBsYWNpbmcgYW5kIHN0YXJ0aW5nIGEgZ2FtZSBzZXNzaW9uIGZvciB0aGUgbWF0Y2guXG4gKiBUaGlzIHRvcGljIGRlc2NyaWJlcyB0aGUga2V5IGFzcGVjdHMgb2YgYSBtYXRjaG1ha2VyIGFuZCBob3cgdG8gY29uZmlndXJlIG9uZSBjdXN0b21pemVkIGZvciB5b3VyIGdhbWUuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2FtZWxpZnQvbGF0ZXN0L2ZsZXhtYXRjaGd1aWRlL21hdGNoLWNvbmZpZ3VyYXRpb24uaHRtbFxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkdhbWVMaWZ0OjpNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIFF1ZXVlZE1hdGNobWFraW5nQ29uZmlndXJhdGlvbiBleHRlbmRzIE1hdGNobWFraW5nQ29uZmlndXJhdGlvbkJhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nYW1lbGlmdC1hbHBoYS5RdWV1ZWRNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24nO1xuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgbWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBmcm9tIGl0cyBuYW1lLlxuICAgKi9cbiAgc3RhdGljIGZyb21RdWV1ZWRNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWU6IHN0cmluZyk6IElNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiB0aGlzLmZyb21NYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25BdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBtYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lOiBtYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBtYXRjaG1ha2luZyBjb25maWd1cmF0aW9uIGZyb20gaXRzIEFSTi5cbiAgICovXG4gIHN0YXRpYyBmcm9tUXVldWVkTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG1hdGNobWFraW5nQ29uZmlndXJhdGlvbkFybjogc3RyaW5nKTogSU1hdGNobWFraW5nQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbU1hdGNobWFraW5nQ29uZmlndXJhdGlvbkF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IG1hdGNobWFraW5nQ29uZmlndXJhdGlvbkFybjogbWF0Y2htYWtpbmdDb25maWd1cmF0aW9uQXJuIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBtYXRjaG1ha2luZyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgbWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Bcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5vdGlmaWNhdGlvbiB0YXJnZXQgZm9yIG1hdGNobWFraW5nIGV2ZW50c1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5vdGlmaWNhdGlvblRhcmdldD86IHNucy5JVG9waWM7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBnYW1lIHNlc3Npb24gcXVldWUgZGVzdGluYXRpb25zXG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IGdhbWVTZXNzaW9uUXVldWVzOiBJR2FtZVNlc3Npb25RdWV1ZVtdID0gW107XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFF1ZXVlZE1hdGNobWFraW5nQ29uZmlndXJhdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUsXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHMubWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSAmJiAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5tYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lKSkge1xuICAgICAgaWYgKHByb3BzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUubGVuZ3RoID4gMTI4KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBuYW1lIGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMTI4IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuXG4gICAgICBpZiAoIS9eW2EtekEtWjAtOS1cXC5dKyQvLnRlc3QocHJvcHMubWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNYXRjaG1ha2luZyBjb25maWd1cmF0aW9uIG5hbWUgJHtwcm9wcy5tYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lfSBjYW4gY29udGFpbiBvbmx5IGxldHRlcnMsIG51bWJlcnMsIGh5cGhlbnMsIGJhY2sgc2xhc2ggb3IgZG90IHdpdGggbm8gc3BhY2VzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5kZXNjcmlwdGlvbikpIHtcbiAgICAgIGlmIChwcm9wcy5kZXNjcmlwdGlvbi5sZW5ndGggPiAxMDI0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBkZXNjcmlwdGlvbiBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycyBidXQgaGFzICR7cHJvcHMuZGVzY3JpcHRpb24ubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5nYW1lUHJvcGVydGllcyAmJiBwcm9wcy5nYW1lUHJvcGVydGllcy5sZW5ndGggPiAxNikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgbWF4aW11bSBudW1iZXIgb2YgZ2FtZSBwcm9wZXJ0aWVzIGFsbG93ZWQgaW4gdGhlIG1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gY2Fubm90IGJlIGhpZ2hlciB0aGFuIDE2LCBnaXZlbiAke3Byb3BzLmdhbWVQcm9wZXJ0aWVzLmxlbmd0aH1gKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZ2FtZVNlc3Npb25EYXRhICYmIHByb3BzLmdhbWVTZXNzaW9uRGF0YS5sZW5ndGggPiA0MDk2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gZ2FtZSBzZXNzaW9uIGRhdGEgY2FuIG5vdCBiZSBsb25nZXIgdGhhbiA0MDk2IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLmdhbWVTZXNzaW9uRGF0YS5sZW5ndGh9IGNoYXJhY3RlcnMuYCk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmN1c3RvbUV2ZW50RGF0YSAmJiBwcm9wcy5jdXN0b21FdmVudERhdGEubGVuZ3RoID4gMjU2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gY3VzdG9tIGV2ZW50IGRhdGEgY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycyBidXQgaGFzICR7cHJvcHMuY3VzdG9tRXZlbnREYXRhLmxlbmd0aH0gY2hhcmFjdGVycy5gKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuYWNjZXB0YW5jZVRpbWVvdXQgJiYgcHJvcHMuYWNjZXB0YW5jZVRpbWVvdXQudG9TZWNvbmRzKCkgPiA2MDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBhY2NlcHRhbmNlIHRpbWVvdXQgY2FuIG5vdCBleGNlZWQgNjAwIHNlY29uZHMsIGFjdHVhbCAke3Byb3BzLmFjY2VwdGFuY2VUaW1lb3V0LnRvU2Vjb25kcygpfSBzZWNvbmRzLmApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5yZXF1ZXN0VGltZW91dCAmJiBwcm9wcy5yZXF1ZXN0VGltZW91dC50b1NlY29uZHMoKSA+IDQzMjAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gcmVxdWVzdCB0aW1lb3V0IGNhbiBub3QgZXhjZWVkIDQzMjAwIHNlY29uZHMsIGFjdHVhbCAke3Byb3BzLnJlcXVlc3RUaW1lb3V0LnRvU2Vjb25kcygpfSBzZWNvbmRzLmApO1xuICAgIH1cblxuICAgIC8vIE5vdGlmaWNhdGlvbiB0YXJnZXRcbiAgICB0aGlzLm5vdGlmaWNhdGlvblRhcmdldCA9IHByb3BzLm5vdGlmaWNhdGlvblRhcmdldDtcbiAgICBpZiAoIXRoaXMubm90aWZpY2F0aW9uVGFyZ2V0KSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblRhcmdldCA9IG5ldyBzbnMuVG9waWModGhpcywgJ1RvcGljJywge30pO1xuICAgIH1cbiAgICAvLyBCZSBzdXJlIHRvIGFkZCB0aGUgcmlnaHQgVG9waWNQb2xpY3kgdG8gZW5hYmxlIGdhbWVsaWZ0IHB1Ymxpc2ggYWN0aW9uIHRvIGdpdmVuIHRvcGljXG4gICAgY29uc3QgdG9waWNQb2xpY3kgPSBuZXcgc25zLlRvcGljUG9saWN5KHRoaXMsICdUb3BpY1BvbGljeScsIHtcbiAgICAgIHRvcGljczogW3RoaXMubm90aWZpY2F0aW9uVGFyZ2V0XSxcbiAgICB9KTtcbiAgICB0b3BpY1BvbGljeS5kb2N1bWVudC5hZGRTdGF0ZW1lbnRzKG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFsnc25zOlB1Ymxpc2gnXSxcbiAgICAgIHByaW5jaXBhbHM6IFtuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2dhbWVsaWZ0LmFtYXpvbmF3cy5jb20nKV0sXG4gICAgICByZXNvdXJjZXM6IFt0aGlzLm5vdGlmaWNhdGlvblRhcmdldC50b3BpY0Fybl0sXG4gICAgfSkpO1xuXG4gICAgLy8gQWRkIGFsbCBxdWV1ZXNcbiAgICAocHJvcHMuZ2FtZVNlc3Npb25RdWV1ZXMgfHwgW10pLmZvckVhY2godGhpcy5hZGRHYW1lU2Vzc2lvblF1ZXVlLmJpbmQodGhpcykpO1xuXG4gICAgY29uc3QgcmVzb3VyY2UgPSBuZXcgZ2FtZWxpZnQuQ2ZuTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgYWNjZXB0YW5jZVJlcXVpcmVkOiBCb29sZWFuKHByb3BzLnJlcXVpcmVBY2NlcHRhbmNlKSxcbiAgICAgIGFjY2VwdGFuY2VUaW1lb3V0U2Vjb25kczogcHJvcHMuYWNjZXB0YW5jZVRpbWVvdXQgJiYgcHJvcHMuYWNjZXB0YW5jZVRpbWVvdXQudG9TZWNvbmRzKCksXG4gICAgICBhZGRpdGlvbmFsUGxheWVyQ291bnQ6IHByb3BzLmFkZGl0aW9uYWxQbGF5ZXJDb3VudCxcbiAgICAgIGJhY2tmaWxsTW9kZTogcHJvcHMubWFudWFsQmFja2ZpbGxNb2RlID8gJ01BTlVBTCcgOiAnQVVUT01BVElDJyxcbiAgICAgIGN1c3RvbUV2ZW50RGF0YTogcHJvcHMuY3VzdG9tRXZlbnREYXRhLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgZmxleE1hdGNoTW9kZTogJ1dJVEhfUVVFVUUnLFxuICAgICAgZ2FtZVByb3BlcnRpZXM6IHRoaXMucGFyc2VHYW1lUHJvcGVydGllcyhwcm9wcyksXG4gICAgICBnYW1lU2Vzc2lvbkRhdGE6IHByb3BzLmdhbWVTZXNzaW9uRGF0YSxcbiAgICAgIGdhbWVTZXNzaW9uUXVldWVBcm5zOiBjZGsuTGF6eS5saXN0KHsgcHJvZHVjZTogKCkgPT4gdGhpcy5wYXJzZUdhbWVTZXNzaW9uUXVldWVzKCkgfSksXG4gICAgICBub3RpZmljYXRpb25UYXJnZXQ6IHRoaXMubm90aWZpY2F0aW9uVGFyZ2V0LnRvcGljQXJuLFxuICAgICAgcmVxdWVzdFRpbWVvdXRTZWNvbmRzOiBwcm9wcy5yZXF1ZXN0VGltZW91dCAmJiBwcm9wcy5yZXF1ZXN0VGltZW91dC50b1NlY29uZHMoKSB8fCBjZGsuRHVyYXRpb24uc2Vjb25kcygzMDApLnRvU2Vjb25kcygpLFxuICAgICAgcnVsZVNldE5hbWU6IHByb3BzLnJ1bGVTZXQubWF0Y2htYWtpbmdSdWxlU2V0TmFtZSxcbiAgICB9KTtcblxuICAgIHRoaXMubWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSA9IHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHJlc291cmNlLnJlZik7XG4gICAgdGhpcy5tYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Bcm4gPSBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2FtZWxpZnQnLFxuICAgICAgcmVzb3VyY2U6ICdtYXRjaG1ha2luZ2NvbmZpZ3VyYXRpb24nLFxuICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUsXG4gICAgICBhcm5Gb3JtYXQ6IGNkay5Bcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgZ2FtZSBzZXNzaW9uIHF1ZXVlIGRlc3RpbmF0aW9uIHRvIHRoZSBtYXRjaG1ha2luZyBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZ2FtZVNlc3Npb25RdWV1ZSBBIGdhbWUgc2Vzc2lvbiBxdWV1ZVxuICAgKi9cbiAgQE1ldGhvZE1ldGFkYXRhKClcbiAgcHVibGljIGFkZEdhbWVTZXNzaW9uUXVldWUoZ2FtZVNlc3Npb25RdWV1ZTogSUdhbWVTZXNzaW9uUXVldWUpIHtcbiAgICB0aGlzLmdhbWVTZXNzaW9uUXVldWVzLnB1c2goZ2FtZVNlc3Npb25RdWV1ZSk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlR2FtZVNlc3Npb25RdWV1ZXMoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5nYW1lU2Vzc2lvblF1ZXVlcyB8fCB0aGlzLmdhbWVTZXNzaW9uUXVldWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nYW1lU2Vzc2lvblF1ZXVlcy5tYXAoKHF1ZXVlKSA9PiBxdWV1ZS5nYW1lU2Vzc2lvblF1ZXVlQXJuKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VHYW1lUHJvcGVydGllcyhwcm9wczogUXVldWVkTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uUHJvcHMpOiBnYW1lbGlmdC5DZm5NYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24uR2FtZVByb3BlcnR5UHJvcGVydHlbXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFwcm9wcy5nYW1lUHJvcGVydGllcyB8fCBwcm9wcy5nYW1lUHJvcGVydGllcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BzLmdhbWVQcm9wZXJ0aWVzLm1hcChwYXJzZUdhbWVQcm9wZXJ0eSk7XG5cbiAgICBmdW5jdGlvbiBwYXJzZUdhbWVQcm9wZXJ0eShnYW1lUHJvcGVydHk6IEdhbWVQcm9wZXJ0eSk6IGdhbWVsaWZ0LkNmbk1hdGNobWFraW5nQ29uZmlndXJhdGlvbi5HYW1lUHJvcGVydHlQcm9wZXJ0eSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IGdhbWVQcm9wZXJ0eS5rZXksXG4gICAgICAgIHZhbHVlOiBnYW1lUHJvcGVydHkudmFsdWUsXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuIl19
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVldWVkLW1hdGNobWFraW5nLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJxdWV1ZWQtbWF0Y2htYWtpbmctY29uZmlndXJhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxxREFBcUQ7QUFDckQsMkNBQTJDO0FBQzNDLDJDQUEyQztBQUMzQyx3Q0FBd0M7QUFDeEMsNEVBQXVFO0FBQ3ZFLDhFQUE4RjtBQUM5RiwwRUFBMEU7QUFHMUUsMkVBQW1KO0FBcURuSjs7Ozs7Ozs7R0FRRztJQUVVLDhCQUE4Qjs0QkFEMUMsb0NBQWtCOzs7O3NCQUNpQyx3REFBNEI7Ozs7OzhDQUFwQyxTQUFRLFdBQTRCOzs7OzREQWdIN0UsaUNBQWM7MkRBS2QsaUNBQWM7K0NBZWQsSUFBQSxrQ0FBYyxHQUFFO1lBbkJqQiwyT0FBVyw0QkFBNEIsNkRBRXRDO1lBR0Qsd09BQVcsMkJBQTJCLDZEQU9yQztZQVFELDRNQUFPLG1CQUFtQiw2REFFekI7WUF2SUgsNktBK0pDOzs7OztRQTlKQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLDREQUE0RCxDQUFDO1FBRXBIOztXQUVHO1FBQ0gsTUFBTSxDQUFDLHNDQUFzQyxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLDRCQUFvQztZQUM5RyxPQUFPLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsNEJBQTRCLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1NBQy9IO1FBRUQ7O1dBRUc7UUFDSCxNQUFNLENBQUMscUNBQXFDLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsMkJBQW1DO1lBQzVHLE9BQU8sSUFBSSxDQUFDLHNDQUFzQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSwyQkFBMkIsRUFBRSxDQUFDLENBQUM7U0FDN0g7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LDRCQUE0QjtnQkFDL0MsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsbUJBQW1CO2FBQzdDLENBQUMsQ0FBQztTQUNKO1FBRUQ7Ozs7V0FJRztRQUVJLG1CQUFtQixDQUFDLGdCQUFtQzs7Ozs7Ozs7OztZQUM1RCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7U0FDL0M7UUFFTyxzQkFBc0I7WUFDNUIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNuRSxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztTQUN6RTtRQUVPLG1CQUFtQixDQUFDLEtBQTBDO1lBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUMvRCxPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO1lBRUQsT0FBTyxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBRW5ELFNBQVMsaUJBQWlCLENBQUMsWUFBMEI7Z0JBQ25ELE9BQU87b0JBQ0wsR0FBRyxFQUFFLFlBQVksQ0FBQyxHQUFHO29CQUNyQixLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUs7aUJBQzFCLENBQUM7WUFDSixDQUFDO1NBQ0Y7O1lBOUpVLHVEQUE4Qjs7Ozs7QUFBOUIsd0VBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZ2FtZWxpZnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWdhbWVsaWZ0JztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHNucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IG1lbW9pemVkR2V0dGVyIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSwgTWV0aG9kTWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBJR2FtZVNlc3Npb25RdWV1ZSB9IGZyb20gJy4vZ2FtZS1zZXNzaW9uLXF1ZXVlJztcbmltcG9ydCB7IE1hdGNobWFraW5nQ29uZmlndXJhdGlvblByb3BzLCBHYW1lUHJvcGVydHksIE1hdGNobWFraW5nQ29uZmlndXJhdGlvbkJhc2UsIElNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24gfSBmcm9tICcuL21hdGNobWFraW5nLWNvbmZpZ3VyYXRpb24nO1xuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgbmV3IHF1ZXVlZCBtYXRjaG1ha2luZyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUXVldWVkTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uUHJvcHMgZXh0ZW5kcyBNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Qcm9wcyB7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIHBsYXllciBzbG90cyBpbiBhIG1hdGNoIHRvIGtlZXAgb3BlbiBmb3IgZnV0dXJlIHBsYXllcnMuXG4gICAqIEZvciBleGFtcGxlLCBpZiB0aGUgY29uZmlndXJhdGlvbidzIHJ1bGUgc2V0IHNwZWNpZmllcyBhIG1hdGNoIGZvciBhIHNpbmdsZSAxMi1wZXJzb24gdGVhbSwgYW5kIHRoZSBhZGRpdGlvbmFsIHBsYXllciBjb3VudCBpcyBzZXQgdG8gMiwgb25seSAxMCBwbGF5ZXJzIGFyZSBzZWxlY3RlZCBmb3IgdGhlIG1hdGNoLlxuICAgKlxuICAgKiBAZGVmYXVsdCBubyBhZGRpdGlvbmFsIHBsYXllciBzbG90c1xuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbFBsYXllckNvdW50PzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbWV0aG9kIHVzZWQgdG8gYmFja2ZpbGwgZ2FtZSBzZXNzaW9ucyB0aGF0IGFyZSBjcmVhdGVkIHdpdGggdGhpcyBtYXRjaG1ha2luZyBjb25maWd1cmF0aW9uLlxuICAgKiAtIENob29zZSBtYW51YWwgd2hlbiB5b3VyIGdhbWUgbWFuYWdlcyBiYWNrZmlsbCByZXF1ZXN0cyBtYW51YWxseSBvciBkb2VzIG5vdCB1c2UgdGhlIG1hdGNoIGJhY2tmaWxsIGZlYXR1cmUuXG4gICAqIC0gT3RoZXJ3aXNlIGJhY2tmaWxsIGlzIHNldHRsZWQgdG8gYXV0b21hdGljIHRvIGhhdmUgR2FtZUxpZnQgY3JlYXRlIGEgYFN0YXJ0TWF0Y2hCYWNrZmlsbGAgcmVxdWVzdCB3aGVuZXZlciBhIGdhbWUgc2Vzc2lvbiBoYXMgb25lIG9yIG1vcmUgb3BlbiBzbG90cy5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2FtZWxpZnQvbGF0ZXN0L2ZsZXhtYXRjaGd1aWRlL21hdGNoLWJhY2tmaWxsLmh0bWxcbiAgICpcbiAgICogQGRlZmF1bHQgYXV0b21hdGljIGJhY2tmaWxsIG1vZGVcbiAgICovXG4gIHJlYWRvbmx5IG1hbnVhbEJhY2tmaWxsTW9kZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgc2V0IG9mIGN1c3RvbSBwcm9wZXJ0aWVzIGZvciBhIGdhbWUgc2Vzc2lvbiwgZm9ybWF0dGVkIGFzIGtleS12YWx1ZSBwYWlycy5cbiAgICogVGhlc2UgcHJvcGVydGllcyBhcmUgcGFzc2VkIHRvIGEgZ2FtZSBzZXJ2ZXIgcHJvY2VzcyB3aXRoIGEgcmVxdWVzdCB0byBzdGFydCBhIG5ldyBnYW1lIHNlc3Npb24uXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dhbWVsaWZ0L2xhdGVzdC9kZXZlbG9wZXJndWlkZS9nYW1lbGlmdC1zZGstc2VydmVyLWFwaS5odG1sI2dhbWVsaWZ0LXNkay1zZXJ2ZXItc3RhcnRzZXNzaW9uXG4gICAqXG4gICAqIEBkZWZhdWx0IG5vIGFkZGl0aW9uYWwgZ2FtZSBwcm9wZXJ0aWVzXG4gICAqL1xuICByZWFkb25seSBnYW1lUHJvcGVydGllcz86IEdhbWVQcm9wZXJ0eVtdO1xuXG4gIC8qKlxuICAgKiBBIHNldCBvZiBjdXN0b20gZ2FtZSBzZXNzaW9uIHByb3BlcnRpZXMsIGZvcm1hdHRlZCBhcyBhIHNpbmdsZSBzdHJpbmcgdmFsdWUuXG4gICAqIFRoaXMgZGF0YSBpcyBwYXNzZWQgdG8gYSBnYW1lIHNlcnZlciBwcm9jZXNzIHdpdGggYSByZXF1ZXN0IHRvIHN0YXJ0IGEgbmV3IGdhbWUgc2Vzc2lvbi5cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2FtZWxpZnQvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL2dhbWVsaWZ0LXNkay1zZXJ2ZXItYXBpLmh0bWwjZ2FtZWxpZnQtc2RrLXNlcnZlci1zdGFydHNlc3Npb25cbiAgICpcbiAgICogQGRlZmF1bHQgbm8gYWRkaXRpb25hbCBnYW1lIHNlc3Npb24gZGF0YVxuICAgKi9cbiAgcmVhZG9ubHkgZ2FtZVNlc3Npb25EYXRhPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBRdWV1ZXMgYXJlIHVzZWQgdG8gc3RhcnQgbmV3IEdhbWVMaWZ0LWhvc3RlZCBnYW1lIHNlc3Npb25zIGZvciBtYXRjaGVzIHRoYXQgYXJlIGNyZWF0ZWQgd2l0aCB0aGlzIG1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIFF1ZXVlcyBjYW4gYmUgbG9jYXRlZCBpbiBhbnkgUmVnaW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgZ2FtZVNlc3Npb25RdWV1ZXM6IElHYW1lU2Vzc2lvblF1ZXVlW107XG59XG5cbi8qKlxuICogQSBGbGV4TWF0Y2ggbWF0Y2htYWtlciBwcm9jZXNzIGRvZXMgdGhlIHdvcmsgb2YgYnVpbGRpbmcgYSBnYW1lIG1hdGNoLlxuICogSXQgbWFuYWdlcyB0aGUgcG9vbCBvZiBtYXRjaG1ha2luZyByZXF1ZXN0cyByZWNlaXZlZCwgZm9ybXMgdGVhbXMgZm9yIGEgbWF0Y2gsIHByb2Nlc3NlcyBhbmQgc2VsZWN0cyBwbGF5ZXJzIHRvIGZpbmQgdGhlIGJlc3QgcG9zc2libGUgcGxheWVyIGdyb3VwcywgYW5kIGluaXRpYXRlcyB0aGUgcHJvY2VzcyBvZiBwbGFjaW5nIGFuZCBzdGFydGluZyBhIGdhbWUgc2Vzc2lvbiBmb3IgdGhlIG1hdGNoLlxuICogVGhpcyB0b3BpYyBkZXNjcmliZXMgdGhlIGtleSBhc3BlY3RzIG9mIGEgbWF0Y2htYWtlciBhbmQgaG93IHRvIGNvbmZpZ3VyZSBvbmUgY3VzdG9taXplZCBmb3IgeW91ciBnYW1lLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dhbWVsaWZ0L2xhdGVzdC9mbGV4bWF0Y2hndWlkZS9tYXRjaC1jb25maWd1cmF0aW9uLmh0bWxcbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpHYW1lTGlmdDo6TWF0Y2htYWtpbmdDb25maWd1cmF0aW9uXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBRdWV1ZWRNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24gZXh0ZW5kcyBNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25CYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2FtZWxpZnQtYWxwaGEuUXVldWVkTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uJztcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIG1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gZnJvbSBpdHMgbmFtZS5cbiAgICovXG4gIHN0YXRpYyBmcm9tUXVldWVkTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZShzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBtYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lOiBzdHJpbmcpOiBJTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5mcm9tTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uQXR0cmlidXRlcyhzY29wZSwgaWQsIHsgbWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZTogbWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgbWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBmcm9tIGl0cyBBUk4uXG4gICAqL1xuICBzdGF0aWMgZnJvbVF1ZXVlZE1hdGNobWFraW5nQ29uZmlndXJhdGlvbkFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBtYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Bcm46IHN0cmluZyk6IElNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiB0aGlzLmZyb21NYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25BdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBtYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Bcm46IG1hdGNobWFraW5nQ29uZmlndXJhdGlvbkFybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbm90aWZpY2F0aW9uIHRhcmdldCBmb3IgbWF0Y2htYWtpbmcgZXZlbnRzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbm90aWZpY2F0aW9uVGFyZ2V0Pzogc25zLklUb3BpYztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGdhbWUgc2Vzc2lvbiBxdWV1ZSBkZXN0aW5hdGlvbnNcbiAgICovXG4gIHByaXZhdGUgcmVhZG9ubHkgZ2FtZVNlc3Npb25RdWV1ZXM6IElHYW1lU2Vzc2lvblF1ZXVlW10gPSBbXTtcblxuICAvKipcbiAgICogVGhlIHVuZGVybHlpbmcgQ2ZuTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uIHJlc291cmNlXG4gICAqL1xuICBwcml2YXRlIHJlc291cmNlOiBnYW1lbGlmdC5DZm5NYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFF1ZXVlZE1hdGNobWFraW5nQ29uZmlndXJhdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUsXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHMubWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSAmJiAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5tYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lKSkge1xuICAgICAgaWYgKHByb3BzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUubGVuZ3RoID4gMTI4KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBuYW1lIGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMTI4IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuXG4gICAgICBpZiAoIS9eW2EtekEtWjAtOS1cXC5dKyQvLnRlc3QocHJvcHMubWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNYXRjaG1ha2luZyBjb25maWd1cmF0aW9uIG5hbWUgJHtwcm9wcy5tYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lfSBjYW4gY29udGFpbiBvbmx5IGxldHRlcnMsIG51bWJlcnMsIGh5cGhlbnMsIGJhY2sgc2xhc2ggb3IgZG90IHdpdGggbm8gc3BhY2VzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5kZXNjcmlwdGlvbikpIHtcbiAgICAgIGlmIChwcm9wcy5kZXNjcmlwdGlvbi5sZW5ndGggPiAxMDI0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBkZXNjcmlwdGlvbiBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycyBidXQgaGFzICR7cHJvcHMuZGVzY3JpcHRpb24ubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5nYW1lUHJvcGVydGllcyAmJiBwcm9wcy5nYW1lUHJvcGVydGllcy5sZW5ndGggPiAxNikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgbWF4aW11bSBudW1iZXIgb2YgZ2FtZSBwcm9wZXJ0aWVzIGFsbG93ZWQgaW4gdGhlIG1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gY2Fubm90IGJlIGhpZ2hlciB0aGFuIDE2LCBnaXZlbiAke3Byb3BzLmdhbWVQcm9wZXJ0aWVzLmxlbmd0aH1gKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZ2FtZVNlc3Npb25EYXRhICYmIHByb3BzLmdhbWVTZXNzaW9uRGF0YS5sZW5ndGggPiA0MDk2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gZ2FtZSBzZXNzaW9uIGRhdGEgY2FuIG5vdCBiZSBsb25nZXIgdGhhbiA0MDk2IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLmdhbWVTZXNzaW9uRGF0YS5sZW5ndGh9IGNoYXJhY3RlcnMuYCk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmN1c3RvbUV2ZW50RGF0YSAmJiBwcm9wcy5jdXN0b21FdmVudERhdGEubGVuZ3RoID4gMjU2KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gY3VzdG9tIGV2ZW50IGRhdGEgY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAyNTYgY2hhcmFjdGVycyBidXQgaGFzICR7cHJvcHMuY3VzdG9tRXZlbnREYXRhLmxlbmd0aH0gY2hhcmFjdGVycy5gKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMuYWNjZXB0YW5jZVRpbWVvdXQgJiYgcHJvcHMuYWNjZXB0YW5jZVRpbWVvdXQudG9TZWNvbmRzKCkgPiA2MDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBhY2NlcHRhbmNlIHRpbWVvdXQgY2FuIG5vdCBleGNlZWQgNjAwIHNlY29uZHMsIGFjdHVhbCAke3Byb3BzLmFjY2VwdGFuY2VUaW1lb3V0LnRvU2Vjb25kcygpfSBzZWNvbmRzLmApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5yZXF1ZXN0VGltZW91dCAmJiBwcm9wcy5yZXF1ZXN0VGltZW91dC50b1NlY29uZHMoKSA+IDQzMjAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gcmVxdWVzdCB0aW1lb3V0IGNhbiBub3QgZXhjZWVkIDQzMjAwIHNlY29uZHMsIGFjdHVhbCAke3Byb3BzLnJlcXVlc3RUaW1lb3V0LnRvU2Vjb25kcygpfSBzZWNvbmRzLmApO1xuICAgIH1cblxuICAgIC8vIE5vdGlmaWNhdGlvbiB0YXJnZXRcbiAgICB0aGlzLm5vdGlmaWNhdGlvblRhcmdldCA9IHByb3BzLm5vdGlmaWNhdGlvblRhcmdldDtcbiAgICBpZiAoIXRoaXMubm90aWZpY2F0aW9uVGFyZ2V0KSB7XG4gICAgICB0aGlzLm5vdGlmaWNhdGlvblRhcmdldCA9IG5ldyBzbnMuVG9waWModGhpcywgJ1RvcGljJywge30pO1xuICAgIH1cbiAgICAvLyBCZSBzdXJlIHRvIGFkZCB0aGUgcmlnaHQgVG9waWNQb2xpY3kgdG8gZW5hYmxlIGdhbWVsaWZ0IHB1Ymxpc2ggYWN0aW9uIHRvIGdpdmVuIHRvcGljXG4gICAgY29uc3QgdG9waWNQb2xpY3kgPSBuZXcgc25zLlRvcGljUG9saWN5KHRoaXMsICdUb3BpY1BvbGljeScsIHtcbiAgICAgIHRvcGljczogW3RoaXMubm90aWZpY2F0aW9uVGFyZ2V0XSxcbiAgICB9KTtcbiAgICB0b3BpY1BvbGljeS5kb2N1bWVudC5hZGRTdGF0ZW1lbnRzKG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFsnc25zOlB1Ymxpc2gnXSxcbiAgICAgIHByaW5jaXBhbHM6IFtuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2dhbWVsaWZ0LmFtYXpvbmF3cy5jb20nKV0sXG4gICAgICByZXNvdXJjZXM6IFt0aGlzLm5vdGlmaWNhdGlvblRhcmdldC50b3BpY0Fybl0sXG4gICAgfSkpO1xuXG4gICAgLy8gQWRkIGFsbCBxdWV1ZXNcbiAgICAocHJvcHMuZ2FtZVNlc3Npb25RdWV1ZXMgfHwgW10pLmZvckVhY2godGhpcy5hZGRHYW1lU2Vzc2lvblF1ZXVlLmJpbmQodGhpcykpO1xuXG4gICAgdGhpcy5yZXNvdXJjZSA9IG5ldyBnYW1lbGlmdC5DZm5NYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24odGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogdGhpcy5waHlzaWNhbE5hbWUsXG4gICAgICBhY2NlcHRhbmNlUmVxdWlyZWQ6IEJvb2xlYW4ocHJvcHMucmVxdWlyZUFjY2VwdGFuY2UpLFxuICAgICAgYWNjZXB0YW5jZVRpbWVvdXRTZWNvbmRzOiBwcm9wcy5hY2NlcHRhbmNlVGltZW91dCAmJiBwcm9wcy5hY2NlcHRhbmNlVGltZW91dC50b1NlY29uZHMoKSxcbiAgICAgIGFkZGl0aW9uYWxQbGF5ZXJDb3VudDogcHJvcHMuYWRkaXRpb25hbFBsYXllckNvdW50LFxuICAgICAgYmFja2ZpbGxNb2RlOiBwcm9wcy5tYW51YWxCYWNrZmlsbE1vZGUgPyAnTUFOVUFMJyA6ICdBVVRPTUFUSUMnLFxuICAgICAgY3VzdG9tRXZlbnREYXRhOiBwcm9wcy5jdXN0b21FdmVudERhdGEsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBmbGV4TWF0Y2hNb2RlOiAnV0lUSF9RVUVVRScsXG4gICAgICBnYW1lUHJvcGVydGllczogdGhpcy5wYXJzZUdhbWVQcm9wZXJ0aWVzKHByb3BzKSxcbiAgICAgIGdhbWVTZXNzaW9uRGF0YTogcHJvcHMuZ2FtZVNlc3Npb25EYXRhLFxuICAgICAgZ2FtZVNlc3Npb25RdWV1ZUFybnM6IGNkay5MYXp5Lmxpc3QoeyBwcm9kdWNlOiAoKSA9PiB0aGlzLnBhcnNlR2FtZVNlc3Npb25RdWV1ZXMoKSB9KSxcbiAgICAgIG5vdGlmaWNhdGlvblRhcmdldDogdGhpcy5ub3RpZmljYXRpb25UYXJnZXQudG9waWNBcm4sXG4gICAgICByZXF1ZXN0VGltZW91dFNlY29uZHM6IHByb3BzLnJlcXVlc3RUaW1lb3V0ICYmIHByb3BzLnJlcXVlc3RUaW1lb3V0LnRvU2Vjb25kcygpIHx8IGNkay5EdXJhdGlvbi5zZWNvbmRzKDMwMCkudG9TZWNvbmRzKCksXG4gICAgICBydWxlU2V0TmFtZTogcHJvcHMucnVsZVNldC5tYXRjaG1ha2luZ1J1bGVTZXROYW1lLFxuICAgIH0pO1xuICB9XG5cbiAgQG1lbW9pemVkR2V0dGVyXG4gIHB1YmxpYyBnZXQgbWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc291cmNlTmFtZUF0dHJpYnV0ZSh0aGlzLnJlc291cmNlLnJlZik7XG4gIH1cblxuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBtYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Bcm4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gY2RrLlN0YWNrLm9mKHRoaXMpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2FtZWxpZnQnLFxuICAgICAgcmVzb3VyY2U6ICdtYXRjaG1ha2luZ2NvbmZpZ3VyYXRpb24nLFxuICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUsXG4gICAgICBhcm5Gb3JtYXQ6IGNkay5Bcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgZ2FtZSBzZXNzaW9uIHF1ZXVlIGRlc3RpbmF0aW9uIHRvIHRoZSBtYXRjaG1ha2luZyBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gZ2FtZVNlc3Npb25RdWV1ZSBBIGdhbWUgc2Vzc2lvbiBxdWV1ZVxuICAgKi9cbiAgQE1ldGhvZE1ldGFkYXRhKClcbiAgcHVibGljIGFkZEdhbWVTZXNzaW9uUXVldWUoZ2FtZVNlc3Npb25RdWV1ZTogSUdhbWVTZXNzaW9uUXVldWUpIHtcbiAgICB0aGlzLmdhbWVTZXNzaW9uUXVldWVzLnB1c2goZ2FtZVNlc3Npb25RdWV1ZSk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlR2FtZVNlc3Npb25RdWV1ZXMoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICAgIGlmICghdGhpcy5nYW1lU2Vzc2lvblF1ZXVlcyB8fCB0aGlzLmdhbWVTZXNzaW9uUXVldWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5nYW1lU2Vzc2lvblF1ZXVlcy5tYXAoKHF1ZXVlKSA9PiBxdWV1ZS5nYW1lU2Vzc2lvblF1ZXVlQXJuKTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2VHYW1lUHJvcGVydGllcyhwcm9wczogUXVldWVkTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uUHJvcHMpOiBnYW1lbGlmdC5DZm5NYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24uR2FtZVByb3BlcnR5UHJvcGVydHlbXSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFwcm9wcy5nYW1lUHJvcGVydGllcyB8fCBwcm9wcy5nYW1lUHJvcGVydGllcy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb3BzLmdhbWVQcm9wZXJ0aWVzLm1hcChwYXJzZUdhbWVQcm9wZXJ0eSk7XG5cbiAgICBmdW5jdGlvbiBwYXJzZUdhbWVQcm9wZXJ0eShnYW1lUHJvcGVydHk6IEdhbWVQcm9wZXJ0eSk6IGdhbWVsaWZ0LkNmbk1hdGNobWFraW5nQ29uZmlndXJhdGlvbi5HYW1lUHJvcGVydHlQcm9wZXJ0eSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBrZXk6IGdhbWVQcm9wZXJ0eS5rZXksXG4gICAgICAgIHZhbHVlOiBnYW1lUHJvcGVydHkudmFsdWUsXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuIl19
package/lib/script.d.ts CHANGED
@@ -122,14 +122,7 @@ export declare class Script extends ScriptBase {
122
122
  * Import an existing realtime server script from its attributes.
123
123
  */
124
124
  static fromScriptAttributes(scope: Construct, id: string, attrs: ScriptAttributes): IScript;
125
- /**
126
- * The Identifier of the realtime server script.
127
- */
128
- readonly scriptId: string;
129
- /**
130
- * The ARN of the realtime server script.
131
- */
132
- readonly scriptArn: string;
125
+ private resource;
133
126
  /**
134
127
  * The IAM role GameLift assumes to acccess server script content.
135
128
  */
@@ -139,4 +132,6 @@ export declare class Script extends ScriptBase {
139
132
  */
140
133
  readonly grantPrincipal: iam.IPrincipal;
141
134
  constructor(scope: Construct, id: string, props: ScriptProps);
135
+ get scriptId(): string;
136
+ get scriptArn(): string;
142
137
  }
package/lib/script.js CHANGED
@@ -1,4 +1,11 @@
1
1
  "use strict";
2
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
3
+ var useValue = arguments.length > 2;
4
+ for (var i = 0; i < initializers.length; i++) {
5
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
6
+ }
7
+ return useValue ? value : void 0;
8
+ };
2
9
  var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
10
  function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
11
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
@@ -26,13 +33,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
26
33
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
34
  done = true;
28
35
  };
29
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
- var useValue = arguments.length > 2;
31
- for (var i = 0; i < initializers.length; i++) {
32
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
- }
34
- return useValue ? value : void 0;
35
- };
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
37
  exports.Script = exports.ScriptBase = void 0;
38
38
  const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
@@ -40,6 +40,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
40
40
  const aws_gamelift_1 = require("aws-cdk-lib/aws-gamelift");
41
41
  const iam = require("aws-cdk-lib/aws-iam");
42
42
  const cdk = require("aws-cdk-lib/core");
43
+ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
43
44
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
44
45
  const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
45
46
  const content_1 = require("./content");
@@ -47,7 +48,7 @@ const content_1 = require("./content");
47
48
  * Base class for new and imported GameLift realtime server script.
48
49
  */
49
50
  class ScriptBase extends cdk.Resource {
50
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.ScriptBase", version: "2.235.0-alpha.0" };
51
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.ScriptBase", version: "2.236.0-alpha.0" };
51
52
  }
52
53
  exports.ScriptBase = ScriptBase;
53
54
  /**
@@ -64,15 +65,22 @@ let Script = (() => {
64
65
  let _classExtraInitializers = [];
65
66
  let _classThis;
66
67
  let _classSuper = ScriptBase;
68
+ let _instanceExtraInitializers = [];
69
+ let _get_scriptId_decorators;
70
+ let _get_scriptArn_decorators;
67
71
  var Script = class extends _classSuper {
68
72
  static { _classThis = this; }
69
73
  static {
70
74
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
75
+ _get_scriptId_decorators = [helpers_internal_1.memoizedGetter];
76
+ _get_scriptArn_decorators = [helpers_internal_1.memoizedGetter];
77
+ __esDecorate(this, null, _get_scriptId_decorators, { kind: "getter", name: "scriptId", static: false, private: false, access: { has: obj => "scriptId" in obj, get: obj => obj.scriptId }, metadata: _metadata }, null, _instanceExtraInitializers);
78
+ __esDecorate(this, null, _get_scriptArn_decorators, { kind: "getter", name: "scriptArn", static: false, private: false, access: { has: obj => "scriptArn" in obj, get: obj => obj.scriptArn }, metadata: _metadata }, null, _instanceExtraInitializers);
71
79
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
72
80
  Script = _classThis = _classDescriptor.value;
73
81
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
74
82
  }
75
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.Script", version: "2.235.0-alpha.0" };
83
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.Script", version: "2.236.0-alpha.0" };
76
84
  /** Uniquely identifies this class. */
77
85
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-gamelift-alpha.Script';
78
86
  /**
@@ -127,14 +135,7 @@ let Script = (() => {
127
135
  }
128
136
  return new Import(scope, id);
129
137
  }
130
- /**
131
- * The Identifier of the realtime server script.
132
- */
133
- scriptId;
134
- /**
135
- * The ARN of the realtime server script.
136
- */
137
- scriptArn;
138
+ resource = __runInitializers(this, _instanceExtraInitializers);
138
139
  /**
139
140
  * The IAM role GameLift assumes to acccess server script content.
140
141
  */
@@ -168,7 +169,7 @@ let Script = (() => {
168
169
  });
169
170
  this.grantPrincipal = this.role;
170
171
  const content = props.content.bind(this, this.role);
171
- const resource = new aws_gamelift_1.CfnScript(this, 'Resource', {
172
+ this.resource = new aws_gamelift_1.CfnScript(this, 'Resource', {
172
173
  name: props.scriptName,
173
174
  version: props.scriptVersion,
174
175
  storageLocation: {
@@ -178,8 +179,12 @@ let Script = (() => {
178
179
  roleArn: this.role.roleArn,
179
180
  },
180
181
  });
181
- this.scriptId = this.getResourceNameAttribute(resource.ref);
182
- this.scriptArn = this.getResourceArnAttribute(resource.attrArn, {
182
+ }
183
+ get scriptId() {
184
+ return this.getResourceNameAttribute(this.resource.ref);
185
+ }
186
+ get scriptArn() {
187
+ return this.getResourceArnAttribute(this.resource.attrArn, {
183
188
  service: 'gamelift',
184
189
  resource: `script/${this.physicalName}`,
185
190
  arnFormat: cdk.ArnFormat.COLON_RESOURCE_NAME,
@@ -209,4 +214,4 @@ function extractIdFromArn(arn) {
209
214
  const splitValue = cdk.Fn.select(5, cdk.Fn.split(':', arn));
210
215
  return cdk.Fn.select(1, cdk.Fn.split('/', splitValue));
211
216
  }
212
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJEQUFxRDtBQUNyRCwyQ0FBMkM7QUFHM0Msd0NBQXdDO0FBQ3hDLDhFQUE4RTtBQUM5RSwwRUFBMEU7QUFFMUUsdUNBQW9DO0FBMkJwQzs7R0FFRztBQUNILE1BQXNCLFVBQVcsU0FBUSxHQUFHLENBQUMsUUFBUTs7O0FBQXJELGdDQVFDO0FBaUVEOzs7Ozs7O0dBT0c7SUFFVSxNQUFNOzRCQURsQixvQ0FBa0I7Ozs7c0JBQ1MsVUFBVTtzQkFBbEIsU0FBUSxXQUFVOzs7O1lBQXRDLDZLQStHQzs7Ozs7UUE5R0Msc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyxvQ0FBb0MsQ0FBQztRQUU1Rjs7V0FFRztRQUNILE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsTUFBa0IsRUFBRSxHQUFXLEVBQUUsYUFBc0I7WUFDckcsT0FBTyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUMzQixPQUFPLEVBQUUsaUJBQU8sQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxhQUFhLENBQUM7YUFDeEQsQ0FBQyxDQUFDO1NBQ0o7UUFFRDs7V0FFRztRQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsSUFBWSxFQUFFLE9BQWdDO1lBQzNGLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDM0IsT0FBTyxFQUFFLGlCQUFPLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7YUFDMUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRDs7V0FFRztRQUNILE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsU0FBaUI7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Q0FBQyxVQUFVLENBQUMsU0FBUztvQkFDdkQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxVQUFVLElBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhO29CQUNyRSxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPO2lCQUMzQjthQUNGLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO2dCQUM5RCxPQUFPLEVBQUUsVUFBVTtnQkFDbkIsUUFBUSxFQUFFLFVBQVUsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDdkMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTLENBQUMsbUJBQW1CO2FBQzdDLENBQUMsQ0FBQztTQUNKOztZQTlHVSx1REFBTTs7Ozs7QUFBTix3QkFBTTtBQWlIbkI7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsU0FBUyxnQkFBZ0IsQ0FBQyxHQUFXO0lBQ25DLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1RCxPQUFPLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUN6RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2ZuU2NyaXB0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWdhbWVsaWZ0JztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHMzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMyc7XG5pbXBvcnQgKiBhcyBzM19hc3NldHMgZnJvbSAnYXdzLWNkay1saWIvYXdzLXMzLWFzc2V0cyc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IENvbnRlbnQgfSBmcm9tICcuL2NvbnRlbnQnO1xuXG4vKipcbiAqIFlvdXIgY29uZmlndXJhdGlvbiBhbmQgY3VzdG9tIGdhbWUgbG9naWMgZm9yIHVzZSB3aXRoIFJlYWx0aW1lIFNlcnZlcnMuXG4gKiBSZWFsdGltZSBTZXJ2ZXJzIGFyZSBwcm92aWRlZCBieSBHYW1lTGlmdCB0byB1c2UgaW5zdGVhZCBvZiBhIGN1c3RvbS1idWlsdCBnYW1lIHNlcnZlci5cbiAqIFlvdSBjb25maWd1cmUgUmVhbHRpbWUgU2VydmVycyBmb3IgeW91ciBnYW1lIGNsaWVudHMgYnkgY3JlYXRpbmcgYSBzY3JpcHQgdXNpbmcgSmF2YVNjcmlwdCxcbiAqIGFuZCBhZGQgY3VzdG9tIGdhbWUgbG9naWMgYXMgYXBwcm9wcmlhdGUgdG8gaG9zdCBnYW1lIHNlc3Npb25zIGZvciB5b3VyIHBsYXllcnMuXG4gKiBZb3UgdXBsb2FkIHRoZSBSZWFsdGltZSBzY3JpcHQgdG8gdGhlIEdhbWVMaWZ0IHNlcnZpY2UgaW4gdGhlIFJlZ2lvbnMgd2hlcmUgeW91IHBsYW4gdG8gc2V0IHVwIGZsZWV0cy5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nYW1lbGlmdC9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcmVhbHRpbWUtc2NyaXB0LXVwbG9hZGluZy5odG1sXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNjcmlwdCBleHRlbmRzIGNkay5JUmVzb3VyY2UsIGlhbS5JR3JhbnRhYmxlIHtcbiAgLyoqXG4gICAqIFRoZSBJZGVudGlmaWVyIG9mIHRoZSByZWFsdGltZSBzZXJ2ZXIgc2NyaXB0LlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBzY3JpcHRJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSByZWFsdGltZSBzZXJ2ZXIgc2NyaXB0LlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBzY3JpcHRBcm46IHN0cmluZztcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBuZXcgYW5kIGltcG9ydGVkIEdhbWVMaWZ0IHJlYWx0aW1lIHNlcnZlciBzY3JpcHQuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTY3JpcHRCYXNlIGV4dGVuZHMgY2RrLlJlc291cmNlIGltcGxlbWVudHMgSVNjcmlwdCB7XG4gIC8qKlxuICAgKiBUaGUgSWRlbnRpZmllciBvZiB0aGUgcmVhbHRpbWUgc2VydmVyIHNjcmlwdC5cbiAgICovXG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzY3JpcHRJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc2NyaXB0QXJuOiBzdHJpbmc7XG5cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IGdyYW50UHJpbmNpcGFsOiBpYW0uSVByaW5jaXBhbDtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgU2NyaXB0IGNvbnRlbnQgZGVmaW5lZCBvdXRzaWRlIG9mIHRoaXMgc3RhY2suXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2NyaXB0QXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSByZWFsdGltZSBzZXJ2ZXIgc2NyaXB0XG4gICAqL1xuICByZWFkb25seSBzY3JpcHRBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElBTSByb2xlIGFzc3VtZWQgYnkgR2FtZUxpZnQgdG8gYWNjZXNzIHNlcnZlciBzY3JpcHQgaW4gUzMuXG4gICAqIEBkZWZhdWx0IC0gdW5kZWZpbmVkXG4gICAqL1xuICByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIGEgbmV3IHJlYWx0aW1lIHNlcnZlciBzY3JpcHRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY3JpcHRQcm9wcyB7XG4gIC8qKlxuICAgKiBOYW1lIG9mIHRoaXMgcmVhbHRpbWUgc2VydmVyIHNjcmlwdFxuICAgKlxuICAgKiBAZGVmYXVsdCBObyBuYW1lXG4gICAqL1xuICByZWFkb25seSBzY3JpcHROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHRoaXMgcmVhbHRpbWUgc2VydmVyIHNjcmlwdFxuICAgKlxuICAgKiBAZGVmYXVsdCBObyB2ZXJzaW9uXG4gICAqL1xuICByZWFkb25seSBzY3JpcHRWZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZ2FtZSBjb250ZW50XG4gICAqL1xuICByZWFkb25seSBjb250ZW50OiBDb250ZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgYXNzdW1lZCBieSBHYW1lTGlmdCB0byBhY2Nlc3Mgc2VydmVyIHNjcmlwdCBpbiBTMy5cbiAgICogSWYgcHJvdmlkaW5nIGEgY3VzdG9tIHJvbGUsIGl0IG5lZWRzIHRvIHRydXN0IHRoZSBHYW1lTGlmdCBzZXJ2aWNlIHByaW5jaXBhbCAoZ2FtZWxpZnQuYW1hem9uYXdzLmNvbSkgYW5kIGJlIGdyYW50ZWQgc3VmZmljaWVudCBwZXJtaXNzaW9uc1xuICAgKiB0byBoYXZlIFJlYWQgYWNjZXNzIHRvIGEgc3BlY2lmaWMga2V5IGNvbnRlbnQgaW50byBhIHNwZWNpZmljIFMzIGJ1Y2tldC5cbiAgICogQmVsb3cgYW4gZXhhbXBsZSBvZiByZXF1aXJlZCBwZXJtaXNzaW9uOlxuICAgKiB7XG4gICAqICBcIlZlcnNpb25cIjogXCIyMDEyLTEwLTE3XCIsXG4gICAqICBcIlN0YXRlbWVudFwiOiBbe1xuICAgKiAgICAgICAgXCJFZmZlY3RcIjogXCJBbGxvd1wiLFxuICAgKiAgICAgICAgXCJBY3Rpb25cIjogW1xuICAgKiAgICAgICAgICAgIFwiczM6R2V0T2JqZWN0XCIsXG4gICAqICAgICAgICAgICAgXCJzMzpHZXRPYmplY3RWZXJzaW9uXCJcbiAgICogICAgICAgIF0sXG4gICAqICAgICAgICBcIlJlc291cmNlXCI6IFwiYXJuOmF3czpzMzo6OmJ1Y2tldC1uYW1lL29iamVjdC1uYW1lXCJcbiAgICogIH1dXG4gICAqIH1cbiAgICpcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2FtZWxpZnQvbGF0ZXN0L2RldmVsb3Blcmd1aWRlL3NlY3VyaXR5X2lhbV9pZC1iYXNlZC1wb2xpY3ktZXhhbXBsZXMuaHRtbCNzZWN1cml0eV9pYW1faWQtYmFzZWQtcG9saWN5LWV4YW1wbGVzLWFjY2Vzcy1zdG9yYWdlLWxvY1xuICAgKlxuICAgKiBAZGVmYXVsdCAtIGEgcm9sZSB3aWxsIGJlIGNyZWF0ZWQgd2l0aCBkZWZhdWx0IHBlcm1pc3Npb25zLlxuICAgKi9cbiAgcmVhZG9ubHkgcm9sZT86IGlhbS5JUm9sZTtcbn1cblxuLyoqXG4gKiBBIEdhbWVMaWZ0IHNjcmlwdCwgdGhhdCBpcyBpbnN0YWxsZWQgYW5kIHJ1bnMgb24gaW5zdGFuY2VzIGluIGFuIEFtYXpvbiBHYW1lTGlmdCBmbGVldC4gSXQgY29uc2lzdHMgb2ZcbiAqIGEgemlwIGZpbGUgd2l0aCBhbGwgb2YgdGhlIGNvbXBvbmVudHMgb2YgdGhlIHJlYWx0aW1lIGdhbWUgc2VydmVyIHNjcmlwdC5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nYW1lbGlmdC9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvcmVhbHRpbWUtc2NyaXB0LXVwbG9hZGluZy5odG1sXG4gKlxuICogQHJlc291cmNlIEFXUzo6R2FtZUxpZnQ6OlNjcmlwdFxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgU2NyaXB0IGV4dGVuZHMgU2NyaXB0QmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPSAnQGF3cy1jZGsuYXdzLWdhbWVsaWZ0LWFscGhhLlNjcmlwdCc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyByZWFsdGltZSBzZXJ2ZXIgc2NyaXB0IGZyb20gczMgY29udGVudFxuICAgKi9cbiAgc3RhdGljIGZyb21CdWNrZXQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYnVja2V0OiBzMy5JQnVja2V0LCBrZXk6IHN0cmluZywgb2JqZWN0VmVyc2lvbj86IHN0cmluZykge1xuICAgIHJldHVybiBuZXcgU2NyaXB0KHNjb3BlLCBpZCwge1xuICAgICAgY29udGVudDogQ29udGVudC5mcm9tQnVja2V0KGJ1Y2tldCwga2V5LCBvYmplY3RWZXJzaW9uKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBuZXcgcmVhbHRpbWUgc2VydmVyIHNjcmlwdCBmcm9tIGFzc2V0IGNvbnRlbnRcbiAgICovXG4gIHN0YXRpYyBmcm9tQXNzZXQoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcGF0aDogc3RyaW5nLCBvcHRpb25zPzogczNfYXNzZXRzLkFzc2V0T3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgU2NyaXB0KHNjb3BlLCBpZCwge1xuICAgICAgY29udGVudDogQ29udGVudC5mcm9tQXNzZXQocGF0aCwgb3B0aW9ucyksXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGEgc2NyaXB0IGludG8gQ0RLIHVzaW5nIGl0cyBBUk5cbiAgICovXG4gIHN0YXRpYyBmcm9tU2NyaXB0QXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHNjcmlwdEFybjogc3RyaW5nKTogSVNjcmlwdCB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbVNjcmlwdEF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IHNjcmlwdEFybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgcmVhbHRpbWUgc2VydmVyIHNjcmlwdCBmcm9tIGl0cyBhdHRyaWJ1dGVzLlxuICAgKi9cbiAgc3RhdGljIGZyb21TY3JpcHRBdHRyaWJ1dGVzKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIGF0dHJzOiBTY3JpcHRBdHRyaWJ1dGVzKTogSVNjcmlwdCB7XG4gICAgY29uc3Qgc2NyaXB0QXJuID0gYXR0cnMuc2NyaXB0QXJuO1xuICAgIGNvbnN0IHNjcmlwdElkID0gZXh0cmFjdElkRnJvbUFybihhdHRycy5zY3JpcHRBcm4pO1xuICAgIGNvbnN0IHJvbGUgPSBhdHRycy5yb2xlO1xuXG4gICAgY2xhc3MgSW1wb3J0IGV4dGVuZHMgU2NyaXB0QmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgc2NyaXB0QXJuID0gc2NyaXB0QXJuO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHNjcmlwdElkID0gc2NyaXB0SWQ7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZ3JhbnRQcmluY2lwYWw6aWFtLklQcmluY2lwYWw7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgcm9sZSA9IHJvbGU7XG5cbiAgICAgIGNvbnN0cnVjdG9yKHM6IENvbnN0cnVjdCwgaTogc3RyaW5nKSB7XG4gICAgICAgIHN1cGVyKHMsIGksIHtcbiAgICAgICAgICBlbnZpcm9ubWVudEZyb21Bcm46IHNjcmlwdEFybixcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ncmFudFByaW5jaXBhbCA9IHRoaXMucm9sZSB8fCBuZXcgaWFtLlVua25vd25QcmluY2lwYWwoeyByZXNvdXJjZTogdGhpcyB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBJZGVudGlmaWVyIG9mIHRoZSByZWFsdGltZSBzZXJ2ZXIgc2NyaXB0LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjcmlwdElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHJlYWx0aW1lIHNlcnZlciBzY3JpcHQuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NyaXB0QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSBHYW1lTGlmdCBhc3N1bWVzIHRvIGFjY2Nlc3Mgc2VydmVyIHNjcmlwdCBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVGhlIHByaW5jaXBhbCB0aGlzIEdhbWVMaWZ0IHNjcmlwdCBpcyB1c2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBncmFudFByaW5jaXBhbDogaWFtLklQcmluY2lwYWw7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNjcmlwdFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLnNjcmlwdE5hbWUsXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHMuc2NyaXB0TmFtZSAmJiAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5zY3JpcHROYW1lKSkge1xuICAgICAgaWYgKHByb3BzLnNjcmlwdE5hbWUubGVuZ3RoID4gMTAyNCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNjcmlwdCBuYW1lIGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMTAyNCBjaGFyYWN0ZXJzIGJ1dCBoYXMgJHtwcm9wcy5zY3JpcHROYW1lLmxlbmd0aH0gY2hhcmFjdGVycy5gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5yb2xlID0gcHJvcHMucm9sZSA/PyBuZXcgaWFtLlJvbGUodGhpcywgJ1NlcnZpY2VSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2dhbWVsaWZ0LmFtYXpvbmF3cy5jb20nKSxcbiAgICB9KTtcbiAgICB0aGlzLmdyYW50UHJpbmNpcGFsID0gdGhpcy5yb2xlO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBwcm9wcy5jb250ZW50LmJpbmQodGhpcywgdGhpcy5yb2xlKTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IENmblNjcmlwdCh0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiBwcm9wcy5zY3JpcHROYW1lLFxuICAgICAgdmVyc2lvbjogcHJvcHMuc2NyaXB0VmVyc2lvbixcbiAgICAgIHN0b3JhZ2VMb2NhdGlvbjoge1xuICAgICAgICBidWNrZXQ6IGNvbnRlbnQuczNMb2NhdGlvbiAmJiBjb250ZW50LnMzTG9jYXRpb24uYnVja2V0TmFtZSxcbiAgICAgICAga2V5OiBjb250ZW50LnMzTG9jYXRpb24gJiYgY29udGVudC5zM0xvY2F0aW9uLm9iamVjdEtleSxcbiAgICAgICAgb2JqZWN0VmVyc2lvbjogY29udGVudC5zM0xvY2F0aW9uICYmIGNvbnRlbnQuczNMb2NhdGlvbi5vYmplY3RWZXJzaW9uLFxuICAgICAgICByb2xlQXJuOiB0aGlzLnJvbGUucm9sZUFybixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICB0aGlzLnNjcmlwdElkID0gdGhpcy5nZXRSZXNvdXJjZU5hbWVBdHRyaWJ1dGUocmVzb3VyY2UucmVmKTtcbiAgICB0aGlzLnNjcmlwdEFybiA9IHRoaXMuZ2V0UmVzb3VyY2VBcm5BdHRyaWJ1dGUocmVzb3VyY2UuYXR0ckFybiwge1xuICAgICAgc2VydmljZTogJ2dhbWVsaWZ0JyxcbiAgICAgIHJlc291cmNlOiBgc2NyaXB0LyR7dGhpcy5waHlzaWNhbE5hbWV9YCxcbiAgICAgIGFybkZvcm1hdDogY2RrLkFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogR2l2ZW4gYW4gb3BhcXVlICh0b2tlbikgQVJOLCByZXR1cm5zIGEgQ2xvdWRGb3JtYXRpb24gZXhwcmVzc2lvbiB0aGF0IGV4dHJhY3RzIHRoZSBzY3JpcHRcbiAqIGlkZW50aWZpZXIgZnJvbSB0aGUgQVJOLlxuICpcbiAqIFNjcmlwdCBBUk5zIGxvb2sgbGlrZSB0aGlzOlxuICpcbiAqICAgYXJuOmF3czpnYW1lbGlmdDpyZWdpb246YWNjb3VudC1pZDpzY3JpcHQvc2NyaXB0LWlkZW50aWZpZXJcbiAqXG4gKiAuLndoaWNoIG1lYW5zIHRoYXQgaW4gb3JkZXIgdG8gZXh0cmFjdCB0aGUgYHNjcmlwdC1pZGVudGlmaWVyYCBjb21wb25lbnQgZnJvbSB0aGUgQVJOLCB3ZSBjYW5cbiAqIHNwbGl0IHRoZSBBUk4gdXNpbmcgXCI6XCIgYW5kIHNlbGVjdCB0aGUgY29tcG9uZW50IGluIGluZGV4IDUgdGhlbiBzcGxpdCB1c2luZyBcIi9cIiBhbmQgc2VsZWN0IHRoZSBjb21wb25lbnQgaW4gaW5kZXggMS5cbiAqXG4gKiBAcmV0dXJucyB0aGUgc2NyaXB0IGlkZW50aWZpZXIgZnJvbSBoaXMgQVJOXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RJZEZyb21Bcm4oYXJuOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3BsaXRWYWx1ZSA9IGNkay5Gbi5zZWxlY3QoNSwgY2RrLkZuLnNwbGl0KCc6JywgYXJuKSk7XG4gIHJldHVybiBjZGsuRm4uc2VsZWN0KDEsIGNkay5Gbi5zcGxpdCgnLycsIHNwbGl0VmFsdWUpKTtcbn1cbiJdfQ==
217
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyaXB0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic2NyaXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJEQUFxRDtBQUNyRCwyQ0FBMkM7QUFHM0Msd0NBQXdDO0FBQ3hDLDRFQUF1RTtBQUN2RSw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLHVDQUFvQztBQTJCcEM7O0dBRUc7QUFDSCxNQUFzQixVQUFXLFNBQVEsR0FBRyxDQUFDLFFBQVE7OztBQUFyRCxnQ0FRQztBQWlFRDs7Ozs7OztHQU9HO0lBRVUsTUFBTTs0QkFEbEIsb0NBQWtCOzs7O3NCQUNTLFVBQVU7Ozs7c0JBQWxCLFNBQVEsV0FBVTs7Ozt3Q0FpR25DLGlDQUFjO3lDQUtkLGlDQUFjO1lBSmYsK0tBQVcsUUFBUSw2REFFbEI7WUFHRCxrTEFBVyxTQUFTLDZEQU1uQjtZQTdHSCw2S0E4R0M7Ozs7O1FBN0dDLHNDQUFzQztRQUMvQixNQUFNLENBQVUscUJBQXFCLEdBQVcsb0NBQW9DLENBQUM7UUFFNUY7O1dBRUc7UUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLE1BQWtCLEVBQUUsR0FBVyxFQUFFLGFBQXNCO1lBQ3JHLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDM0IsT0FBTyxFQUFFLGlCQUFPLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxHQUFHLEVBQUUsYUFBYSxDQUFDO2FBQ3hELENBQUMsQ0FBQztTQUNKO1FBRUQ7O1dBRUc7UUFDSCxNQUFNLENBQUMsU0FBUyxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLElBQVksRUFBRSxPQUFnQztZQUMzRixPQUFPLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUU7Z0JBQzNCLE9BQU8sRUFBRSxpQkFBTyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxD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YW1lbGlmdCc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgKiBhcyBzMyBmcm9tICdhd3MtY2RrLWxpYi9hd3MtczMnO1xuaW1wb3J0ICogYXMgczNfYXNzZXRzIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zMy1hc3NldHMnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgbWVtb2l6ZWRHZXR0ZXIgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgQ29udGVudCB9IGZyb20gJy4vY29udGVudCc7XG5cbi8qKlxuICogWW91ciBjb25maWd1cmF0aW9uIGFuZCBjdXN0b20gZ2FtZSBsb2dpYyBmb3IgdXNlIHdpdGggUmVhbHRpbWUgU2VydmVycy5cbiAqIFJlYWx0aW1lIFNlcnZlcnMgYXJlIHByb3ZpZGVkIGJ5IEdhbWVMaWZ0IHRvIHVzZSBpbnN0ZWFkIG9mIGEgY3VzdG9tLWJ1aWx0IGdhbWUgc2VydmVyLlxuICogWW91IGNvbmZpZ3VyZSBSZWFsdGltZSBTZXJ2ZXJzIGZvciB5b3VyIGdhbWUgY2xpZW50cyBieSBjcmVhdGluZyBhIHNjcmlwdCB1c2luZyBKYXZhU2NyaXB0LFxuICogYW5kIGFkZCBjdXN0b20gZ2FtZSBsb2dpYyBhcyBhcHByb3ByaWF0ZSB0byBob3N0IGdhbWUgc2Vzc2lvbnMgZm9yIHlvdXIgcGxheWVycy5cbiAqIFlvdSB1cGxvYWQgdGhlIFJlYWx0aW1lIHNjcmlwdCB0byB0aGUgR2FtZUxpZnQgc2VydmljZSBpbiB0aGUgUmVnaW9ucyB3aGVyZSB5b3UgcGxhbiB0byBzZXQgdXAgZmxlZXRzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dhbWVsaWZ0L2xhdGVzdC9kZXZlbG9wZXJndWlkZS9yZWFsdGltZS1zY3JpcHQtdXBsb2FkaW5nLmh0bWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU2NyaXB0IGV4dGVuZHMgY2RrLklSZXNvdXJjZSwgaWFtLklHcmFudGFibGUge1xuICAvKipcbiAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIHJlYWx0aW1lIHNlcnZlciBzY3JpcHQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHNjcmlwdElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHJlYWx0aW1lIHNlcnZlciBzY3JpcHQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHNjcmlwdEFybjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIG5ldyBhbmQgaW1wb3J0ZWQgR2FtZUxpZnQgcmVhbHRpbWUgc2VydmVyIHNjcmlwdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFNjcmlwdEJhc2UgZXh0ZW5kcyBjZGsuUmVzb3VyY2UgaW1wbGVtZW50cyBJU2NyaXB0IHtcbiAgLyoqXG4gICAqIFRoZSBJZGVudGlmaWVyIG9mIHRoZSByZWFsdGltZSBzZXJ2ZXIgc2NyaXB0LlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHJlYWRvbmx5IHNjcmlwdElkOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBzY3JpcHRBcm46IHN0cmluZztcblxuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZ3JhbnRQcmluY2lwYWw6IGlhbS5JUHJpbmNpcGFsO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBTY3JpcHQgY29udGVudCBkZWZpbmVkIG91dHNpZGUgb2YgdGhpcyBzdGFjay5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTY3JpcHRBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIHJlYWx0aW1lIHNlcnZlciBzY3JpcHRcbiAgICovXG4gIHJlYWRvbmx5IHNjcmlwdEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgYXNzdW1lZCBieSBHYW1lTGlmdCB0byBhY2Nlc3Mgc2VydmVyIHNjcmlwdCBpbiBTMy5cbiAgICogQGRlZmF1bHQgLSB1bmRlZmluZWRcbiAgICovXG4gIHJlYWRvbmx5IHJvbGU/OiBpYW0uSVJvbGU7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBuZXcgcmVhbHRpbWUgc2VydmVyIHNjcmlwdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjcmlwdFByb3BzIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhpcyByZWFsdGltZSBzZXJ2ZXIgc2NyaXB0XG4gICAqXG4gICAqIEBkZWZhdWx0IE5vIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IHNjcmlwdE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFZlcnNpb24gb2YgdGhpcyByZWFsdGltZSBzZXJ2ZXIgc2NyaXB0XG4gICAqXG4gICAqIEBkZWZhdWx0IE5vIHZlcnNpb25cbiAgICovXG4gIHJlYWRvbmx5IHNjcmlwdFZlcnNpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBnYW1lIGNvbnRlbnRcbiAgICovXG4gIHJlYWRvbmx5IGNvbnRlbnQ6IENvbnRlbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSBhc3N1bWVkIGJ5IEdhbWVMaWZ0IHRvIGFjY2VzcyBzZXJ2ZXIgc2NyaXB0IGluIFMzLlxuICAgKiBJZiBwcm92aWRpbmcgYSBjdXN0b20gcm9sZSwgaXQgbmVlZHMgdG8gdHJ1c3QgdGhlIEdhbWVMaWZ0IHNlcnZpY2UgcHJpbmNpcGFsIChnYW1lbGlmdC5hbWF6b25hd3MuY29tKSBhbmQgYmUgZ3JhbnRlZCBzdWZmaWNpZW50IHBlcm1pc3Npb25zXG4gICAqIHRvIGhhdmUgUmVhZCBhY2Nlc3MgdG8gYSBzcGVjaWZpYyBrZXkgY29udGVudCBpbnRvIGEgc3BlY2lmaWMgUzMgYnVja2V0LlxuICAgKiBCZWxvdyBhbiBleGFtcGxlIG9mIHJlcXVpcmVkIHBlcm1pc3Npb246XG4gICAqIHtcbiAgICogIFwiVmVyc2lvblwiOiBcIjIwMTItMTAtMTdcIixcbiAgICogIFwiU3RhdGVtZW50XCI6IFt7XG4gICAqICAgICAgICBcIkVmZmVjdFwiOiBcIkFsbG93XCIsXG4gICAqICAgICAgICBcIkFjdGlvblwiOiBbXG4gICAqICAgICAgICAgICAgXCJzMzpHZXRPYmplY3RcIixcbiAgICogICAgICAgICAgICBcInMzOkdldE9iamVjdFZlcnNpb25cIlxuICAgKiAgICAgICAgXSxcbiAgICogICAgICAgIFwiUmVzb3VyY2VcIjogXCJhcm46YXdzOnMzOjo6YnVja2V0LW5hbWUvb2JqZWN0LW5hbWVcIlxuICAgKiAgfV1cbiAgICogfVxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nYW1lbGlmdC9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvc2VjdXJpdHlfaWFtX2lkLWJhc2VkLXBvbGljeS1leGFtcGxlcy5odG1sI3NlY3VyaXR5X2lhbV9pZC1iYXNlZC1wb2xpY3ktZXhhbXBsZXMtYWNjZXNzLXN0b3JhZ2UtbG9jXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYSByb2xlIHdpbGwgYmUgY3JlYXRlZCB3aXRoIGRlZmF1bHQgcGVybWlzc2lvbnMuXG4gICAqL1xuICByZWFkb25seSByb2xlPzogaWFtLklSb2xlO1xufVxuXG4vKipcbiAqIEEgR2FtZUxpZnQgc2NyaXB0LCB0aGF0IGlzIGluc3RhbGxlZCBhbmQgcnVucyBvbiBpbnN0YW5jZXMgaW4gYW4gQW1hem9uIEdhbWVMaWZ0IGZsZWV0LiBJdCBjb25zaXN0cyBvZlxuICogYSB6aXAgZmlsZSB3aXRoIGFsbCBvZiB0aGUgY29tcG9uZW50cyBvZiB0aGUgcmVhbHRpbWUgZ2FtZSBzZXJ2ZXIgc2NyaXB0LlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2dhbWVsaWZ0L2xhdGVzdC9kZXZlbG9wZXJndWlkZS9yZWFsdGltZS1zY3JpcHQtdXBsb2FkaW5nLmh0bWxcbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpHYW1lTGlmdDo6U2NyaXB0XG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBTY3JpcHQgZXh0ZW5kcyBTY3JpcHRCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2FtZWxpZnQtYWxwaGEuU2NyaXB0JztcblxuICAvKipcbiAgICogQ3JlYXRlIGEgbmV3IHJlYWx0aW1lIHNlcnZlciBzY3JpcHQgZnJvbSBzMyBjb250ZW50XG4gICAqL1xuICBzdGF0aWMgZnJvbUJ1Y2tldChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBidWNrZXQ6IHMzLklCdWNrZXQsIGtleTogc3RyaW5nLCBvYmplY3RWZXJzaW9uPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5ldyBTY3JpcHQoc2NvcGUsIGlkLCB7XG4gICAgICBjb250ZW50OiBDb250ZW50LmZyb21CdWNrZXQoYnVja2V0LCBrZXksIG9iamVjdFZlcnNpb24pLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIG5ldyByZWFsdGltZSBzZXJ2ZXIgc2NyaXB0IGZyb20gYXNzZXQgY29udGVudFxuICAgKi9cbiAgc3RhdGljIGZyb21Bc3NldChzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIG9wdGlvbnM/OiBzM19hc3NldHMuQXNzZXRPcHRpb25zKSB7XG4gICAgcmV0dXJuIG5ldyBTY3JpcHQoc2NvcGUsIGlkLCB7XG4gICAgICBjb250ZW50OiBDb250ZW50LmZyb21Bc3NldChwYXRoLCBvcHRpb25zKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYSBzY3JpcHQgaW50byBDREsgdXNpbmcgaXRzIEFSTlxuICAgKi9cbiAgc3RhdGljIGZyb21TY3JpcHRBcm4oc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgc2NyaXB0QXJuOiBzdHJpbmcpOiBJU2NyaXB0IHtcbiAgICByZXR1cm4gdGhpcy5mcm9tU2NyaXB0QXR0cmlidXRlcyhzY29wZSwgaWQsIHsgc2NyaXB0QXJuIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyByZWFsdGltZSBzZXJ2ZXIgc2NyaXB0IGZyb20gaXRzIGF0dHJpYnV0ZXMuXG4gICAqL1xuICBzdGF0aWMgZnJvbVNjcmlwdEF0dHJpYnV0ZXMoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgYXR0cnM6IFNjcmlwdEF0dHJpYnV0ZXMpOiBJU2NyaXB0IHtcbiAgICBjb25zdCBzY3JpcHRBcm4gPSBhdHRycy5zY3JpcHRBcm47XG4gICAgY29uc3Qgc2NyaXB0SWQgPSBleHRyYWN0SWRGcm9tQXJuKGF0dHJzLnNjcmlwdEFybik7XG4gICAgY29uc3Qgcm9sZSA9IGF0dHJzLnJvbGU7XG5cbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBTY3JpcHRCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBzY3JpcHRBcm4gPSBzY3JpcHRBcm47XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgc2NyaXB0SWQgPSBzY3JpcHRJZDtcbiAgICAgIHB1YmxpYyByZWFkb25seSBncmFudFByaW5jaXBhbDppYW0uSVByaW5jaXBhbDtcbiAgICAgIHB1YmxpYyByZWFkb25seSByb2xlID0gcm9sZTtcblxuICAgICAgY29uc3RydWN0b3IoczogQ29uc3RydWN0LCBpOiBzdHJpbmcpIHtcbiAgICAgICAgc3VwZXIocywgaSwge1xuICAgICAgICAgIGVudmlyb25tZW50RnJvbUFybjogc2NyaXB0QXJuLFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmdyYW50UHJpbmNpcGFsID0gdGhpcy5yb2xlIHx8IG5ldyBpYW0uVW5rbm93blByaW5jaXBhbCh7IHJlc291cmNlOiB0aGlzIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW1wb3J0KHNjb3BlLCBpZCk7XG4gIH1cblxuICBwcml2YXRlIHJlc291cmNlOiBDZm5TY3JpcHQ7XG5cbiAgLyoqXG4gICAqIFRoZSBJQU0gcm9sZSBHYW1lTGlmdCBhc3N1bWVzIHRvIGFjY2Nlc3Mgc2VydmVyIHNjcmlwdCBjb250ZW50LlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHJvbGU6IGlhbS5JUm9sZTtcblxuICAvKipcbiAgICogVGhlIHByaW5jaXBhbCB0aGlzIEdhbWVMaWZ0IHNjcmlwdCBpcyB1c2luZy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBncmFudFByaW5jaXBhbDogaWFtLklQcmluY2lwYWw7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFNjcmlwdFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLnNjcmlwdE5hbWUsXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHMuc2NyaXB0TmFtZSAmJiAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5zY3JpcHROYW1lKSkge1xuICAgICAgaWYgKHByb3BzLnNjcmlwdE5hbWUubGVuZ3RoID4gMTAyNCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFNjcmlwdCBuYW1lIGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMTAyNCBjaGFyYWN0ZXJzIGJ1dCBoYXMgJHtwcm9wcy5zY3JpcHROYW1lLmxlbmd0aH0gY2hhcmFjdGVycy5gKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5yb2xlID0gcHJvcHMucm9sZSA/PyBuZXcgaWFtLlJvbGUodGhpcywgJ1NlcnZpY2VSb2xlJywge1xuICAgICAgYXNzdW1lZEJ5OiBuZXcgaWFtLlNlcnZpY2VQcmluY2lwYWwoJ2dhbWVsaWZ0LmFtYXpvbmF3cy5jb20nKSxcbiAgICB9KTtcbiAgICB0aGlzLmdyYW50UHJpbmNpcGFsID0gdGhpcy5yb2xlO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBwcm9wcy5jb250ZW50LmJpbmQodGhpcywgdGhpcy5yb2xlKTtcblxuICAgIHRoaXMucmVzb3VyY2UgPSBuZXcgQ2ZuU2NyaXB0KHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHByb3BzLnNjcmlwdE5hbWUsXG4gICAgICB2ZXJzaW9uOiBwcm9wcy5zY3JpcHRWZXJzaW9uLFxuICAgICAgc3RvcmFnZUxvY2F0aW9uOiB7XG4gICAgICAgIGJ1Y2tldDogY29udGVudC5zM0xvY2F0aW9uICYmIGNvbnRlbnQuczNMb2NhdGlvbi5idWNrZXROYW1lLFxuICAgICAgICBrZXk6IGNvbnRlbnQuczNMb2NhdGlvbiAmJiBjb250ZW50LnMzTG9jYXRpb24ub2JqZWN0S2V5LFxuICAgICAgICBvYmplY3RWZXJzaW9uOiBjb250ZW50LnMzTG9jYXRpb24gJiYgY29udGVudC5zM0xvY2F0aW9uLm9iamVjdFZlcnNpb24sXG4gICAgICAgIHJvbGVBcm46IHRoaXMucm9sZS5yb2xlQXJuLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IHNjcmlwdElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHRoaXMucmVzb3VyY2UucmVmKTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IHNjcmlwdEFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldFJlc291cmNlQXJuQXR0cmlidXRlKHRoaXMucmVzb3VyY2UuYXR0ckFybiwge1xuICAgICAgc2VydmljZTogJ2dhbWVsaWZ0JyxcbiAgICAgIHJlc291cmNlOiBgc2NyaXB0LyR7dGhpcy5waHlzaWNhbE5hbWV9YCxcbiAgICAgIGFybkZvcm1hdDogY2RrLkFybkZvcm1hdC5DT0xPTl9SRVNPVVJDRV9OQU1FLFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogR2l2ZW4gYW4gb3BhcXVlICh0b2tlbikgQVJOLCByZXR1cm5zIGEgQ2xvdWRGb3JtYXRpb24gZXhwcmVzc2lvbiB0aGF0IGV4dHJhY3RzIHRoZSBzY3JpcHRcbiAqIGlkZW50aWZpZXIgZnJvbSB0aGUgQVJOLlxuICpcbiAqIFNjcmlwdCBBUk5zIGxvb2sgbGlrZSB0aGlzOlxuICpcbiAqICAgYXJuOmF3czpnYW1lbGlmdDpyZWdpb246YWNjb3VudC1pZDpzY3JpcHQvc2NyaXB0LWlkZW50aWZpZXJcbiAqXG4gKiAuLndoaWNoIG1lYW5zIHRoYXQgaW4gb3JkZXIgdG8gZXh0cmFjdCB0aGUgYHNjcmlwdC1pZGVudGlmaWVyYCBjb21wb25lbnQgZnJvbSB0aGUgQVJOLCB3ZSBjYW5cbiAqIHNwbGl0IHRoZSBBUk4gdXNpbmcgXCI6XCIgYW5kIHNlbGVjdCB0aGUgY29tcG9uZW50IGluIGluZGV4IDUgdGhlbiBzcGxpdCB1c2luZyBcIi9cIiBhbmQgc2VsZWN0IHRoZSBjb21wb25lbnQgaW4gaW5kZXggMS5cbiAqXG4gKiBAcmV0dXJucyB0aGUgc2NyaXB0IGlkZW50aWZpZXIgZnJvbSBoaXMgQVJOXG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RJZEZyb21Bcm4oYXJuOiBzdHJpbmcpIHtcbiAgY29uc3Qgc3BsaXRWYWx1ZSA9IGNkay5Gbi5zZWxlY3QoNSwgY2RrLkZuLnNwbGl0KCc6JywgYXJuKSk7XG4gIHJldHVybiBjZGsuRm4uc2VsZWN0KDEsIGNkay5Gbi5zcGxpdCgnLycsIHNwbGl0VmFsdWUpKTtcbn1cbiJdfQ==
@@ -26,17 +26,12 @@ export declare class StandaloneMatchmakingConfiguration extends MatchmakingConfi
26
26
  * Import an existing matchmaking configuration from its ARN.
27
27
  */
28
28
  static fromStandaloneMatchmakingConfigurationArn(scope: Construct, id: string, matchmakingConfigurationArn: string): IMatchmakingConfiguration;
29
- /**
30
- * The Identifier of the matchmaking configuration.
31
- */
32
- readonly matchmakingConfigurationName: string;
33
- /**
34
- * The ARN of the matchmaking configuration.
35
- */
36
- readonly matchmakingConfigurationArn: string;
37
29
  /**
38
30
  * The notification target for matchmaking events
39
31
  */
40
32
  readonly notificationTarget?: sns.ITopic;
33
+ private resource;
41
34
  constructor(scope: Construct, id: string, props: StandaloneMatchmakingConfigurationProps);
35
+ get matchmakingConfigurationName(): string;
36
+ get matchmakingConfigurationArn(): string;
42
37
  }
@@ -1,4 +1,11 @@
1
1
  "use strict";
2
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
3
+ var useValue = arguments.length > 2;
4
+ for (var i = 0; i < initializers.length; i++) {
5
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
6
+ }
7
+ return useValue ? value : void 0;
8
+ };
2
9
  var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
3
10
  function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
4
11
  var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
@@ -26,13 +33,6 @@ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn,
26
33
  if (target) Object.defineProperty(target, contextIn.name, descriptor);
27
34
  done = true;
28
35
  };
29
- var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
30
- var useValue = arguments.length > 2;
31
- for (var i = 0; i < initializers.length; i++) {
32
- value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
33
- }
34
- return useValue ? value : void 0;
35
- };
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
37
  exports.StandaloneMatchmakingConfiguration = void 0;
38
38
  const jsiiDeprecationWarnings = require("../.warnings.jsii.js");
@@ -41,6 +41,7 @@ const gamelift = require("aws-cdk-lib/aws-gamelift");
41
41
  const iam = require("aws-cdk-lib/aws-iam");
42
42
  const sns = require("aws-cdk-lib/aws-sns");
43
43
  const cdk = require("aws-cdk-lib/core");
44
+ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
44
45
  const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
45
46
  const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
46
47
  const matchmaking_configuration_1 = require("./matchmaking-configuration");
@@ -59,15 +60,22 @@ let StandaloneMatchmakingConfiguration = (() => {
59
60
  let _classExtraInitializers = [];
60
61
  let _classThis;
61
62
  let _classSuper = matchmaking_configuration_1.MatchmakingConfigurationBase;
63
+ let _instanceExtraInitializers = [];
64
+ let _get_matchmakingConfigurationName_decorators;
65
+ let _get_matchmakingConfigurationArn_decorators;
62
66
  var StandaloneMatchmakingConfiguration = class extends _classSuper {
63
67
  static { _classThis = this; }
64
68
  static {
65
69
  const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
70
+ _get_matchmakingConfigurationName_decorators = [helpers_internal_1.memoizedGetter];
71
+ _get_matchmakingConfigurationArn_decorators = [helpers_internal_1.memoizedGetter];
72
+ __esDecorate(this, null, _get_matchmakingConfigurationName_decorators, { kind: "getter", name: "matchmakingConfigurationName", static: false, private: false, access: { has: obj => "matchmakingConfigurationName" in obj, get: obj => obj.matchmakingConfigurationName }, metadata: _metadata }, null, _instanceExtraInitializers);
73
+ __esDecorate(this, null, _get_matchmakingConfigurationArn_decorators, { kind: "getter", name: "matchmakingConfigurationArn", static: false, private: false, access: { has: obj => "matchmakingConfigurationArn" in obj, get: obj => obj.matchmakingConfigurationArn }, metadata: _metadata }, null, _instanceExtraInitializers);
66
74
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
67
75
  StandaloneMatchmakingConfiguration = _classThis = _classDescriptor.value;
68
76
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
69
77
  }
70
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.StandaloneMatchmakingConfiguration", version: "2.235.0-alpha.0" };
78
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-gamelift-alpha.StandaloneMatchmakingConfiguration", version: "2.236.0-alpha.0" };
71
79
  /** Uniquely identifies this class. */
72
80
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-gamelift-alpha.StandaloneMatchmakingConfiguration';
73
81
  /**
@@ -82,18 +90,11 @@ let StandaloneMatchmakingConfiguration = (() => {
82
90
  static fromStandaloneMatchmakingConfigurationArn(scope, id, matchmakingConfigurationArn) {
83
91
  return this.fromMatchmakingConfigurationAttributes(scope, id, { matchmakingConfigurationArn });
84
92
  }
85
- /**
86
- * The Identifier of the matchmaking configuration.
87
- */
88
- matchmakingConfigurationName;
89
- /**
90
- * The ARN of the matchmaking configuration.
91
- */
92
- matchmakingConfigurationArn;
93
93
  /**
94
94
  * The notification target for matchmaking events
95
95
  */
96
- notificationTarget;
96
+ notificationTarget = __runInitializers(this, _instanceExtraInitializers);
97
+ resource;
97
98
  constructor(scope, id, props) {
98
99
  super(scope, id, {
99
100
  physicalName: props.matchmakingConfigurationName,
@@ -156,8 +157,13 @@ let StandaloneMatchmakingConfiguration = (() => {
156
157
  requestTimeoutSeconds: props.requestTimeout && props.requestTimeout.toSeconds() || cdk.Duration.seconds(300).toSeconds(),
157
158
  ruleSetName: props.ruleSet.matchmakingRuleSetName,
158
159
  });
159
- this.matchmakingConfigurationName = this.getResourceNameAttribute(resource.ref);
160
- this.matchmakingConfigurationArn = cdk.Stack.of(scope).formatArn({
160
+ this.resource = resource;
161
+ }
162
+ get matchmakingConfigurationName() {
163
+ return this.getResourceNameAttribute(this.resource.ref);
164
+ }
165
+ get matchmakingConfigurationArn() {
166
+ return cdk.Stack.of(this).formatArn({
161
167
  service: 'gamelift',
162
168
  resource: 'matchmakingconfiguration',
163
169
  resourceName: this.matchmakingConfigurationName,
@@ -171,4 +177,4 @@ let StandaloneMatchmakingConfiguration = (() => {
171
177
  return StandaloneMatchmakingConfiguration = _classThis;
172
178
  })();
173
179
  exports.StandaloneMatchmakingConfiguration = StandaloneMatchmakingConfiguration;
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhbG9uZS1tYXRjaG1ha2luZy1jb25maWd1cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhbG9uZS1tYXRjaG1ha2luZy1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFxRDtBQUNyRCwyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBQzNDLHdDQUF3QztBQUN4Qyw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLDJFQUFxSTtBQU9ySTs7Ozs7Ozs7R0FRRztJQUVVLGtDQUFrQzs0QkFEOUMsb0NBQWtCOzs7O3NCQUNxQyx3REFBNEI7a0RBQXBDLFNBQVEsV0FBNEI7Ozs7WUFBcEYsNktBdUdDOzs7OztRQXRHQyxzQ0FBc0M7UUFDL0IsTUFBTSxDQUFVLHFCQUFxQixHQUFXLGdFQUFnRSxDQUFDO1FBRXhIOztXQUVHO1FBQ0gsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLDRCQUFvQztZQUNsSCxPQUFPLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsNEJBQTRCLEVBQUUsQ0FBQyxDQUFDO1NBQ2pHO1FBRUQ7O1dBRUc7UUFDSCxNQUFNLENBQUMseUNBQXlDLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsMkJBQW1DO1lBQ2hILE9BQU8sSUFBSSxDQUFDLHNDQUFzQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSwyQkFBMkIsRUFBRSxDQUFDLENBQUM7U0FDaEc7UUFFRDs7V0FFRztRQUNhLDRCQUE0QixDQUFTO1FBRXJEOztXQUVHO1FBQ2EsMkJBQTJCLENBQVM7UUFFcEQ7O1dBRUc7UUFDYSxrQkFBa0IsQ0FBYztRQUVoRCxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQThDO1lBQ3RGLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFF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QyxDQUFDLENBQUM7U0FDSjs7WUF0R1UsdURBQWtDOzs7OztBQUFsQyxnRkFBa0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBnYW1lbGlmdCBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZ2FtZWxpZnQnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0ICogYXMgc25zIGZyb20gJ2F3cy1jZGstbGliL2F3cy1zbnMnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Qcm9wcywgTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uQmFzZSwgSU1hdGNobWFraW5nQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vbWF0Y2htYWtpbmctY29uZmlndXJhdGlvbic7XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgYSBuZXcgc3RhbmRhbG9uZSBtYXRjaG1ha2luZyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhbG9uZU1hdGNobWFraW5nQ29uZmlndXJhdGlvblByb3BzIGV4dGVuZHMgTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uUHJvcHMge31cblxuLyoqXG4gKiBBIEZsZXhNYXRjaCBtYXRjaG1ha2VyIHByb2Nlc3MgZG9lcyB0aGUgd29yayBvZiBidWlsZGluZyBhIGdhbWUgbWF0Y2guXG4gKiBJdCBtYW5hZ2VzIHRoZSBwb29sIG9mIG1hdGNobWFraW5nIHJlcXVlc3RzIHJlY2VpdmVkLCBmb3JtcyB0ZWFtcyBmb3IgYSBtYXRjaCwgcHJvY2Vzc2VzIGFuZCBzZWxlY3RzIHBsYXllcnMgdG8gZmluZCB0aGUgYmVzdCBwb3NzaWJsZSBwbGF5ZXIgZ3JvdXBzLCBhbmQgaW5pdGlhdGVzIHRoZSBwcm9jZXNzIG9mIHBsYWNpbmcgYW5kIHN0YXJ0aW5nIGEgZ2FtZSBzZXNzaW9uIGZvciB0aGUgbWF0Y2guXG4gKiBUaGlzIHRvcGljIGRlc2NyaWJlcyB0aGUga2V5IGFzcGVjdHMgb2YgYSBtYXRjaG1ha2VyIGFuZCBob3cgdG8gY29uZmlndXJlIG9uZSBjdXN0b21pemVkIGZvciB5b3VyIGdhbWUuXG4gKlxuICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZ2FtZWxpZnQvbGF0ZXN0L2ZsZXhtYXRjaGd1aWRlL21hdGNoLWNvbmZpZ3VyYXRpb24uaHRtbFxuICpcbiAqIEByZXNvdXJjZSBBV1M6OkdhbWVMaWZ0OjpNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25cbiAqL1xuQHByb3BlcnR5SW5qZWN0YWJsZVxuZXhwb3J0IGNsYXNzIFN0YW5kYWxvbmVNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24gZXh0ZW5kcyBNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25CYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtZ2FtZWxpZnQtYWxwaGEuU3RhbmRhbG9uZU1hdGNobWFraW5nQ29uZmlndXJhdGlvbic7XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBtYXRjaG1ha2luZyBjb25maWd1cmF0aW9uIGZyb20gaXRzIG5hbWUuXG4gICAqL1xuICBzdGF0aWMgZnJvbVN0YW5kYWxvbmVNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWU6IHN0cmluZyk6IElNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiB0aGlzLmZyb21NYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25BdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBtYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBtYXRjaG1ha2luZyBjb25maWd1cmF0aW9uIGZyb20gaXRzIEFSTi5cbiAgICovXG4gIHN0YXRpYyBmcm9tU3RhbmRhbG9uZU1hdGNobWFraW5nQ29uZmlndXJhdGlvbkFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBtYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Bcm46IHN0cmluZyk6IElNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiB0aGlzLmZyb21NYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25BdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyBtYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Bcm4gfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIElkZW50aWZpZXIgb2YgdGhlIG1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBtYXRjaG1ha2luZyBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1hdGNobWFraW5nQ29uZmlndXJhdGlvbkFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbm90aWZpY2F0aW9uIHRhcmdldCBmb3IgbWF0Y2htYWtpbmcgZXZlbnRzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbm90aWZpY2F0aW9uVGFyZ2V0Pzogc25zLklUb3BpYztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogU3RhbmRhbG9uZU1hdGNobWFraW5nQ29uZmlndXJhdGlvblByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkLCB7XG4gICAgICBwaHlzaWNhbE5hbWU6IHByb3BzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUsXG4gICAgfSk7XG4gICAgLy8gRW5oYW5jZWQgQ0RLIEFuYWx5dGljcyBUZWxlbWV0cnlcbiAgICBhZGRDb25zdHJ1Y3RNZXRhZGF0YSh0aGlzLCBwcm9wcyk7XG5cbiAgICBpZiAocHJvcHMubWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSAmJiAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5tYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lKSkge1xuICAgICAgaWYgKHByb3BzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUubGVuZ3RoID4gMTI4KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBuYW1lIGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMTI4IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuXG4gICAgICBpZiAoIS9eW2EtekEtWjAtOS1cXC5dKyQvLnRlc3QocHJvcHMubWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBNYXRjaG1ha2luZyBjb25maWd1cmF0aW9uIG5hbWUgJHtwcm9wcy5tYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lfSBjYW4gY29udGFpbiBvbmx5IGxldHRlcnMsIG51bWJlcnMsIGh5cGhlbnMsIGJhY2sgc2xhc2ggb3IgZG90IHdpdGggbm8gc3BhY2VzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5kZXNjcmlwdGlvbiAmJiAhY2RrLlRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5kZXNjcmlwdGlvbikpIHtcbiAgICAgIGlmIChwcm9wcy5kZXNjcmlwdGlvbi5sZW5ndGggPiAxMDI0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBkZXNjcmlwdGlvbiBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycyBidXQgaGFzICR7cHJvcHMuZGVzY3JpcHRpb24ubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChwcm9wcy5jdXN0b21FdmVudERhdGEgJiYgcHJvcHMuY3VzdG9tRXZlbnREYXRhLmxlbmd0aCA+IDI1Nikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNYXRjaG1ha2luZyBjb25maWd1cmF0aW9uIGN1c3RvbSBldmVudCBkYXRhIGNhbiBub3QgYmUgbG9uZ2VyIHRoYW4gMjU2IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLmN1c3RvbUV2ZW50RGF0YS5sZW5ndGh9IGNoYXJhY3RlcnMuYCk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLmFjY2VwdGFuY2VUaW1lb3V0ICYmIHByb3BzLmFjY2VwdGFuY2VUaW1lb3V0LnRvU2Vjb25kcygpID4gNjAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gYWNjZXB0YW5jZSB0aW1lb3V0IGNhbiBub3QgZXhjZWVkIDYwMCBzZWNvbmRzLCBhY3R1YWwgJHtwcm9wcy5hY2NlcHRhbmNlVGltZW91dC50b1NlY29uZHMoKX0gc2Vjb25kcy5gKTtcbiAgICB9XG5cbiAgICBpZiAocHJvcHMucmVxdWVzdFRpbWVvdXQgJiYgcHJvcHMucmVxdWVzdFRpbWVvdXQudG9TZWNvbmRzKCkgPiA0MzIwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNYXRjaG1ha2luZyBjb25maWd1cmF0aW9uIHJlcXVlc3QgdGltZW91dCBjYW4gbm90IGV4Y2VlZCA0MzIwMCBzZWNvbmRzLCBhY3R1YWwgJHtwcm9wcy5yZXF1ZXN0VGltZW91dC50b1NlY29uZHMoKX0gc2Vjb25kcy5gKTtcbiAgICB9XG5cbiAgICAvLyBOb3RpZmljYXRpb24gdGFyZ2V0XG4gICAgdGhpcy5ub3RpZmljYXRpb25UYXJnZXQgPSBwcm9wcy5ub3RpZmljYXRpb25UYXJnZXQ7XG4gICAgaWYgKCF0aGlzLm5vdGlmaWNhdGlvblRhcmdldCkge1xuICAgICAgdGhpcy5ub3RpZmljYXRpb25UYXJnZXQgPSBuZXcgc25zLlRvcGljKHRoaXMsICdUb3BpYycsIHt9KTtcbiAgICB9XG4gICAgLy8gQmUgc3VyZSB0byBhZGQgdGhlIHJpZ2h0IFRvcGljUG9saWN5IHRvIGVuYWJsZSBnYW1lbGlmdCBwdWJsaXNoIGFjdGlvbiB0byBnaXZlbiB0b3BpY1xuICAgIGNvbnN0IHRvcGljUG9saWN5ID0gbmV3IHNucy5Ub3BpY1BvbGljeSh0aGlzLCAnVG9waWNQb2xpY3knLCB7XG4gICAgICB0b3BpY3M6IFt0aGlzLm5vdGlmaWNhdGlvblRhcmdldF0sXG4gICAgfSk7XG4gICAgdG9waWNQb2xpY3kuZG9jdW1lbnQuYWRkU3RhdGVtZW50cyhuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbJ3NuczpQdWJsaXNoJ10sXG4gICAgICBwcmluY2lwYWxzOiBbbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdnYW1lbGlmdC5hbWF6b25hd3MuY29tJyldLFxuICAgICAgcmVzb3VyY2VzOiBbdGhpcy5ub3RpZmljYXRpb25UYXJnZXQudG9waWNBcm5dLFxuICAgIH0pKTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IGdhbWVsaWZ0LkNmbk1hdGNobWFraW5nQ29uZmlndXJhdGlvbih0aGlzLCAnUmVzb3VyY2UnLCB7XG4gICAgICBuYW1lOiB0aGlzLnBoeXNpY2FsTmFtZSxcbiAgICAgIGFjY2VwdGFuY2VSZXF1aXJlZDogQm9vbGVhbihwcm9wcy5yZXF1aXJlQWNjZXB0YW5jZSksXG4gICAgICBhY2NlcHRhbmNlVGltZW91dFNlY29uZHM6IHByb3BzLmFjY2VwdGFuY2VUaW1lb3V0ICYmIHByb3BzLmFjY2VwdGFuY2VUaW1lb3V0LnRvU2Vjb25kcygpLFxuICAgICAgY3VzdG9tRXZlbnREYXRhOiBwcm9wcy5jdXN0b21FdmVudERhdGEsXG4gICAgICBkZXNjcmlwdGlvbjogcHJvcHMuZGVzY3JpcHRpb24sXG4gICAgICBmbGV4TWF0Y2hNb2RlOiAnU1RBTkRBTE9ORScsXG4gICAgICBub3RpZmljYXRpb25UYXJnZXQ6IHRoaXMubm90aWZpY2F0aW9uVGFyZ2V0LnRvcGljQXJuLFxuICAgICAgcmVxdWVzdFRpbWVvdXRTZWNvbmRzOiBwcm9wcy5yZXF1ZXN0VGltZW91dCAmJiBwcm9wcy5yZXF1ZXN0VGltZW91dC50b1NlY29uZHMoKSB8fCBjZGsuRHVyYXRpb24uc2Vjb25kcygzMDApLnRvU2Vjb25kcygpLFxuICAgICAgcnVsZVNldE5hbWU6IHByb3BzLnJ1bGVTZXQubWF0Y2htYWtpbmdSdWxlU2V0TmFtZSxcbiAgICB9KTtcblxuICAgIHRoaXMubWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSA9IHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHJlc291cmNlLnJlZik7XG4gICAgdGhpcy5tYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Bcm4gPSBjZGsuU3RhY2sub2Yoc2NvcGUpLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnZ2FtZWxpZnQnLFxuICAgICAgcmVzb3VyY2U6ICdtYXRjaG1ha2luZ2NvbmZpZ3VyYXRpb24nLFxuICAgICAgcmVzb3VyY2VOYW1lOiB0aGlzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUsXG4gICAgICBhcm5Gb3JtYXQ6IGNkay5Bcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSxcbiAgICB9KTtcbiAgfVxufVxuIl19
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhbG9uZS1tYXRjaG1ha2luZy1jb25maWd1cmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3RhbmRhbG9uZS1tYXRjaG1ha2luZy1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFxRDtBQUNyRCwyQ0FBMkM7QUFDM0MsMkNBQTJDO0FBQzNDLHdDQUF3QztBQUN4Qyw0RUFBdUU7QUFDdkUsOEVBQThFO0FBQzlFLDBFQUEwRTtBQUUxRSwyRUFBcUk7QUFPckk7Ozs7Ozs7O0dBUUc7SUFFVSxrQ0FBa0M7NEJBRDlDLG9DQUFrQjs7OztzQkFDcUMsd0RBQTRCOzs7O2tEQUFwQyxTQUFRLFdBQTRCOzs7OzREQTBGakYsaUNBQWM7MkRBS2QsaUNBQWM7WUFKZiwyT0FBVyw0QkFBNEIsNkRBRXRDO1lBR0Qsd09BQVcsMkJBQTJCLDZEQU9yQztZQXZHSCw2S0F3R0M7Ozs7O1FBdkdDLHNDQUFzQztRQUMvQixNQUFNLENBQVUscUJBQXFCLEdBQVcsZ0VBQWdFLENBQUM7UUFFeEg7O1dBRUc7UUFDSCxNQUFNLENBQUMsMENBQTBDLENBQUMsS0FBZ0IsRUFBRSxFQUFVLEVBQUUsNEJBQW9DO1lBQ2xILE9BQU8sSUFBSSxDQUFDLHNDQUFzQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSw0QkFBNEIsRUFBRSxDQUFDLENBQUM7U0FDakc7UUFFRDs7V0FFRztRQUNILE1BQU0sQ0FBQyx5Q0FBeUMsQ0FBQyxLQUFnQixFQUFFLEVBQVUsRUFBRSwyQkFBbUM7WUFDaEgsT0FBTyxJQUFJLENBQUMsc0NBQXNDLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLDJCQUEyQixFQUFFLENBQUMsQ0FBQztTQUNoRztRQUVEOztXQUVHO1FBQ2Esa0JBQWtCLEdBckJ2QixtREFBa0MsQ0FxQkc7UUFFeEMsUUFBUSxDQUF1QztRQUV2RCxZ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bEMsT0FBTyxFQUFFLFVBQVU7Z0JBQ25CLFFBQVEsRUFBRSwwQkFBMEI7Z0JBQ3BDLFlBQVksRUFBRSxJQUFJLENBQUMsNEJBQTRCO2dCQUMvQyxTQUFTLEVBQUUsR0FBRyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUI7YUFDN0MsQ0FBQyxDQUFDO1NBQ0o7O1lBdkdVLHVEQUFrQzs7Ozs7QUFBbEMsZ0ZBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZ2FtZWxpZnQgZnJvbSAnYXdzLWNkay1saWIvYXdzLWdhbWVsaWZ0JztcbmltcG9ydCAqIGFzIGlhbSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCAqIGFzIHNucyBmcm9tICdhd3MtY2RrLWxpYi9hd3Mtc25zJztcbmltcG9ydCAqIGFzIGNkayBmcm9tICdhd3MtY2RrLWxpYi9jb3JlJztcbmltcG9ydCB7IG1lbW9pemVkR2V0dGVyIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgeyBhZGRDb25zdHJ1Y3RNZXRhZGF0YSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL21ldGFkYXRhLXJlc291cmNlJztcbmltcG9ydCB7IHByb3BlcnR5SW5qZWN0YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL3Byb3AtaW5qZWN0YWJsZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IE1hdGNobWFraW5nQ29uZmlndXJhdGlvblByb3BzLCBNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25CYXNlLCBJTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9tYXRjaG1ha2luZy1jb25maWd1cmF0aW9uJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBhIG5ldyBzdGFuZGFsb25lIG1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGFuZGFsb25lTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uUHJvcHMgZXh0ZW5kcyBNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Qcm9wcyB7fVxuXG4vKipcbiAqIEEgRmxleE1hdGNoIG1hdGNobWFrZXIgcHJvY2VzcyBkb2VzIHRoZSB3b3JrIG9mIGJ1aWxkaW5nIGEgZ2FtZSBtYXRjaC5cbiAqIEl0IG1hbmFnZXMgdGhlIHBvb2wgb2YgbWF0Y2htYWtpbmcgcmVxdWVzdHMgcmVjZWl2ZWQsIGZvcm1zIHRlYW1zIGZvciBhIG1hdGNoLCBwcm9jZXNzZXMgYW5kIHNlbGVjdHMgcGxheWVycyB0byBmaW5kIHRoZSBiZXN0IHBvc3NpYmxlIHBsYXllciBncm91cHMsIGFuZCBpbml0aWF0ZXMgdGhlIHByb2Nlc3Mgb2YgcGxhY2luZyBhbmQgc3RhcnRpbmcgYSBnYW1lIHNlc3Npb24gZm9yIHRoZSBtYXRjaC5cbiAqIFRoaXMgdG9waWMgZGVzY3JpYmVzIHRoZSBrZXkgYXNwZWN0cyBvZiBhIG1hdGNobWFrZXIgYW5kIGhvdyB0byBjb25maWd1cmUgb25lIGN1c3RvbWl6ZWQgZm9yIHlvdXIgZ2FtZS5cbiAqXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9nYW1lbGlmdC9sYXRlc3QvZmxleG1hdGNoZ3VpZGUvbWF0Y2gtY29uZmlndXJhdGlvbi5odG1sXG4gKlxuICogQHJlc291cmNlIEFXUzo6R2FtZUxpZnQ6Ok1hdGNobWFraW5nQ29uZmlndXJhdGlvblxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgU3RhbmRhbG9uZU1hdGNobWFraW5nQ29uZmlndXJhdGlvbiBleHRlbmRzIE1hdGNobWFraW5nQ29uZmlndXJhdGlvbkJhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1nYW1lbGlmdC1hbHBoYS5TdGFuZGFsb25lTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uJztcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIG1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gZnJvbSBpdHMgbmFtZS5cbiAgICovXG4gIHN0YXRpYyBmcm9tU3RhbmRhbG9uZU1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUoc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgbWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZTogc3RyaW5nKTogSU1hdGNobWFraW5nQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbU1hdGNobWFraW5nQ29uZmlndXJhdGlvbkF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IG1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIG1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gZnJvbSBpdHMgQVJOLlxuICAgKi9cbiAgc3RhdGljIGZyb21TdGFuZGFsb25lTWF0Y2htYWtpbmdDb25maWd1cmF0aW9uQXJuKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIG1hdGNobWFraW5nQ29uZmlndXJhdGlvbkFybjogc3RyaW5nKTogSU1hdGNobWFraW5nQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZnJvbU1hdGNobWFraW5nQ29uZmlndXJhdGlvbkF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7IG1hdGNobWFraW5nQ29uZmlndXJhdGlvbkFybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbm90aWZpY2F0aW9uIHRhcmdldCBmb3IgbWF0Y2htYWtpbmcgZXZlbnRzXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbm90aWZpY2F0aW9uVGFyZ2V0Pzogc25zLklUb3BpYztcblxuICBwcml2YXRlIHJlc291cmNlOiBnYW1lbGlmdC5DZm5NYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb247XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFN0YW5kYWxvbmVNYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25Qcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5tYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lLFxuICAgIH0pO1xuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgaWYgKHByb3BzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUgJiYgIWNkay5Ub2tlbi5pc1VucmVzb2x2ZWQocHJvcHMubWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5tYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lLmxlbmd0aCA+IDEyOCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gbmFtZSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDEyOCBjaGFyYWN0ZXJzIGJ1dCBoYXMgJHtwcm9wcy5tYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lLmxlbmd0aH0gY2hhcmFjdGVycy5gKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCEvXlthLXpBLVowLTktXFwuXSskLy50ZXN0KHByb3BzLm1hdGNobWFraW5nQ29uZmlndXJhdGlvbk5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBuYW1lICR7cHJvcHMubWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZX0gY2FuIGNvbnRhaW4gb25seSBsZXR0ZXJzLCBudW1iZXJzLCBoeXBoZW5zLCBiYWNrIHNsYXNoIG9yIGRvdCB3aXRoIG5vIHNwYWNlcy5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24gJiYgIWNkay5Ub2tlbi5pc1VucmVzb2x2ZWQocHJvcHMuZGVzY3JpcHRpb24pKSB7XG4gICAgICBpZiAocHJvcHMuZGVzY3JpcHRpb24ubGVuZ3RoID4gMTAyNCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hdGNobWFraW5nIGNvbmZpZ3VyYXRpb24gZGVzY3JpcHRpb24gY2FuIG5vdCBiZSBsb25nZXIgdGhhbiAxMDI0IGNoYXJhY3RlcnMgYnV0IGhhcyAke3Byb3BzLmRlc2NyaXB0aW9uLmxlbmd0aH0gY2hhcmFjdGVycy5gKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAocHJvcHMuY3VzdG9tRXZlbnREYXRhICYmIHByb3BzLmN1c3RvbUV2ZW50RGF0YS5sZW5ndGggPiAyNTYpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiBjdXN0b20gZXZlbnQgZGF0YSBjYW4gbm90IGJlIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzIGJ1dCBoYXMgJHtwcm9wcy5jdXN0b21FdmVudERhdGEubGVuZ3RofSBjaGFyYWN0ZXJzLmApO1xuICAgIH1cblxuICAgIGlmIChwcm9wcy5hY2NlcHRhbmNlVGltZW91dCAmJiBwcm9wcy5hY2NlcHRhbmNlVGltZW91dC50b1NlY29uZHMoKSA+IDYwMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNYXRjaG1ha2luZyBjb25maWd1cmF0aW9uIGFjY2VwdGFuY2UgdGltZW91dCBjYW4gbm90IGV4Y2VlZCA2MDAgc2Vjb25kcywgYWN0dWFsICR7cHJvcHMuYWNjZXB0YW5jZVRpbWVvdXQudG9TZWNvbmRzKCl9IHNlY29uZHMuYCk7XG4gICAgfVxuXG4gICAgaWYgKHByb3BzLnJlcXVlc3RUaW1lb3V0ICYmIHByb3BzLnJlcXVlc3RUaW1lb3V0LnRvU2Vjb25kcygpID4gNDMyMDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWF0Y2htYWtpbmcgY29uZmlndXJhdGlvbiByZXF1ZXN0IHRpbWVvdXQgY2FuIG5vdCBleGNlZWQgNDMyMDAgc2Vjb25kcywgYWN0dWFsICR7cHJvcHMucmVxdWVzdFRpbWVvdXQudG9TZWNvbmRzKCl9IHNlY29uZHMuYCk7XG4gICAgfVxuXG4gICAgLy8gTm90aWZpY2F0aW9uIHRhcmdldFxuICAgIHRoaXMubm90aWZpY2F0aW9uVGFyZ2V0ID0gcHJvcHMubm90aWZpY2F0aW9uVGFyZ2V0O1xuICAgIGlmICghdGhpcy5ub3RpZmljYXRpb25UYXJnZXQpIHtcbiAgICAgIHRoaXMubm90aWZpY2F0aW9uVGFyZ2V0ID0gbmV3IHNucy5Ub3BpYyh0aGlzLCAnVG9waWMnLCB7fSk7XG4gICAgfVxuICAgIC8vIEJlIHN1cmUgdG8gYWRkIHRoZSByaWdodCBUb3BpY1BvbGljeSB0byBlbmFibGUgZ2FtZWxpZnQgcHVibGlzaCBhY3Rpb24gdG8gZ2l2ZW4gdG9waWNcbiAgICBjb25zdCB0b3BpY1BvbGljeSA9IG5ldyBzbnMuVG9waWNQb2xpY3kodGhpcywgJ1RvcGljUG9saWN5Jywge1xuICAgICAgdG9waWNzOiBbdGhpcy5ub3RpZmljYXRpb25UYXJnZXRdLFxuICAgIH0pO1xuICAgIHRvcGljUG9saWN5LmRvY3VtZW50LmFkZFN0YXRlbWVudHMobmV3IGlhbS5Qb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgYWN0aW9uczogWydzbnM6UHVibGlzaCddLFxuICAgICAgcHJpbmNpcGFsczogW25ldyBpYW0uU2VydmljZVByaW5jaXBhbCgnZ2FtZWxpZnQuYW1hem9uYXdzLmNvbScpXSxcbiAgICAgIHJlc291cmNlczogW3RoaXMubm90aWZpY2F0aW9uVGFyZ2V0LnRvcGljQXJuXSxcbiAgICB9KSk7XG5cbiAgICBjb25zdCByZXNvdXJjZSA9IG5ldyBnYW1lbGlmdC5DZm5NYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb24odGhpcywgJ1Jlc291cmNlJywge1xuICAgICAgbmFtZTogdGhpcy5waHlzaWNhbE5hbWUsXG4gICAgICBhY2NlcHRhbmNlUmVxdWlyZWQ6IEJvb2xlYW4ocHJvcHMucmVxdWlyZUFjY2VwdGFuY2UpLFxuICAgICAgYWNjZXB0YW5jZVRpbWVvdXRTZWNvbmRzOiBwcm9wcy5hY2NlcHRhbmNlVGltZW91dCAmJiBwcm9wcy5hY2NlcHRhbmNlVGltZW91dC50b1NlY29uZHMoKSxcbiAgICAgIGN1c3RvbUV2ZW50RGF0YTogcHJvcHMuY3VzdG9tRXZlbnREYXRhLFxuICAgICAgZGVzY3JpcHRpb246IHByb3BzLmRlc2NyaXB0aW9uLFxuICAgICAgZmxleE1hdGNoTW9kZTogJ1NUQU5EQUxPTkUnLFxuICAgICAgbm90aWZpY2F0aW9uVGFyZ2V0OiB0aGlzLm5vdGlmaWNhdGlvblRhcmdldC50b3BpY0FybixcbiAgICAgIHJlcXVlc3RUaW1lb3V0U2Vjb25kczogcHJvcHMucmVxdWVzdFRpbWVvdXQgJiYgcHJvcHMucmVxdWVzdFRpbWVvdXQudG9TZWNvbmRzKCkgfHwgY2RrLkR1cmF0aW9uLnNlY29uZHMoMzAwKS50b1NlY29uZHMoKSxcbiAgICAgIHJ1bGVTZXROYW1lOiBwcm9wcy5ydWxlU2V0Lm1hdGNobWFraW5nUnVsZVNldE5hbWUsXG4gICAgfSk7XG5cbiAgICB0aGlzLnJlc291cmNlID0gcmVzb3VyY2U7XG4gIH1cblxuICBAbWVtb2l6ZWRHZXR0ZXJcbiAgcHVibGljIGdldCBtYXRjaG1ha2luZ0NvbmZpZ3VyYXRpb25OYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVzb3VyY2VOYW1lQXR0cmlidXRlKHRoaXMucmVzb3VyY2UucmVmKTtcbiAgfVxuXG4gIEBtZW1vaXplZEdldHRlclxuICBwdWJsaWMgZ2V0IG1hdGNobWFraW5nQ29uZmlndXJhdGlvbkFybigpOiBzdHJpbmcge1xuICAgIHJldHVybiBjZGsuU3RhY2sub2YodGhpcykuZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdnYW1lbGlmdCcsXG4gICAgICByZXNvdXJjZTogJ21hdGNobWFraW5nY29uZmlndXJhdGlvbicsXG4gICAgICByZXNvdXJjZU5hbWU6IHRoaXMubWF0Y2htYWtpbmdDb25maWd1cmF0aW9uTmFtZSxcbiAgICAgIGFybkZvcm1hdDogY2RrLkFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-gamelift-alpha",
3
- "version": "2.235.0-alpha.0",
3
+ "version": "2.236.0-alpha.0",
4
4
  "private": false,
5
5
  "description": "The CDK Construct Library for AWS::GameLift",
6
6
  "main": "lib/index.js",
@@ -82,19 +82,19 @@
82
82
  },
83
83
  "license": "Apache-2.0",
84
84
  "devDependencies": {
85
- "@aws-cdk/cdk-build-tools": "2.235.0-alpha.0",
86
- "@aws-cdk/integ-runner": "^2.193.4",
87
- "@aws-cdk/pkglint": "2.235.0-alpha.0",
85
+ "@aws-cdk/cdk-build-tools": "2.236.0-alpha.0",
86
+ "@aws-cdk/integ-runner": "^2.193.5",
87
+ "@aws-cdk/pkglint": "2.236.0-alpha.0",
88
88
  "@types/jest": "^29.5.14",
89
89
  "jest": "^29.7.0",
90
- "aws-cdk-lib": "2.235.0",
90
+ "aws-cdk-lib": "2.236.0",
91
91
  "constructs": "^10.0.0",
92
- "@aws-cdk/integ-tests-alpha": "2.235.0-alpha.0"
92
+ "@aws-cdk/integ-tests-alpha": "2.236.0-alpha.0"
93
93
  },
94
94
  "dependencies": {},
95
95
  "homepage": "https://github.com/aws/aws-cdk",
96
96
  "peerDependencies": {
97
- "aws-cdk-lib": "^2.235.0",
97
+ "aws-cdk-lib": "^2.236.0",
98
98
  "constructs": "^10.0.0"
99
99
  },
100
100
  "engines": {