Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

projen

Package Overview
Dependencies
Maintainers
1
Versions
1926
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

projen - npm Package Compare versions

Comparing version 0.1.4 to 0.1.5

7

CHANGELOG.md

@@ -5,2 +5,9 @@ # Changelog

### [0.1.5](https://github.com/eladb/projen/compare/v0.1.4...v0.1.5) (2020-05-11)
### Bug Fixes
* actually export all types ([5bcdd75](https://github.com/eladb/projen/commit/5bcdd75712ea9477677c41a4e3cd06215ef50490))
### [0.1.4](https://github.com/eladb/projen/compare/v0.1.3...v0.1.4) (2020-05-11)

@@ -7,0 +14,0 @@

4

lib/file.d.ts
import { Construct, ISynthesisSession } from 'constructs';
export declare abstract class File extends Construct {
export declare abstract class FileBase extends Construct {
readonly path: string;
constructor(scope: Construct, filePath: string);
protected abstract get data(): unknown;
protected abstract get data(): any;
onSynthesize(session: ISynthesisSession): void;
}

@@ -6,3 +6,3 @@ "use strict";

const path = require("path");
class File extends constructs_1.Construct {
class FileBase extends constructs_1.Construct {
constructor(scope, filePath) {

@@ -18,3 +18,3 @@ super(scope, filePath);

}
exports.File = File;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQ0FBMEQ7QUFDMUQseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUU3QixNQUFzQixJQUFLLFNBQVEsc0JBQVM7SUFHMUMsWUFBWSxLQUFnQixFQUFFLFFBQWdCO1FBQzVDLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFdkIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUlNLFlBQVksQ0FBQyxPQUEwQjtRQUM1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFELEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0NBQ0Y7QUFoQkQsb0JBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0LCBJU3ludGhlc2lzU2Vzc2lvbiB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZpbGUgZXh0ZW5kcyBDb25zdHJ1Y3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgcGF0aDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgZmlsZVBhdGgpO1xuXG4gICAgdGhpcy5wYXRoID0gZmlsZVBhdGg7XG4gIH1cblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0IGRhdGEoKTogdW5rbm93bjtcblxuICBwdWJsaWMgb25TeW50aGVzaXplKHNlc3Npb246IElTeW50aGVzaXNTZXNzaW9uKTogdm9pZCB7XG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHRoaXMucGF0aCk7XG4gICAgZnMubWtkaXJTeW5jKHBhdGguZGlybmFtZShmaWxlUGF0aCksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIHRoaXMuZGF0YSk7XG4gIH1cbn0iXX0=
exports.FileBase = FileBase;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSwyQ0FBMEQ7QUFDMUQseUJBQXlCO0FBQ3pCLDZCQUE2QjtBQUU3QixNQUFzQixRQUFTLFNBQVEsc0JBQVM7SUFHOUMsWUFBWSxLQUFnQixFQUFFLFFBQWdCO1FBQzVDLEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFFdkIsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUlNLFlBQVksQ0FBQyxPQUEwQjtRQUM1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RELEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzFELEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QyxDQUFDO0NBQ0Y7QUFoQkQsNEJBZ0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0LCBJU3ludGhlc2lzU2Vzc2lvbiB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEZpbGVCYXNlIGV4dGVuZHMgQ29uc3RydWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBmaWxlUGF0aDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsIGZpbGVQYXRoKTtcblxuICAgIHRoaXMucGF0aCA9IGZpbGVQYXRoO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldCBkYXRhKCk6IGFueTtcblxuICBwdWJsaWMgb25TeW50aGVzaXplKHNlc3Npb246IElTeW50aGVzaXNTZXNzaW9uKTogdm9pZCB7XG4gICAgY29uc3QgZmlsZVBhdGggPSBwYXRoLmpvaW4oc2Vzc2lvbi5vdXRkaXIsIHRoaXMucGF0aCk7XG4gICAgZnMubWtkaXJTeW5jKHBhdGguZGlybmFtZShmaWxlUGF0aCksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgIGZzLndyaXRlRmlsZVN5bmMoZmlsZVBhdGgsIHRoaXMuZGF0YSk7XG4gIH1cbn0iXX0=
import { Construct } from 'constructs';
import { File } from './file';
import { FileBase } from './file';
export interface GithubWorkflowOptions {

@@ -9,3 +9,3 @@ /**

}
export declare class GithubWorkflow extends File {
export declare class GithubWorkflow extends FileBase {
private readonly name;

@@ -21,3 +21,3 @@ private events;

}): void;
get data(): string;
get data(): any;
}

@@ -6,3 +6,3 @@ "use strict";

const common_1 = require("./common");
class GithubWorkflow extends file_1.File {
class GithubWorkflow extends file_1.FileBase {
constructor(scope, name, options = {}) {

@@ -40,2 +40,2 @@ var _a;

exports.GithubWorkflow = GithubWorkflow;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLXdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2l0aHViLXdvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsaUNBQThCO0FBQzlCLDZCQUE2QjtBQUM3QixxQ0FBaUQ7QUFTakQsTUFBYSxjQUFlLFNBQVEsV0FBSTtJQU10QyxZQUFZLEtBQWdCLEVBQUUsSUFBWSxFQUFFLFVBQWlDLEVBQUc7O1FBQzlFLEtBQUssQ0FBQyxLQUFLLEVBQUUscUJBQXFCLElBQUksTUFBTSxDQUFDLENBQUM7UUFKeEMsV0FBTSxHQUE2QixFQUFHLENBQUM7UUFDdkMsU0FBSSxHQUE2QixFQUFHLENBQUM7UUFLM0MsSUFBSSxDQUFDLElBQUksU0FBRyxPQUFPLENBQUMsSUFBSSxtQ0FBSSxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUVNLEVBQUUsQ0FBQyxNQUFnQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osR0FBRyxJQUFJLENBQUMsTUFBTTtZQUNkLEdBQUcsTUFBTTtTQUNWLENBQUM7SUFDSixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQThCO1FBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUc7WUFDVixHQUFHLElBQUksQ0FBQyxJQUFJO1lBQ1osR0FBRyxJQUFJO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixNQUFNLFFBQVEsR0FBRztZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO1FBRUYsT0FBTztZQUNMLEtBQUssOEJBQXFCLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7U0FDekIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZCxDQUFDO0NBQ0Y7QUF0Q0Qsd0NBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBGaWxlIH0gZnJvbSAnLi9maWxlJztcbmltcG9ydCAqIGFzIFlBTUwgZnJvbSAneWFtbCc7XG5pbXBvcnQgeyBHRU5FUkFUSU9OX0RJU0NMQUlNRVIgfSBmcm9tICcuL2NvbW1vbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2l0aHViV29ya2Zsb3dPcHRpb25zIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IC0gc2FtZSBhcyBuYW1lXG4gICAqL1xuICByZWFkb25seSBuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgR2l0aHViV29ya2Zsb3cgZXh0ZW5kcyBGaWxlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHJpdmF0ZSBldmVudHM6IHsgW2V2ZW50OiBzdHJpbmddOiBhbnkgfSA9IHsgfTtcbiAgcHJpdmF0ZSBqb2JzOiB7IFtqb2JpZDogc3RyaW5nXTogYW55IH0gPSB7IH07XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgbmFtZTogc3RyaW5nLCBvcHRpb25zOiBHaXRodWJXb3JrZmxvd09wdGlvbnMgPSB7IH0pIHtcbiAgICBzdXBlcihzY29wZSwgYC5naXRodWIvd29ya2Zsb3dzLyR7bmFtZX0ueW1sYCk7XG4gICAgXG4gICAgdGhpcy5uYW1lID0gb3B0aW9ucy5uYW1lID8/IG5hbWU7XG4gIH1cblxuICBwdWJsaWMgb24oZXZlbnRzOiB7IFtldmVudDogc3RyaW5nXTogYW55IH0pIHtcbiAgICB0aGlzLmV2ZW50cyA9IHtcbiAgICAgIC4uLnRoaXMuZXZlbnRzLFxuICAgICAgLi4uZXZlbnRzLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYWRkSm9icyhqb2JzOiB7IFtqb2JpZDogc3RyaW5nXTogYW55IH0pIHtcbiAgICB0aGlzLmpvYnMgPSB7XG4gICAgICAuLi50aGlzLmpvYnMsXG4gICAgICAuLi5qb2JzLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRhdGEoKSB7XG4gICAgY29uc3Qgd29ya2Zsb3cgPSB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBvbjogdGhpcy5ldmVudHMsXG4gICAgICBqb2JzOiB0aGlzLmpvYnMsXG4gICAgfTtcblxuICAgIHJldHVybiBbXG4gICAgICBgIyAke0dFTkVSQVRJT05fRElTQ0xBSU1FUn1gLFxuICAgICAgWUFNTC5zdHJpbmdpZnkod29ya2Zsb3cpLFxuICAgIF0uam9pbignXFxuJylcbiAgfVxufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLXdvcmtmbG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZ2l0aHViLXdvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQ0EsaUNBQWtDO0FBQ2xDLDZCQUE2QjtBQUM3QixxQ0FBaUQ7QUFTakQsTUFBYSxjQUFlLFNBQVEsZUFBUTtJQU0xQyxZQUFZLEtBQWdCLEVBQUUsSUFBWSxFQUFFLFVBQWlDLEVBQUc7O1FBQzlFLEtBQUssQ0FBQyxLQUFLLEVBQUUscUJBQXFCLElBQUksTUFBTSxDQUFDLENBQUM7UUFKeEMsV0FBTSxHQUE2QixFQUFHLENBQUM7UUFDdkMsU0FBSSxHQUE2QixFQUFHLENBQUM7UUFLM0MsSUFBSSxDQUFDLElBQUksU0FBRyxPQUFPLENBQUMsSUFBSSxtQ0FBSSxJQUFJLENBQUM7SUFDbkMsQ0FBQztJQUVNLEVBQUUsQ0FBQyxNQUFnQztRQUN4QyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ1osR0FBRyxJQUFJLENBQUMsTUFBTTtZQUNkLEdBQUcsTUFBTTtTQUNWLENBQUM7SUFDSixDQUFDO0lBRU0sT0FBTyxDQUFDLElBQThCO1FBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUc7WUFDVixHQUFHLElBQUksQ0FBQyxJQUFJO1lBQ1osR0FBRyxJQUFJO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFXLElBQUk7UUFDYixNQUFNLFFBQVEsR0FBRztZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtTQUNoQixDQUFDO1FBRUYsT0FBTztZQUNMLEtBQUssOEJBQXFCLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUM7U0FDekIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDZCxDQUFDO0NBQ0Y7QUF0Q0Qsd0NBc0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBGaWxlQmFzZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgKiBhcyBZQU1MIGZyb20gJ3lhbWwnO1xuaW1wb3J0IHsgR0VORVJBVElPTl9ESVNDTEFJTUVSIH0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdpdGh1YldvcmtmbG93T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBAZGVmYXVsdCAtIHNhbWUgYXMgbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEdpdGh1YldvcmtmbG93IGV4dGVuZHMgRmlsZUJhc2Uge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwcml2YXRlIGV2ZW50czogeyBbZXZlbnQ6IHN0cmluZ106IGFueSB9ID0geyB9O1xuICBwcml2YXRlIGpvYnM6IHsgW2pvYmlkOiBzdHJpbmddOiBhbnkgfSA9IHsgfTtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IEdpdGh1YldvcmtmbG93T3B0aW9ucyA9IHsgfSkge1xuICAgIHN1cGVyKHNjb3BlLCBgLmdpdGh1Yi93b3JrZmxvd3MvJHtuYW1lfS55bWxgKTtcbiAgICBcbiAgICB0aGlzLm5hbWUgPSBvcHRpb25zLm5hbWUgPz8gbmFtZTtcbiAgfVxuXG4gIHB1YmxpYyBvbihldmVudHM6IHsgW2V2ZW50OiBzdHJpbmddOiBhbnkgfSkge1xuICAgIHRoaXMuZXZlbnRzID0ge1xuICAgICAgLi4udGhpcy5ldmVudHMsXG4gICAgICAuLi5ldmVudHMsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRKb2JzKGpvYnM6IHsgW2pvYmlkOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIHRoaXMuam9icyA9IHtcbiAgICAgIC4uLnRoaXMuam9icyxcbiAgICAgIC4uLmpvYnMsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGF0YSgpOiBhbnkge1xuICAgIGNvbnN0IHdvcmtmbG93ID0ge1xuICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgb246IHRoaXMuZXZlbnRzLFxuICAgICAgam9iczogdGhpcy5qb2JzLFxuICAgIH07XG5cbiAgICByZXR1cm4gW1xuICAgICAgYCMgJHtHRU5FUkFUSU9OX0RJU0NMQUlNRVJ9YCxcbiAgICAgIFlBTUwuc3RyaW5naWZ5KHdvcmtmbG93KSxcbiAgICBdLmpvaW4oJ1xcbicpXG4gIH1cbn1cbiJdfQ==

@@ -1,4 +0,4 @@

import { File } from './file';
import { FileBase } from './file';
import { Construct } from 'constructs';
export declare class IgnoreFile extends File {
export declare class IgnoreFile extends FileBase {
private readonly excludes;

@@ -5,0 +5,0 @@ private readonly includes;

@@ -5,3 +5,3 @@ "use strict";

const common_1 = require("./common");
class IgnoreFile extends file_1.File {
class IgnoreFile extends file_1.FileBase {
constructor(scope, filePath) {

@@ -28,2 +28,2 @@ super(scope, filePath);

exports.IgnoreFile = IgnoreFile;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdub3JlLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpZ25vcmUtZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlDQUE4QjtBQUU5QixxQ0FBaUQ7QUFFakQsTUFBYSxVQUFXLFNBQVEsV0FBSTtJQUlsQyxZQUFZLEtBQWdCLEVBQUUsUUFBZ0I7UUFDNUMsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUpSLGFBQVEsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBQy9CLGFBQVEsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO0lBSWhELENBQUM7SUFFTSxPQUFPLENBQUMsR0FBRyxRQUFrQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxPQUFPLENBQUMsR0FBRyxRQUFrQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFjLElBQUk7UUFDaEIsT0FBTztZQUNMLEtBQUssOEJBQXFCLEVBQUU7WUFDNUIsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUVoQixnQ0FBZ0M7WUFDaEMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDbkMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0Y7QUF6QkQsZ0NBeUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEdFTkVSQVRJT05fRElTQ0xBSU1FUiB9IGZyb20gJy4vY29tbW9uJztcblxuZXhwb3J0IGNsYXNzIElnbm9yZUZpbGUgZXh0ZW5kcyBGaWxlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBleGNsdWRlcyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5jbHVkZXMgPSBuZXcgQXJyYXk8c3RyaW5nPigpO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGZpbGVQYXRoOiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgZmlsZVBhdGgpO1xuICB9XG5cbiAgcHVibGljIGV4Y2x1ZGUoLi4ucGF0dGVybnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5leGNsdWRlcy5wdXNoKC4uLnBhdHRlcm5zKTtcbiAgfVxuXG4gIHB1YmxpYyBpbmNsdWRlKC4uLnBhdHRlcm5zOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuaW5jbHVkZXMucHVzaCguLi5wYXR0ZXJucyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGRhdGEoKTogdW5rbm93biB7XG4gICAgcmV0dXJuIFtcbiAgICAgIGAjICR7R0VORVJBVElPTl9ESVNDTEFJTUVSfWAsXG4gICAgICAuLi50aGlzLmV4Y2x1ZGVzLFxuXG4gICAgICAvLyBpbmNsdWRlcyBtdXN0IGZvbGxvdyBpbmNsdWRlc1xuICAgICAgLi4udGhpcy5pbmNsdWRlcy5tYXAoeCA9PiBgISR7eH1gKSxcbiAgICBdLmpvaW4oJ1xcbicpO1xuICB9XG59Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdub3JlLWZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpZ25vcmUtZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlDQUFrQztBQUVsQyxxQ0FBaUQ7QUFFakQsTUFBYSxVQUFXLFNBQVEsZUFBUTtJQUl0QyxZQUFZLEtBQWdCLEVBQUUsUUFBZ0I7UUFDNUMsS0FBSyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztRQUpSLGFBQVEsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO1FBQy9CLGFBQVEsR0FBRyxJQUFJLEtBQUssRUFBVSxDQUFDO0lBSWhELENBQUM7SUFFTSxPQUFPLENBQUMsR0FBRyxRQUFrQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFTSxPQUFPLENBQUMsR0FBRyxRQUFrQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFjLElBQUk7UUFDaEIsT0FBTztZQUNMLEtBQUssOEJBQXFCLEVBQUU7WUFDNUIsR0FBRyxJQUFJLENBQUMsUUFBUTtZQUVoQixnQ0FBZ0M7WUFDaEMsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7U0FDbkMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDZixDQUFDO0NBQ0Y7QUF6QkQsZ0NBeUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmlsZUJhc2UgfSBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBHRU5FUkFUSU9OX0RJU0NMQUlNRVIgfSBmcm9tICcuL2NvbW1vbic7XG5cbmV4cG9ydCBjbGFzcyBJZ25vcmVGaWxlIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGV4Y2x1ZGVzID0gbmV3IEFycmF5PHN0cmluZz4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpbmNsdWRlcyA9IG5ldyBBcnJheTxzdHJpbmc+KCk7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgZmlsZVBhdGg6IHN0cmluZykge1xuICAgIHN1cGVyKHNjb3BlLCBmaWxlUGF0aCk7XG4gIH1cblxuICBwdWJsaWMgZXhjbHVkZSguLi5wYXR0ZXJuczogc3RyaW5nW10pIHtcbiAgICB0aGlzLmV4Y2x1ZGVzLnB1c2goLi4ucGF0dGVybnMpO1xuICB9XG5cbiAgcHVibGljIGluY2x1ZGUoLi4ucGF0dGVybnM6IHN0cmluZ1tdKSB7XG4gICAgdGhpcy5pbmNsdWRlcy5wdXNoKC4uLnBhdHRlcm5zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGF0YSgpOiB1bmtub3duIHtcbiAgICByZXR1cm4gW1xuICAgICAgYCMgJHtHRU5FUkFUSU9OX0RJU0NMQUlNRVJ9YCxcbiAgICAgIC4uLnRoaXMuZXhjbHVkZXMsXG5cbiAgICAgIC8vIGluY2x1ZGVzIG11c3QgZm9sbG93IGluY2x1ZGVzXG4gICAgICAuLi50aGlzLmluY2x1ZGVzLm1hcCh4ID0+IGAhJHt4fWApLFxuICAgIF0uam9pbignXFxuJyk7XG4gIH1cbn0iXX0=

@@ -1,9 +0,11 @@

/**
* Hello class.
*/
export declare class Hello {
/**
* Hey there!
*/
world(): string;
}
export * from './file';
export * from './github-workflow';
export * from './ignore-file';
export * from './jsii-project';
export * from './json';
export * from './license';
export * from './node-project';
export * from './project';
export * from './semver';
export * from './bump';
export * from './eslint';
"use strict";
function __export(m) {
for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
}
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Hello class.
*/
class Hello {
/**
* Hey there!
*/
world() {
return 'Hello, world!';
}
}
exports.Hello = Hello;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBOztHQUVHO0FBQ0gsTUFBYSxLQUFLO0lBQ2hCOztPQUVHO0lBQ0ksS0FBSztRQUNWLE9BQU8sZUFBZSxDQUFDO0lBQ3pCLENBQUM7Q0FDRjtBQVBELHNCQU9DIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIZWxsbyBjbGFzcy5cbiAqL1xuZXhwb3J0IGNsYXNzIEhlbGxvIHtcbiAgLyoqXG4gICAqIEhleSB0aGVyZSFcbiAgICovXG4gIHB1YmxpYyB3b3JsZCgpIHtcbiAgICByZXR1cm4gJ0hlbGxvLCB3b3JsZCEnO1xuICB9XG59XG4iXX0=
__export(require("./file"));
__export(require("./github-workflow"));
__export(require("./ignore-file"));
__export(require("./jsii-project"));
__export(require("./json"));
__export(require("./license"));
__export(require("./node-project"));
__export(require("./project"));
__export(require("./semver"));
__export(require("./bump"));
__export(require("./eslint"));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLDRCQUF1QjtBQUN2Qix1Q0FBa0M7QUFDbEMsbUNBQThCO0FBQzlCLG9DQUErQjtBQUMvQiw0QkFBdUI7QUFDdkIsK0JBQTBCO0FBQzFCLG9DQUErQjtBQUMvQiwrQkFBMEI7QUFDMUIsOEJBQXlCO0FBQ3pCLDRCQUF1QjtBQUN2Qiw4QkFBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9naXRodWItd29ya2Zsb3cnO1xuZXhwb3J0ICogZnJvbSAnLi9pZ25vcmUtZmlsZSc7XG5leHBvcnQgKiBmcm9tICcuL2pzaWktcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL2pzb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWNlbnNlJztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZS1wcm9qZWN0JztcbmV4cG9ydCAqIGZyb20gJy4vcHJvamVjdCc7XG5leHBvcnQgKiBmcm9tICcuL3NlbXZlcic7XG5leHBvcnQgKiBmcm9tICcuL2J1bXAnO1xuZXhwb3J0ICogZnJvbSAnLi9lc2xpbnQnO1xuIl19

@@ -34,3 +34,3 @@ import { NodeProject, CommonOptions } from './node-project';

export interface JsiiJavaTarget {
readonly package: string;
readonly javaPackage: string;
readonly mavenGroupId: string;

@@ -44,3 +44,3 @@ readonly mavenArtifactId: string;

export interface JsiiDotNetTarget {
readonly namespace: string;
readonly dotNetNamespace: string;
readonly packageId: string;

@@ -47,0 +47,0 @@ }

@@ -18,3 +18,3 @@ "use strict";

super(options);
this.setFields({ types: 'lib/index.d.ts' });
this.addFields({ types: 'lib/index.d.ts' });
this.addScripts({

@@ -28,8 +28,8 @@ compile: 'jsii',

});
this.setFields({ stability: (_a = options.stability) !== null && _a !== void 0 ? _a : Stability.STABLE });
this.addFields({ stability: (_a = options.stability) !== null && _a !== void 0 ? _a : Stability.STABLE });
if (options.stability === Stability.DEPRECATED) {
this.setFields({ deprecated: true });
this.addFields({ deprecated: true });
}
const targets = {};
this.setFields({
this.addFields({
jsii: {

@@ -44,3 +44,3 @@ outdir: 'dist',

targets.java = {
package: options.java.package,
package: options.java.javaPackage,
maven: {

@@ -62,3 +62,3 @@ groupId: options.java.mavenGroupId,

targets.dotnet = {
namespace: options.dotnet.namespace,
namespace: options.dotnet.dotNetNamespace,
packageId: options.dotnet.packageId,

@@ -260,2 +260,2 @@ };

exports.JsiiBuildWorkflow = JsiiBuildWorkflow;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsianNpaS1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQTREO0FBQzVELHFDQUFrQztBQUNsQyxxQ0FBa0M7QUFDbEMsdURBQW1EO0FBRW5ELGlDQUFvQztBQThCcEMsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLDBDQUE2QixDQUFBO0lBQzdCLDhCQUFpQixDQUFBO0lBQ2pCLHNDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUlwQjtBQWtCRCxNQUFhLFdBQVksU0FBUSwwQkFBVztJQUMxQyxZQUFZLE9BQTJCOztRQUNyQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2QsT0FBTyxFQUFFLE1BQU07WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxpRUFBaUU7WUFDekUsT0FBTyxFQUFFLGFBQWE7WUFDdEIsS0FBSyxFQUFFLCtDQUErQztTQUN2RCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxRQUFFLE9BQU8sQ0FBQyxTQUFTLG1DQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXJFLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsVUFBVSxFQUFFO1lBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sT0FBTyxHQUF3QixFQUFHLENBQUM7UUFFekMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRTtnQkFD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QkFBcUIsRUFBRTtvQkFDL0IsRUFBRSxHQUFHLEVBQUUsZ0NBQWdDLEVBQUU7b0JBQ3pDLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRTtpQkFDdEI7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBCRCw4Q0FvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlUHJvamVjdCwgQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vbm9kZS1wcm9qZWN0JztcbmltcG9ydCB7IFNlbXZlciB9IGZyb20gJy4vc2VtdmVyJztcbmltcG9ydCB7IEVzbGludCB9IGZyb20gJy4vZXNsaW50JztcbmltcG9ydCB7IEdpdGh1YldvcmtmbG93IH0gZnJvbSAnLi9naXRodWItd29ya2Zsb3cnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBCdW1wU2NyaXB0IH0gZnJvbSAnLi9idW1wJztcblxuZXhwb3J0IGludGVyZmFjZSBKc2lpUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IFwiLlwiXG4gICAqL1xuICByZWFkb25seSByb290ZGlyPzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlcG9zaXRvcnk6IHN0cmluZztcbiAgcmVhZG9ubHkgYXV0aG9yTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBhdXRob3JFbWFpbDogc3RyaW5nO1xuICByZWFkb25seSBsaWNlbnNlPzogc3RyaW5nO1xuICByZWFkb25seSBzdGFiaWxpdHk/OiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgamF2YT86IEpzaWlKYXZhVGFyZ2V0O1xuICByZWFkb25seSBweXRob24/OiBKc2lpUHl0aG9uVGFyZ2V0O1xuICByZWFkb25seSBkb3RuZXQ/OiBKc2lpRG90TmV0VGFyZ2V0O1xuXG4gIHJlYWRvbmx5IGpzaWlWZXJzaW9uOiBTZW12ZXI7XG5cbiAgLyoqXG4gICAqIEluc3RhbGwgZXNsaW50LlxuICAgKiBcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXNsaW50PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gU3RhYmlsaXR5IHtcbiAgRVhQRVJJTUVOVEFMID0gJ2V4cGVyaW1lbnRhbCcsXG4gIFNUQUJMRSA9ICdzdGFibGUnLFxuICBERVBSRUNBVEVEID0gJ2RlcHJlY2F0ZWQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaUphdmFUYXJnZXQge1xuICByZWFkb25seSBwYWNrYWdlOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1hdmVuR3JvdXBJZDogc3RyaW5nO1xuICByZWFkb25seSBtYXZlbkFydGlmYWN0SWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKc2lpUHl0aG9uVGFyZ2V0IHtcbiAgcmVhZG9ubHkgZGlzdE5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbW9kdWxlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaURvdE5ldFRhcmdldCB7XG4gIHJlYWRvbmx5IG5hbWVzcGFjZTogc3RyaW5nO1xuICByZWFkb25seSBwYWNrYWdlSWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIEpzaWlQcm9qZWN0IGV4dGVuZHMgTm9kZVByb2plY3Qge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBKc2lpUHJvamVjdE9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcblxuICAgIHRoaXMuc2V0RmllbGRzKHsgdHlwZXM6ICdsaWIvaW5kZXguZC50cycgfSk7XG5cbiAgICB0aGlzLmFkZFNjcmlwdHMoe1xuICAgICAgY29tcGlsZTogJ2pzaWknLFxuICAgICAgd2F0Y2g6ICdqc2lpIC13JyxcbiAgICAgIHRlc3Q6ICdlY2hvIG9rJyxcbiAgICAgIGNvbXBhdDogJ25weCBqc2lpLWRpZmYgbnBtOiQobm9kZSAtcCBcInJlcXVpcmUoXFwnLi9wYWNrYWdlLmpzb25cXCcpLm5hbWVcIiknLFxuICAgICAgcGFja2FnZTogJ2pzaWktcGFjbWFrJyxcbiAgICAgIGJ1aWxkOiAneWFybiBjb21waWxlICYmIHlhcm4gdGVzdCAmJiB5YXJuIHJ1biBwYWNrYWdlJyxcbiAgICB9KTtcblxuICAgIHRoaXMuc2V0RmllbGRzKHsgc3RhYmlsaXR5OiBvcHRpb25zLnN0YWJpbGl0eSA/PyBTdGFiaWxpdHkuU1RBQkxFIH0pO1xuXG4gICAgaWYgKG9wdGlvbnMuc3RhYmlsaXR5ID09PSBTdGFiaWxpdHkuREVQUkVDQVRFRCkge1xuICAgICAgdGhpcy5zZXRGaWVsZHMoeyBkZXByZWNhdGVkOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHRhcmdldHM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7IH07XG5cbiAgICB0aGlzLnNldEZpZWxkcyh7XG4gICAgICBqc2lpOiB7XG4gICAgICAgIG91dGRpcjogJ2Rpc3QnLFxuICAgICAgICB0YXJnZXRzLFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IHJlbGVhc2VXb3JrZmxvdyA9IG5ldyBKc2lpUmVsZWFzZVdvcmtmbG93KHRoaXMpO1xuXG4gICAgcmVsZWFzZVdvcmtmbG93LnB1Ymxpc2hUb05wbSgpO1xuXG4gICAgaWYgKG9wdGlvbnMuamF2YSkge1xuICAgICAgdGFyZ2V0cy5qYXZhID0ge1xuICAgICAgICBwYWNrYWdlOiBvcHRpb25zLmphdmEucGFja2FnZSxcbiAgICAgICAgbWF2ZW46IHtcbiAgICAgICAgICBncm91cElkOiBvcHRpb25zLmphdmEubWF2ZW5Hcm91cElkLFxuICAgICAgICAgIGFydGlmYWN0SWQ6IG9wdGlvbnMuamF2YS5tYXZlbkFydGlmYWN0SWQsXG4gICAgICAgIH0sXG4gICAgICB9O1xuXG4gICAgICByZWxlYXNlV29ya2Zsb3cucHVibGlzaFRvTWF2ZW4oKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5weXRob24pIHtcbiAgICAgIHRhcmdldHMucHl0aG9uID0ge1xuICAgICAgICBkaXN0TmFtZTogb3B0aW9ucy5weXRob24uZGlzdE5hbWUsXG4gICAgICAgIG1vZHVsZTogb3B0aW9ucy5weXRob24ubW9kdWxlLFxuICAgICAgfTtcblxuICAgICAgcmVsZWFzZVdvcmtmbG93LnB1Ymxpc2hUb1B5UGkoKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5kb3RuZXQpIHtcbiAgICAgIHRhcmdldHMuZG90bmV0ID0ge1xuICAgICAgICBuYW1lc3BhY2U6IG9wdGlvbnMuZG90bmV0Lm5hbWVzcGFjZSxcbiAgICAgICAgcGFja2FnZUlkOiBvcHRpb25zLmRvdG5ldC5wYWNrYWdlSWQsXG4gICAgICB9O1xuXG4gICAgICByZWxlYXNlV29ya2Zsb3cucHVibGlzaFRvTnVnZXQoKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZERldkRlcGVuZGVuY2llcyh7XG4gICAgICAnanNpaSc6IG9wdGlvbnMuanNpaVZlcnNpb24sXG4gICAgICAnanNpaS1kaWZmJzogb3B0aW9ucy5qc2lpVmVyc2lvbixcbiAgICAgICdqc2lpLXBhY21hayc6IG9wdGlvbnMuanNpaVZlcnNpb24sXG4gICAgICAnanNpaS1yZWxlYXNlJzogU2VtdmVyLmNhcmV0KCcwLjEuNScpLFxuICAgICAgJ0B0eXBlcy9ub2RlJzogU2VtdmVyLmNhcmV0KCcxMy4xMy41JyksXG4gICAgfSk7XG5cbiAgICBjb25zdCBlc2xpbnQgPSBvcHRpb25zLmVzbGludCA/PyB0cnVlO1xuICAgIGlmIChlc2xpbnQpIHtcbiAgICAgIG5ldyBFc2xpbnQodGhpcywgeyBwcm9qZWN0OiB0aGlzIH0pO1xuICAgIH1cblxuICAgIHRoaXMuZ2l0aWdub3JlLmV4Y2x1ZGUoXG4gICAgICAnZGlzdCcsXG4gICAgICAndHNjb25maWcuanNvbicsXG4gICAgICAnLmpzaWknLFxuICAgICAgJyouZC50cycsXG4gICAgICAnKi5qcycsXG4gICAgKTtcblxuICAgIC8vIGV4Y2x1ZGUgdHlwZXNjcmlwdCBzb3VyY2UgYW5kIGNvbmZpZ1xuICAgIHRoaXMubnBtaWdub3JlLmV4Y2x1ZGUoJyoudHMnLCAndHNjb25maWcuanNvbicpO1xuXG4gICAgLy8gaW5jbHVkZSBqYXZhc2NyaXB0IGZpbGVzIGFuZCB0eXBlc2NyaXB0IGRlY2xhcmF0aW9uc1xuICAgIHRoaXMubnBtaWdub3JlLmluY2x1ZGUoJyouanMnKTtcbiAgICB0aGlzLm5wbWlnbm9yZS5pbmNsdWRlKCcqLmQudHMnKTtcblxuICAgIC8vIGV4Y2x1ZGUganNpaSBvdXRkaXJcbiAgICB0aGlzLm5wbWlnbm9yZS5leGNsdWRlKCdkaXN0Jyk7XG4gICAgXG4gICAgLy8gaW5jbHVkZSAuanNpaSBtYW5pZmVzdFxuICAgIHRoaXMubnBtaWdub3JlLmluY2x1ZGUoJy5qc2lpJyk7XG5cbiAgICBuZXcgSnNpaUJ1aWxkV29ya2Zsb3codGhpcyk7XG4gICAgbmV3IEJ1bXBTY3JpcHQodGhpcyk7XG4gIH1cbn1cblxuXG5jbGFzcyBKc2lpUmVsZWFzZVdvcmtmbG93IGV4dGVuZHMgR2l0aHViV29ya2Zsb3cge1xuICBwcml2YXRlIHJlYWRvbmx5IGJ1aWxkSm9iSWQgPSAnYnVpbGRfYXJ0aWZhY3QnO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICBzdXBlcihzY29wZSwgJ3JlbGVhc2UnLCB7IG5hbWU6ICdSZWxlYXNlJyB9KTtcblxuICAgIHRoaXMub24oeyBwdXNoOiB7IGJyYW5jaGVzOiBbICdtYXN0ZXInIF0gfSB9KTtcblxuICAgIHRoaXMuYWRkSm9icyh7IFxuICAgICAgW3RoaXMuYnVpbGRKb2JJZF06IHtcbiAgICAgICAgJ25hbWUnOiAnQnVpbGQgYW5kIHVwbG9hZCBhcnRpZmFjdCcsXG4gICAgICAgICdydW5zLW9uJzogJ3VidW50dS1sYXRlc3QnLFxuICAgICAgICAnY29udGFpbmVyJzoge1xuICAgICAgICAgIGltYWdlOiAnanNpaS9zdXBlcmNoYWluJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ3N0ZXBzJzogW1xuICAgICAgICAgIHsgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjInIH0sXG4gICAgICAgICAgeyBydW46ICd5YXJuIGluc3RhbGwgLS1mcm96ZW4tbG9ja2ZpbGUnIH0sXG4gICAgICAgICAgeyBydW46ICd5YXJuIGJ1aWxkJyB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdVcGxvYWQgYXJ0aWZhY3QnLFxuICAgICAgICAgICAgdXNlczogJ2FjdGlvbnMvdXBsb2FkLWFydGlmYWN0QHYxJyxcbiAgICAgICAgICAgIHdpdGg6IHtcbiAgICAgICAgICAgICAgbmFtZTogJ2Rpc3QnLFxuICAgICAgICAgICAgICBwYXRoOiAnZGlzdCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LCBcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwdWJsaXNoVG9OcG0oKSB7XG4gICAgdGhpcy5hZGRKb2JzKHtcbiAgICAgIHJlbGVhc2VfbnBtOiB7XG4gICAgICAgICduYW1lJzogJ1JlbGVhc2UgdG8gTlBNJyxcbiAgICAgICAgJ25lZWRzJzogdGhpcy5idWlsZEpvYklkLFxuICAgICAgICAncnVucy1vbic6ICd1YnVudHUtbGF0ZXN0JyxcbiAgICAgICAgJ2NvbnRhaW5lcic6IHtcbiAgICAgICAgICAnaW1hZ2UnOiAnanNpaS9zdXBlcmNoYWluJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ3N0ZXBzJzogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgICduYW1lJzogJ0Rvd25sb2FkIGJ1aWxkIGFydGlmYWN0cycsXG4gICAgICAgICAgICAndXNlcyc6ICdhY3Rpb25zL2Rvd25sb2FkLWFydGlmYWN0QHYxJyxcbiAgICAgICAgICAgICd3aXRoJzoge1xuICAgICAgICAgICAgICAnbmFtZSc6ICdkaXN0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAnbmFtZSc6ICdSZWxlYXNlJyxcbiAgICAgICAgICAgICdydW4nOiAnbnB4IC1wIGpzaWktcmVsZWFzZSBqc2lpLXJlbGVhc2UtbnBtJyxcbiAgICAgICAgICAgICdlbnYnOiB7XG4gICAgICAgICAgICAgICdOUE1fVE9LRU4nOiAnJHt7IHNlY3JldHMuTlBNX1RPS0VOIH19JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcHVibGlzaFRvTnVnZXQoKSB7XG4gICAgdGhpcy5hZGRKb2JzKHtcbiAgICAgIHJlbGVhc2VfbnVnZXQ6IHtcbiAgICAgICAgJ25hbWUnOiAnUmVsZWFzZSB0byBOdWdldCcsXG4gICAgICAgICduZWVkcyc6IHRoaXMuYnVpbGRKb2JJZCxcbiAgICAgICAgJ3J1bnMtb24nOiAndWJ1bnR1LWxhdGVzdCcsXG4gICAgICAgICdjb250YWluZXInOiB7XG4gICAgICAgICAgJ2ltYWdlJzogJ2pzaWkvc3VwZXJjaGFpbicsXG4gICAgICAgIH0sXG4gICAgICAgICdzdGVwcyc6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICAnbmFtZSc6ICdEb3dubG9hZCBidWlsZCBhcnRpZmFjdHMnLFxuICAgICAgICAgICAgJ3VzZXMnOiAnYWN0aW9ucy9kb3dubG9hZC1hcnRpZmFjdEB2MScsXG4gICAgICAgICAgICAnd2l0aCc6IHtcbiAgICAgICAgICAgICAgJ25hbWUnOiAnZGlzdCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgJ25hbWUnOiAnUmVsZWFzZScsXG4gICAgICAgICAgICAncnVuJzogJ25weCAtcCBqc2lpLXJlbGVhc2UganNpaS1yZWxlYXNlLW51Z2V0JyxcbiAgICAgICAgICAgICdlbnYnOiB7XG4gICAgICAgICAgICAgICdOVUdFVF9BUElfS0VZJzogJyR7eyBzZWNyZXRzLk5VR0VUX0FQSV9LRVkgfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwdWJsaXNoVG9NYXZlbigpIHtcbiAgICB0aGlzLmFkZEpvYnMoeyBcbiAgICAgIHJlbGVhc2VfbWF2ZW46IHtcbiAgICAgICAgJ25hbWUnOiAnUmVsZWFzZSB0byBNYXZlbicsXG4gICAgICAgICduZWVkcyc6IHRoaXMuYnVpbGRKb2JJZCxcbiAgICAgICAgJ3J1bnMtb24nOiAndWJ1bnR1LWxhdGVzdCcsXG4gICAgICAgICdjb250YWluZXInOiB7XG4gICAgICAgICAgJ2ltYWdlJzogJ2pzaWkvc3VwZXJjaGFpbicsXG4gICAgICAgIH0sXG4gICAgICAgICdzdGVwcyc6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICAnbmFtZSc6ICdEb3dubG9hZCBidWlsZCBhcnRpZmFjdHMnLFxuICAgICAgICAgICAgJ3VzZXMnOiAnYWN0aW9ucy9kb3dubG9hZC1hcnRpZmFjdEB2MScsXG4gICAgICAgICAgICAnd2l0aCc6IHtcbiAgICAgICAgICAgICAgJ25hbWUnOiAnZGlzdCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgJ25hbWUnOiAnUmVsZWFzZScsXG4gICAgICAgICAgICAncnVuJzogJ25weCAtcCBqc2lpLXJlbGVhc2UganNpaS1yZWxlYXNlLW1hdmVuJyxcbiAgICAgICAgICAgICdlbnYnOiB7XG4gICAgICAgICAgICAgICdNQVZFTl9HUEdfUFJJVkFURV9LRVknOiAnJHt7IHNlY3JldHMuTUFWRU5fR1BHX1BSSVZBVEVfS0VZIH19JyxcbiAgICAgICAgICAgICAgJ01BVkVOX0dQR19QUklWQVRFX0tFWV9QQVNTUEhSQVNFJzogJyR7eyBzZWNyZXRzLk1BVkVOX0dQR19QUklWQVRFX0tFWV9QQVNTUEhSQVNFIH19JyxcbiAgICAgICAgICAgICAgJ01BVkVOX1BBU1NXT1JEJzogJyR7eyBzZWNyZXRzLk1BVkVOX1BBU1NXT1JEIH19JyxcbiAgICAgICAgICAgICAgJ01BVkVOX1VTRVJOQU1FJzogJyR7eyBzZWNyZXRzLk1BVkVOX1VTRVJOQU1FIH19JyxcbiAgICAgICAgICAgICAgJ01BVkVOX1NUQUdJTkdfUFJPRklMRV9JRCc6ICcke3sgc2VjcmV0cy5NQVZFTl9TVEFHSU5HX1BST0ZJTEVfSUQgfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwdWJsaXNoVG9QeVBpKCkge1xuICAgIHRoaXMuYWRkSm9icyh7XG4gICAgICByZWxlYXNlX3B5cGk6IHtcbiAgICAgICAgJ25hbWUnOiAnUmVsZWFzZSB0byBQeVBpJyxcbiAgICAgICAgJ25lZWRzJzogdGhpcy5idWlsZEpvYklkLFxuICAgICAgICAncnVucy1vbic6ICd1YnVudHUtbGF0ZXN0JyxcbiAgICAgICAgJ2NvbnRhaW5lcic6IHtcbiAgICAgICAgICAnaW1hZ2UnOiAnanNpaS9zdXBlcmNoYWluJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ3N0ZXBzJzogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgICduYW1lJzogJ0Rvd25sb2FkIGJ1aWxkIGFydGlmYWN0cycsXG4gICAgICAgICAgICAndXNlcyc6ICdhY3Rpb25zL2Rvd25sb2FkLWFydGlmYWN0QHYxJyxcbiAgICAgICAgICAgICd3aXRoJzoge1xuICAgICAgICAgICAgICAnbmFtZSc6ICdkaXN0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAnbmFtZSc6ICdSZWxlYXNlJyxcbiAgICAgICAgICAgICdydW4nOiAnbnB4IC1wIGpzaWktcmVsZWFzZSBqc2lpLXJlbGVhc2UtcHlwaScsXG4gICAgICAgICAgICAnZW52Jzoge1xuICAgICAgICAgICAgICAnVFdJTkVfVVNFUk5BTUUnOiAnJHt7IHNlY3JldHMuVFdJTkVfVVNFUk5BTUUgfX0nLFxuICAgICAgICAgICAgICAnVFdJTkVfUEFTU1dPUkQnOiAnJHt7IHNlY3JldHMuVFdJTkVfUEFTU1dPUkQgfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSnNpaUJ1aWxkV29ya2Zsb3cgZXh0ZW5kcyBHaXRodWJXb3JrZmxvdyB7XG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QpIHtcbiAgICBzdXBlcihzY29wZSwgJ2J1aWxkJywgeyBuYW1lOiAnQnVpbGQnIH0pO1xuXG4gICAgdGhpcy5vbih7IHB1bGxfcmVxdWVzdDogeyB9IH0pO1xuXG4gICAgdGhpcy5hZGRKb2JzKHtcbiAgICAgIGJ1aWxkOiB7XG4gICAgICAgICdydW5zLW9uJzogJ3VidW50dS1sYXRlc3QnLFxuICAgICAgICBjb250YWluZXI6IHtcbiAgICAgICAgICBpbWFnZTogJ2pzaWkvc3VwZXJjaGFpbicsXG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXBzOiBbXG4gICAgICAgICAgeyB1c2VzOiAnYWN0aW9ucy9jaGVja291dEB2MicgfSxcbiAgICAgICAgICB7IHJ1bjogJ3lhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZScgfSxcbiAgICAgICAgICB7IHJ1bjogJ3lhcm4gYnVpbGQnIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNpaS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsianNpaS1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaURBQTREO0FBQzVELHFDQUFrQztBQUNsQyxxQ0FBa0M7QUFDbEMsdURBQW1EO0FBRW5ELGlDQUFvQztBQThCcEMsSUFBWSxTQUlYO0FBSkQsV0FBWSxTQUFTO0lBQ25CLDBDQUE2QixDQUFBO0lBQzdCLDhCQUFpQixDQUFBO0lBQ2pCLHNDQUF5QixDQUFBO0FBQzNCLENBQUMsRUFKVyxTQUFTLEdBQVQsaUJBQVMsS0FBVCxpQkFBUyxRQUlwQjtBQWtCRCxNQUFhLFdBQVksU0FBUSwwQkFBVztJQUMxQyxZQUFZLE9BQTJCOztRQUNyQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUU1QyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ2QsT0FBTyxFQUFFLE1BQU07WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixJQUFJLEVBQUUsU0FBUztZQUNmLE1BQU0sRUFBRSxpRUFBaUU7WUFDekUsT0FBTyxFQUFFLGFBQWE7WUFDdEIsS0FBSyxFQUFFLCtDQUErQztTQUN2RCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsU0FBUyxRQUFFLE9BQU8sQ0FBQyxTQUFTLG1DQUFJLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBRXJFLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxTQUFTLENBQUMsVUFBVSxFQUFFO1lBQzlDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN0QztRQUVELE1BQU0sT0FBTyxHQUF3QixFQUFHLENBQUM7UUFFekMsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLElBQUksRUFBRTtnQkFD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QkFBcUIsRUFBRTtvQkFDL0IsRUFBRSxHQUFHLEVBQUUsZ0NBQWdDLEVBQUU7b0JBQ3pDLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRTtpQkFDdEI7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7Q0FDRjtBQXBCRCw4Q0FvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlUHJvamVjdCwgQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vbm9kZS1wcm9qZWN0JztcbmltcG9ydCB7IFNlbXZlciB9IGZyb20gJy4vc2VtdmVyJztcbmltcG9ydCB7IEVzbGludCB9IGZyb20gJy4vZXNsaW50JztcbmltcG9ydCB7IEdpdGh1YldvcmtmbG93IH0gZnJvbSAnLi9naXRodWItd29ya2Zsb3cnO1xuaW1wb3J0IHsgQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgeyBCdW1wU2NyaXB0IH0gZnJvbSAnLi9idW1wJztcblxuZXhwb3J0IGludGVyZmFjZSBKc2lpUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIEBkZWZhdWx0IFwiLlwiXG4gICAqL1xuICByZWFkb25seSByb290ZGlyPzogc3RyaW5nO1xuXG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlcG9zaXRvcnk6IHN0cmluZztcbiAgcmVhZG9ubHkgYXV0aG9yTmFtZTogc3RyaW5nO1xuICByZWFkb25seSBhdXRob3JFbWFpbDogc3RyaW5nO1xuICByZWFkb25seSBsaWNlbnNlPzogc3RyaW5nO1xuICByZWFkb25seSBzdGFiaWxpdHk/OiBzdHJpbmc7XG5cbiAgcmVhZG9ubHkgamF2YT86IEpzaWlKYXZhVGFyZ2V0O1xuICByZWFkb25seSBweXRob24/OiBKc2lpUHl0aG9uVGFyZ2V0O1xuICByZWFkb25seSBkb3RuZXQ/OiBKc2lpRG90TmV0VGFyZ2V0O1xuXG4gIHJlYWRvbmx5IGpzaWlWZXJzaW9uOiBTZW12ZXI7XG5cbiAgLyoqXG4gICAqIEluc3RhbGwgZXNsaW50LlxuICAgKiBcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXNsaW50PzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gU3RhYmlsaXR5IHtcbiAgRVhQRVJJTUVOVEFMID0gJ2V4cGVyaW1lbnRhbCcsXG4gIFNUQUJMRSA9ICdzdGFibGUnLFxuICBERVBSRUNBVEVEID0gJ2RlcHJlY2F0ZWQnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaUphdmFUYXJnZXQge1xuICByZWFkb25seSBqYXZhUGFja2FnZTogc3RyaW5nO1xuICByZWFkb25seSBtYXZlbkdyb3VwSWQ6IHN0cmluZztcbiAgcmVhZG9ubHkgbWF2ZW5BcnRpZmFjdElkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnNpaVB5dGhvblRhcmdldCB7XG4gIHJlYWRvbmx5IGRpc3ROYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IG1vZHVsZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpzaWlEb3ROZXRUYXJnZXQge1xuICByZWFkb25seSBkb3ROZXROYW1lc3BhY2U6IHN0cmluZztcbiAgcmVhZG9ubHkgcGFja2FnZUlkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBKc2lpUHJvamVjdCBleHRlbmRzIE5vZGVQcm9qZWN0IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogSnNpaVByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLmFkZEZpZWxkcyh7IHR5cGVzOiAnbGliL2luZGV4LmQudHMnIH0pO1xuXG4gICAgdGhpcy5hZGRTY3JpcHRzKHtcbiAgICAgIGNvbXBpbGU6ICdqc2lpJyxcbiAgICAgIHdhdGNoOiAnanNpaSAtdycsXG4gICAgICB0ZXN0OiAnZWNobyBvaycsXG4gICAgICBjb21wYXQ6ICducHgganNpaS1kaWZmIG5wbTokKG5vZGUgLXAgXCJyZXF1aXJlKFxcJy4vcGFja2FnZS5qc29uXFwnKS5uYW1lXCIpJyxcbiAgICAgIHBhY2thZ2U6ICdqc2lpLXBhY21haycsXG4gICAgICBidWlsZDogJ3lhcm4gY29tcGlsZSAmJiB5YXJuIHRlc3QgJiYgeWFybiBydW4gcGFja2FnZScsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFkZEZpZWxkcyh7IHN0YWJpbGl0eTogb3B0aW9ucy5zdGFiaWxpdHkgPz8gU3RhYmlsaXR5LlNUQUJMRSB9KTtcblxuICAgIGlmIChvcHRpb25zLnN0YWJpbGl0eSA9PT0gU3RhYmlsaXR5LkRFUFJFQ0FURUQpIHtcbiAgICAgIHRoaXMuYWRkRmllbGRzKHsgZGVwcmVjYXRlZDogdHJ1ZSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXRzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0geyB9O1xuXG4gICAgdGhpcy5hZGRGaWVsZHMoe1xuICAgICAganNpaToge1xuICAgICAgICBvdXRkaXI6ICdkaXN0JyxcbiAgICAgICAgdGFyZ2V0cyxcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICBjb25zdCByZWxlYXNlV29ya2Zsb3cgPSBuZXcgSnNpaVJlbGVhc2VXb3JrZmxvdyh0aGlzKTtcblxuICAgIHJlbGVhc2VXb3JrZmxvdy5wdWJsaXNoVG9OcG0oKTtcblxuICAgIGlmIChvcHRpb25zLmphdmEpIHtcbiAgICAgIHRhcmdldHMuamF2YSA9IHtcbiAgICAgICAgcGFja2FnZTogb3B0aW9ucy5qYXZhLmphdmFQYWNrYWdlLFxuICAgICAgICBtYXZlbjoge1xuICAgICAgICAgIGdyb3VwSWQ6IG9wdGlvbnMuamF2YS5tYXZlbkdyb3VwSWQsXG4gICAgICAgICAgYXJ0aWZhY3RJZDogb3B0aW9ucy5qYXZhLm1hdmVuQXJ0aWZhY3RJZCxcbiAgICAgICAgfSxcbiAgICAgIH07XG5cbiAgICAgIHJlbGVhc2VXb3JrZmxvdy5wdWJsaXNoVG9NYXZlbigpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnB5dGhvbikge1xuICAgICAgdGFyZ2V0cy5weXRob24gPSB7XG4gICAgICAgIGRpc3ROYW1lOiBvcHRpb25zLnB5dGhvbi5kaXN0TmFtZSxcbiAgICAgICAgbW9kdWxlOiBvcHRpb25zLnB5dGhvbi5tb2R1bGUsXG4gICAgICB9O1xuXG4gICAgICByZWxlYXNlV29ya2Zsb3cucHVibGlzaFRvUHlQaSgpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmRvdG5ldCkge1xuICAgICAgdGFyZ2V0cy5kb3RuZXQgPSB7XG4gICAgICAgIG5hbWVzcGFjZTogb3B0aW9ucy5kb3RuZXQuZG90TmV0TmFtZXNwYWNlLFxuICAgICAgICBwYWNrYWdlSWQ6IG9wdGlvbnMuZG90bmV0LnBhY2thZ2VJZCxcbiAgICAgIH07XG5cbiAgICAgIHJlbGVhc2VXb3JrZmxvdy5wdWJsaXNoVG9OdWdldCgpO1xuICAgIH1cblxuICAgIHRoaXMuYWRkRGV2RGVwZW5kZW5jaWVzKHtcbiAgICAgICdqc2lpJzogb3B0aW9ucy5qc2lpVmVyc2lvbixcbiAgICAgICdqc2lpLWRpZmYnOiBvcHRpb25zLmpzaWlWZXJzaW9uLFxuICAgICAgJ2pzaWktcGFjbWFrJzogb3B0aW9ucy5qc2lpVmVyc2lvbixcbiAgICAgICdqc2lpLXJlbGVhc2UnOiBTZW12ZXIuY2FyZXQoJzAuMS41JyksXG4gICAgICAnQHR5cGVzL25vZGUnOiBTZW12ZXIuY2FyZXQoJzEzLjEzLjUnKSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGVzbGludCA9IG9wdGlvbnMuZXNsaW50ID8/IHRydWU7XG4gICAgaWYgKGVzbGludCkge1xuICAgICAgbmV3IEVzbGludCh0aGlzLCB7IHByb2plY3Q6IHRoaXMgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5naXRpZ25vcmUuZXhjbHVkZShcbiAgICAgICdkaXN0JyxcbiAgICAgICd0c2NvbmZpZy5qc29uJyxcbiAgICAgICcuanNpaScsXG4gICAgICAnKi5kLnRzJyxcbiAgICAgICcqLmpzJyxcbiAgICApO1xuXG4gICAgLy8gZXhjbHVkZSB0eXBlc2NyaXB0IHNvdXJjZSBhbmQgY29uZmlnXG4gICAgdGhpcy5ucG1pZ25vcmUuZXhjbHVkZSgnKi50cycsICd0c2NvbmZpZy5qc29uJyk7XG5cbiAgICAvLyBpbmNsdWRlIGphdmFzY3JpcHQgZmlsZXMgYW5kIHR5cGVzY3JpcHQgZGVjbGFyYXRpb25zXG4gICAgdGhpcy5ucG1pZ25vcmUuaW5jbHVkZSgnKi5qcycpO1xuICAgIHRoaXMubnBtaWdub3JlLmluY2x1ZGUoJyouZC50cycpO1xuXG4gICAgLy8gZXhjbHVkZSBqc2lpIG91dGRpclxuICAgIHRoaXMubnBtaWdub3JlLmV4Y2x1ZGUoJ2Rpc3QnKTtcbiAgICBcbiAgICAvLyBpbmNsdWRlIC5qc2lpIG1hbmlmZXN0XG4gICAgdGhpcy5ucG1pZ25vcmUuaW5jbHVkZSgnLmpzaWknKTtcblxuICAgIG5ldyBKc2lpQnVpbGRXb3JrZmxvdyh0aGlzKTtcbiAgICBuZXcgQnVtcFNjcmlwdCh0aGlzKTtcbiAgfVxufVxuXG5cbmNsYXNzIEpzaWlSZWxlYXNlV29ya2Zsb3cgZXh0ZW5kcyBHaXRodWJXb3JrZmxvdyB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYnVpbGRKb2JJZCA9ICdidWlsZF9hcnRpZmFjdCc7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCkge1xuICAgIHN1cGVyKHNjb3BlLCAncmVsZWFzZScsIHsgbmFtZTogJ1JlbGVhc2UnIH0pO1xuXG4gICAgdGhpcy5vbih7IHB1c2g6IHsgYnJhbmNoZXM6IFsgJ21hc3RlcicgXSB9IH0pO1xuXG4gICAgdGhpcy5hZGRKb2JzKHsgXG4gICAgICBbdGhpcy5idWlsZEpvYklkXToge1xuICAgICAgICAnbmFtZSc6ICdCdWlsZCBhbmQgdXBsb2FkIGFydGlmYWN0JyxcbiAgICAgICAgJ3J1bnMtb24nOiAndWJ1bnR1LWxhdGVzdCcsXG4gICAgICAgICdjb250YWluZXInOiB7XG4gICAgICAgICAgaW1hZ2U6ICdqc2lpL3N1cGVyY2hhaW4nLFxuICAgICAgICB9LFxuICAgICAgICAnc3RlcHMnOiBbXG4gICAgICAgICAgeyB1c2VzOiAnYWN0aW9ucy9jaGVja291dEB2MicgfSxcbiAgICAgICAgICB7IHJ1bjogJ3lhcm4gaW5zdGFsbCAtLWZyb3plbi1sb2NrZmlsZScgfSxcbiAgICAgICAgICB7IHJ1bjogJ3lhcm4gYnVpbGQnIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ1VwbG9hZCBhcnRpZmFjdCcsXG4gICAgICAgICAgICB1c2VzOiAnYWN0aW9ucy91cGxvYWQtYXJ0aWZhY3RAdjEnLFxuICAgICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgICBuYW1lOiAnZGlzdCcsXG4gICAgICAgICAgICAgIHBhdGg6ICdkaXN0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sIFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHB1Ymxpc2hUb05wbSgpIHtcbiAgICB0aGlzLmFkZEpvYnMoe1xuICAgICAgcmVsZWFzZV9ucG06IHtcbiAgICAgICAgJ25hbWUnOiAnUmVsZWFzZSB0byBOUE0nLFxuICAgICAgICAnbmVlZHMnOiB0aGlzLmJ1aWxkSm9iSWQsXG4gICAgICAgICdydW5zLW9uJzogJ3VidW50dS1sYXRlc3QnLFxuICAgICAgICAnY29udGFpbmVyJzoge1xuICAgICAgICAgICdpbWFnZSc6ICdqc2lpL3N1cGVyY2hhaW4nLFxuICAgICAgICB9LFxuICAgICAgICAnc3RlcHMnOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgJ25hbWUnOiAnRG93bmxvYWQgYnVpbGQgYXJ0aWZhY3RzJyxcbiAgICAgICAgICAgICd1c2VzJzogJ2FjdGlvbnMvZG93bmxvYWQtYXJ0aWZhY3RAdjEnLFxuICAgICAgICAgICAgJ3dpdGgnOiB7XG4gICAgICAgICAgICAgICduYW1lJzogJ2Rpc3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgICduYW1lJzogJ1JlbGVhc2UnLFxuICAgICAgICAgICAgJ3J1bic6ICducHggLXAganNpaS1yZWxlYXNlIGpzaWktcmVsZWFzZS1ucG0nLFxuICAgICAgICAgICAgJ2Vudic6IHtcbiAgICAgICAgICAgICAgJ05QTV9UT0tFTic6ICcke3sgc2VjcmV0cy5OUE1fVE9LRU4gfX0nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBwdWJsaXNoVG9OdWdldCgpIHtcbiAgICB0aGlzLmFkZEpvYnMoe1xuICAgICAgcmVsZWFzZV9udWdldDoge1xuICAgICAgICAnbmFtZSc6ICdSZWxlYXNlIHRvIE51Z2V0JyxcbiAgICAgICAgJ25lZWRzJzogdGhpcy5idWlsZEpvYklkLFxuICAgICAgICAncnVucy1vbic6ICd1YnVudHUtbGF0ZXN0JyxcbiAgICAgICAgJ2NvbnRhaW5lcic6IHtcbiAgICAgICAgICAnaW1hZ2UnOiAnanNpaS9zdXBlcmNoYWluJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ3N0ZXBzJzogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgICduYW1lJzogJ0Rvd25sb2FkIGJ1aWxkIGFydGlmYWN0cycsXG4gICAgICAgICAgICAndXNlcyc6ICdhY3Rpb25zL2Rvd25sb2FkLWFydGlmYWN0QHYxJyxcbiAgICAgICAgICAgICd3aXRoJzoge1xuICAgICAgICAgICAgICAnbmFtZSc6ICdkaXN0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAnbmFtZSc6ICdSZWxlYXNlJyxcbiAgICAgICAgICAgICdydW4nOiAnbnB4IC1wIGpzaWktcmVsZWFzZSBqc2lpLXJlbGVhc2UtbnVnZXQnLFxuICAgICAgICAgICAgJ2Vudic6IHtcbiAgICAgICAgICAgICAgJ05VR0VUX0FQSV9LRVknOiAnJHt7IHNlY3JldHMuTlVHRVRfQVBJX0tFWSB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHB1Ymxpc2hUb01hdmVuKCkge1xuICAgIHRoaXMuYWRkSm9icyh7IFxuICAgICAgcmVsZWFzZV9tYXZlbjoge1xuICAgICAgICAnbmFtZSc6ICdSZWxlYXNlIHRvIE1hdmVuJyxcbiAgICAgICAgJ25lZWRzJzogdGhpcy5idWlsZEpvYklkLFxuICAgICAgICAncnVucy1vbic6ICd1YnVudHUtbGF0ZXN0JyxcbiAgICAgICAgJ2NvbnRhaW5lcic6IHtcbiAgICAgICAgICAnaW1hZ2UnOiAnanNpaS9zdXBlcmNoYWluJyxcbiAgICAgICAgfSxcbiAgICAgICAgJ3N0ZXBzJzogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgICduYW1lJzogJ0Rvd25sb2FkIGJ1aWxkIGFydGlmYWN0cycsXG4gICAgICAgICAgICAndXNlcyc6ICdhY3Rpb25zL2Rvd25sb2FkLWFydGlmYWN0QHYxJyxcbiAgICAgICAgICAgICd3aXRoJzoge1xuICAgICAgICAgICAgICAnbmFtZSc6ICdkaXN0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAnbmFtZSc6ICdSZWxlYXNlJyxcbiAgICAgICAgICAgICdydW4nOiAnbnB4IC1wIGpzaWktcmVsZWFzZSBqc2lpLXJlbGVhc2UtbWF2ZW4nLFxuICAgICAgICAgICAgJ2Vudic6IHtcbiAgICAgICAgICAgICAgJ01BVkVOX0dQR19QUklWQVRFX0tFWSc6ICcke3sgc2VjcmV0cy5NQVZFTl9HUEdfUFJJVkFURV9LRVkgfX0nLFxuICAgICAgICAgICAgICAnTUFWRU5fR1BHX1BSSVZBVEVfS0VZX1BBU1NQSFJBU0UnOiAnJHt7IHNlY3JldHMuTUFWRU5fR1BHX1BSSVZBVEVfS0VZX1BBU1NQSFJBU0UgfX0nLFxuICAgICAgICAgICAgICAnTUFWRU5fUEFTU1dPUkQnOiAnJHt7IHNlY3JldHMuTUFWRU5fUEFTU1dPUkQgfX0nLFxuICAgICAgICAgICAgICAnTUFWRU5fVVNFUk5BTUUnOiAnJHt7IHNlY3JldHMuTUFWRU5fVVNFUk5BTUUgfX0nLFxuICAgICAgICAgICAgICAnTUFWRU5fU1RBR0lOR19QUk9GSUxFX0lEJzogJyR7eyBzZWNyZXRzLk1BVkVOX1NUQUdJTkdfUFJPRklMRV9JRCB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHB1Ymxpc2hUb1B5UGkoKSB7XG4gICAgdGhpcy5hZGRKb2JzKHtcbiAgICAgIHJlbGVhc2VfcHlwaToge1xuICAgICAgICAnbmFtZSc6ICdSZWxlYXNlIHRvIFB5UGknLFxuICAgICAgICAnbmVlZHMnOiB0aGlzLmJ1aWxkSm9iSWQsXG4gICAgICAgICdydW5zLW9uJzogJ3VidW50dS1sYXRlc3QnLFxuICAgICAgICAnY29udGFpbmVyJzoge1xuICAgICAgICAgICdpbWFnZSc6ICdqc2lpL3N1cGVyY2hhaW4nLFxuICAgICAgICB9LFxuICAgICAgICAnc3RlcHMnOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgJ25hbWUnOiAnRG93bmxvYWQgYnVpbGQgYXJ0aWZhY3RzJyxcbiAgICAgICAgICAgICd1c2VzJzogJ2FjdGlvbnMvZG93bmxvYWQtYXJ0aWZhY3RAdjEnLFxuICAgICAgICAgICAgJ3dpdGgnOiB7XG4gICAgICAgICAgICAgICduYW1lJzogJ2Rpc3QnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgICduYW1lJzogJ1JlbGVhc2UnLFxuICAgICAgICAgICAgJ3J1bic6ICducHggLXAganNpaS1yZWxlYXNlIGpzaWktcmVsZWFzZS1weXBpJyxcbiAgICAgICAgICAgICdlbnYnOiB7XG4gICAgICAgICAgICAgICdUV0lORV9VU0VSTkFNRSc6ICcke3sgc2VjcmV0cy5UV0lORV9VU0VSTkFNRSB9fScsXG4gICAgICAgICAgICAgICdUV0lORV9QQVNTV09SRCc6ICcke3sgc2VjcmV0cy5UV0lORV9QQVNTV09SRCB9fScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBKc2lpQnVpbGRXb3JrZmxvdyBleHRlbmRzIEdpdGh1YldvcmtmbG93IHtcbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCkge1xuICAgIHN1cGVyKHNjb3BlLCAnYnVpbGQnLCB7IG5hbWU6ICdCdWlsZCcgfSk7XG5cbiAgICB0aGlzLm9uKHsgcHVsbF9yZXF1ZXN0OiB7IH0gfSk7XG5cbiAgICB0aGlzLmFkZEpvYnMoe1xuICAgICAgYnVpbGQ6IHtcbiAgICAgICAgJ3J1bnMtb24nOiAndWJ1bnR1LWxhdGVzdCcsXG4gICAgICAgIGNvbnRhaW5lcjoge1xuICAgICAgICAgIGltYWdlOiAnanNpaS9zdXBlcmNoYWluJyxcbiAgICAgICAgfSxcbiAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICB7IHVzZXM6ICdhY3Rpb25zL2NoZWNrb3V0QHYyJyB9LFxuICAgICAgICAgIHsgcnVuOiAneWFybiBpbnN0YWxsIC0tZnJvemVuLWxvY2tmaWxlJyB9LFxuICAgICAgICAgIHsgcnVuOiAneWFybiBidWlsZCcgfSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
import { Construct } from 'constructs';
import { File } from './file';
export declare class JsonFile extends File {
import { FileBase } from './file';
export declare class JsonFile extends FileBase {
private readonly obj;
constructor(scope: Construct, filePath: string, obj: any);
protected get data(): string;
protected get data(): any;
}
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const file_1 = require("./file");
class JsonFile extends file_1.File {
class JsonFile extends file_1.FileBase {
constructor(scope, filePath, obj) {

@@ -14,2 +14,2 @@ super(scope, filePath);

exports.JsonFile = JsonFile;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImpzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxpQ0FBOEI7QUFFOUIsTUFBYSxRQUFTLFNBQVEsV0FBSTtJQUdoQyxZQUFZLEtBQWdCLEVBQUUsUUFBZ0IsRUFBRSxHQUFRO1FBQ3RELEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELElBQWMsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBWEQsNEJBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEZpbGUgfSBmcm9tICcuL2ZpbGUnO1xuXG5leHBvcnQgY2xhc3MgSnNvbkZpbGUgZXh0ZW5kcyBGaWxlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBvYmo6IG9iamVjdDtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBmaWxlUGF0aDogc3RyaW5nLCBvYmo6IGFueSkge1xuICAgIHN1cGVyKHNjb3BlLCBmaWxlUGF0aCk7XG4gICAgdGhpcy5vYmogPSBvYmo7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGRhdGEoKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMub2JqLCB1bmRlZmluZWQsIDIpO1xuICB9XG59Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImpzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxpQ0FBa0M7QUFFbEMsTUFBYSxRQUFTLFNBQVEsZUFBUTtJQUdwQyxZQUFZLEtBQWdCLEVBQUUsUUFBZ0IsRUFBRSxHQUFRO1FBQ3RELEtBQUssQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDakIsQ0FBQztJQUVELElBQWMsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBWEQsNEJBV0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IEZpbGVCYXNlIH0gZnJvbSAnLi9maWxlJztcblxuZXhwb3J0IGNsYXNzIEpzb25GaWxlIGV4dGVuZHMgRmlsZUJhc2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IG9iajogb2JqZWN0O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGZpbGVQYXRoOiBzdHJpbmcsIG9iajogYW55KSB7XG4gICAgc3VwZXIoc2NvcGUsIGZpbGVQYXRoKTtcbiAgICB0aGlzLm9iaiA9IG9iajtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGF0YSgpOiBhbnkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLm9iaiwgdW5kZWZpbmVkLCAyKTtcbiAgfVxufSJdfQ==
import { Construct } from 'constructs';
import { File } from './file';
export declare class License extends File {
import { FileBase } from './file';
export declare class License extends FileBase {
private readonly buffer;

@@ -5,0 +5,0 @@ constructor(scope: Construct, spdx: string);

@@ -5,3 +5,3 @@ "use strict";

const fs = require("fs");
class License extends file_1.File {
class License extends file_1.FileBase {
constructor(scope, spdx) {

@@ -20,2 +20,2 @@ super(scope, 'LICENSE');

exports.License = License;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxpY2Vuc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxpQ0FBOEI7QUFDOUIseUJBQXlCO0FBRXpCLE1BQWEsT0FBUSxTQUFRLFdBQUk7SUFHL0IsWUFBWSxLQUFnQixFQUFFLElBQVk7UUFDeEMsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUV4QixNQUFNLElBQUksR0FBRyxHQUFHLFNBQVMsaUJBQWlCLElBQUksTUFBTSxDQUFDO1FBQ3JELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksRUFBRSxDQUFDLENBQUM7U0FDaEQ7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQWMsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBakJELDBCQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gJy4vZmlsZSc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5cbmV4cG9ydCBjbGFzcyBMaWNlbnNlIGV4dGVuZHMgRmlsZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgYnVmZmVyOiBCdWZmZXI7XG5cbiAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgc3BkeDogc3RyaW5nKSB7XG4gICAgc3VwZXIoc2NvcGUsICdMSUNFTlNFJyk7XG5cbiAgICBjb25zdCB0ZXh0ID0gYCR7X19kaXJuYW1lfS9saWNlbnNlLXRleHQvJHtzcGR4fS50eHRgO1xuICAgIGlmICghZnMuZXhpc3RzU3luYyh0ZXh0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bnN1cHBvcnRlZCBsaWNlbnNlICR7c3BkeH1gKTtcbiAgICB9XG5cbiAgICB0aGlzLmJ1ZmZlciA9IGZzLnJlYWRGaWxlU3luYyh0ZXh0KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgZGF0YSgpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5idWZmZXI7XG4gIH1cbn0iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGljZW5zZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImxpY2Vuc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxpQ0FBa0M7QUFDbEMseUJBQXlCO0FBRXpCLE1BQWEsT0FBUSxTQUFRLGVBQVE7SUFHbkMsWUFBWSxLQUFnQixFQUFFLElBQVk7UUFDeEMsS0FBSyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUV4QixNQUFNLElBQUksR0FBRyxHQUFHLFNBQVMsaUJBQWlCLElBQUksTUFBTSxDQUFDO1FBQ3JELElBQUksQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksRUFBRSxDQUFDLENBQUM7U0FDaEQ7UUFFRCxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQWMsSUFBSTtRQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBakJELDBCQWlCQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgRmlsZUJhc2UgfSBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMnO1xuXG5leHBvcnQgY2xhc3MgTGljZW5zZSBleHRlbmRzIEZpbGVCYXNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBidWZmZXI6IEJ1ZmZlcjtcblxuICBjb25zdHJ1Y3RvcihzY29wZTogQ29uc3RydWN0LCBzcGR4OiBzdHJpbmcpIHtcbiAgICBzdXBlcihzY29wZSwgJ0xJQ0VOU0UnKTtcblxuICAgIGNvbnN0IHRleHQgPSBgJHtfX2Rpcm5hbWV9L2xpY2Vuc2UtdGV4dC8ke3NwZHh9LnR4dGA7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKHRleHQpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVuc3VwcG9ydGVkIGxpY2Vuc2UgJHtzcGR4fWApO1xuICAgIH1cblxuICAgIHRoaXMuYnVmZmVyID0gZnMucmVhZEZpbGVTeW5jKHRleHQpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldCBkYXRhKCk6IHVua25vd24ge1xuICAgIHJldHVybiB0aGlzLmJ1ZmZlcjtcbiAgfVxufSJdfQ==
import { Construct } from 'constructs';
import { File } from './file';
import { FileBase } from './file';
import * as fs from 'fs';
export class License extends File {
export class License extends FileBase {
private readonly buffer: Buffer;

@@ -7,0 +7,0 @@

@@ -60,3 +60,3 @@ import { Project, ProjectOptions } from './project';

}): void;
setFields(fields: {
addFields(fields: {
[name: string]: any;

@@ -63,0 +63,0 @@ }): void;

@@ -109,3 +109,3 @@ "use strict";

}
setFields(fields) {
addFields(fields) {
for (const [name, value] of Object.entries(fields)) {

@@ -127,2 +127,2 @@ this.manifest[name] = value;

exports.NodeProject = NodeProject;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm9kZS1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUNBQW9EO0FBQ3BELHlCQUF5QjtBQUN6QixpQ0FBa0M7QUFDbEMscUNBQWtDO0FBQ2xDLCtDQUEyQztBQUMzQyx1Q0FBb0M7QUFDcEMscUNBQWlEO0FBRWpELGlFQUFpRTtBQUNqRSxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFxQzFELE1BQWEsV0FBWSxTQUFRLGlCQUFPO0lBY3RDLFlBQVksT0FBMkI7O1FBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQVhBLHFCQUFnQixHQUEyQixFQUFHLENBQUM7UUFDL0Msb0JBQWUsR0FBMkIsRUFBRyxDQUFDO1FBQzlDLGlCQUFZLEdBQTJCLEVBQUcsQ0FBQztRQUMzQyx3QkFBbUIsR0FBYSxFQUFFLENBQUM7UUFDbkMsWUFBTyxHQUEyQixFQUFHLENBQUM7UUFDdEMsUUFBRyxHQUEyQixFQUFHLENBQUM7UUFRakQsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLElBQUksRUFBRSw4QkFBcUI7WUFDM0IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQzlCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztZQUNoQyxJQUFJLEVBQUUsY0FBYztZQUNwQixVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLEVBQUUsS0FBSztnQkFDWCxHQUFHLEVBQUUsT0FBTyxDQUFDLFVBQVU7YUFDeEI7WUFDRCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFB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LGVBQWUsRUFFZiwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGdCQUFnQixFQUVoQixvQkFBb0IsRUFDcEIsZUFBZSxFQUdmLHlCQUF5QixFQUN6QixjQUFjLEVBRWQsMEJBQTBCLEVBQzFCLE9BQU8sRUFFUCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBRWpCLGdEQUFnRCxFQUNoRCxRQUFRLENBQ1QsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWhNRCxrQ0FnTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0LCBQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4vcHJvamVjdCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gJy4vanNvbic7XG5pbXBvcnQgeyBTZW12ZXIgfSBmcm9tICcuL3NlbXZlcic7XG5pbXBvcnQgeyBJZ25vcmVGaWxlIH0gZnJvbSAnLi9pZ25vcmUtZmlsZSc7XG5pbXBvcnQgeyBMaWNlbnNlIH0gZnJvbSAnLi9saWNlbnNlJztcbmltcG9ydCB7IEdFTkVSQVRJT05fRElTQ0xBSU1FUiB9IGZyb20gJy4vY29tbW9uJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbmNvbnN0IFBST0pFTl9WRVJTSU9OID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25PcHRpb25zIHtcbiAgcmVhZG9ubHkgYnVuZGxlZERlcGVuZGVuY2llcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBkZXBlbmRlbmNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBTZW12ZXI+O1xuICByZWFkb25seSBkZXZEZXBlbmRlbmNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBTZW12ZXI+O1xuICByZWFkb25seSBwZWVyRGVwZW5kZW5jaWVzPzogUmVjb3JkPHN0cmluZywgU2VtdmVyPjtcbiAgcmVhZG9ubHkgcGVlckRlcGVuZGVuY3lPcHRpb25zPzogUGVlckRlcGVuZGVuY3lPcHRpb25zO1xuICByZWFkb25seSBiaW4/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHByb2plbiB0byBpbnN0YWxsLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGxhdGVzdCB2ZXJzaW9uXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5WZXJzaW9uPzogU2VtdmVyO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgb2YgXCJwcm9qZW5cIiBzaG91bGQgYmUgaW5zdGFsbGVkIGFzIGEgZGV2RGVwZW5kZW5jeS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuRGV2RGVwZW5kZW5jeT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZVByb2plY3RPcHRpb25zIGV4dGVuZHMgUHJvamVjdE9wdGlvbnMsIENvbW1vbk9wdGlvbnMge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByZWFkb25seSByZXBvc2l0b3J5Pzogc3RyaW5nO1xuICByZWFkb25seSBhdXRob3JOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBhdXRob3JFbWFpbD86IHN0cmluZztcbiAgcmVhZG9ubHkgbGljZW5zZT86IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhYmlsaXR5Pzogc3RyaW5nO1xuICByZWFkb25seSBnaXRpZ25vcmU/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgbnBtaWdub3JlPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBOb2RlUHJvamVjdCBleHRlbmRzIFByb2plY3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgZ2l0aWdub3JlOiBJZ25vcmVGaWxlO1xuICBwdWJsaWMgcmVhZG9ubHkgbnBtaWdub3JlOiBJZ25vcmVGaWxlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGVlckRlcGVuZGVuY2llczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHsgfTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXZEZXBlbmRlbmNpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7IH07XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVwZW5kZW5jaWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0geyB9O1xuICBwcml2YXRlIHJlYWRvbmx5IGJ1bmRsZWREZXBlbmRlbmNpZXM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgc2NyaXB0czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHsgfTtcbiAgcHJpdmF0ZSByZWFkb25seSBiaW46IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7IH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtYW5pZmVzdDogYW55O1xuXG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogTm9kZVByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLm1hbmlmZXN0ID0ge1xuICAgICAgJy8vJzogR0VORVJBVElPTl9ESVNDTEFJTUVSLFxuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgdmVyc2lvbjogdGhpcy5yZXNvbHZlVmVyc2lvbigpLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24sXG4gICAgICBtYWluOiAnbGliL2luZGV4LmpzJyxcbiAgICAgIHJlcG9zaXRvcnk6ICFvcHRpb25zLnJlcG9zaXRvcnkgPyB1bmRlZmluZWQgOiB7XG4gICAgICAgIHR5cGU6ICdnaXQnLFxuICAgICAgICB1cmw6IG9wdGlvbnMucmVwb3NpdG9yeSxcbiAgICAgIH0sXG4gICAgICBiaW46IHRoaXMuYmluLFxuICAgICAgc2NyaXB0czogdGhpcy5zY3JpcHRzLFxuICAgICAgYXV0aG9yOiB7XG4gICAgICAgIG5hbWU6IG9wdGlvbnMuYXV0aG9yTmFtZSxcbiAgICAgICAgZW1haWw6IG9wdGlvbnMuYXV0aG9yRW1haWwsXG4gICAgICB9LFxuICAgICAgZGV2RGVwZW5kZW5jaWVzOiB0aGlzLmRldkRlcGVuZGVuY2llcyxcbiAgICAgIHBlZXJEZXBlbmRlbmNpZXM6IHRoaXMucGVlckRlcGVuZGVuY2llcyxcbiAgICAgIGRlcGVuZGVuY2llczogdGhpcy5kZXBlbmRlbmNpZXMsXG4gICAgICBidW5kbGVkRGVwZW5kZW5jaWVzOiB0aGlzLmJ1bmRsZWREZXBlbmRlbmNpZXMsXG4gICAgfTtcblxuICAgIG5ldyBKc29uRmlsZSh0aGlzLCAncGFja2FnZS5qc29uJywgdGhpcy5tYW5pZmVzdCk7XG5cbiAgICB0aGlzLmFkZERlcGVuZGVuY2llcyhvcHRpb25zLmRlcGVuZGVuY2llcyA/PyB7fSk7XG4gICAgdGhpcy5hZGRQZWVyRGVwZW5kZW5jaWVzKG9wdGlvbnMucGVlckRlcGVuZGVuY2llcyA/PyB7fSk7XG4gICAgdGhpcy5hZGREZXZEZXBlbmRlbmNpZXMob3B0aW9ucy5kZXZEZXBlbmRlbmNpZXMgPz8ge30pO1xuICAgIHRoaXMuYWRkQnVuZGxlZERlcGVuZGVuY2llcyguLi5vcHRpb25zLmJ1bmRsZWREZXBlbmRlbmNpZXMgPz8gW10pO1xuXG4gICAgdGhpcy5naXRpZ25vcmUgPSBuZXcgSWdub3JlRmlsZSh0aGlzLCAnLmdpdGlnbm9yZScpO1xuICAgIHRoaXMubnBtaWdub3JlID0gbmV3IElnbm9yZUZpbGUodGhpcywgJy5ucG1pZ25vcmUnKTtcblxuICAgIHRoaXMuYWRkRGVmYXVsdEdpdElnbm9yZSgpO1xuXG4gICAgLy8gc2V0IGxpY2Vuc2UgYW5kIHByb2R1Y2UgbGljZW5zZSBmaWxlXG4gICAgY29uc3QgbGljZW5zZSA9IG9wdGlvbnMubGljZW5zZSA/PyAnQXBhY2hlLTIuMCc7XG4gICAgdGhpcy5tYW5pZmVzdC5saWNlbnNlID0gbGljZW5zZTtcbiAgICBuZXcgTGljZW5zZSh0aGlzLCBsaWNlbnNlKTtcblxuICAgIHRoaXMuYWRkU2NyaXB0cyh7IHByb2plbjogJ25vZGUgcHJvamVuLmpzICYmIHlhcm4gaW5zdGFsbCcgfSk7XG4gICAgdGhpcy5ucG1pZ25vcmUuZXhjbHVkZSgncHJvamVuLmpzJyk7XG4gICAgdGhpcy5naXRpZ25vcmUuaW5jbHVkZSgncHJvamVuLmpzJyk7XG5cbiAgICB0aGlzLmFkZEJpbnMob3B0aW9ucy5iaW4gPz8geyB9KTtcblxuICAgIGNvbnN0IHByb2plbiA9IG9wdGlvbnMucHJvamVuRGV2RGVwZW5kZW5jeSA/PyB0cnVlO1xuICAgIGlmIChwcm9qZW4pIHtcbiAgICAgIGNvbnN0IHByb2plblZlcnNpb24gPSBvcHRpb25zLnByb2plblZlcnNpb24gPz8gU2VtdmVyLmNhcmV0KFBST0pFTl9WRVJTSU9OKTtcbiAgICAgIHRoaXMuYWRkRGV2RGVwZW5kZW5jaWVzKHsgcHJvamVuOiBwcm9qZW5WZXJzaW9uIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRCaW5zKGJpbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICBmb3IgKGNvbnN0IFsgaywgdiBdIG9mIE9iamVjdC5lbnRyaWVzKGJpbnMpKSB7XG4gICAgICB0aGlzLmJpbltrXSA9IHY7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZERlcGVuZGVuY2llcyhkZXBzOiB7IFttb2R1bGU6IHN0cmluZ106IFNlbXZlciB9LCBidW5kbGUgPSBmYWxzZSkge1xuICAgIGZvciAoY29uc3QgWyBrLCB2IF0gb2YgT2JqZWN0LmVudHJpZXMoZGVwcykpIHtcbiAgICAgIHRoaXMuZGVwZW5kZW5jaWVzW2tdID0gdi5zcGVjO1xuXG4gICAgICBpZiAoYnVuZGxlKSB7XG4gICAgICAgIHRoaXMuYWRkQnVuZGxlZERlcGVuZGVuY2llcyhrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkQnVuZGxlZERlcGVuZGVuY2llcyguLi5kZXBzOiBzdHJpbmdbXSkge1xuICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcbiAgICAgIGlmICghKGRlcCBpbiB0aGlzLmRlcGVuZGVuY2llcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmFibGUgdG8gYnVuZGxlIFwiJHtkZXB9XCIuIGl0IGhhcyB0byBhbHNvIGJlIGRlZmluZWQgYXMgYSBkZXBlbmRlbmN5YCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChkZXAgaW4gdGhpcy5wZWVyRGVwZW5kZW5jaWVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdW5hYmxlIHRvIGJ1bmRsZSBcIiR7ZGVwfVwiLiBpdCBjYW5ub3QgYXBwZWFyIGFzIGEgcGVlciBkZXBlbmRlbmN5YCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYnVuZGxlZERlcGVuZGVuY2llcy5wdXNoKGRlcCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZERldkRlcGVuZGVuY2llcyhkZXBzOiB7IFttb2R1bGU6IHN0cmluZ106IFNlbXZlciB9KSB7XG4gICAgZm9yIChjb25zdCBbIGssIHYgXSBvZiBPYmplY3QuZW50cmllcyhkZXBzKSkge1xuICAgICAgdGhpcy5kZXZEZXBlbmRlbmNpZXNba10gPSB2LnNwZWM7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZFBlZXJEZXBlbmRlbmNpZXMoZGVwczogeyBbbW9kdWxlOiBzdHJpbmddOiBTZW12ZXIgfSwgb3B0aW9uczogUGVlckRlcGVuZGVuY3lPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBwaW5uZWREZXZEZXBlbmRlbmN5ID0gb3B0aW9ucy5waW5uZWREZXZEZXBlbmRlbmN5ID8/IHRydWU7XG4gICAgZm9yIChjb25zdCBbIGssIHYgXSBvZiBPYmplY3QuZW50cmllcyhkZXBzKSkge1xuICAgICAgdGhpcy5wZWVyRGVwZW5kZW5jaWVzW2tdID0gdi5zcGVjO1xuXG4gICAgICBpZiAocGlubmVkRGV2RGVwZW5kZW5jeSkge1xuICAgICAgICB0aGlzLmFkZERldkRlcGVuZGVuY2llcyh7IFtrXTogU2VtdmVyLnBpbm5lZCh2LnZlcnNpb24pIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgcHVibGljIGFkZFNjcmlwdHMoc2NyaXB0czogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICBmb3IgKGNvbnN0IFsgbmFtZSwgY29tbWFuZCBdIG9mIE9iamVjdC5lbnRyaWVzKHNjcmlwdHMpKSB7XG4gICAgICB0aGlzLnNjcmlwdHNbbmFtZV0gPSBjb21tYW5kO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRGaWVsZHMoZmllbGRzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIGZvciAoY29uc3QgWyBuYW1lLCB2YWx1ZSBdIG9mIE9iamVjdC5lbnRyaWVzKGZpZWxkcykpIHtcbiAgICAgIHRoaXMubWFuaWZlc3RbbmFtZV0gPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVWZXJzaW9uKCkge1xuICAgIGNvbnN0IHZlcnNpb25GaWxlID0gYCR7dGhpcy5vdXRkaXJ9L3ZlcnNpb24uanNvbmA7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKHZlcnNpb25GaWxlKSkge1xuICAgICAgZnMud3JpdGVGaWxlU3luYyh2ZXJzaW9uRmlsZSwgeyB2ZXJzaW9uOiAnMC4wLjAnIH0pO1xuICAgIH1cblxuXG4gICAgcmV0dXJuIEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHZlcnNpb25GaWxlLCAndXRmLTgnKSkudmVyc2lvbjtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRGVmYXVsdEdpdElnbm9yZSgpICB7XG5cbiAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKFxuICAgICAgJyMgTG9ncycsXG4gICAgICAnbG9ncycsXG4gICAgICAnKi5sb2cnLFxuICAgICAgJ25wbS1kZWJ1Zy5sb2cqJyxcbiAgICAgICd5YXJuLWRlYnVnLmxvZyonLFxuICAgICAgJ3lhcm4tZXJyb3IubG9nKicsXG4gICAgICAnbGVybmEtZGVidWcubG9nKicsXG5cbiAgICAgICcjIERpYWdub3N0aWMgcmVwb3J0cyAoaHR0cHM6Ly9ub2RlanMub3JnL2FwaS9yZXBvcnQuaHRtbCknLFxuICAgICAgJ3JlcG9ydC5bMC05XSouWzAtOV0qLlswLTldKi5bMC05XSouanNvbicsXG5cbiAgICAgICcjIFJ1bnRpbWUgZGF0YScsXG4gICAgICAncGlkcycsXG4gICAgICAnKi5waWQnLFxuICAgICAgJyouc2VlZCcsXG4gICAgICAnKi5waWQubG9jaycsXG5cbiAgICAgICcjIERpcmVjdG9yeSBmb3IgaW5zdHJ1bWVudGVkIGxpYnMgZ2VuZXJhdGVkIGJ5IGpzY292ZXJhZ2UvSlNDb3ZlcicsXG4gICAgICAnbGliLWNvdicsXG5cbiAgICAgICcjIENvdmVyYWdlIGRpcmVjdG9yeSB1c2VkIGJ5IHRvb2xzIGxpa2UgaXN0YW5idWwnLFxuICAgICAgJ2NvdmVyYWdlJyxcbiAgICAgICcqLmxjb3YnLFxuXG4gICAgICAnIyBueWMgdGVzdCBjb3ZlcmFnZScsXG4gICAgICAnLm55Y19vdXRwdXQnLFxuXG4gICAgICAnIyBDb21waWxlZCBiaW5hcnkgYWRkb25zIChodHRwczovL25vZGVqcy5vcmcvYXBpL2FkZG9ucy5odG1sKScsXG4gICAgICAnYnVpbGQvUmVsZWFzZScsXG5cbiAgICAgICcjIERlcGVuZGVuY3kgZGlyZWN0b3JpZXMnLFxuICAgICAgJ25vZGVfbW9kdWxlcy8nLFxuICAgICAgJ2pzcG1fcGFja2FnZXMvJyxcblxuICAgICAgJyMgVHlwZVNjcmlwdCBjYWNoZScsXG4gICAgICAnKi50c2J1aWxkaW5mbycsXG5cblxuICAgICAgJyMgT3B0aW9uYWwgZXNsaW50IGNhY2hlJyxcbiAgICAgICcuZXNsaW50Y2FjaGUnLFxuXG4gICAgICAnIyBPdXRwdXQgb2YgXFwnbnBtIHBhY2tcXCcnLFxuICAgICAgJyoudGd6JyxcblxuICAgICAgJyMgWWFybiBJbnRlZ3JpdHkgZmlsZScsXG4gICAgICAnLnlhcm4taW50ZWdyaXR5JyxcblxuICAgICAgJyMgcGFyY2VsLWJ1bmRsZXIgY2FjaGUgKGh0dHBzOi8vcGFyY2VsanMub3JnLyknLFxuICAgICAgJy5jYWNoZScsXG4gICAgKTtcbiAgfVxufVxuXG5cblxuZXhwb3J0IGludGVyZmFjZSBQZWVyRGVwZW5kZW5jeU9wdGlvbnMge1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGQgYSBwaW5uZWQgZGV2IGRlcGVuZGVuY3kuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBpbm5lZERldkRlcGVuZGVuY3k/OiBib29sZWFuO1xufSJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1wcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibm9kZS1wcm9qZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsdUNBQW9EO0FBQ3BELHlCQUF5QjtBQUN6QixpQ0FBa0M7QUFDbEMscUNBQWtDO0FBQ2xDLCtDQUEyQztBQUMzQyx1Q0FBb0M7QUFDcEMscUNBQWlEO0FBRWpELGlFQUFpRTtBQUNqRSxNQUFNLGNBQWMsR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUM7QUFxQzFELE1BQWEsV0FBWSxTQUFRLGlCQUFPO0lBY3RDLFlBQVksT0FBMkI7O1FBQ3JDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQVhBLHFCQUFnQixHQUEyQixFQUFHLENBQUM7UUFDL0Msb0JBQWUsR0FBMkIsRUFBRyxDQUFDO1FBQzlDLGlCQUFZLEdBQTJCLEVBQUcsQ0FBQztRQUMzQyx3QkFBbUIsR0FBYSxFQUFFLENBQUM7UUFDbkMsWUFBTyxHQUEyQixFQUFHLENBQUM7UUFDdEMsUUFBRyxHQUEyQixFQUFHLENBQUM7UUFRakQsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNkLElBQUksRUFBRSw4QkFBcUI7WUFDM0IsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQzlCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztZQUNoQyxJQUFJLEVBQUUsY0FBYztZQUNwQixVQUFVLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO2dCQUM1QyxJQUFJLEVBQUUsS0FBSztnQkFDWCxHQUFHLEVBQUUsT0FBTyxDQUFDLFVBQVU7YUFDeEI7WUFDRCxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFB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LGVBQWUsRUFFZiwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGdCQUFnQixFQUVoQixvQkFBb0IsRUFDcEIsZUFBZSxFQUdmLHlCQUF5QixFQUN6QixjQUFjLEVBRWQsMEJBQTBCLEVBQzFCLE9BQU8sRUFFUCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBRWpCLGdEQUFnRCxFQUNoRCxRQUFRLENBQ1QsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQWhNRCxrQ0FnTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0LCBQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4vcHJvamVjdCc7XG5pbXBvcnQgKiBhcyBmcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBKc29uRmlsZSB9IGZyb20gJy4vanNvbic7XG5pbXBvcnQgeyBTZW12ZXIgfSBmcm9tICcuL3NlbXZlcic7XG5pbXBvcnQgeyBJZ25vcmVGaWxlIH0gZnJvbSAnLi9pZ25vcmUtZmlsZSc7XG5pbXBvcnQgeyBMaWNlbnNlIH0gZnJvbSAnLi9saWNlbnNlJztcbmltcG9ydCB7IEdFTkVSQVRJT05fRElTQ0xBSU1FUiB9IGZyb20gJy4vY29tbW9uJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZXF1aXJlLWltcG9ydHNcbmNvbnN0IFBST0pFTl9WRVJTSU9OID0gcmVxdWlyZSgnLi4vcGFja2FnZS5qc29uJykudmVyc2lvbjtcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25PcHRpb25zIHtcbiAgcmVhZG9ubHkgYnVuZGxlZERlcGVuZGVuY2llcz86IHN0cmluZ1tdO1xuICByZWFkb25seSBkZXBlbmRlbmNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBTZW12ZXI+O1xuICByZWFkb25seSBkZXZEZXBlbmRlbmNpZXM/OiBSZWNvcmQ8c3RyaW5nLCBTZW12ZXI+O1xuICByZWFkb25seSBwZWVyRGVwZW5kZW5jaWVzPzogUmVjb3JkPHN0cmluZywgU2VtdmVyPjtcbiAgcmVhZG9ubHkgcGVlckRlcGVuZGVuY3lPcHRpb25zPzogUGVlckRlcGVuZGVuY3lPcHRpb25zO1xuICByZWFkb25seSBiaW4/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBWZXJzaW9uIG9mIHByb2plbiB0byBpbnN0YWxsLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGxhdGVzdCB2ZXJzaW9uXG4gICAqL1xuICByZWFkb25seSBwcm9qZW5WZXJzaW9uPzogU2VtdmVyO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgb2YgXCJwcm9qZW5cIiBzaG91bGQgYmUgaW5zdGFsbGVkIGFzIGEgZGV2RGVwZW5kZW5jeS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgcHJvamVuRGV2RGVwZW5kZW5jeT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZVByb2plY3RPcHRpb25zIGV4dGVuZHMgUHJvamVjdE9wdGlvbnMsIENvbW1vbk9wdGlvbnMge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICByZWFkb25seSByZXBvc2l0b3J5Pzogc3RyaW5nO1xuICByZWFkb25seSBhdXRob3JOYW1lPzogc3RyaW5nO1xuICByZWFkb25seSBhdXRob3JFbWFpbD86IHN0cmluZztcbiAgcmVhZG9ubHkgbGljZW5zZT86IHN0cmluZztcbiAgcmVhZG9ubHkgc3RhYmlsaXR5Pzogc3RyaW5nO1xuICByZWFkb25seSBnaXRpZ25vcmU/OiBzdHJpbmdbXTtcbiAgcmVhZG9ubHkgbnBtaWdub3JlPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBjbGFzcyBOb2RlUHJvamVjdCBleHRlbmRzIFByb2plY3Qge1xuICBwdWJsaWMgcmVhZG9ubHkgZ2l0aWdub3JlOiBJZ25vcmVGaWxlO1xuICBwdWJsaWMgcmVhZG9ubHkgbnBtaWdub3JlOiBJZ25vcmVGaWxlO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcGVlckRlcGVuZGVuY2llczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHsgfTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXZEZXBlbmRlbmNpZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7IH07XG4gIHByaXZhdGUgcmVhZG9ubHkgZGVwZW5kZW5jaWVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0geyB9O1xuICBwcml2YXRlIHJlYWRvbmx5IGJ1bmRsZWREZXBlbmRlbmNpZXM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgc2NyaXB0czogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHsgfTtcbiAgcHJpdmF0ZSByZWFkb25seSBiaW46IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7IH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSBtYW5pZmVzdDogYW55O1xuXG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogTm9kZVByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLm1hbmlmZXN0ID0ge1xuICAgICAgJy8vJzogR0VORVJBVElPTl9ESVNDTEFJTUVSLFxuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgdmVyc2lvbjogdGhpcy5yZXNvbHZlVmVyc2lvbigpLFxuICAgICAgZGVzY3JpcHRpb246IG9wdGlvbnMuZGVzY3JpcHRpb24sXG4gICAgICBtYWluOiAnbGliL2luZGV4LmpzJyxcbiAgICAgIHJlcG9zaXRvcnk6ICFvcHRpb25zLnJlcG9zaXRvcnkgPyB1bmRlZmluZWQgOiB7XG4gICAgICAgIHR5cGU6ICdnaXQnLFxuICAgICAgICB1cmw6IG9wdGlvbnMucmVwb3NpdG9yeSxcbiAgICAgIH0sXG4gICAgICBiaW46IHRoaXMuYmluLFxuICAgICAgc2NyaXB0czogdGhpcy5zY3JpcHRzLFxuICAgICAgYXV0aG9yOiB7XG4gICAgICAgIG5hbWU6IG9wdGlvbnMuYXV0aG9yTmFtZSxcbiAgICAgICAgZW1haWw6IG9wdGlvbnMuYXV0aG9yRW1haWwsXG4gICAgICB9LFxuICAgICAgZGV2RGVwZW5kZW5jaWVzOiB0aGlzLmRldkRlcGVuZGVuY2llcyxcbiAgICAgIHBlZXJEZXBlbmRlbmNpZXM6IHRoaXMucGVlckRlcGVuZGVuY2llcyxcbiAgICAgIGRlcGVuZGVuY2llczogdGhpcy5kZXBlbmRlbmNpZXMsXG4gICAgICBidW5kbGVkRGVwZW5kZW5jaWVzOiB0aGlzLmJ1bmRsZWREZXBlbmRlbmNpZXMsXG4gICAgfTtcblxuICAgIG5ldyBKc29uRmlsZSh0aGlzLCAncGFja2FnZS5qc29uJywgdGhpcy5tYW5pZmVzdCk7XG5cbiAgICB0aGlzLmFkZERlcGVuZGVuY2llcyhvcHRpb25zLmRlcGVuZGVuY2llcyA/PyB7fSk7XG4gICAgdGhpcy5hZGRQZWVyRGVwZW5kZW5jaWVzKG9wdGlvbnMucGVlckRlcGVuZGVuY2llcyA/PyB7fSk7XG4gICAgdGhpcy5hZGREZXZEZXBlbmRlbmNpZXMob3B0aW9ucy5kZXZEZXBlbmRlbmNpZXMgPz8ge30pO1xuICAgIHRoaXMuYWRkQnVuZGxlZERlcGVuZGVuY2llcyguLi5vcHRpb25zLmJ1bmRsZWREZXBlbmRlbmNpZXMgPz8gW10pO1xuXG4gICAgdGhpcy5naXRpZ25vcmUgPSBuZXcgSWdub3JlRmlsZSh0aGlzLCAnLmdpdGlnbm9yZScpO1xuICAgIHRoaXMubnBtaWdub3JlID0gbmV3IElnbm9yZUZpbGUodGhpcywgJy5ucG1pZ25vcmUnKTtcblxuICAgIHRoaXMuYWRkRGVmYXVsdEdpdElnbm9yZSgpO1xuXG4gICAgLy8gc2V0IGxpY2Vuc2UgYW5kIHByb2R1Y2UgbGljZW5zZSBmaWxlXG4gICAgY29uc3QgbGljZW5zZSA9IG9wdGlvbnMubGljZW5zZSA/PyAnQXBhY2hlLTIuMCc7XG4gICAgdGhpcy5tYW5pZmVzdC5saWNlbnNlID0gbGljZW5zZTtcbiAgICBuZXcgTGljZW5zZSh0aGlzLCBsaWNlbnNlKTtcblxuICAgIHRoaXMuYWRkU2NyaXB0cyh7IHByb2plbjogJ25vZGUgcHJvamVuLmpzICYmIHlhcm4gaW5zdGFsbCcgfSk7XG4gICAgdGhpcy5ucG1pZ25vcmUuZXhjbHVkZSgncHJvamVuLmpzJyk7XG4gICAgdGhpcy5naXRpZ25vcmUuaW5jbHVkZSgncHJvamVuLmpzJyk7XG5cbiAgICB0aGlzLmFkZEJpbnMob3B0aW9ucy5iaW4gPz8geyB9KTtcblxuICAgIGNvbnN0IHByb2plbiA9IG9wdGlvbnMucHJvamVuRGV2RGVwZW5kZW5jeSA/PyB0cnVlO1xuICAgIGlmIChwcm9qZW4pIHtcbiAgICAgIGNvbnN0IHByb2plblZlcnNpb24gPSBvcHRpb25zLnByb2plblZlcnNpb24gPz8gU2VtdmVyLmNhcmV0KFBST0pFTl9WRVJTSU9OKTtcbiAgICAgIHRoaXMuYWRkRGV2RGVwZW5kZW5jaWVzKHsgcHJvamVuOiBwcm9qZW5WZXJzaW9uIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRCaW5zKGJpbnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4pIHtcbiAgICBmb3IgKGNvbnN0IFsgaywgdiBdIG9mIE9iamVjdC5lbnRyaWVzKGJpbnMpKSB7XG4gICAgICB0aGlzLmJpbltrXSA9IHY7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZERlcGVuZGVuY2llcyhkZXBzOiB7IFttb2R1bGU6IHN0cmluZ106IFNlbXZlciB9LCBidW5kbGUgPSBmYWxzZSkge1xuICAgIGZvciAoY29uc3QgWyBrLCB2IF0gb2YgT2JqZWN0LmVudHJpZXMoZGVwcykpIHtcbiAgICAgIHRoaXMuZGVwZW5kZW5jaWVzW2tdID0gdi5zcGVjO1xuXG4gICAgICBpZiAoYnVuZGxlKSB7XG4gICAgICAgIHRoaXMuYWRkQnVuZGxlZERlcGVuZGVuY2llcyhrKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkQnVuZGxlZERlcGVuZGVuY2llcyguLi5kZXBzOiBzdHJpbmdbXSkge1xuICAgIGZvciAoY29uc3QgZGVwIG9mIGRlcHMpIHtcbiAgICAgIGlmICghKGRlcCBpbiB0aGlzLmRlcGVuZGVuY2llcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGB1bmFibGUgdG8gYnVuZGxlIFwiJHtkZXB9XCIuIGl0IGhhcyB0byBhbHNvIGJlIGRlZmluZWQgYXMgYSBkZXBlbmRlbmN5YCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChkZXAgaW4gdGhpcy5wZWVyRGVwZW5kZW5jaWVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgdW5hYmxlIHRvIGJ1bmRsZSBcIiR7ZGVwfVwiLiBpdCBjYW5ub3QgYXBwZWFyIGFzIGEgcGVlciBkZXBlbmRlbmN5YCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYnVuZGxlZERlcGVuZGVuY2llcy5wdXNoKGRlcCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZERldkRlcGVuZGVuY2llcyhkZXBzOiB7IFttb2R1bGU6IHN0cmluZ106IFNlbXZlciB9KSB7XG4gICAgZm9yIChjb25zdCBbIGssIHYgXSBvZiBPYmplY3QuZW50cmllcyhkZXBzKSkge1xuICAgICAgdGhpcy5kZXZEZXBlbmRlbmNpZXNba10gPSB2LnNwZWM7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFkZFBlZXJEZXBlbmRlbmNpZXMoZGVwczogeyBbbW9kdWxlOiBzdHJpbmddOiBTZW12ZXIgfSwgb3B0aW9uczogUGVlckRlcGVuZGVuY3lPcHRpb25zID0ge30pIHtcbiAgICBjb25zdCBwaW5uZWREZXZEZXBlbmRlbmN5ID0gb3B0aW9ucy5waW5uZWREZXZEZXBlbmRlbmN5ID8/IHRydWU7XG4gICAgZm9yIChjb25zdCBbIGssIHYgXSBvZiBPYmplY3QuZW50cmllcyhkZXBzKSkge1xuICAgICAgdGhpcy5wZWVyRGVwZW5kZW5jaWVzW2tdID0gdi5zcGVjO1xuXG4gICAgICBpZiAocGlubmVkRGV2RGVwZW5kZW5jeSkge1xuICAgICAgICB0aGlzLmFkZERldkRlcGVuZGVuY2llcyh7IFtrXTogU2VtdmVyLnBpbm5lZCh2LnZlcnNpb24pIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbiAgcHVibGljIGFkZFNjcmlwdHMoc2NyaXB0czogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH0pIHtcbiAgICBmb3IgKGNvbnN0IFsgbmFtZSwgY29tbWFuZCBdIG9mIE9iamVjdC5lbnRyaWVzKHNjcmlwdHMpKSB7XG4gICAgICB0aGlzLnNjcmlwdHNbbmFtZV0gPSBjb21tYW5kO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhZGRGaWVsZHMoZmllbGRzOiB7IFtuYW1lOiBzdHJpbmddOiBhbnkgfSkge1xuICAgIGZvciAoY29uc3QgWyBuYW1lLCB2YWx1ZSBdIG9mIE9iamVjdC5lbnRyaWVzKGZpZWxkcykpIHtcbiAgICAgIHRoaXMubWFuaWZlc3RbbmFtZV0gPSB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlc29sdmVWZXJzaW9uKCkge1xuICAgIGNvbnN0IHZlcnNpb25GaWxlID0gYCR7dGhpcy5vdXRkaXJ9L3ZlcnNpb24uanNvbmA7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKHZlcnNpb25GaWxlKSkge1xuICAgICAgZnMud3JpdGVGaWxlU3luYyh2ZXJzaW9uRmlsZSwgeyB2ZXJzaW9uOiAnMC4wLjAnIH0pO1xuICAgIH1cblxuXG4gICAgcmV0dXJuIEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKHZlcnNpb25GaWxlLCAndXRmLTgnKSkudmVyc2lvbjtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRGVmYXVsdEdpdElnbm9yZSgpICB7XG5cbiAgICB0aGlzLmdpdGlnbm9yZS5leGNsdWRlKFxuICAgICAgJyMgTG9ncycsXG4gICAgICAnbG9ncycsXG4gICAgICAnKi5sb2cnLFxuICAgICAgJ25wbS1kZWJ1Zy5sb2cqJyxcbiAgICAgICd5YXJuLWRlYnVnLmxvZyonLFxuICAgICAgJ3lhcm4tZXJyb3IubG9nKicsXG4gICAgICAnbGVybmEtZGVidWcubG9nKicsXG5cbiAgICAgICcjIERpYWdub3N0aWMgcmVwb3J0cyAoaHR0cHM6Ly9ub2RlanMub3JnL2FwaS9yZXBvcnQuaHRtbCknLFxuICAgICAgJ3JlcG9ydC5bMC05XSouWzAtOV0qLlswLTldKi5bMC05XSouanNvbicsXG5cbiAgICAgICcjIFJ1bnRpbWUgZGF0YScsXG4gICAgICAncGlkcycsXG4gICAgICAnKi5waWQnLFxuICAgICAgJyouc2VlZCcsXG4gICAgICAnKi5waWQubG9jaycsXG5cbiAgICAgICcjIERpcmVjdG9yeSBmb3IgaW5zdHJ1bWVudGVkIGxpYnMgZ2VuZXJhdGVkIGJ5IGpzY292ZXJhZ2UvSlNDb3ZlcicsXG4gICAgICAnbGliLWNvdicsXG5cbiAgICAgICcjIENvdmVyYWdlIGRpcmVjdG9yeSB1c2VkIGJ5IHRvb2xzIGxpa2UgaXN0YW5idWwnLFxuICAgICAgJ2NvdmVyYWdlJyxcbiAgICAgICcqLmxjb3YnLFxuXG4gICAgICAnIyBueWMgdGVzdCBjb3ZlcmFnZScsXG4gICAgICAnLm55Y19vdXRwdXQnLFxuXG4gICAgICAnIyBDb21waWxlZCBiaW5hcnkgYWRkb25zIChodHRwczovL25vZGVqcy5vcmcvYXBpL2FkZG9ucy5odG1sKScsXG4gICAgICAnYnVpbGQvUmVsZWFzZScsXG5cbiAgICAgICcjIERlcGVuZGVuY3kgZGlyZWN0b3JpZXMnLFxuICAgICAgJ25vZGVfbW9kdWxlcy8nLFxuICAgICAgJ2pzcG1fcGFja2FnZXMvJyxcblxuICAgICAgJyMgVHlwZVNjcmlwdCBjYWNoZScsXG4gICAgICAnKi50c2J1aWxkaW5mbycsXG5cblxuICAgICAgJyMgT3B0aW9uYWwgZXNsaW50IGNhY2hlJyxcbiAgICAgICcuZXNsaW50Y2FjaGUnLFxuXG4gICAgICAnIyBPdXRwdXQgb2YgXFwnbnBtIHBhY2tcXCcnLFxuICAgICAgJyoudGd6JyxcblxuICAgICAgJyMgWWFybiBJbnRlZ3JpdHkgZmlsZScsXG4gICAgICAnLnlhcm4taW50ZWdyaXR5JyxcblxuICAgICAgJyMgcGFyY2VsLWJ1bmRsZXIgY2FjaGUgKGh0dHBzOi8vcGFyY2VsanMub3JnLyknLFxuICAgICAgJy5jYWNoZScsXG4gICAgKTtcbiAgfVxufVxuXG5cblxuZXhwb3J0IGludGVyZmFjZSBQZWVyRGVwZW5kZW5jeU9wdGlvbnMge1xuICAvKipcbiAgICogQXV0b21hdGljYWxseSBhZGQgYSBwaW5uZWQgZGV2IGRlcGVuZGVuY3kuXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IHBpbm5lZERldkRlcGVuZGVuY3k/OiBib29sZWFuO1xufSJdfQ==
{
"//": "Generated by projen. To modify, edit \"projen.js\" and run \"projen\"",
"name": "projen",
"version": "0.1.4",
"version": "0.1.5",
"description": "A new generation of project generators",

@@ -6,0 +6,0 @@ "main": "lib/index.js",

@@ -1,3 +0,2 @@

const { JsiiProject } = require('./lib/jsii-project');
const { Semver } = require('./lib/semver');
const { JsiiProject, Semver } = require('./lib');

@@ -4,0 +3,0 @@ const project = new JsiiProject({

{
"version": "0.1.4"
"version": "0.1.5"
}

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc