@aws-cdk/aws-mediaconnect-alpha 2.263.0-alpha.0 → 2.264.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.
@@ -1,6 +1,7 @@
1
1
  import type { IResource } from 'aws-cdk-lib';
2
+ import { Resource } from 'aws-cdk-lib';
2
3
  import type { ISecurityGroup, ISubnet } from 'aws-cdk-lib/aws-ec2';
3
- import type { IRouterNetworkInterfaceRef } from 'aws-cdk-lib/aws-mediaconnect';
4
+ import type { IRouterNetworkInterfaceRef, RouterNetworkInterfaceReference } from 'aws-cdk-lib/aws-mediaconnect';
4
5
  import type { Construct } from 'constructs';
5
6
  /**
6
7
  * Interface for Router Network Interface
@@ -45,7 +46,7 @@ export interface RouterNetworkInterfaceProps {
45
46
  */
46
47
  readonly configuration: RouterNetworkConfiguration;
47
48
  /**
48
- * The AWS Region where the router network interface will be created.
49
+ * Select a region for your router network interface.
49
50
  *
50
51
  * @default - Same region as the stack
51
52
  */
@@ -78,8 +79,12 @@ export interface RouterNetworkInterfaceAttributes {
78
79
  * Properties for public network configuration
79
80
  */
80
81
  export interface PublicNetworkConfigurationProps {
81
- /** CIDR blocks allowed to access the network interface */
82
- readonly cidr: string[];
82
+ /**
83
+ * CIDR blocks allowed to send inbound traffic to the network interface.
84
+ *
85
+ * @default - no inbound allowed (outbound only)
86
+ */
87
+ readonly cidr?: string[];
83
88
  }
84
89
  /**
85
90
  * Properties for VPC network configuration
@@ -99,7 +104,7 @@ export declare class RouterNetworkConfiguration {
99
104
  * @param props Public network configuration properties
100
105
  * @returns RouterNetworkConfiguration instance for public setup
101
106
  */
102
- static publicNetwork(props: PublicNetworkConfigurationProps): RouterNetworkConfiguration;
107
+ static publicNetwork(props?: PublicNetworkConfigurationProps): RouterNetworkConfiguration;
103
108
  /**
104
109
  * Create a VPC network configuration
105
110
  * @param props VPC network configuration properties
@@ -110,6 +115,16 @@ export declare class RouterNetworkConfiguration {
110
115
  private readonly _publicCidrs?;
111
116
  private constructor();
112
117
  }
118
+ /**
119
+ * Shared base for both real and imported router network interfaces.
120
+ */
121
+ declare abstract class RouterNetworkInterfaceBase extends Resource implements IRouterNetworkInterface {
122
+ abstract readonly routerNetworkInterfaceArn: string;
123
+ abstract readonly routerNetworkInterfaceId: string;
124
+ abstract readonly createdAt?: string;
125
+ abstract readonly updatedAt?: string;
126
+ get routerNetworkInterfaceRef(): RouterNetworkInterfaceReference;
127
+ }
113
128
  /**
114
129
  * Defines a AWS Elemental MediaConnect Router Network Interface
115
130
  */
@@ -151,3 +166,4 @@ export declare class RouterNetworkInterface extends RouterNetworkInterfaceBase {
151
166
  readonly updatedAt?: string;
152
167
  constructor(scope: Construct, id: string, props: RouterNetworkInterfaceProps);
153
168
  }
169
+ export {};
@@ -47,13 +47,13 @@ const shared_1 = require("./shared");
47
47
  * Factory class for creating Router Network configurations
48
48
  */
49
49
  class RouterNetworkConfiguration {
50
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.RouterNetworkConfiguration", version: "2.263.0-alpha.0" };
50
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.RouterNetworkConfiguration", version: "2.264.0-alpha.0" };
51
51
  /**
52
52
  * Create a public network configuration
53
53
  * @param props Public network configuration properties
54
54
  * @returns RouterNetworkConfiguration instance for public setup
55
55
  */
56
- static publicNetwork(props) {
56
+ static publicNetwork(props = {}) {
57
57
  try {
58
58
  jsiiDeprecationWarnings._aws_cdk_aws_mediaconnect_alpha_PublicNetworkConfigurationProps(props);
59
59
  }
@@ -63,14 +63,9 @@ class RouterNetworkConfiguration {
63
63
  }
64
64
  throw error;
65
65
  }
66
+ const allowRules = (props.cidr ?? []).map(ip => ({ cidr: ip }));
66
67
  return new RouterNetworkConfiguration({
67
- public: {
68
- allowRules: props.cidr.map(ip => {
69
- return {
70
- cidr: ip,
71
- };
72
- }),
73
- },
68
+ public: { allowRules },
74
69
  }, props.cidr);
75
70
  }
76
71
  /**
@@ -119,7 +114,6 @@ class RouterNetworkConfiguration {
119
114
  exports.RouterNetworkConfiguration = RouterNetworkConfiguration;
120
115
  /**
121
116
  * Shared base for both real and imported router network interfaces.
122
- * @internal
123
117
  */
124
118
  class RouterNetworkInterfaceBase extends aws_cdk_lib_1.Resource {
125
119
  get routerNetworkInterfaceRef() {
@@ -143,7 +137,7 @@ let RouterNetworkInterface = (() => {
143
137
  RouterNetworkInterface = _classThis = _classDescriptor.value;
144
138
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
145
139
  }
146
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.RouterNetworkInterface", version: "2.263.0-alpha.0" };
140
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-mediaconnect-alpha.RouterNetworkInterface", version: "2.264.0-alpha.0" };
147
141
  /** Uniquely identifies this class. */
148
142
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-mediaconnect-alpha.RouterNetworkInterface';
149
143
  /**
@@ -180,6 +174,8 @@ let RouterNetworkInterface = (() => {
180
174
  }
181
175
  class Import extends RouterNetworkInterfaceBase {
182
176
  routerNetworkInterfaceArn = attrs.routerNetworkInterfaceArn;
177
+ createdAt = undefined;
178
+ updatedAt = undefined;
183
179
  get routerNetworkInterfaceId() {
184
180
  if (attrs.routerNetworkInterfaceId)
185
181
  return attrs.routerNetworkInterfaceId;
@@ -242,4 +238,4 @@ let RouterNetworkInterface = (() => {
242
238
  return RouterNetworkInterface = _classThis;
243
239
  })();
244
240
  exports.RouterNetworkInterface = RouterNetworkInterface;
245
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLW5ldHdvcmstaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicm91dGVyLW5ldHdvcmstaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDZDQUF5RjtBQUV6RixtRUFBeUU7QUFFekUsNEVBQTREO0FBQzVELDhFQUE4RTtBQUM5RSwwRUFBMEU7QUFFMUUscUNBQWtEO0FBb0dsRDs7R0FFRztBQUNILE1BQWEsMEJBQTBCOztJQUNyQzs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFzQzs7Ozs7Ozs7OztRQUNoRSxPQUFPLElBQUksMEJBQTBCLENBQUM7WUFDcEMsTUFBTSxFQUFFO2dCQUNOLFVBQVUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTtvQkFDOUIsT0FBTzt3QkFDTCxJQUFJLEVBQUUsRUFBRTtxQkFDVCxDQUFDO2dCQUNKLENBQUMsQ0FBQzthQUNIO1NBQ0YsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDaEI7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFtQzs7Ozs7Ozs7OztRQUNuRCxPQUFPLElBQUksMEJBQTBCLENBQUM7WUFDcEMsR0FBRyxFQUFFO2dCQUNILGdCQUFnQixFQUFFLEtBQUssQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNoRixRQUFRLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRO2FBQ2hDO1NBQ0YsQ0FBQyxDQUFDO0tBQ0o7SUFFZ0IsT0FBTyxDQUF3RTtJQUMvRSxZQUFZLENBQVk7SUFFekMsWUFDRSxNQUE2RSxFQUM3RSxXQUFzQjtRQUV0QixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztLQUNqQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxLQUFnQjtRQUMzQixJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxJQUFJLENBQUMsbUJBQUssQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7WUFDOUUsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3JDLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFBLG1CQUFVLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDbEQseUJBQVcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUNoQyx1REFBdUQsRUFDdkQseUNBQXlDLElBQUksNEZBQTRGLENBQzFJLENBQUM7Z0JBQ0osQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0tBQzVCOztBQTNESCxnRUE0REM7QUFFRDs7O0dBR0c7QUFDSCxNQUFlLDBCQUEyQixTQUFRLHNCQUFRO0lBSXhELElBQVcseUJBQXlCO1FBQ2xDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztLQUN0RTtDQUNGO0FBRUQ7O0dBRUc7SUFFVSxzQkFBc0I7NEJBRGxDLG9DQUFrQjs7OztzQkFDeUIsMEJBQTBCO3NDQUFsQyxTQUFRLFdBQTBCOzs7O1lBQXRFLDZLQTBGQzs7Ozs7UUF6RkMsc0NBQXNDO1FBQy9CLE1BQU0sQ0FBVSxxQkFBcUIsR0FBVyx3REFBd0QsQ0FBQztRQUVoSDs7Ozs7OztXQU9HO1FBQ0ksTUFBTSxDQUFDLDZCQUE2QixDQUFDLEtBQWdCLEVBQUUsRUFBVSxFQUFFLHlCQUFpQztZQUN6RyxPQUFPLHNCQUFzQixDQUFDLG9DQUFvQyxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSx5QkFBeUIsRUFBRSxDQUFDLENBQUM7U0FDOUc7UUFFRDs7Ozs7Ozs7OztXQVVHO1FBQ0ksTUFBTSxDQUFDLG9DQUFvQyxDQUNoRCxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBdUM7Ozs7Ozs7Ozs7WUFFdkMsTUFBTSxNQUFPLFNBQVEsMEJBQTBCO2dCQUM3Qix5QkFBeUIsR0FBRyxLQUFLLENBQUMseUJBQXlCLENBQUM7Z0JBRTVFLElBQVcsd0JBQXdCO29CQUNqQyxJQUFJLEtBQUssQ0FBQyx3QkFBd0I7d0JBQUUsT0FBTyxLQUFLLENBQUMsd0JBQXdCLENBQUM7b0JBQzFFLE1BQU0sSUFBSSw2QkFBZSxDQUN2QixJQUFBLHNCQUFHLEVBQUEscUNBQXFDLEVBQ3hDLGtGQUFrRixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksb0RBQW9ELEVBQ3BKLElBQUksQ0FDTCxDQUFDO2dCQUNKLENBQUM7YUFDRjtZQUNELE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQzlCO1FBRWUseUJBQXlCLENBQVM7UUFDbEMsd0JBQXdCLENBQVM7UUFDakQ7OztXQUdHO1FBQ2EsU0FBUyxDQUFVO1FBQ25DOzs7V0FHRztRQUNhLFNBQVMsQ0FBVTtRQUVuQyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQWtDO1lBQzFFLEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFO2dCQUNmLFlBQVksRUFBRSxLQUFLLENBQUMsMEJBQTBCLElBQUksa0JBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsbUJBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ3JJLENBQUMsQ0FBQzs7Ozs7O21EQS9ETSxzQkFBc0I7Ozs7WUFpRS9CLHFEQUFxRDtZQUNyRCxJQUFJLEtBQUssQ0FBQywwQkFBMEIsSUFBSSxJQUFJLElBQUksS0FBSyxDQUFDLDBCQUEwQixLQUFLLEVBQUUsSUFBSSxDQUFDLG1CQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pKLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztvQkFDbEQsTUFBTSxJQUFJLDZCQUFlLENBQUMsSUFBQSxzQkFBRyxFQUFBLGtDQUFrQyxFQUFFLDJFQUEyRSxLQUFLLENBQUMsMEJBQTBCLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQy9MLENBQUM7Z0JBQ0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDO29CQUM5RCxNQUFNLElBQUksNkJBQWUsQ0FBQyxJQUFBLHNCQUFHLEVBQUEsa0NBQWtDLEVBQUUsNkZBQTZGLEtBQUssQ0FBQywwQkFBMEIsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUMzTSxDQUFDO1lBQ0gsQ0FBQztZQUVELG1DQUFtQztZQUNuQyxJQUFBLHdDQUFvQixFQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztZQUVsQyxNQUFNLHNCQUFzQixHQUFHLElBQUksNENBQXlCLENBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRTtnQkFDN0UsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUN2QixhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUM5QyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzVCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFBLG1CQUFVLEVBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO2FBQ3RELENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyx5QkFBeUIsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUM7WUFDaEUsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztZQUM5RCxJQUFJLENBQUMsU0FBUyxHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztZQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztTQUN2RDs7WUF6RlUsdURBQXNCOzs7OztBQUF0Qix3REFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEFubm90YXRpb25zLCBMYXp5LCBOYW1lcywgUmVzb3VyY2UsIFRva2VuLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IElTZWN1cml0eUdyb3VwLCBJU3VibmV0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBDZm5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgdHlwZSB7IElSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUmVmLCBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUmVmZXJlbmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBpc09wZW5DaWRyLCByZW5kZXJUYWdzIH0gZnJvbSAnLi9zaGFyZWQnO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJvdXRlck5ldHdvcmtJbnRlcmZhY2UgZXh0ZW5kcyBJUmVzb3VyY2UsIElSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUmVmIHtcbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRhdGUgYW5kIHRpbWUgdGhlIHJvdXRlciBuZXR3b3JrIGludGVyZmFjZSB3YXMgY3JlYXRlZC5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0ZSBhbmQgdGltZSB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIHdhcyBsYXN0IHVwZGF0ZWQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHVwZGF0ZWRBdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBSb3V0ZXIgTmV0d29yayBJbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJvdXRlciBuZXR3b3JrIGludGVyZmFjZS5cbiAgICogQGRlZmF1bHQgLSBHZW5lcmF0ZWQgYXV0b21hdGljYWxseVxuICAgKi9cbiAgcmVhZG9ubHkgcm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5ldHdvcmsgY29uZmlndXJhdGlvbiBmb3IgdGhlIHJvdXRlciBuZXR3b3JrIGludGVyZmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb246IFJvdXRlck5ldHdvcmtDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgQVdTIFJlZ2lvbiB3aGVyZSB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIHdpbGwgYmUgY3JlYXRlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBTYW1lIHJlZ2lvbiBhcyB0aGUgc3RhY2tcbiAgICovXG4gIHJlYWRvbmx5IHJlZ2lvbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRhZ3MgdG8gYWRkIHRvIHRoZSBuZXR3b3JrIGludGVyZmFjZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHRhZ2dpbmdcbiAgICovXG4gIHJlYWRvbmx5IHRhZ3M/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xufVxuXG4vKipcbiAqIEF0dHJpYnV0ZXMgZm9yIGltcG9ydGluZyBhbiBleGlzdGluZyBSb3V0ZXIgTmV0d29yayBJbnRlcmZhY2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm91dGVyTmV0d29ya0ludGVyZmFjZUF0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEFtYXpvbiBSZXNvdXJjZSBOYW1lIChBUk4pIG9mIHRoZSByb3V0ZXIgbmV0d29yayBpbnRlcmZhY2UuXG4gICAqL1xuICByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGFjY2Vzc2luZyBgcm91dGVyTmV0d29ya0ludGVyZmFjZUlkYCBvbiB0aGUgaW1wb3J0ZWQgaW50ZXJmYWNlIHRocm93czsgb25seSBwcm92aWRlIHdoZW4gYXZhaWxhYmxlLlxuICAgKi9cbiAgcmVhZG9ubHkgcm91dGVyTmV0d29ya0ludGVyZmFjZUlkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIHB1YmxpYyBuZXR3b3JrIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNOZXR3b3JrQ29uZmlndXJhdGlvblByb3BzIHtcbiAgLyoqIENJRFIgYmxvY2tzIGFsbG93ZWQgdG8gYWNjZXNzIHRoZSBuZXR3b3JrIGludGVyZmFjZSAqL1xuICByZWFkb25seSBjaWRyOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBWUEMgbmV0d29yayBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVnBjTmV0d29ya0NvbmZpZ3VyYXRpb25Qcm9wcyB7XG4gIC8qKiBTZWN1cml0eSBncm91cHMgdG8gYXNzb2NpYXRlIHdpdGggdGhlIG5ldHdvcmsgaW50ZXJmYWNlICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBzOiBJU2VjdXJpdHlHcm91cFtdO1xuICAvKiogU3VibmV0IHdoZXJlIHRoZSBuZXR3b3JrIGludGVyZmFjZSB3aWxsIGJlIGNyZWF0ZWQgKi9cbiAgcmVhZG9ubHkgc3VibmV0OiBJU3VibmV0O1xufVxuXG4vKipcbiAqIEZhY3RvcnkgY2xhc3MgZm9yIGNyZWF0aW5nIFJvdXRlciBOZXR3b3JrIGNvbmZpZ3VyYXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBSb3V0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYSBwdWJsaWMgbmV0d29yayBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBwcm9wcyBQdWJsaWMgbmV0d29yayBjb25maWd1cmF0aW9uIHByb3BlcnRpZXNcbiAgICogQHJldHVybnMgUm91dGVyTmV0d29ya0NvbmZpZ3VyYXRpb24gaW5zdGFuY2UgZm9yIHB1YmxpYyBzZXR1cFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBwdWJsaWNOZXR3b3JrKHByb3BzOiBQdWJsaWNOZXR3b3JrQ29uZmlndXJhdGlvblByb3BzKTogUm91dGVyTmV0d29ya0NvbmZpZ3VyYXRpb24ge1xuICAgIHJldHVybiBuZXcgUm91dGVyTmV0d29ya0NvbmZpZ3VyYXRpb24oe1xuICAgICAgcHVibGljOiB7XG4gICAgICAgIGFsbG93UnVsZXM6IHByb3BzLmNpZHIubWFwKGlwID0+IHtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY2lkcjogaXAsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSksXG4gICAgICB9LFxuICAgIH0sIHByb3BzLmNpZHIpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIFZQQyBuZXR3b3JrIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIHByb3BzIFZQQyBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllc1xuICAgKiBAcmV0dXJucyBSb3V0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbiBpbnN0YW5jZSBmb3IgVlBDIHNldHVwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHZwYyhwcm9wczogVnBjTmV0d29ya0NvbmZpZ3VyYXRpb25Qcm9wcyk6IFJvdXRlck5ldHdvcmtDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IFJvdXRlck5ldHdvcmtDb25maWd1cmF0aW9uKHtcbiAgICAgIHZwYzoge1xuICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBwcm9wcy5zZWN1cml0eUdyb3Vwcy5tYXAoc2cgPT4geyByZXR1cm4gc2cuc2VjdXJpdHlHcm91cElkOyB9KSxcbiAgICAgICAgc3VibmV0SWQ6IHByb3BzLnN1Ym5ldC5zdWJuZXRJZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25maWc6IENmblJvdXRlck5ldHdvcmtJbnRlcmZhY2UuUm91dGVyTmV0d29ya0ludGVyZmFjZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHVibGljQ2lkcnM/OiBzdHJpbmdbXTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIGNvbmZpZzogQ2ZuUm91dGVyTmV0d29ya0ludGVyZmFjZS5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQ29uZmlndXJhdGlvblByb3BlcnR5LFxuICAgIHB1YmxpY0NpZHJzPzogc3RyaW5nW10sXG4gICkge1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLl9wdWJsaWNDaWRycyA9IHB1YmxpY0NpZHJzO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gaXMgYm91bmQgdG8gYSBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZChzY29wZTogQ29uc3RydWN0KTogQ2ZuUm91dGVyTmV0d29ya0ludGVyZmFjZS5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQ29uZmlndXJhdGlvblByb3BlcnR5IHtcbiAgICBpZiAodGhpcy5fcHVibGljQ2lkcnMgIT09IHVuZGVmaW5lZCAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHRoaXMuX3B1YmxpY0NpZHJzKSkge1xuICAgICAgZm9yIChjb25zdCBjaWRyIG9mIHRoaXMuX3B1YmxpY0NpZHJzKSB7XG4gICAgICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNpZHIpICYmIGlzT3BlbkNpZHIoY2lkcikpIHtcbiAgICAgICAgICBBbm5vdGF0aW9ucy5vZihzY29wZSkuYWRkV2FybmluZ1YyKFxuICAgICAgICAgICAgJ0Bhd3MtY2RrL2F3cy1tZWRpYWNvbm5lY3QtYWxwaGE6b3BlblJvdXRlck5ldHdvcmtDaWRyJyxcbiAgICAgICAgICAgIGBSb3V0ZXIgbmV0d29yayBpbnRlcmZhY2UgcHVibGljIENJRFIgJyR7Y2lkcn0nIGFsbG93cyB0cmFmZmljIGZyb20gYW55IElQLiBSZXN0cmljdCB0byB0aGUgbmFycm93ZXN0IHJhbmdlIHlvdXIgc2VuZGVycy9yZWNlaXZlcnMgbmVlZC5gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgLi4udGhpcy5fY29uZmlnIH07XG4gIH1cbn1cblxuLyoqXG4gKiBTaGFyZWQgYmFzZSBmb3IgYm90aCByZWFsIGFuZCBpbXBvcnRlZCByb3V0ZXIgbmV0d29yayBpbnRlcmZhY2VzLlxuICogQGludGVybmFsXG4gKi9cbmFic3RyYWN0IGNsYXNzIFJvdXRlck5ldHdvcmtJbnRlcmZhY2VCYXNlIGV4dGVuZHMgUmVzb3VyY2UgaW1wbGVtZW50cyBJUm91dGVyTmV0d29ya0ludGVyZmFjZSB7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQ6IHN0cmluZztcblxuICBwdWJsaWMgZ2V0IHJvdXRlck5ldHdvcmtJbnRlcmZhY2VSZWYoKTogUm91dGVyTmV0d29ya0ludGVyZmFjZVJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIHsgcm91dGVyTmV0d29ya0ludGVyZmFjZUFybjogdGhpcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuIH07XG4gIH1cbn1cblxuLyoqXG4gKiBEZWZpbmVzIGEgQVdTIEVsZW1lbnRhbCBNZWRpYUNvbm5lY3QgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlXG4gKi9cbkBwcm9wZXJ0eUluamVjdGFibGVcbmV4cG9ydCBjbGFzcyBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlIGV4dGVuZHMgUm91dGVyTmV0d29ya0ludGVyZmFjZUJhc2Uge1xuICAvKiogVW5pcXVlbHkgaWRlbnRpZmllcyB0aGlzIGNsYXNzLiAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFBST1BFUlRZX0lOSkVDVElPTl9JRDogc3RyaW5nID0gJ0Bhd3MtY2RrLmF3cy1tZWRpYWNvbm5lY3QtYWxwaGEuUm91dGVyTmV0d29ya0ludGVyZmFjZSc7XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBSb3V0ZXIgTmV0d29yayBJbnRlcmZhY2UgZnJvbSBpdHMgQVJOLlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QgaWRcbiAgICogQHBhcmFtIHJvdXRlck5ldHdvcmtJbnRlcmZhY2VBcm4gVGhlIEFSTiBvZiB0aGUgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlXG4gICAqIEByZXR1cm5zIEEgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlIGNvbnN0cnVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUm91dGVyTmV0d29ya0ludGVyZmFjZUFybihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmcpOiBJUm91dGVyTmV0d29ya0ludGVyZmFjZSB7XG4gICAgcmV0dXJuIFJvdXRlck5ldHdvcmtJbnRlcmZhY2UuZnJvbVJvdXRlck5ldHdvcmtJbnRlcmZhY2VBdHRyaWJ1dGVzKHNjb3BlLCBpZCwgeyByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBSb3V0ZXIgTmV0d29yayBJbnRlcmZhY2UgZnJvbSBpdHMgYXR0cmlidXRlcy5cbiAgICpcbiAgICogUHJvdmlkZSBgcm91dGVyTmV0d29ya0ludGVyZmFjZUlkYCB3aGVuIGltcG9ydGluZyBhbiBpbnRlcmZhY2UgdGhhdCB3YXMgZGVwbG95ZWRcbiAgICogZXh0ZXJuYWxseSDigJQgb3RoZXJ3aXNlIGFjY2Vzc2luZyBpdCBvbiB0aGUgaW1wb3J0ZWQgY29uc3RydWN0IHdpbGwgdGhyb3cuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSBUaGUgcGFyZW50IGNvbnN0cnVjdFxuICAgKiBAcGFyYW0gaWQgVGhlIGNvbnN0cnVjdCBpZFxuICAgKiBAcGFyYW0gYXR0cnMgVGhlIFJvdXRlciBOZXR3b3JrIEludGVyZmFjZSBhdHRyaWJ1dGVzXG4gICAqIEByZXR1cm5zIEEgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlIGNvbnN0cnVjdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tUm91dGVyTmV0d29ya0ludGVyZmFjZUF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlcyxcbiAgKTogSVJvdXRlck5ldHdvcmtJbnRlcmZhY2Uge1xuICAgIGNsYXNzIEltcG9ydCBleHRlbmRzIFJvdXRlck5ldHdvcmtJbnRlcmZhY2VCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuID0gYXR0cnMucm91dGVyTmV0d29ya0ludGVyZmFjZUFybjtcblxuICAgICAgcHVibGljIGdldCByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGF0dHJzLnJvdXRlck5ldHdvcmtJbnRlcmZhY2VJZCkgcmV0dXJuIGF0dHJzLnJvdXRlck5ldHdvcmtJbnRlcmZhY2VJZDtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBsaXRgUm91dGVyTmV0d29ya0ludGVyZmFjZUlkTm90UHJvdmlkZWRgLFxuICAgICAgICAgIGAncm91dGVyTmV0d29ya0ludGVyZmFjZUlkJyBpcyBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIFJvdXRlck5ldHdvcmtJbnRlcmZhY2UgJHt0aGlzLm5vZGUucGF0aH07IHBhc3MgaXQgdmlhIGZyb21Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlc2AsXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBkYXRlIGFuZCB0aW1lIHRoZSByb3V0ZXIgbmV0d29yayBpbnRlcmZhY2Ugd2FzIGNyZWF0ZWQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZGF0ZSBhbmQgdGltZSB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIHdhcyBsYXN0IHVwZGF0ZWQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJvdXRlck5ldHdvcmtJbnRlcmZhY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZSA/PyBMYXp5LnN0cmluZyh7IHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMTI4IH0pIH0pLFxuICAgIH0pO1xuXG4gICAgLy8gVmFsaWRhdGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIG5hbWUgaWYgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMucm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWUgIT0gbnVsbCAmJiBwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZSAhPT0gJycgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZS5sZW5ndGggPiAxMjgpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgUm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWVMZW5ndGhgLCBgUm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEyOCBjaGFyYWN0ZXJzLCBnb3QgJHtwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOS1dKyQvLnRlc3QocHJvcHMucm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YFJvdXRlck5ldHdvcmtJbnRlcmZhY2VOYW1lRm9ybWF0YCwgYFJvdXRlciBuZXR3b3JrIGludGVyZmFjZSBuYW1lIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBoeXBoZW5zLCBnb3QgJyR7cHJvcHMucm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWV9J2AsIHRoaXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3Qgcm91dGVyTmV0d29ya0ludGVyZmFjZSA9IG5ldyBDZm5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgY29uZmlndXJhdGlvbjogcHJvcHMuY29uZmlndXJhdGlvbi5fYmluZCh0aGlzKSxcbiAgICAgIHJlZ2lvbk5hbWU6IHByb3BzLnJlZ2lvbk5hbWUsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzID8gcmVuZGVyVGFncyhwcm9wcy50YWdzKSA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRoaXMucm91dGVyTmV0d29ya0ludGVyZmFjZUFybiA9IHJvdXRlck5ldHdvcmtJbnRlcmZhY2UuYXR0ckFybjtcbiAgICB0aGlzLnJvdXRlck5ldHdvcmtJbnRlcmZhY2VJZCA9IHJvdXRlck5ldHdvcmtJbnRlcmZhY2UuYXR0cklkO1xuICAgIHRoaXMuY3JlYXRlZEF0ID0gcm91dGVyTmV0d29ya0ludGVyZmFjZS5hdHRyQ3JlYXRlZEF0O1xuICAgIHRoaXMudXBkYXRlZEF0ID0gcm91dGVyTmV0d29ya0ludGVyZmFjZS5hdHRyVXBkYXRlZEF0O1xuICB9XG59XG4iXX0=
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLW5ldHdvcmstaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsicm91dGVyLW5ldHdvcmstaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLDZDQUF5RjtBQUV6RixtRUFBeUU7QUFFekUsNEVBQTREO0FBQzVELDhFQUE4RTtBQUM5RSwwRUFBMEU7QUFFMUUscUNBQWtEO0FBd0dsRDs7R0FFRztBQUNILE1BQWEsMEJBQTBCOztJQUNyQzs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUF5QyxFQUFFOzs7Ozs7Ozs7O1FBQ3JFLE1BQU0sVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRSxPQUFPLElBQUksMEJBQTBCLENBQUM7WUFDcEMsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFO1NBQ3ZCLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2hCO0lBRUQ7Ozs7T0FJRztJQUNJLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBbUM7Ozs7Ozs7Ozs7UUFDbkQsT0FBTyxJQUFJLDBCQUEwQixDQUFDO1lBQ3BDLEdBQUcsRUFBRTtnQkFDSCxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEYsUUFBUSxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBUTthQUNoQztTQUNGLENBQUMsQ0FBQztLQUNKO0lBRWdCLE9BQU8sQ0FBd0U7SUFDL0UsWUFBWSxDQUFZO0lBRXpDLFlBQ0UsTUFBNkUsRUFD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LENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyx5QkFBeUIsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUM7WUFDaEUsSUFBSSxDQUFDLHdCQUF3QixHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQztZQUM5RCxJQUFJLENBQUMsU0FBUyxHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztZQUN0RCxJQUFJLENBQUMsU0FBUyxHQUFHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztTQUN2RDs7WUEzRlUsdURBQXNCOzs7OztBQUF0Qix3REFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvdXJjZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEFubm90YXRpb25zLCBMYXp5LCBOYW1lcywgUmVzb3VyY2UsIFRva2VuLCBWYWxpZGF0aW9uRXJyb3IgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IElTZWN1cml0eUdyb3VwLCBJU3VibmV0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBDZm5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgdHlwZSB7IElSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUmVmLCBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUmVmZXJlbmNlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLW1lZGlhY29ubmVjdCc7XG5pbXBvcnQgeyBsaXQgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB7IGFkZENvbnN0cnVjdE1ldGFkYXRhIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvbWV0YWRhdGEtcmVzb3VyY2UnO1xuaW1wb3J0IHsgcHJvcGVydHlJbmplY3RhYmxlIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvcHJvcC1pbmplY3RhYmxlJztcbmltcG9ydCB0eXBlIHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBpc09wZW5DaWRyLCByZW5kZXJUYWdzIH0gZnJvbSAnLi9zaGFyZWQnO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJvdXRlck5ldHdvcmtJbnRlcmZhY2UgZXh0ZW5kcyBJUmVzb3VyY2UsIElSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUmVmIHtcbiAgLyoqXG4gICAqIFRoZSBBbWF6b24gUmVzb3VyY2UgTmFtZSAoQVJOKSBvZiB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRhdGUgYW5kIHRpbWUgdGhlIHJvdXRlciBuZXR3b3JrIGludGVyZmFjZSB3YXMgY3JlYXRlZC5cbiAgICpcbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGF0ZSBhbmQgdGltZSB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIHdhcyBsYXN0IHVwZGF0ZWQuXG4gICAqXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHVwZGF0ZWRBdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBSb3V0ZXIgTmV0d29yayBJbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJvdXRlciBuZXR3b3JrIGludGVyZmFjZS5cbiAgICogQGRlZmF1bHQgLSBHZW5lcmF0ZWQgYXV0b21hdGljYWxseVxuICAgKi9cbiAgcmVhZG9ubHkgcm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE5ldHdvcmsgY29uZmlndXJhdGlvbiBmb3IgdGhlIHJvdXRlciBuZXR3b3JrIGludGVyZmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb246IFJvdXRlck5ldHdvcmtDb25maWd1cmF0aW9uO1xuXG4gIC8qKlxuICAgKiBTZWxlY3QgYSByZWdpb24gZm9yIHlvdXIgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFNhbWUgcmVnaW9uIGFzIHRoZSBzdGFja1xuICAgKi9cbiAgcmVhZG9ubHkgcmVnaW9uTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGFncyB0byBhZGQgdG8gdGhlIG5ldHdvcmsgaW50ZXJmYWNlXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gdGFnZ2luZ1xuICAgKi9cbiAgcmVhZG9ubHkgdGFncz86IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbi8qKlxuICogQXR0cmlidXRlcyBmb3IgaW1wb3J0aW5nIGFuIGV4aXN0aW5nIFJvdXRlciBOZXR3b3JrIEludGVyZmFjZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlcyB7XG4gIC8qKlxuICAgKiBUaGUgQW1hem9uIFJlc291cmNlIE5hbWUgKEFSTikgb2YgdGhlIHJvdXRlciBuZXR3b3JrIGludGVyZmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IHJvdXRlck5ldHdvcmtJbnRlcmZhY2VBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSByb3V0ZXIgbmV0d29yayBpbnRlcmZhY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYWNjZXNzaW5nIGByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWRgIG9uIHRoZSBpbXBvcnRlZCBpbnRlcmZhY2UgdGhyb3dzOyBvbmx5IHByb3ZpZGUgd2hlbiBhdmFpbGFibGUuXG4gICAqL1xuICByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUHJvcGVydGllcyBmb3IgcHVibGljIG5ldHdvcmsgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIFB1YmxpY05ldHdvcmtDb25maWd1cmF0aW9uUHJvcHMge1xuICAvKipcbiAgICogQ0lEUiBibG9ja3MgYWxsb3dlZCB0byBzZW5kIGluYm91bmQgdHJhZmZpYyB0byB0aGUgbmV0d29yayBpbnRlcmZhY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gaW5ib3VuZCBhbGxvd2VkIChvdXRib3VuZCBvbmx5KVxuICAgKi9cbiAgcmVhZG9ubHkgY2lkcj86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFByb3BlcnRpZXMgZm9yIFZQQyBuZXR3b3JrIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNOZXR3b3JrQ29uZmlndXJhdGlvblByb3BzIHtcbiAgLyoqIFNlY3VyaXR5IGdyb3VwcyB0byBhc3NvY2lhdGUgd2l0aCB0aGUgbmV0d29yayBpbnRlcmZhY2UgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cHM6IElTZWN1cml0eUdyb3VwW107XG4gIC8qKiBTdWJuZXQgd2hlcmUgdGhlIG5ldHdvcmsgaW50ZXJmYWNlIHdpbGwgYmUgY3JlYXRlZCAqL1xuICByZWFkb25seSBzdWJuZXQ6IElTdWJuZXQ7XG59XG5cbi8qKlxuICogRmFjdG9yeSBjbGFzcyBmb3IgY3JlYXRpbmcgUm91dGVyIE5ldHdvcmsgY29uZmlndXJhdGlvbnNcbiAqL1xuZXhwb3J0IGNsYXNzIFJvdXRlck5ldHdvcmtDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIENyZWF0ZSBhIHB1YmxpYyBuZXR3b3JrIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIHByb3BzIFB1YmxpYyBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllc1xuICAgKiBAcmV0dXJucyBSb3V0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbiBpbnN0YW5jZSBmb3IgcHVibGljIHNldHVwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHB1YmxpY05ldHdvcmsocHJvcHM6IFB1YmxpY05ldHdvcmtDb25maWd1cmF0aW9uUHJvcHMgPSB7fSk6IFJvdXRlck5ldHdvcmtDb25maWd1cmF0aW9uIHtcbiAgICBjb25zdCBhbGxvd1J1bGVzID0gKHByb3BzLmNpZHIgPz8gW10pLm1hcChpcCA9PiAoeyBjaWRyOiBpcCB9KSk7XG4gICAgcmV0dXJuIG5ldyBSb3V0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbih7XG4gICAgICBwdWJsaWM6IHsgYWxsb3dSdWxlcyB9LFxuICAgIH0sIHByb3BzLmNpZHIpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIFZQQyBuZXR3b3JrIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIHByb3BzIFZQQyBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllc1xuICAgKiBAcmV0dXJucyBSb3V0ZXJOZXR3b3JrQ29uZmlndXJhdGlvbiBpbnN0YW5jZSBmb3IgVlBDIHNldHVwXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHZwYyhwcm9wczogVnBjTmV0d29ya0NvbmZpZ3VyYXRpb25Qcm9wcyk6IFJvdXRlck5ldHdvcmtDb25maWd1cmF0aW9uIHtcbiAgICByZXR1cm4gbmV3IFJvdXRlck5ldHdvcmtDb25maWd1cmF0aW9uKHtcbiAgICAgIHZwYzoge1xuICAgICAgICBzZWN1cml0eUdyb3VwSWRzOiBwcm9wcy5zZWN1cml0eUdyb3Vwcy5tYXAoc2cgPT4geyByZXR1cm4gc2cuc2VjdXJpdHlHcm91cElkOyB9KSxcbiAgICAgICAgc3VibmV0SWQ6IHByb3BzLnN1Ym5ldC5zdWJuZXRJZCxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IF9jb25maWc6IENmblJvdXRlck5ldHdvcmtJbnRlcmZhY2UuUm91dGVyTmV0d29ya0ludGVyZmFjZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eTtcbiAgcHJpdmF0ZSByZWFkb25seSBfcHVibGljQ2lkcnM/OiBzdHJpbmdbXTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIGNvbmZpZzogQ2ZuUm91dGVyTmV0d29ya0ludGVyZmFjZS5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQ29uZmlndXJhdGlvblByb3BlcnR5LFxuICAgIHB1YmxpY0NpZHJzPzogc3RyaW5nW10sXG4gICkge1xuICAgIHRoaXMuX2NvbmZpZyA9IGNvbmZpZztcbiAgICB0aGlzLl9wdWJsaWNDaWRycyA9IHB1YmxpY0NpZHJzO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBuZXR3b3JrIGNvbmZpZ3VyYXRpb24gaXMgYm91bmQgdG8gYSBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZChzY29wZTogQ29uc3RydWN0KTogQ2ZuUm91dGVyTmV0d29ya0ludGVyZmFjZS5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQ29uZmlndXJhdGlvblByb3BlcnR5IHtcbiAgICBpZiAodGhpcy5fcHVibGljQ2lkcnMgIT09IHVuZGVmaW5lZCAmJiAhVG9rZW4uaXNVbnJlc29sdmVkKHRoaXMuX3B1YmxpY0NpZHJzKSkge1xuICAgICAgZm9yIChjb25zdCBjaWRyIG9mIHRoaXMuX3B1YmxpY0NpZHJzKSB7XG4gICAgICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKGNpZHIpICYmIGlzT3BlbkNpZHIoY2lkcikpIHtcbiAgICAgICAgICBBbm5vdGF0aW9ucy5vZihzY29wZSkuYWRkV2FybmluZ1YyKFxuICAgICAgICAgICAgJ0Bhd3MtY2RrL2F3cy1tZWRpYWNvbm5lY3QtYWxwaGE6b3BlblJvdXRlck5ldHdvcmtDaWRyJyxcbiAgICAgICAgICAgIGBSb3V0ZXIgbmV0d29yayBpbnRlcmZhY2UgcHVibGljIENJRFIgJyR7Y2lkcn0nIGFsbG93cyB0cmFmZmljIGZyb20gYW55IElQLiBSZXN0cmljdCB0byB0aGUgbmFycm93ZXN0IHJhbmdlIHlvdXIgc2VuZGVycy9yZWNlaXZlcnMgbmVlZC5gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgLi4udGhpcy5fY29uZmlnIH07XG4gIH1cbn1cblxuLyoqXG4gKiBTaGFyZWQgYmFzZSBmb3IgYm90aCByZWFsIGFuZCBpbXBvcnRlZCByb3V0ZXIgbmV0d29yayBpbnRlcmZhY2VzLlxuICovXG5hYnN0cmFjdCBjbGFzcyBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQmFzZSBleHRlbmRzIFJlc291cmNlIGltcGxlbWVudHMgSVJvdXRlck5ldHdvcmtJbnRlcmZhY2Uge1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcm91dGVyTmV0d29ya0ludGVyZmFjZUFybjogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgcm91dGVyTmV0d29ya0ludGVyZmFjZUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSB1cGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgcHVibGljIGdldCByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlUmVmKCk6IFJvdXRlck5ldHdvcmtJbnRlcmZhY2VSZWZlcmVuY2Uge1xuICAgIHJldHVybiB7IHJvdXRlck5ldHdvcmtJbnRlcmZhY2VBcm46IHRoaXMucm91dGVyTmV0d29ya0ludGVyZmFjZUFybiB9O1xuICB9XG59XG5cbi8qKlxuICogRGVmaW5lcyBhIEFXUyBFbGVtZW50YWwgTWVkaWFDb25uZWN0IFJvdXRlciBOZXR3b3JrIEludGVyZmFjZVxuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgUm91dGVyTmV0d29ya0ludGVyZmFjZSBleHRlbmRzIFJvdXRlck5ldHdvcmtJbnRlcmZhY2VCYXNlIHtcbiAgLyoqIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhpcyBjbGFzcy4gKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBQUk9QRVJUWV9JTkpFQ1RJT05fSUQ6IHN0cmluZyA9ICdAYXdzLWNkay5hd3MtbWVkaWFjb25uZWN0LWFscGhhLlJvdXRlck5ldHdvcmtJbnRlcmZhY2UnO1xuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlIGZyb20gaXRzIEFSTi5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIFRoZSBwYXJlbnQgY29uc3RydWN0XG4gICAqIEBwYXJhbSBpZCBUaGUgY29uc3RydWN0IGlkXG4gICAqIEBwYXJhbSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuIFRoZSBBUk4gb2YgdGhlIFJvdXRlciBOZXR3b3JrIEludGVyZmFjZVxuICAgKiBAcmV0dXJucyBBIFJvdXRlciBOZXR3b3JrIEludGVyZmFjZSBjb25zdHJ1Y3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJvdXRlck5ldHdvcmtJbnRlcmZhY2VBcm4oc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcm91dGVyTmV0d29ya0ludGVyZmFjZUFybjogc3RyaW5nKTogSVJvdXRlck5ldHdvcmtJbnRlcmZhY2Uge1xuICAgIHJldHVybiBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlLmZyb21Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlcyhzY29wZSwgaWQsIHsgcm91dGVyTmV0d29ya0ludGVyZmFjZUFybiB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgUm91dGVyIE5ldHdvcmsgSW50ZXJmYWNlIGZyb20gaXRzIGF0dHJpYnV0ZXMuXG4gICAqXG4gICAqIFByb3ZpZGUgYHJvdXRlck5ldHdvcmtJbnRlcmZhY2VJZGAgd2hlbiBpbXBvcnRpbmcgYW4gaW50ZXJmYWNlIHRoYXQgd2FzIGRlcGxveWVkXG4gICAqIGV4dGVybmFsbHkg4oCUIG90aGVyd2lzZSBhY2Nlc3NpbmcgaXQgb24gdGhlIGltcG9ydGVkIGNvbnN0cnVjdCB3aWxsIHRocm93LlxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIHBhcmVudCBjb25zdHJ1Y3RcbiAgICogQHBhcmFtIGlkIFRoZSBjb25zdHJ1Y3QgaWRcbiAgICogQHBhcmFtIGF0dHJzIFRoZSBSb3V0ZXIgTmV0d29yayBJbnRlcmZhY2UgYXR0cmlidXRlc1xuICAgKiBAcmV0dXJucyBBIFJvdXRlciBOZXR3b3JrIEludGVyZmFjZSBjb25zdHJ1Y3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbVJvdXRlck5ldHdvcmtJbnRlcmZhY2VBdHRyaWJ1dGVzKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBhdHRyczogUm91dGVyTmV0d29ya0ludGVyZmFjZUF0dHJpYnV0ZXMsXG4gICk6IElSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlIHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBSb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQmFzZSB7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgcm91dGVyTmV0d29ya0ludGVyZmFjZUFybiA9IGF0dHJzLnJvdXRlck5ldHdvcmtJbnRlcmZhY2VBcm47XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgY3JlYXRlZEF0ID0gdW5kZWZpbmVkO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHVwZGF0ZWRBdCA9IHVuZGVmaW5lZDtcblxuICAgICAgcHVibGljIGdldCByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKGF0dHJzLnJvdXRlck5ldHdvcmtJbnRlcmZhY2VJZCkgcmV0dXJuIGF0dHJzLnJvdXRlck5ldHdvcmtJbnRlcmZhY2VJZDtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgICBsaXRgUm91dGVyTmV0d29ya0ludGVyZmFjZUlkTm90UHJvdmlkZWRgLFxuICAgICAgICAgIGAncm91dGVyTmV0d29ya0ludGVyZmFjZUlkJyBpcyBub3QgYXZhaWxhYmxlIG9uIGltcG9ydGVkIFJvdXRlck5ldHdvcmtJbnRlcmZhY2UgJHt0aGlzLm5vZGUucGF0aH07IHBhc3MgaXQgdmlhIGZyb21Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXR0cmlidXRlc2AsXG4gICAgICAgICAgdGhpcyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBJbXBvcnQoc2NvcGUsIGlkKTtcbiAgfVxuXG4gIHB1YmxpYyByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSByb3V0ZXJOZXR3b3JrSW50ZXJmYWNlSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBkYXRlIGFuZCB0aW1lIHRoZSByb3V0ZXIgbmV0d29yayBpbnRlcmZhY2Ugd2FzIGNyZWF0ZWQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgZGF0ZSBhbmQgdGltZSB0aGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIHdhcyBsYXN0IHVwZGF0ZWQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB1cGRhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IFJvdXRlck5ldHdvcmtJbnRlcmZhY2VQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZSA/PyBMYXp5LnN0cmluZyh7IHByb2R1Y2U6ICgpID0+IE5hbWVzLnVuaXF1ZVJlc291cmNlTmFtZSh0aGlzLCB7IG1heExlbmd0aDogMTI4IH0pIH0pLFxuICAgIH0pO1xuXG4gICAgLy8gVmFsaWRhdGUgcm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIG5hbWUgaWYgcHJvdmlkZWRcbiAgICBpZiAocHJvcHMucm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWUgIT0gbnVsbCAmJiBwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZSAhPT0gJycgJiYgIVRva2VuLmlzVW5yZXNvbHZlZChwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZSkpIHtcbiAgICAgIGlmIChwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZS5sZW5ndGggPiAxMjgpIHtcbiAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgUm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWVMZW5ndGhgLCBgUm91dGVyIG5ldHdvcmsgaW50ZXJmYWNlIG5hbWUgbXVzdCBiZSBiZXR3ZWVuIDEgYW5kIDEyOCBjaGFyYWN0ZXJzLCBnb3QgJHtwcm9wcy5yb3V0ZXJOZXR3b3JrSW50ZXJmYWNlTmFtZS5sZW5ndGh9YCwgdGhpcyk7XG4gICAgICB9XG4gICAgICBpZiAoIS9eW2EtekEtWjAtOS1dKyQvLnRlc3QocHJvcHMucm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWUpKSB7XG4gICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IobGl0YFJvdXRlck5ldHdvcmtJbnRlcmZhY2VOYW1lRm9ybWF0YCwgYFJvdXRlciBuZXR3b3JrIGludGVyZmFjZSBuYW1lIG11c3QgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCBoeXBoZW5zLCBnb3QgJyR7cHJvcHMucm91dGVyTmV0d29ya0ludGVyZmFjZU5hbWV9J2AsIHRoaXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuaGFuY2VkIENESyBBbmFseXRpY3MgVGVsZW1ldHJ5XG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgY29uc3Qgcm91dGVyTmV0d29ya0ludGVyZmFjZSA9IG5ldyBDZm5Sb3V0ZXJOZXR3b3JrSW50ZXJmYWNlKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIG5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgY29uZmlndXJhdGlvbjogcHJvcHMuY29uZmlndXJhdGlvbi5fYmluZCh0aGlzKSxcbiAgICAgIHJlZ2lvbk5hbWU6IHByb3BzLnJlZ2lvbk5hbWUsXG4gICAgICB0YWdzOiBwcm9wcy50YWdzID8gcmVuZGVyVGFncyhwcm9wcy50YWdzKSA6IHVuZGVmaW5lZCxcbiAgICB9KTtcblxuICAgIHRoaXMucm91dGVyTmV0d29ya0ludGVyZmFjZUFybiA9IHJvdXRlck5ldHdvcmtJbnRlcmZhY2UuYXR0ckFybjtcbiAgICB0aGlzLnJvdXRlck5ldHdvcmtJbnRlcmZhY2VJZCA9IHJvdXRlck5ldHdvcmtJbnRlcmZhY2UuYXR0cklkO1xuICAgIHRoaXMuY3JlYXRlZEF0ID0gcm91dGVyTmV0d29ya0ludGVyZmFjZS5hdHRyQ3JlYXRlZEF0O1xuICAgIHRoaXMudXBkYXRlZEF0ID0gcm91dGVyTmV0d29ya0ludGVyZmFjZS5hdHRyVXBkYXRlZEF0O1xuICB9XG59XG4iXX0=
@@ -132,13 +132,12 @@ export interface RouterOutputProps {
132
132
  * @default - Generated automatically
133
133
  */
134
134
  readonly routerOutputName?: string;
135
- /** Maximum bitrate in bits per second that the Router Output can handle */
135
+ /** The maximum bitrate for the router output. */
136
136
  readonly maximumBitrate: Bitrate;
137
- /** Routing scope for the Router Output */
137
+ /** Indicates whether the router output is configured for Regional or global routing. */
138
138
  readonly routingScope: RoutingScope;
139
139
  /**
140
- * Routing tier that determines the maximum number of outputs.
141
- *
140
+ * Select a tier based on your maximum bitrate requirements.
142
141
  * @default RouterOutputTier.OUTPUT_20
143
142
  */
144
143
  readonly tier?: RouterOutputTier;
@@ -150,7 +149,7 @@ export interface RouterOutputProps {
150
149
  */
151
150
  readonly maintenanceConfiguration?: MaintenanceConfiguration;
152
151
  /**
153
- * AWS region where the Router Output will be created
152
+ * The AWS Region where the router output is located.
154
153
  * @default - Defaults to the same region as stack
155
154
  */
156
155
  readonly regionName?: string;
@@ -328,6 +327,12 @@ export interface StandardOutputConfigurationProps {
328
327
  readonly networkInterface: IRouterNetworkInterface;
329
328
  /** Protocol configuration for the output */
330
329
  readonly protocol: RouterOutputProtocol;
330
+ /**
331
+ * The availability zone where the router output is located.
332
+ *
333
+ * @default - assigned by the MediaConnect service
334
+ */
335
+ readonly availabilityZone?: string;
331
336
  }
332
337
  /**
333
338
  * Properties for MediaLive Router Output configuration with specific input connection