@fjall/components-infrastructure 0.77.1 → 0.77.2
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/dist/lib/app.js +2 -1
- package/package.json +3 -3
package/dist/lib/app.js
CHANGED
|
@@ -28,6 +28,7 @@ class App extends aws_cdk_lib_1.App {
|
|
|
28
28
|
this.name = name;
|
|
29
29
|
else
|
|
30
30
|
this.name = "FjallApp";
|
|
31
|
+
this.initializeStandardTags();
|
|
31
32
|
// Initialise network immediately if configured
|
|
32
33
|
if (options?.network === false) {
|
|
33
34
|
this.networkDisabled = true;
|
|
@@ -338,4 +339,4 @@ class App extends aws_cdk_lib_1.App {
|
|
|
338
339
|
exports.App = App;
|
|
339
340
|
App.instance = null;
|
|
340
341
|
exports.default = App;
|
|
341
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBcUQ7QUFFckQsd0RBQXFEO0FBR3JELDJDQUF1QztBQUN2QyxxREFBbUU7QUFFbkUsb0RBSWdDO0FBQ2hDLG1FQUFnRTtBQUNoRSxpREFBOEM7QUFDOUMsOEVBQThFO0FBQzlFLG9EQUE4RDtBQStCOUQ7Ozs7R0FJRztBQUNILE1BQWEsR0FBSSxTQUFRLGlCQUFNO0lBYzdCLFlBQW9CLElBQWEsRUFBRSxPQUFxQjtRQUN0RCxLQUFLLEVBQUUsQ0FBQztRQVhGLFdBQU0sR0FBZ0MsRUFBRSxDQUFDO1FBR3pDLG1CQUFjLEdBQXNCLElBQUksR0FBRyxFQUFFLENBQUM7UUFHOUMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsZUFBVSxHQUE4QixFQUFFLENBQUM7UUFDM0Msa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFLNUIsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFFcEIsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7O1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBRTVCLCtDQUErQztRQUMvQyxJQUFJLE9BQU8sRUFBRSxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDOUIsQ0FBQzthQUFNLElBQUksT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQixDQUN2QixNQUErQztRQUUvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztRQUVuRCxJQUFJLGFBQWEsSUFBSSxNQUFN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Q0FBQztZQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLE9BQU8sQ0FBQyxJQUErQjtRQUM1Qyx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixHQUFHLElBQUksQ0FBQyxVQUFVO1lBQ2xCLEdBQUcsSUFBSTtTQUNSLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O0FBbllILGtCQW9ZQztBQW5ZZ0IsWUFBUSxHQUFlLElBQUksQUFBbkIsQ0FBb0I7QUFxWTdDLGtCQUFlLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcCBhcyBDZGtBcHAsIEFzcGVjdHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IHR5cGUgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFZwYyB9IGZyb20gXCIuL3Jlc291cmNlcy9hd3MvbmV0d29ya2luZy92cGNcIjtcbmltcG9ydCB7IHR5cGUgSVZwYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyB0eXBlIFJvbGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi9yZXNvdXJjZXNcIjtcbmltcG9ydCB7IHR5cGUgRWNyLCBFY3JGYWN0b3J5IH0gZnJvbSBcIi4vcmVzb3VyY2VzL2F3cy9zdG9yYWdlL2VjclwiO1xuaW1wb3J0IHsgdHlwZSBEYXRhYmFzZSB9IGZyb20gXCIuL3BhdHRlcm5zL2F3cy9kYXRhYmFzZVwiO1xuaW1wb3J0IHtcbiAgdHlwZSBJTmV0d29ya1Byb3BzLFxuICBOZXR3b3JrRmFjdG9yeSxcbiAgTmV0d29ya1xufSBmcm9tIFwiLi9wYXR0ZXJucy9hd3MvbmV0d29ya1wiO1xuaW1wb3J0IHsgU3RhbmRhcmRUYWdzQXNwZWN0IH0gZnJvbSBcIi4vdXRpbHMvc3RhbmRhcmRUYWdzQXNwZWN0XCI7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tIFwiLi91dGlscy9nZXRDb25maWdcIjtcbmltcG9ydCBNb25pdG9yaW5nUm9sZUZhY3RvcnkgZnJvbSBcIi4vcmVzb3VyY2VzL2F3cy9tb25pdG9yaW5nL21vbml0b3JpbmdSb2xlXCI7XG5pbXBvcnQgeyBGSkFMTF9NT05JVE9SSU5HX0NPTkZJRyB9IGZyb20gXCIuL2NvbmZpZy9tb25pdG9yaW5nXCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBBcHAuZ2V0QXBwKCkuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIENyZWF0ZSBhcHAgd2l0aCBuZXcgVlBDXG4gKiBjb25zdCBhcHAgPSBBcHAuZ2V0QXBwKGFwcE5hbWUsIHtcbiAqICAgbmV0d29yazogeyBtYXhBenM6IDIsIG5hdEdhdGV3YXlzOiBmYWxzZSB9XG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ3JlYXRlIGFwcCB1c2luZyBleGlzdGluZyBWUENcbiAqIGNvbnN0IGFwcCA9IEFwcC5nZXRBcHAoYXBwTmFtZSwge1xuICogICBuZXR3b3JrOiB7IHVzZUV4aXN0aW5nOiBcInZwYy0xMjM0NTY3OFwiIH1cbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDcmVhdGUgYXBwIHdpdGhvdXQgbmV0d29yayAoUzMtb25seSBhcHBzKVxuICogY29uc3QgYXBwID0gQXBwLmdldEFwcChhcHBOYW1lLCB7IG5ldHdvcms6IGZhbHNlIH0pO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElBcHBPcHRpb25zIHtcbiAgLyoqXG4gICAqIE5ldHdvcmsgY29uZmlndXJhdGlvbi5cbiAgICogLSBPYmplY3Qgd2l0aCBJTmV0d29ya1Byb3BzOiBDcmVhdGUgbmV3IFZQQyB3aXRoIGNvbmZpZ1xuICAgKiAtIGZhbHNlOiBObyBuZXR3b3JrIChmb3IgUzMtb25seSBhcHBzKVxuICAgKiAtIHsgdXNlRXhpc3Rpbmc6IHN0cmluZyB9OiBVc2UgZXhpc3RpbmcgVlBDIGJ5IElEXG4gICAqL1xuICBuZXR3b3JrPzogSU5ldHdvcmtQcm9wcyB8IGZhbHNlIHwgeyB1c2VFeGlzdGluZzogc3RyaW5nIH07XG59XG5cbi8qKlxuICogVGhlIGJhc2ljIGNvcm5lci1zdG9uZSBvZiBhbGwgRmphbGwtaG9zdGVkIGFwcGxpY2F0aW9ucy5cbiAqICBUaGlzIGNsYXNzIGlzIGEgc2luZ2xldG9uIGFuZCBzaG91bGQgYmUgdXNlZCB0byBjcmVhdGUgYW5kIG1hbmFnZVxuICogICBhbGwgcmVzb3VyY2VzIGluIGEgRmphbGwgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBBcHAgZXh0ZW5kcyBDZGtBcHAge1xuICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZTogQXBwIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBuYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgc3RhY2tzOiB7IFtrZXk6IHN0cmluZ106IEF3c1N0YWNrIH0gPSB7fTtcblxuICBwcml2YXRlIHZwYz86IElWcGM7XG4gIHByaXZhdGUgYWRkaXRpb25hbFZwY3M6IE1hcDxzdHJpbmcsIElWcGM+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGRlZmF1bHRFY3I6IEVjcjtcbiAgcHJpdmF0ZSBkZWZhdWx0TW9uaXRvcmluZ1JvbGU6IFJvbGU7XG4gIHByaXZhdGUgbmV0d29ya0Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgZ2xvYmFsVGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICBwcml2YXRlIGFzcGVjdEFwcGxpZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKG5hbWU/OiBzdHJpbmcsIG9wdGlvbnM/OiBJQXBwT3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG5cbiAgICBBcHAuaW5zdGFuY2UgPSB0aGlzO1xuXG4gICAgaWYgKG5hbWUpIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgZWxzZSB0aGlzLm5hbWUgPSBcIkZqYWxsQXBwXCI7XG5cbiAgICAvLyBJbml0aWFsaXNlIG5ldHdvcmsgaW1tZWRpYXRlbHkgaWYgY29uZmlndXJlZFxuICAgIGlmIChvcHRpb25zPy5uZXR3b3JrID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5uZXR3b3JrRGlzYWJsZWQgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAob3B0aW9ucz8ubmV0d29yaykge1xuICAgICAgdGhpcy5pbml0aWFsaXNlTmV0d29yayhvcHRpb25zLm5ldHdvcmspO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXNlIHRoZSBuZXR3b3JrIChWUEMpIGZvciB0aGlzIGFwcGxpY2F0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXNlTmV0d29yayhcbiAgICBjb25maWc6IElOZXR3b3JrUHJvcHMgfCB7IHVzZUV4aXN0aW5nOiBzdHJpbmcgfVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBuZXR3b3JrU3RhY2sgPSB0aGlzLmdldERlZmF1bHROZXR3b3JrU3RhY2soKTtcblxuICAgIGlmIChcInVzZUV4aXN0aW5nXCIgaW4gY29uZmlnKSB7XG4gICAgICB0aGlzLnZwYyA9IFZwYy5mcm9tTG9va3VwKFxuICAgICAgICBuZXR3b3JrU3RhY2suZ2V0U3RhY2soKSxcbiAgICAgICAgYCR7dGhpcy5uYW1lfUltcG9ydGVkVnBjYCxcbiAgICAgICAge1xuICAgICAgICAgIHZwY0lkOiBjb25maWcudXNlRXhpc3RpbmdcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbmV0d29yayA9IE5ldHdvcmtGYWN0b3J5LmJ1aWxkKGAke3RoaXMubmFtZX1WcGNgLCBjb25maWcpKFxuICAgICAgICB0aGlzLFxuICAgICAgICBuZXR3b3JrU3RhY2suZ2V0U3RhY2soKVxuICAgICAgKTtcbiAgICAgIHRoaXMudnBjID0gbmV0d29yay5nZXRWcGMoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogR2V0L0NyZWF0ZSBhIGJhc2ljIEZqYWxsIEFwcGxpY2F0aW9uIHdpdGggc3RhbmRhcmQgdGFncyBhcHBsaWVkLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSBBcHBsaWNhdGlvbiBuYW1lXG4gICAqIEBwYXJhbSBvcHRpb25zIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBpbmNsdWRpbmcgbmV0d29yayBzZXR0aW5nc1xuICAgKiBAcmV0dXJucyB7QXBwfVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBDcmVhdGUgYXBwIHdpdGggbmV3IFZQQ1xuICAgKiBjb25zdCBhcHAgPSBBcHAuZ2V0QXBwKGFwcE5hbWUsIHtcbiAgICogICBuZXR3b3JrOiB7IG1heEF6czogMiwgbmF0R2F0ZXdheXM6IGZhbHNlIH1cbiAgICogfSk7XG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIC8vIENyZWF0ZSBhcHAgdXNpbmcgZXhpc3RpbmcgVlBDXG4gICAqIGNvbnN0IGFwcCA9IEFwcC5nZXRBcHAoYXBwTmFtZSwge1xuICAgKiAgIG5ldHdvcms6IHsgdXNlRXhpc3Rpbmc6IFwidnBjLTEyMzQ1Njc4XCIgfVxuICAgKiB9KTtcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogLy8gQ3JlYXRlIGFwcCB3aXRob3V0IG5ldHdvcmsgKFMzLW9ubHkgYXBwcylcbiAgICogY29uc3QgYXBwID0gQXBwLmdldEFwcChhcHBOYW1lLCB7IG5ldHdvcms6IGZhbHNlIH0pO1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRBcHAobmFtZT86IHN0cmluZywgb3B0aW9ucz86IElBcHBPcHRpb25zKTogQXBwIHtcbiAgICBjb25zdCBhcHAgPSBBcHAuZ2V0SW5zdGFuY2UobmFtZSwgb3B0aW9ucyk7XG4gICAgYXBwLmluaXRpYWxpemVTdGFuZGFyZFRhZ3MoKTtcbiAgICByZXR1cm4gYXBwO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldC9DcmVhdGUgdGhlIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiB0aGUgQXBwXG4gICAqIEBwYXJhbSBuYW1lIEFwcGxpY2F0aW9uIG5hbWVcbiAgICogQHBhcmFtIG9wdGlvbnMgQ29uZmlndXJhdGlvbiBvcHRpb25zIGluY2x1ZGluZyBuZXR3b3JrIHNldHRpbmdzXG4gICAqIEByZXR1cm5zIHtBcHB9XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldEluc3RhbmNlKG5hbWU/OiBzdHJpbmcsIG9wdGlvbnM/OiBJQXBwT3B0aW9ucyk6IEFwcCB7XG4gICAgLy8gRGVzcGl0ZSBzdXBwb3J0aW5nIG11bHRpcGxlIHN0YWNrcyB5b3UgY2FuIHN0aWxsIG9ubHkgZXZlclxuICAgIC8vIGhhdmUgYSBzaW5nbGUgQXBwbGljYXRpb24gcGVyIENESyBkZXBsb3ltZW50XG4gICAgaWYgKCFBcHAuaW5zdGFuY2UpIHtcbiAgICAgIEFwcC5pbnN0YW5jZSA9IG5ldyBBcHAobmFtZSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIEFwcC5pbnN0YW5jZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBhIHN0YWNrIGJ5IGtleS4gSWYgdGhlIHN0YWNrIGRvZXMgbm90IGV4aXN0LCBpdCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqICBEZXBlbmRlbmNpZXMgYXJlIG9ubHkgYXBwbGllZCB0aGUgZmlyc3QgdGltZSBhIHN0YWNrIGlzIGNyZWF0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgLSBUaGUga2V5IG9mIHRoZSBzdGFja1xuICAgKiBAcGFyYW0gZGVwZW5kZW5jaWVzIC0gVGhlIHN0YWNrKHMpIHRoYXQgdGhpcyBzdGFjayBkZXBlbmRzIG9uXG4gICAqIEByZXR1cm5zIHtBd3NTdGFja31cbiAgICovXG4gIHB1YmxpYyBnZXRTdGFjayhrZXk6IHN0cmluZywgZGVwZW5kZW5jaWVzPzogQXdzU3RhY2sgfCBBd3NTdGFja1tdKTogQXdzU3RhY2sge1xuICAgIC8vIEFwcGx5IHRoZSBhc3BlY3Qgb25jZSBiZWZvcmUgY3JlYXRpbmcgdGhlIGZpcnN0IHN0YWNrXG4gICAgaWYgKFxuICAgICAgIXRoaXMuYXNwZWN0QXBwbGllZCAmJlxuICAgICAgT2JqZWN0LmtleXModGhpcy5zdGFja3MpLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgT2JqZWN0LmtleXModGhpcy5nbG9iYWxUYWdzKS5sZW5ndGggPiAwXG4gICAgKSB7XG4gICAgICB0aGlzLmFwcGx5VGFnc0FzcGVjdCgpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zdGFja3Nba2V5XSkge1xuICAgICAgdGhpcy5zdGFja3Nba2V5XSA9IG5ldyBBd3NTdGFjayhrZXksIGRlcGVuZGVuY2llcyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuc3RhY2tzW2tleV07XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgZGVmYXVsdCBjb21wdXRlIHN0YWNrIC0gbmFtZWQgYXMgYCR7dGhpcy5uYW1lfUNvbXB1dGVgXG4gICAqXG4gICAqIE9ubHkgZGVwZW5kcyBvbiBOZXR3b3JrLiBEYXRhYmFzZSBkZXBlbmRlbmN5IGlzIGFkZGVkIGF1dG9tYXRpY2FsbHlcbiAgICogYnkgQ0RLIHdoZW4gY29tcHV0ZSByZXNvdXJjZXMgcmVmZXJlbmNlIGRhdGFiYXNlIHJlc291cmNlcy5cbiAgICpcbiAgICogQHJldHVybnMge0F3c1N0YWNrfVxuICAgKi9cbiAgcHVibGljIGdldERlZmF1bHRDb21wdXRlU3RhY2soKTogQXdzU3RhY2sge1xuICAgIHJldHVybiB0aGlzLmdldFN0YWNrKGAke3RoaXMubmFtZX1Db21wdXRlYCwgdGhpcy5nZXREZWZhdWx0TmV0d29ya1N0YWNrKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGRlZmF1bHQgbmV0d29yayBzdGFjayAtIG5hbWVkIGFzIGAke3RoaXMubmFtZX1OZXR3b3JrYFxuICAgKiBAcmV0dXJucyB7QXdzU3RhY2t9XG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdE5ldHdvcmtTdGFjaygpOiBBd3NTdGFjayB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhY2soYCR7dGhpcy5uYW1lfU5ldHdvcmtgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBkZWZhdWx0IGRhdGFiYXNlIHN0YWNrIC0gbmFtZWQgYXMgYCR7dGhpcy5uYW1lfURhdGFiYXNlYFxuICAgKiBAcmV0dXJucyB7QXdzU3RhY2t9XG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdERhdGFiYXNlU3RhY2soKTogQXdzU3RhY2sge1xuICAgIHJldHVybiB0aGlzLmdldFN0YWNrKGAke3RoaXMubmFtZX1EYXRhYmFzZWAsIHRoaXMuZ2V0RGVmYXVsdE5ldHdvcmtTdGFjaygpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBkZWZhdWx0IHN0b3JhZ2Ugc3RhY2sgLSBuYW1lZCBhcyBgJHt0aGlzLm5hbWV9U3RvcmFnZWBcbiAgICogQHJldHVybnMge0F3c1N0YWNrfVxuICAgKi9cbiAgcHVibGljIGdldERlZmF1bHRTdG9yYWdlU3RhY2soKTogQXdzU3RhY2sge1xuICAgIHJldHVybiB0aGlzLmdldFN0YWNrKGAke3RoaXMubmFtZX1TdG9yYWdlYCwgdGhpcy5nZXREZWZhdWx0TmV0d29ya1N0YWNrKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIFZQQyBieSBuYW1lLiBJZiBubyBuYW1lIGlzIHByb3ZpZGVkLCByZXR1cm5zIHRoZSBkZWZhdWx0IFZQQy5cbiAgICpcbiAgICogVGhpcyBpcyBhIHB1cmUgZ2V0dGVyIC0gaXQgbmV2ZXIgY3JlYXRlcyBpbmZyYXN0cnVjdHVyZS5cbiAgICogTmV0d29yayBtdXN0IGJlIGNvbmZpZ3VyZWQgdmlhIEFwcC5nZXRBcHAoKSBvcHRpb25zIG9yIGFwcC5hZGROZXR3b3JrKCkuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIC0gT3B0aW9uYWwgbmFtZSBvZiB0aGUgVlBDIHRvIHJldHJpZXZlLiBJZiBub3QgcHJvdmlkZWQsIHJldHVybnMgdGhlIGRlZmF1bHQgVlBDLlxuICAgKiBAcmV0dXJucyB7SVZwY30gVGhlIGNvbmZpZ3VyZWQgVlBDXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiBuZXR3b3JrIGlzIGRpc2FibGVkLCBub3QgY29uZmlndXJlZCwgb3IgbmFtZWQgVlBDIG5vdCBmb3VuZFxuICAgKi9cbiAgcHVibGljIGdldFZwYyhuYW1lPzogc3RyaW5nKTogSVZwYyB7XG4gICAgaWYgKHRoaXMubmV0d29ya0Rpc2FibGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiTmV0d29yayBpcyBkaXNhYmxlZCBmb3IgdGhpcyBhcHAuIENhbm5vdCBnZXQgVlBDLiBcIiArXG4gICAgICAgICAgXCJQYXNzIG5ldHdvcmsgY29uZmlnIHRvIEFwcC5nZXRBcHAoKSB0byBlbmFibGUgbmV0d29ya2luZy5cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBJZiBuYW1lIGlzIHByb3ZpZGVkLCBsb29rIGluIGFkZGl0aW9uYWwgVlBDcyBmaXJzdFxuICAgIGlmIChuYW1lKSB7XG4gICAgICBjb25zdCBhZGRpdGlvbmFsVnBjID0gdGhpcy5hZGRpdGlvbmFsVnBjcy5nZXQobmFtZSk7XG4gICAgICBpZiAoYWRkaXRpb25hbFZwYykge1xuICAgICAgICByZXR1cm4gYWRkaXRpb25hbFZwYztcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFZQQyAnJHtuYW1lfScgbm90IGZvdW5kLiBBdmFpbGFibGUgVlBDczogJHt0aGlzLmdldFZwY05hbWVzKCkuam9pbihcIiwgXCIpfS4gYCArXG4gICAgICAgICAgXCJDcmVhdGUgYWRkaXRpb25hbCBWUENzIHVzaW5nIGFwcC5hZGROZXR3b3JrKE5ldHdvcmtGYWN0b3J5LmJ1aWxkKC4uLikpLlwiXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFJldHVybiBkZWZhdWx0IFZQQ1xuICAgIGlmICghdGhpcy52cGMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJOZXR3b3JrIG5vdCBjb25maWd1cmVkLiBQYXNzIG5ldHdvcmsgY29uZmlnIHRvIEFwcC5nZXRBcHAoKS4gXCIgK1xuICAgICAgICAgIFwiRXhhbXBsZTogQXBwLmdldEFwcChhcHBOYW1lLCB7IG5ldHdvcms6IHsgbWF4QXpzOiAyIH0gfSlcIlxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudnBjO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbmFtZXMgb2YgYWxsIGF2YWlsYWJsZSBWUENzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7c3RyaW5nW119IEFycmF5IG9mIFZQQyBuYW1lcy4gSW5jbHVkZXMgXCJkZWZhdWx0XCIgaWYgdGhlIGRlZmF1bHQgVlBDIGlzIGNvbmZpZ3VyZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0VnBjTmFtZXMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IG5hbWVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGlmICh0aGlzLnZwYykge1xuICAgICAgbmFtZXMucHVzaChcImRlZmF1bHRcIik7XG4gICAgfVxuICAgIG5hbWVzLnB1c2goLi4udGhpcy5hZGRpdGlvbmFsVnBjcy5rZXlzKCkpO1xuICAgIHJldHVybiBuYW1lcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyZWl2ZSB0aGUgZGVmYXVsdCBhcHBsaWNhdGlvbiBjb250YWluZXIgcmVnaXN0cnkuIElmIHRoZSByZWdpc3RyeSBkb2VzIG5vdCBleGlzdFxuICAgKiAgaXQgd2lsbCBiZSBjcmVhdGVkLlxuICAgKi9cbiAgcHVibGljIGdldERlZmF1bHRDb250YWluZXJSZWdpc3RyeSgpOiBFY3Ige1xuICAgIGlmICghdGhpcy5kZWZhdWx0RWNyKSB7XG4gICAgICBjb25zdCBuZXR3b3JrU3RhY2sgPSB0aGlzLmdldERlZmF1bHROZXR3b3JrU3RhY2soKTtcblxuICAgICAgdGhpcy5kZWZhdWx0RWNyID0gRWNyRmFjdG9yeS5idWlsZChgJHt0aGlzLm5hbWV9RWNyYCkoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIG5ldHdvcmtTdGFjay5nZXRTdGFjaygpXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRlZmF1bHRFY3I7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgY3Jvc3MtYWNjb3VudCBtb25pdG9yaW5nIHJvbGUgaW4gdGhlIE5ldHdvcmsgc3RhY2sgdGhhdCBhbGxvd3NcbiAgICogdGhlIEZqYWxsIHdlYmFwcCB0byBxdWVyeSBDbG91ZFdhdGNoIG1ldHJpY3MgYW5kIEVDUyBzdGF0dXMuXG4gICAqXG4gICAqIEBwYXJhbSB3ZWJhcHBBY2NvdW50SWQgLSBPcHRpb25hbCBBV1MgYWNjb3VudCBJRCBvZiB0aGUgRmphbGwgd2ViYXBwLiBEZWZhdWx0cyB0byBjb25maWd1cmVkIHBsYXRmb3JtIGFjY291bnQuXG4gICAqIEByZXR1cm5zIHtSb2xlfSBUaGUgY3JlYXRlZCBtb25pdG9yaW5nIHJvbGVcbiAgICovXG4gIHB1YmxpYyBjcmVhdGVNb25pdG9yaW5nUm9sZSh3ZWJhcHBBY2NvdW50SWQ/OiBzdHJpbmcpOiBSb2xlIHtcbiAgICBpZiAoIXRoaXMuZGVmYXVsdE1vbml0b3JpbmdSb2xlKSB7XG4gICAgICBjb25zdCBuZXR3b3JrU3RhY2sgPSB0aGlzLmdldERlZmF1bHROZXR3b3JrU3RhY2soKTtcbiAgICAgIGNvbnN0IGFjY291bnRJZCA9XG4gICAgICAgIHdlYmFwcEFjY291bnRJZCB8fCBGSkFMTF9NT05JVE9SSU5HX0NPTkZJRy53ZWJhcHBBd3NBY2NvdW50SWQ7XG5cbiAgICAgIHRoaXMuZGVmYXVsdE1vbml0b3JpbmdSb2xlID0gTW9uaXRvcmluZ1JvbGVGYWN0b3J5LmJ1aWxkKFxuICAgICAgICBgJHt0aGlzLm5hbWV9TW9uaXRvcmluZ1JvbGVgLFxuICAgICAgICB7XG4gICAgICAgICAgd2ViYXBwQWNjb3VudElkOiBhY2NvdW50SWQsXG4gICAgICAgICAgYXBwTmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgIHJvbGVOYW1lUHJlZml4OiBGSkFMTF9NT05JVE9SSU5HX0NPTkZJRy5yb2xlTmFtZVByZWZpeCxcbiAgICAgICAgICByb2xlUGF0aDogRkpBTExfTU9OSVRPUklOR19DT05GSUcucm9sZVBhdGhcbiAgICAgICAgfVxuICAgICAgKSh0aGlzLCBuZXR3b3JrU3RhY2suZ2V0U3RhY2soKSk7XG5cbiAgICAgIC8vIFJlZ2lzdGVyIHRoZSByb2xlIHdpdGggdGhlIG5ldHdvcmsgc3RhY2tcbiAgICAgIG5ldHdvcmtTdGFjay5hZGRDb25zdHJ1Y3QodGhpcy5kZWZhdWx0TW9uaXRvcmluZ1JvbGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmRlZmF1bHRNb25pdG9yaW5nUm9sZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBjb21wdXRlIHJlc291cmNlIHRvIHRoZSBkZWZhdWx0IGNvbXB1dGUgc3RhY2sgdXNpbmcgdGhlIGZhY3RvcnkgcGF0dGVybi5cbiAgICogQXV0b21hdGljYWxseSBjcmVhdGVzIG1vbml0b3Jpbmcgcm9sZSBpZiBub3QgYWxyZWFkeSBjcmVhdGVkLlxuICAgKi9cbiAgcHVibGljIGFkZENvbXB1dGUoZm46IChhcHA6IEFwcCwgc2NvcGU6IENvbnN0cnVjdCkgPT4gQ29uc3RydWN0KTogdm9pZCB7XG4gICAgLy8gQXV0by1jcmVhdGUgbW9uaXRvcmluZyByb2xlIHdoZW4gY29tcHV0ZSBpcyBhZGRlZFxuICAgIGlmICghdGhpcy5kZWZhdWx0TW9uaXRvcmluZ1JvbGUpIHtcbiAgICAgIHRoaXMuY3JlYXRlTW9uaXRvcmluZ1JvbGUoKTtcbiAgICB9XG5cbiAgICBjb25zdCBjb21wdXRlU3RhY2sgPSB0aGlzLmdldERlZmF1bHRDb21wdXRlU3RhY2soKTtcbiAgICBjb21wdXRlU3RhY2suYWRkQ29uc3RydWN0KGZuKHRoaXMsIGNvbXB1dGVTdGFjay5nZXRTdGFjaygpKSk7XG4gIH1cblxuICAvKipcbiAgICogTWFudWFsbHkgYWRkIGEgcmVzb3VyY2UgdG8gdGhlIGRlZmF1bHQgY29tcHV0ZSBzdGFjay5cbiAgICovXG4gIHB1YmxpYyBhZGRDb21wdXRlUmVzb3VyY2UocmVzb3VyY2U6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXB1dGVTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdENvbXB1dGVTdGFjaygpO1xuICAgIGNvbXB1dGVTdGFjay5hZGRDb25zdHJ1Y3QocmVzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGRhdGFiYXNlIHJlc291cmNlIHRvIHRoZSBkZWZhdWx0IGRhdGFiYXNlIHN0YWNrIHVzaW5nIHRoZSBmYWN0b3J5IHBhdHRlcm4uXG4gICAqL1xuICBwdWJsaWMgYWRkRGF0YWJhc2UoZm46IChhcHA6IEFwcCwgc2NvcGU6IENvbnN0cnVjdCkgPT4gQ29uc3RydWN0KTogRGF0YWJhc2Uge1xuICAgIGNvbnN0IGRhdGFiYXNlU3RhY2sgPSB0aGlzLmdldERlZmF1bHREYXRhYmFzZVN0YWNrKCk7XG4gICAgY29uc3QgZGF0YWJhc2VDb25zdHJ1Y3QgPSBmbih0aGlzLCBkYXRhYmFzZVN0YWNrLmdldFN0YWNrKCkpO1xuICAgIGRhdGFiYXNlU3RhY2suYWRkQ29uc3RydWN0KGRhdGFiYXNlQ29uc3RydWN0KTtcblxuICAgIHJldHVybiBkYXRhYmFzZUNvbnN0cnVjdCBhcyB1bmtub3duIGFzIERhdGFiYXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIHN0b3JhZ2UgcmVzb3VyY2UgKFMzKSB0byB0aGUgZGVmYXVsdCBzdG9yYWdlIHN0YWNrIHVzaW5nIHRoZSBmYWN0b3J5IHBhdHRlcm4uXG4gICAqL1xuICBwdWJsaWMgYWRkU3RvcmFnZShmbjogKGFwcDogQXBwLCBzY29wZTogQ29uc3RydWN0KSA9PiBDb25zdHJ1Y3QpOiBhbnkge1xuICAgIGNvbnN0IHN0b3JhZ2VTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdFN0b3JhZ2VTdGFjaygpO1xuICAgIGNvbnN0IHN0b3JhZ2VDb25zdHJ1Y3QgPSBmbih0aGlzLCBzdG9yYWdlU3RhY2suZ2V0U3RhY2soKSk7XG4gICAgc3RvcmFnZVN0YWNrLmFkZENvbnN0cnVjdChzdG9yYWdlQ29uc3RydWN0KTtcblxuICAgIHJldHVybiBzdG9yYWdlQ29uc3RydWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhbiBhZGRpdGlvbmFsIG5ldHdvcmsgKFZQQykgdG8gdGhlIGFwcGxpY2F0aW9uLlxuICAgKlxuICAgKiBVc2UgdGhpcyB0byBjcmVhdGUgYWRkaXRpb25hbCBWUENzIGJleW9uZCB0aGUgZGVmYXVsdCBWUEMgY29uZmlndXJlZCB2aWEgQXBwLmdldEFwcCgpLlxuICAgKiBBZGRpdGlvbmFsIFZQQ3MgY2FuIGJlIHJldHJpZXZlZCBieSBuYW1lIHVzaW5nIGFwcC5nZXRWcGMobmFtZSkuXG4gICAqXG4gICAqIEBwYXJhbSBmbiAtIEZhY3RvcnkgZnVuY3Rpb24gdGhhdCBjcmVhdGVzIHRoZSBOZXR3b3JrIGNvbnN0cnVjdFxuICAgKiBAcmV0dXJucyB7TmV0d29ya30gVGhlIGNyZWF0ZWQgTmV0d29yayBjb25zdHJ1Y3RcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogY29uc3QgaXNvbGF0ZWRWcGMgPSBhcHAuYWRkTmV0d29yayhcbiAgICogICBOZXR3b3JrRmFjdG9yeS5idWlsZChcIklzb2xhdGVkVnBjXCIsIHsgbWF4QXpzOiAyLCBuYXRHYXRld2F5czogZmFsc2UgfSlcbiAgICogKTtcbiAgICovXG4gIHB1YmxpYyBhZGROZXR3b3JrKGZuOiAoYXBwOiBBcHAsIHNjb3BlOiBDb25zdHJ1Y3QpID0+IE5ldHdvcmspOiBOZXR3b3JrIHtcbiAgICBjb25zdCBuZXR3b3JrU3RhY2sgPSB0aGlzLmdldERlZmF1bHROZXR3b3JrU3RhY2soKTtcbiAgICBjb25zdCBuZXR3b3JrID0gZm4odGhpcywgbmV0d29ya1N0YWNrLmdldFN0YWNrKCkpO1xuICAgIGNvbnN0IHZwY05hbWUgPSBuZXR3b3JrLm5vZGUuaWQ7XG5cbiAgICAvLyBTdG9yZSBpbiBhZGRpdGlvbmFsIFZQQ3MgbWFwIGZvciByZXRyaWV2YWwgdmlhIGdldFZwYyhuYW1lKVxuICAgIHRoaXMuYWRkaXRpb25hbFZwY3Muc2V0KHZwY05hbWUsIG5ldHdvcmsuZ2V0VnBjKCkpO1xuICAgIG5ldHdvcmtTdGFjay5hZGRDb25zdHJ1Y3QobmV0d29yayk7XG5cbiAgICByZXR1cm4gbmV0d29yaztcbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSBhZGQgYSByZXNvdXJjZSB0byB0aGUgZGVmYXVsdCBkYXRhYmFzZSBzdGFjay5cbiAgICovXG4gIHB1YmxpYyBhZGREYXRhYmFzZVJlc291cmNlKHJlc291cmNlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBjb25zdCBkYXRhYmFzZVN0YWNrID0gdGhpcy5nZXREZWZhdWx0RGF0YWJhc2VTdGFjaygpO1xuICAgIGRhdGFiYXNlU3RhY2suYWRkQ29uc3RydWN0KHJlc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSBhZGQgYSByZXNvdXJjZSB0byB0aGUgZGVmYXVsdCBzdG9yYWdlIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIGFkZFN0b3JhZ2VSZXNvdXJjZShyZXNvdXJjZTogQ29uc3RydWN0KTogdm9pZCB7XG4gICAgY29uc3Qgc3RvcmFnZVN0YWNrID0gdGhpcy5nZXREZWZhdWx0U3RvcmFnZVN0YWNrKCk7XG4gICAgc3RvcmFnZVN0YWNrLmFkZENvbnN0cnVjdChyZXNvdXJjZSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBzdGFuZGFyZCB0YWdzXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpemVTdGFuZGFyZFRhZ3MoKTogdm9pZCB7XG4gICAgY29uc3QgY29uZmlnID0gZ2V0Q29uZmlnKCk7XG4gICAgdGhpcy5nbG9iYWxUYWdzID0ge1xuICAgICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjplbnZpcm9ubWVudFwiOiBjb25maWcuZW52aXJvbm1lbnQsXG4gICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOnNlcnZpY2VcIjogdGhpcy5uYW1lXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBcHBseSBhbGwgdGFncyBhcyBhIHNpbmdsZSBhc3BlY3RcbiAgICovXG4gIHByaXZhdGUgYXBwbHlUYWdzQXNwZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5hc3BlY3RBcHBsaWVkICYmIE9iamVjdC5rZXlzKHRoaXMuZ2xvYmFsVGFncykubGVuZ3RoID4gMCkge1xuICAgICAgLy8gQXBwbHkgT05FIGFzcGVjdCB3aXRoIGFsbCB0YWdzIHVzaW5nIHRoZSBDREsgdjIuMjA2LjArIGNvbXBhdGlibGUgU3RhbmRhcmRUYWdzQXNwZWN0XG4gICAgICBBc3BlY3RzLm9mKHRoaXMpLmFkZChuZXcgU3RhbmRhcmRUYWdzQXNwZWN0KHRoaXMuZ2xvYmFsVGFncykpO1xuICAgICAgdGhpcy5hc3BlY3RBcHBsaWVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkIGN1c3RvbSB0YWdzIHRvIGFsbCByZXNvdXJjZXMgaW4gdGhlIGFwcFxuICAgKiBAcGFyYW0gdGFncyBDdXN0b20gdGFncyB0byBhcHBseSB0byBhbGwgcmVzb3VyY2VzXG4gICAqIEBleGFtcGxlXG4gICAqIGFwcC5hZGRUYWdzKHtcbiAgICogICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOm93bmVyXCI6IFwicGxhdGZvcm0tdGVhbVwiLFxuICAgKiAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246Y29zdC1jZW50ZXJcIjogXCJDQy0xMjNcIixcbiAgICogICBcInRlYW06c2xhY2stY2hhbm5lbFwiOiBcIiNwbGF0Zm9ybS1hbGVydHNcIlxuICAgKiB9KTtcbiAgICovXG4gIHB1YmxpYyBhZGRUYWdzKHRhZ3M6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pOiBBcHAge1xuICAgIC8vIE1lcmdlIHRhZ3MgYnV0IGRvbid0IGFwcGx5IGFzcGVjdCB5ZXRcbiAgICB0aGlzLmdsb2JhbFRhZ3MgPSB7XG4gICAgICAuLi50aGlzLmdsb2JhbFRhZ3MsXG4gICAgICAuLi50YWdzXG4gICAgfTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBcHA7XG4iXX0=
|
|
342
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2FwcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBcUQ7QUFFckQsd0RBQXFEO0FBR3JELDJDQUF1QztBQUN2QyxxREFBbUU7QUFFbkUsb0RBSWdDO0FBQ2hDLG1FQUFnRTtBQUNoRSxpREFBOEM7QUFDOUMsOEVBQThFO0FBQzlFLG9EQUE4RDtBQStCOUQ7Ozs7R0FJRztBQUNILE1BQWEsR0FBSSxTQUFRLGlCQUFNO0lBYzdCLFlBQW9CLElBQWEsRUFBRSxPQUFxQjtRQUN0RCxLQUFLLEVBQUUsQ0FBQztRQVhGLFdBQU0sR0FBZ0MsRUFBRSxDQUFDO1FBR3pDLG1CQUFjLEdBQXNCLElBQUksR0FBRyxFQUFFLENBQUM7UUFHOUMsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFDeEIsZUFBVSxHQUE4QixFQUFFLENBQUM7UUFDM0Msa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFLNUIsR0FBRyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFFcEIsSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7O1lBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDO1FBRTVCLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1FBRTlCLCtDQUErQztRQUMvQyxJQUFJLE9BQU8sRUFBRSxPQUFPLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDOUIsQ0FBQzthQUFNLElBQUksT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGlCQUFpQixDQUN2QixNQUErQztRQUUvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsc0JBQXNCLEVB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a0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztZQUM5RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNJLE9BQU8sQ0FBQyxJQUErQjtRQUM1Qyx3Q0FBd0M7UUFDeEMsSUFBSSxDQUFDLFVBQVUsR0FBRztZQUNoQixHQUFHLElBQUksQ0FBQyxVQUFVO1lBQ2xCLEdBQUcsSUFBSTtTQUNSLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O0FBcllILGtCQXNZQztBQXJZZ0IsWUFBUSxHQUFlLElBQUksQUFBbkIsQ0FBb0I7QUF1WTdDLGtCQUFlLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwcCBhcyBDZGtBcHAsIEFzcGVjdHMgfSBmcm9tIFwiYXdzLWNkay1saWJcIjtcbmltcG9ydCB7IHR5cGUgQ29uc3RydWN0IH0gZnJvbSBcImNvbnN0cnVjdHNcIjtcbmltcG9ydCB7IFZwYyB9IGZyb20gXCIuL3Jlc291cmNlcy9hd3MvbmV0d29ya2luZy92cGNcIjtcbmltcG9ydCB7IHR5cGUgSVZwYyB9IGZyb20gXCJhd3MtY2RrLWxpYi9hd3MtZWMyXCI7XG5pbXBvcnQgeyB0eXBlIFJvbGUgfSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuaW1wb3J0IHsgQXdzU3RhY2sgfSBmcm9tIFwiLi9yZXNvdXJjZXNcIjtcbmltcG9ydCB7IHR5cGUgRWNyLCBFY3JGYWN0b3J5IH0gZnJvbSBcIi4vcmVzb3VyY2VzL2F3cy9zdG9yYWdlL2VjclwiO1xuaW1wb3J0IHsgdHlwZSBEYXRhYmFzZSB9IGZyb20gXCIuL3BhdHRlcm5zL2F3cy9kYXRhYmFzZVwiO1xuaW1wb3J0IHtcbiAgdHlwZSBJTmV0d29ya1Byb3BzLFxuICBOZXR3b3JrRmFjdG9yeSxcbiAgTmV0d29ya1xufSBmcm9tIFwiLi9wYXR0ZXJucy9hd3MvbmV0d29ya1wiO1xuaW1wb3J0IHsgU3RhbmRhcmRUYWdzQXNwZWN0IH0gZnJvbSBcIi4vdXRpbHMvc3RhbmRhcmRUYWdzQXNwZWN0XCI7XG5pbXBvcnQgeyBnZXRDb25maWcgfSBmcm9tIFwiLi91dGlscy9nZXRDb25maWdcIjtcbmltcG9ydCBNb25pdG9yaW5nUm9sZUZhY3RvcnkgZnJvbSBcIi4vcmVzb3VyY2VzL2F3cy9tb25pdG9yaW5nL21vbml0b3JpbmdSb2xlXCI7XG5pbXBvcnQgeyBGSkFMTF9NT05JVE9SSU5HX0NPTkZJRyB9IGZyb20gXCIuL2NvbmZpZy9tb25pdG9yaW5nXCI7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBBcHAuZ2V0QXBwKCkuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIENyZWF0ZSBhcHAgd2l0aCBuZXcgVlBDXG4gKiBjb25zdCBhcHAgPSBBcHAuZ2V0QXBwKGFwcE5hbWUsIHtcbiAqICAgbmV0d29yazogeyBtYXhBenM6IDIsIG5hdEdhdGV3YXlzOiBmYWxzZSB9XG4gKiB9KTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ3JlYXRlIGFwcCB1c2luZyBleGlzdGluZyBWUENcbiAqIGNvbnN0IGFwcCA9IEFwcC5nZXRBcHAoYXBwTmFtZSwge1xuICogICBuZXR3b3JrOiB7IHVzZUV4aXN0aW5nOiBcInZwYy0xMjM0NTY3OFwiIH1cbiAqIH0pO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDcmVhdGUgYXBwIHdpdGhvdXQgbmV0d29yayAoUzMtb25seSBhcHBzKVxuICogY29uc3QgYXBwID0gQXBwLmdldEFwcChhcHBOYW1lLCB7IG5ldHdvcms6IGZhbHNlIH0pO1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElBcHBPcHRpb25zIHtcbiAgLyoqXG4gICAqIE5ldHdvcmsgY29uZmlndXJhdGlvbi5cbiAgICogLSBPYmplY3Qgd2l0aCBJTmV0d29ya1Byb3BzOiBDcmVhdGUgbmV3IFZQQyB3aXRoIGNvbmZpZ1xuICAgKiAtIGZhbHNlOiBObyBuZXR3b3JrIChmb3IgUzMtb25seSBhcHBzKVxuICAgKiAtIHsgdXNlRXhpc3Rpbmc6IHN0cmluZyB9OiBVc2UgZXhpc3RpbmcgVlBDIGJ5IElEXG4gICAqL1xuICBuZXR3b3JrPzogSU5ldHdvcmtQcm9wcyB8IGZhbHNlIHwgeyB1c2VFeGlzdGluZzogc3RyaW5nIH07XG59XG5cbi8qKlxuICogVGhlIGJhc2ljIGNvcm5lci1zdG9uZSBvZiBhbGwgRmphbGwtaG9zdGVkIGFwcGxpY2F0aW9ucy5cbiAqICBUaGlzIGNsYXNzIGlzIGEgc2luZ2xldG9uIGFuZCBzaG91bGQgYmUgdXNlZCB0byBjcmVhdGUgYW5kIG1hbmFnZVxuICogICBhbGwgcmVzb3VyY2VzIGluIGEgRmphbGwgYXBwbGljYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBBcHAgZXh0ZW5kcyBDZGtBcHAge1xuICBwcml2YXRlIHN0YXRpYyBpbnN0YW5jZTogQXBwIHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSBuYW1lOiBzdHJpbmc7XG4gIHByaXZhdGUgc3RhY2tzOiB7IFtrZXk6IHN0cmluZ106IEF3c1N0YWNrIH0gPSB7fTtcblxuICBwcml2YXRlIHZwYz86IElWcGM7XG4gIHByaXZhdGUgYWRkaXRpb25hbFZwY3M6IE1hcDxzdHJpbmcsIElWcGM+ID0gbmV3IE1hcCgpO1xuICBwcml2YXRlIGRlZmF1bHRFY3I6IEVjcjtcbiAgcHJpdmF0ZSBkZWZhdWx0TW9uaXRvcmluZ1JvbGU6IFJvbGU7XG4gIHByaXZhdGUgbmV0d29ya0Rpc2FibGVkID0gZmFsc2U7XG4gIHByaXZhdGUgZ2xvYmFsVGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICBwcml2YXRlIGFzcGVjdEFwcGxpZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKG5hbWU/OiBzdHJpbmcsIG9wdGlvbnM/OiBJQXBwT3B0aW9ucykge1xuICAgIHN1cGVyKCk7XG5cbiAgICBBcHAuaW5zdGFuY2UgPSB0aGlzO1xuXG4gICAgaWYgKG5hbWUpIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgZWxzZSB0aGlzLm5hbWUgPSBcIkZqYWxsQXBwXCI7XG5cbiAgICB0aGlzLmluaXRpYWxpemVTdGFuZGFyZFRhZ3MoKTtcblxuICAgIC8vIEluaXRpYWxpc2UgbmV0d29yayBpbW1lZGlhdGVseSBpZiBjb25maWd1cmVkXG4gICAgaWYgKG9wdGlvbnM/Lm5ldHdvcmsgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLm5ldHdvcmtEaXNhYmxlZCA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChvcHRpb25zPy5uZXR3b3JrKSB7XG4gICAgICB0aGlzLmluaXRpYWxpc2VOZXR3b3JrKG9wdGlvbnMubmV0d29yayk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpc2UgdGhlIG5ldHdvcmsgKFZQQykgZm9yIHRoaXMgYXBwbGljYXRpb24uXG4gICAqL1xuICBwcml2YXRlIGluaXRpYWxpc2VOZXR3b3JrKFxuICAgIGNvbmZpZzogSU5ldHdvcmtQcm9wcyB8IHsgdXNlRXhpc3Rpbmc6IHN0cmluZyB9XG4gICk6IHZvaWQge1xuICAgIGNvbnN0IG5ldHdvcmtTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdE5ldHdvcmtTdGFjaygpO1xuXG4gICAgaWYgKFwidXNlRXhpc3RpbmdcIiBpbiBjb25maWcpIHtcbiAgICAgIHRoaXMudnBjID0gVnBjLmZyb21Mb29rdXAoXG4gICAgICAgIG5ldHdvcmtTdGFjay5nZXRTdGFjaygpLFxuICAgICAgICBgJHt0aGlzLm5hbWV9SW1wb3J0ZWRWcGNgLFxuICAgICAgICB7XG4gICAgICAgICAgdnBjSWQ6IGNvbmZpZy51c2VFeGlzdGluZ1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBuZXR3b3JrID0gTmV0d29ya0ZhY3RvcnkuYnVpbGQoYCR7dGhpcy5uYW1lfVZwY2AsIGNvbmZpZykoXG4gICAgICAgIHRoaXMsXG4gICAgICAgIG5ldHdvcmtTdGFjay5nZXRTdGFjaygpXG4gICAgICApO1xuICAgICAgdGhpcy52cGMgPSBuZXR3b3JrLmdldFZwYygpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQvQ3JlYXRlIGEgYmFzaWMgRmphbGwgQXBwbGljYXRpb24gd2l0aCBzdGFuZGFyZCB0YWdzIGFwcGxpZWQuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIEFwcGxpY2F0aW9uIG5hbWVcbiAgICogQHBhcmFtIG9wdGlvbnMgQ29uZmlndXJhdGlvbiBvcHRpb25zIGluY2x1ZGluZyBuZXR3b3JrIHNldHRpbmdzXG4gICAqIEByZXR1cm5zIHtBcHB9XG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIC8vIENyZWF0ZSBhcHAgd2l0aCBuZXcgVlBDXG4gICAqIGNvbnN0IGFwcCA9IEFwcC5nZXRBcHAoYXBwTmFtZSwge1xuICAgKiAgIG5ldHdvcms6IHsgbWF4QXpzOiAyLCBuYXRHYXRld2F5czogZmFsc2UgfVxuICAgKiB9KTtcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogLy8gQ3JlYXRlIGFwcCB1c2luZyBleGlzdGluZyBWUENcbiAgICogY29uc3QgYXBwID0gQXBwLmdldEFwcChhcHBOYW1lLCB7XG4gICAqICAgbmV0d29yazogeyB1c2VFeGlzdGluZzogXCJ2cGMtMTIzNDU2NzhcIiB9XG4gICAqIH0pO1xuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBDcmVhdGUgYXBwIHdpdGhvdXQgbmV0d29yayAoUzMtb25seSBhcHBzKVxuICAgKiBjb25zdCBhcHAgPSBBcHAuZ2V0QXBwKGFwcE5hbWUsIHsgbmV0d29yazogZmFsc2UgfSk7XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldEFwcChuYW1lPzogc3RyaW5nLCBvcHRpb25zPzogSUFwcE9wdGlvbnMpOiBBcHAge1xuICAgIGNvbnN0IGFwcCA9IEFwcC5nZXRJbnN0YW5jZShuYW1lLCBvcHRpb25zKTtcbiAgICBhcHAuaW5pdGlhbGl6ZVN0YW5kYXJkVGFncygpO1xuICAgIHJldHVybiBhcHA7XG4gIH1cblxuICAvKipcbiAgICogR2V0L0NyZWF0ZSB0aGUgc2luZ2xldG9uIGluc3RhbmNlIG9mIHRoZSBBcHBcbiAgICogQHBhcmFtIG5hbWUgQXBwbGljYXRpb24gbmFtZVxuICAgKiBAcGFyYW0gb3B0aW9ucyBDb25maWd1cmF0aW9uIG9wdGlvbnMgaW5jbHVkaW5nIG5ldHdvcmsgc2V0dGluZ3NcbiAgICogQHJldHVybnMge0FwcH1cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0SW5zdGFuY2UobmFtZT86IHN0cmluZywgb3B0aW9ucz86IElBcHBPcHRpb25zKTogQXBwIHtcbiAgICAvLyBEZXNwaXRlIHN1cHBvcnRpbmcgbXVsdGlwbGUgc3RhY2tzIHlvdSBjYW4gc3RpbGwgb25seSBldmVyXG4gICAgLy8gaGF2ZSBhIHNpbmdsZSBBcHBsaWNhdGlvbiBwZXIgQ0RLIGRlcGxveW1lbnRcbiAgICBpZiAoIUFwcC5pbnN0YW5jZSkge1xuICAgICAgQXBwLmluc3RhbmNlID0gbmV3IEFwcChuYW1lLCBvcHRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gQXBwLmluc3RhbmNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGEgc3RhY2sgYnkga2V5LiBJZiB0aGUgc3RhY2sgZG9lcyBub3QgZXhpc3QsIGl0IHdpbGwgYmUgY3JlYXRlZC5cbiAgICogIERlcGVuZGVuY2llcyBhcmUgb25seSBhcHBsaWVkIHRoZSBmaXJzdCB0aW1lIGEgc3RhY2sgaXMgY3JlYXRlZC5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFRoZSBrZXkgb2YgdGhlIHN0YWNrXG4gICAqIEBwYXJhbSBkZXBlbmRlbmNpZXMgLSBUaGUgc3RhY2socykgdGhhdCB0aGlzIHN0YWNrIGRlcGVuZHMgb25cbiAgICogQHJldHVybnMge0F3c1N0YWNrfVxuICAgKi9cbiAgcHVibGljIGdldFN0YWNrKGtleTogc3RyaW5nLCBkZXBlbmRlbmNpZXM/OiBBd3NTdGFjayB8IEF3c1N0YWNrW10pOiBBd3NTdGFjayB7XG4gICAgLy8gQXBwbHkgdGhlIGFzcGVjdCBvbmNlIGJlZm9yZSBjcmVhdGluZyB0aGUgZmlyc3Qgc3RhY2tcbiAgICBpZiAoXG4gICAgICAhdGhpcy5hc3BlY3RBcHBsaWVkICYmXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLnN0YWNrcykubGVuZ3RoID09PSAwICYmXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmdsb2JhbFRhZ3MpLmxlbmd0aCA+IDBcbiAgICApIHtcbiAgICAgIHRoaXMuYXBwbHlUYWdzQXNwZWN0KCk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnN0YWNrc1trZXldKSB7XG4gICAgICB0aGlzLnN0YWNrc1trZXldID0gbmV3IEF3c1N0YWNrKGtleSwgZGVwZW5kZW5jaWVzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5zdGFja3Nba2V5XTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZSBkZWZhdWx0IGNvbXB1dGUgc3RhY2sgLSBuYW1lZCBhcyBgJHt0aGlzLm5hbWV9Q29tcHV0ZWBcbiAgICpcbiAgICogT25seSBkZXBlbmRzIG9uIE5ldHdvcmsuIERhdGFiYXNlIGRlcGVuZGVuY3kgaXMgYWRkZWQgYXV0b21hdGljYWxseVxuICAgKiBieSBDREsgd2hlbiBjb21wdXRlIHJlc291cmNlcyByZWZlcmVuY2UgZGF0YWJhc2UgcmVzb3VyY2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7QXdzU3RhY2t9XG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdENvbXB1dGVTdGFjaygpOiBBd3NTdGFjayB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhY2soYCR7dGhpcy5uYW1lfUNvbXB1dGVgLCB0aGlzLmdldERlZmF1bHROZXR3b3JrU3RhY2soKSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgZGVmYXVsdCBuZXR3b3JrIHN0YWNrIC0gbmFtZWQgYXMgYCR7dGhpcy5uYW1lfU5ldHdvcmtgXG4gICAqIEByZXR1cm5zIHtBd3NTdGFja31cbiAgICovXG4gIHB1YmxpYyBnZXREZWZhdWx0TmV0d29ya1N0YWNrKCk6IEF3c1N0YWNrIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdGFjayhgJHt0aGlzLm5hbWV9TmV0d29ya2ApO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGRlZmF1bHQgZGF0YWJhc2Ugc3RhY2sgLSBuYW1lZCBhcyBgJHt0aGlzLm5hbWV9RGF0YWJhc2VgXG4gICAqIEByZXR1cm5zIHtBd3NTdGFja31cbiAgICovXG4gIHB1YmxpYyBnZXREZWZhdWx0RGF0YWJhc2VTdGFjaygpOiBBd3NTdGFjayB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhY2soYCR7dGhpcy5uYW1lfURhdGFiYXNlYCwgdGhpcy5nZXREZWZhdWx0TmV0d29ya1N0YWNrKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGRlZmF1bHQgc3RvcmFnZSBzdGFjayAtIG5hbWVkIGFzIGAke3RoaXMubmFtZX1TdG9yYWdlYFxuICAgKiBAcmV0dXJucyB7QXdzU3RhY2t9XG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdFN0b3JhZ2VTdGFjaygpOiBBd3NTdGFjayB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3RhY2soYCR7dGhpcy5uYW1lfVN0b3JhZ2VgLCB0aGlzLmdldERlZmF1bHROZXR3b3JrU3RhY2soKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgVlBDIGJ5IG5hbWUuIElmIG5vIG5hbWUgaXMgcHJvdmlkZWQsIHJldHVybnMgdGhlIGRlZmF1bHQgVlBDLlxuICAgKlxuICAgKiBUaGlzIGlzIGEgcHVyZSBnZXR0ZXIgLSBpdCBuZXZlciBjcmVhdGVzIGluZnJhc3RydWN0dXJlLlxuICAgKiBOZXR3b3JrIG11c3QgYmUgY29uZmlndXJlZCB2aWEgQXBwLmdldEFwcCgpIG9wdGlvbnMgb3IgYXBwLmFkZE5ldHdvcmsoKS5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgLSBPcHRpb25hbCBuYW1lIG9mIHRoZSBWUEMgdG8gcmV0cmlldmUuIElmIG5vdCBwcm92aWRlZCwgcmV0dXJucyB0aGUgZGVmYXVsdCBWUEMuXG4gICAqIEByZXR1cm5zIHtJVnBjfSBUaGUgY29uZmlndXJlZCBWUENcbiAgICogQHRocm93cyB7RXJyb3J9IElmIG5ldHdvcmsgaXMgZGlzYWJsZWQsIG5vdCBjb25maWd1cmVkLCBvciBuYW1lZCBWUEMgbm90IGZvdW5kXG4gICAqL1xuICBwdWJsaWMgZ2V0VnBjKG5hbWU/OiBzdHJpbmcpOiBJVnBjIHtcbiAgICBpZiAodGhpcy5uZXR3b3JrRGlzYWJsZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJOZXR3b3JrIGlzIGRpc2FibGVkIGZvciB0aGlzIGFwcC4gQ2Fubm90IGdldCBWUEMuIFwiICtcbiAgICAgICAgICBcIlBhc3MgbmV0d29yayBjb25maWcgdG8gQXBwLmdldEFwcCgpIHRvIGVuYWJsZSBuZXR3b3JraW5nLlwiXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIElmIG5hbWUgaXMgcHJvdmlkZWQsIGxvb2sgaW4gYWRkaXRpb25hbCBWUENzIGZpcnN0XG4gICAgaWYgKG5hbWUpIHtcbiAgICAgIGNvbnN0IGFkZGl0aW9uYWxWcGMgPSB0aGlzLmFkZGl0aW9uYWxWcGNzLmdldChuYW1lKTtcbiAgICAgIGlmIChhZGRpdGlvbmFsVnBjKSB7XG4gICAgICAgIHJldHVybiBhZGRpdGlvbmFsVnBjO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgVlBDICcke25hbWV9JyBub3QgZm91bmQuIEF2YWlsYWJsZSBWUENzOiAke3RoaXMuZ2V0VnBjTmFtZXMoKS5qb2luKFwiLCBcIil9LiBgICtcbiAgICAgICAgICBcIkNyZWF0ZSBhZGRpdGlvbmFsIFZQQ3MgdXNpbmcgYXBwLmFkZE5ldHdvcmsoTmV0d29ya0ZhY3RvcnkuYnVpbGQoLi4uKSkuXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIGRlZmF1bHQgVlBDXG4gICAgaWYgKCF0aGlzLnZwYykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIk5ldHdvcmsgbm90IGNvbmZpZ3VyZWQuIFBhc3MgbmV0d29yayBjb25maWcgdG8gQXBwLmdldEFwcCgpLiBcIiArXG4gICAgICAgICAgXCJFeGFtcGxlOiBBcHAuZ2V0QXBwKGFwcE5hbWUsIHsgbmV0d29yazogeyBtYXhBenM6IDIgfSB9KVwiXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy52cGM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBuYW1lcyBvZiBhbGwgYXZhaWxhYmxlIFZQQ3MuXG4gICAqXG4gICAqIEByZXR1cm5zIHtzdHJpbmdbXX0gQXJyYXkgb2YgVlBDIG5hbWVzLiBJbmNsdWRlcyBcImRlZmF1bHRcIiBpZiB0aGUgZGVmYXVsdCBWUEMgaXMgY29uZmlndXJlZC5cbiAgICovXG4gIHB1YmxpYyBnZXRWcGNOYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgbmFtZXM6IHN0cmluZ1tdID0gW107XG4gICAgaWYgKHRoaXMudnBjKSB7XG4gICAgICBuYW1lcy5wdXNoKFwiZGVmYXVsdFwiKTtcbiAgICB9XG4gICAgbmFtZXMucHVzaCguLi50aGlzLmFkZGl0aW9uYWxWcGNzLmtleXMoKSk7XG4gICAgcmV0dXJuIG5hbWVzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJlaXZlIHRoZSBkZWZhdWx0IGFwcGxpY2F0aW9uIGNvbnRhaW5lciByZWdpc3RyeS4gSWYgdGhlIHJlZ2lzdHJ5IGRvZXMgbm90IGV4aXN0XG4gICAqICBpdCB3aWxsIGJlIGNyZWF0ZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0RGVmYXVsdENvbnRhaW5lclJlZ2lzdHJ5KCk6IEVjciB7XG4gICAgaWYgKCF0aGlzLmRlZmF1bHRFY3IpIHtcbiAgICAgIGNvbnN0IG5ldHdvcmtTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdE5ldHdvcmtTdGFjaygpO1xuXG4gICAgICB0aGlzLmRlZmF1bHRFY3IgPSBFY3JGYWN0b3J5LmJ1aWxkKGAke3RoaXMubmFtZX1FY3JgKShcbiAgICAgICAgdGhpcyxcbiAgICAgICAgbmV0d29ya1N0YWNrLmdldFN0YWNrKClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdEVjcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjcm9zcy1hY2NvdW50IG1vbml0b3Jpbmcgcm9sZSBpbiB0aGUgTmV0d29yayBzdGFjayB0aGF0IGFsbG93c1xuICAgKiB0aGUgRmphbGwgd2ViYXBwIHRvIHF1ZXJ5IENsb3VkV2F0Y2ggbWV0cmljcyBhbmQgRUNTIHN0YXR1cy5cbiAgICpcbiAgICogQHBhcmFtIHdlYmFwcEFjY291bnRJZCAtIE9wdGlvbmFsIEFXUyBhY2NvdW50IElEIG9mIHRoZSBGamFsbCB3ZWJhcHAuIERlZmF1bHRzIHRvIGNvbmZpZ3VyZWQgcGxhdGZvcm0gYWNjb3VudC5cbiAgICogQHJldHVybnMge1JvbGV9IFRoZSBjcmVhdGVkIG1vbml0b3Jpbmcgcm9sZVxuICAgKi9cbiAgcHVibGljIGNyZWF0ZU1vbml0b3JpbmdSb2xlKHdlYmFwcEFjY291bnRJZD86IHN0cmluZyk6IFJvbGUge1xuICAgIGlmICghdGhpcy5kZWZhdWx0TW9uaXRvcmluZ1JvbGUpIHtcbiAgICAgIGNvbnN0IG5ldHdvcmtTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdE5ldHdvcmtTdGFjaygpO1xuICAgICAgY29uc3QgYWNjb3VudElkID1cbiAgICAgICAgd2ViYXBwQWNjb3VudElkIHx8IEZKQUxMX01PTklUT1JJTkdfQ09ORklHLndlYmFwcEF3c0FjY291bnRJZDtcblxuICAgICAgdGhpcy5kZWZhdWx0TW9uaXRvcmluZ1JvbGUgPSBNb25pdG9yaW5nUm9sZUZhY3RvcnkuYnVpbGQoXG4gICAgICAgIGAke3RoaXMubmFtZX1Nb25pdG9yaW5nUm9sZWAsXG4gICAgICAgIHtcbiAgICAgICAgICB3ZWJhcHBBY2NvdW50SWQ6IGFjY291bnRJZCxcbiAgICAgICAgICBhcHBOYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgcm9sZU5hbWVQcmVmaXg6IEZKQUxMX01PTklUT1JJTkdfQ09ORklHLnJvbGVOYW1lUHJlZml4LFxuICAgICAgICAgIHJvbGVQYXRoOiBGSkFMTF9NT05JVE9SSU5HX0NPTkZJRy5yb2xlUGF0aFxuICAgICAgICB9XG4gICAgICApKHRoaXMsIG5ldHdvcmtTdGFjay5nZXRTdGFjaygpKTtcblxuICAgICAgLy8gUmVnaXN0ZXIgdGhlIHJvbGUgd2l0aCB0aGUgbmV0d29yayBzdGFja1xuICAgICAgbmV0d29ya1N0YWNrLmFkZENvbnN0cnVjdCh0aGlzLmRlZmF1bHRNb25pdG9yaW5nUm9sZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdE1vbml0b3JpbmdSb2xlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIGNvbXB1dGUgcmVzb3VyY2UgdG8gdGhlIGRlZmF1bHQgY29tcHV0ZSBzdGFjayB1c2luZyB0aGUgZmFjdG9yeSBwYXR0ZXJuLlxuICAgKiBBdXRvbWF0aWNhbGx5IGNyZWF0ZXMgbW9uaXRvcmluZyByb2xlIGlmIG5vdCBhbHJlYWR5IGNyZWF0ZWQuXG4gICAqL1xuICBwdWJsaWMgYWRkQ29tcHV0ZShmbjogKGFwcDogQXBwLCBzY29wZTogQ29uc3RydWN0KSA9PiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICAvLyBBdXRvLWNyZWF0ZSBtb25pdG9yaW5nIHJvbGUgd2hlbiBjb21wdXRlIGlzIGFkZGVkXG4gICAgaWYgKCF0aGlzLmRlZmF1bHRNb25pdG9yaW5nUm9sZSkge1xuICAgICAgdGhpcy5jcmVhdGVNb25pdG9yaW5nUm9sZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXB1dGVTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdENvbXB1dGVTdGFjaygpO1xuICAgIGNvbXB1dGVTdGFjay5hZGRDb25zdHJ1Y3QoZm4odGhpcywgY29tcHV0ZVN0YWNrLmdldFN0YWNrKCkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSBhZGQgYSByZXNvdXJjZSB0byB0aGUgZGVmYXVsdCBjb21wdXRlIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIGFkZENvbXB1dGVSZXNvdXJjZShyZXNvdXJjZTogQ29uc3RydWN0KTogdm9pZCB7XG4gICAgY29uc3QgY29tcHV0ZVN0YWNrID0gdGhpcy5nZXREZWZhdWx0Q29tcHV0ZVN0YWNrKCk7XG4gICAgY29tcHV0ZVN0YWNrLmFkZENvbnN0cnVjdChyZXNvdXJjZSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgZGF0YWJhc2UgcmVzb3VyY2UgdG8gdGhlIGRlZmF1bHQgZGF0YWJhc2Ugc3RhY2sgdXNpbmcgdGhlIGZhY3RvcnkgcGF0dGVybi5cbiAgICovXG4gIHB1YmxpYyBhZGREYXRhYmFzZShmbjogKGFwcDogQXBwLCBzY29wZTogQ29uc3RydWN0KSA9PiBDb25zdHJ1Y3QpOiBEYXRhYmFzZSB7XG4gICAgY29uc3QgZGF0YWJhc2VTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdERhdGFiYXNlU3RhY2soKTtcbiAgICBjb25zdCBkYXRhYmFzZUNvbnN0cnVjdCA9IGZuKHRoaXMsIGRhdGFiYXNlU3RhY2suZ2V0U3RhY2soKSk7XG4gICAgZGF0YWJhc2VTdGFjay5hZGRDb25zdHJ1Y3QoZGF0YWJhc2VDb25zdHJ1Y3QpO1xuXG4gICAgcmV0dXJuIGRhdGFiYXNlQ29uc3RydWN0IGFzIHVua25vd24gYXMgRGF0YWJhc2U7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGEgc3RvcmFnZSByZXNvdXJjZSAoUzMpIHRvIHRoZSBkZWZhdWx0IHN0b3JhZ2Ugc3RhY2sgdXNpbmcgdGhlIGZhY3RvcnkgcGF0dGVybi5cbiAgICovXG4gIHB1YmxpYyBhZGRTdG9yYWdlKGZuOiAoYXBwOiBBcHAsIHNjb3BlOiBDb25zdHJ1Y3QpID0+IENvbnN0cnVjdCk6IGFueSB7XG4gICAgY29uc3Qgc3RvcmFnZVN0YWNrID0gdGhpcy5nZXREZWZhdWx0U3RvcmFnZVN0YWNrKCk7XG4gICAgY29uc3Qgc3RvcmFnZUNvbnN0cnVjdCA9IGZuKHRoaXMsIHN0b3JhZ2VTdGFjay5nZXRTdGFjaygpKTtcbiAgICBzdG9yYWdlU3RhY2suYWRkQ29uc3RydWN0KHN0b3JhZ2VDb25zdHJ1Y3QpO1xuXG4gICAgcmV0dXJuIHN0b3JhZ2VDb25zdHJ1Y3Q7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGFuIGFkZGl0aW9uYWwgbmV0d29yayAoVlBDKSB0byB0aGUgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIFVzZSB0aGlzIHRvIGNyZWF0ZSBhZGRpdGlvbmFsIFZQQ3MgYmV5b25kIHRoZSBkZWZhdWx0IFZQQyBjb25maWd1cmVkIHZpYSBBcHAuZ2V0QXBwKCkuXG4gICAqIEFkZGl0aW9uYWwgVlBDcyBjYW4gYmUgcmV0cmlldmVkIGJ5IG5hbWUgdXNpbmcgYXBwLmdldFZwYyhuYW1lKS5cbiAgICpcbiAgICogQHBhcmFtIGZuIC0gRmFjdG9yeSBmdW5jdGlvbiB0aGF0IGNyZWF0ZXMgdGhlIE5ldHdvcmsgY29uc3RydWN0XG4gICAqIEByZXR1cm5zIHtOZXR3b3JrfSBUaGUgY3JlYXRlZCBOZXR3b3JrIGNvbnN0cnVjdFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBjb25zdCBpc29sYXRlZFZwYyA9IGFwcC5hZGROZXR3b3JrKFxuICAgKiAgIE5ldHdvcmtGYWN0b3J5LmJ1aWxkKFwiSXNvbGF0ZWRWcGNcIiwgeyBtYXhBenM6IDIsIG5hdEdhdGV3YXlzOiBmYWxzZSB9KVxuICAgKiApO1xuICAgKi9cbiAgcHVibGljIGFkZE5ldHdvcmsoZm46IChhcHA6IEFwcCwgc2NvcGU6IENvbnN0cnVjdCkgPT4gTmV0d29yayk6IE5ldHdvcmsge1xuICAgIGNvbnN0IG5ldHdvcmtTdGFjayA9IHRoaXMuZ2V0RGVmYXVsdE5ldHdvcmtTdGFjaygpO1xuICAgIGNvbnN0IG5ldHdvcmsgPSBmbih0aGlzLCBuZXR3b3JrU3RhY2suZ2V0U3RhY2soKSk7XG4gICAgY29uc3QgdnBjTmFtZSA9IG5ldHdvcmsubm9kZS5pZDtcblxuICAgIC8vIFN0b3JlIGluIGFkZGl0aW9uYWwgVlBDcyBtYXAgZm9yIHJldHJpZXZhbCB2aWEgZ2V0VnBjKG5hbWUpXG4gICAgdGhpcy5hZGRpdGlvbmFsVnBjcy5zZXQodnBjTmFtZSwgbmV0d29yay5nZXRWcGMoKSk7XG4gICAgbmV0d29ya1N0YWNrLmFkZENvbnN0cnVjdChuZXR3b3JrKTtcblxuICAgIHJldHVybiBuZXR3b3JrO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbnVhbGx5IGFkZCBhIHJlc291cmNlIHRvIHRoZSBkZWZhdWx0IGRhdGFiYXNlIHN0YWNrLlxuICAgKi9cbiAgcHVibGljIGFkZERhdGFiYXNlUmVzb3VyY2UocmVzb3VyY2U6IENvbnN0cnVjdCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGFiYXNlU3RhY2sgPSB0aGlzLmdldERlZmF1bHREYXRhYmFzZVN0YWNrKCk7XG4gICAgZGF0YWJhc2VTdGFjay5hZGRDb25zdHJ1Y3QocmVzb3VyY2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbnVhbGx5IGFkZCBhIHJlc291cmNlIHRvIHRoZSBkZWZhdWx0IHN0b3JhZ2Ugc3RhY2suXG4gICAqL1xuICBwdWJsaWMgYWRkU3RvcmFnZVJlc291cmNlKHJlc291cmNlOiBDb25zdHJ1Y3QpOiB2b2lkIHtcbiAgICBjb25zdCBzdG9yYWdlU3RhY2sgPSB0aGlzLmdldERlZmF1bHRTdG9yYWdlU3RhY2soKTtcbiAgICBzdG9yYWdlU3RhY2suYWRkQ29uc3RydWN0KHJlc291cmNlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIHN0YW5kYXJkIHRhZ3NcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZVN0YW5kYXJkVGFncygpOiB2b2lkIHtcbiAgICBjb25zdCBjb25maWcgPSBnZXRDb25maWcoKTtcbiAgICB0aGlzLmdsb2JhbFRhZ3MgPSB7XG4gICAgICBcImZqYWxsOmNvc3RBbGxvY2F0aW9uOmVudmlyb25tZW50XCI6IGNvbmZpZy5lbnZpcm9ubWVudCxcbiAgICAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246c2VydmljZVwiOiB0aGlzLm5hbWVcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEFwcGx5IGFsbCB0YWdzIGFzIGEgc2luZ2xlIGFzcGVjdFxuICAgKi9cbiAgcHJpdmF0ZSBhcHBseVRhZ3NBc3BlY3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmFzcGVjdEFwcGxpZWQgJiYgT2JqZWN0LmtleXModGhpcy5nbG9iYWxUYWdzKS5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBBcHBseSBPTkUgYXNwZWN0IHdpdGggYWxsIHRhZ3MgdXNpbmcgdGhlIENESyB2Mi4yMDYuMCsgY29tcGF0aWJsZSBTdGFuZGFyZFRhZ3NBc3BlY3RcbiAgICAgIEFzcGVjdHMub2YodGhpcykuYWRkKG5ldyBTdGFuZGFyZFRhZ3NBc3BlY3QodGhpcy5nbG9iYWxUYWdzKSk7XG4gICAgICB0aGlzLmFzcGVjdEFwcGxpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgY3VzdG9tIHRhZ3MgdG8gYWxsIHJlc291cmNlcyBpbiB0aGUgYXBwXG4gICAqIEBwYXJhbSB0YWdzIEN1c3RvbSB0YWdzIHRvIGFwcGx5IHRvIGFsbCByZXNvdXJjZXNcbiAgICogQGV4YW1wbGVcbiAgICogYXBwLmFkZFRhZ3Moe1xuICAgKiAgIFwiZmphbGw6Y29zdEFsbG9jYXRpb246b3duZXJcIjogXCJwbGF0Zm9ybS10ZWFtXCIsXG4gICAqICAgXCJmamFsbDpjb3N0QWxsb2NhdGlvbjpjb3N0LWNlbnRlclwiOiBcIkNDLTEyM1wiLFxuICAgKiAgIFwidGVhbTpzbGFjay1jaGFubmVsXCI6IFwiI3BsYXRmb3JtLWFsZXJ0c1wiXG4gICAqIH0pO1xuICAgKi9cbiAgcHVibGljIGFkZFRhZ3ModGFnczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IEFwcCB7XG4gICAgLy8gTWVyZ2UgdGFncyBidXQgZG9uJ3QgYXBwbHkgYXNwZWN0IHlldFxuICAgIHRoaXMuZ2xvYmFsVGFncyA9IHtcbiAgICAgIC4uLnRoaXMuZ2xvYmFsVGFncyxcbiAgICAgIC4uLnRhZ3NcbiAgICB9O1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEFwcDtcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fjall/components-infrastructure",
|
|
3
|
-
"version": "0.77.
|
|
3
|
+
"version": "0.77.2",
|
|
4
4
|
"bin": {
|
|
5
5
|
"infrastructure": "bin/infrastructure.js"
|
|
6
6
|
},
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@aws-sdk/client-organizations": "^3.716.0",
|
|
38
|
-
"@fjall/util": "^0.77.
|
|
38
|
+
"@fjall/util": "^0.77.2",
|
|
39
39
|
"@pepperize/cdk-organizations": "^0.7.135",
|
|
40
40
|
"cdk-time-sleep": "^1.0.0",
|
|
41
41
|
"constructs": "^10.0.0",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"overrides": {
|
|
45
45
|
"@smithy/core": "2.5.5"
|
|
46
46
|
},
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "c531eef5c34492e4c61b949c1c74d37fc7ecf77f",
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"aws-cdk": "^2.206.0",
|
|
50
50
|
"aws-cdk-lib": "^2.206.0",
|