@aws-cdk/aws-lambda-go-alpha 2.268.0-alpha.0 → 2.270.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.jsii CHANGED
@@ -8,7 +8,7 @@
8
8
  "url": "https://aws.amazon.com"
9
9
  },
10
10
  "dependencies": {
11
- "aws-cdk-lib": "^2.268.0",
11
+ "aws-cdk-lib": "^2.270.0",
12
12
  "constructs": "^10.5.0"
13
13
  },
14
14
  "dependencyClosure": {
@@ -3262,6 +3262,19 @@
3262
3262
  }
3263
3263
  }
3264
3264
  },
3265
+ "aws-cdk-lib.aws_pricingplanmanager": {
3266
+ "targets": {
3267
+ "dotnet": {
3268
+ "namespace": "Amazon.CDK.AWS.PricingPlanManager"
3269
+ },
3270
+ "java": {
3271
+ "package": "software.amazon.awscdk.services.pricingplanmanager"
3272
+ },
3273
+ "python": {
3274
+ "module": "aws_cdk.aws_pricingplanmanager"
3275
+ }
3276
+ }
3277
+ },
3265
3278
  "aws-cdk-lib.aws_proton": {
3266
3279
  "targets": {
3267
3280
  "dotnet": {
@@ -8095,6 +8108,22 @@
8095
8108
  }
8096
8109
  }
8097
8110
  },
8111
+ "aws-cdk-lib.interfaces.aws_pricingplanmanager": {
8112
+ "targets": {
8113
+ "dotnet": {
8114
+ "namespace": "Amazon.CDK.Interfaces.PricingPlanManager"
8115
+ },
8116
+ "go": {
8117
+ "packageName": "interfacesawspricingplanmanager"
8118
+ },
8119
+ "java": {
8120
+ "package": "software.amazon.awscdk.interfaces.pricingplanmanager"
8121
+ },
8122
+ "python": {
8123
+ "module": "aws_cdk.interfaces.aws_pricingplanmanager"
8124
+ }
8125
+ }
8126
+ },
8098
8127
  "aws-cdk-lib.interfaces.aws_proton": {
8099
8128
  "targets": {
8100
8129
  "dotnet": {
@@ -10128,6 +10157,6 @@
10128
10157
  "symbolId": "lib/types:ICommandHooks"
10129
10158
  }
10130
10159
  },
10131
- "version": "2.268.0-alpha.0",
10160
+ "version": "2.270.0-alpha.0",
10132
10161
  "fingerprint": "**********"
10133
10162
  }
Binary file
package/lib/bundling.d.ts CHANGED
@@ -84,6 +84,7 @@ export declare class Bundling implements cdk.BundlingOptions {
84
84
  readonly network?: string;
85
85
  readonly bundlingFileAccess?: cdk.BundlingFileAccess;
86
86
  private readonly relativeEntryPath;
87
+ private readonly projectRoot;
87
88
  constructor(props: BundlingProps);
88
89
  createBundlingCommand(inputDir: string, outputDir: string, osPlatform?: NodeJS.Platform): string;
89
90
  }
package/lib/bundling.js CHANGED
@@ -99,7 +99,7 @@ class Bundling {
99
99
  props;
100
100
  static bundle(options) {
101
101
  const bundling = new Bundling(options);
102
- return aws_lambda_1.Code.fromAsset(path.dirname(options.moduleDir), {
102
+ return aws_lambda_1.Code.fromAsset(bundling.projectRoot, {
103
103
  assetHashType: options.assetHashType ?? cdk.AssetHashType.OUTPUT,
104
104
  assetHash: options.assetHash,
105
105
  bundling: {
@@ -137,13 +137,20 @@ class Bundling {
137
137
  network;
138
138
  bundlingFileAccess;
139
139
  relativeEntryPath;
140
+ projectRoot;
140
141
  constructor(props) {
141
142
  this.props = props;
142
143
  Bundling.runsLocally = Bundling.runsLocally
143
144
  ?? (0, util_1.getGoBuildVersion)()
144
145
  ?? false;
145
- const projectRoot = path.dirname(props.moduleDir);
146
- this.relativeEntryPath = `./${path.relative(projectRoot, path.resolve(props.entry))}`;
146
+ const projectRoot = moduleRoot(props.moduleDir);
147
+ const pathLib = pathFor(projectRoot, props.entry);
148
+ const relativeEntryPath = pathLib.relative(pathLib.resolve(projectRoot), pathLib.resolve(props.entry));
149
+ if (pathEscapesRoot(relativeEntryPath)) {
150
+ throw new cdk.UnscopedValidationError((0, helpers_internal_1.lit) `PathNotUnderRoot`, `entryPath (${JSON.stringify(props.entry)}) should be under projectRoot (${JSON.stringify(projectRoot)})`);
151
+ }
152
+ this.relativeEntryPath = `./${relativeEntryPath}`;
153
+ this.projectRoot = projectRoot;
147
154
  const cgoEnabled = props.cgoEnabled ? '1' : '0';
148
155
  const environment = {
149
156
  CGO_ENABLED: cgoEnabled,
@@ -224,7 +231,7 @@ class Bundling {
224
231
  process.stderr, // redirect stdout to stderr
225
232
  'inherit', // inherit stderr
226
233
  ],
227
- cwd: path.dirname(props.moduleDir),
234
+ cwd: projectRoot,
228
235
  windowsVerbatimArguments: osPlatform === 'win32',
229
236
  });
230
237
  return true;
@@ -246,9 +253,9 @@ class Bundling {
246
253
  const goBuildCommand = [
247
254
  'go', 'build',
248
255
  hasVendor ? '-mod=vendor' : '',
249
- '-o', `"${pathJoin(outputDir, 'bootstrap')}"`,
256
+ '-o', shellEscape(pathJoin(outputDir, 'bootstrap'), osPlatform),
250
257
  `${this.props.goBuildFlags ? this.props.goBuildFlags.join(' ') : ''}`,
251
- `${this.relativeEntryPath.replace(/\\/g, '/')}`,
258
+ shellEscape(this.relativeEntryPath.replace(/\\/g, '/'), osPlatform),
252
259
  ].filter(c => !!c).join(' ');
253
260
  return chain([
254
261
  ...this.props.commandHooks?.beforeBundling(inputDir, outputDir) ?? [],
@@ -263,15 +270,41 @@ exports.Bundling = Bundling;
263
270
  */
264
271
  function osPathJoin(platform) {
265
272
  return function (...paths) {
266
- const joined = path.join(...paths);
267
- // If we are on win32 but need posix style paths
268
- if (os.platform() === 'win32' && platform !== 'win32') {
269
- return joined.replace(/\\/g, '/');
273
+ if (platform === 'win32') {
274
+ return path.win32.join(...paths);
270
275
  }
271
- return joined;
276
+ return os.platform() === 'win32'
277
+ ? path.posix.join(...paths.map(p => p.replace(/\\/g, '/')))
278
+ : path.posix.join(...paths);
272
279
  };
273
280
  }
274
281
  function chain(commands) {
275
282
  return commands.filter(c => !!c).join(' && ');
276
283
  }
277
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJidW5kbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUU3Qix1REFBdUQ7QUFDdkQsc0RBQXdDO0FBQ3hDLDRFQUFvRTtBQUVwRSxpQ0FBeUQ7QUFpRXpEOztHQUVHO0FBQ0gsTUFBYSxRQUFRO0lBZ0RVO0lBL0N0QixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQXNCO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXZDLE9BQU8saUJBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDckQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLElBQUksR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNO1lBQ2hFLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUztZQUM1QixRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNyQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87Z0JBQ3pCLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztnQkFDakMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxLQUFLO2dCQUNyQixVQUFVLEVBQUUsUUFBUSxDQUFDLFVBQVU7Z0JBQy9CLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztnQkFDekIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO2dCQUNqQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsZ0JBQWdCO2dCQUMzQyxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUk7Z0JBQ25CLFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztnQkFDakMsT0FB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LFNBQVMsQ0FBQyxJQUFJLEVBQUU7U0FDckUsQ0FBQyxDQUFDO0tBQ0o7Q0FDRjtBQXBLRCw0QkFvS0M7QUFFRDs7R0FFRztBQUNILFNBQVMsVUFBVSxDQUFDLFFBQXlCO0lBQzNDLE9BQU8sVUFBVSxHQUFHLEtBQWU7UUFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1FBQ25DLGdEQUFnRDtRQUNoRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxPQUFPLElBQUksUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ3RELE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxTQUFTLEtBQUssQ0FBQyxRQUFrQjtJQUMvQixPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBvcyBmcm9tICdvcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHR5cGUgeyBBcmNoaXRlY3R1cmUsIEFzc2V0Q29kZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHsgQ29kZSwgUnVudGltZSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0ICogYXMgY2RrIGZyb20gJ2F3cy1jZGstbGliL2NvcmUnO1xuaW1wb3J0IHsgcHJvZmlsZVNwYW4gfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9oZWxwZXJzLWludGVybmFsJztcbmltcG9ydCB0eXBlIHsgQnVuZGxpbmdPcHRpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBleGVjLCBmaW5kVXAsIGdldEdvQnVpbGRWZXJzaW9uIH0gZnJvbSAnLi91dGlsJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBidW5kbGluZ1xuICovXG5leHBvcnQgaW50ZXJmYWNlIEJ1bmRsaW5nUHJvcHMgZXh0ZW5kcyBCdW5kbGluZ09wdGlvbnMge1xuICAvKipcbiAgICogRGlyZWN0b3J5IGNvbnRhaW5pbmcgeW91ciBnby5tb2QgZmlsZVxuICAgKlxuICAgKiBUaGlzIHdpbGwgYWNjZXB0IGVpdGhlciBhIGRpcmVjdG9yeSBwYXRoIGNvbnRhaW5pbmcgYSBgZ28ubW9kYCBmaWxlXG4gICAqIG9yIGEgZmlsZXBhdGggdG8geW91ciBgZ28ubW9kYCBmaWxlIChpLmUuIGBwYXRoL3RvL2dvLm1vZGApLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgYmUgdXNlZCBhcyB0aGUgc291cmNlIG9mIHRoZSB2b2x1bWUgbW91bnRlZCBpbiB0aGUgRG9ja2VyXG4gICAqIGNvbnRhaW5lciBhbmQgd2lsbCBiZSB0aGUgZGlyZWN0b3J5IHdoZXJlIGl0IHdpbGwgcnVuIGBnbyBidWlsZGAgZnJvbS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgcGF0aCBpcyBmb3VuZCBieSB3YWxraW5nIHVwIHBhcmVudCBkaXJlY3RvcmllcyBzZWFyY2hpbmcgZm9yXG4gICAqICBhIGBnby5tb2RgIGZpbGUgZnJvbSB0aGUgbG9jYXRpb24gb2YgYGVudHJ5YFxuICAgKi9cbiAgcmVhZG9ubHkgbW9kdWxlRGlyOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwYXRoIHRvIHRoZSBmb2xkZXIgb3IgZmlsZSB0aGF0IGNvbnRhaW5zIHRoZSBtYWluIGFwcGxpY2F0aW9uIGVudHJ5IHBvaW50IGZpbGVzIGZvciB0aGUgcHJvamVjdC5cbiAgICpcbiAgICogVGhpcyBhY2NlcHRzIGVpdGhlciBhIHBhdGggdG8gYSBkaXJlY3Rvcnkgb3IgZmlsZS5cbiAgICpcbiAgICogSWYgYSBkaXJlY3RvcnkgcGF0aCBpcyBwcm92aWRlZCB0aGVuIGl0IHdpbGwgYXNzdW1lIHRoZXJlIGlzIGEgR28gZW50cnkgZmlsZSAoaS5lLiBgbWFpbi5nb2ApIGFuZFxuICAgKiB3aWxsIGNvbnN0cnVjdCB0aGUgYnVpbGQgY29tbWFuZCB1c2luZyB0aGUgZGlyZWN0b3J5IHBhdGguXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBpZiB5b3UgcHJvdmlkZSB0aGUgZW50cnkgYXM6XG4gICAqXG4gICAqICAgICBlbnRyeTogJ215LWxhbWJkYS1hcHAvY21kL2FwaSdcbiAgICpcbiAgICogVGhlbiB0aGUgYGdvIGJ1aWxkYCBjb21tYW5kIHdvdWxkIGJlOlxuICAgKlxuICAgKiAgICAgYGdvIGJ1aWxkIC4vY21kL2FwaWBcbiAgICpcbiAgICogSWYgYSBwYXRoIHRvIGEgZmlsZSBpcyBwcm92aWRlZCB0aGVuIGl0IHdpbGwgdXNlIHRoZSBmaWxlcGF0aCBpbiB0aGUgYnVpbGQgY29tbWFuZC5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGlmIHlvdSBwcm92aWRlIHRoZSBlbnRyeSBhczpcbiAgICpcbiAgICogICAgIGVudHJ5OiAnbXktbGFtYmRhLWFwcC9jbWQvYXBpL21haW4uZ28nXG4gICAqXG4gICAqIFRoZW4gdGhlIGBnbyBidWlsZGAgY29tbWFuZCB3b3VsZCBiZTpcbiAgICpcbiAgICogICAgIGBnbyBidWlsZCAuL2NtZC9hcGkvbWFpbi5nb2BcbiAgICovXG4gIHJlYWRvbmx5IGVudHJ5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBydW50aW1lIG9mIHRoZSBsYW1iZGEgZnVuY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IHJ1bnRpbWU6IFJ1bnRpbWU7XG5cbiAgLyoqXG4gICAqIFRoZSBzeXN0ZW0gYXJjaGl0ZWN0dXJlIG9mIHRoZSBsYW1iZGEgZnVuY3Rpb25cbiAgICovXG4gIHJlYWRvbmx5IGFyY2hpdGVjdHVyZTogQXJjaGl0ZWN0dXJlO1xuXG4gIC8qKlxuICAgKiBXaGljaCBvcHRpb24gdG8gdXNlIHRvIGNvcHkgdGhlIHNvdXJjZSBmaWxlcyB0byB0aGUgZG9ja2VyIGNvbnRhaW5lciBhbmQgb3V0cHV0IGZpbGVzIGJhY2tcbiAgICogQGRlZmF1bHQgLSBCdW5kbGluZ0ZpbGVBY2Nlc3MuQklORF9NT1VOVFxuICAgKi9cbiAgcmVhZG9ubHkgYnVuZGxpbmdGaWxlQWNjZXNzPzogY2RrLkJ1bmRsaW5nRmlsZUFjY2Vzcztcbn1cblxuLyoqXG4gKiBCdW5kbGluZ1xuICovXG5leHBvcnQgY2xhc3MgQnVuZGxpbmcgaW1wbGVtZW50cyBjZGsuQnVuZGxpbmdPcHRpb25zIHtcbiAgcHVibGljIHN0YXRpYyBidW5kbGUob3B0aW9uczogQnVuZGxpbmdQcm9wcyk6IEFzc2V0Q29kZSB7XG4gICAgY29uc3QgYnVuZGxpbmcgPSBuZXcgQnVuZGxpbmcob3B0aW9ucyk7XG5cbiAgICByZXR1cm4gQ29kZS5mcm9tQXNzZXQocGF0aC5kaXJuYW1lKG9wdGlvbnMubW9kdWxlRGlyKSwge1xuICAgICAgYXNzZXRIYXNoVHlwZTogb3B0aW9ucy5hc3NldEhhc2hUeXBlID8/IGNkay5Bc3NldEhhc2hUeXBlLk9VVFBVVCxcbiAgICAgIGFzc2V0SGFzaDogb3B0aW9ucy5hc3NldEhhc2gsXG4gICAgICBidW5kbGluZzoge1xuICAgICAgICBpbWFnZTogYnVuZGxpbmcuaW1hZ2UsXG4gICAgICAgIGNvbW1hbmQ6IGJ1bmRsaW5nLmNvbW1hbmQsXG4gICAgICAgIGVudmlyb25tZW50OiBidW5kbGluZy5lbnZpcm9ubWVudCxcbiAgICAgICAgbG9jYWw6IGJ1bmRsaW5nLmxvY2FsLFxuICAgICAgICBlbnRyeXBvaW50OiBidW5kbGluZy5lbnRyeXBvaW50LFxuICAgICAgICB2b2x1bWVzOiBidW5kbGluZy52b2x1bWVzLFxuICAgICAgICB2b2x1bWVzRnJvbTogYnVuZGxpbmcudm9sdW1lc0Zyb20sXG4gICAgICAgIHdvcmtpbmdEaXJlY3Rvcnk6IGJ1bmRsaW5nLndvcmtpbmdEaXJlY3RvcnksXG4gICAgICAgIHVzZXI6IGJ1bmRsaW5nLnVzZXIsXG4gICAgICAgIHNlY3VyaXR5T3B0OiBidW5kbGluZy5zZWN1cml0eU9wdCxcbiAgICAgICAgbmV0d29yazogYnVuZGxpbmcubmV0d29yayxcbiAgICAgICAgYnVuZGxpbmdGaWxlQWNjZXNzOiBidW5kbGluZy5idW5kbGluZ0ZpbGVBY2Nlc3MsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyBjbGVhclJ1bnNMb2NhbGx5Q2FjaGUoKTogdm9pZCB7IC8vIGZvciB0ZXN0c1xuICAgIHRoaXMucnVuc0xvY2FsbHkgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBydW5zTG9jYWxseT86IGJvb2xlYW47XG5cbiAgcHVibGljIHJlYWRvbmx5IFtjZGsuUEVSRl9CVU5ETElOR19TUkNfU1lNXSA9ICdHb0Z1bmN0aW9uJztcblxuICAvLyBDb3JlIGJ1bmRsaW5nIG9wdGlvbnNcbiAgcHVibGljIHJlYWRvbmx5IGltYWdlOiBjZGsuRG9ja2VySW1hZ2U7XG4gIHB1YmxpYyByZWFkb25seSBjb21tYW5kOiBzdHJpbmdbXTtcbiAgcHVibGljIHJlYWRvbmx5IGVudmlyb25tZW50PzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgcHVibGljIHJlYWRvbmx5IGxvY2FsPzogY2RrLklMb2NhbEJ1bmRsaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgZW50cnlwb2ludD86IHN0cmluZ1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgdm9sdW1lcz86IGNkay5Eb2NrZXJWb2x1bWVbXTtcbiAgcHVibGljIHJlYWRvbmx5IHZvbHVtZXNGcm9tPzogc3RyaW5nW107XG4gIHB1YmxpYyByZWFkb25seSB3b3JraW5nRGlyZWN0b3J5Pzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgdXNlcj86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHNlY3VyaXR5T3B0Pzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbmV0d29yaz86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGJ1bmRsaW5nRmlsZUFjY2Vzcz86IGNkay5CdW5kbGluZ0ZpbGVBY2Nlc3M7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZWxhdGl2ZUVudHJ5UGF0aDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcHJvcHM6IEJ1bmRsaW5nUHJvcHMpIHtcbiAgICBCdW5kbGluZy5ydW5zTG9jYWxseSA9IEJ1bmRsaW5nLnJ1bnNMb2NhbGx5XG4gICAgICA/PyBnZXRHb0J1aWxkVmVyc2lvbigpXG4gICAgICA/PyBmYWxzZTtcblxuICAgIGNvbnN0IHByb2plY3RSb290ID0gcGF0aC5kaXJuYW1lKHByb3BzLm1vZHVsZURpcik7XG4gICAgdGhpcy5yZWxhdGl2ZUVudHJ5UGF0aCA9IGAuLyR7cGF0aC5yZWxhdGl2ZShwcm9qZWN0Um9vdCwgcGF0aC5yZXNvbHZlKHByb3BzLmVudHJ5KSl9YDtcblxuICAgIGNvbnN0IGNnb0VuYWJsZWQgPSBwcm9wcy5jZ29FbmFibGVkID8gJzEnIDogJzAnO1xuXG4gICAgY29uc3QgZW52aXJvbm1lbnQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBDR09fRU5BQkxFRDogY2dvRW5hYmxlZCxcbiAgICAgIEdPMTExTU9EVUxFOiAnb24nLFxuICAgICAgR09BUkNIOiBwcm9wcy5hcmNoaXRlY3R1cmUuZG9ja2VyUGxhdGZvcm0uc3BsaXQoJy8nKVsxXSxcbiAgICAgIEdPT1M6ICdsaW51eCcsXG4gICAgICAuLi5wcm9wcy5lbnZpcm9ubWVudCxcbiAgICB9O1xuXG4gICAgaWYgKHByb3BzLmdvUHJveGllcykge1xuICAgICAgZW52aXJvbm1lbnQuR09QUk9YWSA9IHByb3BzLmdvUHJveGllcy5qb2luKCcsJyk7XG4gICAgfVxuXG4gICAgLy8gRG9ja2VyIGJ1bmRsaW5nXG4gICAgY29uc3Qgc2hvdWxkQnVpbGRJbWFnZSA9IHByb3BzLmZvcmNlZERvY2tlckJ1bmRsaW5nIHx8ICFCdW5kbGluZy5ydW5zTG9jYWxseTtcblxuICAgIGlmIChzaG91bGRCdWlsZEltYWdlICYmIHByb3BzLmRvY2tlckltYWdlKSB7XG4gICAgICAvLyBVc2UgdGhlIHVzZXIncyBpbWFnZVxuICAgICAgdGhpcy5pbWFnZSA9IHByb3BzLmRvY2tlckltYWdlO1xuICAgIH0gZWxzZSBpZiAoc2hvdWxkQnVpbGRJbWFnZSAmJiAhcHJvcHMuZG9ja2VySW1hZ2UpIHtcbiAgICAgIC8vIEJ1aWxkIG91ciBvd24gaW1hZ2UgdG8gcnVuIGVzYnVpbGQgaW4uIFdlIGRvIHNvbWUgY291bnRlciB0cmlja2VyeSBoZXJlOiB3ZSBkbyB3YW50IHRvIGNvdW50XG4gICAgICAvLyB0aGUgdGltZSBzcGVudCBoZXJlIGFzIHBhcnQgb2YgJ2J1bmRsZTpHb0Z1bmN0aW9uJywgYnV0IGJ5IGRlZmF1bHQgb25seSB0aGUgUlVOTklORyBvZiB0aGUgRG9ja2VyXG4gICAgICAvLyBpbWFnZSB3b3VsZCBjb3VudCBhcyB0aGF0LiBTbyB3ZSBhZGQgYW4gYWRkaXRpb25hbCB0aW1lciBzcGFuIGp1c3QgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgcnVubmVyIGltYWdlLlxuICAgICAgdXNpbmcgX3NwYW4gPSBwcm9maWxlU3BhbihgYnVuZGxlOiR7dGhpc1tjZGsuUEVSRl9CVU5ETElOR19TUkNfU1lNXX1gLCB7IHRlbGVtZXRyeTogdHJ1ZSwgc2tpcENvdW50OiB0cnVlIH0pO1xuXG4gICAgICB0aGlzLmltYWdlID0gY2RrLkRvY2tlckltYWdlLmZyb21CdWlsZChwYXRoLmpvaW4oX19kaXJuYW1lLCAnZG9ja2VyJyksIHtcbiAgICAgICAgYnVpbGRBcmdzOiB7XG4gICAgICAgICAgLi4ucHJvcHMuYnVpbGRBcmdzID8/IHt9LFxuICAgICAgICAgIElNQUdFOiBSdW50aW1lLkdPXzFfWC5idW5kbGluZ0ltYWdlLmltYWdlLCAvLyBhbHdheXMgdXNlIHRoZSBHT18xX1ggYnVpbGQgaW1hZ2VcbiAgICAgICAgfSxcbiAgICAgICAgcGxhdGZvcm06IHByb3BzLmFyY2hpdGVjdHVyZS5kb2NrZXJQbGF0Zm9ybSxcbiAgICAgICAgbmV0d29yazogcHJvcHMubmV0d29yayxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSB3b24ndCB1c2UgYSBEb2NrZXIgaW1hZ2UsIGJ1dCB0aGlzIGZpZWxkIG11c3QgaGF2ZSBhIHZhbHVlLlxuICAgICAgdGhpcy5pbWFnZSA9IGNkay5Eb2NrZXJJbWFnZS5mcm9tUmVnaXN0cnkoJ2R1bW15Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgYnVuZGxpbmdDb21tYW5kID0gdGhpcy5jcmVhdGVCdW5kbGluZ0NvbW1hbmQoY2RrLkFzc2V0U3RhZ2luZy5CVU5ETElOR19JTlBVVF9ESVIsIGNkay5Bc3NldFN0YWdpbmcuQlVORExJTkdfT1VUUFVUX0RJUik7XG4gICAgdGhpcy5jb21tYW5kID0gcHJvcHMuY29tbWFuZCA/PyBbJ2Jhc2gnLCAnLWMnLCBidW5kbGluZ0NvbW1hbmRdO1xuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcbiAgICB0aGlzLmVudHJ5cG9pbnQgPSBwcm9wcy5lbnRyeXBvaW50O1xuICAgIHRoaXMudm9sdW1lcyA9IHByb3BzLnZvbHVtZXM7XG4gICAgdGhpcy52b2x1bWVzRnJvbSA9IHByb3BzLnZvbHVtZXNGcm9tO1xuICAgIHRoaXMud29ya2luZ0RpcmVjdG9yeSA9IHByb3BzLndvcmtpbmdEaXJlY3Rvcnk7XG4gICAgdGhpcy51c2VyID0gcHJvcHMudXNlcjtcbiAgICB0aGlzLnNlY3VyaXR5T3B0ID0gcHJvcHMuc2VjdXJpdHlPcHQ7XG4gICAgdGhpcy5uZXR3b3JrID0gcHJvcHMubmV0d29yaztcbiAgICB0aGlzLmJ1bmRsaW5nRmlsZUFjY2VzcyA9IHByb3BzLmJ1bmRsaW5nRmlsZUFjY2VzcztcblxuICAgIC8vIExvY2FsIGJ1bmRsaW5nXG4gICAgaWYgKCFwcm9wcy5mb3JjZWREb2NrZXJCdW5kbGluZykgeyAvLyBvbmx5IGlmIERvY2tlciBpcyBub3QgZm9yY2VkXG4gICAgICBjb25zdCBvc1BsYXRmb3JtID0gb3MucGxhdGZvcm0oKTtcbiAgICAgIGNvbnN0IGNyZWF0ZUxvY2FsQ29tbWFuZCA9IChvdXRwdXREaXI6IHN0cmluZykgPT4gdGhpcy5jcmVhdGVCdW5kbGluZ0NvbW1hbmQocHJvamVjdFJvb3QsIG91dHB1dERpciwgb3NQbGF0Zm9ybSk7XG5cbiAgICAgIHRoaXMubG9jYWwgPSB7XG4gICAgICAgIHRyeUJ1bmRsZShvdXRwdXREaXI6IHN0cmluZykge1xuICAgICAgICAgIGlmIChCdW5kbGluZy5ydW5zTG9jYWxseSA9PSBmYWxzZSkge1xuICAgICAgICAgICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoJ2dvIGJ1aWxkIGNhbm5vdCBydW4gbG9jYWxseS4gU3dpdGNoaW5nIHRvIERvY2tlciBidW5kbGluZy5cXG4nKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1c2luZyBfc3BhbiA9IHByb2ZpbGVTcGFuKCdHb0Z1bmN0aW9uI3RyeUJ1bmRsZScsIHsgdGVsZW1ldHJ5OiB0cnVlIH0pO1xuXG4gICAgICAgICAgY29uc3QgbG9jYWxDb21tYW5kID0gY3JlYXRlTG9jYWxDb21tYW5kKG91dHB1dERpcik7XG4gICAgICAgICAgZXhlYyhcbiAgICAgICAgICAgIG9zUGxhdGZvcm0gPT09ICd3aW4zMicgPyAnY21kJyA6ICdiYXNoJyxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgb3NQbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/ICcvYycgOiAnLWMnLFxuICAgICAgICAgICAgICBsb2NhbENvbW1hbmQsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYsIC4uLmVudmlyb25tZW50ID8/IHt9IH0sXG4gICAgICAgICAgICAgIHN0ZGlvOiBbIC8vIHNob3cgb3V0cHV0XG4gICAgICAgICAgICAgICAgJ2lnbm9yZScsIC8vIGlnbm9yZSBzdGRpb1xuICAgICAgICAgICAgICAgIHByb2Nlc3Muc3RkZXJyLCAvLyByZWRpcmVjdCBzdGRvdXQgdG8gc3RkZXJyXG4gICAgICAgICAgICAgICAgJ2luaGVyaXQnLCAvLyBpbmhlcml0IHN0ZGVyclxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBjd2Q6IHBhdGguZGlybmFtZShwcm9wcy5tb2R1bGVEaXIpLFxuICAgICAgICAgICAgICB3aW5kb3dzVmVyYmF0aW1Bcmd1bWVudHM6IG9zUGxhdGZvcm0gPT09ICd3aW4zMicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVCdW5kbGluZ0NvbW1hbmQoaW5wdXREaXI6IHN0cmluZywgb3V0cHV0RGlyOiBzdHJpbmcsIG9zUGxhdGZvcm06IE5vZGVKUy5QbGF0Zm9ybSA9ICdsaW51eCcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhdGhKb2luID0gb3NQYXRoSm9pbihvc1BsYXRmb3JtKTtcblxuICAgIGNvbnN0IGhhc1ZlbmRvciA9IGZpbmRVcCgndmVuZG9yJywgcGF0aC5kaXJuYW1lKHRoaXMucHJvcHMuZW50cnkpKTtcblxuICAgIGNvbnN0IGdvQnVpbGRDb21tYW5kOiBzdHJpbmcgPSBbXG4gICAgICAnZ28nLCAnYnVpbGQnLFxuICAgICAgaGFzVmVuZG9yID8gJy1tb2Q9dmVuZG9yJyA6ICcnLFxuICAgICAgJy1vJywgYFwiJHtwYXRoSm9pbihvdXRwdXREaXIsICdib290c3RyYXAnKX1cImAsXG4gICAgICBgJHt0aGlzLnByb3BzLmdvQnVpbGRGbGFncyA/IHRoaXMucHJvcHMuZ29CdWlsZEZsYWdzLmpvaW4oJyAnKSA6ICcnfWAsXG4gICAgICBgJHt0aGlzLnJlbGF0aXZlRW50cnlQYXRoLnJlcGxhY2UoL1xcXFwvZywgJy8nKX1gLFxuICAgIF0uZmlsdGVyKGMgPT4gISFjKS5qb2luKCcgJyk7XG5cbiAgICByZXR1cm4gY2hhaW4oW1xuICAgICAgLi4udGhpcy5wcm9wcy5jb21tYW5kSG9va3M/LmJlZm9yZUJ1bmRsaW5nKGlucHV0RGlyLCBvdXRwdXREaXIpID8/IFtdLFxuICAgICAgZ29CdWlsZENvbW1hbmQsXG4gICAgICAuLi50aGlzLnByb3BzLmNvbW1hbmRIb29rcz8uYWZ0ZXJCdW5kbGluZyhpbnB1dERpciwgb3V0cHV0RGlyKSA/PyBbXSxcbiAgICBdKTtcbiAgfVxufVxuXG4vKipcbiAqIFBsYXRmb3JtIHNwZWNpZmljIHBhdGggam9pblxuICovXG5mdW5jdGlvbiBvc1BhdGhKb2luKHBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm0pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICguLi5wYXRoczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIGNvbnN0IGpvaW5lZCA9IHBhdGguam9pbiguLi5wYXRocyk7XG4gICAgLy8gSWYgd2UgYXJlIG9uIHdpbjMyIGJ1dCBuZWVkIHBvc2l4IHN0eWxlIHBhdGhzXG4gICAgaWYgKG9zLnBsYXRmb3JtKCkgPT09ICd3aW4zMicgJiYgcGxhdGZvcm0gIT09ICd3aW4zMicpIHtcbiAgICAgIHJldHVybiBqb2luZWQucmVwbGFjZSgvXFxcXC9nLCAnLycpO1xuICAgIH1cbiAgICByZXR1cm4gam9pbmVkO1xuICB9O1xufVxuXG5mdW5jdGlvbiBjaGFpbihjb21tYW5kczogc3RyaW5nW10pOiBzdHJpbmcge1xuICByZXR1cm4gY29tbWFuZHMuZmlsdGVyKGMgPT4gISFjKS5qb2luKCcgJiYgJyk7XG59XG4iXX0=
284
+ function pathEscapesRoot(relativePath) {
285
+ return path.posix.isAbsolute(relativePath)
286
+ || path.win32.isAbsolute(relativePath)
287
+ || relativePath === '..'
288
+ || relativePath.startsWith('../')
289
+ || relativePath.startsWith('..\\');
290
+ }
291
+ function shellEscape(arg, platform) {
292
+ if (platform === 'win32') {
293
+ return windowsCmdQuote(arg);
294
+ }
295
+ return (0, helpers_internal_1.posixShellEscape)(arg);
296
+ }
297
+ function windowsCmdQuote(arg) {
298
+ if (/["%\x00-\x1f]/.test(arg)) {
299
+ throw new cdk.UnscopedValidationError((0, helpers_internal_1.lit) `InvalidWindowsShellPath`, `Path argument (${JSON.stringify(arg)}) cannot contain '"', '%', or control characters on Windows local bundling`);
300
+ }
301
+ return `"${arg}"`;
302
+ }
303
+ function moduleRoot(moduleDir) {
304
+ const pathLib = pathFor(moduleDir);
305
+ return pathLib.basename(moduleDir) === 'go.mod' ? pathLib.dirname(moduleDir) : moduleDir;
306
+ }
307
+ function pathFor(...paths) {
308
+ return os.platform() === 'win32' || paths.some(p => /^[a-zA-Z]:[\\/]/.test(p) || p.startsWith('\\\\')) ? path.win32 : path.posix;
309
+ }
310
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVuZGxpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJidW5kbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUU3Qix1REFBdUQ7QUFDdkQsc0RBQXdDO0FBQ3hDLDRFQUEyRjtBQUUzRixpQ0FBeUQ7QUFpRXpEOztHQUVHO0FBQ0gsTUFBYSxRQUFRO0lBaURVO0lBaER0QixNQUFNLENBQUMsTUFBTSxDQUFDLE9BQXNCO1FBQ3pDLE1BQU0sUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXZDLE9BQU8saUJBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRTtZQUMxQyxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWEsSUFBSSxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU07WUFDaEUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQzVCLFFBQVEsRUFBRTtnQkFDUixLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3JCLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztnQkFDekIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO2dCQUNqQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEtBQUs7Z0JBQ3JCLFVBQVUsRUFBRSxRQUFRLENBQUMsVUFBVTtnQkFDL0IsT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO2dCQUN6QixXQUFXLEVBQUUsUUFBUSxDQUFDLFdBQVc7Z0JBQ2pDLGdCQUFnQixFQUFFLFFBQVEsQ0FBQyxnQkFBZ0I7Z0JBQzNDLElBQUksRUFBRSxRQUFRLENBQUMsSUFBSTtnQkFDbkIsV0FBVyxFQUFFLFFBQVEsQ0FBQyxXQUFXO2dCQUNqQyxPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87Z0JB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T0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDM0YsQ0FBQztBQUVELFNBQVMsT0FBTyxDQUFDLEdBQUcsS0FBZTtJQUNqQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7QUFDbkksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIG9zIGZyb20gJ29zJztcbmltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdHlwZSB7IEFyY2hpdGVjdHVyZSwgQXNzZXRDb2RlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb2RlLCBSdW50aW1lIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgKiBhcyBjZGsgZnJvbSAnYXdzLWNkay1saWIvY29yZSc7XG5pbXBvcnQgeyBsaXQsIHBvc2l4U2hlbGxFc2NhcGUsIHByb2ZpbGVTcGFuIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvaGVscGVycy1pbnRlcm5hbCc7XG5pbXBvcnQgdHlwZSB7IEJ1bmRsaW5nT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgZXhlYywgZmluZFVwLCBnZXRHb0J1aWxkVmVyc2lvbiB9IGZyb20gJy4vdXRpbCc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYnVuZGxpbmdcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdW5kbGluZ1Byb3BzIGV4dGVuZHMgQnVuZGxpbmdPcHRpb25zIHtcbiAgLyoqXG4gICAqIERpcmVjdG9yeSBjb250YWluaW5nIHlvdXIgZ28ubW9kIGZpbGVcbiAgICpcbiAgICogVGhpcyB3aWxsIGFjY2VwdCBlaXRoZXIgYSBkaXJlY3RvcnkgcGF0aCBjb250YWluaW5nIGEgYGdvLm1vZGAgZmlsZVxuICAgKiBvciBhIGZpbGVwYXRoIHRvIHlvdXIgYGdvLm1vZGAgZmlsZSAoaS5lLiBgcGF0aC90by9nby5tb2RgKS5cbiAgICpcbiAgICogVGhpcyB3aWxsIGJlIHVzZWQgYXMgdGhlIHNvdXJjZSBvZiB0aGUgdm9sdW1lIG1vdW50ZWQgaW4gdGhlIERvY2tlclxuICAgKiBjb250YWluZXIgYW5kIHdpbGwgYmUgdGhlIGRpcmVjdG9yeSB3aGVyZSBpdCB3aWxsIHJ1biBgZ28gYnVpbGRgIGZyb20uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIHBhdGggaXMgZm91bmQgYnkgd2Fsa2luZyB1cCBwYXJlbnQgZGlyZWN0b3JpZXMgc2VhcmNoaW5nIGZvclxuICAgKiAgYSBgZ28ubW9kYCBmaWxlIGZyb20gdGhlIGxvY2F0aW9uIG9mIGBlbnRyeWBcbiAgICovXG4gIHJlYWRvbmx5IG1vZHVsZURpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCB0byB0aGUgZm9sZGVyIG9yIGZpbGUgdGhhdCBjb250YWlucyB0aGUgbWFpbiBhcHBsaWNhdGlvbiBlbnRyeSBwb2ludCBmaWxlcyBmb3IgdGhlIHByb2plY3QuXG4gICAqXG4gICAqIFRoaXMgYWNjZXB0cyBlaXRoZXIgYSBwYXRoIHRvIGEgZGlyZWN0b3J5IG9yIGZpbGUuXG4gICAqXG4gICAqIElmIGEgZGlyZWN0b3J5IHBhdGggaXMgcHJvdmlkZWQgdGhlbiBpdCB3aWxsIGFzc3VtZSB0aGVyZSBpcyBhIEdvIGVudHJ5IGZpbGUgKGkuZS4gYG1haW4uZ29gKSBhbmRcbiAgICogd2lsbCBjb25zdHJ1Y3QgdGhlIGJ1aWxkIGNvbW1hbmQgdXNpbmcgdGhlIGRpcmVjdG9yeSBwYXRoLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgaWYgeW91IHByb3ZpZGUgdGhlIGVudHJ5IGFzOlxuICAgKlxuICAgKiAgICAgZW50cnk6ICdteS1sYW1iZGEtYXBwL2NtZC9hcGknXG4gICAqXG4gICAqIFRoZW4gdGhlIGBnbyBidWlsZGAgY29tbWFuZCB3b3VsZCBiZTpcbiAgICpcbiAgICogICAgIGBnbyBidWlsZCAuL2NtZC9hcGlgXG4gICAqXG4gICAqIElmIGEgcGF0aCB0byBhIGZpbGUgaXMgcHJvdmlkZWQgdGhlbiBpdCB3aWxsIHVzZSB0aGUgZmlsZXBhdGggaW4gdGhlIGJ1aWxkIGNvbW1hbmQuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBpZiB5b3UgcHJvdmlkZSB0aGUgZW50cnkgYXM6XG4gICAqXG4gICAqICAgICBlbnRyeTogJ215LWxhbWJkYS1hcHAvY21kL2FwaS9tYWluLmdvJ1xuICAgKlxuICAgKiBUaGVuIHRoZSBgZ28gYnVpbGRgIGNvbW1hbmQgd291bGQgYmU6XG4gICAqXG4gICAqICAgICBgZ28gYnVpbGQgLi9jbWQvYXBpL21haW4uZ29gXG4gICAqL1xuICByZWFkb25seSBlbnRyeTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcnVudGltZSBvZiB0aGUgbGFtYmRhIGZ1bmN0aW9uXG4gICAqL1xuICByZWFkb25seSBydW50aW1lOiBSdW50aW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgc3lzdGVtIGFyY2hpdGVjdHVyZSBvZiB0aGUgbGFtYmRhIGZ1bmN0aW9uXG4gICAqL1xuICByZWFkb25seSBhcmNoaXRlY3R1cmU6IEFyY2hpdGVjdHVyZTtcblxuICAvKipcbiAgICogV2hpY2ggb3B0aW9uIHRvIHVzZSB0byBjb3B5IHRoZSBzb3VyY2UgZmlsZXMgdG8gdGhlIGRvY2tlciBjb250YWluZXIgYW5kIG91dHB1dCBmaWxlcyBiYWNrXG4gICAqIEBkZWZhdWx0IC0gQnVuZGxpbmdGaWxlQWNjZXNzLkJJTkRfTU9VTlRcbiAgICovXG4gIHJlYWRvbmx5IGJ1bmRsaW5nRmlsZUFjY2Vzcz86IGNkay5CdW5kbGluZ0ZpbGVBY2Nlc3M7XG59XG5cbi8qKlxuICogQnVuZGxpbmdcbiAqL1xuZXhwb3J0IGNsYXNzIEJ1bmRsaW5nIGltcGxlbWVudHMgY2RrLkJ1bmRsaW5nT3B0aW9ucyB7XG4gIHB1YmxpYyBzdGF0aWMgYnVuZGxlKG9wdGlvbnM6IEJ1bmRsaW5nUHJvcHMpOiBBc3NldENvZGUge1xuICAgIGNvbnN0IGJ1bmRsaW5nID0gbmV3IEJ1bmRsaW5nKG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuIENvZGUuZnJvbUFzc2V0KGJ1bmRsaW5nLnByb2plY3RSb290LCB7XG4gICAgICBhc3NldEhhc2hUeXBlOiBvcHRpb25zLmFzc2V0SGFzaFR5cGUgPz8gY2RrLkFzc2V0SGFzaFR5cGUuT1VUUFVULFxuICAgICAgYXNzZXRIYXNoOiBvcHRpb25zLmFzc2V0SGFzaCxcbiAgICAgIGJ1bmRsaW5nOiB7XG4gICAgICAgIGltYWdlOiBidW5kbGluZy5pbWFnZSxcbiAgICAgICAgY29tbWFuZDogYnVuZGxpbmcuY29tbWFuZCxcbiAgICAgICAgZW52aXJvbm1lbnQ6IGJ1bmRsaW5nLmVudmlyb25tZW50LFxuICAgICAgICBsb2NhbDogYnVuZGxpbmcubG9jYWwsXG4gICAgICAgIGVudHJ5cG9pbnQ6IGJ1bmRsaW5nLmVudHJ5cG9pbnQsXG4gICAgICAgIHZvbHVtZXM6IGJ1bmRsaW5nLnZvbHVtZXMsXG4gICAgICAgIHZvbHVtZXNGcm9tOiBidW5kbGluZy52b2x1bWVzRnJvbSxcbiAgICAgICAgd29ya2luZ0RpcmVjdG9yeTogYnVuZGxpbmcud29ya2luZ0RpcmVjdG9yeSxcbiAgICAgICAgdXNlcjogYnVuZGxpbmcudXNlcixcbiAgICAgICAgc2VjdXJpdHlPcHQ6IGJ1bmRsaW5nLnNlY3VyaXR5T3B0LFxuICAgICAgICBuZXR3b3JrOiBidW5kbGluZy5uZXR3b3JrLFxuICAgICAgICBidW5kbGluZ0ZpbGVBY2Nlc3M6IGJ1bmRsaW5nLmJ1bmRsaW5nRmlsZUFjY2VzcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGNsZWFyUnVuc0xvY2FsbHlDYWNoZSgpOiB2b2lkIHsgLy8gZm9yIHRlc3RzXG4gICAgdGhpcy5ydW5zTG9jYWxseSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHJ1bnNMb2NhbGx5PzogYm9vbGVhbjtcblxuICBwdWJsaWMgcmVhZG9ubHkgW2Nkay5QRVJGX0JVTkRMSU5HX1NSQ19TWU1dID0gJ0dvRnVuY3Rpb24nO1xuXG4gIC8vIENvcmUgYnVuZGxpbmcgb3B0aW9uc1xuICBwdWJsaWMgcmVhZG9ubHkgaW1hZ2U6IGNkay5Eb2NrZXJJbWFnZTtcbiAgcHVibGljIHJlYWRvbmx5IGNvbW1hbmQ6IHN0cmluZ1tdO1xuICBwdWJsaWMgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuICBwdWJsaWMgcmVhZG9ubHkgbG9jYWw/OiBjZGsuSUxvY2FsQnVuZGxpbmc7XG4gIHB1YmxpYyByZWFkb25seSBlbnRyeXBvaW50Pzogc3RyaW5nW107XG4gIHB1YmxpYyByZWFkb25seSB2b2x1bWVzPzogY2RrLkRvY2tlclZvbHVtZVtdO1xuICBwdWJsaWMgcmVhZG9ubHkgdm9sdW1lc0Zyb20/OiBzdHJpbmdbXTtcbiAgcHVibGljIHJlYWRvbmx5IHdvcmtpbmdEaXJlY3Rvcnk/OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSB1c2VyPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgc2VjdXJpdHlPcHQ/OiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBuZXR3b3JrPzogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgYnVuZGxpbmdGaWxlQWNjZXNzPzogY2RrLkJ1bmRsaW5nRmlsZUFjY2VzcztcblxuICBwcml2YXRlIHJlYWRvbmx5IHJlbGF0aXZlRW50cnlQYXRoOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvamVjdFJvb3Q6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHByb3BzOiBCdW5kbGluZ1Byb3BzKSB7XG4gICAgQnVuZGxpbmcucnVuc0xvY2FsbHkgPSBCdW5kbGluZy5ydW5zTG9jYWxseVxuICAgICAgPz8gZ2V0R29CdWlsZFZlcnNpb24oKVxuICAgICAgPz8gZmFsc2U7XG5cbiAgICBjb25zdCBwcm9qZWN0Um9vdCA9IG1vZHVsZVJvb3QocHJvcHMubW9kdWxlRGlyKTtcbiAgICBjb25zdCBwYXRoTGliID0gcGF0aEZvcihwcm9qZWN0Um9vdCwgcHJvcHMuZW50cnkpO1xuICAgIGNvbnN0IHJlbGF0aXZlRW50cnlQYXRoID0gcGF0aExpYi5yZWxhdGl2ZShwYXRoTGliLnJlc29sdmUocHJvamVjdFJvb3QpLCBwYXRoTGliLnJlc29sdmUocHJvcHMuZW50cnkpKTtcbiAgICBpZiAocGF0aEVzY2FwZXNSb290KHJlbGF0aXZlRW50cnlQYXRoKSkge1xuICAgICAgdGhyb3cgbmV3IGNkay5VbnNjb3BlZFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgbGl0YFBhdGhOb3RVbmRlclJvb3RgLFxuICAgICAgICBgZW50cnlQYXRoICgke0pTT04uc3RyaW5naWZ5KHByb3BzLmVudHJ5KX0pIHNob3VsZCBiZSB1bmRlciBwcm9qZWN0Um9vdCAoJHtKU09OLnN0cmluZ2lmeShwcm9qZWN0Um9vdCl9KWAsXG4gICAgICApO1xuICAgIH1cbiAgICB0aGlzLnJlbGF0aXZlRW50cnlQYXRoID0gYC4vJHtyZWxhdGl2ZUVudHJ5UGF0aH1gO1xuICAgIHRoaXMucHJvamVjdFJvb3QgPSBwcm9qZWN0Um9vdDtcblxuICAgIGNvbnN0IGNnb0VuYWJsZWQgPSBwcm9wcy5jZ29FbmFibGVkID8gJzEnIDogJzAnO1xuXG4gICAgY29uc3QgZW52aXJvbm1lbnQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBDR09fRU5BQkxFRDogY2dvRW5hYmxlZCxcbiAgICAgIEdPMTExTU9EVUxFOiAnb24nLFxuICAgICAgR09BUkNIOiBwcm9wcy5hcmNoaXRlY3R1cmUuZG9ja2VyUGxhdGZvcm0uc3BsaXQoJy8nKVsxXSxcbiAgICAgIEdPT1M6ICdsaW51eCcsXG4gICAgICAuLi5wcm9wcy5lbnZpcm9ubWVudCxcbiAgICB9O1xuXG4gICAgaWYgKHByb3BzLmdvUHJveGllcykge1xuICAgICAgZW52aXJvbm1lbnQuR09QUk9YWSA9IHByb3BzLmdvUHJveGllcy5qb2luKCcsJyk7XG4gICAgfVxuXG4gICAgLy8gRG9ja2VyIGJ1bmRsaW5nXG4gICAgY29uc3Qgc2hvdWxkQnVpbGRJbWFnZSA9IHByb3BzLmZvcmNlZERvY2tlckJ1bmRsaW5nIHx8ICFCdW5kbGluZy5ydW5zTG9jYWxseTtcblxuICAgIGlmIChzaG91bGRCdWlsZEltYWdlICYmIHByb3BzLmRvY2tlckltYWdlKSB7XG4gICAgICAvLyBVc2UgdGhlIHVzZXIncyBpbWFnZVxuICAgICAgdGhpcy5pbWFnZSA9IHByb3BzLmRvY2tlckltYWdlO1xuICAgIH0gZWxzZSBpZiAoc2hvdWxkQnVpbGRJbWFnZSAmJiAhcHJvcHMuZG9ja2VySW1hZ2UpIHtcbiAgICAgIC8vIEJ1aWxkIG91ciBvd24gaW1hZ2UgdG8gcnVuIGVzYnVpbGQgaW4uIFdlIGRvIHNvbWUgY291bnRlciB0cmlja2VyeSBoZXJlOiB3ZSBkbyB3YW50IHRvIGNvdW50XG4gICAgICAvLyB0aGUgdGltZSBzcGVudCBoZXJlIGFzIHBhcnQgb2YgJ2J1bmRsZTpHb0Z1bmN0aW9uJywgYnV0IGJ5IGRlZmF1bHQgb25seSB0aGUgUlVOTklORyBvZiB0aGUgRG9ja2VyXG4gICAgICAvLyBpbWFnZSB3b3VsZCBjb3VudCBhcyB0aGF0LiBTbyB3ZSBhZGQgYW4gYWRkaXRpb25hbCB0aW1lciBzcGFuIGp1c3QgZm9yIHRoZSBidWlsZGluZyBvZiB0aGUgcnVubmVyIGltYWdlLlxuICAgICAgdXNpbmcgX3NwYW4gPSBwcm9maWxlU3BhbihgYnVuZGxlOiR7dGhpc1tjZGsuUEVSRl9CVU5ETElOR19TUkNfU1lNXX1gLCB7IHRlbGVtZXRyeTogdHJ1ZSwgc2tpcENvdW50OiB0cnVlIH0pO1xuXG4gICAgICB0aGlzLmltYWdlID0gY2RrLkRvY2tlckltYWdlLmZyb21CdWlsZChwYXRoLmpvaW4oX19kaXJuYW1lLCAnZG9ja2VyJyksIHtcbiAgICAgICAgYnVpbGRBcmdzOiB7XG4gICAgICAgICAgLi4ucHJvcHMuYnVpbGRBcmdzID8/IHt9LFxuICAgICAgICAgIElNQUdFOiBSdW50aW1lLkdPXzFfWC5idW5kbGluZ0ltYWdlLmltYWdlLCAvLyBhbHdheXMgdXNlIHRoZSBHT18xX1ggYnVpbGQgaW1hZ2VcbiAgICAgICAgfSxcbiAgICAgICAgcGxhdGZvcm06IHByb3BzLmFyY2hpdGVjdHVyZS5kb2NrZXJQbGF0Zm9ybSxcbiAgICAgICAgbmV0d29yazogcHJvcHMubmV0d29yayxcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSB3b24ndCB1c2UgYSBEb2NrZXIgaW1hZ2UsIGJ1dCB0aGlzIGZpZWxkIG11c3QgaGF2ZSBhIHZhbHVlLlxuICAgICAgdGhpcy5pbWFnZSA9IGNkay5Eb2NrZXJJbWFnZS5mcm9tUmVnaXN0cnkoJ2R1bW15Jyk7XG4gICAgfVxuXG4gICAgY29uc3QgYnVuZGxpbmdDb21tYW5kID0gdGhpcy5jcmVhdGVCdW5kbGluZ0NvbW1hbmQoY2RrLkFzc2V0U3RhZ2luZy5CVU5ETElOR19JTlBVVF9ESVIsIGNkay5Bc3NldFN0YWdpbmcuQlVORExJTkdfT1VUUFVUX0RJUik7XG4gICAgdGhpcy5jb21tYW5kID0gcHJvcHMuY29tbWFuZCA/PyBbJ2Jhc2gnLCAnLWMnLCBidW5kbGluZ0NvbW1hbmRdO1xuICAgIHRoaXMuZW52aXJvbm1lbnQgPSBlbnZpcm9ubWVudDtcbiAgICB0aGlzLmVudHJ5cG9pbnQgPSBwcm9wcy5lbnRyeXBvaW50O1xuICAgIHRoaXMudm9sdW1lcyA9IHByb3BzLnZvbHVtZXM7XG4gICAgdGhpcy52b2x1bWVzRnJvbSA9IHByb3BzLnZvbHVtZXNGcm9tO1xuICAgIHRoaXMud29ya2luZ0RpcmVjdG9yeSA9IHByb3BzLndvcmtpbmdEaXJlY3Rvcnk7XG4gICAgdGhpcy51c2VyID0gcHJvcHMudXNlcjtcbiAgICB0aGlzLnNlY3VyaXR5T3B0ID0gcHJvcHMuc2VjdXJpdHlPcHQ7XG4gICAgdGhpcy5uZXR3b3JrID0gcHJvcHMubmV0d29yaztcbiAgICB0aGlzLmJ1bmRsaW5nRmlsZUFjY2VzcyA9IHByb3BzLmJ1bmRsaW5nRmlsZUFjY2VzcztcblxuICAgIC8vIExvY2FsIGJ1bmRsaW5nXG4gICAgaWYgKCFwcm9wcy5mb3JjZWREb2NrZXJCdW5kbGluZykgeyAvLyBvbmx5IGlmIERvY2tlciBpcyBub3QgZm9yY2VkXG4gICAgICBjb25zdCBvc1BsYXRmb3JtID0gb3MucGxhdGZvcm0oKTtcbiAgICAgIGNvbnN0IGNyZWF0ZUxvY2FsQ29tbWFuZCA9IChvdXRwdXREaXI6IHN0cmluZykgPT4gdGhpcy5jcmVhdGVCdW5kbGluZ0NvbW1hbmQocHJvamVjdFJvb3QsIG91dHB1dERpciwgb3NQbGF0Zm9ybSk7XG5cbiAgICAgIHRoaXMubG9jYWwgPSB7XG4gICAgICAgIHRyeUJ1bmRsZShvdXRwdXREaXI6IHN0cmluZykge1xuICAgICAgICAgIGlmIChCdW5kbGluZy5ydW5zTG9jYWxseSA9PSBmYWxzZSkge1xuICAgICAgICAgICAgcHJvY2Vzcy5zdGRlcnIud3JpdGUoJ2dvIGJ1aWxkIGNhbm5vdCBydW4gbG9jYWxseS4gU3dpdGNoaW5nIHRvIERvY2tlciBidW5kbGluZy5cXG4nKTtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB1c2luZyBfc3BhbiA9IHByb2ZpbGVTcGFuKCdHb0Z1bmN0aW9uI3RyeUJ1bmRsZScsIHsgdGVsZW1ldHJ5OiB0cnVlIH0pO1xuXG4gICAgICAgICAgY29uc3QgbG9jYWxDb21tYW5kID0gY3JlYXRlTG9jYWxDb21tYW5kKG91dHB1dERpcik7XG4gICAgICAgICAgZXhlYyhcbiAgICAgICAgICAgIG9zUGxhdGZvcm0gPT09ICd3aW4zMicgPyAnY21kJyA6ICdiYXNoJyxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgb3NQbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/ICcvYycgOiAnLWMnLFxuICAgICAgICAgICAgICBsb2NhbENvbW1hbmQsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBlbnY6IHsgLi4ucHJvY2Vzcy5lbnYsIC4uLmVudmlyb25tZW50ID8/IHt9IH0sXG4gICAgICAgICAgICAgIHN0ZGlvOiBbIC8vIHNob3cgb3V0cHV0XG4gICAgICAgICAgICAgICAgJ2lnbm9yZScsIC8vIGlnbm9yZSBzdGRpb1xuICAgICAgICAgICAgICAgIHByb2Nlc3Muc3RkZXJyLCAvLyByZWRpcmVjdCBzdGRvdXQgdG8gc3RkZXJyXG4gICAgICAgICAgICAgICAgJ2luaGVyaXQnLCAvLyBpbmhlcml0IHN0ZGVyclxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBjd2Q6IHByb2plY3RSb290LFxuICAgICAgICAgICAgICB3aW5kb3dzVmVyYmF0aW1Bcmd1bWVudHM6IG9zUGxhdGZvcm0gPT09ICd3aW4zMicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVCdW5kbGluZ0NvbW1hbmQoaW5wdXREaXI6IHN0cmluZywgb3V0cHV0RGlyOiBzdHJpbmcsIG9zUGxhdGZvcm06IE5vZGVKUy5QbGF0Zm9ybSA9ICdsaW51eCcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhdGhKb2luID0gb3NQYXRoSm9pbihvc1BsYXRmb3JtKTtcblxuICAgIGNvbnN0IGhhc1ZlbmRvciA9IGZpbmRVcCgndmVuZG9yJywgcGF0aC5kaXJuYW1lKHRoaXMucHJvcHMuZW50cnkpKTtcblxuICAgIGNvbnN0IGdvQnVpbGRDb21tYW5kOiBzdHJpbmcgPSBbXG4gICAgICAnZ28nLCAnYnVpbGQnLFxuICAgICAgaGFzVmVuZG9yID8gJy1tb2Q9dmVuZG9yJyA6ICcnLFxuICAgICAgJy1vJywgc2hlbGxFc2NhcGUocGF0aEpvaW4ob3V0cHV0RGlyLCAnYm9vdHN0cmFwJyksIG9zUGxhdGZvcm0pLFxuICAgICAgYCR7dGhpcy5wcm9wcy5nb0J1aWxkRmxhZ3MgPyB0aGlzLnByb3BzLmdvQnVpbGRGbGFncy5qb2luKCcgJykgOiAnJ31gLFxuICAgICAgc2hlbGxFc2NhcGUodGhpcy5yZWxhdGl2ZUVudHJ5UGF0aC5yZXBsYWNlKC9cXFxcL2csICcvJyksIG9zUGxhdGZvcm0pLFxuICAgIF0uZmlsdGVyKGMgPT4gISFjKS5qb2luKCcgJyk7XG5cbiAgICByZXR1cm4gY2hhaW4oW1xuICAgICAgLi4udGhpcy5wcm9wcy5jb21tYW5kSG9va3M/LmJlZm9yZUJ1bmRsaW5nKGlucHV0RGlyLCBvdXRwdXREaXIpID8/IFtdLFxuICAgICAgZ29CdWlsZENvbW1hbmQsXG4gICAgICAuLi50aGlzLnByb3BzLmNvbW1hbmRIb29rcz8uYWZ0ZXJCdW5kbGluZyhpbnB1dERpciwgb3V0cHV0RGlyKSA/PyBbXSxcbiAgICBdKTtcbiAgfVxufVxuXG4vKipcbiAqIFBsYXRmb3JtIHNwZWNpZmljIHBhdGggam9pblxuICovXG5mdW5jdGlvbiBvc1BhdGhKb2luKHBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm0pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICguLi5wYXRoczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIGlmIChwbGF0Zm9ybSA9PT0gJ3dpbjMyJykge1xuICAgICAgcmV0dXJuIHBhdGgud2luMzIuam9pbiguLi5wYXRocyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG9zLnBsYXRmb3JtKCkgPT09ICd3aW4zMidcbiAgICAgID8gcGF0aC5wb3NpeC5qb2luKC4uLnBhdGhzLm1hcChwID0+IHAucmVwbGFjZSgvXFxcXC9nLCAnLycpKSlcbiAgICAgIDogcGF0aC5wb3NpeC5qb2luKC4uLnBhdGhzKTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY2hhaW4oY29tbWFuZHM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgcmV0dXJuIGNvbW1hbmRzLmZpbHRlcihjID0+ICEhYykuam9pbignICYmICcpO1xufVxuXG5mdW5jdGlvbiBwYXRoRXNjYXBlc1Jvb3QocmVsYXRpdmVQYXRoOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHBhdGgucG9zaXguaXNBYnNvbHV0ZShyZWxhdGl2ZVBhdGgpXG4gICAgfHwgcGF0aC53aW4zMi5pc0Fic29sdXRlKHJlbGF0aXZlUGF0aClcbiAgICB8fCByZWxhdGl2ZVBhdGggPT09ICcuLidcbiAgICB8fCByZWxhdGl2ZVBhdGguc3RhcnRzV2l0aCgnLi4vJylcbiAgICB8fCByZWxhdGl2ZVBhdGguc3RhcnRzV2l0aCgnLi5cXFxcJyk7XG59XG5cbmZ1bmN0aW9uIHNoZWxsRXNjYXBlKGFyZzogc3RyaW5nLCBwbGF0Zm9ybTogTm9kZUpTLlBsYXRmb3JtKTogc3RyaW5nIHtcbiAgaWYgKHBsYXRmb3JtID09PSAnd2luMzInKSB7XG4gICAgcmV0dXJuIHdpbmRvd3NDbWRRdW90ZShhcmcpO1xuICB9XG5cbiAgcmV0dXJuIHBvc2l4U2hlbGxFc2NhcGUoYXJnKTtcbn1cblxuZnVuY3Rpb24gd2luZG93c0NtZFF1b3RlKGFyZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKC9bXCIlXFx4MDAtXFx4MWZdLy50ZXN0KGFyZykpIHtcbiAgICB0aHJvdyBuZXcgY2RrLlVuc2NvcGVkVmFsaWRhdGlvbkVycm9yKFxuICAgICAgbGl0YEludmFsaWRXaW5kb3dzU2hlbGxQYXRoYCxcbiAgICAgIGBQYXRoIGFyZ3VtZW50ICgke0pTT04uc3RyaW5naWZ5KGFyZyl9KSBjYW5ub3QgY29udGFpbiAnXCInLCAnJScsIG9yIGNvbnRyb2wgY2hhcmFjdGVycyBvbiBXaW5kb3dzIGxvY2FsIGJ1bmRsaW5nYCxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGBcIiR7YXJnfVwiYDtcbn1cblxuZnVuY3Rpb24gbW9kdWxlUm9vdChtb2R1bGVEaXI6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IHBhdGhMaWIgPSBwYXRoRm9yKG1vZHVsZURpcik7XG4gIHJldHVybiBwYXRoTGliLmJhc2VuYW1lKG1vZHVsZURpcikgPT09ICdnby5tb2QnID8gcGF0aExpYi5kaXJuYW1lKG1vZHVsZURpcikgOiBtb2R1bGVEaXI7XG59XG5cbmZ1bmN0aW9uIHBhdGhGb3IoLi4ucGF0aHM6IHN0cmluZ1tdKTogdHlwZW9mIHBhdGgucG9zaXggfCB0eXBlb2YgcGF0aC53aW4zMiB7XG4gIHJldHVybiBvcy5wbGF0Zm9ybSgpID09PSAnd2luMzInIHx8IHBhdGhzLnNvbWUocCA9PiAvXlthLXpBLVpdOltcXFxcL10vLnRlc3QocCkgfHwgcC5zdGFydHNXaXRoKCdcXFxcXFxcXCcpKSA/IHBhdGgud2luMzIgOiBwYXRoLnBvc2l4O1xufVxuIl19
package/lib/function.js CHANGED
@@ -95,7 +95,7 @@ let GoFunction = (() => {
95
95
  GoFunction = _classThis = _classDescriptor.value;
96
96
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
97
97
  }
98
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-lambda-go-alpha.GoFunction", version: "2.268.0-alpha.0" };
98
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-lambda-go-alpha.GoFunction", version: "2.270.0-alpha.0" };
99
99
  /** Uniquely identifies this class. */
100
100
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-lambda-go-alpha.GoFunction';
101
101
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aws-cdk/aws-lambda-go-alpha",
3
- "version": "2.268.0-alpha.0",
3
+ "version": "2.270.0-alpha.0",
4
4
  "description": "The CDK Construct Library for AWS Lambda in Golang",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -76,18 +76,18 @@
76
76
  },
77
77
  "license": "Apache-2.0",
78
78
  "devDependencies": {
79
- "@aws-cdk/cdk-build-tools": "2.268.0-alpha.0",
79
+ "@aws-cdk/cdk-build-tools": "2.270.0-alpha.0",
80
80
  "@aws-cdk/integ-runner": "^2.202.3",
81
- "@aws-cdk/integ-tests-alpha": "2.268.0-alpha.0",
82
- "@aws-cdk/pkglint": "2.268.0-alpha.0",
81
+ "@aws-cdk/integ-tests-alpha": "2.270.0-alpha.0",
82
+ "@aws-cdk/pkglint": "2.270.0-alpha.0",
83
83
  "@types/jest": "^29.5.14",
84
- "aws-cdk-lib": "2.268.0",
84
+ "aws-cdk-lib": "2.270.0",
85
85
  "constructs": "^10.5.0"
86
86
  },
87
87
  "dependencies": {},
88
88
  "homepage": "https://github.com/aws/aws-cdk",
89
89
  "peerDependencies": {
90
- "aws-cdk-lib": "^2.268.0",
90
+ "aws-cdk-lib": "^2.270.0",
91
91
  "constructs": "^10.5.0"
92
92
  },
93
93
  "engines": {