cdk-nextjs 0.4.2 → 0.4.4

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.
Files changed (42) hide show
  1. package/.jsii +1254 -733
  2. package/API.md +2458 -1108
  3. package/README.md +37 -5
  4. package/docs/cdk-nextjs-NextjsRegionalFunctions.png +0 -0
  5. package/docs/cdk-nextjs-cfn-exec-policy.json +27 -0
  6. package/docs/cdk-nextjs.drawio +71 -11
  7. package/lib/constants.d.ts +2 -1
  8. package/lib/constants.js +2 -1
  9. package/lib/generated-structs/OptionalNextjsDistributionProps.d.ts +1 -1
  10. package/lib/generated-structs/OptionalNextjsDistributionProps.js +1 -1
  11. package/lib/index.d.ts +3 -2
  12. package/lib/index.js +8 -2
  13. package/lib/nextjs-api.d.ts +71 -0
  14. package/lib/nextjs-api.js +173 -0
  15. package/lib/nextjs-assets-deployment.js +2 -2
  16. package/lib/nextjs-build/nextjs-build.d.ts +1 -1
  17. package/lib/nextjs-build/nextjs-build.js +2 -2
  18. package/lib/nextjs-compute/nextjs-containers.js +1 -1
  19. package/lib/nextjs-compute/nextjs-functions.d.ts +3 -1
  20. package/lib/nextjs-compute/nextjs-functions.js +11 -10
  21. package/lib/nextjs-distribution.d.ts +2 -2
  22. package/lib/nextjs-distribution.js +2 -2
  23. package/lib/nextjs-file-system.js +1 -1
  24. package/lib/nextjs-post-deploy.js +1 -1
  25. package/lib/nextjs-static-assets.d.ts +0 -4
  26. package/lib/nextjs-static-assets.js +2 -2
  27. package/lib/nextjs-vpc.js +1 -1
  28. package/lib/root-constructs/nextjs-base-construct.d.ts +137 -0
  29. package/lib/root-constructs/nextjs-base-construct.js +112 -0
  30. package/lib/root-constructs/nextjs-global-containers.d.ts +5 -32
  31. package/lib/root-constructs/nextjs-global-containers.js +10 -83
  32. package/lib/root-constructs/nextjs-global-functions.d.ts +5 -32
  33. package/lib/root-constructs/nextjs-global-functions.js +12 -84
  34. package/lib/root-constructs/nextjs-regional-containers.d.ts +5 -21
  35. package/lib/root-constructs/nextjs-regional-containers.js +10 -71
  36. package/lib/root-constructs/nextjs-regional-functions.d.ts +37 -0
  37. package/lib/root-constructs/nextjs-regional-functions.js +58 -0
  38. package/package.json +10 -10
  39. package/lib/root-constructs/nextjs-base-overrides.d.ts +0 -30
  40. package/lib/root-constructs/nextjs-base-overrides.js +0 -3
  41. package/lib/root-constructs/nextjs-base-props.d.ts +0 -64
  42. package/lib/root-constructs/nextjs-base-props.js +0 -3
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.NextjsApi = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
7
+ const aws_apigateway_1 = require("aws-cdk-lib/aws-apigateway");
8
+ const aws_iam_1 = require("aws-cdk-lib/aws-iam");
9
+ const constructs_1 = require("constructs");
10
+ /**
11
+ * Creates an API Gateway REST API for Next.js applications
12
+ */
13
+ class NextjsApi extends constructs_1.Construct {
14
+ constructor(scope, id, props) {
15
+ super(scope, id);
16
+ this.props = props;
17
+ this.validateProps(props);
18
+ this.api = this.createRestApi();
19
+ this.baseResource = this.createBaseResource(props.basePath);
20
+ this.staticIntegrationRole = this.createStaticIntegrationRole();
21
+ this.createStaticIntegrations();
22
+ if (props.serverFunction) {
23
+ this.createDynamicIntegration(props.serverFunction);
24
+ }
25
+ else if (props.vpc) {
26
+ // [Future] create integration with ECS via VPC Link and ECS Service Discovery
27
+ }
28
+ }
29
+ validateProps(props) {
30
+ if (!props.serverFunction && !props.vpc) {
31
+ throw new Error("serverFunction or vpc must be set in NextjsApiProps");
32
+ }
33
+ }
34
+ createRestApi() {
35
+ return new aws_apigateway_1.RestApi(this, "RestApi", {
36
+ binaryMediaTypes: ["*/*"],
37
+ description: `cdk-nextjs REST API for ${aws_cdk_lib_1.Stack.of(this).stackName}`,
38
+ endpointTypes: [aws_apigateway_1.EndpointType.REGIONAL],
39
+ minCompressionSize: aws_cdk_lib_1.Size.bytes(0), // compress all responses for better perf
40
+ ...this.props.overrides?.restApiProps,
41
+ });
42
+ }
43
+ /**
44
+ * Create base resource path if needed. Important if `basePath` is set.
45
+ */
46
+ createBaseResource(basePath) {
47
+ // Create base resource path if needed
48
+ let baseResource = this.api.root;
49
+ if (basePath) {
50
+ const _basePath = basePath.startsWith("/")
51
+ ? basePath.substring(1)
52
+ : basePath;
53
+ baseResource = this.api.root.addResource(_basePath);
54
+ }
55
+ return baseResource;
56
+ }
57
+ createStaticIntegrationRole() {
58
+ // Create S3 integration role
59
+ const staticIntegrationRole = new aws_iam_1.Role(this, "StaticIntegrationRole", {
60
+ assumedBy: new aws_iam_1.ServicePrincipal("apigateway.amazonaws.com"),
61
+ });
62
+ staticIntegrationRole.addToPolicy(new aws_iam_1.PolicyStatement({
63
+ actions: ["s3:GetObject", "s3:ListBucket"],
64
+ resources: [
65
+ this.props.staticAssetsBucket.bucketArn,
66
+ `${this.props.staticAssetsBucket.bucketArn}/*`,
67
+ ],
68
+ }));
69
+ return staticIntegrationRole;
70
+ }
71
+ createStaticIntegrations() {
72
+ // Add static assets route (_next/static/*)
73
+ this.baseResource
74
+ .addResource("_next")
75
+ .addResource("static")
76
+ .addResource("{proxy+}")
77
+ .addMethod("GET", this.createS3Integration({ key: "_next/static/{key}" }), this.getStaticMethodOptions({ proxy: true }));
78
+ // add public directory files/directories that exist at top level but need to go to S3.
79
+ for (const publicDirEntry of this.props.publicDirEntries) {
80
+ if (publicDirEntry.isDirectory) {
81
+ this.baseResource
82
+ .addResource(publicDirEntry.name)
83
+ .addResource("{proxy+}")
84
+ .addMethod("GET", this.createS3Integration({ key: `${publicDirEntry.name}/{key}` }), this.getStaticMethodOptions({ proxy: true }));
85
+ }
86
+ else {
87
+ this.baseResource
88
+ .addResource(publicDirEntry.name)
89
+ .addMethod("GET", this.createS3Integration({ key: publicDirEntry.name }), this.getStaticMethodOptions());
90
+ }
91
+ }
92
+ }
93
+ /**
94
+ * Maps API request to S3 request.
95
+ * @see https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api-parameter-mapping-sources.html
96
+ * @see https://docs.aws.amazon.com/apigateway/latest/developerguide/integrating-api-with-aws-services-s3.html#api-items-in-folder-as-s3-objects-in-bucket
97
+ */
98
+ createS3Integration({ key }) {
99
+ const s3Integration = new aws_apigateway_1.AwsIntegration({
100
+ service: "s3",
101
+ integrationHttpMethod: "GET",
102
+ path: `${this.props.staticAssetsBucket.bucketName}/${key}`,
103
+ options: {
104
+ credentialsRole: this.staticIntegrationRole,
105
+ passthroughBehavior: aws_apigateway_1.PassthroughBehavior.WHEN_NO_TEMPLATES, // recommended
106
+ requestParameters: key.includes("{key}")
107
+ ? {
108
+ "integration.request.path.key": "method.request.path.proxy",
109
+ }
110
+ : undefined,
111
+ integrationResponses: [
112
+ {
113
+ statusCode: "200",
114
+ responseParameters: {
115
+ "method.response.header.Content-Type": "integration.response.header.Content-Type",
116
+ "method.response.header.Content-Length": "integration.response.header.Content-Length",
117
+ "method.response.header.Cache-Control": "integration.response.header.Cache-Control",
118
+ "method.response.header.ETag": "integration.response.header.ETag",
119
+ "method.response.header.Last-Modified": "integration.response.header.Last-Modified",
120
+ },
121
+ },
122
+ {
123
+ statusCode: "404",
124
+ selectionPattern: "404",
125
+ },
126
+ ],
127
+ },
128
+ ...this.props.overrides?.staticIntegrationProps,
129
+ });
130
+ return s3Integration;
131
+ }
132
+ getStaticMethodOptions({ proxy } = { proxy: false }) {
133
+ return {
134
+ requestParameters: proxy
135
+ ? {
136
+ "method.request.path.proxy": true,
137
+ }
138
+ : undefined,
139
+ methodResponses: [
140
+ {
141
+ statusCode: "200",
142
+ responseParameters: {
143
+ "method.response.header.Content-Type": true,
144
+ "method.response.header.Content-Length": true,
145
+ "method.response.header.Cache-Control": true,
146
+ "method.response.header.ETag": true,
147
+ "method.response.header.Last-Modified": true,
148
+ },
149
+ },
150
+ {
151
+ statusCode: "404",
152
+ },
153
+ ],
154
+ ...this.props.overrides?.s3MethodOptions,
155
+ };
156
+ }
157
+ /**
158
+ * Create Lambda Proxy integration for all other routes
159
+ */
160
+ createDynamicIntegration(serverFunction) {
161
+ const lambdaIntegration = new aws_apigateway_1.LambdaIntegration(serverFunction, {
162
+ ...this.props.overrides?.dynamicIntegrationProps,
163
+ });
164
+ // Add catch-all route for server-side rendering
165
+ this.baseResource.addMethod("ANY", lambdaIntegration);
166
+ const proxyResource = this.baseResource.addResource("{proxy+}");
167
+ proxyResource.addMethod("ANY", lambdaIntegration);
168
+ }
169
+ }
170
+ exports.NextjsApi = NextjsApi;
171
+ _a = JSII_RTTI_SYMBOL_1;
172
+ NextjsApi[_a] = { fqn: "cdk-nextjs.NextjsApi", version: "0.4.4" };
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uZXh0anMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsNkNBQTBDO0FBQzFDLCtEQVdvQztBQUVwQyxpREFLNkI7QUFHN0IsMkNBQXVDO0FBc0N2Qzs7R0FFRztBQUNILE1BQWEsU0FBVSxTQUFRLHNCQUFTO0lBVXRDLFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsS0FBcUI7UUFDN0QsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7UUFDaEUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUM7UUFDaEMsSUFBSSxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUN0RCxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDckIsOEVBQThFO1FBQ2hGLENBQUM7SUFDSCxDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQXFCO1FBQ3pDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMscURBQXFELENBQUMsQ0FBQztRQUN6RSxDQUFDO0lBQ0gsQ0FBQztJQUVPLGFB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ImltcG9ydCB7IFNpemUsIFN0YWNrIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBSZXN0QXBpLFxuICBMYW1iZGFJbnRlZ3JhdGlvbixcbiAgQXdzSW50ZWdyYXRpb24sXG4gIE1ldGhvZE9wdGlvbnMsXG4gIElSZXNvdXJjZSxcbiAgRW5kcG9pbnRUeXBlLFxuICBSZXN0QXBpUHJvcHMsXG4gIEF3c0ludGVncmF0aW9uUHJvcHMsXG4gIExhbWJkYUludGVncmF0aW9uT3B0aW9ucyxcbiAgUGFzc3Rocm91Z2hCZWhhdmlvcixcbn0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1hcGlnYXRld2F5XCI7XG5pbXBvcnQgeyBJVnBjIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lYzJcIjtcbmltcG9ydCB7XG4gIFJvbGUsXG4gIFNlcnZpY2VQcmluY2lwYWwsXG4gIFBvbGljeVN0YXRlbWVudCxcbiAgSVJvbGUsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtaWFtXCI7XG5pbXBvcnQgeyBJRnVuY3Rpb24gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgSUJ1Y2tldCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtczNcIjtcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXCJjb25zdHJ1Y3RzXCI7XG5pbXBvcnQgeyBQdWJsaWNEaXJFbnRyeSB9IGZyb20gXCIuL25leHRqcy1idWlsZC9uZXh0anMtYnVpbGRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNBcGlPdmVycmlkZXMge1xuICByZWFkb25seSByZXN0QXBpUHJvcHM/OiBSZXN0QXBpUHJvcHM7XG4gIHJlYWRvbmx5IHN0YXRpY0ludGVncmF0aW9uUHJvcHM/OiBBd3NJbnRlZ3JhdGlvblByb3BzO1xuICByZWFkb25seSBzM01ldGhvZE9wdGlvbnM/OiBNZXRob2RPcHRpb25zO1xuICByZWFkb25seSBkeW5hbWljSW50ZWdyYXRpb25Qcm9wcz86IExhbWJkYUludGVncmF0aW9uT3B0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNBcGlQcm9wcyB7XG4gIC8qKlxuICAgKiBPcHRpb25hbCBiYXNlIHBhdGggZm9yIHRoZSBhcHBsaWNhdGlvblxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZVBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBPdmVycmlkZSBwcm9wcyBmb3IgZXZlcnkgY29uc3RydWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzQXBpT3ZlcnJpZGVzO1xuICAvKipcbiAgICogUGF0aCB0byBkaXJlY3Rvcnkgb2YgTmV4dC5qcyBhcHAncyBwdWJsaWMgZGlyZWN0b3J5LiBVc2VkIHRvIGFkZCByZXNvdXJjZXNcbiAgICogdG8gQVBJIEdhdGV3YXkgUkVTVCBBUEkgZm9yIHB1YmxpYyBkaXJlY3RvcnkgdG8gZ28gZGlyZWN0bHkgdG8gUzMuXG4gICAqL1xuICByZWFkb25seSBwdWJsaWNEaXJFbnRyaWVzOiBQdWJsaWNEaXJFbnRyeVtdO1xuICAvKipcbiAgICogUmVxdWlyZWQgaWYgYE5leHRqc1JlZ2lvbmFsRnVuY3Rpb25zYC4gVGhlIExhbWJkYSBmdW5jdGlvbiBmb3Igc2VydmVyLXNpZGUgcmVuZGVyaW5nXG4gICAqL1xuICByZWFkb25seSBzZXJ2ZXJGdW5jdGlvbj86IElGdW5jdGlvbjtcbiAgLyoqXG4gICAqIFRoZSBTMyBidWNrZXQgY29udGFpbmluZyBzdGF0aWMgYXNzZXRzXG4gICAqL1xuICByZWFkb25seSBzdGF0aWNBc3NldHNCdWNrZXQ6IElCdWNrZXQ7XG4gIC8qKlxuICAgKiBbRnV0dXJlXSBSZXF1aXJlZCBpZiBgTmV4dGpzUmVnaW9uYWxDb250YWluZXJzYC4gVlBDIHRvIGNyZWF0ZSBWUEMgTGluayBhbmQgRUNTIFNlcnZpY2UgRGlzY292ZXJ5XG4gICAqL1xuICByZWFkb25seSB2cGM/OiBJVnBjO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gQVBJIEdhdGV3YXkgUkVTVCBBUEkgZm9yIE5leHQuanMgYXBwbGljYXRpb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXh0anNBcGkgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICAvKipcbiAgICogVGhlIEFQSSBHYXRld2F5IFJFU1QgQVBJXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgYXBpOiBSZXN0QXBpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYmFzZVJlc291cmNlOiBJUmVzb3VyY2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IE5leHRqc0FwaVByb3BzO1xuICBwcml2YXRlIHN0YXRpY0ludGVncmF0aW9uUm9sZTogSVJvbGU7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5leHRqc0FwaVByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG5cbiAgICB0aGlzLnZhbGlkYXRlUHJvcHMocHJvcHMpO1xuICAgIHRoaXMuYXBpID0gdGhpcy5jcmVhdGVSZXN0QXBpKCk7XG4gICAgdGhpcy5iYXNlUmVzb3VyY2UgPSB0aGlzLmNyZWF0ZUJhc2VSZXNvdXJjZShwcm9wcy5iYXNlUGF0aCk7XG4gICAgdGhpcy5zdGF0aWNJbnRlZ3JhdGlvblJvbGUgPSB0aGlzLmNyZWF0ZVN0YXRpY0ludGVncmF0aW9uUm9sZSgpO1xuICAgIHRoaXMuY3JlYXRlU3RhdGljSW50ZWdyYXRpb25zKCk7XG4gICAgaWYgKHByb3BzLnNlcnZlckZ1bmN0aW9uKSB7XG4gICAgICB0aGlzLmNyZWF0ZUR5bmFtaWNJbnRlZ3JhdGlvbihwcm9wcy5zZXJ2ZXJGdW5jdGlvbik7XG4gICAgfSBlbHNlIGlmIChwcm9wcy52cGMpIHtcbiAgICAgIC8vIFtGdXR1cmVdIGNyZWF0ZSBpbnRlZ3JhdGlvbiB3aXRoIEVDUyB2aWEgVlBDIExpbmsgYW5kIEVDUyBTZXJ2aWNlIERpc2NvdmVyeVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdmFsaWRhdGVQcm9wcyhwcm9wczogTmV4dGpzQXBpUHJvcHMpIHtcbiAgICBpZiAoIXByb3BzLnNlcnZlckZ1bmN0aW9uICYmICFwcm9wcy52cGMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInNlcnZlckZ1bmN0aW9uIG9yIHZwYyBtdXN0IGJlIHNldCBpbiBOZXh0anNBcGlQcm9wc1wiKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZVJlc3RBcGkoKTogUmVzdEFwaSB7XG4gICAgcmV0dXJuIG5ldyBSZXN0QXBpKHRoaXMsIFwiUmVzdEFwaVwiLCB7XG4gICAgICBiaW5hcnlNZWRpYVR5cGVzOiBbXCIqLypcIl0sXG4gICAgICBkZXNjcmlwdGlvbjogYGNkay1uZXh0anMgUkVTVCBBUEkgZm9yICR7U3RhY2sub2YodGhpcykuc3RhY2tOYW1lfWAsXG4gICAgICBlbmRwb2ludFR5cGVzOiBbRW5kcG9pbnRUeXBlLlJFR0lPTkFMXSxcbiAgICAgIG1pbkNvbXByZXNzaW9uU2l6ZTogU2l6ZS5ieXRlcygwKSwgLy8gY29tcHJlc3MgYWxsIHJlc3BvbnNlcyBmb3IgYmV0dGVyIHBlcmZcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5yZXN0QXBpUHJvcHMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGJhc2UgcmVzb3VyY2UgcGF0aCBpZiBuZWVkZWQuIEltcG9ydGFudCBpZiBgYmFzZVBhdGhgIGlzIHNldC5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQmFzZVJlc291cmNlKGJhc2VQYXRoPzogc3RyaW5nKTogSVJlc291cmNlIHtcbiAgICAvLyBDcmVhdGUgYmFzZSByZXNvdXJjZSBwYXRoIGlmIG5lZWRlZFxuICAgIGxldCBiYXNlUmVzb3VyY2UgPSB0aGlzLmFwaS5yb290O1xuICAgIGlmIChiYXNlUGF0aCkge1xuICAgICAgY29uc3QgX2Jhc2VQYXRoID0gYmFzZVBhdGguc3RhcnRzV2l0aChcIi9cIilcbiAgICAgICAgPyBiYXNlUGF0aC5zdWJzdHJpbmcoMSlcbiAgICAgICAgOiBiYXNlUGF0aDtcblxuICAgICAgYmFzZVJlc291cmNlID0gdGhpcy5hcGkucm9vdC5hZGRSZXNvdXJjZShfYmFzZVBhdGgpO1xuICAgIH1cbiAgICByZXR1cm4gYmFzZVJlc291cmNlO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTdGF0aWNJbnRlZ3JhdGlvblJvbGUoKSB7XG4gICAgLy8gQ3JlYXRlIFMzIGludGVncmF0aW9uIHJvbGVcbiAgICBjb25zdCBzdGF0aWNJbnRlZ3JhdGlvblJvbGUgPSBuZXcgUm9sZSh0aGlzLCBcIlN0YXRpY0ludGVncmF0aW9uUm9sZVwiLCB7XG4gICAgICBhc3N1bWVkQnk6IG5ldyBTZXJ2aWNlUHJpbmNpcGFsKFwiYXBpZ2F0ZXdheS5hbWF6b25hd3MuY29tXCIpLFxuICAgIH0pO1xuXG4gICAgc3RhdGljSW50ZWdyYXRpb25Sb2xlLmFkZFRvUG9saWN5KFxuICAgICAgbmV3IFBvbGljeVN0YXRlbWVudCh7XG4gICAgICAgIGFjdGlvbnM6IFtcInMzOkdldE9iamVjdFwiLCBcInMzOkxpc3RCdWNrZXRcIl0sXG4gICAgICAgIHJlc291cmNlczogW1xuICAgICAgICAgIHRoaXMucHJvcHMuc3RhdGljQXNzZXRzQnVja2V0LmJ1Y2tldEFybixcbiAgICAgICAgICBgJHt0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldC5idWNrZXRBcm59LypgLFxuICAgICAgICBdLFxuICAgICAgfSksXG4gICAgKTtcbiAgICByZXR1cm4gc3RhdGljSW50ZWdyYXRpb25Sb2xlO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVTdGF0aWNJbnRlZ3JhdGlvbnMoKSB7XG4gICAgLy8gQWRkIHN0YXRpYyBhc3NldHMgcm91dGUgKF9uZXh0L3N0YXRpYy8qKVxuICAgIHRoaXMuYmFzZVJlc291cmNlXG4gICAgICAuYWRkUmVzb3VyY2UoXCJfbmV4dFwiKVxuICAgICAgLmFkZFJlc291cmNlKFwic3RhdGljXCIpXG4gICAgICAuYWRkUmVzb3VyY2UoXCJ7cHJveHkrfVwiKVxuICAgICAgLmFkZE1ldGhvZChcbiAgICAgICAgXCJHRVRcIixcbiAgICAgICAgdGhpcy5jcmVhdGVTM0ludGVncmF0aW9uKHsga2V5OiBcIl9uZXh0L3N0YXRpYy97a2V5fVwiIH0pLFxuICAgICAgICB0aGlzLmdldFN0YXRpY01ldGhvZE9wdGlvbnMoeyBwcm94eTogdHJ1ZSB9KSxcbiAgICAgICk7XG4gICAgLy8gYWRkIHB1YmxpYyBkaXJlY3RvcnkgZmlsZXMvZGlyZWN0b3JpZXMgdGhhdCBleGlzdCBhdCB0b3AgbGV2ZWwgYnV0IG5lZWQgdG8gZ28gdG8gUzMuXG4gICAgZm9yIChjb25zdCBwdWJsaWNEaXJFbnRyeSBvZiB0aGlzLnByb3BzLnB1YmxpY0RpckVudHJpZXMpIHtcbiAgICAgIGlmIChwdWJsaWNEaXJFbnRyeS5pc0RpcmVjdG9yeSkge1xuICAgICAgICB0aGlzLmJhc2VSZXNvdXJjZVxuICAgICAgICAgIC5hZGRSZXNvdXJjZShwdWJsaWNEaXJFbnRyeS5uYW1lKVxuICAgICAgICAgIC5hZGRSZXNvdXJjZShcIntwcm94eSt9XCIpXG4gICAgICAgICAgLmFkZE1ldGhvZChcbiAgICAgICAgICAgIFwiR0VUXCIsXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVMzSW50ZWdyYXRpb24oeyBrZXk6IGAke3B1YmxpY0RpckVudHJ5Lm5hbWV9L3trZXl9YCB9KSxcbiAgICAgICAgICAgIHRoaXMuZ2V0U3RhdGljTWV0aG9kT3B0aW9ucyh7IHByb3h5OiB0cnVlIH0pLFxuICAgICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmJhc2VSZXNvdXJjZVxuICAgICAgICAgIC5hZGRSZXNvdXJjZShwdWJsaWNEaXJFbnRyeS5uYW1lKVxuICAgICAgICAgIC5hZGRNZXRob2QoXG4gICAgICAgICAgICBcIkdFVFwiLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVTM0ludGVncmF0aW9uKHsga2V5OiBwdWJsaWNEaXJFbnRyeS5uYW1lIH0pLFxuICAgICAgICAgICAgdGhpcy5nZXRTdGF0aWNNZXRob2RPcHRpb25zKCksXG4gICAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTWFwcyBBUEkgcmVxdWVzdCB0byBTMyByZXF1ZXN0LlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9hcGlnYXRld2F5L2xhdGVzdC9kZXZlbG9wZXJndWlkZS9yZXN0LWFwaS1wYXJhbWV0ZXItbWFwcGluZy1zb3VyY2VzLmh0bWxcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYXBpZ2F0ZXdheS9sYXRlc3QvZGV2ZWxvcGVyZ3VpZGUvaW50ZWdyYXRpbmctYXBpLXdpdGgtYXdzLXNlcnZpY2VzLXMzLmh0bWwjYXBpLWl0ZW1zLWluLWZvbGRlci1hcy1zMy1vYmplY3RzLWluLWJ1Y2tldFxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVTM0ludGVncmF0aW9uKHsga2V5IH06IHsga2V5OiBzdHJpbmcgfSkge1xuICAgIGNvbnN0IHMzSW50ZWdyYXRpb24gPSBuZXcgQXdzSW50ZWdyYXRpb24oe1xuICAgICAgc2VydmljZTogXCJzM1wiLFxuICAgICAgaW50ZWdyYXRpb25IdHRwTWV0aG9kOiBcIkdFVFwiLFxuICAgICAgcGF0aDogYCR7dGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQuYnVja2V0TmFtZX0vJHtrZXl9YCxcbiAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgY3JlZGVudGlhbHNSb2xlOiB0aGlzLnN0YXRpY0ludGVncmF0aW9uUm9sZSxcbiAgICAgICAgcGFzc3Rocm91Z2hCZWhhdmlvcjogUGFzc3Rocm91Z2hCZWhhdmlvci5XSEVOX05PX1RFTVBMQVRFUywgLy8gcmVjb21tZW5kZWRcbiAgICAgICAgcmVxdWVzdFBhcmFtZXRlcnM6IGtleS5pbmNsdWRlcyhcIntrZXl9XCIpXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIFwiaW50ZWdyYXRpb24ucmVxdWVzdC5wYXRoLmtleVwiOiBcIm1ldGhvZC5yZXF1ZXN0LnBhdGgucHJveHlcIixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgaW50ZWdyYXRpb25SZXNwb25zZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBzdGF0dXNDb2RlOiBcIjIwMFwiLFxuICAgICAgICAgICAgcmVzcG9uc2VQYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICAgIFwibWV0aG9kLnJlc3BvbnNlLmhlYWRlci5Db250ZW50LVR5cGVcIjpcbiAgICAgICAgICAgICAgICBcImludGVncmF0aW9uLnJlc3BvbnNlLmhlYWRlci5Db250ZW50LVR5cGVcIixcbiAgICAgICAgICAgICAgXCJtZXRob2QucmVzcG9uc2UuaGVhZGVyLkNvbnRlbnQtTGVuZ3RoXCI6XG4gICAgICAgICAgICAgICAgXCJpbnRlZ3JhdGlvbi5yZXNwb25zZS5oZWFkZXIuQ29udGVudC1MZW5ndGhcIixcbiAgICAgICAgICAgICAgXCJtZXRob2QucmVzcG9uc2UuaGVhZGVyLkNhY2hlLUNvbnRyb2xcIjpcbiAgICAgICAgICAgICAgICBcImludGVncmF0aW9uLnJlc3BvbnNlLmhlYWRlci5DYWNoZS1Db250cm9sXCIsXG4gICAgICAgICAgICAgIFwibWV0aG9kLnJlc3BvbnNlLmhlYWRlci5FVGFnXCI6IFwiaW50ZWdyYXRpb24ucmVzcG9uc2UuaGVhZGVyLkVUYWdcIixcbiAgICAgICAgICAgICAgXCJtZXRob2QucmVzcG9uc2UuaGVhZGVyLkxhc3QtTW9kaWZpZWRcIjpcbiAgICAgICAgICAgICAgICBcImludGVncmF0aW9uLnJlc3BvbnNlLmhlYWRlci5MYXN0LU1vZGlmaWVkXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgc3RhdHVzQ29kZTogXCI0MDRcIixcbiAgICAgICAgICAgIHNlbGVjdGlvblBhdHRlcm46IFwiNDA0XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uc3RhdGljSW50ZWdyYXRpb25Qcm9wcyxcbiAgICB9KTtcbiAgICByZXR1cm4gczNJbnRlZ3JhdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U3RhdGljTWV0aG9kT3B0aW9ucyh7IHByb3h5IH0gPSB7IHByb3h5OiBmYWxzZSB9KTogTWV0aG9kT3B0aW9ucyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlcXVlc3RQYXJhbWV0ZXJzOiBwcm94eVxuICAgICAgICA/IHtcbiAgICAgICAgICAgIFwibWV0aG9kLnJlcXVlc3QucGF0aC5wcm94eVwiOiB0cnVlLFxuICAgICAgICAgIH1cbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICBtZXRob2RSZXNwb25zZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHN0YXR1c0NvZGU6IFwiMjAwXCIsXG4gICAgICAgICAgcmVzcG9uc2VQYXJhbWV0ZXJzOiB7XG4gICAgICAgICAgICBcIm1ldGhvZC5yZXNwb25zZS5oZWFkZXIuQ29udGVudC1UeXBlXCI6IHRydWUsXG4gICAgICAgICAgICBcIm1ldGhvZC5yZXNwb25zZS5oZWFkZXIuQ29udGVudC1MZW5ndGhcIjogdHJ1ZSxcbiAgICAgICAgICAgIFwibWV0aG9kLnJlc3BvbnNlLmhlYWRlci5DYWNoZS1Db250cm9sXCI6IHRydWUsXG4gICAgICAgICAgICBcIm1ldGhvZC5yZXNwb25zZS5oZWFkZXIuRVRhZ1wiOiB0cnVlLFxuICAgICAgICAgICAgXCJtZXRob2QucmVzcG9uc2UuaGVhZGVyLkxhc3QtTW9kaWZpZWRcIjogdHJ1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc3RhdHVzQ29kZTogXCI0MDRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uczNNZXRob2RPcHRpb25zLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIExhbWJkYSBQcm94eSBpbnRlZ3JhdGlvbiBmb3IgYWxsIG90aGVyIHJvdXRlc1xuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljSW50ZWdyYXRpb24oc2VydmVyRnVuY3Rpb246IElGdW5jdGlvbikge1xuICAgIGNvbnN0IGxhbWJkYUludGVncmF0aW9uID0gbmV3IExhbWJkYUludGVncmF0aW9uKHNlcnZlckZ1bmN0aW9uLCB7XG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uZHluYW1pY0ludGVncmF0aW9uUHJvcHMsXG4gICAgfSk7XG4gICAgLy8gQWRkIGNhdGNoLWFsbCByb3V0ZSBmb3Igc2VydmVyLXNpZGUgcmVuZGVyaW5nXG4gICAgdGhpcy5iYXNlUmVzb3VyY2UuYWRkTWV0aG9kKFwiQU5ZXCIsIGxhbWJkYUludGVncmF0aW9uKTtcbiAgICBjb25zdCBwcm94eVJlc291cmNlID0gdGhpcy5iYXNlUmVzb3VyY2UuYWRkUmVzb3VyY2UoXCJ7cHJveHkrfVwiKTtcbiAgICBwcm94eVJlc291cmNlLmFkZE1ldGhvZChcIkFOWVwiLCBsYW1iZGFJbnRlZ3JhdGlvbik7XG4gIH1cbn1cbiJdfQ==
@@ -104,5 +104,5 @@ class NextjsAssetsDeployment extends constructs_1.Construct {
104
104
  }
105
105
  exports.NextjsAssetsDeployment = NextjsAssetsDeployment;
106
106
  _a = JSII_RTTI_SYMBOL_1;
107
- NextjsAssetsDeployment[_a] = { fqn: "cdk-nextjs.NextjsAssetsDeployment", version: "0.4.2" };
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWFzc2V0cy1kZXBsb3ltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25leHRqcy1hc3NldHMtZGVwbG95bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNDQUFrQztBQUNsQyw2Q0FBdUQ7QUFHdkQsdURBSWdDO0FBRWhDLDJDQUF1QztBQUN2QywyQ0FRcUI7QUFLckIsK0RBQWlFO0FBNEVqRTs7R0FFRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsc0JBQVM7SUFNbkQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBa0M7UUFFbEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxnQ0FBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzdDLFlBQVksRUFBRSxJQUFBLHdDQUFxQixHQUFFO1lBQ3JDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWU7WUFDaEMsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFLHVCQUFVLENBQUMsa0JBQWtCLENBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUN0QixzQkFBVSxDQUNYO1lBQ0QsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRztZQUNuQixPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzVCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsd0JBQXdCO1NBQ2xELENBQUMsQ0FBQztRQUNILElBQUks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Z0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0I7WUFDN0MsY0FBYyxFQUFFLElBQUEsWUFBSSxFQUFDLHNCQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsNEJBQWdCLENBQUM7WUFDdEUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtTQUNsQyxDQUFDO1FBQ0YsT0FBTyxJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ2hELFVBQVU7WUFDVixZQUFZLEVBQUUsZ0NBQWdDO1lBQzlDLFlBQVksRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVztZQUNsRCxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLG1CQUFtQjtTQUM3QyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXBISCx3REFxSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGgvcG9zaXhcIjtcbmltcG9ydCB7IEN1c3RvbVJlc291cmNlLCBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgSVZwYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBBY2Nlc3NQb2ludCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWZzXCI7XG5pbXBvcnQge1xuICBEb2NrZXJJbWFnZUNvZGUsXG4gIERvY2tlckltYWdlRnVuY3Rpb24sXG4gIEZpbGVTeXN0ZW0sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgREFUQV9DQUNIRV9QQVRILFxuICBGVUxMX1JPVVRFX0NBQ0hFX1BBVEgsXG4gIElNQUdFX0NBQ0hFX1BBVEgsXG4gIE1PVU5UX1BBVEgsXG4gIE5leHRqc1R5cGUsXG4gIFBVQkxJQ19QQVRILFxuICBTVEFUSUNfUEFUSCxcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBPcHRpb25hbEN1c3RvbVJlc291cmNlUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbEN1c3RvbVJlc291cmNlUHJvcHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsRG9ja2VySW1hZ2VGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHNcIjtcbmltcG9ydCB7IE5leHRqc0J1aWxkIH0gZnJvbSBcIi4vbmV4dGpzLWJ1aWxkL25leHRqcy1idWlsZFwiO1xuaW1wb3J0IHsgTmV4dGpzQmFzZVByb3BzIH0gZnJvbSBcIi4vcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1iYXNlLXByb3BzXCI7XG5pbXBvcnQgeyBnZXRMYW1iZGFBcmNoaXRlY3R1cmUgfSBmcm9tIFwiLi91dGlscy9nZXQtYXJjaGl0ZWN0dXJlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzQXNzZXREZXBsb3ltZW50T3ZlcnJpZGVzIHtcbiAgLyoqXG4gICAqIFByb3BzIHRoYXQgZGVmaW5lIHRoZSBjdXN0b20gcmVzb3VyY2VcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVJlc291cmNlUHJvcHM/OiBPcHRpb25hbEN1c3RvbVJlc291cmNlUHJvcHM7XG4gIC8vIE5PVEU6IHdlIGRvbid0IG9mZmVyIG92ZXJyaWRpbmcgYGN1c3RvbVJlc291cmNlUHJvcGVydGllc2Agc2luY2UganNpaSBkb2Vzbid0IHN1cHBvcnQgdW5pb24gdHlwZXNcbiAgLy8gcmVhZG9ubHkgY3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzPzogT3B0aW9uYWxTdGF0aWNBc3NldHNDdXN0b21SZXNvdXJjZVByb3BlcnRpZXNcbiAgcmVhZG9ubHkgZG9ja2VySW1hZ2VGdW5jdGlvblByb3BzPzogT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzQXNzZXRzRGVwbG95bWVudFByb3BzIHtcbiAgcmVhZG9ubHkgYWNjZXNzUG9pbnQ6IEFjY2Vzc1BvaW50O1xuICAvKipcbiAgICogUHJlZml4IHRvIHRoZSBVUkkgcGF0aCB0aGUgYXBwIHdpbGwgYmUgc2VydmVkIGF0LlxuICAgKiBAZXhhbXBsZSBcIi9teS1iYXNlLXBhdGhcIlxuICAgKi9cbiAgcmVhZG9ubHkgYmFzZVBhdGg/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJ1aWxkSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE5leHRqc0J1aWxkLmJ1aWxkSW1hZ2VEaWdlc3R9XG4gICAqL1xuICByZWFkb25seSBidWlsZEltYWdlRGlnZXN0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBJZiB0cnVlLCBsb2dzIGRldGFpbHMgaW4gY3VzdG9tIHJlc291cmNlIGxhbWJkYVxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBkZWJ1Zz86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGRvY2tlckltYWdlQ29kZTogRG9ja2VySW1hZ2VDb2RlOyAvLyBUT0RPOiByZW1vdmUgYW5kIGJ1aWxkIGZyb20gY29tbW9uIGJ1aWxkZXIgYmFzZT9cbiAgcmVhZG9ubHkgbmV4dGpzVHlwZTogTmV4dGpzVHlwZTtcbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzQXNzZXREZXBsb3ltZW50T3ZlcnJpZGVzO1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTmV4dGpzQmFzZVByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZX1cbiAgICovXG4gIHJlYWRvbmx5IHJlbGF0aXZlUGF0aFRvUGFja2FnZT86IHN0cmluZztcbiAgLyoqXG4gICAqIFJlcXVpcmVkIGZvciBgTmV4dGpzVHlwZS5HbG9iYWxGdW5jdGlvbnNgIGFuZCBgTmV4dGpzVHlwZS5HbG9iYWxDb250YWluZXJzYFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhdGljQXNzZXRzQnVja2V0PzogQnVja2V0O1xuICByZWFkb25seSB2cGM6IElWcGM7XG59XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnNUb1MzQWN0aW9uIHtcbiAgdHlwZTogXCJmcy10by1zM1wiO1xuICBkZXN0aW5hdGlvbkJ1Y2tldE5hbWU6IHN0cmluZztcbiAgZGVzdGluYXRpb25LZXlQcmVmaXg/OiBzdHJpbmc7XG4gIHNvdXJjZVBhdGg6IHN0cmluZztcbn1cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnNUb0ZzQWN0aW9uIHtcbiAgdHlwZTogXCJmcy10by1mc1wiO1xuICBzb3VyY2VQYXRoOiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uUGF0aDogc3RyaW5nO1xuICBpbmNsdWRlRXh0ZW5zaW9ucz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRpY0Fzc2V0c0N1c3RvbVJlc291cmNlUHJvcGVydGllcyB7XG4gIGFjdGlvbnM6IChGc1RvUzNBY3Rpb24gfCBGc1RvRnNBY3Rpb24pW107XG4gIGJ1aWxkSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE5leHRqc0J1aWxkLmJ1aWxkSW1hZ2VEaWdlc3R9XG4gICAqL1xuICBidWlsZEltYWdlRGlnZXN0OiBzdHJpbmc7XG4gIGltYWdlQ2FjaGVQYXRoOiBzdHJpbmc7XG4gIG5leHRqc1R5cGU6IE5leHRqc1R5cGU7XG59XG5cbi8qKlxuICogRGVwbG95cyBzdGF0aWMgYXNzZXRzIHRvIFMzIGFuZCBjYWNoZSBhc3NldHMgdG8gRUZTIGluIExhbWJkYSBDdXN0b20gUmVzb3VyY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBOZXh0anNBc3NldHNEZXBsb3ltZW50IGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgY3VzdG9tUmVzb3VyY2U6IEN1c3RvbVJlc291cmNlO1xuICBkb2NrZXJJbWFnZUZ1bmN0aW9uOiBEb2NrZXJJbWFnZUZ1bmN0aW9uO1xuXG4gIHByaXZhdGUgcHJvcHM6IE5leHRqc0Fzc2V0c0RlcGxveW1lbnRQcm9wcztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzY29wZTogQ29uc3RydWN0LFxuICAgIGlkOiBzdHJpbmcsXG4gICAgcHJvcHM6IE5leHRqc0Fzc2V0c0RlcGxveW1lbnRQcm9wcyxcbiAgKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5kb2NrZXJJbWFnZUZ1bmN0aW9uID0gdGhpcy5jcmVhdGVGdW5jdGlvbigpO1xuICAgIHRoaXMuY3VzdG9tUmVzb3VyY2UgPSB0aGlzLmNyZWF0ZUN1c3RvbVJlc291cmNlKCk7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IGZuID0gbmV3IERvY2tlckltYWdlRnVuY3Rpb24odGhpcywgXCJGblwiLCB7XG4gICAgICBhcmNoaXRlY3R1cmU6IGdldExhbWJkYUFyY2hpdGVjdHVyZSgpLFxuICAgICAgY29kZTogdGhpcy5wcm9wcy5kb2NrZXJJbWFnZUNvZGUsXG4gICAgICBtZW1vcnlTaXplOiAyMDQ4LFxuICAgICAgZmlsZXN5c3RlbTogRmlsZVN5c3RlbS5mcm9tRWZzQWNjZXNzUG9pbnQoXG4gICAgICAgIHRoaXMucHJvcHMuYWNjZXNzUG9pbnQsXG4gICAgICAgIE1PVU5UX1BBVEgsXG4gICAgICApLFxuICAgICAgdnBjOiB0aGlzLnByb3BzLnZwYyxcbiAgICAgIHRpbWVvdXQ6IER1cmF0aW9uLm1pbnV0ZXMoNSksXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uZG9ja2VySW1hZ2VGdW5jdGlvblByb3BzLFxuICAgIH0pO1xuICAgIGlmICh0aGlzLnByb3BzLmRlYnVnICE9PSBmYWxzZSkge1xuICAgICAgZm4uYWRkRW52aXJvbm1lbnQoXCJERUJVR1wiLCBcIjFcIik7XG4gICAgfVxuICAgIGlmICh0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldCkge1xuICAgICAgdGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQuZ3JhbnRSZWFkV3JpdGUoZm4pO1xuICAgIH1cbiAgICByZXR1cm4gZm47XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUN1c3RvbVJlc291cmNlKCkge1xuICAgIGNvbnN0IHJvb3QgPSBcIi9hcHBcIjtcbiAgICBjb25zdCBhY3Rpb25zOiBTdGF0aWNBc3NldHNDdXN0b21SZXNvdXJjZVByb3BlcnRpZXNbXCJhY3Rpb25zXCJdID0gW107XG4gICAgaWYgKHRoaXMucHJvcHMuc3RhdGljQXNzZXRzQnVja2V0Py5idWNrZXROYW1lKSB7XG4gICAgICAvLyBQcmVwYXJlIHRoZSBkZXN0aW5hdGlvbiBrZXkgcHJlZml4IHdpdGggYmFzZVBhdGggd2hlbiBhdmFpbGFibGVcbiAgICAgIGNvbnN0IHN0YXRpY0tleVByZWZpeCA9IHRoaXMucHJvcHMuYmFzZVBhdGhcbiAgICAgICAgPyBgJHt0aGlzLnByb3BzLmJhc2VQYXRoLnJlcGxhY2UoL15cXC8vLCBcIlwiKX0vX25leHQvc3RhdGljYFxuICAgICAgICA6IFwiX25leHQvc3RhdGljXCI7XG5cbiAgICAgIGFjdGlvbnMucHVzaChcbiAgICAgICAgLy8gc3RhdGljIGZpbGVzXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImZzLXRvLXMzXCIsXG4gICAgICAgICAgc291cmNlUGF0aDogam9pbihyb290LCBTVEFUSUNfUEFUSCksXG4gICAgICAgICAgZGVzdGluYXRpb25CdWNrZXROYW1lOiB0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICAgIGRlc3RpbmF0aW9uS2V5UHJlZml4OiBzdGF0aWNLZXlQcmVmaXgsXG4gICAgICAgIH0sXG4gICAgICAgIC8vIHB1YmxpYyBkaXJlY3RvcnkgdG8gczMgZm9yIENsb3VkRnJvbnQgLT4gUzNcbiAgICAgICAge1xuICAgICAgICAgIHR5cGU6IFwiZnMtdG8tczNcIixcbiAgICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFBVQkxJQ19QQVRIKSxcbiAgICAgICAgICBkZXN0aW5hdGlvbkJ1Y2tldE5hbWU6IHRoaXMucHJvcHMuc3RhdGljQXNzZXRzQnVja2V0LmJ1Y2tldE5hbWUsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cbiAgICBhY3Rpb25zLnB1c2goXG4gICAgICAvLyBmdWxsIHJvdXRlIGNhY2hlIC0gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvYXBwL2J1aWxkaW5nLXlvdXItYXBwbGljYXRpb24vY2FjaGluZyNmdWxsLXJvdXRlLWNhY2hlXG4gICAgICB7XG4gICAgICAgIHR5cGU6IFwiZnMtdG8tZnNcIixcbiAgICAgICAgc291cmNlUGF0aDogam9pbihcbiAgICAgICAgICByb290LFxuICAgICAgICAgIFwiLm5leHRcIixcbiAgICAgICAgICBcInN0YW5kYWxvbmVcIixcbiAgICAgICAgICB0aGlzLnByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSB8fCBcIlwiLFxuICAgICAgICAgIEZVTExfUk9VVEVfQ0FDSEVfUEFUSCxcbiAgICAgICAgKSxcbiAgICAgICAgZGVzdGluYXRpb25QYXRoOiBqb2luKFxuICAgICAgICAgIE1PVU5UX1BBVEgsXG4gICAgICAgICAgdGhpcy5wcm9wcy5idWlsZElkLFxuICAgICAgICAgIEZVTExfUk9VVEVfQ0FDSEVfUEFUSCxcbiAgICAgICAgKSxcbiAgICAgICAgLy8gb25seSBmaWxlcyB3aXRoIHRoZXNlIGV4dGVuc2lvbnMgYXJlIG5lZWRlZCBpbiBFRlMgRmlsZVN5c3RlbSBjYWNoZVxuICAgICAgICAvLyBzaW5jZSB0aGVzZSBmaWxlcyBhcmUgdGhlIG9ubHkgb25lcyB1cGRhdGVkIGJ5IE5leHQuanMgZHVyaW5nIHJ1bnRpbWUuXG4gICAgICAgIC8vIG90aGVyIGZpbGVzIGxpa2UgLmpzIGFuZCAubmZ0Lmpzb24gZmlsZXMgYXJlIHN0YXRpYyBwZXIgZGVwbG95bWVudFxuICAgICAgICBpbmNsdWRlRXh0ZW5zaW9uczogW1wiYm9keVwiLCBcImh0bWxcIiwgXCJyc2NcIiwgXCJtZXRhXCJdLFxuICAgICAgfSxcbiAgICAgIC8vIGFmdGVyIGBuZXh0IGJ1aWxkYCBkYXRhIGNhY2hlIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL2NhY2hpbmcjZGF0YS1jYWNoZVxuICAgICAgLy8gZXhpc3RzIGF0IHRvcCBsZXZlbCAubmV4dC9jYWNoZSBzbyB3ZSBuZWVkIHRvIGNvcHkgaW50byByZWxhdGl2ZVBhdGhUb1BhY2thZ2VcbiAgICAgIC8vIG5vcm1hbGl6ZWQgcGF0aFxuICAgICAge1xuICAgICAgICB0eXBlOiBcImZzLXRvLWZzXCIsXG4gICAgICAgIHNvdXJjZVBhdGg6IGpvaW4ocm9vdCwgREFUQV9DQUNIRV9QQVRIKSxcbiAgICAgICAgZGVzdGluYXRpb25QYXRoOiBqb2luKE1PVU5UX1BBVEgsIHRoaXMucHJvcHMuYnVpbGRJZCwgREFUQV9DQUNIRV9QQVRIKSxcbiAgICAgIH0sXG4gICAgICAvLyBwdWJsaWMgZGlyZWN0b3J5IHRvIEVGUyBmb3IgbmVlZGVkIG9wdGltaXppbmcgaW1hZ2VzIGluIHB1YmxpYyBkaXJlY3RvcnlcbiAgICAgIC8vIHdlIGRvbid0IGxvYWQgdGhlc2UgaW50byBjb21wdXRlIHRvIHNhdmUgb24gaW1hZ2Ugc2l6ZVxuICAgICAge1xuICAgICAgICB0eXBlOiBcImZzLXRvLWZzXCIsXG4gICAgICAgIHNvdXJjZVBhdGg6IGpvaW4ocm9vdCwgUFVCTElDX1BBVEgpLFxuICAgICAgICBkZXN0aW5hdGlvblBhdGg6IGpvaW4oTU9VTlRfUEFUSCwgdGhpcy5wcm9wcy5idWlsZElkLCBQVUJMSUNfUEFUSCksXG4gICAgICB9LFxuICAgICAgLy8gaW1hZ2VzIGFyZSBvcHRpbWl6ZWQgYXQgcnVudGltZSBzbyBub3RoaW5nIHRvIGRlcGxveVxuICAgICk7XG4gICAgY29uc3QgcHJvcGVydGllczogU3RhdGljQXNzZXRzQ3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzID0ge1xuICAgICAgYWN0aW9ucyxcbiAgICAgIGJ1aWxkSWQ6IHRoaXMucHJvcHMuYnVpbGRJZCxcbiAgICAgIC8vIGVuc3VyZXMgdGhpcyBDUiBydW5zIGVhY2ggdGltZSBuZXcgYnVpbGRlciBpbWFnZVxuICAgICAgYnVpbGRJbWFnZURpZ2VzdDogdGhpcy5wcm9wcy5idWlsZEltYWdlRGlnZXN0LFxuICAgICAgaW1hZ2VDYWNoZVBhdGg6IGpvaW4oTU9VTlRfUEFUSCwgdGhpcy5wcm9wcy5idWlsZElkLCBJTUFHRV9DQUNIRV9QQVRIKSxcbiAgICAgIG5leHRqc1R5cGU6IHRoaXMucHJvcHMubmV4dGpzVHlwZSxcbiAgICB9O1xuICAgIHJldHVybiBuZXcgQ3VzdG9tUmVzb3VyY2UodGhpcywgXCJDdXN0b21SZXNvdXJjZVwiLCB7XG4gICAgICBwcm9wZXJ0aWVzLFxuICAgICAgcmVzb3VyY2VUeXBlOiBcIkN1c3RvbTo6TmV4dGpzQXNzZXRzRGVwbG95bWVudFwiLFxuICAgICAgc2VydmljZVRva2VuOiB0aGlzLmRvY2tlckltYWdlRnVuY3Rpb24uZnVuY3Rpb25Bcm4sXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uY3VzdG9tUmVzb3VyY2VQcm9wcyxcbiAgICB9KTtcbiAgfVxufVxuIl19
107
+ NextjsAssetsDeployment[_a] = { fqn: "cdk-nextjs.NextjsAssetsDeployment", version: "0.4.4" };
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWFzc2V0cy1kZXBsb3ltZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25leHRqcy1hc3NldHMtZGVwbG95bWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHNDQUFrQztBQUNsQyw2Q0FBdUQ7QUFHdkQsdURBSWdDO0FBRWhDLDJDQUF1QztBQUN2QywyQ0FRcUI7QUFLckIsK0RBQWlFO0FBNEVqRTs7R0FFRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsc0JBQVM7SUFNbkQsWUFDRSxLQUFnQixFQUNoQixFQUFVLEVBQ1YsS0FBa0M7UUFFbEMsS0FBSyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ2pELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDcEQsQ0FBQztJQUVPLGNBQWM7UUFDcEIsTUFBTSxFQUFFLEdBQUcsSUFBSSxnQ0FBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQzdDLFlBQVksRUFBRSxJQUFBLHdDQUFxQixHQUFFO1lBQ3JDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWU7WUFDaEMsVUFBVSxFQUFFLElBQUk7WUFDaEIsVUFBVSxFQUFFLHVCQUFVLENBQUMsa0JBQWtCLENBQ3ZDLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUN0QixzQkFBVSxDQUNYO1lBQ0QsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRztZQUNuQixPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQzVCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsd0JBQXdCO1NBQ2xELENBQUMsQ0FBQztRQUNILElBQUks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Z0JBQWdCLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxnQkFBZ0I7WUFDN0MsY0FBYyxFQUFFLElBQUEsWUFBSSxFQUFDLHNCQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsNEJBQWdCLENBQUM7WUFDdEUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVTtTQUNsQyxDQUFDO1FBQ0YsT0FBTyxJQUFJLDRCQUFjLENBQUMsSUFBSSxFQUFFLGdCQUFnQixFQUFFO1lBQ2hELFVBQVU7WUFDVixZQUFZLEVBQUUsZ0NBQWdDO1lBQzlDLFlBQVksRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsV0FBVztZQUNsRCxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLG1CQUFtQjtTQUM3QyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQXBISCx3REFxSEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGgvcG9zaXhcIjtcbmltcG9ydCB7IEN1c3RvbVJlc291cmNlLCBEdXJhdGlvbiB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgSVZwYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyBBY2Nlc3NQb2ludCB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWZzXCI7XG5pbXBvcnQge1xuICBEb2NrZXJJbWFnZUNvZGUsXG4gIERvY2tlckltYWdlRnVuY3Rpb24sXG4gIEZpbGVTeXN0ZW0sXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBCdWNrZXQgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLXMzXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgREFUQV9DQUNIRV9QQVRILFxuICBGVUxMX1JPVVRFX0NBQ0hFX1BBVEgsXG4gIElNQUdFX0NBQ0hFX1BBVEgsXG4gIE1PVU5UX1BBVEgsXG4gIE5leHRqc1R5cGUsXG4gIFBVQkxJQ19QQVRILFxuICBTVEFUSUNfUEFUSCxcbn0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBPcHRpb25hbEN1c3RvbVJlc291cmNlUHJvcHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbEN1c3RvbVJlc291cmNlUHJvcHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsRG9ja2VySW1hZ2VGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHNcIjtcbmltcG9ydCB7IE5leHRqc0J1aWxkIH0gZnJvbSBcIi4vbmV4dGpzLWJ1aWxkL25leHRqcy1idWlsZFwiO1xuaW1wb3J0IHsgTmV4dGpzQmFzZVByb3BzIH0gZnJvbSBcIi4vcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1iYXNlLWNvbnN0cnVjdFwiO1xuaW1wb3J0IHsgZ2V0TGFtYmRhQXJjaGl0ZWN0dXJlIH0gZnJvbSBcIi4vdXRpbHMvZ2V0LWFyY2hpdGVjdHVyZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0Fzc2V0RGVwbG95bWVudE92ZXJyaWRlcyB7XG4gIC8qKlxuICAgKiBQcm9wcyB0aGF0IGRlZmluZSB0aGUgY3VzdG9tIHJlc291cmNlXG4gICAqL1xuICByZWFkb25seSBjdXN0b21SZXNvdXJjZVByb3BzPzogT3B0aW9uYWxDdXN0b21SZXNvdXJjZVByb3BzO1xuICAvLyBOT1RFOiB3ZSBkb24ndCBvZmZlciBvdmVycmlkaW5nIGBjdXN0b21SZXNvdXJjZVByb3BlcnRpZXNgIHNpbmNlIGpzaWkgZG9lc24ndCBzdXBwb3J0IHVuaW9uIHR5cGVzXG4gIC8vIHJlYWRvbmx5IGN1c3RvbVJlc291cmNlUHJvcGVydGllcz86IE9wdGlvbmFsU3RhdGljQXNzZXRzQ3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzXG4gIHJlYWRvbmx5IGRvY2tlckltYWdlRnVuY3Rpb25Qcm9wcz86IE9wdGlvbmFsRG9ja2VySW1hZ2VGdW5jdGlvblByb3BzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0Fzc2V0c0RlcGxveW1lbnRQcm9wcyB7XG4gIHJlYWRvbmx5IGFjY2Vzc1BvaW50OiBBY2Nlc3NQb2ludDtcbiAgLyoqXG4gICAqIFByZWZpeCB0byB0aGUgVVJJIHBhdGggdGhlIGFwcCB3aWxsIGJlIHNlcnZlZCBhdC5cbiAgICogQGV4YW1wbGUgXCIvbXktYmFzZS1wYXRoXCJcbiAgICovXG4gIHJlYWRvbmx5IGJhc2VQYXRoPzogc3RyaW5nO1xuICByZWFkb25seSBidWlsZElkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCdWlsZC5idWlsZEltYWdlRGlnZXN0fVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRJbWFnZURpZ2VzdDogc3RyaW5nO1xuICAvKipcbiAgICogSWYgdHJ1ZSwgbG9ncyBkZXRhaWxzIGluIGN1c3RvbSByZXNvdXJjZSBsYW1iZGFcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZGVidWc/OiBib29sZWFuO1xuICByZWFkb25seSBkb2NrZXJJbWFnZUNvZGU6IERvY2tlckltYWdlQ29kZTsgLy8gVE9ETzogcmVtb3ZlIGFuZCBidWlsZCBmcm9tIGNvbW1vbiBidWlsZGVyIGJhc2U/XG4gIHJlYWRvbmx5IG5leHRqc1R5cGU6IE5leHRqc1R5cGU7XG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IE5leHRqc0Fzc2V0RGVwbG95bWVudE92ZXJyaWRlcztcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE5leHRqc0Jhc2VQcm9wcy5yZWxhdGl2ZVBhdGhUb1BhY2thZ2V9XG4gICAqL1xuICByZWFkb25seSByZWxhdGl2ZVBhdGhUb1BhY2thZ2U/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBSZXF1aXJlZCBmb3IgYE5leHRqc1R5cGUuR2xvYmFsRnVuY3Rpb25zYCBhbmQgYE5leHRqc1R5cGUuR2xvYmFsQ29udGFpbmVyc2BcbiAgICovXG4gIHJlYWRvbmx5IHN0YXRpY0Fzc2V0c0J1Y2tldD86IEJ1Y2tldDtcbiAgcmVhZG9ubHkgdnBjOiBJVnBjO1xufVxuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZzVG9TM0FjdGlvbiB7XG4gIHR5cGU6IFwiZnMtdG8tczNcIjtcbiAgZGVzdGluYXRpb25CdWNrZXROYW1lOiBzdHJpbmc7XG4gIGRlc3RpbmF0aW9uS2V5UHJlZml4Pzogc3RyaW5nO1xuICBzb3VyY2VQYXRoOiBzdHJpbmc7XG59XG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZzVG9Gc0FjdGlvbiB7XG4gIHR5cGU6IFwiZnMtdG8tZnNcIjtcbiAgc291cmNlUGF0aDogc3RyaW5nO1xuICBkZXN0aW5hdGlvblBhdGg6IHN0cmluZztcbiAgaW5jbHVkZUV4dGVuc2lvbnM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0aWNBc3NldHNDdXN0b21SZXNvdXJjZVByb3BlcnRpZXMge1xuICBhY3Rpb25zOiAoRnNUb1MzQWN0aW9uIHwgRnNUb0ZzQWN0aW9uKVtdO1xuICBidWlsZElkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCdWlsZC5idWlsZEltYWdlRGlnZXN0fVxuICAgKi9cbiAgYnVpbGRJbWFnZURpZ2VzdDogc3RyaW5nO1xuICBpbWFnZUNhY2hlUGF0aDogc3RyaW5nO1xuICBuZXh0anNUeXBlOiBOZXh0anNUeXBlO1xufVxuXG4vKipcbiAqIERlcGxveXMgc3RhdGljIGFzc2V0cyB0byBTMyBhbmQgY2FjaGUgYXNzZXRzIHRvIEVGUyBpbiBMYW1iZGEgQ3VzdG9tIFJlc291cmNlLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzQXNzZXRzRGVwbG95bWVudCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGN1c3RvbVJlc291cmNlOiBDdXN0b21SZXNvdXJjZTtcbiAgZG9ja2VySW1hZ2VGdW5jdGlvbjogRG9ja2VySW1hZ2VGdW5jdGlvbjtcblxuICBwcml2YXRlIHByb3BzOiBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHM7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIHByb3BzOiBOZXh0anNBc3NldHNEZXBsb3ltZW50UHJvcHMsXG4gICkge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5wcm9wcyA9IHByb3BzO1xuICAgIHRoaXMuZG9ja2VySW1hZ2VGdW5jdGlvbiA9IHRoaXMuY3JlYXRlRnVuY3Rpb24oKTtcbiAgICB0aGlzLmN1c3RvbVJlc291cmNlID0gdGhpcy5jcmVhdGVDdXN0b21SZXNvdXJjZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGdW5jdGlvbigpIHtcbiAgICBjb25zdCBmbiA9IG5ldyBEb2NrZXJJbWFnZUZ1bmN0aW9uKHRoaXMsIFwiRm5cIiwge1xuICAgICAgYXJjaGl0ZWN0dXJlOiBnZXRMYW1iZGFBcmNoaXRlY3R1cmUoKSxcbiAgICAgIGNvZGU6IHRoaXMucHJvcHMuZG9ja2VySW1hZ2VDb2RlLFxuICAgICAgbWVtb3J5U2l6ZTogMjA0OCxcbiAgICAgIGZpbGVzeXN0ZW06IEZpbGVTeXN0ZW0uZnJvbUVmc0FjY2Vzc1BvaW50KFxuICAgICAgICB0aGlzLnByb3BzLmFjY2Vzc1BvaW50LFxuICAgICAgICBNT1VOVF9QQVRILFxuICAgICAgKSxcbiAgICAgIHZwYzogdGhpcy5wcm9wcy52cGMsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5taW51dGVzKDUpLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmRvY2tlckltYWdlRnVuY3Rpb25Qcm9wcyxcbiAgICB9KTtcbiAgICBpZiAodGhpcy5wcm9wcy5kZWJ1ZyAhPT0gZmFsc2UpIHtcbiAgICAgIGZuLmFkZEVudmlyb25tZW50KFwiREVCVUdcIiwgXCIxXCIpO1xuICAgIH1cbiAgICBpZiAodGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQpIHtcbiAgICAgIHRoaXMucHJvcHMuc3RhdGljQXNzZXRzQnVja2V0LmdyYW50UmVhZFdyaXRlKGZuKTtcbiAgICB9XG4gICAgcmV0dXJuIGZuO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDdXN0b21SZXNvdXJjZSgpIHtcbiAgICBjb25zdCByb290ID0gXCIvYXBwXCI7XG4gICAgY29uc3QgYWN0aW9uczogU3RhdGljQXNzZXRzQ3VzdG9tUmVzb3VyY2VQcm9wZXJ0aWVzW1wiYWN0aW9uc1wiXSA9IFtdO1xuICAgIGlmICh0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldD8uYnVja2V0TmFtZSkge1xuICAgICAgLy8gUHJlcGFyZSB0aGUgZGVzdGluYXRpb24ga2V5IHByZWZpeCB3aXRoIGJhc2VQYXRoIHdoZW4gYXZhaWxhYmxlXG4gICAgICBjb25zdCBzdGF0aWNLZXlQcmVmaXggPSB0aGlzLnByb3BzLmJhc2VQYXRoXG4gICAgICAgID8gYCR7dGhpcy5wcm9wcy5iYXNlUGF0aC5yZXBsYWNlKC9eXFwvLywgXCJcIil9L19uZXh0L3N0YXRpY2BcbiAgICAgICAgOiBcIl9uZXh0L3N0YXRpY1wiO1xuXG4gICAgICBhY3Rpb25zLnB1c2goXG4gICAgICAgIC8vIHN0YXRpYyBmaWxlc1xuICAgICAgICB7XG4gICAgICAgICAgdHlwZTogXCJmcy10by1zM1wiLFxuICAgICAgICAgIHNvdXJjZVBhdGg6IGpvaW4ocm9vdCwgU1RBVElDX1BBVEgpLFxuICAgICAgICAgIGRlc3RpbmF0aW9uQnVja2V0TmFtZTogdGhpcy5wcm9wcy5zdGF0aWNBc3NldHNCdWNrZXQuYnVja2V0TmFtZSxcbiAgICAgICAgICBkZXN0aW5hdGlvbktleVByZWZpeDogc3RhdGljS2V5UHJlZml4LFxuICAgICAgICB9LFxuICAgICAgICAvLyBwdWJsaWMgZGlyZWN0b3J5IHRvIHMzIGZvciBDbG91ZEZyb250IC0+IFMzXG4gICAgICAgIHtcbiAgICAgICAgICB0eXBlOiBcImZzLXRvLXMzXCIsXG4gICAgICAgICAgc291cmNlUGF0aDogam9pbihyb290LCBQVUJMSUNfUEFUSCksXG4gICAgICAgICAgZGVzdGluYXRpb25CdWNrZXROYW1lOiB0aGlzLnByb3BzLnN0YXRpY0Fzc2V0c0J1Y2tldC5idWNrZXROYW1lLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gICAgYWN0aW9ucy5wdXNoKFxuICAgICAgLy8gZnVsbCByb3V0ZSBjYWNoZSAtIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL2NhY2hpbmcjZnVsbC1yb3V0ZS1jYWNoZVxuICAgICAge1xuICAgICAgICB0eXBlOiBcImZzLXRvLWZzXCIsXG4gICAgICAgIHNvdXJjZVBhdGg6IGpvaW4oXG4gICAgICAgICAgcm9vdCxcbiAgICAgICAgICBcIi5uZXh0XCIsXG4gICAgICAgICAgXCJzdGFuZGFsb25lXCIsXG4gICAgICAgICAgdGhpcy5wcm9wcy5yZWxhdGl2ZVBhdGhUb1BhY2thZ2UgfHwgXCJcIixcbiAgICAgICAgICBGVUxMX1JPVVRFX0NBQ0hFX1BBVEgsXG4gICAgICAgICksXG4gICAgICAgIGRlc3RpbmF0aW9uUGF0aDogam9pbihcbiAgICAgICAgICBNT1VOVF9QQVRILFxuICAgICAgICAgIHRoaXMucHJvcHMuYnVpbGRJZCxcbiAgICAgICAgICBGVUxMX1JPVVRFX0NBQ0hFX1BBVEgsXG4gICAgICAgICksXG4gICAgICAgIC8vIG9ubHkgZmlsZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIGFyZSBuZWVkZWQgaW4gRUZTIEZpbGVTeXN0ZW0gY2FjaGVcbiAgICAgICAgLy8gc2luY2UgdGhlc2UgZmlsZXMgYXJlIHRoZSBvbmx5IG9uZXMgdXBkYXRlZCBieSBOZXh0LmpzIGR1cmluZyBydW50aW1lLlxuICAgICAgICAvLyBvdGhlciBmaWxlcyBsaWtlIC5qcyBhbmQgLm5mdC5qc29uIGZpbGVzIGFyZSBzdGF0aWMgcGVyIGRlcGxveW1lbnRcbiAgICAgICAgaW5jbHVkZUV4dGVuc2lvbnM6IFtcImJvZHlcIiwgXCJodG1sXCIsIFwicnNjXCIsIFwibWV0YVwiXSxcbiAgICAgIH0sXG4gICAgICAvLyBhZnRlciBgbmV4dCBidWlsZGAgZGF0YSBjYWNoZSBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9jYWNoaW5nI2RhdGEtY2FjaGVcbiAgICAgIC8vIGV4aXN0cyBhdCB0b3AgbGV2ZWwgLm5leHQvY2FjaGUgc28gd2UgbmVlZCB0byBjb3B5IGludG8gcmVsYXRpdmVQYXRoVG9QYWNrYWdlXG4gICAgICAvLyBub3JtYWxpemVkIHBhdGhcbiAgICAgIHtcbiAgICAgICAgdHlwZTogXCJmcy10by1mc1wiLFxuICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIERBVEFfQ0FDSEVfUEFUSCksXG4gICAgICAgIGRlc3RpbmF0aW9uUGF0aDogam9pbihNT1VOVF9QQVRILCB0aGlzLnByb3BzLmJ1aWxkSWQsIERBVEFfQ0FDSEVfUEFUSCksXG4gICAgICB9LFxuICAgICAgLy8gcHVibGljIGRpcmVjdG9yeSB0byBFRlMgZm9yIG5lZWRlZCBvcHRpbWl6aW5nIGltYWdlcyBpbiBwdWJsaWMgZGlyZWN0b3J5XG4gICAgICAvLyB3ZSBkb24ndCBsb2FkIHRoZXNlIGludG8gY29tcHV0ZSB0byBzYXZlIG9uIGltYWdlIHNpemVcbiAgICAgIHtcbiAgICAgICAgdHlwZTogXCJmcy10by1mc1wiLFxuICAgICAgICBzb3VyY2VQYXRoOiBqb2luKHJvb3QsIFBVQkxJQ19QQVRIKSxcbiAgICAgICAgZGVzdGluYXRpb25QYXRoOiBqb2luKE1PVU5UX1BBVEgsIHRoaXMucHJvcHMuYnVpbGRJZCwgUFVCTElDX1BBVEgpLFxuICAgICAgfSxcbiAgICAgIC8vIGltYWdlcyBhcmUgb3B0aW1pemVkIGF0IHJ1bnRpbWUgc28gbm90aGluZyB0byBkZXBsb3lcbiAgICApO1xuICAgIGNvbnN0IHByb3BlcnRpZXM6IFN0YXRpY0Fzc2V0c0N1c3RvbVJlc291cmNlUHJvcGVydGllcyA9IHtcbiAgICAgIGFjdGlvbnMsXG4gICAgICBidWlsZElkOiB0aGlzLnByb3BzLmJ1aWxkSWQsXG4gICAgICAvLyBlbnN1cmVzIHRoaXMgQ1IgcnVucyBlYWNoIHRpbWUgbmV3IGJ1aWxkZXIgaW1hZ2VcbiAgICAgIGJ1aWxkSW1hZ2VEaWdlc3Q6IHRoaXMucHJvcHMuYnVpbGRJbWFnZURpZ2VzdCxcbiAgICAgIGltYWdlQ2FjaGVQYXRoOiBqb2luKE1PVU5UX1BBVEgsIHRoaXMucHJvcHMuYnVpbGRJZCwgSU1BR0VfQ0FDSEVfUEFUSCksXG4gICAgICBuZXh0anNUeXBlOiB0aGlzLnByb3BzLm5leHRqc1R5cGUsXG4gICAgfTtcbiAgICByZXR1cm4gbmV3IEN1c3RvbVJlc291cmNlKHRoaXMsIFwiQ3VzdG9tUmVzb3VyY2VcIiwge1xuICAgICAgcHJvcGVydGllcyxcbiAgICAgIHJlc291cmNlVHlwZTogXCJDdXN0b206Ok5leHRqc0Fzc2V0c0RlcGxveW1lbnRcIixcbiAgICAgIHNlcnZpY2VUb2tlbjogdGhpcy5kb2NrZXJJbWFnZUZ1bmN0aW9uLmZ1bmN0aW9uQXJuLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmN1c3RvbVJlc291cmNlUHJvcHMsXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -3,7 +3,7 @@ import { AssetImageCodeProps, DockerImageCode } from "aws-cdk-lib/aws-lambda";
3
3
  import { Construct } from "constructs";
4
4
  import { NextjsType } from "../constants";
5
5
  import { OptionalDockerImageAssetProps } from "../generated-structs/OptionalDockerImageAssetProps";
6
- import { NextjsBaseProps } from "../root-constructs/nextjs-base-props";
6
+ import { NextjsBaseProps } from "../root-constructs/nextjs-base-construct";
7
7
  export interface BuilderImageProps {
8
8
  /**
9
9
  * Build Args to be passed to `docker build` command.
@@ -234,5 +234,5 @@ class NextjsBuild extends constructs_1.Construct {
234
234
  }
235
235
  exports.NextjsBuild = NextjsBuild;
236
236
  _a = JSII_RTTI_SYMBOL_1;
237
- NextjsBuild[_a] = { fqn: "cdk-nextjs.NextjsBuild", version: "0.4.2" };
238
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25leHRqcy1idWlsZC9uZXh0anMtYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyREFBOEM7QUFDOUMscUNBQXNFO0FBQ3RFLHlDQUEyQztBQUMzQywyQ0FBb0Q7QUFDcEQsNkNBQXlDO0FBQ3pDLCtEQUF3RTtBQUN4RSx1REFBOEU7QUFDOUUsMkNBQXVDO0FBQ3ZDLDRDQWdCc0I7QUE0R3RCOzs7R0FHRztBQUNILE1BQWEsV0FBWSxTQUFRLHNCQUFTO0lBb0R4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFWbkI7O1dBRUc7UUFDSyxxQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQztRQUV4QyxxQkFBZ0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUM7UUFNNUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2hGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMscUJBQXFCLElBQUksR0FBRyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDckQsSUFBSSxD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QUVPLG9DQUFvQztRQUMxQyxNQUFNLGNBQWMsR0FBRyw4QkFBOEIsQ0FBQztRQUN0RDs7V0FFRztRQUNILE1BQU0sWUFBWSxHQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxpQ0FBaUM7WUFDdkQsSUFBQSxnQkFBSSxFQUNGLFNBQVMsRUFDVCxJQUFJLEVBQ0osSUFBSSxFQUNKLFFBQVEsRUFDUixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLDBCQUEwQixDQUMzQixDQUFDO1FBQ0osc0VBQXNFO1FBQ3RFLG1FQUFtRTtRQUNuRSx5QkFBeUI7UUFDekIsTUFBTSxlQUFlLEdBQUcsNEJBQWUsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFO1lBQ25FLFNBQVMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsb0NBQW9DO1lBQ3RFLElBQUksRUFBRSxjQUFjO1lBQ3BCLFVBQVUsRUFBRSx3QkFBVSxDQUFDLE1BQU07WUFDN0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSx3Q0FBd0M7WUFDakUsU0FBUyxFQUFFO2dCQUNULENBQUMsNkJBQWlCLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDakMsQ0FBQyx3Q0FBNEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxpQkFBaUI7Z0JBQ3RELENBQUMsZ0NBQW9CLENBQUMsRUFBRSx1QkFBVztnQkFDbkMsQ0FBQyw2Q0FBaUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxxQkFBcUI7Z0JBQy9ELEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsd0NBQXdDO29CQUMvRCxFQUFFLFNBQVM7YUFDZDtTQUNGLENBQUMsQ0FBQztRQUNILE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7O0FBOVRILGtDQStUQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgY3BTeW5jLCByZWFkRmlsZVN5bmMsIHJtU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBiYXNlbmFtZSwgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGpvaW4gYXMgam9pblBvc2l4IH0gZnJvbSBcIm5vZGU6cGF0aC9wb3NpeFwiO1xuaW1wb3J0IHsgSWdub3JlTW9kZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgRG9ja2VySW1hZ2VBc3NldCwgUGxhdGZvcm0gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjci1hc3NldHNcIjtcbmltcG9ydCB7IEFzc2V0SW1hZ2VDb2RlUHJvcHMsIERvY2tlckltYWdlQ29kZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQlVJTERFUl9JTUFHRV9BTElBU19BUkdfTkFNRSxcbiAgTU9VTlRfUEFUSCxcbiAgSU1BR0VfQ0FDSEVfUEFUSCxcbiAgSU1BR0VfQ0FDSEVfUEFUSF9BUkdfTkFNRSxcbiAgTU9VTlRfUEFUSF9BUkdfTkFNRSxcbiAgTmV4dGpzVHlwZSxcbiAgUFVCTElDX1BBVEgsXG4gIFBVQkxJQ19QQVRIX0FSR19OQU1FLFxuICBSRUxBVElWRV9QQVRIX1RPX1BBQ0tBR0VfQVJHX05BTUUsXG4gIEJVSUxEX0lEX0FSR19OQU1FLFxuICBEQVRBX0NBQ0hFX1BBVEhfQVJHX05BTUUsXG4gIERBVEFfQ0FDSEVfUEFUSCxcbiAgQ0FDSEVfUEFUSCxcbiAgQ0FDSEVfUEFUSF9BUkdfTkFNRSxcbiAgSU5KRUNUX0NES19ORVhUSlNfQlVJTERfRU5WX1ZBUlMsXG59IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsRG9ja2VySW1hZ2VBc3NldFByb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsRG9ja2VySW1hZ2VBc3NldFByb3BzXCI7XG5pbXBvcnQgeyBOZXh0anNCYXNlUHJvcHMgfSBmcm9tIFwiLi4vcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1iYXNlLXByb3BzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVpbGRlckltYWdlUHJvcHMge1xuICAvKipcbiAgICogQnVpbGQgQXJncyB0byBiZSBwYXNzZWQgdG8gYGRvY2tlciBidWlsZGAgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQXJncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKlxuICAgKiBgZG9ja2VyIGJ1aWxkIC4uLmAgY29tbWFuZCB0byBydW4gaW4ge0BsaW5rIE5leHRCYXNlUHJvcHMuYnVpbGRDb250ZXh0fS5cbiAgICogRGVmYXVsdCBpbnRlcnBvbGF0ZXMgb3RoZXIgcHJvcHMuIElmIHlvdSBvdmVycmlkZSwgb3RoZXIgcHJvcHMgd2lsbCBoYXZlXG4gICAqIG5vIGVmZmVjdCBvbiBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tbWFuZD86IHN0cmluZztcbiAgLyoqXG4gICAqIEVudmlyb25tZW50IHZhcmlhYmxlcyBuYW1lcyB0byBwYXNzIGZyb20gaG9zdCB0byBjb250YWluZXIgZHVyaW5nIGJ1aWxkIHByb2Nlc3MuXG4gICAqXG4gICAqIE5vdGUsIGEgc2hlbGwgc2NyaXB0LCBjZGstbmV4dGpzLWxvYWQtZW52LXZhcnMuc2ggaXMgY3JlYXRlZCB3aXRoaW4gdGhlXG4gICAqIHtAbGluayBOZXh0QmFzZVByb3BzLmJ1aWxkQ29udGV4dH0gZGlyZWN0b3J5LCB3aGljaCB3aWxsIGNvbnRhaW4gYWxsIHRoZVxuICAgKiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZGVmaW5lZCBpbiB0aGlzIHByb3AuIElmIHlvdSd2ZSBjcmVhdGVkIHlvdXIgb3duXG4gICAqIGN1c3RvbSBEb2NrZXJmaWxlIChwYXNzZWQgaW4gdmlhIHtAbGluayBCdWlsZGVySW1hZ2VQcm9wcy5jdXN0b21Eb2NrZXJmaWxlUGF0aH0pXG4gICAqIHRoZW4geW91IG5lZWQgdG8gbWFrZSBzdXJlIHlvdSdyZSBjb3B5aW5nIGl0IGludG8gdGhlIGltYWdlLlxuICAgKlxuICAgKiBAZXhhbXBsZSBbXCJNWV9BUElfS0VZXCJdXG4gICAqL1xuICByZWFkb25seSBlbnZWYXJOYW1lcz86IHN0cmluZ1tdO1xuICAvKipcbiAgICogTGluZXMgaW4gLmRvY2tlcmlnbm9yZSBmaWxlIHdoaWNoIHdpbGwgYmUgY3JlYXRlZCBpbiB5b3VyIHtAbGluayBOZXh0QmFzZVByb3BzLmJ1aWxkQ29udGV4dH1cbiAgICogQGRlZmF1bHQgW1wibm9kZV9tb2R1bGVzXCIsIFwiLmdpdFwiLCBcIi5naXRpZ25vcmVcIiwgXCIubWRcIl1cbiAgICovXG4gIHJlYWRvbmx5IGV4Y2x1ZGU/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIE5hbWUgb2YgRG9ja2VyZmlsZSBpbiBidWlsZGVyIGJ1aWxkIGNvbnRleHQuIElmIHNwZWNpZmllZCwgeW91IGFyZSByZXNwb25zaWJsZVxuICAgKiBmb3IgZW5zdXJpbmcgaXQgZXhpc3RzIGluIGJ1aWxkIGNvbnRleHQgYmVmb3JlIGNvbnN0cnVjdCBpcyBpbnN0YW50aWF0ZWQuXG4gICAqIEBkZWZhdWx0IFwiYnVpbGRlci5Eb2NrZXJmaWxlXCJcbiAgICovXG4gIHJlYWRvbmx5IGZpbGU/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBsYXRmb3JtPzogUGxhdGZvcm07XG4gIC8qKlxuICAgKiBTa2lwIGJ1aWxkaW5nIHRoZSBidWlsZGVyIGltYWdlLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgc2tpcEJ1aWxkPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZXh0anNCdWlsZE92ZXJyaWRlcyB7XG4gIHJlYWRvbmx5IG5leHRqc0NvbnRhaW5lcnNEb2NrZXJJbWFnZUFzc2V0UHJvcHM/OiBPcHRpb25hbERvY2tlckltYWdlQXNzZXRQcm9wcztcbiAgcmVhZG9ubHkgbmV4dGpzRnVuY3Rpb25zQXNzZXRJbWFnZUNvZGVQcm9wcz86IEFzc2V0SW1hZ2VDb2RlUHJvcHM7XG4gIHJlYWRvbmx5IG5leHRqc0Fzc2V0RGVwbG95bWVudEFzc2V0SW1hZ2VDb2RlUHJvcHM/OiBBc3NldEltYWdlQ29kZVByb3BzO1xuICAvKipcbiAgICogRGVmYXVsdCBmb2xkZXIgZm9yIGJ1aWxkIGNvbnRleHQgaXMgdGhlIFwibGliL25leHRqcy1idWlsZFwiIGZvbGRlciBpbiB0aGVcbiAgICogaW5zdGFsbGVkIGNkay1uZXh0anMgbGlicmFyeSB3aGljaCBoYXMgdGhlIFwiZ2xvYmFsLWZ1bmN0aW9ucy5Eb2NrZXJmaWxlXCIuXG4gICAqIE5vdGUsIGlmIHlvdSBzcGVjaWZ5IHRoaXMgdGhlbiB5b3UncmUgcmVzcG9uc2libGUgZm9yIGVuc3VyaW5nIHRoZSBkb2NrZXJmaWxlXG4gICAqIGlzIHByZXNlbnQgaW4gdGhlIGJ1aWxkIGNvbnRleHQgZGlyZWN0b3J5IGFuZCBhbnkgcmVmZXJlbmNlZCBmaWxlcyBhcmVcbiAgICogcHJlc2VudCBhcyB3ZWxsLiBZb3UgY2FuIHNwZWNpZnkgZG9ja2VyZmlsZSBuYW1lIHdpdGggYWRqYWNlbnRcbiAgICogYG5leHRqc0Z1bmN0aW9uc0Fzc2V0SW1hZ2VDb2RlUHJvcHMuZmlsZWAgcHJvcGVydHkuXG4gICAqIEBkZWZhdWx0IFwiY2RrLW5leHRqcy9saWIvbmV4dGpzLWJ1aWxkXCJcbiAgICovXG4gIHJlYWRvbmx5IGZ1bmN0aW9uc0ltYWdlQnVpbGRDb250ZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmYXVsdCBmb2xkZXIgZm9yIGJ1aWxkIGNvbnRleHQgaXMgdGhlIFwibGliL25leHRqcy1idWlsZFwiIGZvbGRlciBpbiB0aGVcbiAgICogaW5zdGFsbGVkIGNkay1uZXh0anMgbGlicmFyeSB3aGljaCBoYXMgdGhlIFwiYXNzZXRzLWRlcGxveW1lbnQuRG9ja2VyZmlsZVwiLlxuICAgKiBOb3RlLCBpZiB5b3Ugc3BlY2lmeSB0aGlzIHRoZW4geW91J3JlIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyB0aGUgZG9ja2VyZmlsZVxuICAgKiBpcyBwcmVzZW50IGluIHRoZSBidWlsZCBjb250ZXh0IGRpcmVjdG9yeSBhbmQgYW55IHJlZmVyZW5jZWQgZmlsZXMgYXJlXG4gICAqIHByZXNlbnQgYXMgd2VsbC4gWW91IGNhbiBzcGVjaWZ5IGRvY2tlcmZpbGUgbmFtZSB3aXRoIGFkamFjZW50XG4gICAqIGBuZXh0anNBc3NldERlcGxveW1lbnRBc3NldEltYWdlQ29kZVByb3BzLmZpbGVgIHByb3BlcnR5LlxuICAgKiBAZGVmYXVsdCBcImNkay1uZXh0anMvbGliL25leHRqcy1idWlsZFwiXG4gICAqL1xuICByZWFkb25seSBhc3NldHNEZXBsb3ltZW50SW1hZ2VCdWlsZENvbnRleHQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEZWZhdWx0IGZvbGRlciBmb3IgYnVpbGQgY29udGV4dCBpcyB0aGUgXCJhc3NldHMvbGFtYmRhcy9hc3NldHMtZGVwbG95bWVudC9hc3NldHMtZGVwbG95bWVudC5sYW1iZGFcIiBmb2xkZXIgaW4gdGhlXG4gICAqIGluc3RhbGxlZCBjZGstbmV4dGpzIGxpYnJhcnkgd2hpY2ggaGFzIHRoZSBcInsuLi59LWNvbnRhaW5lcnMuRG9ja2VyZmlsZVwiLlxuICAgKiBOb3RlLCBpZiB5b3Ugc3BlY2lmeSB0aGlzIHRoZW4geW91J3JlIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyB0aGUgZG9ja2VyZmlsZVxuICAgKiBpcyBwcmVzZW50IGluIHRoZSBidWlsZCBjb250ZXh0IGRpcmVjdG9yeSBhbmQgYW55IHJlZmVyZW5jZWQgZmlsZXMgYXJlXG4gICAqIHByZXNlbnQgYXMgd2VsbC4gWW91IGNhbiBzcGVjaWZ5IGRvY2tlcmZpbGUgbmFtZSB3aXRoIGFkamFjZW50XG4gICAqIGBuZXh0anNDb250YWluZXJzRG9ja2VySW1hZ2VBc3NldFByb3BzLmZpbGVgIHByb3BlcnR5LlxuICAgKiBAZGVmYXVsdCBcImNkay1uZXh0anMvbGliL25leHRqcy1idWlsZFwiXG4gICAqL1xuICByZWFkb25seSBjb250YWluZXJzSW1hZ2VCdWlsZENvbnRleHQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzQnVpbGRQcm9wcyB7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCYXNlUHJvcHNbXCJidWlsZENvbW1hbmRcIl19XG4gICAqL1xuICByZWFkb25seSBidWlsZENvbW1hbmQ6IE5leHRqc0Jhc2VQcm9wc1tcImJ1aWxkQ29tbWFuZFwiXTtcbiAgLyoqXG4gICAqIEBzZWUge0BsaW5rIE5leHRqc0Jhc2VQcm9wc1tcImJ1aWxkQ29udGV4dFwiXX1cbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkQ29udGV4dDogTmV4dGpzQmFzZVByb3BzW1wiYnVpbGRDb250ZXh0XCJdO1xuICAvKipcbiAgICpcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWxkZXJJbWFnZVByb3BzPzogQnVpbGRlckltYWdlUHJvcHM7XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCYXNlUHJvcHMucmVsYXRpdmVQYXRoVG9QYWNrYWdlfVxuICAgKi9cbiAgcmVhZG9ubHkgcmVsYXRpdmVQYXRoVG9QYWNrYWdlPzogTmV4dGpzQmFzZVByb3BzW1wicmVsYXRpdmVQYXRoVG9QYWNrYWdlXCJdO1xuICByZWFkb25seSBuZXh0anNUeXBlOiBOZXh0anNUeXBlO1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNCdWlsZE92ZXJyaWRlcztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQdWJsaWNEaXJFbnRyeSB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgaXNEaXJlY3Rvcnk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQnVpbGRzIE5leHQuanMgYXNzZXRzLlxuICogQGxpbmsgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvcGFnZXMvYXBpLXJlZmVyZW5jZS9uZXh0LWNvbmZpZy1qcy9vdXRwdXRcbiAqL1xuZXhwb3J0IGNsYXNzIE5leHRqc0J1aWxkIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgLyoqXG4gICAqIEltYWdlIGFsaWFzIG9mIGJ1aWxkZXIgaW1hZ2UgTmV4dC5qcyBhcHAgd2hpY2ggaXMgYnVpbHQgZm9yIG90aGVyIGltYWdlcyB0byBiZVxuICAgKiBidWlsdCBgRlJPTWAuIFRoaXMgaW1hZ2UgaXNuJ3QgYnVpbHQgd2l0aCBDREsgQXNzZXRzIGNvbnN0cnVjdCBiL2MgaXRcbiAgICogZG9lc24ndCBuZWVkIHRvIGJlIHVwbG9hZGVkIHRvIEVDUi4gV2Ugc3RpbGwgbmVlZCB0byBpbmNsdWRlIHNsaWNlIG9mXG4gICAqIGBub2RlLmFkZHJgIGluIHRhZyBpbiBjYXNlIG11bHRpcGxlIGNkay1uZXh0anMgY29uc3RydWN0cyBhcmUgdXNlZC5cbiAgICovXG4gIGJ1aWxkZXJJbWFnZUFsaWFzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBVbmlxdWUgaWQgZm9yIE5leHQuanMgYnVpbGQuIFVzZWQgdG8gcGFydGl0aW9uIEVGUyBGaWxlU3lzdGVtLlxuICAgKi9cbiAgYnVpbGRJZDogc3RyaW5nO1xuICAvKipcbiAgICogSGFzaCBvZiBidWlsZGVyIGltYWdlIHdoaWNoIHdpbGwgY2hhbmdlIHdoZW5ldmVyIHRoZSBpbWFnZSBjaGFuZ2VzLiBVc2VmdWxcbiAgICogZm9yIHBhc3NpbmcgdG8gcHJvcGVydGllcyBvZiBjdXN0b20gcmVzb3VyY2VzIHRoYXQgZGVwZW5kIHVwb24gdGhlIGJ1aWxkZXJcbiAgICogaW1hZ2UgdG8gcmUtcnVuIHdoZW4gYnVpbGQgaW1hZ2UgY2hhbmdlcy5cbiAgICovXG4gIGJ1aWxkSW1hZ2VEaWdlc3Q6IHN0cmluZztcbiAgLyoqXG4gICAqIERvY2tlciBpbWFnZSBidWlsdCBpZiB1c2luZyBGYXJnYXRlLlxuICAgKi9cbiAgaW1hZ2VGb3JOZXh0anNDb250YWluZXJzPzogRG9ja2VySW1hZ2VBc3NldDtcbiAgLyoqXG4gICAqIERvY2tlciBpbWFnZSBidWlsdCBpZiB1c2luZyBMYW1iZGEuXG4gICAqL1xuICBpbWFnZUZvck5leHRqc0Z1bmN0aW9ucz86IERvY2tlckltYWdlQ29kZTtcbiAgLyoqXG4gICAqIERvY2tlciBpbWFnZSBidWlsdCBmb3IgYE5leHRqc0Fzc2V0c0RlcGxveW1lbnRgXG4gICAqL1xuICBpbWFnZUZvck5leHRqc0Fzc2V0c0RlcGxveW1lbnQ6IERvY2tlckltYWdlQ29kZTtcbiAgLyoqXG4gICAqIEFic29sdXRlIHBhdGggdG8gcHVibGljLiBVc2UgYnkgQ2xvdWRGcm9udC9BTEIgdG8gY3JlYXRlIGJlaGF2aW9ycy9ydWxlc1xuICAgKiBAZXhhbXBsZSBcIi9Vc2Vycy9qb2huL215YXBwL3B1YmxpY1wiXG4gICAqL1xuICBwdWJsaWNEaXJFbnRyaWVzOiBQdWJsaWNEaXJFbnRyeVtdO1xuICAvKipcbiAgICogVGhlIGVudHJ5cG9pbnQgSmF2YVNjcmlwdCBmaWxlIHVzZWQgYXMgYW4gYXJndW1lbnQgZm9yIE5vZGUuanMgdG8gcnVuIHRoZVxuICAgKiBOZXh0LmpzIHN0YW5kYWxvbmUgc2VydmVyIHJlbGF0aXZlIHRvIHRoZSBzdGFuZGFsb25lIGRpcmVjdG9yeS5cbiAgICogQGV4YW1wbGUgXCIuL3NlcnZlci5qc1wiXG4gICAqIEBleGFtcGxlIFwiLi9wYWNrYWdlcy91aS9zZXJ2ZXIuanNcIiAobW9ub3JlcG8pXG4gICAqL1xuICByZWxhdGl2ZVBhdGhUb0VudHJ5cG9pbnQ6IHN0cmluZztcblxuICAvKipcbiAgICogUmVwb3NpdG9yeSBuYW1lIGZvciB0aGUgYnVpbGRlciBpbWFnZS5cbiAgICovXG4gIHByaXZhdGUgYnVpbGRlckltYWdlUmVwbyA9IFwiY2RrLW5leHRqcy9idWlsZGVyXCI7XG5cbiAgcHJpdmF0ZSBjb250YWluZXJSdW50aW1lID0gcHJvY2Vzcy5lbnYuQ0RLX0RPQ0tFUiB8fCBcImRvY2tlclwiO1xuICBwcml2YXRlIHByb3BzOiBOZXh0anNCdWlsZFByb3BzO1xuICBwcml2YXRlIHJlbGF0aXZlUGF0aFRvUGFja2FnZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXh0anNCdWlsZFByb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLmJ1aWxkZXJJbWFnZUFsaWFzID0gYCR7dGhpcy5idWlsZGVySW1hZ2VSZXBvfToke3RoaXMubm9kZS5hZGRyLnNsaWNlKDMwKX1gO1xuICAgIHRoaXMucmVsYXRpdmVQYXRoVG9QYWNrYWdlID0gcHJvcHMucmVsYXRpdmVQYXRoVG9QYWNrYWdlIHx8IFwiLlwiO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLnJlbGF0aXZlUGF0aFRvRW50cnlwb2ludCA9IHRoaXMuZ2V0UmVsYXRpdmVFbnRyeXBvaW50UGF0aCgpO1xuICAgIGlmICghcHJvcHMuYnVpbGRlckltYWdlUHJvcHM/LnNraXBCdWlsZCkge1xuICAgICAgdGhpcy5jcmVhdGVCdWlsZGVySW1hZ2UoKTtcbiAgICB9XG4gICAgdGhpcy5idWlsZEltYWdlRGlnZXN0ID0gdGhpcy5nZXRCdWlsZGVySW1hZ2VEaWdlc3QoKTtcbiAgICB0aGlzLmJ1aWxkSWQgPSB0aGlzLmdldEJ1aWxkSWQoKTtcbiAgICB0aGlzLnB1YmxpY0RpckVudHJpZXMgPSB0aGlzLmdldFB1YmxpY0RpckVudHJpZXMoKTtcbiAgICBpZiAoXG4gICAgICBwcm9wcy5uZXh0anNUeXBlID09PSBOZXh0anNUeXBlLkdMT0JBTF9DT05UQUlORVJTIHx8XG4gICAgICBwcm9wcy5uZXh0anNUeXBlID09PSBOZXh0anNUeXBlLlJFR0lPTkFMX0NPTlRBSU5FUlNcbiAgICApIHtcbiAgICAgIHRoaXMuaW1hZ2VGb3JOZXh0anNDb250YWluZXJzID0gdGhpcy5jcmVhdGVJbWFnZUZvck5leHRqc0NvbnRhaW5lcnMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pbWFnZUZvck5leHRqc0Z1bmN0aW9ucyA9IHRoaXMuY3JlYXRlSW1hZ2VGb3JOZXh0anNGdW5jdGlvbnMoKTtcbiAgICB9XG4gICAgdGhpcy5pbWFnZUZvck5leHRqc0Fzc2V0c0RlcGxveW1lbnQgPVxuICAgICAgdGhpcy5jcmVhdGVJbWFnZUZvck5leHRqc0Fzc2V0c0RlcGxveW1lbnQoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0UmVsYXRpdmVFbnRyeXBvaW50UGF0aCgpIHtcbiAgICAvLyBqb2luUG9zaXggYi9jIHRoaXMgd2lsbCBiZSB1c2VkIGluIGxpbnV4IGNvbnRhaW5lclxuICAgIHJldHVybiBqb2luUG9zaXgodGhpcy5wcm9wcy5yZWxhdGl2ZVBhdGhUb1BhY2thZ2UgfHwgXCJcIiwgXCJzZXJ2ZXIuanNcIik7XG4gIH1cbiAgLyoqXG4gICAqIEEgYnVpbGRlciBvciBiYXNlIGltYWdlIG5lZWRzIHRvIGJlIGNyZWF0ZWQgc28gdGhhdCB0aGUgc2FtZSBpbWFnZSBjYW4gYmVcbiAgICogYnVpbHQgYEZST01gIGZvciBgTmV4dGpzRnVuY3Rpb25zYCBvciBgTmV4dGpzQ29udGFpbmVyc2AgYW5kIGBOZXh0anNBc3NldHNEZXBsb3ltZW50YC5cbiAgICogVGhpcyBpbWFnZSBkb2Vzbid0IG5lZWQgdG8gYmUgdXBsb2FkZWQgdG8gRUNSIHNvIHdlJ3JlIFwibWFudWFsbHlcIiBjcmVhdGluZ1xuICAgKiBpdCB3aXRoIGBleGVjU3luY2AgYW5kIG90aGVyIGltYWdlcyB3aWxsIGJlIGJ1aWx0IGBGUk9NYCBpdC5cbiAgICovXG4gIHByaXZhdGUgY3JlYXRlQnVpbGRlckltYWdlKCkge1xuICAgIGNvbnN0IGJ1aWxkQ29tbWFuZCA9IHRoaXMucHJvcHMuYnVpbGRDb21tYW5kIHx8IFwibnBtIHJ1biBidWlsZFwiO1xuICAgIGNvbnN0IHtcbiAgICAgIGJ1aWxkQXJncyA9IHtcbiAgICAgICAgQlVJTERfQ09NTUFORDogYnVpbGRDb21tYW5kLFxuICAgICAgICBSRUxBVElWRV9QQVRIX1RPX1BBQ0tBR0U6IHRoaXMucmVsYXRpdmVQYXRoVG9QYWNrYWdlLFxuICAgICAgICAuLi50aGlzLnByb3BzLmJ1aWxkZXJJbWFnZVByb3BzPy5idWlsZEFyZ3MsXG4gICAgICB9LFxuICAgICAgZW52VmFyTmFtZXMgPSBbXSxcbiAgICAgIGV4Y2x1ZGUgPSBbXG4gICAgICAgIFwiKiovbm9kZV9tb2R1bGVzXCIsXG4gICAgICAgIFwiLmdpdFwiLFxuICAgICAgICBcIioqL2Nkay5vdXRcIixcbiAgICAgICAgXCIqKi8ubmV4dFwiLFxuICAgICAgICBcIi5naXRpZ25vcmVcIixcbiAgICAgICAgXCIqLm1kXCIsXG4gICAgICBdLFxuICAgICAgZmlsZSA9IFwiYnVpbGRlci5Eb2NrZXJmaWxlXCIsXG4gICAgICBwbGF0Zm9ybSxcbiAgICB9ID0gdGhpcy5wcm9wcy5idWlsZGVySW1hZ2VQcm9wcyB8fCB7fTtcblxuICAgIC8vIHRvIGJlIGFkZGVkIHRvIHVzZXIgcHJvdmlkZWQgYnVpbGQgY29udGV4dCBiZWZvcmUgYnVpbGRlciBpbWFnZSBpcyBidWlsdFxuICAgIGNvbnN0IGZpbGVQYXRoc1RvQ29weTogc3RyaW5nW10gPSBbXG4gICAgICBqb2luKF9fZGlybmFtZSwgXCJjZGstbmV4dGpzLWNhY2hlLWhhbmRsZXIuY2pzXCIpLFxuICAgIF07XG4gICAgLy8gdG8gYmUgcmVtb3ZlZCBmcm9tIHVzZXIgcHJvdmlkZWQgYnVpbGQgY29udGV4dCBhZnRlciBidWlsZGVyIGltYWdlIGlzIGJ1aWx0XG4gICAgY29uc3QgZmlsZVBhdGhzVG9SZW1vdmU6IHN0cmluZ1tdID0gW1xuICAgICAgam9pbih0aGlzLnByb3BzLmJ1aWxkQ29udGV4dCwgXCJjZGstbmV4dGpzLWNhY2hlLWhhbmRsZXIuY2pzXCIpLFxuICAgIF07XG5cbiAgICAvLyBpZiBjdXN0b20gZmlsZSAoRG9ja2VyZmlsZSkgaXMgbm90IHNwZWNpZmllZCB0aGVuIHVzZSBsaWJyYXJ5J3MgZGVmYXVsdCBidWlsZGVyLkRvY2tlcmZpbGUgKyAuZG9ja2VyaWdub3JlXG4gICAgaWYgKCF0aGlzLnByb3BzLmJ1aWxkZXJJbWFnZVByb3BzPy5maWxlKSB7XG4gICAgICBmaWxlUGF0aHNUb0NvcHkucHVzaChqb2luKF9fZGlybmFtZSwgZmlsZSkpO1xuICAgICAgZmlsZVBhdGhzVG9SZW1vdmUucHVzaChqb2luKHRoaXMucHJvcHMuYnVpbGRDb250ZXh0LCBmaWxlKSk7XG4gICAgICBjb25zdCBleGNsdWRlRmlsZVN0ciA9IGV4Y2x1ZGU/LmpvaW4oXCJcXG5cIik7XG4gICAgICBjb25zdCBkb2NrZXJpZ25vcmVGaWxlUGF0aCA9IGpvaW4oXG4gICAgICAgIHRoaXMucHJvcHMuYnVpbGRDb250ZXh0LFxuICAgICAgICBcIi5kb2NrZXJpZ25vcmVcIixcbiAgICAgICk7XG4gICAgICB3cml0ZUZpbGVTeW5jKGRvY2tlcmlnbm9yZUZpbGVQYXRoLCBleGNsdWRlRmlsZVN0cik7XG4gICAgICBmaWxlUGF0aHNUb1JlbW92ZS5wdXNoKGRvY2tlcmlnbm9yZUZpbGVQYXRoKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGZpbGVQYXRoVG9Db3B5IG9mIGZpbGVQYXRoc1RvQ29weSkge1xuICAgICAgY3BTeW5jKFxuICAgICAgICBmaWxlUGF0aFRvQ29weSxcbiAgICAgICAgam9pbih0aGlzLnByb3BzLmJ1aWxkQ29udGV4dCwgYmFzZW5hbWUoZmlsZVBhdGhUb0NvcHkpKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgYnVpbGRBcmdzU3RyID0gdGhpcy5jcmVhdGVCdWlsZEFyZ1N0cihidWlsZEFyZ3MpO1xuICAgIHRoaXMuaW5qZWN0QnVpbGRlckRvY2tlcmZpbGVFbnZWYXJzKFxuICAgICAgam9pbih0aGlzLnByb3BzLmJ1aWxkQ29udGV4dCwgZmlsZSksXG4gICAgICBlbnZWYXJOYW1lcyxcbiAgICApO1xuICAgIGNvbnN0IGNvbW1hbmQgPVxuICAgICAgdGhpcy5wcm9wcy5idWlsZGVySW1hZ2VQcm9wcz8uY29tbWFuZCB8fFxuICAgICAgYCR7dGhpcy5jb250YWluZXJSdW50aW1lfSBidWlsZCAke3BsYXRmb3JtID8gYC0tcGxhdGZvcm0gJHtwbGF0Zm9ybS5wbGF0Zm9ybX1gIDogXCJcIn0gLS1maWxlICR7ZmlsZX0gLS10YWcgJHt0aGlzLmJ1aWxkZXJJbWFnZUFsaWFzfSAke2J1aWxkQXJnc1N0cn0gLmA7XG4gICAgbGV0IGVycm9yOiB1bmtub3duO1xuICAgIHRyeSB7XG4gICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgYEJ1aWxkaW5nIGltYWdlIHdpdGggY29tbWFuZDogJHtjb21tYW5kfSBpbiBkaXJlY3Rvcnk6ICR7dGhpcy5wcm9wcy5idWlsZENvbnRleHR9YCxcbiAgICAgICk7XG4gICAgICBleGVjU3luYyhjb21tYW5kLCB7XG4gICAgICAgIHN0ZGlvOiBcImluaGVyaXRcIixcbiAgICAgICAgY3dkOiB0aGlzLnByb3BzLmJ1aWxkQ29udGV4dCxcbiAgICAgICAgZW52OiBwcm9jZXNzLmVudixcbiAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgZXJyb3IgPSBlcnI7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGZvciAoY29uc3QgZmlsZVBhdGhUb1JlbW92ZSBvZiBmaWxlUGF0aHNUb1JlbW92ZSkge1xuICAgICAgICBybVN5bmMoZmlsZVBhdGhUb1JlbW92ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlcnJvcikgdGhyb3cgZXJyb3I7XG4gIH1cbiAgcHJpdmF0ZSBpbmplY3RCdWlsZGVyRG9ja2VyZmlsZUVudlZhcnMoXG4gICAgYnVpbGRlckRvY2tlcmZpbGVQYXRoOiBzdHJpbmcsXG4gICAgZW52VmFyTmFtZXM6IHN0cmluZ1tdLFxuICApIHtcbiAgICBjb25zdCBlbnZWYXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gICAgZm9yIChjb25zdCBlbnZWYXJOYW1lIG9mIGVudlZhck5hbWVzKSB7XG4gICAgICBpZiAocHJvY2Vzcy5lbnZbZW52VmFyTmFtZV0pIHtcbiAgICAgICAgZW52VmFyc1tlbnZWYXJOYW1lXSA9IHByb2Nlc3MuZW52W2VudlZhck5hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjb250ZW50ID0gT2JqZWN0LmVudHJpZXMoZW52VmFycylcbiAgICAgIC5tYXAoKFtuYW1lLCB2YWx1ZV0pID0+IGAke25hbWV9PSR7dmFsdWV9YClcbiAgICAgIC5qb2luKFwiIFwiKTtcbiAgICBjb25zdCBvbGRGaWxlID0gcmVhZEZpbGVTeW5jKGJ1aWxkZXJEb2NrZXJmaWxlUGF0aCkudG9TdHJpbmcoKTtcbiAgICBjb25zdCBuZXdGaWxlID0gb2xkRmlsZS5yZXBsYWNlKElOSkVDVF9DREtfTkVYVEpTX0JVSUxEX0VOVl9WQVJTLCBjb250ZW50KTtcbiAgICB3cml0ZUZpbGVTeW5jKGJ1aWxkZXJEb2NrZXJmaWxlUGF0aCwgbmV3RmlsZSk7XG4gIH1cbiAgcHJpdmF0ZSBjcmVhdGVCdWlsZEFyZ1N0cihcbiAgICBidWlsZEFyZ3M6IFJlcXVpcmVkPEJ1aWxkZXJJbWFnZVByb3BzPltcImJ1aWxkQXJnc1wiXSxcbiAgKSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGJ1aWxkQXJncykucmVkdWNlKChhY2MsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgcmV0dXJuIGAke2FjY30gLS1idWlsZC1hcmcgJHtrZXl9PVwiJHt2YWx1ZX1cImA7XG4gICAgfSwgXCJcIik7XG4gIH1cbiAgcHJpdmF0ZSBnZXRCdWlsZGVySW1hZ2VEaWdlc3QoKSB7XG4gICAgY29uc3QgZGlnZXN0ID0gZXhlY1N5bmMoXG4gICAgICBgJHt0aGlzLmNvbnRhaW5lclJ1bnRpbWV9IGltYWdlcyAtLW5vLXRydW5jIC0tcXVpZXQgJHt0aGlzLmJ1aWxkZXJJbWFnZUFsaWFzfWAsXG4gICAgICB7IGVuY29kaW5nOiBcInV0Zi04XCIgfSxcbiAgICApO1xuICAgIHJldHVybiBkaWdlc3Quc2xpY2UoMCwgLTEpOyAvLyByZW1vdmUgdHJhaWxpbmcgXFxuXG4gIH1cbiAgcHJpdmF0ZSBnZXRQdWJsaWNEaXJFbnRyaWVzKCk6IFB1YmxpY0RpckVudHJ5W10ge1xuICAgIGNvbnN0IHB1YmxpY0RpclBhdGggPSBqb2luUG9zaXgoXG4gICAgICBcIi9hcHBcIixcbiAgICAgIHRoaXMucHJvcHMucmVsYXRpdmVQYXRoVG9QYWNrYWdlIHx8IFwiXCIsXG4gICAgICBcInB1YmxpY1wiLFxuICAgICk7XG4gICAgY29uc3QgcHVibGljRGlyRW50cmllc1N0cmluZyA9IGV4ZWNTeW5jKFxuICAgICAgYCR7dGhpcy5jb250YWluZXJSdW50aW1lfSBydW4gJHt0aGlzLmJ1aWxkZXJJbWFnZUFsaWFzfSBub2RlIC1lIFwiY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoZnMucmVhZGRpclN5bmMoJyR7cHVibGljRGlyUGF0aH0nLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSkubWFwKChlKSA9PiAoeyBuYW1lOiBlLm5hbWUsIGlzRGlyZWN0b3J5OiBlLmlzRGlyZWN0b3J5KCl9KSkpKVwiYCxcbiAgICAgIHsgZW5jb2Rpbmc6IFwidXRmLThcIiB9LFxuICAgICk7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UocHVibGljRGlyRW50cmllc1N0cmluZykgYXMgUHVibGljRGlyRW50cnlbXTtcbiAgfVxuICBwcml2YXRlIGdldEJ1aWxkSWQoKSB7XG4gICAgY29uc3QgYnVpbGRJZFBhdGggPSBqb2luUG9zaXgoXG4gICAgICBcIi9hcHBcIixcbiAgICAgIHRoaXMucHJvcHMucmVsYXRpdmVQYXRoVG9QYWNrYWdlIHx8IFwiXCIsXG4gICAgICBcIi5uZXh0XCIsXG4gICAgICBcIkJVSUxEX0lEXCIsXG4gICAgKTtcbiAgICBjb25zdCBidWlsZElkID0gZXhlY1N5bmMoXG4gICAgICBgJHt0aGlzLmNvbnRhaW5lclJ1bnRpbWV9IHJ1biAke3RoaXMuYnVpbGRlckltYWdlQWxpYXN9IC9iaW4vc2ggLWMgXCJjYXQgJHtidWlsZElkUGF0aH1cImAsXG4gICAgICB7IGVuY29kaW5nOiBcInV0Zi04XCIgfSxcbiAgICApO1xuICAgIHJldHVybiBidWlsZElkO1xuICB9XG4gIHByaXZhdGUgY3JlYXRlSW1hZ2VGb3JOZXh0anNDb250YWluZXJzKCkge1xuICAgIGNvbnN0IGRvY2tlcmZpbGVOYW1lUHJlZml4ID1cbiAgICAgIHRoaXMucHJvcHMubmV4dGpzVHlwZSA9PT0gTmV4dGpzVHlwZS5HTE9CQUxfQ09OVEFJTkVSU1xuICAgICAgICA/IFwiZ2xvYmFsXCJcbiAgICAgICAgOiBcInJlZ2lvbmFsXCI7XG4gICAgY29uc3QgZG9ja2VyZmlsZU5hbWUgPSBgJHtkb2NrZXJmaWxlTmFtZVByZWZpeH0tY29udGFpbmVycy5Eb2NrZXJmaWxlYDtcbiAgICAvLyBjZGstbmV4dGpzL2J1aWxkZXIte2hhc2h9IGFscmVhZHkgY29udGFpbnMgYnVpbHQgbmV4dGpzIGFwcCB3aGljaCB3ZSdsbFxuICAgIC8vIGBDT1BZIC0tZnJvbT1jZGstbmV4dGpzL2J1aWxkZXIte2hhc2h9YCBzbyB3ZSBqdXN0IG5lZWQgdGhlIERvY2tlcmZpbGVcbiAgICAvLyB3aGljaCBpcyBpbiBsaWIvbmV4dGpzLWJ1aWxkIGZvbGRlci5cbiAgICBjb25zdCBidWlsZENvbnRleHQgPVxuICAgICAgdGhpcy5wcm9wcy5vdmVycmlkZXM/LmNvbnRhaW5lcnNJbWFnZUJ1aWxkQ29udGV4dCA/P1xuICAgICAgam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcImxpYlwiLCBcIm5leHRqcy1idWlsZFwiKTtcbiAgICBjb25zdCBkb2NrZXJJbWFnZUFzc2V0ID0gbmV3IERvY2tlckltYWdlQXNzZXQodGhpcywgXCJJbWFnZVwiLCB7XG4gICAgICBkaXJlY3Rvcnk6IGJ1aWxkQ29udGV4dCxcbiAgICAgIGV4dHJhSGFzaDogdGhpcy5idWlsZEltYWdlRGlnZXN0LCAvLyByZWJ1aWxkIHdoZW4gYnVpbGRlciBoYXNoIGNoYW5nZXNcbiAgICAgIGZpbGU6IGRvY2tlcmZpbGVOYW1lLFxuICAgICAgaWdub3JlTW9kZTogSWdub3JlTW9kZS5ET0NLRVIsXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzQ29udGFpbmVyc0RvY2tlckltYWdlQXNzZXRQcm9wcyxcbiAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICBbQlVJTERfSURfQVJHX05BTUVdOiB0aGlzLmJ1aWxkSWQsXG4gICAgICAgIFtCVUlMREVSX0lNQUdFX0FMSUFTX0FSR19OQU1FXTogdGhpcy5idWlsZGVySW1hZ2VBbGlhcyxcbiAgICAgICAgW0NBQ0hFX1BBVEhfQVJHX05BTUVdOiBDQUNIRV9QQVRILFxuICAgICAgICBbREFUQV9DQUNIRV9QQVRIX0FSR19OQU1FXTogREFUQV9DQUNIRV9QQVRILFxuICAgICAgICBbUFVCTElDX1BBVEhfQVJHX05BTUVdOiBQVUJMSUNfUEFUSCxcbiAgICAgICAgW0lNQUdFX0NBQ0hFX1BBVEhfQVJHX05BTUVdOiBJTUFHRV9DQUNIRV9QQVRILFxuICAgICAgICBbTU9VTlRfUEFUSF9BUkdfTkFNRV06IE1PVU5UX1BBVEgsXG4gICAgICAgIFtSRUxBVElWRV9QQVRIX1RPX1BBQ0tBR0VfQVJHX05BTUVdOiB0aGlzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0NvbnRhaW5lcnNEb2NrZXJJbWFnZUFzc2V0UHJvcHNcbiAgICAgICAgICA/LmJ1aWxkQXJncyxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGRvY2tlckltYWdlQXNzZXQ7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUltYWdlRm9yTmV4dGpzRnVuY3Rpb25zKCkge1xuICAgIGNvbnN0IGRvY2tlcmZpbGVOYW1lID0gXCJnbG9iYWwtZnVuY3Rpb25zLkRvY2tlcmZpbGVcIjtcbiAgICAvLyBjZGstbmV4dGpzL2J1aWxkZXIte2hhc2h9IGFscmVhZHkgY29udGFpbnMgYnVpbHQgbmV4dGpzIGFwcCB3aGljaCB3ZSdsbFxuICAgIC8vIGBDT1BZIC0tZnJvbT1jZGstbmV4dGpzL2J1aWxkZXIte2hhc2h9YCBzbyB3ZSBqdXN0IG5lZWQgdGhlIERvY2tlcmZpbGVcbiAgICAvLyB3aGljaCBpcyBpbiBsaWIvbmV4dGpzLWJ1aWxkIGZvbGRlci5cbiAgICBjb25zdCBidWlsZENvbnRleHQgPVxuICAgICAgdGhpcy5wcm9wcy5vdmVycmlkZXM/LmZ1bmN0aW9uc0ltYWdlQnVpbGRDb250ZXh0ID8/XG4gICAgICBqb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcIi4uXCIsIFwibGliXCIsIFwibmV4dGpzLWJ1aWxkXCIpO1xuICAgIGNvbnN0IGRvY2tlckltYWdlQ29kZSA9IERvY2tlckltYWdlQ29kZS5mcm9tSW1hZ2VBc3NldChidWlsZENvbnRleHQsIHtcbiAgICAgIGNtZDogW1wibm9kZVwiLCB0aGlzLnJlbGF0aXZlUGF0aFRvRW50cnlwb2ludF0sXG4gICAgICBleHRyYUhhc2g6IHRoaXMuYnVpbGRJbWFnZURpZ2VzdCwgLy8gcmVidWlsZCB3aGVuIGJ1aWxkZXIgaGFzaCBjaGFuZ2VzXG4gICAgICBmaWxlOiBkb2NrZXJmaWxlTmFtZSxcbiAgICAgIGlnbm9yZU1vZGU6IElnbm9yZU1vZGUuRE9DS0VSLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0Z1bmN0aW9uc0Fzc2V0SW1hZ2VDb2RlUHJvcHMsXG4gICAgICBidWlsZEFyZ3M6IHtcbiAgICAgICAgW0JVSUxEX0lEX0FSR19OQU1FXTogdGhpcy5idWlsZElkLFxuICAgICAgICBbQlVJTERFUl9JTUFHRV9BTElBU19BUkdfTkFNRV06IHRoaXMuYnVpbGRlckltYWdlQWxpYXMsXG4gICAgICAgIFtDQUNIRV9QQVRIX0FSR19OQU1FXTogQ0FDSEVfUEFUSCxcbiAgICAgICAgW0RBVEFfQ0FDSEVfUEFUSF9BUkdfTkFNRV06IERBVEFfQ0FDSEVfUEFUSCxcbiAgICAgICAgW1BVQkxJQ19QQVRIX0FSR19OQU1FXTogUFVCTElDX1BBVEgsXG4gICAgICAgIFtJTUFHRV9DQUNIRV9QQVRIX0FSR19OQU1FXTogSU1BR0VfQ0FDSEVfUEFUSCxcbiAgICAgICAgW01PVU5UX1BBVEhfQVJHX05BTUVdOiBNT1VOVF9QQVRILFxuICAgICAgICBbUkVMQVRJVkVfUEFUSF9UT19QQUNLQUdFX0FSR19OQU1FXTogdGhpcy5yZWxhdGl2ZVBhdGhUb1BhY2thZ2UsXG4gICAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNGdW5jdGlvbnNBc3NldEltYWdlQ29kZVByb3BzPy5idWlsZEFyZ3MsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIC8vIFRPRE86IGhvdyB0byBjbGVhbiB1cCB0ZW1wIGRpcj9cbiAgICAvLyBybVN5bmModGVtcERpciwgeyByZWN1cnNpdmU6IHRydWUgfSk7XG4gICAgcmV0dXJuIGRvY2tlckltYWdlQ29kZTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlSW1hZ2VGb3JOZXh0anNBc3NldHNEZXBsb3ltZW50KCkge1xuICAgIGNvbnN0IGRvY2tlcmZpbGVOYW1lID0gXCJhc3NldHMtZGVwbG95bWVudC5Eb2NrZXJmaWxlXCI7XG4gICAgLyoqXG4gICAgICogUGF0aCB0byBidW5kbGVkIGN1c3RvbSByZXNvdXJjZSBjb2RlXG4gICAgICovXG4gICAgY29uc3QgYnVpbGRDb250ZXh0ID1cbiAgICAgIHRoaXMucHJvcHMub3ZlcnJpZGVzPy5hc3NldHNEZXBsb3ltZW50SW1hZ2VCdWlsZENvbnRleHQgPz9cbiAgICAgIGpvaW4oXG4gICAgICAgIF9fZGlybmFtZSxcbiAgICAgICAgXCIuLlwiLFxuICAgICAgICBcIi4uXCIsXG4gICAgICAgIFwiYXNzZXRzXCIsXG4gICAgICAgIFwibGFtYmRhc1wiLFxuICAgICAgICBcImFzc2V0cy1kZXBsb3ltZW50XCIsXG4gICAgICAgIFwiYXNzZXRzLWRlcGxveW1lbnQubGFtYmRhXCIsXG4gICAgICApO1xuICAgIC8vIGNkay1uZXh0anMvYnVpbGRlci17aGFzaH0gYWxyZWFkeSBjb250YWlucyBOZXh0LmpzIGJ1aWx0IGNvZGUgd2hpY2hcbiAgICAvLyB3ZSdsbCBjb3B5IGludG8gZmluYWwgaW1hZ2UuIEJ1dCB3ZSBhbHNvIG5lZWQgbGFtYmRhIGNvZGUgdG8gcnVuXG4gICAgLy8gYXNzZXQgZGVwbG95bWVudCB0YXNrc1xuICAgIGNvbnN0IGRvY2tlckltYWdlQ29kZSA9IERvY2tlckltYWdlQ29kZS5mcm9tSW1hZ2VBc3NldChidWlsZENvbnRleHQsIHtcbiAgICAgIGV4dHJhSGFzaDogdGhpcy5idWlsZEltYWdlRGlnZXN0LCAvLyByZWJ1aWxkIHdoZW4gYnVpbGRlciBoYXNoIGNoYW5nZXNcbiAgICAgIGZpbGU6IGRvY2tlcmZpbGVOYW1lLFxuICAgICAgaWdub3JlTW9kZTogSWdub3JlTW9kZS5ET0NLRVIsXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzQXNzZXREZXBsb3ltZW50QXNzZXRJbWFnZUNvZGVQcm9wcyxcbiAgICAgIGJ1aWxkQXJnczoge1xuICAgICAgICBbQlVJTERfSURfQVJHX05BTUVdOiB0aGlzLmJ1aWxkSWQsXG4gICAgICAgIFtCVUlMREVSX0lNQUdFX0FMSUFTX0FSR19OQU1FXTogdGhpcy5idWlsZGVySW1hZ2VBbGlhcyxcbiAgICAgICAgW1BVQkxJQ19QQVRIX0FSR19OQU1FXTogUFVCTElDX1BBVEgsXG4gICAgICAgIFtSRUxBVElWRV9QQVRIX1RPX1BBQ0tBR0VfQVJHX05BTUVdOiB0aGlzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0Fzc2V0RGVwbG95bWVudEFzc2V0SW1hZ2VDb2RlUHJvcHNcbiAgICAgICAgICA/LmJ1aWxkQXJncyxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGRvY2tlckltYWdlQ29kZTtcbiAgfVxufVxuIl19
237
+ NextjsBuild[_a] = { fqn: "cdk-nextjs.NextjsBuild", version: "0.4.4" };
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWJ1aWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL25leHRqcy1idWlsZC9uZXh0anMtYnVpbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyREFBOEM7QUFDOUMscUNBQXNFO0FBQ3RFLHlDQUEyQztBQUMzQywyQ0FBb0Q7QUFDcEQsNkNBQXlDO0FBQ3pDLCtEQUF3RTtBQUN4RSx1REFBOEU7QUFDOUUsMkNBQXVDO0FBQ3ZDLDRDQWdCc0I7QUE0R3RCOzs7R0FHRztBQUNILE1BQWEsV0FBWSxTQUFRLHNCQUFTO0lBb0R4QyxZQUFZLEtBQWdCLEVBQUUsRUFBVSxFQUFFLEtBQXVCO1FBQy9ELEtBQUssQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFWbkI7O1dBRUc7UUFDSyxxQkFBZ0IsR0FBRyxvQkFBb0IsQ0FBQztRQUV4QyxxQkFBZ0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxRQUFRLENBQUM7UUFNNUQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2hGLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUMscUJBQXFCLElBQUksR0FBRyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDckQsSUFBSSxD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QUVPLG9DQUFvQztRQUMxQyxNQUFNLGNBQWMsR0FBRyw4QkFBOEIsQ0FBQztRQUN0RDs7V0FFRztRQUNILE1BQU0sWUFBWSxHQUNoQixJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxpQ0FBaUM7WUFDdkQsSUFBQSxnQkFBSSxFQUNGLFNBQVMsRUFDVCxJQUFJLEVBQ0osSUFBSSxFQUNKLFFBQVEsRUFDUixTQUFTLEVBQ1QsbUJBQW1CLEVBQ25CLDBCQUEwQixDQUMzQixDQUFDO1FBQ0osc0VBQXNFO1FBQ3RFLG1FQUFtRTtRQUNuRSx5QkFBeUI7UUFDekIsTUFBTSxlQUFlLEdBQUcsNEJBQWUsQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFO1lBQ25FLFNBQVMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsb0NBQW9DO1lBQ3RFLElBQUksRUFBRSxjQUFjO1lBQ3BCLFVBQVUsRUFBRSx3QkFBVSxDQUFDLE1BQU07WUFDN0IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSx3Q0FBd0M7WUFDakUsU0FBUyxFQUFFO2dCQUNULENBQUMsNkJBQWlCLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDakMsQ0FBQyx3Q0FBNEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxpQkFBaUI7Z0JBQ3RELENBQUMsZ0NBQW9CLENBQUMsRUFBRSx1QkFBVztnQkFDbkMsQ0FBQyw2Q0FBaUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxxQkFBcUI7Z0JBQy9ELEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsd0NBQXdDO29CQUMvRCxFQUFFLFNBQVM7YUFDZDtTQUNGLENBQUMsQ0FBQztRQUNILE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7O0FBOVRILGtDQStUQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuaW1wb3J0IHsgY3BTeW5jLCByZWFkRmlsZVN5bmMsIHJtU3luYywgd3JpdGVGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgeyBiYXNlbmFtZSwgam9pbiB9IGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGpvaW4gYXMgam9pblBvc2l4IH0gZnJvbSBcIm5vZGU6cGF0aC9wb3NpeFwiO1xuaW1wb3J0IHsgSWdub3JlTW9kZSB9IGZyb20gXCJhd3MtY2RrLWxpYlwiO1xuaW1wb3J0IHsgRG9ja2VySW1hZ2VBc3NldCwgUGxhdGZvcm0gfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWVjci1hc3NldHNcIjtcbmltcG9ydCB7IEFzc2V0SW1hZ2VDb2RlUHJvcHMsIERvY2tlckltYWdlQ29kZSB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHtcbiAgQlVJTERFUl9JTUFHRV9BTElBU19BUkdfTkFNRSxcbiAgTU9VTlRfUEFUSCxcbiAgSU1BR0VfQ0FDSEVfUEFUSCxcbiAgSU1BR0VfQ0FDSEVfUEFUSF9BUkdfTkFNRSxcbiAgTU9VTlRfUEFUSF9BUkdfTkFNRSxcbiAgTmV4dGpzVHlwZSxcbiAgUFVCTElDX1BBVEgsXG4gIFBVQkxJQ19QQVRIX0FSR19OQU1FLFxuICBSRUxBVElWRV9QQVRIX1RPX1BBQ0tBR0VfQVJHX05BTUUsXG4gIEJVSUxEX0lEX0FSR19OQU1FLFxuICBEQVRBX0NBQ0hFX1BBVEhfQVJHX05BTUUsXG4gIERBVEFfQ0FDSEVfUEFUSCxcbiAgQ0FDSEVfUEFUSCxcbiAgQ0FDSEVfUEFUSF9BUkdfTkFNRSxcbiAgSU5KRUNUX0NES19ORVhUSlNfQlVJTERfRU5WX1ZBUlMsXG59IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsRG9ja2VySW1hZ2VBc3NldFByb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsRG9ja2VySW1hZ2VBc3NldFByb3BzXCI7XG5pbXBvcnQgeyBOZXh0anNCYXNlUHJvcHMgfSBmcm9tIFwiLi4vcm9vdC1jb25zdHJ1Y3RzL25leHRqcy1iYXNlLWNvbnN0cnVjdFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkZXJJbWFnZVByb3BzIHtcbiAgLyoqXG4gICAqIEJ1aWxkIEFyZ3MgdG8gYmUgcGFzc2VkIHRvIGBkb2NrZXIgYnVpbGRgIGNvbW1hbmQuXG4gICAqL1xuICByZWFkb25seSBidWlsZEFyZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogYGRvY2tlciBidWlsZCAuLi5gIGNvbW1hbmQgdG8gcnVuIGluIHtAbGluayBOZXh0QmFzZVByb3BzLmJ1aWxkQ29udGV4dH0uXG4gICAqIERlZmF1bHQgaW50ZXJwb2xhdGVzIG90aGVyIHByb3BzLiBJZiB5b3Ugb3ZlcnJpZGUsIG90aGVyIHByb3BzIHdpbGwgaGF2ZVxuICAgKiBubyBlZmZlY3Qgb24gY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmQ/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgbmFtZXMgdG8gcGFzcyBmcm9tIGhvc3QgdG8gY29udGFpbmVyIGR1cmluZyBidWlsZCBwcm9jZXNzLlxuICAgKlxuICAgKiBOb3RlLCBhIHNoZWxsIHNjcmlwdCwgY2RrLW5leHRqcy1sb2FkLWVudi12YXJzLnNoIGlzIGNyZWF0ZWQgd2l0aGluIHRoZVxuICAgKiB7QGxpbmsgTmV4dEJhc2VQcm9wcy5idWlsZENvbnRleHR9IGRpcmVjdG9yeSwgd2hpY2ggd2lsbCBjb250YWluIGFsbCB0aGVcbiAgICogZW52aXJvbm1lbnQgdmFyaWFibGVzIGRlZmluZWQgaW4gdGhpcyBwcm9wLiBJZiB5b3UndmUgY3JlYXRlZCB5b3VyIG93blxuICAgKiBjdXN0b20gRG9ja2VyZmlsZSAocGFzc2VkIGluIHZpYSB7QGxpbmsgQnVpbGRlckltYWdlUHJvcHMuY3VzdG9tRG9ja2VyZmlsZVBhdGh9KVxuICAgKiB0aGVuIHlvdSBuZWVkIHRvIG1ha2Ugc3VyZSB5b3UncmUgY29weWluZyBpdCBpbnRvIHRoZSBpbWFnZS5cbiAgICpcbiAgICogQGV4YW1wbGUgW1wiTVlfQVBJX0tFWVwiXVxuICAgKi9cbiAgcmVhZG9ubHkgZW52VmFyTmFtZXM/OiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIExpbmVzIGluIC5kb2NrZXJpZ25vcmUgZmlsZSB3aGljaCB3aWxsIGJlIGNyZWF0ZWQgaW4geW91ciB7QGxpbmsgTmV4dEJhc2VQcm9wcy5idWlsZENvbnRleHR9XG4gICAqIEBkZWZhdWx0IFtcIm5vZGVfbW9kdWxlc1wiLCBcIi5naXRcIiwgXCIuZ2l0aWdub3JlXCIsIFwiLm1kXCJdXG4gICAqL1xuICByZWFkb25seSBleGNsdWRlPzogc3RyaW5nW107XG4gIC8qKlxuICAgKiBOYW1lIG9mIERvY2tlcmZpbGUgaW4gYnVpbGRlciBidWlsZCBjb250ZXh0LiBJZiBzcGVjaWZpZWQsIHlvdSBhcmUgcmVzcG9uc2libGVcbiAgICogZm9yIGVuc3VyaW5nIGl0IGV4aXN0cyBpbiBidWlsZCBjb250ZXh0IGJlZm9yZSBjb25zdHJ1Y3QgaXMgaW5zdGFudGlhdGVkLlxuICAgKiBAZGVmYXVsdCBcImJ1aWxkZXIuRG9ja2VyZmlsZVwiXG4gICAqL1xuICByZWFkb25seSBmaWxlPzogc3RyaW5nO1xuICByZWFkb25seSBwbGF0Zm9ybT86IFBsYXRmb3JtO1xuICAvKipcbiAgICogU2tpcCBidWlsZGluZyB0aGUgYnVpbGRlciBpbWFnZS5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHNraXBCdWlsZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzQnVpbGRPdmVycmlkZXMge1xuICByZWFkb25seSBuZXh0anNDb250YWluZXJzRG9ja2VySW1hZ2VBc3NldFByb3BzPzogT3B0aW9uYWxEb2NrZXJJbWFnZUFzc2V0UHJvcHM7XG4gIHJlYWRvbmx5IG5leHRqc0Z1bmN0aW9uc0Fzc2V0SW1hZ2VDb2RlUHJvcHM/OiBBc3NldEltYWdlQ29kZVByb3BzO1xuICByZWFkb25seSBuZXh0anNBc3NldERlcGxveW1lbnRBc3NldEltYWdlQ29kZVByb3BzPzogQXNzZXRJbWFnZUNvZGVQcm9wcztcbiAgLyoqXG4gICAqIERlZmF1bHQgZm9sZGVyIGZvciBidWlsZCBjb250ZXh0IGlzIHRoZSBcImxpYi9uZXh0anMtYnVpbGRcIiBmb2xkZXIgaW4gdGhlXG4gICAqIGluc3RhbGxlZCBjZGstbmV4dGpzIGxpYnJhcnkgd2hpY2ggaGFzIHRoZSBcImdsb2JhbC1mdW5jdGlvbnMuRG9ja2VyZmlsZVwiLlxuICAgKiBOb3RlLCBpZiB5b3Ugc3BlY2lmeSB0aGlzIHRoZW4geW91J3JlIHJlc3BvbnNpYmxlIGZvciBlbnN1cmluZyB0aGUgZG9ja2VyZmlsZVxuICAgKiBpcyBwcmVzZW50IGluIHRoZSBidWlsZCBjb250ZXh0IGRpcmVjdG9yeSBhbmQgYW55IHJlZmVyZW5jZWQgZmlsZXMgYXJlXG4gICAqIHByZXNlbnQgYXMgd2VsbC4gWW91IGNhbiBzcGVjaWZ5IGRvY2tlcmZpbGUgbmFtZSB3aXRoIGFkamFjZW50XG4gICAqIGBuZXh0anNGdW5jdGlvbnNBc3NldEltYWdlQ29kZVByb3BzLmZpbGVgIHByb3BlcnR5LlxuICAgKiBAZGVmYXVsdCBcImNkay1uZXh0anMvbGliL25leHRqcy1idWlsZFwiXG4gICAqL1xuICByZWFkb25seSBmdW5jdGlvbnNJbWFnZUJ1aWxkQ29udGV4dD86IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmF1bHQgZm9sZGVyIGZvciBidWlsZCBjb250ZXh0IGlzIHRoZSBcImxpYi9uZXh0anMtYnVpbGRcIiBmb2xkZXIgaW4gdGhlXG4gICAqIGluc3RhbGxlZCBjZGstbmV4dGpzIGxpYnJhcnkgd2hpY2ggaGFzIHRoZSBcImFzc2V0cy1kZXBsb3ltZW50LkRvY2tlcmZpbGVcIi5cbiAgICogTm90ZSwgaWYgeW91IHNwZWNpZnkgdGhpcyB0aGVuIHlvdSdyZSByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhlIGRvY2tlcmZpbGVcbiAgICogaXMgcHJlc2VudCBpbiB0aGUgYnVpbGQgY29udGV4dCBkaXJlY3RvcnkgYW5kIGFueSByZWZlcmVuY2VkIGZpbGVzIGFyZVxuICAgKiBwcmVzZW50IGFzIHdlbGwuIFlvdSBjYW4gc3BlY2lmeSBkb2NrZXJmaWxlIG5hbWUgd2l0aCBhZGphY2VudFxuICAgKiBgbmV4dGpzQXNzZXREZXBsb3ltZW50QXNzZXRJbWFnZUNvZGVQcm9wcy5maWxlYCBwcm9wZXJ0eS5cbiAgICogQGRlZmF1bHQgXCJjZGstbmV4dGpzL2xpYi9uZXh0anMtYnVpbGRcIlxuICAgKi9cbiAgcmVhZG9ubHkgYXNzZXRzRGVwbG95bWVudEltYWdlQnVpbGRDb250ZXh0Pzogc3RyaW5nO1xuICAvKipcbiAgICogRGVmYXVsdCBmb2xkZXIgZm9yIGJ1aWxkIGNvbnRleHQgaXMgdGhlIFwiYXNzZXRzL2xhbWJkYXMvYXNzZXRzLWRlcGxveW1lbnQvYXNzZXRzLWRlcGxveW1lbnQubGFtYmRhXCIgZm9sZGVyIGluIHRoZVxuICAgKiBpbnN0YWxsZWQgY2RrLW5leHRqcyBsaWJyYXJ5IHdoaWNoIGhhcyB0aGUgXCJ7Li4ufS1jb250YWluZXJzLkRvY2tlcmZpbGVcIi5cbiAgICogTm90ZSwgaWYgeW91IHNwZWNpZnkgdGhpcyB0aGVuIHlvdSdyZSByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgdGhlIGRvY2tlcmZpbGVcbiAgICogaXMgcHJlc2VudCBpbiB0aGUgYnVpbGQgY29udGV4dCBkaXJlY3RvcnkgYW5kIGFueSByZWZlcmVuY2VkIGZpbGVzIGFyZVxuICAgKiBwcmVzZW50IGFzIHdlbGwuIFlvdSBjYW4gc3BlY2lmeSBkb2NrZXJmaWxlIG5hbWUgd2l0aCBhZGphY2VudFxuICAgKiBgbmV4dGpzQ29udGFpbmVyc0RvY2tlckltYWdlQXNzZXRQcm9wcy5maWxlYCBwcm9wZXJ0eS5cbiAgICogQGRlZmF1bHQgXCJjZGstbmV4dGpzL2xpYi9uZXh0anMtYnVpbGRcIlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGFpbmVyc0ltYWdlQnVpbGRDb250ZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0J1aWxkUHJvcHMge1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTmV4dGpzQmFzZVByb3BzW1wiYnVpbGRDb21tYW5kXCJdfVxuICAgKi9cbiAgcmVhZG9ubHkgYnVpbGRDb21tYW5kOiBOZXh0anNCYXNlUHJvcHNbXCJidWlsZENvbW1hbmRcIl07XG4gIC8qKlxuICAgKiBAc2VlIHtAbGluayBOZXh0anNCYXNlUHJvcHNbXCJidWlsZENvbnRleHRcIl19XG4gICAqL1xuICByZWFkb25seSBidWlsZENvbnRleHQ6IE5leHRqc0Jhc2VQcm9wc1tcImJ1aWxkQ29udGV4dFwiXTtcbiAgLyoqXG4gICAqXG4gICAqL1xuICByZWFkb25seSBidWlsZGVySW1hZ2VQcm9wcz86IEJ1aWxkZXJJbWFnZVByb3BzO1xuICAvKipcbiAgICogQHNlZSB7QGxpbmsgTmV4dGpzQmFzZVByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZX1cbiAgICovXG4gIHJlYWRvbmx5IHJlbGF0aXZlUGF0aFRvUGFja2FnZT86IE5leHRqc0Jhc2VQcm9wc1tcInJlbGF0aXZlUGF0aFRvUGFja2FnZVwiXTtcbiAgcmVhZG9ubHkgbmV4dGpzVHlwZTogTmV4dGpzVHlwZTtcbiAgcmVhZG9ubHkgb3ZlcnJpZGVzPzogTmV4dGpzQnVpbGRPdmVycmlkZXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHVibGljRGlyRW50cnkge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGlzRGlyZWN0b3J5OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEJ1aWxkcyBOZXh0LmpzIGFzc2V0cy5cbiAqIEBsaW5rIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL3BhZ2VzL2FwaS1yZWZlcmVuY2UvbmV4dC1jb25maWctanMvb3V0cHV0XG4gKi9cbmV4cG9ydCBjbGFzcyBOZXh0anNCdWlsZCBleHRlbmRzIENvbnN0cnVjdCB7XG4gIC8qKlxuICAgKiBJbWFnZSBhbGlhcyBvZiBidWlsZGVyIGltYWdlIE5leHQuanMgYXBwIHdoaWNoIGlzIGJ1aWx0IGZvciBvdGhlciBpbWFnZXMgdG8gYmVcbiAgICogYnVpbHQgYEZST01gLiBUaGlzIGltYWdlIGlzbid0IGJ1aWx0IHdpdGggQ0RLIEFzc2V0cyBjb25zdHJ1Y3QgYi9jIGl0XG4gICAqIGRvZXNuJ3QgbmVlZCB0byBiZSB1cGxvYWRlZCB0byBFQ1IuIFdlIHN0aWxsIG5lZWQgdG8gaW5jbHVkZSBzbGljZSBvZlxuICAgKiBgbm9kZS5hZGRyYCBpbiB0YWcgaW4gY2FzZSBtdWx0aXBsZSBjZGstbmV4dGpzIGNvbnN0cnVjdHMgYXJlIHVzZWQuXG4gICAqL1xuICBidWlsZGVySW1hZ2VBbGlhczogc3RyaW5nO1xuICAvKipcbiAgICogVW5pcXVlIGlkIGZvciBOZXh0LmpzIGJ1aWxkLiBVc2VkIHRvIHBhcnRpdGlvbiBFRlMgRmlsZVN5c3RlbS5cbiAgICovXG4gIGJ1aWxkSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEhhc2ggb2YgYnVpbGRlciBpbWFnZSB3aGljaCB3aWxsIGNoYW5nZSB3aGVuZXZlciB0aGUgaW1hZ2UgY2hhbmdlcy4gVXNlZnVsXG4gICAqIGZvciBwYXNzaW5nIHRvIHByb3BlcnRpZXMgb2YgY3VzdG9tIHJlc291cmNlcyB0aGF0IGRlcGVuZCB1cG9uIHRoZSBidWlsZGVyXG4gICAqIGltYWdlIHRvIHJlLXJ1biB3aGVuIGJ1aWxkIGltYWdlIGNoYW5nZXMuXG4gICAqL1xuICBidWlsZEltYWdlRGlnZXN0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBEb2NrZXIgaW1hZ2UgYnVpbHQgaWYgdXNpbmcgRmFyZ2F0ZS5cbiAgICovXG4gIGltYWdlRm9yTmV4dGpzQ29udGFpbmVycz86IERvY2tlckltYWdlQXNzZXQ7XG4gIC8qKlxuICAgKiBEb2NrZXIgaW1hZ2UgYnVpbHQgaWYgdXNpbmcgTGFtYmRhLlxuICAgKi9cbiAgaW1hZ2VGb3JOZXh0anNGdW5jdGlvbnM/OiBEb2NrZXJJbWFnZUNvZGU7XG4gIC8qKlxuICAgKiBEb2NrZXIgaW1hZ2UgYnVpbHQgZm9yIGBOZXh0anNBc3NldHNEZXBsb3ltZW50YFxuICAgKi9cbiAgaW1hZ2VGb3JOZXh0anNBc3NldHNEZXBsb3ltZW50OiBEb2NrZXJJbWFnZUNvZGU7XG4gIC8qKlxuICAgKiBBYnNvbHV0ZSBwYXRoIHRvIHB1YmxpYy4gVXNlIGJ5IENsb3VkRnJvbnQvQUxCIHRvIGNyZWF0ZSBiZWhhdmlvcnMvcnVsZXNcbiAgICogQGV4YW1wbGUgXCIvVXNlcnMvam9obi9teWFwcC9wdWJsaWNcIlxuICAgKi9cbiAgcHVibGljRGlyRW50cmllczogUHVibGljRGlyRW50cnlbXTtcbiAgLyoqXG4gICAqIFRoZSBlbnRyeXBvaW50IEphdmFTY3JpcHQgZmlsZSB1c2VkIGFzIGFuIGFyZ3VtZW50IGZvciBOb2RlLmpzIHRvIHJ1biB0aGVcbiAgICogTmV4dC5qcyBzdGFuZGFsb25lIHNlcnZlciByZWxhdGl2ZSB0byB0aGUgc3RhbmRhbG9uZSBkaXJlY3RvcnkuXG4gICAqIEBleGFtcGxlIFwiLi9zZXJ2ZXIuanNcIlxuICAgKiBAZXhhbXBsZSBcIi4vcGFja2FnZXMvdWkvc2VydmVyLmpzXCIgKG1vbm9yZXBvKVxuICAgKi9cbiAgcmVsYXRpdmVQYXRoVG9FbnRyeXBvaW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJlcG9zaXRvcnkgbmFtZSBmb3IgdGhlIGJ1aWxkZXIgaW1hZ2UuXG4gICAqL1xuICBwcml2YXRlIGJ1aWxkZXJJbWFnZVJlcG8gPSBcImNkay1uZXh0anMvYnVpbGRlclwiO1xuXG4gIHByaXZhdGUgY29udGFpbmVyUnVudGltZSA9IHByb2Nlc3MuZW52LkNES19ET0NLRVIgfHwgXCJkb2NrZXJcIjtcbiAgcHJpdmF0ZSBwcm9wczogTmV4dGpzQnVpbGRQcm9wcztcbiAgcHJpdmF0ZSByZWxhdGl2ZVBhdGhUb1BhY2thZ2U6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBpZDogc3RyaW5nLCBwcm9wczogTmV4dGpzQnVpbGRQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCk7XG4gICAgdGhpcy5idWlsZGVySW1hZ2VBbGlhcyA9IGAke3RoaXMuYnVpbGRlckltYWdlUmVwb306JHt0aGlzLm5vZGUuYWRkci5zbGljZSgzMCl9YDtcbiAgICB0aGlzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSA9IHByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSB8fCBcIi5cIjtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5yZWxhdGl2ZVBhdGhUb0VudHJ5cG9pbnQgPSB0aGlzLmdldFJlbGF0aXZlRW50cnlwb2ludFBhdGgoKTtcbiAgICBpZiAoIXByb3BzLmJ1aWxkZXJJbWFnZVByb3BzPy5za2lwQnVpbGQpIHtcbiAgICAgIHRoaXMuY3JlYXRlQnVpbGRlckltYWdlKCk7XG4gICAgfVxuICAgIHRoaXMuYnVpbGRJbWFnZURpZ2VzdCA9IHRoaXMuZ2V0QnVpbGRlckltYWdlRGlnZXN0KCk7XG4gICAgdGhpcy5idWlsZElkID0gdGhpcy5nZXRCdWlsZElkKCk7XG4gICAgdGhpcy5wdWJsaWNEaXJFbnRyaWVzID0gdGhpcy5nZXRQdWJsaWNEaXJFbnRyaWVzKCk7XG4gICAgaWYgKFxuICAgICAgcHJvcHMubmV4dGpzVHlwZSA9PT0gTmV4dGpzVHlwZS5HTE9CQUxfQ09OVEFJTkVSUyB8fFxuICAgICAgcHJvcHMubmV4dGpzVHlwZSA9PT0gTmV4dGpzVHlwZS5SRUdJT05BTF9DT05UQUlORVJTXG4gICAgKSB7XG4gICAgICB0aGlzLmltYWdlRm9yTmV4dGpzQ29udGFpbmVycyA9IHRoaXMuY3JlYXRlSW1hZ2VGb3JOZXh0anNDb250YWluZXJzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaW1hZ2VGb3JOZXh0anNGdW5jdGlvbnMgPSB0aGlzLmNyZWF0ZUltYWdlRm9yTmV4dGpzRnVuY3Rpb25zKCk7XG4gICAgfVxuICAgIHRoaXMuaW1hZ2VGb3JOZXh0anNBc3NldHNEZXBsb3ltZW50ID1cbiAgICAgIHRoaXMuY3JlYXRlSW1hZ2VGb3JOZXh0anNBc3NldHNEZXBsb3ltZW50KCk7XG4gIH1cblxuICBwcml2YXRlIGdldFJlbGF0aXZlRW50cnlwb2ludFBhdGgoKSB7XG4gICAgLy8gam9pblBvc2l4IGIvYyB0aGlzIHdpbGwgYmUgdXNlZCBpbiBsaW51eCBjb250YWluZXJcbiAgICByZXR1cm4gam9pblBvc2l4KHRoaXMucHJvcHMucmVsYXRpdmVQYXRoVG9QYWNrYWdlIHx8IFwiXCIsIFwic2VydmVyLmpzXCIpO1xuICB9XG4gIC8qKlxuICAgKiBBIGJ1aWxkZXIgb3IgYmFzZSBpbWFnZSBuZWVkcyB0byBiZSBjcmVhdGVkIHNvIHRoYXQgdGhlIHNhbWUgaW1hZ2UgY2FuIGJlXG4gICAqIGJ1aWx0IGBGUk9NYCBmb3IgYE5leHRqc0Z1bmN0aW9uc2Agb3IgYE5leHRqc0NvbnRhaW5lcnNgIGFuZCBgTmV4dGpzQXNzZXRzRGVwbG95bWVudGAuXG4gICAqIFRoaXMgaW1hZ2UgZG9lc24ndCBuZWVkIHRvIGJlIHVwbG9hZGVkIHRvIEVDUiBzbyB3ZSdyZSBcIm1hbnVhbGx5XCIgY3JlYXRpbmdcbiAgICogaXQgd2l0aCBgZXhlY1N5bmNgIGFuZCBvdGhlciBpbWFnZXMgd2lsbCBiZSBidWlsdCBgRlJPTWAgaXQuXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUJ1aWxkZXJJbWFnZSgpIHtcbiAgICBjb25zdCBidWlsZENvbW1hbmQgPSB0aGlzLnByb3BzLmJ1aWxkQ29tbWFuZCB8fCBcIm5wbSBydW4gYnVpbGRcIjtcbiAgICBjb25zdCB7XG4gICAgICBidWlsZEFyZ3MgPSB7XG4gICAgICAgIEJVSUxEX0NPTU1BTkQ6IGJ1aWxkQ29tbWFuZCxcbiAgICAgICAgUkVMQVRJVkVfUEFUSF9UT19QQUNLQUdFOiB0aGlzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSxcbiAgICAgICAgLi4udGhpcy5wcm9wcy5idWlsZGVySW1hZ2VQcm9wcz8uYnVpbGRBcmdzLFxuICAgICAgfSxcbiAgICAgIGVudlZhck5hbWVzID0gW10sXG4gICAgICBleGNsdWRlID0gW1xuICAgICAgICBcIioqL25vZGVfbW9kdWxlc1wiLFxuICAgICAgICBcIi5naXRcIixcbiAgICAgICAgXCIqKi9jZGsub3V0XCIsXG4gICAgICAgIFwiKiovLm5leHRcIixcbiAgICAgICAgXCIuZ2l0aWdub3JlXCIsXG4gICAgICAgIFwiKi5tZFwiLFxuICAgICAgXSxcbiAgICAgIGZpbGUgPSBcImJ1aWxkZXIuRG9ja2VyZmlsZVwiLFxuICAgICAgcGxhdGZvcm0sXG4gICAgfSA9IHRoaXMucHJvcHMuYnVpbGRlckltYWdlUHJvcHMgfHwge307XG5cbiAgICAvLyB0byBiZSBhZGRlZCB0byB1c2VyIHByb3ZpZGVkIGJ1aWxkIGNvbnRleHQgYmVmb3JlIGJ1aWxkZXIgaW1hZ2UgaXMgYnVpbHRcbiAgICBjb25zdCBmaWxlUGF0aHNUb0NvcHk6IHN0cmluZ1tdID0gW1xuICAgICAgam9pbihfX2Rpcm5hbWUsIFwiY2RrLW5leHRqcy1jYWNoZS1oYW5kbGVyLmNqc1wiKSxcbiAgICBdO1xuICAgIC8vIHRvIGJlIHJlbW92ZWQgZnJvbSB1c2VyIHByb3ZpZGVkIGJ1aWxkIGNvbnRleHQgYWZ0ZXIgYnVpbGRlciBpbWFnZSBpcyBidWlsdFxuICAgIGNvbnN0IGZpbGVQYXRoc1RvUmVtb3ZlOiBzdHJpbmdbXSA9IFtcbiAgICAgIGpvaW4odGhpcy5wcm9wcy5idWlsZENvbnRleHQsIFwiY2RrLW5leHRqcy1jYWNoZS1oYW5kbGVyLmNqc1wiKSxcbiAgICBdO1xuXG4gICAgLy8gaWYgY3VzdG9tIGZpbGUgKERvY2tlcmZpbGUpIGlzIG5vdCBzcGVjaWZpZWQgdGhlbiB1c2UgbGlicmFyeSdzIGRlZmF1bHQgYnVpbGRlci5Eb2NrZXJmaWxlICsgLmRvY2tlcmlnbm9yZVxuICAgIGlmICghdGhpcy5wcm9wcy5idWlsZGVySW1hZ2VQcm9wcz8uZmlsZSkge1xuICAgICAgZmlsZVBhdGhzVG9Db3B5LnB1c2goam9pbihfX2Rpcm5hbWUsIGZpbGUpKTtcbiAgICAgIGZpbGVQYXRoc1RvUmVtb3ZlLnB1c2goam9pbih0aGlzLnByb3BzLmJ1aWxkQ29udGV4dCwgZmlsZSkpO1xuICAgICAgY29uc3QgZXhjbHVkZUZpbGVTdHIgPSBleGNsdWRlPy5qb2luKFwiXFxuXCIpO1xuICAgICAgY29uc3QgZG9ja2VyaWdub3JlRmlsZVBhdGggPSBqb2luKFxuICAgICAgICB0aGlzLnByb3BzLmJ1aWxkQ29udGV4dCxcbiAgICAgICAgXCIuZG9ja2VyaWdub3JlXCIsXG4gICAgICApO1xuICAgICAgd3JpdGVGaWxlU3luYyhkb2NrZXJpZ25vcmVGaWxlUGF0aCwgZXhjbHVkZUZpbGVTdHIpO1xuICAgICAgZmlsZVBhdGhzVG9SZW1vdmUucHVzaChkb2NrZXJpZ25vcmVGaWxlUGF0aCk7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBmaWxlUGF0aFRvQ29weSBvZiBmaWxlUGF0aHNUb0NvcHkpIHtcbiAgICAgIGNwU3luYyhcbiAgICAgICAgZmlsZVBhdGhUb0NvcHksXG4gICAgICAgIGpvaW4odGhpcy5wcm9wcy5idWlsZENvbnRleHQsIGJhc2VuYW1lKGZpbGVQYXRoVG9Db3B5KSksXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGJ1aWxkQXJnc1N0ciA9IHRoaXMuY3JlYXRlQnVpbGRBcmdTdHIoYnVpbGRBcmdzKTtcbiAgICB0aGlzLmluamVjdEJ1aWxkZXJEb2NrZXJmaWxlRW52VmFycyhcbiAgICAgIGpvaW4odGhpcy5wcm9wcy5idWlsZENvbnRleHQsIGZpbGUpLFxuICAgICAgZW52VmFyTmFtZXMsXG4gICAgKTtcbiAgICBjb25zdCBjb21tYW5kID1cbiAgICAgIHRoaXMucHJvcHMuYnVpbGRlckltYWdlUHJvcHM/LmNvbW1hbmQgfHxcbiAgICAgIGAke3RoaXMuY29udGFpbmVyUnVudGltZX0gYnVpbGQgJHtwbGF0Zm9ybSA/IGAtLXBsYXRmb3JtICR7cGxhdGZvcm0ucGxhdGZvcm19YCA6IFwiXCJ9IC0tZmlsZSAke2ZpbGV9IC0tdGFnICR7dGhpcy5idWlsZGVySW1hZ2VBbGlhc30gJHtidWlsZEFyZ3NTdHJ9IC5gO1xuICAgIGxldCBlcnJvcjogdW5rbm93bjtcbiAgICB0cnkge1xuICAgICAgY29uc29sZS5sb2coXG4gICAgICAgIGBCdWlsZGluZyBpbWFnZSB3aXRoIGNvbW1hbmQ6ICR7Y29tbWFuZH0gaW4gZGlyZWN0b3J5OiAke3RoaXMucHJvcHMuYnVpbGRDb250ZXh0fWAsXG4gICAgICApO1xuICAgICAgZXhlY1N5bmMoY29tbWFuZCwge1xuICAgICAgICBzdGRpbzogXCJpbmhlcml0XCIsXG4gICAgICAgIGN3ZDogdGhpcy5wcm9wcy5idWlsZENvbnRleHQsXG4gICAgICAgIGVudjogcHJvY2Vzcy5lbnYsXG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGVycm9yID0gZXJyO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBmb3IgKGNvbnN0IGZpbGVQYXRoVG9SZW1vdmUgb2YgZmlsZVBhdGhzVG9SZW1vdmUpIHtcbiAgICAgICAgcm1TeW5jKGZpbGVQYXRoVG9SZW1vdmUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZXJyb3IpIHRocm93IGVycm9yO1xuICB9XG4gIHByaXZhdGUgaW5qZWN0QnVpbGRlckRvY2tlcmZpbGVFbnZWYXJzKFxuICAgIGJ1aWxkZXJEb2NrZXJmaWxlUGF0aDogc3RyaW5nLFxuICAgIGVudlZhck5hbWVzOiBzdHJpbmdbXSxcbiAgKSB7XG4gICAgY29uc3QgZW52VmFyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICAgIGZvciAoY29uc3QgZW52VmFyTmFtZSBvZiBlbnZWYXJOYW1lcykge1xuICAgICAgaWYgKHByb2Nlc3MuZW52W2VudlZhck5hbWVdKSB7XG4gICAgICAgIGVudlZhcnNbZW52VmFyTmFtZV0gPSBwcm9jZXNzLmVudltlbnZWYXJOYW1lXTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgY29udGVudCA9IE9iamVjdC5lbnRyaWVzKGVudlZhcnMpXG4gICAgICAubWFwKChbbmFtZSwgdmFsdWVdKSA9PiBgJHtuYW1lfT0ke3ZhbHVlfWApXG4gICAgICAuam9pbihcIiBcIik7XG4gICAgY29uc3Qgb2xkRmlsZSA9IHJlYWRGaWxlU3luYyhidWlsZGVyRG9ja2VyZmlsZVBhdGgpLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgbmV3RmlsZSA9IG9sZEZpbGUucmVwbGFjZShJTkpFQ1RfQ0RLX05FWFRKU19CVUlMRF9FTlZfVkFSUywgY29udGVudCk7XG4gICAgd3JpdGVGaWxlU3luYyhidWlsZGVyRG9ja2VyZmlsZVBhdGgsIG5ld0ZpbGUpO1xuICB9XG4gIHByaXZhdGUgY3JlYXRlQnVpbGRBcmdTdHIoXG4gICAgYnVpbGRBcmdzOiBSZXF1aXJlZDxCdWlsZGVySW1hZ2VQcm9wcz5bXCJidWlsZEFyZ3NcIl0sXG4gICkge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhidWlsZEFyZ3MpLnJlZHVjZSgoYWNjLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIHJldHVybiBgJHthY2N9IC0tYnVpbGQtYXJnICR7a2V5fT1cIiR7dmFsdWV9XCJgO1xuICAgIH0sIFwiXCIpO1xuICB9XG4gIHByaXZhdGUgZ2V0QnVpbGRlckltYWdlRGlnZXN0KCkge1xuICAgIGNvbnN0IGRpZ2VzdCA9IGV4ZWNTeW5jKFxuICAgICAgYCR7dGhpcy5jb250YWluZXJSdW50aW1lfSBpbWFnZXMgLS1uby10cnVuYyAtLXF1aWV0ICR7dGhpcy5idWlsZGVySW1hZ2VBbGlhc31gLFxuICAgICAgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0sXG4gICAgKTtcbiAgICByZXR1cm4gZGlnZXN0LnNsaWNlKDAsIC0xKTsgLy8gcmVtb3ZlIHRyYWlsaW5nIFxcblxuICB9XG4gIHByaXZhdGUgZ2V0UHVibGljRGlyRW50cmllcygpOiBQdWJsaWNEaXJFbnRyeVtdIHtcbiAgICBjb25zdCBwdWJsaWNEaXJQYXRoID0gam9pblBvc2l4KFxuICAgICAgXCIvYXBwXCIsXG4gICAgICB0aGlzLnByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSB8fCBcIlwiLFxuICAgICAgXCJwdWJsaWNcIixcbiAgICApO1xuICAgIGNvbnN0IHB1YmxpY0RpckVudHJpZXNTdHJpbmcgPSBleGVjU3luYyhcbiAgICAgIGAke3RoaXMuY29udGFpbmVyUnVudGltZX0gcnVuICR7dGhpcy5idWlsZGVySW1hZ2VBbGlhc30gbm9kZSAtZSBcImNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGZzLnJlYWRkaXJTeW5jKCcke3B1YmxpY0RpclBhdGh9JywgeyB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pLm1hcCgoZSkgPT4gKHsgbmFtZTogZS5uYW1lLCBpc0RpcmVjdG9yeTogZS5pc0RpcmVjdG9yeSgpfSkpKSlcImAsXG4gICAgICB7IGVuY29kaW5nOiBcInV0Zi04XCIgfSxcbiAgICApO1xuICAgIHJldHVybiBKU09OLnBhcnNlKHB1YmxpY0RpckVudHJpZXNTdHJpbmcpIGFzIFB1YmxpY0RpckVudHJ5W107XG4gIH1cbiAgcHJpdmF0ZSBnZXRCdWlsZElkKCkge1xuICAgIGNvbnN0IGJ1aWxkSWRQYXRoID0gam9pblBvc2l4KFxuICAgICAgXCIvYXBwXCIsXG4gICAgICB0aGlzLnByb3BzLnJlbGF0aXZlUGF0aFRvUGFja2FnZSB8fCBcIlwiLFxuICAgICAgXCIubmV4dFwiLFxuICAgICAgXCJCVUlMRF9JRFwiLFxuICAgICk7XG4gICAgY29uc3QgYnVpbGRJZCA9IGV4ZWNTeW5jKFxuICAgICAgYCR7dGhpcy5jb250YWluZXJSdW50aW1lfSBydW4gJHt0aGlzLmJ1aWxkZXJJbWFnZUFsaWFzfSAvYmluL3NoIC1jIFwiY2F0ICR7YnVpbGRJZFBhdGh9XCJgLFxuICAgICAgeyBlbmNvZGluZzogXCJ1dGYtOFwiIH0sXG4gICAgKTtcbiAgICByZXR1cm4gYnVpbGRJZDtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZUltYWdlRm9yTmV4dGpzQ29udGFpbmVycygpIHtcbiAgICBjb25zdCBkb2NrZXJmaWxlTmFtZVByZWZpeCA9XG4gICAgICB0aGlzLnByb3BzLm5leHRqc1R5cGUgPT09IE5leHRqc1R5cGUuR0xPQkFMX0NPTlRBSU5FUlNcbiAgICAgICAgPyBcImdsb2JhbFwiXG4gICAgICAgIDogXCJyZWdpb25hbFwiO1xuICAgIGNvbnN0IGRvY2tlcmZpbGVOYW1lID0gYCR7ZG9ja2VyZmlsZU5hbWVQcmVmaXh9LWNvbnRhaW5lcnMuRG9ja2VyZmlsZWA7XG4gICAgLy8gY2RrLW5leHRqcy9idWlsZGVyLXtoYXNofSBhbHJlYWR5IGNvbnRhaW5zIGJ1aWx0IG5leHRqcyBhcHAgd2hpY2ggd2UnbGxcbiAgICAvLyBgQ09QWSAtLWZyb209Y2RrLW5leHRqcy9idWlsZGVyLXtoYXNofWAgc28gd2UganVzdCBuZWVkIHRoZSBEb2NrZXJmaWxlXG4gICAgLy8gd2hpY2ggaXMgaW4gbGliL25leHRqcy1idWlsZCBmb2xkZXIuXG4gICAgY29uc3QgYnVpbGRDb250ZXh0ID1cbiAgICAgIHRoaXMucHJvcHMub3ZlcnJpZGVzPy5jb250YWluZXJzSW1hZ2VCdWlsZENvbnRleHQgPz9cbiAgICAgIGpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwiLi5cIiwgXCJsaWJcIiwgXCJuZXh0anMtYnVpbGRcIik7XG4gICAgY29uc3QgZG9ja2VySW1hZ2VBc3NldCA9IG5ldyBEb2NrZXJJbWFnZUFzc2V0KHRoaXMsIFwiSW1hZ2VcIiwge1xuICAgICAgZGlyZWN0b3J5OiBidWlsZENvbnRleHQsXG4gICAgICBleHRyYUhhc2g6IHRoaXMuYnVpbGRJbWFnZURpZ2VzdCwgLy8gcmVidWlsZCB3aGVuIGJ1aWxkZXIgaGFzaCBjaGFuZ2VzXG4gICAgICBmaWxlOiBkb2NrZXJmaWxlTmFtZSxcbiAgICAgIGlnbm9yZU1vZGU6IElnbm9yZU1vZGUuRE9DS0VSLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0NvbnRhaW5lcnNEb2NrZXJJbWFnZUFzc2V0UHJvcHMsXG4gICAgICBidWlsZEFyZ3M6IHtcbiAgICAgICAgW0JVSUxEX0lEX0FSR19OQU1FXTogdGhpcy5idWlsZElkLFxuICAgICAgICBbQlVJTERFUl9JTUFHRV9BTElBU19BUkdfTkFNRV06IHRoaXMuYnVpbGRlckltYWdlQWxpYXMsXG4gICAgICAgIFtDQUNIRV9QQVRIX0FSR19OQU1FXTogQ0FDSEVfUEFUSCxcbiAgICAgICAgW0RBVEFfQ0FDSEVfUEFUSF9BUkdfTkFNRV06IERBVEFfQ0FDSEVfUEFUSCxcbiAgICAgICAgW1BVQkxJQ19QQVRIX0FSR19OQU1FXTogUFVCTElDX1BBVEgsXG4gICAgICAgIFtJTUFHRV9DQUNIRV9QQVRIX0FSR19OQU1FXTogSU1BR0VfQ0FDSEVfUEFUSCxcbiAgICAgICAgW01PVU5UX1BBVEhfQVJHX05BTUVdOiBNT1VOVF9QQVRILFxuICAgICAgICBbUkVMQVRJVkVfUEFUSF9UT19QQUNLQUdFX0FSR19OQU1FXTogdGhpcy5yZWxhdGl2ZVBhdGhUb1BhY2thZ2UsXG4gICAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNDb250YWluZXJzRG9ja2VySW1hZ2VBc3NldFByb3BzXG4gICAgICAgICAgPy5idWlsZEFyZ3MsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBkb2NrZXJJbWFnZUFzc2V0O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJbWFnZUZvck5leHRqc0Z1bmN0aW9ucygpIHtcbiAgICBjb25zdCBkb2NrZXJmaWxlTmFtZSA9IFwiZ2xvYmFsLWZ1bmN0aW9ucy5Eb2NrZXJmaWxlXCI7XG4gICAgLy8gY2RrLW5leHRqcy9idWlsZGVyLXtoYXNofSBhbHJlYWR5IGNvbnRhaW5zIGJ1aWx0IG5leHRqcyBhcHAgd2hpY2ggd2UnbGxcbiAgICAvLyBgQ09QWSAtLWZyb209Y2RrLW5leHRqcy9idWlsZGVyLXtoYXNofWAgc28gd2UganVzdCBuZWVkIHRoZSBEb2NrZXJmaWxlXG4gICAgLy8gd2hpY2ggaXMgaW4gbGliL25leHRqcy1idWlsZCBmb2xkZXIuXG4gICAgY29uc3QgYnVpbGRDb250ZXh0ID1cbiAgICAgIHRoaXMucHJvcHMub3ZlcnJpZGVzPy5mdW5jdGlvbnNJbWFnZUJ1aWxkQ29udGV4dCA/P1xuICAgICAgam9pbihfX2Rpcm5hbWUsIFwiLi5cIiwgXCIuLlwiLCBcImxpYlwiLCBcIm5leHRqcy1idWlsZFwiKTtcbiAgICBjb25zdCBkb2NrZXJJbWFnZUNvZGUgPSBEb2NrZXJJbWFnZUNvZGUuZnJvbUltYWdlQXNzZXQoYnVpbGRDb250ZXh0LCB7XG4gICAgICBjbWQ6IFtcIm5vZGVcIiwgdGhpcy5yZWxhdGl2ZVBhdGhUb0VudHJ5cG9pbnRdLFxuICAgICAgZXh0cmFIYXNoOiB0aGlzLmJ1aWxkSW1hZ2VEaWdlc3QsIC8vIHJlYnVpbGQgd2hlbiBidWlsZGVyIGhhc2ggY2hhbmdlc1xuICAgICAgZmlsZTogZG9ja2VyZmlsZU5hbWUsXG4gICAgICBpZ25vcmVNb2RlOiBJZ25vcmVNb2RlLkRPQ0tFUixcbiAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNGdW5jdGlvbnNBc3NldEltYWdlQ29kZVByb3BzLFxuICAgICAgYnVpbGRBcmdzOiB7XG4gICAgICAgIFtCVUlMRF9JRF9BUkdfTkFNRV06IHRoaXMuYnVpbGRJZCxcbiAgICAgICAgW0JVSUxERVJfSU1BR0VfQUxJQVNfQVJHX05BTUVdOiB0aGlzLmJ1aWxkZXJJbWFnZUFsaWFzLFxuICAgICAgICBbQ0FDSEVfUEFUSF9BUkdfTkFNRV06IENBQ0hFX1BBVEgsXG4gICAgICAgIFtEQVRBX0NBQ0hFX1BBVEhfQVJHX05BTUVdOiBEQVRBX0NBQ0hFX1BBVEgsXG4gICAgICAgIFtQVUJMSUNfUEFUSF9BUkdfTkFNRV06IFBVQkxJQ19QQVRILFxuICAgICAgICBbSU1BR0VfQ0FDSEVfUEFUSF9BUkdfTkFNRV06IElNQUdFX0NBQ0hFX1BBVEgsXG4gICAgICAgIFtNT1VOVF9QQVRIX0FSR19OQU1FXTogTU9VTlRfUEFUSCxcbiAgICAgICAgW1JFTEFUSVZFX1BBVEhfVE9fUEFDS0FHRV9BUkdfTkFNRV06IHRoaXMucmVsYXRpdmVQYXRoVG9QYWNrYWdlLFxuICAgICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8ubmV4dGpzRnVuY3Rpb25zQXNzZXRJbWFnZUNvZGVQcm9wcz8uYnVpbGRBcmdzLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICAvLyBUT0RPOiBob3cgdG8gY2xlYW4gdXAgdGVtcCBkaXI/XG4gICAgLy8gcm1TeW5jKHRlbXBEaXIsIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIHJldHVybiBkb2NrZXJJbWFnZUNvZGU7XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUltYWdlRm9yTmV4dGpzQXNzZXRzRGVwbG95bWVudCgpIHtcbiAgICBjb25zdCBkb2NrZXJmaWxlTmFtZSA9IFwiYXNzZXRzLWRlcGxveW1lbnQuRG9ja2VyZmlsZVwiO1xuICAgIC8qKlxuICAgICAqIFBhdGggdG8gYnVuZGxlZCBjdXN0b20gcmVzb3VyY2UgY29kZVxuICAgICAqL1xuICAgIGNvbnN0IGJ1aWxkQ29udGV4dCA9XG4gICAgICB0aGlzLnByb3BzLm92ZXJyaWRlcz8uYXNzZXRzRGVwbG95bWVudEltYWdlQnVpbGRDb250ZXh0ID8/XG4gICAgICBqb2luKFxuICAgICAgICBfX2Rpcm5hbWUsXG4gICAgICAgIFwiLi5cIixcbiAgICAgICAgXCIuLlwiLFxuICAgICAgICBcImFzc2V0c1wiLFxuICAgICAgICBcImxhbWJkYXNcIixcbiAgICAgICAgXCJhc3NldHMtZGVwbG95bWVudFwiLFxuICAgICAgICBcImFzc2V0cy1kZXBsb3ltZW50LmxhbWJkYVwiLFxuICAgICAgKTtcbiAgICAvLyBjZGstbmV4dGpzL2J1aWxkZXIte2hhc2h9IGFscmVhZHkgY29udGFpbnMgTmV4dC5qcyBidWlsdCBjb2RlIHdoaWNoXG4gICAgLy8gd2UnbGwgY29weSBpbnRvIGZpbmFsIGltYWdlLiBCdXQgd2UgYWxzbyBuZWVkIGxhbWJkYSBjb2RlIHRvIHJ1blxuICAgIC8vIGFzc2V0IGRlcGxveW1lbnQgdGFza3NcbiAgICBjb25zdCBkb2NrZXJJbWFnZUNvZGUgPSBEb2NrZXJJbWFnZUNvZGUuZnJvbUltYWdlQXNzZXQoYnVpbGRDb250ZXh0LCB7XG4gICAgICBleHRyYUhhc2g6IHRoaXMuYnVpbGRJbWFnZURpZ2VzdCwgLy8gcmVidWlsZCB3aGVuIGJ1aWxkZXIgaGFzaCBjaGFuZ2VzXG4gICAgICBmaWxlOiBkb2NrZXJmaWxlTmFtZSxcbiAgICAgIGlnbm9yZU1vZGU6IElnbm9yZU1vZGUuRE9DS0VSLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/Lm5leHRqc0Fzc2V0RGVwbG95bWVudEFzc2V0SW1hZ2VDb2RlUHJvcHMsXG4gICAgICBidWlsZEFyZ3M6IHtcbiAgICAgICAgW0JVSUxEX0lEX0FSR19OQU1FXTogdGhpcy5idWlsZElkLFxuICAgICAgICBbQlVJTERFUl9JTUFHRV9BTElBU19BUkdfTkFNRV06IHRoaXMuYnVpbGRlckltYWdlQWxpYXMsXG4gICAgICAgIFtQVUJMSUNfUEFUSF9BUkdfTkFNRV06IFBVQkxJQ19QQVRILFxuICAgICAgICBbUkVMQVRJVkVfUEFUSF9UT19QQUNLQUdFX0FSR19OQU1FXTogdGhpcy5yZWxhdGl2ZVBhdGhUb1BhY2thZ2UsXG4gICAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5uZXh0anNBc3NldERlcGxveW1lbnRBc3NldEltYWdlQ29kZVByb3BzXG4gICAgICAgICAgPy5idWlsZEFyZ3MsXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHJldHVybiBkb2NrZXJJbWFnZUNvZGU7XG4gIH1cbn1cbiJdfQ==
@@ -144,5 +144,5 @@ class NextjsContainers extends constructs_1.Construct {
144
144
  }
145
145
  exports.NextjsContainers = NextjsContainers;
146
146
  _a = JSII_RTTI_SYMBOL_1;
147
- NextjsContainers[_a] = { fqn: "cdk-nextjs.NextjsContainers", version: "0.4.2" };
147
+ NextjsContainers[_a] = { fqn: "cdk-nextjs.NextjsContainers", version: "0.4.4" };
148
148
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWNvbnRhaW5lcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbmV4dGpzLWNvbXB1dGUvbmV4dGpzLWNvbnRhaW5lcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwyQ0FBdUM7QUFDdkMsNkNBQXVDO0FBRXZDLGlEQVE2QjtBQUM3QixtRUFHc0M7QUFFdEMsdUZBQW9GO0FBQ3BGLDJDQUF1QztBQUV2Qyw0Q0FLc0I7QUFtQnRCOzs7R0FHRztBQUNILE1BQWEsZ0JBQWlCLFNBQVEsc0JBQVM7SUFPN0MsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUE0QjtRQUNwRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBQ3ZELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxnQkFBZ0I7UUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxpQkFBTyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUU7WUFDOUMsOEJBQThCLEVBQUUsSUFBSTtZQUNwQyxtQkFBbUIsRUFBRSwyQkFBaUIsQ0FBQyxPQUFPO1lBQzlDLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDbkIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxlQUFlO1NBQ3pDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFDTyxzQkFB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QUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDdkUsT0FBTyxHQUFHLFFBQVEsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDcEYsQ0FBQzs7QUF4SkgsNENBeUpDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gXCJub2RlOnBhdGgvcG9zaXhcIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQgeyBEb2NrZXJJbWFnZUFzc2V0IH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lY3ItYXNzZXRzXCI7XG5pbXBvcnQge1xuICBBd3NMb2dEcml2ZXJNb2RlLFxuICBDbHVzdGVyLFxuICBDb250YWluZXJJbWFnZSxcbiAgQ29udGFpbmVySW5zaWdodHMsXG4gIENwdUFyY2hpdGVjdHVyZSxcbiAgSGVhbHRoQ2hlY2ssXG4gIExvZ0RyaXZlcnMsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzXCI7XG5pbXBvcnQge1xuICBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlLFxuICBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlUHJvcHMsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWNzLXBhdHRlcm5zXCI7XG5pbXBvcnQgeyBGaWxlU3lzdGVtIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lZnNcIjtcbmltcG9ydCB7IEFwcGxpY2F0aW9uUHJvdG9jb2xWZXJzaW9uIH0gZnJvbSBcImF3cy1jZGstbGliL2F3cy1lbGFzdGljbG9hZGJhbGFuY2luZ3YyXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTmV4dGpzQ29tcHV0ZUJhc2VQcm9wcyB9IGZyb20gXCIuL25leHRqcy1jb21wdXRlLWJhc2UtcHJvcHNcIjtcbmltcG9ydCB7XG4gIENES19ORVhUSlNfU0VSVkVSX0RJU1RfRElSX0VOVl9WQVJfTkFNRSxcbiAgTU9VTlRfUEFUSCxcbiAgTmV4dGpzVHlwZSxcbiAgU0VSVkVSX0RJU1RfUEFUSCxcbn0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgT3B0aW9uYWxBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZFRhc2tJbWFnZU9wdGlvbnMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZFRhc2tJbWFnZU9wdGlvbnNcIjtcbmltcG9ydCB7IE9wdGlvbmFsQ2x1c3RlclByb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsQ2x1c3RlclByb3BzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzQ29udGFpbmVyc092ZXJyaWRlcyB7XG4gIHJlYWRvbmx5IGVjc0NsdXN0ZXJQcm9wcz86IE9wdGlvbmFsQ2x1c3RlclByb3BzO1xuICByZWFkb25seSBhbGJGYXJnYXRlU2VydmljZVByb3BzPzogQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRGYXJnYXRlU2VydmljZVByb3BzO1xuICByZWFkb25seSB0YXNrSW1hZ2VPcHRpb25zPzogT3B0aW9uYWxBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZFRhc2tJbWFnZU9wdGlvbnM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzQ29udGFpbmVyc1Byb3BzIGV4dGVuZHMgTmV4dGpzQ29tcHV0ZUJhc2VQcm9wcyB7XG4gIHJlYWRvbmx5IGRvY2tlckltYWdlQXNzZXQ6IERvY2tlckltYWdlQXNzZXQ7XG4gIHJlYWRvbmx5IGZpbGVTeXN0ZW06IEZpbGVTeXN0ZW07XG4gIHJlYWRvbmx5IG5leHRqc1R5cGU6IE5leHRqc1R5cGU7XG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IE5leHRqc0NvbnRhaW5lcnNPdmVycmlkZXM7XG4gIHJlYWRvbmx5IHJlbGF0aXZlRW50cnlwb2ludFBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgYnVpbGRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIE5leHQuanMgbG9hZCBiYWxhbmNlZCB2aWEgQXBwbGljYXRpb24gTG9hZCBCYWxhbmNlciB3aXRoIGNvbnRhaW5lcnMgdmlhIEFXU1xuICogRmFyZ2F0ZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5leHRqc0NvbnRhaW5lcnMgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBhbGJGYXJnYXRlU2VydmljZTogQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRGYXJnYXRlU2VydmljZTtcbiAgZWNzQ2x1c3RlcjogQ2x1c3RlcjtcbiAgdXJsOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBwcm9wczogTmV4dGpzQ29udGFpbmVyc1Byb3BzO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBOZXh0anNDb250YWluZXJzUHJvcHMpIHtcbiAgICBzdXBlcihzY29wZSwgaWQpO1xuICAgIHRoaXMucHJvcHMgPSBwcm9wcztcbiAgICB0aGlzLmVjc0NsdXN0ZXIgPSB0aGlzLmNyZWF0ZUVjc0NsdXN0ZXIoKTtcbiAgICB0aGlzLmFsYkZhcmdhdGVTZXJ2aWNlID0gdGhpcy5jcmVhdGVBbGJGYXJnYXRlU2V2aWNlKCk7XG4gICAgdGhpcy5jb25maWd1cmVIZWFsdGhDaGVjaygpO1xuICAgIHRoaXMuYXR0YWNoRmlsZVN5c3RlbSgpO1xuICAgIHRoaXMudXJsID0gdGhpcy5nZXRVcmwoKTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRWNzQ2x1c3RlcigpOiBDbHVzdGVyIHtcbiAgICBjb25zdCBjbHVzdGVyID0gbmV3IENsdXN0ZXIodGhpcywgXCJFY3NDbHVzdGVyXCIsIHtcbiAgICAgIGVuYWJsZUZhcmdhdGVDYXBhY2l0eVByb3ZpZGVyczogdHJ1ZSxcbiAgICAgIGNvbnRhaW5lckluc2lnaHRzVjI6IENvbnRhaW5lckluc2lnaHRzLkVOQUJMRUQsXG4gICAgICB2cGM6IHRoaXMucHJvcHMudnBjLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmVjc0NsdXN0ZXJQcm9wcyxcbiAgICB9KTtcbiAgICByZXR1cm4gY2x1c3RlcjtcbiAgfVxuICBwcml2YXRlIGNyZWF0ZUFsYkZhcmdhdGVTZXZpY2UoKTogQXBwbGljYXRpb25Mb2FkQmFsYW5jZWRGYXJnYXRlU2VydmljZSB7XG4gICAgbGV0IGNwdUFyY2hpdGVjdHVyZTogQ3B1QXJjaGl0ZWN0dXJlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgIGlmIChwcm9jZXNzLmFyY2ggPT09IFwieDY0XCIpIHtcbiAgICAgIGNwdUFyY2hpdGVjdHVyZSA9IENwdUFyY2hpdGVjdHVyZS5YODZfNjQ7XG4gICAgfSBlbHNlIGlmIChwcm9jZXNzLmFyY2ggPT09IFwiYXJtNjRcIikge1xuICAgICAgY3B1QXJjaGl0ZWN0dXJlID0gQ3B1QXJjaGl0ZWN0dXJlLkFSTTY0O1xuICAgIH1cbiAgICBjb25zdCBhbGJGYXJnYXRlU2VydmljZSA9IG5ldyBBcHBsaWNhdGlvbkxvYWRCYWxhbmNlZEZhcmdhdGVTZXJ2aWNlKFxuICAgICAgdGhpcyxcbiAgICAgIFwiQWxiRmFyZ2F0ZVNlcnZpY2VcIixcbiAgICAgIHtcbiAgICAgICAgY2lyY3VpdEJyZWFrZXI6IHsgcm9sbGJhY2s6IHRydWUsIGVuYWJsZTogdHJ1ZSB9LFxuICAgICAgICBjbHVzdGVyOiB0aGlzLmVjc0NsdXN0ZXIsXG4gICAgICAgIGNwdTogMTAyNCxcbiAgICAgICAgaGVhbHRoQ2hlY2tHcmFjZVBlcmlvZDogRHVyYXRpb24uc2Vjb25kcygxMCksXG4gICAgICAgIG1heEhlYWx0aHlQZXJjZW50OiAyMDAsXG4gICAgICAgIG1lbW9yeUxpbWl0TWlCOiAyMDQ4LFxuICAgICAgICBtaW5IZWFsdGh5UGVyY2VudDogMTAwLCAvLyBtYWludGFpbiBzZXJ2aWNlIGF2YWlsYWJpbGl0eSBkdXJpbmcgZGVwbG95bWVudFxuICAgICAgICAvKlxuICAgICAgICAgIFRoaXMgcHJvdG9jb2wgdmVyc2lvbiBpcyBmb3IgdGhlIHRhcmdldCBncm91cCAoRmFyZ2F0ZSksIG5vdCB0aGUgQUxCXG4gICAgICAgICAgTGlzdGVuZXIuIEZyb20gZG9jcywgXCJBcHBsaWNhdGlvbiBMb2FkIEJhbGFuY2VycyBwcm92aWRlIG5hdGl2ZSBzdXBwb3J0XG4gICAgICAgICAgZm9yIEhUVFAvMiB3aXRoIEhUVFBTIGxpc3RlbmVyc1wiLiBTZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2VsYXN0aWNsb2FkYmFsYW5jaW5nL2xhdGVzdC9hcHBsaWNhdGlvbi9sb2FkLWJhbGFuY2VyLWxpc3RlbmVycy5odG1sXG4gICAgICAgICAgTmV4dC5qcyBkZWZhdWx0IHNlcnZlciBkb2VzIG5vdCBzdXBwb3J0IEhUVFAvMiBhcyBpdCdzIHJlY29tbWVuZGVkXG4gICAgICAgICAgdG8gcHJveHkgeW91ciBOZXh0LmpzIHNlcnZlciB3aGljaCB3ZSdyZSBkb2luZyB3aXRoIEFMQi5cbiAgICAgICAgICBBbHNvIG5vdGUsIENsb3VkRnJvbnQgb25seSBzdXBwb3J0cyBIVFRQLzEuMSBvcmlnaW5zLlxuICAgICAgICAgIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25DbG91ZEZyb250L2xhdGVzdC9EZXZlbG9wZXJHdWlkZS9SZXF1ZXN0QW5kUmVzcG9uc2VCZWhhdmlvckN1c3RvbU9yaWdpbi5odG1sI1JlcXVlc3RDdXN0b21IVFRQVmVyc2lvblxuICAgICAgICAqL1xuICAgICAgICBwcm90b2NvbFZlcnNpb246IEFwcGxpY2F0aW9uUHJvdG9jb2xWZXJzaW9uLkhUVFAxLFxuICAgICAgICAvLyBpZiBOZXh0anNUeXBlLkdMT0JBTF9DT05UQUlORVJTIHRoZW4gd2UgdXNlIFZQQyBPcmlnaW4gQWNjZXNzIHdoaWNoIGFsbG93cyBwdXR0aW5nIEFMQiBpbiBwcml2YXRlIHN1Ym5ldFxuICAgICAgICBwdWJsaWNMb2FkQmFsYW5jZXI6XG4gICAgICAgICAgdGhpcy5wcm9wcy5uZXh0anNUeXBlID09PSBOZXh0anNUeXBlLlJFR0lPTkFMX0NPTlRBSU5FUlMsXG4gICAgICAgIHJ1bnRpbWVQbGF0Zm9ybToge1xuICAgICAgICAgIGNwdUFyY2hpdGVjdHVyZSxcbiAgICAgICAgfSxcbiAgICAgICAgdGFza0ltYWdlT3B0aW9uczoge1xuICAgICAgICAgIGNvbW1hbmQ6IFtcIm5vZGVcIiwgdGhpcy5wcm9wcy5yZWxhdGl2ZUVudHJ5cG9pbnRQYXRoXSxcbiAgICAgICAgICBjb250YWluZXJOYW1lOiBcIm5leHRqc1wiLFxuICAgICAgICAgIGNvbnRhaW5lclBvcnQ6IDMwMDAsXG4gICAgICAgICAgaW1hZ2U6IENvbnRhaW5lckltYWdlLmZyb21Eb2NrZXJJbWFnZUFzc2V0KFxuICAgICAgICAgICAgdGhpcy5wcm9wcy5kb2NrZXJJbWFnZUFzc2V0LFxuICAgICAgICAgICksXG4gICAgICAgICAgbG9nRHJpdmVyOiBMb2dEcml2ZXJzLmF3c0xvZ3Moe1xuICAgICAgICAgICAgc3RyZWFtUHJlZml4OiBcIm5leHRqc1wiLFxuICAgICAgICAgICAgbW9kZTogQXdzTG9nRHJpdmVyTW9kZS5OT05fQkxPQ0tJTkcsXG4gICAgICAgICAgfSksXG4gICAgICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LnRhc2tJbWFnZU9wdGlvbnMsXG4gICAgICAgIH0sXG4gICAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5hbGJGYXJnYXRlU2VydmljZVByb3BzLFxuICAgICAgfSxcbiAgICApO1xuICAgIC8vIHJlcXVpcmVkIG9yIGhlYWx0aCBjaGVja3MgZmFpbFxuICAgIGFsYkZhcmdhdGVTZXJ2aWNlLnRhc2tEZWZpbml0aW9uLmRlZmF1bHRDb250YWluZXI/LmFkZEVudmlyb25tZW50KFxuICAgICAgXCJIT1NUTkFNRVwiLFxuICAgICAgXCIwLjAuMC4wXCIsXG4gICAgKTtcbiAgICBhbGJGYXJnYXRlU2VydmljZS50YXNrRGVmaW5pdGlvbi5kZWZhdWx0Q29udGFpbmVyPy5hZGRFbnZpcm9ubWVudChcbiAgICAgIENES19ORVhUSlNfU0VSVkVSX0RJU1RfRElSX0VOVl9WQVJfTkFNRSxcbiAgICAgIGpvaW4oTU9VTlRfUEFUSCwgdGhpcy5wcm9wcy5idWlsZElkLCBTRVJWRVJfRElTVF9QQVRIKSxcbiAgICApO1xuICAgIC8vIHNwZWVkIHVwIGRlcGxveW1lbnRzIGJ5IHNob3J0ZW5pbmcgZGVyZWdpc3RyYXRpb24gZGVsYXlcbiAgICAvLyBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vQW1hem9uRUNTL2xhdGVzdC9iZXN0cHJhY3RpY2VzZ3VpZGUvbG9hZC1iYWxhbmNlci1jb25uZWN0aW9uLWRyYWluaW5nLmh0bWxcbiAgICAvLyBUT0RPOiBkb2N1bWVudCB0aGF0IHRoaXMgc2hvdWxkIGJlIGluY3JlYXNlZCBpZiBsb25nIGxpdmVkIGNvbm5lY3Rpb25zIGFyZSBleHBlY3RlZFxuICAgIGFsYkZhcmdhdGVTZXJ2aWNlLnRhcmdldEdyb3VwLnNldEF0dHJpYnV0ZShcbiAgICAgIFwiZGVyZWdpc3RyYXRpb25fZGVsYXkudGltZW91dF9zZWNvbmRzXCIsXG4gICAgICBcIjMwXCIsXG4gICAgKTtcbiAgICAvLyBiZXN0IHByYWN0aWNlIHRvIGVuYWJsZSBjcm9zcyB6b25lIGxvYWQgYmFsYW5jaW5nXG4gICAgLy8gQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vZWxhc3RpY2xvYWRiYWxhbmNpbmcvbGF0ZXN0L2FwcGxpY2F0aW9uL2Rpc2FibGUtY3Jvc3Mtem9uZS5odG1sXG4gICAgYWxiRmFyZ2F0ZVNlcnZpY2UubG9hZEJhbGFuY2VyLnNldEF0dHJpYnV0ZShcbiAgICAgIFwibG9hZF9iYWxhbmNpbmcuY3Jvc3Nfem9uZS5lbmFibGVkXCIsXG4gICAgICBcInRydWVcIixcbiAgICApO1xuICAgIHJldHVybiBhbGJGYXJnYXRlU2VydmljZTtcbiAgfVxuICAvKipcbiAgICogQ29uZmlndXJlIGhlYWx0aCBjaGVja3MgZm9yIGNvbnRhaW5lcnMgYXQgQUxCIGFuZCBFQ1MgbGV2ZWwuIFRoaXMgZW5zdXJlc1xuICAgKiB1bmhlYWx0aHkgY29udGFpbmVycyBhcmUgcmVtb3ZlZC4gQm90aCBvZiB0aGVzZSBoZWFsdGggY2hlY2tzIGNhbiBiZVxuICAgKiBvdmVyd3JpdHRlbiBieSB1c2VyIGJ5IGFjY2Vzc2luZyBgYWxiRmFyZ2F0ZVNlcnZpY2VgIHByb3BlcnR5LCBzbyBubyBuZWVkXG4gICAqIGZvciBgb3ZlcnJpZGVzYC5cbiAgICovXG4gIHByaXZhdGUgY29uZmlndXJlSGVhbHRoQ2hlY2soKSB7XG4gICAgLy8gc3BlZWQgdXAgZGVwbG95bWVudHMgYnkgc2hvcnRlbmluZyBoZWFsdGggY2hlY2tzXG4gICAgLy8gc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9BbWF6b25FQ1MvbGF0ZXN0L2Jlc3RwcmFjdGljZXNndWlkZS9sb2FkLWJhbGFuY2VyLWhlYWx0aGNoZWNrLmh0bWxcbiAgICB0aGlzLmFsYkZhcmdhdGVTZXJ2aWNlLnRhcmdldEdyb3VwLmNvbmZpZ3VyZUhlYWx0aENoZWNrKHtcbiAgICAgIHBhdGg6IHRoaXMucHJvcHMuaGVhbHRoQ2hlY2tQYXRoLFxuICAgICAgaGVhbHRoeVRocmVzaG9sZENvdW50OiAyLFxuICAgICAgaW50ZXJ2YWw6IER1cmF0aW9uLnNlY29uZHMoMTApLCAvLyB0b28gZnJlcXVlbnQ/IGJ1dCBlbmFibGVzIGZhc3RlciByb2xsYmFjay4uLlxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcyg1KSwgLy8gbXVzdCBiZSBsZXNzIHRoYW4gaW50ZXJ2YWxcbiAgICB9KTtcbiAgICBjb25zdCBoZWFsdGhDaGVjazogSGVhbHRoQ2hlY2sgPSB7XG4gICAgICBjb21tYW5kOiBbXG4gICAgICAgIFwiQ01ELVNIRUxMXCIsXG4gICAgICAgIC8vIGN1cmwgaXNuJ3QgYXZhaWxhYmxlIGluIGFscGluZSBsaW51eFxuICAgICAgICBgd2dldCAtLXF1aWV0IC0tdHJpZXM9MSAtLXNwaWRlciBodHRwOi8vbG9jYWxob3N0OjMwMDAke3RoaXMucHJvcHMuaGVhbHRoQ2hlY2tQYXRofSB8fCBleGl0IDFgLFxuICAgICAgXSxcbiAgICB9O1xuICAgIGNvbnN0IGRlZmF1bHRDb250YWluZXIgPVxuICAgICAgdGhpcy5hbGJGYXJnYXRlU2VydmljZS50YXNrRGVmaW5pdGlvbi5kZWZhdWx0Q29udGFpbmVyO1xuICAgIGlmIChkZWZhdWx0Q29udGFpbmVyKSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIG11c3QgdXNlIGludGVybmFsIFwicHJvcHNcIiBhdHRyaWJ1dGUgYi9jIG5vIG90aGVyIHdheSB0byBhZGQgaGVhbHRoIGNoZWNrXG4gICAgICBkZWZhdWx0Q29udGFpbmVyLnByb3BzLmhlYWx0aENoZWNrID0gaGVhbHRoQ2hlY2s7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgYXR0YWNoRmlsZVN5c3RlbSgpIHtcbiAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLmFsYkZhcmdhdGVTZXJ2aWNlLnRhc2tEZWZpbml0aW9uLmRlZmF1bHRDb250YWluZXI7XG4gICAgY29uc3Qgdm9sdW1lTmFtZSA9IFwiY2RrLW5leHRqcy12b2x1bWVcIjtcbiAgICB0aGlzLmFsYkZhcmdhdGVTZXJ2aWNlLnRhc2tEZWZpbml0aW9uLmFkZFZvbHVtZSh7XG4gICAgICBuYW1lOiB2b2x1bWVOYW1lLFxuICAgICAgZWZzVm9sdW1lQ29uZmlndXJhdGlvbjoge1xuICAgICAgICBmaWxlU3lzdGVtSWQ6IHRoaXMucHJvcHMuZmlsZVN5c3RlbS5maWxlU3lzdGVtSWQsXG4gICAgICAgIHRyYW5zaXRFbmNyeXB0aW9uOiBcIkVOQUJMRURcIixcbiAgICAgICAgYXV0aG9yaXphdGlvbkNvbmZpZzoge1xuICAgICAgICAgIGFjY2Vzc1BvaW50SWQ6IHRoaXMucHJvcHMuYWNjZXNzUG9pbnQuYWNjZXNzUG9pbnRJZCxcbiAgICAgICAgICBpYW06IFwiRU5BQkxFRFwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBjb250YWluZXI/LmFkZE1vdW50UG9pbnRzKHtcbiAgICAgIHNvdXJjZVZvbHVtZTogdm9sdW1lTmFtZSxcbiAgICAgIGNvbnRhaW5lclBhdGg6IE1PVU5UX1BBVEgsXG4gICAgICByZWFkT25seTogZmFsc2UsXG4gICAgfSk7XG4gIH1cbiAgcHJpdmF0ZSBnZXRVcmwoKTogc3RyaW5nIHtcbiAgICBjb25zdCBwcm90b2NvbCA9IHRoaXMuYWxiRmFyZ2F0ZVNlcnZpY2UuY2VydGlmaWNhdGUgPyBcImh0dHBzXCIgOiBcImh0dHBcIjtcbiAgICByZXR1cm4gYCR7cHJvdG9jb2x9Oi8vJHt0aGlzLmFsYkZhcmdhdGVTZXJ2aWNlLmxvYWRCYWxhbmNlci5sb2FkQmFsYW5jZXJEbnNOYW1lfWA7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
1
  import { DockerImageCode, DockerImageFunction, FunctionUrl } from "aws-cdk-lib/aws-lambda";
2
2
  import { Construct } from "constructs";
3
3
  import { NextjsComputeBaseProps } from "./nextjs-compute-base-props";
4
+ import { NextjsType } from "../constants";
4
5
  import { OptionalDockerImageFunctionProps } from "../generated-structs/OptionalDockerImageFunctionProps";
5
6
  import { OptionalFunctionUrlProps } from "../generated-structs/OptionalFunctionUrlProps";
6
7
  export interface NextjsFunctionsOverrides {
@@ -11,13 +12,14 @@ export interface NextjsFunctionsProps extends NextjsComputeBaseProps {
11
12
  readonly dockerImageCode: DockerImageCode;
12
13
  readonly overrides?: NextjsFunctionsOverrides;
13
14
  readonly buildId: string;
15
+ readonly nextjsType: NextjsType;
14
16
  }
15
17
  /**
16
18
  * Run Next.js in functions on AWS with AWS Lambda.
17
19
  */
18
20
  export declare class NextjsFunctions extends Construct {
19
21
  function: DockerImageFunction;
20
- functionUrl: FunctionUrl;
22
+ functionUrl?: FunctionUrl;
21
23
  private props;
22
24
  constructor(scope: Construct, id: string, props: NextjsFunctionsProps);
23
25
  private createFunction;
@@ -17,13 +17,12 @@ class NextjsFunctions extends constructs_1.Construct {
17
17
  super(scope, id);
18
18
  this.props = props;
19
19
  this.function = this.createFunction();
20
- this.functionUrl = this.function.addFunctionUrl({
21
- authType: aws_lambda_1.FunctionUrlAuthType.AWS_IAM,
22
- invokeMode: aws_lambda_1.InvokeMode.RESPONSE_STREAM,
23
- ...this.props.overrides?.functionUrlProps,
24
- });
25
- if (!this.function.role) {
26
- throw new Error("Function role is undefined");
20
+ if (props.nextjsType === constants_1.NextjsType.GLOBAL_FUNCTIONS) {
21
+ this.functionUrl = this.function.addFunctionUrl({
22
+ authType: aws_lambda_1.FunctionUrlAuthType.AWS_IAM,
23
+ invokeMode: aws_lambda_1.InvokeMode.RESPONSE_STREAM,
24
+ ...this.props.overrides?.functionUrlProps,
25
+ });
27
26
  }
28
27
  }
29
28
  createFunction() {
@@ -37,7 +36,9 @@ class NextjsFunctions extends constructs_1.Construct {
37
36
  ...this.props.overrides?.dockerImageFunctionProps,
38
37
  environment: {
39
38
  AWS_LWA_ENABLE_COMPRESSION: "true",
40
- AWS_LWA_INVOKE_MODE: "response_stream",
39
+ AWS_LWA_INVOKE_MODE: this.props.nextjsType === constants_1.NextjsType.GLOBAL_FUNCTIONS
40
+ ? "response_stream"
41
+ : "buffered", // API GW doesn't support response streaming yet so must buffer
41
42
  AWS_LWA_READINESS_CHECK_PATH: this.props.healthCheckPath,
42
43
  AWS_LWA_READINESS_CHECK_PORT: "3000",
43
44
  READINESS_CHECK_PATH: `http://127.0.0.1:3000${this.props.healthCheckPath}`,
@@ -50,5 +51,5 @@ class NextjsFunctions extends constructs_1.Construct {
50
51
  }
51
52
  exports.NextjsFunctions = NextjsFunctions;
52
53
  _a = JSII_RTTI_SYMBOL_1;
53
- NextjsFunctions[_a] = { fqn: "cdk-nextjs.NextjsFunctions", version: "0.4.2" };
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0anMtY29tcHV0ZS9uZXh0anMtZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0NBQWtDO0FBQ2xDLDZDQUF1QztBQUN2Qyx1REFPZ0M7QUFDaEMsMkNBQXVDO0FBRXZDLDRDQUlzQjtBQUd0QixnRUFBa0U7QUFhbEU7O0dBRUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFNNUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUM7WUFDOUMsUUFBUSxFQUFFLGdDQUFtQixDQUFDLE9BQU87WUFDckMsVUFBVSxFQUFFLHVCQUFVLENBQUMsZUFBZTtZQUN0QyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLGdCQUFnQjtTQUMxQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sRUFBRSxHQUFHLElBQUksZ0NBQW1CLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRTtZQUNwRCxZQUFZLEVBQUUsSUFBQSx3Q0FBcUIsR0FBRTtZQUNyQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlO1lBQ2hDLFVBQVUsRUFBRSx1QkFBVSxDQUFDLGtCQUFrQixDQUN2QyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFDdEIsc0JBQVUsQ0FDWDtZQUNELFVBQVUsRUFBRSxJQUFJO1lBQ2hCLE9BQU8sRUFBRSxzQkFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDN0IsR0FBRyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRztZQUNuQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLHdCQUF3QjtZQUNqRCxXQUFXLEVBQUU7Z0JBQ1gsMEJBQTBCLEVBQUUsTUFBTTtnQkFDbEMsbUJBQW1CLEVBQUUsaUJBQWlCO2dCQUN0Qyw0QkFBNEIsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWU7Z0JBQ3hELDRCQUE0QixFQUFFLE1BQU07Z0JBQ3BDLG9CQUFvQixFQUFFLHdCQUF3QixJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRTtnQkFDMUUsQ0FBQyxtREFBdUMsQ0FBQyxFQUFFLElBQUEsWUFBSSxFQUM3QyxzQkFBVSxFQUNWLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUNsQiw0QkFBZ0IsQ0FDakI7Z0JBQ0QsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSx3QkFBd0IsRUFBRSxXQUFXO2FBQy9EO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOztBQS9DSCwwQ0FnREMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSBcInBhdGgvcG9zaXhcIjtcbmltcG9ydCB7IER1cmF0aW9uIH0gZnJvbSBcImF3cy1jZGstbGliXCI7XG5pbXBvcnQge1xuICBEb2NrZXJJbWFnZUNvZGUsXG4gIERvY2tlckltYWdlRnVuY3Rpb24sXG4gIEZpbGVTeXN0ZW0sXG4gIEZ1bmN0aW9uVXJsLFxuICBGdW5jdGlvblVybEF1dGhUeXBlLFxuICBJbnZva2VNb2RlLFxufSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWxhbWJkYVwiO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IE5leHRqc0NvbXB1dGVCYXNlUHJvcHMgfSBmcm9tIFwiLi9uZXh0anMtY29tcHV0ZS1iYXNlLXByb3BzXCI7XG5pbXBvcnQge1xuICBDREtfTkVYVEpTX1NFUlZFUl9ESVNUX0RJUl9FTlZfVkFSX05BTUUsXG4gIE1PVU5UX1BBVEgsXG4gIFNFUlZFUl9ESVNUX1BBVEgsXG59IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsRG9ja2VySW1hZ2VGdW5jdGlvblByb3BzIH0gZnJvbSBcIi4uL2dlbmVyYXRlZC1zdHJ1Y3RzL09wdGlvbmFsRG9ja2VySW1hZ2VGdW5jdGlvblByb3BzXCI7XG5pbXBvcnQgeyBPcHRpb25hbEZ1bmN0aW9uVXJsUHJvcHMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxGdW5jdGlvblVybFByb3BzXCI7XG5pbXBvcnQgeyBnZXRMYW1iZGFBcmNoaXRlY3R1cmUgfSBmcm9tIFwiLi4vdXRpbHMvZ2V0LWFyY2hpdGVjdHVyZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0Z1bmN0aW9uc092ZXJyaWRlcyB7XG4gIHJlYWRvbmx5IGRvY2tlckltYWdlRnVuY3Rpb25Qcm9wcz86IE9wdGlvbmFsRG9ja2VySW1hZ2VGdW5jdGlvblByb3BzO1xuICByZWFkb25seSBmdW5jdGlvblVybFByb3BzPzogT3B0aW9uYWxGdW5jdGlvblVybFByb3BzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5leHRqc0Z1bmN0aW9uc1Byb3BzIGV4dGVuZHMgTmV4dGpzQ29tcHV0ZUJhc2VQcm9wcyB7XG4gIHJlYWRvbmx5IGRvY2tlckltYWdlQ29kZTogRG9ja2VySW1hZ2VDb2RlO1xuICByZWFkb25seSBvdmVycmlkZXM/OiBOZXh0anNGdW5jdGlvbnNPdmVycmlkZXM7XG4gIHJlYWRvbmx5IGJ1aWxkSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSdW4gTmV4dC5qcyBpbiBmdW5jdGlvbnMgb24gQVdTIHdpdGggQVdTIExhbWJkYS5cbiAqL1xuZXhwb3J0IGNsYXNzIE5leHRqc0Z1bmN0aW9ucyBleHRlbmRzIENvbnN0cnVjdCB7XG4gIGZ1bmN0aW9uOiBEb2NrZXJJbWFnZUZ1bmN0aW9uO1xuICBmdW5jdGlvblVybDogRnVuY3Rpb25Vcmw7XG5cbiAgcHJpdmF0ZSBwcm9wczogTmV4dGpzRnVuY3Rpb25zUHJvcHM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5leHRqc0Z1bmN0aW9uc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5mdW5jdGlvbiA9IHRoaXMuY3JlYXRlRnVuY3Rpb24oKTtcbiAgICB0aGlzLmZ1bmN0aW9uVXJsID0gdGhpcy5mdW5jdGlvbi5hZGRGdW5jdGlvblVybCh7XG4gICAgICBhdXRoVHlwZTogRnVuY3Rpb25VcmxBdXRoVHlwZS5BV1NfSUFNLFxuICAgICAgaW52b2tlTW9kZTogSW52b2tlTW9kZS5SRVNQT05TRV9TVFJFQU0sXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uZnVuY3Rpb25VcmxQcm9wcyxcbiAgICB9KTtcbiAgICBpZiAoIXRoaXMuZnVuY3Rpb24ucm9sZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRnVuY3Rpb24gcm9sZSBpcyB1bmRlZmluZWRcIik7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVGdW5jdGlvbigpIHtcbiAgICBjb25zdCBmbiA9IG5ldyBEb2NrZXJJbWFnZUZ1bmN0aW9uKHRoaXMsIFwiRnVuY3Rpb25zXCIsIHtcbiAgICAgIGFyY2hpdGVjdHVyZTogZ2V0TGFtYmRhQXJjaGl0ZWN0dXJlKCksXG4gICAgICBjb2RlOiB0aGlzLnByb3BzLmRvY2tlckltYWdlQ29kZSxcbiAgICAgIGZpbGVzeXN0ZW06IEZpbGVTeXN0ZW0uZnJvbUVmc0FjY2Vzc1BvaW50KFxuICAgICAgICB0aGlzLnByb3BzLmFjY2Vzc1BvaW50LFxuICAgICAgICBNT1VOVF9QQVRILFxuICAgICAgKSxcbiAgICAgIG1lbW9yeVNpemU6IDIwNDgsXG4gICAgICB0aW1lb3V0OiBEdXJhdGlvbi5zZWNvbmRzKDMwKSxcbiAgICAgIHZwYzogdGhpcy5wcm9wcy52cGMsXG4gICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uZG9ja2VySW1hZ2VGdW5jdGlvblByb3BzLFxuICAgICAgZW52aXJvbm1lbnQ6IHtcbiAgICAgICAgQVdTX0xXQV9FTkFCTEVfQ09NUFJFU1NJT046IFwidHJ1ZVwiLFxuICAgICAgICBBV1NfTFdBX0lOVk9LRV9NT0RFOiBcInJlc3BvbnNlX3N0cmVhbVwiLFxuICAgICAgICBBV1NfTFdBX1JFQURJTkVTU19DSEVDS19QQVRIOiB0aGlzLnByb3BzLmhlYWx0aENoZWNrUGF0aCxcbiAgICAgICAgQVdTX0xXQV9SRUFESU5FU1NfQ0hFQ0tfUE9SVDogXCIzMDAwXCIsXG4gICAgICAgIFJFQURJTkVTU19DSEVDS19QQVRIOiBgaHR0cDovLzEyNy4wLjAuMTozMDAwJHt0aGlzLnByb3BzLmhlYWx0aENoZWNrUGF0aH1gLFxuICAgICAgICBbQ0RLX05FWFRKU19TRVJWRVJfRElTVF9ESVJfRU5WX1ZBUl9OQU1FXTogam9pbihcbiAgICAgICAgICBNT1VOVF9QQVRILFxuICAgICAgICAgIHRoaXMucHJvcHMuYnVpbGRJZCxcbiAgICAgICAgICBTRVJWRVJfRElTVF9QQVRILFxuICAgICAgICApLFxuICAgICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uZG9ja2VySW1hZ2VGdW5jdGlvblByb3BzPy5lbnZpcm9ubWVudCxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgcmV0dXJuIGZuO1xuICB9XG59XG4iXX0=
54
+ NextjsFunctions[_a] = { fqn: "cdk-nextjs.NextjsFunctions", version: "0.4.4" };
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV4dGpzLWZ1bmN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9uZXh0anMtY29tcHV0ZS9uZXh0anMtZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsc0NBQWtDO0FBQ2xDLDZDQUF1QztBQUN2Qyx1REFPZ0M7QUFDaEMsMkNBQXVDO0FBRXZDLDRDQUtzQjtBQUd0QixnRUFBa0U7QUFjbEU7O0dBRUc7QUFDSCxNQUFhLGVBQWdCLFNBQVEsc0JBQVM7SUFNNUMsWUFBWSxLQUFnQixFQUFFLEVBQVUsRUFBRSxLQUEyQjtRQUNuRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3RDLElBQUksS0FBSyxDQUFDLFVBQVUsS0FBSyxzQkFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQztnQkFDOUMsUUFBUSxFQUFFLGdDQUFtQixDQUFDLE9BQU87Z0JBQ3JDLFVBQVUsRUFBRSx1QkFBVSxDQUFDLGVBQWU7Z0JBQ3RDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCO2FBQzFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixNQUFNLEVBQUUsR0FBRyxJQUFJLGdDQUFtQixDQUFDLElBQUksRUFBRSxXQUFXLEVBQUU7WUFDcEQsWUFBWSxFQUFFLElBQUEsd0NBQXFCLEdBQUU7WUFDckMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZTtZQUNoQyxVQUFVLEVBQUUsdUJBQVUsQ0FBQyxrQkFBa0IsQ0FDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQ3RCLHNCQUFVLENBQ1g7WUFDRCxVQUFVLEVBQUUsSUFBSTtZQUNoQixPQUFPLEVBQUUsc0JBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzdCLEdBQUcsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUc7WUFDbkIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSx3QkFBd0I7WUFDakQsV0FBVyxFQUFFO2dCQUNYLDBCQUEwQixFQUFFLE1BQU07Z0JBQ2xDLG1CQUFtQixFQUNqQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsS0FBSyxzQkFBVSxDQUFDLGdCQUFnQjtvQkFDbkQsQ0FBQyxDQUFDLGlCQUFpQjtvQkFDbkIsQ0FBQyxDQUFDLFVBQVUsRUFBRSwrREFBK0Q7Z0JBQ2pGLDRCQUE0QixFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZTtnQkFDeEQsNEJBQTRCLEVBQUUsTUFBTTtnQkFDcEMsb0JBQW9CLEVBQUUsd0JBQXdCLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFO2dCQUMxRSxDQUFDLG1EQUF1QyxDQUFDLEVBQUUsSUFBQSxZQUFJLEVBQzdDLHNCQUFVLEVBQ1YsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQ2xCLDRCQUFnQixDQUNqQjtnQkFDRCxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLHdCQUF3QixFQUFFLFdBQVc7YUFDL0Q7U0FDRixDQUFDLENBQUM7UUFDSCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7O0FBakRILDBDQWtEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tIFwicGF0aC9wb3NpeFwiO1xuaW1wb3J0IHsgRHVyYXRpb24gfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7XG4gIERvY2tlckltYWdlQ29kZSxcbiAgRG9ja2VySW1hZ2VGdW5jdGlvbixcbiAgRmlsZVN5c3RlbSxcbiAgRnVuY3Rpb25VcmwsXG4gIEZ1bmN0aW9uVXJsQXV0aFR5cGUsXG4gIEludm9rZU1vZGUsXG59IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtbGFtYmRhXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tIFwiY29uc3RydWN0c1wiO1xuaW1wb3J0IHsgTmV4dGpzQ29tcHV0ZUJhc2VQcm9wcyB9IGZyb20gXCIuL25leHRqcy1jb21wdXRlLWJhc2UtcHJvcHNcIjtcbmltcG9ydCB7XG4gIENES19ORVhUSlNfU0VSVkVSX0RJU1RfRElSX0VOVl9WQVJfTkFNRSxcbiAgTU9VTlRfUEFUSCxcbiAgTmV4dGpzVHlwZSxcbiAgU0VSVkVSX0RJU1RfUEFUSCxcbn0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHMgfSBmcm9tIFwiLi4vZ2VuZXJhdGVkLXN0cnVjdHMvT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHNcIjtcbmltcG9ydCB7IE9wdGlvbmFsRnVuY3Rpb25VcmxQcm9wcyB9IGZyb20gXCIuLi9nZW5lcmF0ZWQtc3RydWN0cy9PcHRpb25hbEZ1bmN0aW9uVXJsUHJvcHNcIjtcbmltcG9ydCB7IGdldExhbWJkYUFyY2hpdGVjdHVyZSB9IGZyb20gXCIuLi91dGlscy9nZXQtYXJjaGl0ZWN0dXJlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzRnVuY3Rpb25zT3ZlcnJpZGVzIHtcbiAgcmVhZG9ubHkgZG9ja2VySW1hZ2VGdW5jdGlvblByb3BzPzogT3B0aW9uYWxEb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHM7XG4gIHJlYWRvbmx5IGZ1bmN0aW9uVXJsUHJvcHM/OiBPcHRpb25hbEZ1bmN0aW9uVXJsUHJvcHM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmV4dGpzRnVuY3Rpb25zUHJvcHMgZXh0ZW5kcyBOZXh0anNDb21wdXRlQmFzZVByb3BzIHtcbiAgcmVhZG9ubHkgZG9ja2VySW1hZ2VDb2RlOiBEb2NrZXJJbWFnZUNvZGU7XG4gIHJlYWRvbmx5IG92ZXJyaWRlcz86IE5leHRqc0Z1bmN0aW9uc092ZXJyaWRlcztcbiAgcmVhZG9ubHkgYnVpbGRJZDogc3RyaW5nO1xuICByZWFkb25seSBuZXh0anNUeXBlOiBOZXh0anNUeXBlO1xufVxuXG4vKipcbiAqIFJ1biBOZXh0LmpzIGluIGZ1bmN0aW9ucyBvbiBBV1Mgd2l0aCBBV1MgTGFtYmRhLlxuICovXG5leHBvcnQgY2xhc3MgTmV4dGpzRnVuY3Rpb25zIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgZnVuY3Rpb246IERvY2tlckltYWdlRnVuY3Rpb247XG4gIGZ1bmN0aW9uVXJsPzogRnVuY3Rpb25Vcmw7XG5cbiAgcHJpdmF0ZSBwcm9wczogTmV4dGpzRnVuY3Rpb25zUHJvcHM7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgaWQ6IHN0cmluZywgcHJvcHM6IE5leHRqc0Z1bmN0aW9uc1Byb3BzKSB7XG4gICAgc3VwZXIoc2NvcGUsIGlkKTtcbiAgICB0aGlzLnByb3BzID0gcHJvcHM7XG4gICAgdGhpcy5mdW5jdGlvbiA9IHRoaXMuY3JlYXRlRnVuY3Rpb24oKTtcbiAgICBpZiAocHJvcHMubmV4dGpzVHlwZSA9PT0gTmV4dGpzVHlwZS5HTE9CQUxfRlVOQ1RJT05TKSB7XG4gICAgICB0aGlzLmZ1bmN0aW9uVXJsID0gdGhpcy5mdW5jdGlvbi5hZGRGdW5jdGlvblVybCh7XG4gICAgICAgIGF1dGhUeXBlOiBGdW5jdGlvblVybEF1dGhUeXBlLkFXU19JQU0sXG4gICAgICAgIGludm9rZU1vZGU6IEludm9rZU1vZGUuUkVTUE9OU0VfU1RSRUFNLFxuICAgICAgICAuLi50aGlzLnByb3BzLm92ZXJyaWRlcz8uZnVuY3Rpb25VcmxQcm9wcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRnVuY3Rpb24oKSB7XG4gICAgY29uc3QgZm4gPSBuZXcgRG9ja2VySW1hZ2VGdW5jdGlvbih0aGlzLCBcIkZ1bmN0aW9uc1wiLCB7XG4gICAgICBhcmNoaXRlY3R1cmU6IGdldExhbWJkYUFyY2hpdGVjdHVyZSgpLFxuICAgICAgY29kZTogdGhpcy5wcm9wcy5kb2NrZXJJbWFnZUNvZGUsXG4gICAgICBmaWxlc3lzdGVtOiBGaWxlU3lzdGVtLmZyb21FZnNBY2Nlc3NQb2ludChcbiAgICAgICAgdGhpcy5wcm9wcy5hY2Nlc3NQb2ludCxcbiAgICAgICAgTU9VTlRfUEFUSCxcbiAgICAgICksXG4gICAgICBtZW1vcnlTaXplOiAyMDQ4LFxuICAgICAgdGltZW91dDogRHVyYXRpb24uc2Vjb25kcygzMCksXG4gICAgICB2cGM6IHRoaXMucHJvcHMudnBjLFxuICAgICAgLi4udGhpcy5wcm9wcy5vdmVycmlkZXM/LmRvY2tlckltYWdlRnVuY3Rpb25Qcm9wcyxcbiAgICAgIGVudmlyb25tZW50OiB7XG4gICAgICAgIEFXU19MV0FfRU5BQkxFX0NPTVBSRVNTSU9OOiBcInRydWVcIixcbiAgICAgICAgQVdTX0xXQV9JTlZPS0VfTU9ERTpcbiAgICAgICAgICB0aGlzLnByb3BzLm5leHRqc1R5cGUgPT09IE5leHRqc1R5cGUuR0xPQkFMX0ZVTkNUSU9OU1xuICAgICAgICAgICAgPyBcInJlc3BvbnNlX3N0cmVhbVwiXG4gICAgICAgICAgICA6IFwiYnVmZmVyZWRcIiwgLy8gQVBJIEdXIGRvZXNuJ3Qgc3VwcG9ydCByZXNwb25zZSBzdHJlYW1pbmcgeWV0IHNvIG11c3QgYnVmZmVyXG4gICAgICAgIEFXU19MV0FfUkVBRElORVNTX0NIRUNLX1BBVEg6IHRoaXMucHJvcHMuaGVhbHRoQ2hlY2tQYXRoLFxuICAgICAgICBBV1NfTFdBX1JFQURJTkVTU19DSEVDS19QT1JUOiBcIjMwMDBcIixcbiAgICAgICAgUkVBRElORVNTX0NIRUNLX1BBVEg6IGBodHRwOi8vMTI3LjAuMC4xOjMwMDAke3RoaXMucHJvcHMuaGVhbHRoQ2hlY2tQYXRofWAsXG4gICAgICAgIFtDREtfTkVYVEpTX1NFUlZFUl9ESVNUX0RJUl9FTlZfVkFSX05BTUVdOiBqb2luKFxuICAgICAgICAgIE1PVU5UX1BBVEgsXG4gICAgICAgICAgdGhpcy5wcm9wcy5idWlsZElkLFxuICAgICAgICAgIFNFUlZFUl9ESVNUX1BBVEgsXG4gICAgICAgICksXG4gICAgICAgIC4uLnRoaXMucHJvcHMub3ZlcnJpZGVzPy5kb2NrZXJJbWFnZUZ1bmN0aW9uUHJvcHM/LmVudmlyb25tZW50LFxuICAgICAgfSxcbiAgICB9KTtcbiAgICByZXR1cm4gZm47XG4gIH1cbn1cbiJdfQ==
@@ -49,8 +49,8 @@ export interface NextjsDistributionProps {
49
49
  */
50
50
  readonly overrides?: NextjsDistributionOverrides;
51
51
  /**
52
- * Path to directory of Next.js app's public directory. Used to add static
53
- * behaviors to distribution.
52
+ * Entries (files/directories) within Next.js app's public directory. Used to
53
+ * add static behaviors to distribution.
54
54
  */
55
55
  readonly publicDirEntries: PublicDirEntry[];
56
56
  }