@pipeline-builder/pipeline-core 4.4.5 → 4.4.7
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/lib/cdk.js +1 -1
- package/lib/config/app-config.js +1 -1
- package/lib/config/aws-config-cdk.js +1 -1
- package/lib/config/config-types.d.ts +36 -1
- package/lib/config/config-types.js +1 -1
- package/lib/config/handler-constants.js +1 -1
- package/lib/config/infrastructure-config.js +8 -2
- package/lib/config/server-config.js +1 -1
- package/lib/config/service-client.js +1 -1
- package/lib/core/artifact-manager.js +1 -1
- package/lib/core/audit-correlation.js +1 -1
- package/lib/core/id-generator.js +1 -1
- package/lib/core/metadata-builder.js +1 -1
- package/lib/core/metadata-helpers.js +1 -1
- package/lib/core/network-types.js +1 -1
- package/lib/core/network.js +1 -1
- package/lib/core/pipeline-helpers.js +1 -1
- package/lib/core/pipeline-registration.js +1 -1
- package/lib/core/pipeline-types.js +1 -1
- package/lib/core/platform-tls.js +1 -1
- package/lib/core/plugin-contract.js +1 -1
- package/lib/core/plugin-lookup-envelope.js +1 -1
- package/lib/core/quota-exceeded.js +1 -1
- package/lib/core/role-types.js +1 -1
- package/lib/core/role.js +1 -1
- package/lib/core/runtime-check.js +1 -1
- package/lib/core/security-group-types.js +1 -1
- package/lib/core/security-group.js +1 -1
- package/lib/core/security-reports.js +1 -1
- package/lib/core/step-manifest.js +1 -1
- package/lib/core/synth-failure.js +1 -1
- package/lib/handlers/bundle/index.mjs +43 -0
- package/lib/handlers/platform-credential.js +1 -1
- package/lib/handlers/plugin-lookup-handler.js +1 -1
- package/lib/index.js +1 -1
- package/lib/pipeline/deploy-attribution.js +1 -1
- package/lib/pipeline/pipeline-builder.js +1 -1
- package/lib/pipeline/pipeline-configuration.js +1 -1
- package/lib/pipeline/plugin-lookup.js +18 -26
- package/lib/pipeline/plugin-spec.js +1 -1
- package/lib/pipeline/runtime-vuln-check-step.js +1 -1
- package/lib/pipeline/source-builder.js +1 -1
- package/lib/pipeline/source-types.js +1 -1
- package/lib/pipeline/stage-builder.js +1 -1
- package/lib/pipeline/step-manifest-recorder.js +1 -1
- package/lib/pipeline/step-types.js +1 -1
- package/lib/pipeline/structure-preview.js +1 -1
- package/lib/template/draft.js +1 -1
- package/lib/template/evaluator.js +1 -1
- package/lib/template/index.js +1 -1
- package/lib/template/plugin-resolver.js +1 -1
- package/lib/template/tokenizer.js +1 -1
- package/lib/template/topo-sort.js +1 -1
- package/lib/template/validate.js +1 -1
- package/lib/template/walker.js +1 -1
- package/package.json +8 -8
package/lib/core/id-generator.js
CHANGED
|
@@ -47,4 +47,4 @@ export class UniqueId {
|
|
|
47
47
|
return this._stackId;
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWQtZ2VuZXJhdG9yLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9pZC1nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBb0NwQyxNQUFNLE9BQU8sUUFBUTtJQUNGLFNBQVMsR0FBRyxJQUFJLEdBQUcsRUFBa0IsQ0FBQztJQUN0QyxRQUFRLENBQVM7SUFFbEMsWUFBWSxJQUFxQjtRQUMvQiwwRUFBMEU7UUFDMUUseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQzthQUNqQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUM1RCxNQUFNLENBQUMsS0FBSyxDQUFDO2FBQ2IsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNqQixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsS0FBSyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLENBQUMsQ0FBQztRQUN0RCxDQUFDO1FBRUQsMkRBQTJEO1FBQzNELElBQUksT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE1BQU0sS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVqQyx5RUFBeUU7UUFDekUscUVBQXFFO1FBQ3JFLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0IsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNmLDBEQUEwRDtZQUMxRCxPQUFPLEdBQUcsS0FBSyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxFQUFFLENBQUM7UUFDOUMsQ0FBQztRQUNELE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7SUFDckQsQ0FBQztJQUVELG1FQUFtRTtJQUNuRSxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGNyZWF0ZUhhc2ggfSBmcm9tICdjcnlwdG8nO1xuXG4vKipcbiAqIEdlbmVyYXRlcyB1bmlxdWUgQ0RLIGNvbnN0cnVjdCBJRHMgYnkgYXBwZW5kaW5nIGF1dG8taW5jcmVtZW50aW5nIGNvdW50ZXJzXG4gKiB0byBsYWJlbHMsIHdpdGggYW4gb3B0aW9uYWwgc3RhY2staWRlbnRpdHkgaGFzaCBpbnNlcnRlZCBhZnRlciB0aGUgZmlyc3RcbiAqIG5hbWVzcGFjZSBzZWdtZW50IHRvIHByZXZlbnQgY29sbGlzaW9ucyBhY3Jvc3MgcGlwZWxpbmVzL29yZ3MuXG4gKlxuICogV2h5IHRoZSBoYXNoIG1hdHRlcnM6XG4gKiAgIEFXUyByZXNvdXJjZXMgd2l0aCBleHBsaWNpdCBuYW1lcyAoQ2xvdWRXYXRjaCBsb2cgZ3JvdXBzLCBJQU0gcm9sZXMpXG4gKiAgIGNvbGxpZGUgaWYgdHdvIENESyBzdGFja3MgZ2VuZXJhdGUgdGhlIHNhbWUgbmFtZS4gV2hlbiBvcmcgQSdzXG4gKiAgIHNwcmluZy1ib290IHBpcGVsaW5lIGFuZCBvcmcgQidzIHNwcmluZy1ib290IHBpcGVsaW5lIGJvdGggZGVwbG95IGFcbiAqICAgYHBsdWdpbi1sb29rdXAtMWAgbG9nIGdyb3VwLCB0aGUgc2Vjb25kIGRlcGxveSBmYWlscyB3aXRoXG4gKiAgIFwiUmVzb3VyY2UgYWxyZWFkeSBleGlzdHNcIi4gVGhlIGhhc2ggbWFrZXMgZWFjaCAocHJvamVjdCwgb3JnKSBwYWlyXG4gKiAgIHByb2R1Y2UgYSB1bmlxdWUgc3RhYmxlIG5hbWUgd2l0aG91dCBjaGFuZ2luZyB0aGUgcmVzdCBvZiB0aGUgbGFiZWwuXG4gKlxuICogRm9ybWF0IHdpdGggb3JnK3Byb2plY3Q6XG4gKiAgIGdlbmVyYXRlKCdwbHVnaW46bG9va3VwJykgICDihpIgJ3BsdWdpbjp7aGFzaH06bG9va3VwOjEnXG4gKiAgIGdlbmVyYXRlKCdsb2c6Z3JvdXAnKSAgICAgICDihpIgJ2xvZzp7aGFzaH06Z3JvdXA6MSdcbiAqICAgZ2VuZXJhdGUoJ3BsdWdpbjpsb29rdXAnKSAgIOKGkiAncGx1Z2luOntoYXNofTpsb29rdXA6MicgICAoY291bnRlciBpbmMpXG4gKiAgIGdlbmVyYXRlKCdjZGs6cGlwZWxpbmU6MScpICDihpIgJ2NkazpwaXBlbGluZToxJyAgICAgICAgICAgKGFscmVhZHkgY291bnRlZClcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgaWQgPSBuZXcgVW5pcXVlSWQoeyBvcmdhbml6YXRpb246ICdBY21lQ29ycCcsIHByb2plY3Q6ICdzcHJpbmctYm9vdCcgfSk7XG4gKiBpZC5nZW5lcmF0ZSgncGx1Z2luOmxvb2t1cCcpOyAgIC8vIFwicGx1Z2luOmExYjJjM2Q0Omxvb2t1cDoxXCJcbiAqIGlkLmdlbmVyYXRlKCdsb2c6Z3JvdXAnKTsgICAgICAgLy8gXCJsb2c6YTFiMmMzZDQ6Z3JvdXA6MVwiXG4gKiBpZC5nZW5lcmF0ZSgncGx1Z2luOmxvb2t1cCcpOyAgIC8vIFwicGx1Z2luOmExYjJjM2Q0Omxvb2t1cDoyXCJcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVuaXF1ZUlkT3B0aW9ucyB7XG4gIC8qKiBPcmdhbml6YXRpb24gbmFtZSDigJQgY29tYmluZWQgd2l0aCBwcm9qZWN0IHRvIGZvcm0gdGhlIHN0YWNrLWlkZW50aXR5IGhhc2guICovXG4gIHJlYWRvbmx5IG9yZ2FuaXphdGlvbjogc3RyaW5nO1xuICAvKiogUHJvamVjdCBuYW1lIOKAlCBjb21iaW5lZCB3aXRoIG9yZ2FuaXphdGlvbiB0byBmb3JtIHRoZSBzdGFjay1pZGVudGl0eSBoYXNoLiAqL1xuICByZWFkb25seSBwcm9qZWN0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBVbmlxdWVJZCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvdW50ZXJzID0gbmV3IE1hcDxzdHJpbmcsIG51bWJlcj4oKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RhY2tJZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdHM6IFVuaXF1ZUlkT3B0aW9ucykge1xuICAgIC8vIDggaGV4IGNoYXJzID0gMzIgYml0cyA9IDEgaW4gNCBiaWxsaW9uIGNvbGxpc2lvbiBvZGRzIGFjcm9zcyBwaXBlbGluZXMuXG4gICAgLy8gTG93ZXJjYXNlZCBmb3IgY2FzZS1pbnNlbnNpdGl2ZSBzdGFiaWxpdHkgKFwiQWNtZUNvcnBcIiA9PT0gXCJhY21lY29ycFwiKS5cbiAgICB0aGlzLl9zdGFja0lkID0gY3JlYXRlSGFzaCgnc2hhMjU2JylcbiAgICAgIC51cGRhdGUoYCR7b3B0cy5wcm9qZWN0fToke29wdHMub3JnYW5pemF0aW9ufWAudG9Mb3dlckNhc2UoKSlcbiAgICAgIC5kaWdlc3QoJ2hleCcpXG4gICAgICAuc2xpY2UoMCwgOCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHVuaXF1ZSBjb25zdHJ1Y3QgSUQgZm9yIHRoZSBnaXZlbiBsYWJlbC5cbiAgICogSWYgdGhlIGxhYmVsIGFscmVhZHkgZW5kcyB3aXRoIGEgbnVtZXJpYyBjb3VudGVyLCBpdCBpcyByZXR1cm5lZCBhcy1pcy5cbiAgICogT3RoZXJ3aXNlLCBhbiBhdXRvLWluY3JlbWVudGluZyBjb3VudGVyIGlzIGFwcGVuZGVkOyBpZiBhIHN0YWNrLWlkZW50aXR5XG4gICAqIGhhc2ggd2FzIHByb3ZpZGVkIGF0IGNvbnN0cnVjdGlvbiwgaXQncyBpbnNlcnRlZCBhZnRlciB0aGUgZmlyc3Qgc2VnbWVudC5cbiAgICpcbiAgICogQHBhcmFtIGxhYmVsIC0gQ29sb24tc2VwYXJhdGVkIG5hbWVzcGFjZSAoZS5nLiwgJ3BsdWdpbjpsb29rdXAnKVxuICAgKiBAcmV0dXJucyBUaGUgbGFiZWwgd2l0aCBoYXNoICsgY291bnRlciBpbnNlcnRlZFxuICAgKi9cbiAgZ2VuZXJhdGUobGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKCFsYWJlbCB8fCB0eXBlb2YgbGFiZWwgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0xhYmVsIG11c3QgYmUgYSBub24tZW1wdHkgc3RyaW5nJyk7XG4gICAgfVxuXG4gICAgLy8gQWxyZWFkeSBjb3VudGVkIChlLmcuLCAnY2RrOnBpcGVsaW5lOjEnKSDigJQgcGFzcyB0aHJvdWdoLlxuICAgIGlmICgvOlxcZCskLy50ZXN0KGxhYmVsKSkge1xuICAgICAgcmV0dXJuIGxhYmVsO1xuICAgIH1cblxuICAgIGNvbnN0IGNvdW50ID0gKHRoaXMuX2NvdW50ZXJzLmdldChsYWJlbCkgPz8gMCkgKyAxO1xuICAgIHRoaXMuX2NvdW50ZXJzLnNldChsYWJlbCwgY291bnQpO1xuXG4gICAgLy8gSW5zZXJ0IHRoZSBzdGFjayBoYXNoIGFmdGVyIHRoZSBmaXJzdCBuYW1lc3BhY2Ugc2VnbWVudCBzbyB0aGUgbGVhZGluZ1xuICAgIC8vIGNhdGVnb3J5IChgcGx1Z2luYCwgYGxvZ2AsIGByZXNvdXJjZWAsIGV0Yy4pIHN0YXlzIGh1bWFuLXJlYWRhYmxlLlxuICAgIGNvbnN0IGlkeCA9IGxhYmVsLmluZGV4T2YoJzonKTtcbiAgICBpZiAoaWR4ID09PSAtMSkge1xuICAgICAgLy8gU2luZ2xlLXNlZ21lbnQgbGFiZWwg4oCUIHB1dCB0aGUgaGFzaCBiZWZvcmUgdGhlIGNvdW50ZXIuXG4gICAgICByZXR1cm4gYCR7bGFiZWx9OiR7dGhpcy5fc3RhY2tJZH06JHtjb3VudH1gO1xuICAgIH1cbiAgICBjb25zdCBoZWFkID0gbGFiZWwuc2xpY2UoMCwgaWR4KTtcbiAgICBjb25zdCB0YWlsID0gbGFiZWwuc2xpY2UoaWR4ICsgMSk7XG4gICAgcmV0dXJuIGAke2hlYWR9OiR7dGhpcy5fc3RhY2tJZH06JHt0YWlsfToke2NvdW50fWA7XG4gIH1cblxuICAvKiogVGhlIHN0YWNrLWlkZW50aXR5IGhhc2ggZGVyaXZlZCBmcm9tIG9yZ2FuaXphdGlvbiArIHByb2plY3QuICovXG4gIGdldCBzdGFja0lkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YWNrSWQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -281,4 +281,4 @@ export function parsePipelineVariables(value) {
|
|
|
281
281
|
}
|
|
282
282
|
return [];
|
|
283
283
|
}
|
|
284
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL21ldGFkYXRhLWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUt0QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFLeEU7O0dBRUc7QUFDSCxNQUFNLFNBQVMsR0FBRztJQUNoQixVQUFVLEVBQUUscUJBQXFCO0lBQ2pDLGVBQWUsRUFBRSx5QkFBeUI7SUFDMUMsaUJBQWlCLEVBQUUsNEJBQTRCO0lBQy9DLGFBQWEsRUFBRSx3QkFBd0I7Q0FDL0IsQ0FBQztBQVFYLE1BQU0saUJBQWlCLEdBQTBDO0lBQy9ELENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQ3RCLFdBQVcsRUFBRSxFQUFFO1FBQ2YsZUFBZSxFQUFFLENBQUMsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsd0JBQXdCLENBQUM7S0FDcEk7SUFDRCxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsRUFBRTtRQUMzQixXQUFXLEVBQUUsRUFBRTtRQUNmLGVBQWUsRUFBRSxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxxQkFBcUIsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLHdCQUF3QixFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsU0FBUyxDQUFDO0tBQy9SO0lBQ0QsQ0FBQyxTQUFTLENBQUMsaUJBQWlCLENBQUMsRUFBRTtRQUM3QixXQUFXLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDM0IsZUFBZSxFQUFFLENBQUMsWUFBWSxFQUFFLGFB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TSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQy9CLE1BQU0sS0FBSyxHQUEyQixFQUFFLENBQUM7UUFDekMsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixNQUFNLElBQUksR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzdELElBQUksQ0FBQyxJQUFJO2dCQUFFLFNBQVM7WUFDcEIsTUFBTSxZQUFZLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pFLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHR5cGUgeyBCdWlsZEVudmlyb25tZW50IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWNvZGVidWlsZCc7XG5pbXBvcnQgdHlwZSB7IENvZGVCdWlsZFN0ZXBQcm9wcywgQ29kZVBpcGVsaW5lUHJvcHMsIFNoZWxsU3RlcFByb3BzIH0gZnJvbSAnYXdzLWNkay1saWIvcGlwZWxpbmVzJztcbmltcG9ydCB0eXBlIHsgTmV0d29ya0NvbmZpZywgU3VibmV0VHlwZU5hbWUgfSBmcm9tICcuL25ldHdvcmstdHlwZXMuanMnO1xuaW1wb3J0IHsgQ0RLX01FVEFEQVRBX1BSRUZJWCwgTWV0YWRhdGFLZXlzIH0gZnJvbSAnLi9waXBlbGluZS10eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IE1ldGFEYXRhVHlwZSB9IGZyb20gJy4vcGlwZWxpbmUtdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBSb2xlQ29uZmlnIH0gZnJvbSAnLi9yb2xlLXR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgU2VjdXJpdHlHcm91cENvbmZpZyB9IGZyb20gJy4vc2VjdXJpdHktZ3JvdXAtdHlwZXMuanMnO1xuXG4vKipcbiAqIFR5cGUtc2FmZSBuYW1lc3BhY2UgY29uc3RhbnRzIGZvciBtZXRhZGF0YSBjb25maWd1cmF0aW9uLlxuICovXG5jb25zdCBOQU1FU1BBQ0UgPSB7XG4gIFNIRUxMX1NURVA6ICdwaXBlbGluZXM6c2hlbGxzdGVwJyxcbiAgQ09ERV9CVUlMRF9TVEVQOiAncGlwZWxpbmVzOmNvZGVidWlsZHN0ZXAnLFxuICBCVUlMRF9FTlZJUk9OTUVOVDogJ2NvZGVidWlsZDpidWlsZGVudmlyb25tZW50JyxcbiAgQ09ERV9QSVBFTElORTogJ3BpcGVsaW5lczpjb2RlcGlwZWxpbmUnLFxufSBhcyBjb25zdDtcbnR5cGUgTmFtZXNwYWNlID0gKHR5cGVvZiBOQU1FU1BBQ0UpW2tleW9mIHR5cGVvZiBOQU1FU1BBQ0VdO1xuXG5pbnRlcmZhY2UgTmFtZXNwYWNlS2V5Q29uZmlnIHtcbiAgYm9vbGVhbktleXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xuICBwYXNzdGhyb3VnaEtleXM6IHJlYWRvbmx5IHN0cmluZ1tdO1xufVxuXG5jb25zdCBOQU1FU1BBQ0VfS0VZX01BUDogUmVjb3JkPE5hbWVzcGFjZSwgTmFtZXNwYWNlS2V5Q29uZmlnPiA9IHtcbiAgW05BTUVTUEFDRS5TSEVMTF9TVEVQXToge1xuICAgIGJvb2xlYW5LZXlzOiBbXSxcbiAgICBwYXNzdGhyb3VnaEtleXM6IFsnYWRkaXRpb25hbElucHV0cycsICdjb21tYW5kcycsICdlbnYnLCAnZW52RnJvbUNmbk91dHB1dHMnLCAnaW5wdXQnLCAnaW5zdGFsbENvbW1hbmRzJywgJ3ByaW1hcnlPdXRwdXREaXJlY3RvcnknXSxcbiAgfSxcbiAgW05BTUVTUEFDRS5DT0RFX0JVSUxEX1NURVBdOiB7XG4gICAgYm9vbGVhbktleXM6IFtdLFxuICAgIHBhc3N0aHJvdWdoS2V5czogWydhY3Rpb25Sb2xlJywgJ2FkZGl0aW9uYWxJbnB1dHMnLCAnYnVpbGRFbnZpcm9ubWVudCcsICdjYWNoZScsICdjb21tYW5kcycsICdlbnYnLCAnZW52RnJvbUNmbk91dHB1dHMnLCAnZmlsZVN5c3RlbUxvY2F0aW9ucycsICdpbnB1dCcsICdpbnN0YWxsQ29tbWFuZHMnLCAnbG9nZ2luZycsICdwYXJ0aWFsQnVpbGRTcGVjJywgJ3ByaW1hcnlPdXRwdXREaXJlY3RvcnknLCAncHJvamVjdE5hbWUnLCAncm9sZScsICdyb2xlUG9saWN5U3RhdGVtZW50cycsICd0aW1lb3V0J10sXG4gIH0sXG4gIFtOQU1FU1BBQ0UuQlVJTERfRU5WSVJPTk1FTlRdOiB7XG4gICAgYm9vbGVhbktleXM6IFsncHJpdmlsZWdlZCddLFxuICAgIHBhc3N0aHJvdWdoS2V5czogWydidWlsZEltYWdlJywgJ2NlcnRpZmljYXRlJywgJ2NvbXB1dGVUeXBlJywgJ2RvY2tlclNlcnZlcicsICdlbnZpcm9ubWVudFZhcmlhYmxlcycsICdmbGVldCddLFxuICB9LFxuICBbTkFNRVNQQUNFLkNPREVfUElQRUxJTkVdOiB7XG4gICAgYm9vbGVhbktleXM6IFsnY3Jvc3NBY2NvdW50S2V5cycsICdkb2NrZXJFbmFibGVkRm9yU2VsZk11dGF0aW9uJywgJ2RvY2tlckVuYWJsZWRGb3JTeW50aCcsICdlbmFibGVLZXlSb3RhdGlvbicsICdwdWJsaXNoQXNzZXRzSW5QYXJhbGxlbCcsICdyZXVzZUNyb3NzUmVnaW9uU3VwcG9ydFN0YWNrcycsICdzZWxmTXV0YXRpb24nLCAndXNlQ2hhbmdlU2V0cycsICd1c2VQaXBlbGluZVJvbGVGb3JBY3Rpb25zJ10sXG4gICAgcGFzc3Rocm91Z2hLZXlzOiBbJ2FydGlmYWN0QnVja2V0JywgJ2Fzc2V0UHVibGlzaGluZ0NvZGVCdWlsZERlZmF1bHRzJywgJ2Nka0Fzc2V0c0NsaVZlcnNpb24nLCAnY2xpVmVyc2lvbicsICdjb2RlQnVpbGREZWZhdWx0cycsICdjb2RlUGlwZWxpbmUnLCAnY3Jvc3NSZWdpb25SZXBsaWNhdGlvbkJ1Y2tldHMnLCAnZG9ja2VyQ3JlZGVudGlhbHMnLCAncGlwZWxpbmVOYW1lJywgJ3BpcGVsaW5lVHlwZScsICdyb2xlJywgJ3NlbGZNdXRhdGlvbkNvZGVCdWlsZERlZmF1bHRzJywgJ3N5bnRoJywgJ3N5bnRoQ29kZUJ1aWxkRGVmYXVsdHMnXSxcbiAgfSxcbn07XG5cbmNvbnN0IEVNUFRZX0tFWV9DT05GSUc6IE5hbWVzcGFjZUtleUNvbmZpZyA9IHsgYm9vbGVhbktleXM6IFtdLCBwYXNzdGhyb3VnaEtleXM6IFtdIH07XG5cbmZ1bmN0aW9uIGdldEN1c3RvbUtleShwcmVmaXg6IHN0cmluZywga2V5OiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gYCR7Q0RLX01FVEFEQVRBX1BSRUZJWH0ke3ByZWZpeH06JHtrZXl9YC50b0xvd2VyQ2FzZSgpO1xufVxuXG4vKipcbiAqIFRIRSB3YXkgdG8gcmVhZCBhIGJvb2xlYW4gbWV0YWRhdGEgdmFsdWUuIGBNZXRhRGF0YVR5cGVgIGFkbWl0cyBzdHJpbmdzLCBhbmRcbiAqIHBpcGVsaW5lLmpzb24gLyBBUEkgLyBDTEkgYm9kaWVzIHJvdXRpbmVseSBjYXJyeSBgXCJmYWxzZVwiYCwgd2hpY2ggcGxhaW5cbiAqIHRydXRoaW5lc3MgcmVhZHMgYXMgZW5hYmxlZC4gRXhwb3J0ZWQgc28gZXZlcnkgYm9vbGVhbiBrZXkgZ29lcyB0aHJvdWdoIGl0IOKAlFxuICogdHdvIGluIHBpcGVsaW5lLWJ1aWxkZXIgZGlkbid0LCBhbmQgYFwiZmFsc2VcImAgc3dpdGNoZWQgdGhlbSBPTi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzVHJ1ZSh2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicpIHJldHVybiB2YWx1ZTtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHJldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZSc7XG4gIHJldHVybiBmYWxzZTtcbn1cblxuLyoqIEV4dHJhY3QgQ0RLIGNvbnN0cnVjdCBjb25maWcgZnJvbSBtZXRhZGF0YSBmb3IgYSBnaXZlbiBuYW1lc3BhY2UuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDb25maWdGcm9tTWV0YWRhdGEoXG4gIG1ldGFkYXRhOiBNZXRhRGF0YVR5cGUsXG4gIG5hbWVzcGFjZTogc3RyaW5nLFxuKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICBjb25zdCB7IGJvb2xlYW5LZXlzLCBwYXNzdGhyb3VnaEtleXMgfSA9XG4gICAgTkFNRVNQQUNFX0tFWV9NQVBbbmFtZXNwYWNlIGFzIE5hbWVzcGFjZV0gPz8gRU1QVFlfS0VZX0NPTkZJRztcblxuICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgYm9vbGVhbktleXMpIHtcbiAgICBjb25zdCByYXcgPSBtZXRhZGF0YVtnZXRDdXN0b21LZXkobmFtZXNwYWNlLCBrZXkpXTtcbiAgICBpZiAocmF3ICE9PSB1bmRlZmluZWQpIHJlc3VsdFtrZXldID0gaXNUcnVlKHJhdyk7XG4gIH1cblxuICBmb3IgKGNvbnN0IGtleSBvZiBwYXNzdGhyb3VnaEtleXMpIHtcbiAgICBjb25zdCByYXcgPSBtZXRhZGF0YVtnZXRDdXN0b21LZXkobmFtZXNwYWNlLCBrZXkpXTtcbiAgICBpZiAocmF3ICE9PSB1bmRlZmluZWQpIHJlc3VsdFtrZXldID0gcmF3O1xuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqIEV4dHJhY3QgQ29kZVBpcGVsaW5lIGNvbmZpZyBmcm9tIG1ldGFkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ldGFkYXRhRm9yQ29kZVBpcGVsaW5lKG1ldGFkYXRhOiBNZXRhRGF0YVR5cGUpOiBQYXJ0aWFsPENvZGVQaXBlbGluZVByb3BzPiB7XG4gIHJldHVybiBidWlsZENvbmZpZ0Zyb21NZXRhZGF0YShtZXRhZGF0YSwgTkFNRVNQQUNFLkNPREVfUElQRUxJTkUpIGFzIFBhcnRpYWw8Q29kZVBpcGVsaW5lUHJvcHM+O1xufVxuXG4vKiogRXh0cmFjdCBDb2RlQnVpbGRTdGVwIGNvbmZpZyBmcm9tIG1ldGFkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ldGFkYXRhRm9yQ29kZUJ1aWxkU3RlcChtZXRhZGF0YTogTWV0YURhdGFUeXBlKTogUGFydGlhbDxDb2RlQnVpbGRTdGVwUHJvcHM+IHtcbiAgcmV0dXJuIGJ1aWxkQ29uZmlnRnJvbU1ldGFkYXRhKG1ldGFkYXRhLCBOQU1FU1BBQ0UuQ09ERV9CVUlMRF9TVEVQKSBhcyBQYXJ0aWFsPENvZGVCdWlsZFN0ZXBQcm9wcz47XG59XG5cbi8qKiBFeHRyYWN0IFNoZWxsU3RlcCBjb25maWcgZnJvbSBtZXRhZGF0YS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXRhZGF0YUZvclNoZWxsU3RlcChtZXRhZGF0YTogTWV0YURhdGFUeXBlKTogUGFydGlhbDxTaGVsbFN0ZXBQcm9wcz4ge1xuICByZXR1cm4gYnVpbGRDb25maWdGcm9tTWV0YWRhdGEobWV0YWRhdGEsIE5BTUVTUEFDRS5TSEVMTF9TVEVQKSBhcyBQYXJ0aWFsPFNoZWxsU3RlcFByb3BzPjtcbn1cblxuLyoqIEV4dHJhY3QgQnVpbGRFbnZpcm9ubWVudCBjb25maWcgZnJvbSBtZXRhZGF0YS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXRhZGF0YUZvckJ1aWxkRW52aXJvbm1lbnQobWV0YWRhdGE6IE1ldGFEYXRhVHlwZSk6IFBhcnRpYWw8QnVpbGRFbnZpcm9ubWVudD4ge1xuICByZXR1cm4gYnVpbGRDb25maWdGcm9tTWV0YWRhdGEobWV0YWRhdGEsIE5BTUVTUEFDRS5CVUlMRF9FTlZJUk9OTUVOVCkgYXMgUGFydGlhbDxCdWlsZEVudmlyb25tZW50Pjtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUeXBlZC1jb25maWcgZXh0cmFjdG9yczogZWMyOm5ldHdvcmsgLyBpYW06cm9sZSAvIGVjMjpzZWN1cml0eWdyb3VwIG1ldGFkYXRhXG4vLyAtPiB0aGUgZGlzY3JpbWluYXRlZC11bmlvbiBjb25maWcgb2JqZWN0cyB0aGUgYnVpbGRlciBhbHJlYWR5IGNvbnN1bWVzXG4vLyAoTmV0d29ya0NvbmZpZyAvIFJvbGVDb25maWcgLyBTZWN1cml0eUdyb3VwQ29uZmlnKS4gVW5saWtlIHRoZSBuYW1lc3BhY2VzXG4vLyBhYm92ZSAod2hpY2ggbWFwIDE6MSB0byBDREsgY29uc3RydWN0IHByb3BzKSwgdGhlc2UgZmVlZCByZXNvbHZlTmV0d29yayAvXG4vLyByZXNvbHZlUm9sZSAvIHJlc29sdmVTZWN1cml0eUdyb3VwLiBFYWNoIHJldHVybnMgdW5kZWZpbmVkIHdoZW4gaXRzIGtleXMgYXJlXG4vLyBhYnNlbnQsIHNvIGNhbGxlcnMgZmFsbCB0aHJvdWdoIHdpdGggYHByb3AgPz8gbWV0YWRhdGEgPz8gZW52YCBwcmVjZWRlbmNlLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmZ1bmN0aW9uIGFzU3RyKHY6IHVua25vd24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICByZXR1cm4gdHlwZW9mIHYgPT09ICdzdHJpbmcnICYmIHYudHJpbSgpICE9PSAnJyA/IHYgOiB1bmRlZmluZWQ7XG59XG5cbi8qKiBBY2NlcHQgYSBKU09OIGFycmF5IG9yIGEgY29tbWEtc2VwYXJhdGVkIHN0cmluZyAtPiBzdHJpbmdbXSAodW5kZWZpbmVkIGlmIGVtcHR5KS4gKi9cbmZ1bmN0aW9uIGFzTGlzdCh2OiB1bmtub3duKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuICBjb25zdCBpdGVtcyA9IEFycmF5LmlzQXJyYXkodilcbiAgICA/IHYubWFwKFN0cmluZykubWFwKHMgPT4gcy50cmltKCkpLmZpbHRlcihCb29sZWFuKVxuICAgIDogdHlwZW9mIHYgPT09ICdzdHJpbmcnICYmIHYudHJpbSgpICE9PSAnJ1xuICAgICAgPyB2LnNwbGl0KCcsJykubWFwKHMgPT4gcy50cmltKCkpLmZpbHRlcihCb29sZWFuKVxuICAgICAgOiBbXTtcbiAgcmV0dXJuIGl0ZW1zLmxlbmd0aCA+IDAgPyBpdGVtcyA6IHVuZGVmaW5lZDtcbn1cblxuLyoqIEFjY2VwdCBhIEpTT04gb2JqZWN0IG9yIGEgSlNPTiBzdHJpbmcgLT4gUmVjb3JkPHN0cmluZyxzdHJpbmc+ICh1bmRlZmluZWQgaWYgZW1wdHkpLiAqL1xuZnVuY3Rpb24gYXNUYWdzKHY6IHVua25vd24pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHwgdW5kZWZpbmVkIHtcbiAgbGV0IG9iajogdW5rbm93biA9IHY7XG4gIGlmICh0eXBlb2YgdiA9PT0gJ3N0cmluZycgJiYgdi50cmltKCkgIT09ICcnKSB7XG4gICAgdHJ5IHsgb2JqID0gSlNPTi5wYXJzZSh2KTsgfSBjYXRjaCB7IHJldHVybiB1bmRlZmluZWQ7IH1cbiAgfVxuICBpZiAob2JqICYmIHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KG9iaikpIHtcbiAgICBjb25zdCBlbnRyaWVzID0gT2JqZWN0LmVudHJpZXMob2JqIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KS5tYXAoKFtrLCB2YWxdKSA9PiBbaywgU3RyaW5nKHZhbCldIGFzIGNvbnN0KTtcbiAgICByZXR1cm4gZW50cmllcy5sZW5ndGggPiAwID8gT2JqZWN0LmZyb21FbnRyaWVzKGVudHJpZXMpIDogdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKiB1bmRlZmluZWQgd2hlbiB0aGUga2V5IGlzIGFic2VudDsgb3RoZXJ3aXNlIGEgY29lcmNlZCBib29sZWFuLiAqL1xuZnVuY3Rpb24gYXNCb29sKHY6IHVua25vd24pOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIHYgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IGlzVHJ1ZSh2KTtcbn1cblxuLyoqIENvZXJjZSBhIG1ldGFkYXRhIHZhbHVlIHRvIGEgcG9zaXRpdmUgaW50ZWdlcjsgdW5kZWZpbmVkIGlmIGFic2VudC9pbnZhbGlkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzSW50KHY6IHVua25vd24pOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBpZiAodiA9PT0gdW5kZWZpbmVkIHx8IHYgPT09IG51bGwgfHwgdiA9PT0gJycpIHJldHVybiB1bmRlZmluZWQ7XG4gIGNvbnN0IG4gPSB0eXBlb2YgdiA9PT0gJ251bWJlcicgPyB2IDogTnVtYmVyKFN0cmluZyh2KS50cmltKCkpO1xuICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihuKSAmJiBuID4gMCA/IG4gOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQnVpbGQgYSBOZXR3b3JrQ29uZmlnIGZyb20gYGVjMjpuZXR3b3JrYCBtZXRhZGF0YSBrZXlzLiBUaGUgdmFyaWFudCBjb21lc1xuICogZnJvbSBORVRXT1JLX1RZUEUsIG9yIGlzIGluZmVycmVkIChzdWJuZXRJZHMgLT4gc3VibmV0SWRzLCB0YWdzIC0+IHZwY0xvb2t1cCxcbiAqIHZwY0lkIC0+IHZwY0lkKS4gUmV0dXJucyB1bmRlZmluZWQgd2hlbiBubyB1c2FibGUgbmV0d29yayBtZXRhZGF0YSBpcyBwcmVzZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbmV0d29ya0NvbmZpZ0Zyb21NZXRhZGF0YShtZXRhZGF0YTogTWV0YURhdGFUeXBlKTogTmV0d29ya0NvbmZpZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHR5cGUgPSBhc1N0cihtZXRhZGF0YVtNZXRhZGF0YUtleXMuTkVUV09SS19UWVBFXSk7XG4gIGNvbnN0IHZwY0lkID0gYXNTdHIobWV0YWRhdGFbTWV0YWRhdGFLZXlzLk5FVFdPUktfVlBDX0lEXSk7XG4gIGNvbnN0IHN1Ym5ldElkcyA9IGFzTGlzdChtZXRhZGF0YVtNZXRhZGF0YUtleXMuTkVUV09SS19TVUJORVRfSURTXSk7XG4gIGNvbnN0IHN1Ym5ldFR5cGUgPSBhc1N0cihtZXRhZGF0YVtNZXRhZGF0YUtleXMuTkVUV09SS19TVUJORVRfVFlQRV0pIGFzIFN1Ym5ldFR5cGVOYW1lIHwgdW5kZWZpbmVkO1xuICBjb25zdCBhdmFpbGFiaWxpdHlab25lcyA9IGFzTGlzdChtZXRhZGF0YVtNZXRhZGF0YUtleXMuTkVUV09SS19BVkFJTEFCSUxJVFlfWk9ORVNdKTtcbiAgY29uc3Qgc3VibmV0R3JvdXBOYW1lID0gYXNTdHIobWV0YWRhdGFbTWV0YWRhdGFLZXlzLk5FVFdPUktfU1VCTkVUX0dST1VQX05BTUVdKTtcbiAgY29uc3Qgc2VjdXJpdHlHcm91cElkcyA9IGFzTGlzdChtZXRhZGF0YVtNZXRhZGF0YUtleXMuTkVUV09SS19TRUNVUklUWV9HUk9VUF9JRFNdKTtcbiAgY29uc3QgdGFncyA9IGFzVGFncyhtZXRhZGF0YVtNZXRhZGF0YUtleXMuTkVUV09SS19UQUdTXSk7XG4gIGNvbnN0IHZwY05hbWUgPSBhc1N0cihtZXRhZGF0YVtNZXRhZGF0YUtleXMuTkVUV09SS19WUENfTkFNRV0pO1xuICBjb25zdCByZWdpb24gPSBhc1N0cihtZXRhZGF0YVtNZXRhZGF0YUtleXMuTkVUV09SS19SRUdJT05dKTtcblxuICBjb25zdCB2YXJpYW50ID0gdHlwZSA/PyAoc3VibmV0SWRzID8gJ3N1Ym5ldElkcycgOiB0YWdzID8gJ3ZwY0xvb2t1cCcgOiB2cGNJZCA/ICd2cGNJZCcgOiB1bmRlZmluZWQpO1xuXG4gIHN3aXRjaCAodmFyaWFudCkge1xuICAgIGNhc2UgJ3N1Ym5ldElkcyc6XG4gICAgICBpZiAoIXZwY0lkIHx8ICFzdWJuZXRJZHMpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4geyB0eXBlOiAnc3VibmV0SWRzJywgb3B0aW9uczogeyB2cGNJZCwgc3VibmV0SWRzLCAuLi4oc2VjdXJpdHlHcm91cElkcyAmJiB7IHNlY3VyaXR5R3JvdXBJZHMgfSkgfSB9O1xuICAgIGNhc2UgJ3ZwY0lkJzpcbiAgICAgIGlmICghdnBjSWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAndnBjSWQnLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgdnBjSWQsXG4gICAgICAgICAgLi4uKHN1Ym5ldFR5cGUgJiYgeyBzdWJuZXRUeXBlIH0pLFxuICAgICAgICAgIC4uLihhdmFpbGFiaWxpdHlab25lcyAmJiB7IGF2YWlsYWJpbGl0eVpvbmVzIH0pLFxuICAgICAgICAgIC4uLihzdWJuZXRHcm91cE5hbWUgJiYgeyBzdWJuZXRHcm91cE5hbWUgfSksXG4gICAgICAgICAgLi4uKHNlY3VyaXR5R3JvdXBJZHMgJiYgeyBzZWN1cml0eUdyb3VwSWRzIH0pLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICBjYXNlICd2cGNMb29rdXAnOlxuICAgICAgaWYgKCF0YWdzKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ3ZwY0xvb2t1cCcsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICB0YWdzLFxuICAgICAgICAgIC4uLihzdWJuZXRUeXBlICYmIHsgc3VibmV0VHlwZSB9KSxcbiAgICAgICAgICAuLi4oYXZhaWxhYmlsaXR5Wm9uZXMgJiYgeyBhdmFpbGFiaWxpdHlab25lcyB9KSxcbiAgICAgICAgICAuLi4oc3VibmV0R3JvdXBOYW1lICYmIHsgc3VibmV0R3JvdXBOYW1lIH0pLFxuICAgICAgICAgIC4uLihzZWN1cml0eUdyb3VwSWRzICYmIHsgc2VjdXJpdHlHcm91cElkcyB9KSxcbiAgICAgICAgICAuLi4odnBjTmFtZSAmJiB7IHZwY05hbWUgfSksXG4gICAgICAgICAgLi4uKHJlZ2lvbiAmJiB7IHJlZ2lvbiB9KSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZCBhIFJvbGVDb25maWcgZnJvbSBgaWFtOnJvbGVgIG1ldGFkYXRhIGtleXMgKHJvbGVBcm4gLyByb2xlTmFtZSAvXG4gKiBjb2RlQnVpbGREZWZhdWx0KS4gVGhlIDQga2V5cyBjYW4ndCBleHByZXNzIHRoZSBmdWxsIGBvaWRjYCBvcHRpb24gc2V0LCBzbyBhblxuICogYG9pZGNgIHR5cGUgZnJvbSBtZXRhZGF0YSBpcyBpZ25vcmVkLiBSZXR1cm5zIHVuZGVmaW5lZCB3aGVuIG5vIGtleXMgYXJlIHNldC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJvbGVDb25maWdGcm9tTWV0YWRhdGEobWV0YWRhdGE6IE1ldGFEYXRhVHlwZSk6IFJvbGVDb25maWcgfCB1bmRlZmluZWQge1xuICBjb25zdCB0eXBlID0gYXNTdHIobWV0YWRhdGFbTWV0YWRhdGFLZXlzLlJPTEVfVFlQRV0pO1xuICBjb25zdCByb2xlQXJuID0gYXNTdHIobWV0YWRhdGFbTWV0YWRhdGFLZXlzLlJPTEVfQVJOXSk7XG4gIGNvbnN0IHJvbGVOYW1lID0gYXNTdHIobWV0YWRhdGFbTWV0YWRhdGFLZXlzLlJPTEVfTkFNRV0pO1xuICBjb25zdCBtdXRhYmxlID0gYXNCb29sKG1ldGFkYXRhW01ldGFkYXRhS2V5cy5ST0xFX01VVEFCTEVdKTtcblxuICBjb25zdCB2YXJpYW50ID0gdHlwZSA/PyAocm9sZUFybiA/ICdyb2xlQXJuJyA6IHJvbGVOYW1lID8gJ3JvbGVOYW1lJyA6IHVuZGVmaW5lZCk7XG5cbiAgc3dpdGNoICh2YXJpYW50KSB7XG4gICAgY2FzZSAncm9sZUFybic6XG4gICAgICBpZiAoIXJvbGVBcm4pIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4geyB0eXBlOiAncm9sZUFybicsIG9wdGlvbnM6IHsgcm9sZUFybiwgLi4uKG11dGFibGUgIT09IHVuZGVmaW5lZCAmJiB7IG11dGFibGUgfSkgfSB9O1xuICAgIGNhc2UgJ3JvbGVOYW1lJzpcbiAgICAgIGlmICghcm9sZU5hbWUpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4geyB0eXBlOiAncm9sZU5hbWUnLCBvcHRpb25zOiB7IHJvbGVOYW1lLCAuLi4obXV0YWJsZSAhPT0gdW5kZWZpbmVkICYmIHsgbXV0YWJsZSB9KSB9IH07XG4gICAgY2FzZSAnY29kZUJ1aWxkRGVmYXVsdCc6XG4gICAgICByZXR1cm4geyB0eXBlOiAnY29kZUJ1aWxkRGVmYXVsdCcsIG9wdGlvbnM6IHsgLi4uKHJvbGVOYW1lICYmIHsgcm9sZU5hbWUgfSkgfSB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogQnVpbGQgYSBTZWN1cml0eUdyb3VwQ29uZmlnIGZyb20gYGVjMjpzZWN1cml0eWdyb3VwYCBtZXRhZGF0YSBrZXlzXG4gKiAoc2VjdXJpdHlHcm91cElkcyAvIHNlY3VyaXR5R3JvdXBMb29rdXApLiBSZXR1cm5zIHVuZGVmaW5lZCB3aGVuIG5vIGtleXMgc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VjdXJpdHlHcm91cENvbmZpZ0Zyb21NZXRhZGF0YShtZXRhZGF0YTogTWV0YURhdGFUeXBlKTogU2VjdXJpdHlHcm91cENvbmZpZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHR5cGUgPSBhc1N0cihtZXRhZGF0YVtNZXRhZGF0YUtleXMuU0VDVVJJVFlfR1JPVVBfVFlQRV0pO1xuICBjb25zdCBpZHMgPSBhc0xpc3QobWV0YWRhdGFbTWV0YWRhdGFLZXlzLlNFQ1VSSVRZX0dST1VQX0lEU10pO1xuICBjb25zdCBtdXRhYmxlID0gYXNCb29sKG1ldGFkYXRhW01ldGFkYXRhS2V5cy5TRUNVUklUWV9HUk9VUF9NVVRBQkxFXSk7XG4gIGNvbnN0IG5hbWUgPSBhc1N0cihtZXRhZGF0YVtNZXRhZGF0YUtleXMuU0VDVVJJVFlfR1JPVVBfTkFNRV0pO1xuICBjb25zdCB2cGNJZCA9IGFzU3RyKG1ldGFkYXRhW01ldGFkYXRhS2V5cy5TRUNVUklUWV9HUk9VUF9WUENfSURdKTtcblxuICBjb25zdCB2YXJpYW50ID0gdHlwZSA/PyAoaWRzID8gJ3NlY3VyaXR5R3JvdXBJZHMnIDogbmFtZSA/ICdzZWN1cml0eUdyb3VwTG9va3VwJyA6IHVuZGVmaW5lZCk7XG5cbiAgc3dpdGNoICh2YXJpYW50KSB7XG4gICAgY2FzZSAnc2VjdXJpdHlHcm91cElkcyc6XG4gICAgICBpZiAoIWlkcykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdzZWN1cml0eUdyb3VwSWRzJywgb3B0aW9uczogeyBzZWN1cml0eUdyb3VwSWRzOiBpZHMsIC4uLihtdXRhYmxlICE9PSB1bmRlZmluZWQgJiYgeyBtdXRhYmxlIH0pIH0gfTtcbiAgICBjYXNlICdzZWN1cml0eUdyb3VwTG9va3VwJzpcbiAgICAgIGlmICghbmFtZSB8fCAhdnBjSWQpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4geyB0eXBlOiAnc2VjdXJpdHlHcm91cExvb2t1cCcsIG9wdGlvbnM6IHsgc2VjdXJpdHlHcm91cE5hbWU6IG5hbWUsIHZwY0lkIH0gfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKiogQSBDb2RlUGlwZWxpbmUgVjIgcGlwZWxpbmUtbGV2ZWwgdmFyaWFibGUgcGFyc2VkIGZyb20gYG9wZXJhdGlvbnMudmFyaWFibGVzYC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZWxpbmVWYXJpYWJsZVNwZWMge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyc2UgYG9wZXJhdGlvbnMudmFyaWFibGVzYCBtZXRhZGF0YSBpbnRvIENvZGVQaXBlbGluZSBWMiB2YXJpYWJsZSBzcGVjcy5cbiAqIEFjY2VwdHMgYSBKU09OIGFycmF5IChgW3tcIm5hbWVcIjpcIkVOVlwiLFwiZGVmYXVsdFwiOlwicHJvZFwiLFwiZGVzY3JpcHRpb25cIjpcIi4uLlwifV1gKVxuICogb3IgYSBjb21wYWN0IGNvbW1hLXNlcGFyYXRlZCBgbmFtZT1kZWZhdWx0YCBsaXN0IChgRU5WPXByb2QsUkVHSU9OPXVzLWVhc3QtMWApLlxuICogRW50cmllcyB3aXRob3V0IGEgdXNhYmxlIG5hbWUgYXJlIHNraXBwZWQ7IHJldHVybnMgW10gd2hlbiBub3RoaW5nIHZhbGlkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VQaXBlbGluZVZhcmlhYmxlcyh2YWx1ZTogdW5rbm93bik6IFBpcGVsaW5lVmFyaWFibGVTcGVjW10ge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiBbXTtcblxuICAvLyBBbHJlYWR5IGFuIGFycmF5IChKU09OLXR5cGVkIG1ldGFkYXRhKSBvciBhIEpTT04tZW5jb2RlZCBzdHJpbmcuXG4gIGxldCBwYXJzZWQ6IHVua25vd24gPSB2YWx1ZTtcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICBjb25zdCB0cmltbWVkID0gdmFsdWUudHJpbSgpO1xuICAgIGlmICh0cmltbWVkLnN0YXJ0c1dpdGgoJ1snKSB8fCB0cmltbWVkLnN0YXJ0c1dpdGgoJ3snKSkge1xuICAgICAgdHJ5IHsgcGFyc2VkID0gSlNPTi5wYXJzZSh0cmltbWVkKTsgfSBjYXRjaCB7IHBhcnNlZCA9IHZhbHVlOyB9XG4gICAgfVxuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkocGFyc2VkKSkge1xuICAgIGNvbnN0IHNwZWNzOiBQaXBlbGluZVZhcmlhYmxlU3BlY1tdID0gW107XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBwYXJzZWQpIHtcbiAgICAgIGlmICghZW50cnkgfHwgdHlwZW9mIGVudHJ5ICE9PSAnb2JqZWN0JykgY29udGludWU7XG4gICAgICBjb25zdCBlID0gZW50cnkgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgICBjb25zdCBuYW1lID0gYXNTdHIoZS5uYW1lKTtcbiAgICAgIGlmICghbmFtZSkgY29udGludWU7XG4gICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBhc1N0cihlLmRlZmF1bHQpID8/IGFzU3RyKGUuZGVmYXVsdFZhbHVlKTtcbiAgICAgIGNvbnN0IGRlc2NyaXB0aW9uID0gYXNTdHIoZS5kZXNjcmlwdGlvbik7XG4gICAgICBzcGVjcy5wdXNoKHsgbmFtZSwgLi4uKGRlZmF1bHRWYWx1ZSAhPT0gdW5kZWZpbmVkICYmIHsgZGVmYXVsdFZhbHVlIH0pLCAuLi4oZGVzY3JpcHRpb24gIT09IHVuZGVmaW5lZCAmJiB7IGRlc2NyaXB0aW9uIH0pIH0pO1xuICAgIH1cbiAgICByZXR1cm4gc3BlY3M7XG4gIH1cblxuICAvLyBDb21wYWN0IGBuYW1lPWRlZmF1bHRgIGNvbW1hIGxpc3QuXG4gIGlmICh0eXBlb2YgcGFyc2VkID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IHNwZWNzOiBQaXBlbGluZVZhcmlhYmxlU3BlY1tdID0gW107XG4gICAgZm9yIChjb25zdCBwYWlyIG9mIHBhcnNlZC5zcGxpdCgnLCcpKSB7XG4gICAgICBjb25zdCBpZHggPSBwYWlyLmluZGV4T2YoJz0nKTtcbiAgICAgIGNvbnN0IG5hbWUgPSAoaWR4ID09PSAtMSA/IHBhaXIgOiBwYWlyLnNsaWNlKDAsIGlkeCkpLnRyaW0oKTtcbiAgICAgIGlmICghbmFtZSkgY29udGludWU7XG4gICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBpZHggPT09IC0xID8gdW5kZWZpbmVkIDogcGFpci5zbGljZShpZHggKyAxKS50cmltKCk7XG4gICAgICBzcGVjcy5wdXNoKHsgbmFtZSwgLi4uKGRlZmF1bHRWYWx1ZSA/IHsgZGVmYXVsdFZhbHVlIH0gOiB7fSkgfSk7XG4gICAgfVxuICAgIHJldHVybiBzcGVjcztcbiAgfVxuXG4gIHJldHVybiBbXTtcbn1cbiJdfQ==
|
|
284
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtYnVpbGRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvbWV0YWRhdGEtYnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBS3RDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUt4RTs7R0FFRztBQUNILE1BQU0sU0FBUyxHQUFHO0lBQ2hCLFVBQVUsRUFBRSxxQkFBcUI7SUFDakMsZUFBZSxFQUFFLHlCQUF5QjtJQUMxQyxpQkFBaUIsRUFBRSw0QkFBNEI7SUFDL0MsYUFBYSxFQUFFLHdCQUF3QjtDQUMvQixDQUFDO0FBUVgsTUFBTSxpQkFBaUIsR0FBMEM7SUFDL0QsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDdEIsV0FBVyxFQUFFLEVBQUU7UUFDZixlQUFlLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsQ0FBQztLQUNwSTtJQUNELENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxFQUFFO1FBQzNCLFdBQVcsRUFBRSxFQUFFO1FBQ2YsZUFBZSxFQUFFLENBQUMsWUFBWSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsd0JBQXdCLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRSxTQUFTLENBQUM7S0FDL1I7SUFDRCxDQUFDLFNBQVMsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1FBQzdCLFdBQVcsRUFBRSxDQUFDLFlBQVksQ0FBQztRQUMzQixlQUFlLEVBQUUsQ0FBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFB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LENBQUM7UUFDL0IsTUFBTSxLQUFLLEdBQTJCLEVBQUUsQ0FBQztRQUN6QyxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNyQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDN0QsSUFBSSxDQUFDLElBQUk7Z0JBQUUsU0FBUztZQUNwQixNQUFNLFlBQVksR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekUsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELE9BQU8sRUFBRSxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgdHlwZSB7IEJ1aWxkRW52aXJvbm1lbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtY29kZWJ1aWxkJztcbmltcG9ydCB0eXBlIHsgQ29kZUJ1aWxkU3RlcFByb3BzLCBDb2RlUGlwZWxpbmVQcm9wcywgU2hlbGxTdGVwUHJvcHMgfSBmcm9tICdhd3MtY2RrLWxpYi9waXBlbGluZXMnO1xuaW1wb3J0IHR5cGUgeyBOZXR3b3JrQ29uZmlnLCBTdWJuZXRUeXBlTmFtZSB9IGZyb20gJy4vbmV0d29yay10eXBlcy5qcyc7XG5pbXBvcnQgeyBDREtfTUVUQURBVEFfUFJFRklYLCBNZXRhZGF0YUtleXMgfSBmcm9tICcuL3BpcGVsaW5lLXR5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgTWV0YURhdGFUeXBlIH0gZnJvbSAnLi9waXBlbGluZS10eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFJvbGVDb25maWcgfSBmcm9tICcuL3JvbGUtdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTZWN1cml0eUdyb3VwQ29uZmlnIH0gZnJvbSAnLi9zZWN1cml0eS1ncm91cC10eXBlcy5qcyc7XG5cbi8qKlxuICogVHlwZS1zYWZlIG5hbWVzcGFjZSBjb25zdGFudHMgZm9yIG1ldGFkYXRhIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmNvbnN0IE5BTUVTUEFDRSA9IHtcbiAgU0hFTExfU1RFUDogJ3BpcGVsaW5lczpzaGVsbHN0ZXAnLFxuICBDT0RFX0JVSUxEX1NURVA6ICdwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcCcsXG4gIEJVSUxEX0VOVklST05NRU5UOiAnY29kZWJ1aWxkOmJ1aWxkZW52aXJvbm1lbnQnLFxuICBDT0RFX1BJUEVMSU5FOiAncGlwZWxpbmVzOmNvZGVwaXBlbGluZScsXG59IGFzIGNvbnN0O1xudHlwZSBOYW1lc3BhY2UgPSAodHlwZW9mIE5BTUVTUEFDRSlba2V5b2YgdHlwZW9mIE5BTUVTUEFDRV07XG5cbmludGVyZmFjZSBOYW1lc3BhY2VLZXlDb25maWcge1xuICBib29sZWFuS2V5czogcmVhZG9ubHkgc3RyaW5nW107XG4gIHBhc3N0aHJvdWdoS2V5czogcmVhZG9ubHkgc3RyaW5nW107XG59XG5cbmNvbnN0IE5BTUVTUEFDRV9LRVlfTUFQOiBSZWNvcmQ8TmFtZXNwYWNlLCBOYW1lc3BhY2VLZXlDb25maWc+ID0ge1xuICBbTkFNRVNQQUNFLlNIRUxMX1NURVBdOiB7XG4gICAgYm9vbGVhbktleXM6IFtdLFxuICAgIHBhc3N0aHJvdWdoS2V5czogWydhZGRpdGlvbmFsSW5wdXRzJywgJ2NvbW1hbmRzJywgJ2VudicsICdlbnZGcm9tQ2ZuT3V0cHV0cycsICdpbnB1dCcsICdpbnN0YWxsQ29tbWFuZHMnLCAncHJpbWFyeU91dHB1dERpcmVjdG9yeSddLFxuICB9LFxuICBbTkFNRVNQQUNFLkNPREVfQlVJTERfU1RFUF06IHtcbiAgICBib29sZWFuS2V5czogW10sXG4gICAgcGFzc3Rocm91Z2hLZXlzOiBbJ2FjdGlvblJvbGUnLCAnYWRkaXRpb25hbElucHV0cycsICdidWlsZEVudmlyb25tZW50JywgJ2NhY2hlJywgJ2NvbW1hbmRzJywgJ2VudicsICdlbnZGcm9tQ2ZuT3V0cHV0cycsICdmaWxlU3lzdGVtTG9jYXRpb25zJywgJ2lucHV0JywgJ2luc3RhbGxDb21tYW5kcycsICdsb2dnaW5nJywgJ3BhcnRpYWxCdWlsZFNwZWMnLCAncHJpbWFyeU91dHB1dERpcmVjdG9yeScsICdwcm9qZWN0TmFtZScsICdyb2xlJywgJ3JvbGVQb2xpY3lTdGF0ZW1lbnRzJywgJ3RpbWVvdXQnXSxcbiAgfSxcbiAgW05BTUVTUEFDRS5CVUlMRF9FTlZJUk9OTUVOVF06IHtcbiAgICBib29sZWFuS2V5czogWydwcml2aWxlZ2VkJ10sXG4gICAgcGFzc3Rocm91Z2hLZXlzOiBbJ2J1aWxkSW1hZ2UnLCAnY2VydGlmaWNhdGUnLCAnY29tcHV0ZVR5cGUnLCAnZG9ja2VyU2VydmVyJywgJ2Vudmlyb25tZW50VmFyaWFibGVzJywgJ2ZsZWV0J10sXG4gIH0sXG4gIFtOQU1FU1BBQ0UuQ09ERV9QSVBFTElORV06IHtcbiAgICBib29sZWFuS2V5czogWydjcm9zc0FjY291bnRLZXlzJywgJ2RvY2tlckVuYWJsZWRGb3JTZWxmTXV0YXRpb24nLCAnZG9ja2VyRW5hYmxlZEZvclN5bnRoJywgJ2VuYWJsZUtleVJvdGF0aW9uJywgJ3B1Ymxpc2hBc3NldHNJblBhcmFsbGVsJywgJ3JldXNlQ3Jvc3NSZWdpb25TdXBwb3J0U3RhY2tzJywgJ3NlbGZNdXRhdGlvbicsICd1c2VDaGFuZ2VTZXRzJywgJ3VzZVBpcGVsaW5lUm9sZUZvckFjdGlvbnMnXSxcbiAgICBwYXNzdGhyb3VnaEtleXM6IFsnYXJ0aWZhY3RCdWNrZXQnLCAnYXNzZXRQdWJsaXNoaW5nQ29kZUJ1aWxkRGVmYXVsdHMnLCAnY2RrQXNzZXRzQ2xpVmVyc2lvbicsICdjbGlWZXJzaW9uJywgJ2NvZGVCdWlsZERlZmF1bHRzJywgJ2NvZGVQaXBlbGluZScsICdjcm9zc1JlZ2lvblJlcGxpY2F0aW9uQnVja2V0cycsICdkb2NrZXJDcmVkZW50aWFscycsICdwaXBlbGluZU5hbWUnLCAncGlwZWxpbmVUeXBlJywgJ3JvbGUnLCAnc2VsZk11dGF0aW9uQ29kZUJ1aWxkRGVmYXVsdHMnLCAnc3ludGgnLCAnc3ludGhDb2RlQnVpbGREZWZhdWx0cyddLFxuICB9LFxufTtcblxuY29uc3QgRU1QVFlfS0VZX0NPTkZJRzogTmFtZXNwYWNlS2V5Q29uZmlnID0geyBib29sZWFuS2V5czogW10sIHBhc3N0aHJvdWdoS2V5czogW10gfTtcblxuZnVuY3Rpb24gZ2V0Q3VzdG9tS2V5KHByZWZpeDogc3RyaW5nLCBrZXk6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBgJHtDREtfTUVUQURBVEFfUFJFRklYfSR7cHJlZml4fToke2tleX1gLnRvTG93ZXJDYXNlKCk7XG59XG5cbi8qKlxuICogVEhFIHdheSB0byByZWFkIGEgYm9vbGVhbiBtZXRhZGF0YSB2YWx1ZS4gYE1ldGFEYXRhVHlwZWAgYWRtaXRzIHN0cmluZ3MsIGFuZFxuICogcGlwZWxpbmUuanNvbiAvIEFQSSAvIENMSSBib2RpZXMgcm91dGluZWx5IGNhcnJ5IGBcImZhbHNlXCJgLCB3aGljaCBwbGFpblxuICogdHJ1dGhpbmVzcyByZWFkcyBhcyBlbmFibGVkLiBFeHBvcnRlZCBzbyBldmVyeSBib29sZWFuIGtleSBnb2VzIHRocm91Z2ggaXQg4oCUXG4gKiB0d28gaW4gcGlwZWxpbmUtYnVpbGRlciBkaWRuJ3QsIGFuZCBgXCJmYWxzZVwiYCBzd2l0Y2hlZCB0aGVtIE9OLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNUcnVlKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykgcmV0dXJuIHZhbHVlO1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykgcmV0dXJuIHZhbHVlLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJztcbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKiogRXh0cmFjdCBDREsgY29uc3RydWN0IGNvbmZpZyBmcm9tIG1ldGFkYXRhIGZvciBhIGdpdmVuIG5hbWVzcGFjZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZENvbmZpZ0Zyb21NZXRhZGF0YShcbiAgbWV0YWRhdGE6IE1ldGFEYXRhVHlwZSxcbiAgbmFtZXNwYWNlOiBzdHJpbmcsXG4pOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIGNvbnN0IHsgYm9vbGVhbktleXMsIHBhc3N0aHJvdWdoS2V5cyB9ID1cbiAgICBOQU1FU1BBQ0VfS0VZX01BUFtuYW1lc3BhY2UgYXMgTmFtZXNwYWNlXSA/PyBFTVBUWV9LRVlfQ09ORklHO1xuXG4gIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICBmb3IgKGNvbnN0IGtleSBvZiBib29sZWFuS2V5cykge1xuICAgIGNvbnN0IHJhdyA9IG1ldGFkYXRhW2dldEN1c3RvbUtleShuYW1lc3BhY2UsIGtleSldO1xuICAgIGlmIChyYXcgIT09IHVuZGVmaW5lZCkgcmVzdWx0W2tleV0gPSBpc1RydWUocmF3KTtcbiAgfVxuXG4gIGZvciAoY29uc3Qga2V5IG9mIHBhc3N0aHJvdWdoS2V5cykge1xuICAgIGNvbnN0IHJhdyA9IG1ldGFkYXRhW2dldEN1c3RvbUtleShuYW1lc3BhY2UsIGtleSldO1xuICAgIGlmIChyYXcgIT09IHVuZGVmaW5lZCkgcmVzdWx0W2tleV0gPSByYXc7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKiogRXh0cmFjdCBDb2RlUGlwZWxpbmUgY29uZmlnIGZyb20gbWV0YWRhdGEuICovXG5leHBvcnQgZnVuY3Rpb24gbWV0YWRhdGFGb3JDb2RlUGlwZWxpbmUobWV0YWRhdGE6IE1ldGFEYXRhVHlwZSk6IFBhcnRpYWw8Q29kZVBpcGVsaW5lUHJvcHM+IHtcbiAgcmV0dXJuIGJ1aWxkQ29uZmlnRnJvbU1ldGFkYXRhKG1ldGFkYXRhLCBOQU1FU1BBQ0UuQ09ERV9QSVBFTElORSkgYXMgUGFydGlhbDxDb2RlUGlwZWxpbmVQcm9wcz47XG59XG5cbi8qKiBFeHRyYWN0IENvZGVCdWlsZFN0ZXAgY29uZmlnIGZyb20gbWV0YWRhdGEuICovXG5leHBvcnQgZnVuY3Rpb24gbWV0YWRhdGFGb3JDb2RlQnVpbGRTdGVwKG1ldGFkYXRhOiBNZXRhRGF0YVR5cGUpOiBQYXJ0aWFsPENvZGVCdWlsZFN0ZXBQcm9wcz4ge1xuICByZXR1cm4gYnVpbGRDb25maWdGcm9tTWV0YWRhdGEobWV0YWRhdGEsIE5BTUVTUEFDRS5DT0RFX0JVSUxEX1NURVApIGFzIFBhcnRpYWw8Q29kZUJ1aWxkU3RlcFByb3BzPjtcbn1cblxuLyoqIEV4dHJhY3QgU2hlbGxTdGVwIGNvbmZpZyBmcm9tIG1ldGFkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ldGFkYXRhRm9yU2hlbGxTdGVwKG1ldGFkYXRhOiBNZXRhRGF0YVR5cGUpOiBQYXJ0aWFsPFNoZWxsU3RlcFByb3BzPiB7XG4gIHJldHVybiBidWlsZENvbmZpZ0Zyb21NZXRhZGF0YShtZXRhZGF0YSwgTkFNRVNQQUNFLlNIRUxMX1NURVApIGFzIFBhcnRpYWw8U2hlbGxTdGVwUHJvcHM+O1xufVxuXG4vKiogRXh0cmFjdCBCdWlsZEVudmlyb25tZW50IGNvbmZpZyBmcm9tIG1ldGFkYXRhLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1ldGFkYXRhRm9yQnVpbGRFbnZpcm9ubWVudChtZXRhZGF0YTogTWV0YURhdGFUeXBlKTogUGFydGlhbDxCdWlsZEVudmlyb25tZW50PiB7XG4gIHJldHVybiBidWlsZENvbmZpZ0Zyb21NZXRhZGF0YShtZXRhZGF0YSwgTkFNRVNQQUNFLkJVSUxEX0VOVklST05NRU5UKSBhcyBQYXJ0aWFsPEJ1aWxkRW52aXJvbm1lbnQ+O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFR5cGVkLWNvbmZpZyBleHRyYWN0b3JzOiBlYzI6bmV0d29yayAvIGlhbTpyb2xlIC8gZWMyOnNlY3VyaXR5Z3JvdXAgbWV0YWRhdGFcbi8vIC0+IHRoZSBkaXNjcmltaW5hdGVkLXVuaW9uIGNvbmZpZyBvYmplY3RzIHRoZSBidWlsZGVyIGFscmVhZHkgY29uc3VtZXNcbi8vIChOZXR3b3JrQ29uZmlnIC8gUm9sZUNvbmZpZyAvIFNlY3VyaXR5R3JvdXBDb25maWcpLiBVbmxpa2UgdGhlIG5hbWVzcGFjZXNcbi8vIGFib3ZlICh3aGljaCBtYXAgMToxIHRvIENESyBjb25zdHJ1Y3QgcHJvcHMpLCB0aGVzZSBmZWVkIHJlc29sdmVOZXR3b3JrIC9cbi8vIHJlc29sdmVSb2xlIC8gcmVzb2x2ZVNlY3VyaXR5R3JvdXAuIEVhY2ggcmV0dXJucyB1bmRlZmluZWQgd2hlbiBpdHMga2V5cyBhcmVcbi8vIGFic2VudCwgc28gY2FsbGVycyBmYWxsIHRocm91Z2ggd2l0aCBgcHJvcCA/PyBtZXRhZGF0YSA/PyBlbnZgIHByZWNlZGVuY2UuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuZnVuY3Rpb24gYXNTdHIodjogdW5rbm93bik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiB0eXBlb2YgdiA9PT0gJ3N0cmluZycgJiYgdi50cmltKCkgIT09ICcnID8gdiA6IHVuZGVmaW5lZDtcbn1cblxuLyoqIEFjY2VwdCBhIEpTT04gYXJyYXkgb3IgYSBjb21tYS1zZXBhcmF0ZWQgc3RyaW5nIC0+IHN0cmluZ1tdICh1bmRlZmluZWQgaWYgZW1wdHkpLiAqL1xuZnVuY3Rpb24gYXNMaXN0KHY6IHVua25vd24pOiBzdHJpbmdbXSB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheSh2KVxuICAgID8gdi5tYXAoU3RyaW5nKS5tYXAocyA9PiBzLnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pXG4gICAgOiB0eXBlb2YgdiA9PT0gJ3N0cmluZycgJiYgdi50cmltKCkgIT09ICcnXG4gICAgICA/IHYuc3BsaXQoJywnKS5tYXAocyA9PiBzLnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pXG4gICAgICA6IFtdO1xuICByZXR1cm4gaXRlbXMubGVuZ3RoID4gMCA/IGl0ZW1zIDogdW5kZWZpbmVkO1xufVxuXG4vKiogQWNjZXB0IGEgSlNPTiBvYmplY3Qgb3IgYSBKU09OIHN0cmluZyAtPiBSZWNvcmQ8c3RyaW5nLHN0cmluZz4gKHVuZGVmaW5lZCBpZiBlbXB0eSkuICovXG5mdW5jdGlvbiBhc1RhZ3ModjogdW5rbm93bik6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfCB1bmRlZmluZWQge1xuICBsZXQgb2JqOiB1bmtub3duID0gdjtcbiAgaWYgKHR5cGVvZiB2ID09PSAnc3RyaW5nJyAmJiB2LnRyaW0oKSAhPT0gJycpIHtcbiAgICB0cnkgeyBvYmogPSBKU09OLnBhcnNlKHYpOyB9IGNhdGNoIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICB9XG4gIGlmIChvYmogJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgIUFycmF5LmlzQXJyYXkob2JqKSkge1xuICAgIGNvbnN0IGVudHJpZXMgPSBPYmplY3QuZW50cmllcyhvYmogYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLm1hcCgoW2ssIHZhbF0pID0+IFtrLCBTdHJpbmcodmFsKV0gYXMgY29uc3QpO1xuICAgIHJldHVybiBlbnRyaWVzLmxlbmd0aCA+IDAgPyBPYmplY3QuZnJvbUVudHJpZXMoZW50cmllcykgOiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuLyoqIHVuZGVmaW5lZCB3aGVuIHRoZSBrZXkgaXMgYWJzZW50OyBvdGhlcndpc2UgYSBjb2VyY2VkIGJvb2xlYW4uICovXG5mdW5jdGlvbiBhc0Jvb2wodjogdW5rbm93bik6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICByZXR1cm4gdiA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogaXNUcnVlKHYpO1xufVxuXG4vKiogQ29lcmNlIGEgbWV0YWRhdGEgdmFsdWUgdG8gYSBwb3NpdGl2ZSBpbnRlZ2VyOyB1bmRlZmluZWQgaWYgYWJzZW50L2ludmFsaWQuICovXG5leHBvcnQgZnVuY3Rpb24gYXNJbnQodjogdW5rbm93bik6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGlmICh2ID09PSB1bmRlZmluZWQgfHwgdiA9PT0gbnVsbCB8fCB2ID09PSAnJykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgbiA9IHR5cGVvZiB2ID09PSAnbnVtYmVyJyA/IHYgOiBOdW1iZXIoU3RyaW5nKHYpLnRyaW0oKSk7XG4gIHJldHVybiBOdW1iZXIuaXNJbnRlZ2VyKG4pICYmIG4gPiAwID8gbiA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBCdWlsZCBhIE5ldHdvcmtDb25maWcgZnJvbSBgZWMyOm5ldHdvcmtgIG1ldGFkYXRhIGtleXMuIFRoZSB2YXJpYW50IGNvbWVzXG4gKiBmcm9tIE5FVFdPUktfVFlQRSwgb3IgaXMgaW5mZXJyZWQgKHN1Ym5ldElkcyAtPiBzdWJuZXRJZHMsIHRhZ3MgLT4gdnBjTG9va3VwLFxuICogdnBjSWQgLT4gdnBjSWQpLiBSZXR1cm5zIHVuZGVmaW5lZCB3aGVuIG5vIHVzYWJsZSBuZXR3b3JrIG1ldGFkYXRhIGlzIHByZXNlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuZXR3b3JrQ29uZmlnRnJvbU1ldGFkYXRhKG1ldGFkYXRhOiBNZXRhRGF0YVR5cGUpOiBOZXR3b3JrQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgdHlwZSA9IGFzU3RyKG1ldGFkYXRhW01ldGFkYXRhS2V5cy5ORVRXT1JLX1RZUEVdKTtcbiAgY29uc3QgdnBjSWQgPSBhc1N0cihtZXRhZGF0YVtNZXRhZGF0YUtleXMuTkVUV09SS19WUENfSURdKTtcbiAgY29uc3Qgc3VibmV0SWRzID0gYXNMaXN0KG1ldGFkYXRhW01ldGFkYXRhS2V5cy5ORVRXT1JLX1NVQk5FVF9JRFNdKTtcbiAgY29uc3Qgc3VibmV0VHlwZSA9IGFzU3RyKG1ldGFkYXRhW01ldGFkYXRhS2V5cy5ORVRXT1JLX1NVQk5FVF9UWVBFXSkgYXMgU3VibmV0VHlwZU5hbWUgfCB1bmRlZmluZWQ7XG4gIGNvbnN0IGF2YWlsYWJpbGl0eVpvbmVzID0gYXNMaXN0KG1ldGFkYXRhW01ldGFkYXRhS2V5cy5ORVRXT1JLX0FWQUlMQUJJTElUWV9aT05FU10pO1xuICBjb25zdCBzdWJuZXRHcm91cE5hbWUgPSBhc1N0cihtZXRhZGF0YVtNZXRhZGF0YUtleXMuTkVUV09SS19TVUJORVRfR1JPVVBfTkFNRV0pO1xuICBjb25zdCBzZWN1cml0eUdyb3VwSWRzID0gYXNMaXN0KG1ldGFkYXRhW01ldGFkYXRhS2V5cy5ORVRXT1JLX1NFQ1VSSVRZX0dST1VQX0lEU10pO1xuICBjb25zdCB0YWdzID0gYXNUYWdzKG1ldGFkYXRhW01ldGFkYXRhS2V5cy5ORVRXT1JLX1RBR1NdKTtcbiAgY29uc3QgdnBjTmFtZSA9IGFzU3RyKG1ldGFkYXRhW01ldGFkYXRhS2V5cy5ORVRXT1JLX1ZQQ19OQU1FXSk7XG4gIGNvbnN0IHJlZ2lvbiA9IGFzU3RyKG1ldGFkYXRhW01ldGFkYXRhS2V5cy5ORVRXT1JLX1JFR0lPTl0pO1xuXG4gIGNvbnN0IHZhcmlhbnQgPSB0eXBlID8/IChzdWJuZXRJZHMgPyAnc3VibmV0SWRzJyA6IHRhZ3MgPyAndnBjTG9va3VwJyA6IHZwY0lkID8gJ3ZwY0lkJyA6IHVuZGVmaW5lZCk7XG5cbiAgc3dpdGNoICh2YXJpYW50KSB7XG4gICAgY2FzZSAnc3VibmV0SWRzJzpcbiAgICAgIGlmICghdnBjSWQgfHwgIXN1Ym5ldElkcykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdzdWJuZXRJZHMnLCBvcHRpb25zOiB7IHZwY0lkLCBzdWJuZXRJZHMsIC4uLihzZWN1cml0eUdyb3VwSWRzICYmIHsgc2VjdXJpdHlHcm91cElkcyB9KSB9IH07XG4gICAgY2FzZSAndnBjSWQnOlxuICAgICAgaWYgKCF2cGNJZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICd2cGNJZCcsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICB2cGNJZCxcbiAgICAgICAgICAuLi4oc3VibmV0VHlwZSAmJiB7IHN1Ym5ldFR5cGUgfSksXG4gICAgICAgICAgLi4uKGF2YWlsYWJpbGl0eVpvbmVzICYmIHsgYXZhaWxhYmlsaXR5Wm9uZXMgfSksXG4gICAgICAgICAgLi4uKHN1Ym5ldEdyb3VwTmFtZSAmJiB7IHN1Ym5ldEdyb3VwTmFtZSB9KSxcbiAgICAgICAgICAuLi4oc2VjdXJpdHlHcm91cElkcyAmJiB7IHNlY3VyaXR5R3JvdXBJZHMgfSksXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgIGNhc2UgJ3ZwY0xvb2t1cCc6XG4gICAgICBpZiAoIXRhZ3MpIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0eXBlOiAndnBjTG9va3VwJyxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgIHRhZ3MsXG4gICAgICAgICAgLi4uKHN1Ym5ldFR5cGUgJiYgeyBzdWJuZXRUeXBlIH0pLFxuICAgICAgICAgIC4uLihhdmFpbGFiaWxpdHlab25lcyAmJiB7IGF2YWlsYWJpbGl0eVpvbmVzIH0pLFxuICAgICAgICAgIC4uLihzdWJuZXRHcm91cE5hbWUgJiYgeyBzdWJuZXRHcm91cE5hbWUgfSksXG4gICAgICAgICAgLi4uKHNlY3VyaXR5R3JvdXBJZHMgJiYgeyBzZWN1cml0eUdyb3VwSWRzIH0pLFxuICAgICAgICAgIC4uLih2cGNOYW1lICYmIHsgdnBjTmFtZSB9KSxcbiAgICAgICAgICAuLi4ocmVnaW9uICYmIHsgcmVnaW9uIH0pLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkIGEgUm9sZUNvbmZpZyBmcm9tIGBpYW06cm9sZWAgbWV0YWRhdGEga2V5cyAocm9sZUFybiAvIHJvbGVOYW1lIC9cbiAqIGNvZGVCdWlsZERlZmF1bHQpLiBUaGUgNCBrZXlzIGNhbid0IGV4cHJlc3MgdGhlIGZ1bGwgYG9pZGNgIG9wdGlvbiBzZXQsIHNvIGFuXG4gKiBgb2lkY2AgdHlwZSBmcm9tIG1ldGFkYXRhIGlzIGlnbm9yZWQuIFJldHVybnMgdW5kZWZpbmVkIHdoZW4gbm8ga2V5cyBhcmUgc2V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcm9sZUNvbmZpZ0Zyb21NZXRhZGF0YShtZXRhZGF0YTogTWV0YURhdGFUeXBlKTogUm9sZUNvbmZpZyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHR5cGUgPSBhc1N0cihtZXRhZGF0YVtNZXRhZGF0YUtleXMuUk9MRV9UWVBFXSk7XG4gIGNvbnN0IHJvbGVBcm4gPSBhc1N0cihtZXRhZGF0YVtNZXRhZGF0YUtleXMuUk9MRV9BUk5dKTtcbiAgY29uc3Qgcm9sZU5hbWUgPSBhc1N0cihtZXRhZGF0YVtNZXRhZGF0YUtleXMuUk9MRV9OQU1FXSk7XG4gIGNvbnN0IG11dGFibGUgPSBhc0Jvb2wobWV0YWRhdGFbTWV0YWRhdGFLZXlzLlJPTEVfTVVUQUJMRV0pO1xuXG4gIGNvbnN0IHZhcmlhbnQgPSB0eXBlID8/IChyb2xlQXJuID8gJ3JvbGVBcm4nIDogcm9sZU5hbWUgPyAncm9sZU5hbWUnIDogdW5kZWZpbmVkKTtcblxuICBzd2l0Y2ggKHZhcmlhbnQpIHtcbiAgICBjYXNlICdyb2xlQXJuJzpcbiAgICAgIGlmICghcm9sZUFybikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdyb2xlQXJuJywgb3B0aW9uczogeyByb2xlQXJuLCAuLi4obXV0YWJsZSAhPT0gdW5kZWZpbmVkICYmIHsgbXV0YWJsZSB9KSB9IH07XG4gICAgY2FzZSAncm9sZU5hbWUnOlxuICAgICAgaWYgKCFyb2xlTmFtZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdyb2xlTmFtZScsIG9wdGlvbnM6IHsgcm9sZU5hbWUsIC4uLihtdXRhYmxlICE9PSB1bmRlZmluZWQgJiYgeyBtdXRhYmxlIH0pIH0gfTtcbiAgICBjYXNlICdjb2RlQnVpbGREZWZhdWx0JzpcbiAgICAgIHJldHVybiB7IHR5cGU6ICdjb2RlQnVpbGREZWZhdWx0Jywgb3B0aW9uczogeyAuLi4ocm9sZU5hbWUgJiYgeyByb2xlTmFtZSB9KSB9IH07XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZCBhIFNlY3VyaXR5R3JvdXBDb25maWcgZnJvbSBgZWMyOnNlY3VyaXR5Z3JvdXBgIG1ldGFkYXRhIGtleXNcbiAqIChzZWN1cml0eUdyb3VwSWRzIC8gc2VjdXJpdHlHcm91cExvb2t1cCkuIFJldHVybnMgdW5kZWZpbmVkIHdoZW4gbm8ga2V5cyBzZXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZWN1cml0eUdyb3VwQ29uZmlnRnJvbU1ldGFkYXRhKG1ldGFkYXRhOiBNZXRhRGF0YVR5cGUpOiBTZWN1cml0eUdyb3VwQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgdHlwZSA9IGFzU3RyKG1ldGFkYXRhW01ldGFkYXRhS2V5cy5TRUNVUklUWV9HUk9VUF9UWVBFXSk7XG4gIGNvbnN0IGlkcyA9IGFzTGlzdChtZXRhZGF0YVtNZXRhZGF0YUtleXMuU0VDVVJJVFlfR1JPVVBfSURTXSk7XG4gIGNvbnN0IG11dGFibGUgPSBhc0Jvb2wobWV0YWRhdGFbTWV0YWRhdGFLZXlzLlNFQ1VSSVRZX0dST1VQX01VVEFCTEVdKTtcbiAgY29uc3QgbmFtZSA9IGFzU3RyKG1ldGFkYXRhW01ldGFkYXRhS2V5cy5TRUNVUklUWV9HUk9VUF9OQU1FXSk7XG4gIGNvbnN0IHZwY0lkID0gYXNTdHIobWV0YWRhdGFbTWV0YWRhdGFLZXlzLlNFQ1VSSVRZX0dST1VQX1ZQQ19JRF0pO1xuXG4gIGNvbnN0IHZhcmlhbnQgPSB0eXBlID8/IChpZHMgPyAnc2VjdXJpdHlHcm91cElkcycgOiBuYW1lID8gJ3NlY3VyaXR5R3JvdXBMb29rdXAnIDogdW5kZWZpbmVkKTtcblxuICBzd2l0Y2ggKHZhcmlhbnQpIHtcbiAgICBjYXNlICdzZWN1cml0eUdyb3VwSWRzJzpcbiAgICAgIGlmICghaWRzKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgcmV0dXJuIHsgdHlwZTogJ3NlY3VyaXR5R3JvdXBJZHMnLCBvcHRpb25zOiB7IHNlY3VyaXR5R3JvdXBJZHM6IGlkcywgLi4uKG11dGFibGUgIT09IHVuZGVmaW5lZCAmJiB7IG11dGFibGUgfSkgfSB9O1xuICAgIGNhc2UgJ3NlY3VyaXR5R3JvdXBMb29rdXAnOlxuICAgICAgaWYgKCFuYW1lIHx8ICF2cGNJZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdzZWN1cml0eUdyb3VwTG9va3VwJywgb3B0aW9uczogeyBzZWN1cml0eUdyb3VwTmFtZTogbmFtZSwgdnBjSWQgfSB9O1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKiBBIENvZGVQaXBlbGluZSBWMiBwaXBlbGluZS1sZXZlbCB2YXJpYWJsZSBwYXJzZWQgZnJvbSBgb3BlcmF0aW9ucy52YXJpYWJsZXNgLiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaXBlbGluZVZhcmlhYmxlU3BlYyB7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBQYXJzZSBgb3BlcmF0aW9ucy52YXJpYWJsZXNgIG1ldGFkYXRhIGludG8gQ29kZVBpcGVsaW5lIFYyIHZhcmlhYmxlIHNwZWNzLlxuICogQWNjZXB0cyBhIEpTT04gYXJyYXkgKGBbe1wibmFtZVwiOlwiRU5WXCIsXCJkZWZhdWx0XCI6XCJwcm9kXCIsXCJkZXNjcmlwdGlvblwiOlwiLi4uXCJ9XWApXG4gKiBvciBhIGNvbXBhY3QgY29tbWEtc2VwYXJhdGVkIGBuYW1lPWRlZmF1bHRgIGxpc3QgKGBFTlY9cHJvZCxSRUdJT049dXMtZWFzdC0xYCkuXG4gKiBFbnRyaWVzIHdpdGhvdXQgYSB1c2FibGUgbmFtZSBhcmUgc2tpcHBlZDsgcmV0dXJucyBbXSB3aGVuIG5vdGhpbmcgdmFsaWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVBpcGVsaW5lVmFyaWFibGVzKHZhbHVlOiB1bmtub3duKTogUGlwZWxpbmVWYXJpYWJsZVNwZWNbXSB7XG4gIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIFtdO1xuXG4gIC8vIEFscmVhZHkgYW4gYXJyYXkgKEpTT04tdHlwZWQgbWV0YWRhdGEpIG9yIGEgSlNPTi1lbmNvZGVkIHN0cmluZy5cbiAgbGV0IHBhcnNlZDogdW5rbm93biA9IHZhbHVlO1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgIGNvbnN0IHRyaW1tZWQgPSB2YWx1ZS50cmltKCk7XG4gICAgaWYgKHRyaW1tZWQuc3RhcnRzV2l0aCgnWycpIHx8IHRyaW1tZWQuc3RhcnRzV2l0aCgneycpKSB7XG4gICAgICB0cnkgeyBwYXJzZWQgPSBKU09OLnBhcnNlKHRyaW1tZWQpOyB9IGNhdGNoIHsgcGFyc2VkID0gdmFsdWU7IH1cbiAgICB9XG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheShwYXJzZWQpKSB7XG4gICAgY29uc3Qgc3BlY3M6IFBpcGVsaW5lVmFyaWFibGVTcGVjW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIHBhcnNlZCkge1xuICAgICAgaWYgKCFlbnRyeSB8fCB0eXBlb2YgZW50cnkgIT09ICdvYmplY3QnKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IGUgPSBlbnRyeSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICAgIGNvbnN0IG5hbWUgPSBhc1N0cihlLm5hbWUpO1xuICAgICAgaWYgKCFuYW1lKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IGFzU3RyKGUuZGVmYXVsdCkgPz8gYXNTdHIoZS5kZWZhdWx0VmFsdWUpO1xuICAgICAgY29uc3QgZGVzY3JpcHRpb24gPSBhc1N0cihlLmRlc2NyaXB0aW9uKTtcbiAgICAgIHNwZWNzLnB1c2goeyBuYW1lLCAuLi4oZGVmYXVsdFZhbHVlICE9PSB1bmRlZmluZWQgJiYgeyBkZWZhdWx0VmFsdWUgfSksIC4uLihkZXNjcmlwdGlvbiAhPT0gdW5kZWZpbmVkICYmIHsgZGVzY3JpcHRpb24gfSkgfSk7XG4gICAgfVxuICAgIHJldHVybiBzcGVjcztcbiAgfVxuXG4gIC8vIENvbXBhY3QgYG5hbWU9ZGVmYXVsdGAgY29tbWEgbGlzdC5cbiAgaWYgKHR5cGVvZiBwYXJzZWQgPT09ICdzdHJpbmcnKSB7XG4gICAgY29uc3Qgc3BlY3M6IFBpcGVsaW5lVmFyaWFibGVTcGVjW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHBhaXIgb2YgcGFyc2VkLnNwbGl0KCcsJykpIHtcbiAgICAgIGNvbnN0IGlkeCA9IHBhaXIuaW5kZXhPZignPScpO1xuICAgICAgY29uc3QgbmFtZSA9IChpZHggPT09IC0xID8gcGFpciA6IHBhaXIuc2xpY2UoMCwgaWR4KSkudHJpbSgpO1xuICAgICAgaWYgKCFuYW1lKSBjb250aW51ZTtcbiAgICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9IGlkeCA9PT0gLTEgPyB1bmRlZmluZWQgOiBwYWlyLnNsaWNlKGlkeCArIDEpLnRyaW0oKTtcbiAgICAgIHNwZWNzLnB1c2goeyBuYW1lLCAuLi4oZGVmYXVsdFZhbHVlID8geyBkZWZhdWx0VmFsdWUgfSA6IHt9KSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHNwZWNzO1xuICB9XG5cbiAgcmV0dXJuIFtdO1xufVxuIl19
|
|
@@ -92,4 +92,4 @@ export function wrapCommandsForFailureBehavior(commands, behavior) {
|
|
|
92
92
|
export function replaceNonAlphanumeric(input, replaceValue = '_') {
|
|
93
93
|
return input.replace(/[^a-zA-Z0-9]/g, replaceValue);
|
|
94
94
|
}
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWV0YWRhdGEtaGVscGVycy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvbWV0YWRhdGEtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7O0dBT0c7QUFFSCxPQUFPLEVBQUUsbUJBQW1CLEVBQXFCLE1BQU0scUJBQXFCLENBQUM7QUFFN0U7O0dBRUc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUFDLEdBQUcsT0FBcUM7SUFDNUQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxHQUFHLE9BQU8sQ0FBaUIsQ0FBQztBQUN2RCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFFBQXNCO0lBQ3ZELE1BQU0sR0FBRyxHQUEyQixFQUFFLENBQUM7SUFDdkMsS0FBSyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDekMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVEOzs7c0RBR3NEO0FBQ3RELE1BQU0sb0JBQW9CLEdBQUcsc0NBQXNDLENBQUM7QUFFcEU7Z0VBQ2dFO0FBQ2hFLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxRQUFpQixFQUFFLFFBQXFDO0lBQzdGLElBQUksUUFBUSxJQUFJLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFBRSxPQUFPLE1BQU0sQ0FBQztJQUNuRSxPQUFPLFFBQVEsSUFBSSxNQUFNLENBQUM7QUFDNUIsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLDhDQUE4QyxDQUFDO0FBRWpGOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxRQUFrQixFQUFFLFFBQXFDO0lBQ3RHLElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxLQUFLLE1BQU07UUFBRSxPQUFPLFFBQVEsQ0FBQztJQUV0RCx3RUFBd0U7SUFDeEUsa0VBQWtFO0lBQ2xFLDBEQUEwRDtJQUMxRCwyRUFBMkU7SUFDM0UsMkJBQTJCO0lBQzNCLDZFQUE2RTtJQUM3RSx1REFBdUQ7SUFDdkQsMEVBQTBFO0lBQzFFLGtFQUFrRTtJQUNsRSxNQUFNLE9BQU8sR0FBRyxDQUFDLEdBQVcsRUFBVSxFQUFFLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUV2RCxJQUFJLFFBQVEsS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUMxQixPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCxPQUFPO1FBQ0wsUUFBUTtRQUNSLGNBQWM7UUFDZCxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMseUVBQXlFLENBQUM7UUFDaEgsUUFBUTtRQUNSLCtGQUErRjtLQUNoRyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLEtBQWEsRUFBRSxZQUFZLEdBQVcsR0FBRztJQUM5RSxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBQ3RELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBNZXRhZGF0YSBhbmQgc3RyaW5nIGhlbHBlcnMgdGhhdCBhcmUgRlJFRSBvZiBgYXdzLWNkay1saWJgLlxuICpcbiAqIFNwbGl0IG91dCBvZiBgcGlwZWxpbmUtaGVscGVycy50c2AgKHdoaWNoIGJ1aWxkcyBDb2RlQnVpbGQgc3RlcHMgYW5kIHRoZXJlZm9yZVxuICogcHVsbHMgaW4gdGhlIENESykgc28gdGhlIG1haW4gYEBwaXBlbGluZS1idWlsZGVyL3BpcGVsaW5lLWNvcmVgIGVudHJ5IHBvaW50IGNhblxuICogZXhwb3J0IHRoZW0gd2l0aG91dCBwdXR0aW5nIGBhd3MtY2RrLWxpYmAgb24gZXZlcnkgY29uc3VtZXIncyBpbXBvcnQgZ3JhcGguXG4gKiBBbnl0aGluZyBoZXJlIHRoYXQgbmVlZHMgYSBDREsgdHlwZSBiZWxvbmdzIGluIGBwaXBlbGluZS1oZWxwZXJzLnRzYCBpbnN0ZWFkLlxuICovXG5cbmltcG9ydCB7IENES19NRVRBREFUQV9QUkVGSVgsIHR5cGUgTWV0YURhdGFUeXBlIH0gZnJvbSAnLi9waXBlbGluZS10eXBlcy5qcyc7XG5cbi8qKlxuICogTWVyZ2UgbXVsdGlwbGUgbWV0YWRhdGEgb2JqZWN0cyBpbnRvIG9uZS4gTGF0ZXIgc291cmNlcyBvdmVycmlkZSBlYXJsaWVyIG9uZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZSguLi5zb3VyY2VzOiBBcnJheTxQYXJ0aWFsPE1ldGFEYXRhVHlwZT4+KTogTWV0YURhdGFUeXBlIHtcbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIC4uLnNvdXJjZXMpIGFzIE1ldGFEYXRhVHlwZTtcbn1cblxuLyoqXG4gKiBFeHRyYWN0IG5vbi1uYW1lc3BhY2VkIG1ldGFkYXRhIGtleXMgYXMgZW52aXJvbm1lbnQgdmFyaWFibGUgc3RyaW5ncy5cbiAqIEtleXMgc3RhcnRpbmcgd2l0aCAnYXdzOmNkazonIGFyZSByZXNlcnZlZCBmb3IgQ0RLIGNvbnN0cnVjdCBwcm9wc1xuICogKHByb2Nlc3NlZCBieSBtZXRhZGF0YSBleHRyYWN0aW9uIGZ1bmN0aW9ucykgYW5kIGFyZSBleGNsdWRlZCBoZXJlLlxuICpcbiAqIEFsbCB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byBzdHJpbmdzIGZvciBDb2RlQnVpbGQgY29tcGF0aWJpbGl0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3RNZXRhZGF0YUVudihtZXRhZGF0YTogTWV0YURhdGFUeXBlKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IGVudjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhtZXRhZGF0YSkpIHtcbiAgICBpZiAoIWtleS5zdGFydHNXaXRoKENES19NRVRBREFUQV9QUkVGSVgpKSB7XG4gICAgICBlbnZba2V5XSA9IFN0cmluZyh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBlbnY7XG59XG5cbi8qKiBQbHVnaW4gY2F0ZWdvcmllcyB3aG9zZSBmYWlsdXJlIG11c3QgTkVWRVIgYmUgbWFza2VkLiBBIHNjYW4vc2VjdXJpdHkgc3RlcCB0aGF0XG4gKiAgZXhpdHMgbm9uLXplcm8gaGFzIHRvIGZhaWwgdGhlIHBpcGVsaW5lIChyZXBvIHJ1bGU6IGEgZmFpbGVkIHNjYW4gaXMgcmVkLCBuZXZlciBhXG4gKiAgZmFsc2UtZ3JlZW4gYHx8IHRydWVgKSwgc28gc3VjaCBhIHBsdWdpbidzIGZhaWx1cmVCZWhhdmlvciBpcyBmb3JjZWQgdG8gJ2ZhaWwnXG4gKiAgcmVnYXJkbGVzcyBvZiB3aGF0IHRoZSBwbHVnaW4gb3Igc3RlcCBhdXRob3JlZC4gKi9cbmNvbnN0IEZBSUxfRkFTVF9DQVRFR09SSUVTID0gL3NjYW58c2VjdXJpdHl8c2FzdHxkYXN0fHZ1bG58c2VjcmV0L2k7XG5cbi8qKiBSZXNvbHZlIHRoZSBlZmZlY3RpdmUgZmFpbHVyZUJlaGF2aW9yOiBhIHNjYW4vc2VjdXJpdHktY2F0ZWdvcnkgcGx1Z2luIGlzIHBpbm5lZFxuICogIHRvICdmYWlsJzsgb3RoZXJ3aXNlIHRoZSBhdXRob3JlZCB2YWx1ZSAoZGVmYXVsdCAnZmFpbCcpLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVGYWlsdXJlQmVoYXZpb3IoY2F0ZWdvcnk/OiBzdHJpbmcsIGF1dGhvcmVkPzogJ2ZhaWwnIHwgJ3dhcm4nIHwgJ2lnbm9yZScpOiAnZmFpbCcgfCAnd2FybicgfCAnaWdub3JlJyB7XG4gIGlmIChjYXRlZ29yeSAmJiBGQUlMX0ZBU1RfQ0FURUdPUklFUy50ZXN0KGNhdGVnb3J5KSkgcmV0dXJuICdmYWlsJztcbiAgcmV0dXJuIGF1dGhvcmVkID8/ICdmYWlsJztcbn1cblxuLyoqXG4gKiBUaGUgZmlyc3QgY29tbWFuZCBvZiBhIHN0ZXAncyBpbnN0YWxsIGFuZCBidWlsZCBwaGFzZXM6IGBjZGAgaW50byB0aGVcbiAqIGBXT1JLRElSYCBtZXRhZGF0YS9lbnYgdmFsdWUgKGRlZmF1bHQgYC4vYCwgdGhlIGNoZWNrZWQtb3V0IHNvdXJjZSkuXG4gKi9cbmV4cG9ydCBjb25zdCBTVEVQX0JPT1RTVFJBUF9DTUQgPSAnZXhwb3J0IFdPUktESVI9JHtXT1JLRElSOi0uL307IGNkICR7V09SS0RJUn0nO1xuXG4vKipcbiAqIFdyYXAgYnVpbGQgY29tbWFuZHMgYmFzZWQgb24gZmFpbHVyZSBiZWhhdmlvci5cbiAqIC0gJ2ZhaWwnIChkZWZhdWx0KTogTm8gd3JhcHBpbmcg4oCUIGNvbW1hbmRzIGZhaWwgdGhlIHBpcGVsaW5lIG5hdHVyYWxseS5cbiAqIC0gJ3dhcm4nOiBSdW4gY29tbWFuZHMgd2l0aCBgc2V0ICtlYCwgY2FwdHVyZSBmYWlsdXJlcywgbG9nIHdhcm5pbmdzLCBjb250aW51ZS5cbiAqIC0gJ2lnbm9yZSc6IEFwcGVuZCBgfHwgdHJ1ZWAgdG8gZWFjaCBjb21tYW5kIOKAlCBmYWlsdXJlcyBhcmUgc2lsZW50bHkgc3dhbGxvd2VkLlxuICpcbiAqIE9ubHkgYXBwbGllZCB0byBidWlsZCBjb21tYW5kcywgbm90IGluc3RhbGwgY29tbWFuZHMgKGluc3RhbGwgZmFpbHVyZXMgc2hvdWxkIGFsd2F5cyBzdG9wIHRoZSBidWlsZCkuXG4gKiBDREstZnJlZSBzbyBgcGlwZWxpbmUtbWFuYWdlciBwbHVnaW4gdGVzdGAgcnVucyBhIHBsdWdpbidzIGNvbW1hbmRzIGV4YWN0bHkgYXNcbiAqIHRoZSBDb2RlQnVpbGQgc3RlcCBkb2VzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcENvbW1hbmRzRm9yRmFpbHVyZUJlaGF2aW9yKGNvbW1hbmRzOiBzdHJpbmdbXSwgYmVoYXZpb3I/OiAnZmFpbCcgfCAnd2FybicgfCAnaWdub3JlJyk6IHN0cmluZ1tdIHtcbiAgaWYgKCFiZWhhdmlvciB8fCBiZWhhdmlvciA9PT0gJ2ZhaWwnKSByZXR1cm4gY29tbWFuZHM7XG5cbiAgLy8gR3JvdXAgZWFjaCBjb21tYW5kIGFuZCBjbG9zZSB0aGUgZ3JvdXAgb24gaXRzIE9XTiBsaW5lLiBBcHBlbmRpbmcgdGhlXG4gIC8vIGhhbmRsZXIgYXMgdGV4dCBhZnRlciB0aGUgY29tbWFuZCBicm9rZSBvbiB0d28gb3JkaW5hcnkgaW5wdXRzOlxuICAvLyAgLSBhIHRyYWlsaW5nIGAjIGNvbW1lbnRgIGNvbW1lbnRlZCB0aGUgaGFuZGxlciBvdXQsIHNvXG4gIC8vICAgIGBucG0gYXVkaXQgIyBpbmZvcm1hdGlvbmFsIHx8IHRydWVgIGV4aXRlZCAxIGFuZCBmYWlsZWQgYSBzdGVwIG1hcmtlZFxuICAvLyAgICBgaWdub3JlYCAob3IgYHdhcm5gKTtcbiAgLy8gIC0gYSBoZXJlZG9jIHdob3NlIGxhc3QgbGluZSBpcyBpdHMgdGVybWluYXRvciBiZWNhbWUgYEVPRiB8fCB0cnVlYCwgd2hpY2hcbiAgLy8gICAgaXMgbm90IGEgdGVybWluYXRvciwgc28gdGhlIGhlcmVkb2MgbmV2ZXIgY2xvc2VkLlxuICAvLyBUaGUgbmV3bGluZSBlbmRzIGFueSBjb21tZW50IGFuZCBsZWF2ZXMgYSB0ZXJtaW5hdG9yIGFsb25lIG9uIGl0cyBsaW5lO1xuICAvLyBgJD9gIGluc2lkZSB0aGUgaGFuZGxlciBpcyBzdGlsbCB0aGUgY29tbWFuZCdzIG93biBleGl0IHN0YXR1cy5cbiAgY29uc3QgZ3JvdXBlZCA9IChjbWQ6IHN0cmluZyk6IHN0cmluZyA9PiBgeyAke2NtZH1cXG59YDtcblxuICBpZiAoYmVoYXZpb3IgPT09ICdpZ25vcmUnKSB7XG4gICAgcmV0dXJuIGNvbW1hbmRzLm1hcChjbWQgPT4gYCR7Z3JvdXBlZChjbWQpfSB8fCB0cnVlYCk7XG4gIH1cblxuICAvLyAnd2Fybic6IHJ1biBhbGwgY29tbWFuZHMsIGNhcHR1cmUgZmFpbHVyZXMsIGJ1dCBkb24ndCBzdG9wXG4gIHJldHVybiBbXG4gICAgJ3NldCArZScsXG4gICAgJ19TVEVQX0VYSVQ9MCcsXG4gICAgLi4uY29tbWFuZHMubWFwKGNtZCA9PiBgJHtncm91cGVkKGNtZCl9IHx8IHsgZWNobyBcIldBUk5JTkc6IENvbW1hbmQgZmFpbGVkIHdpdGggZXhpdCBjb2RlICQ/XCI7IF9TVEVQX0VYSVQ9MTsgfWApLFxuICAgICdzZXQgLWUnLFxuICAgICdpZiBbIFwiJF9TVEVQX0VYSVRcIiAtbmUgMCBdOyB0aGVuIGVjaG8gXCJXQVJOSU5HOiBPbmUgb3IgbW9yZSBjb21tYW5kcyBpbiB0aGlzIHN0ZXAgZmFpbGVkXCI7IGZpJyxcbiAgXTtcbn1cblxuLyoqXG4gKiBSZXBsYWNlcyBhbGwgY2hhcmFjdGVycyB0aGF0IGFyZSBub3QgbGV0dGVycyBvciBudW1iZXJzIHdpdGggdGhlIHNwZWNpZmllZCB2YWx1ZVxuICogQHBhcmFtIGlucHV0IC0gVGhlIHN0cmluZyB0byBwcm9jZXNzXG4gKiBAcGFyYW0gcmVwbGFjZVZhbHVlIC0gVGhlIGNoYXJhY3RlcihzKSB0byByZXBsYWNlIG5vbi1hbHBoYW51bWVyaWMgY2hhcmFjdGVycyB3aXRoIChkZWZhdWx0OiAnXycpXG4gKiBAcmV0dXJucyBUaGUgc3RyaW5nIHdpdGggbm9uLWFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIHJlcGxhY2VkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBsYWNlTm9uQWxwaGFudW1lcmljKGlucHV0OiBzdHJpbmcsIHJlcGxhY2VWYWx1ZTogc3RyaW5nID0gJ18nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGlucHV0LnJlcGxhY2UoL1teYS16QS1aMC05XS9nLCByZXBsYWNlVmFsdWUpO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
export {};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay10eXBlcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvbmV0d29yay10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgU2VjcmV0VmFsdWUgfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgdHlwZSB7IE1ldGFEYXRhVHlwZSB9IGZyb20gJy4vcGlwZWxpbmUtdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUgeyBTZWN1cml0eUdyb3VwQ29uZmlnIH0gZnJvbSAnLi9zZWN1cml0eS1ncm91cC10eXBlcy5qcyc7XG5cbi8qKlxuICogTmV0d29yayBjb25maWd1cmF0aW9uIHVzaW5nIGV4cGxpY2l0IHN1Ym5ldCBJRHNcbiAqXG4gKiBVc2Ugd2hlbiB5b3Uga25vdyB0aGUgZXhhY3Qgc3VibmV0IElEcyB3aGVyZSBDb2RlQnVpbGQgc2hvdWxkIHJ1bi5cbiAqIFN1Ym5ldHMgYXJlIHNlbGVjdGVkIGRpcmVjdGx5IGJ5IElEOyBWUEMgaXMgbG9va2VkIHVwIGZyb20gdGhlIHByb3ZpZGVkIHZwY0lkLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuZXR3b3JrOiBTdWJuZXRJZHNOZXR3b3JrID0ge1xuICogICB0eXBlOiAnc3VibmV0SWRzJyxcbiAqICAgb3B0aW9uczoge1xuICogICAgIHZwY0lkOiAndnBjLTBhMWIyYzNkNGU1ZjZhN2I4JyxcbiAqICAgICBzdWJuZXRJZHM6IFsnc3VibmV0LTBhMWIyYzNkJywgJ3N1Ym5ldC00ZTVmNmE3YiddLFxuICogICAgIHNlY3VyaXR5R3JvdXBJZHM6IFsnc2ctMTIzNDU2NzgnXVxuICogICB9XG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VibmV0SWRzTmV0d29yayB7XG4gIHJlYWRvbmx5IHR5cGU6ICdzdWJuZXRJZHMnO1xuICByZWFkb25seSBvcHRpb25zOiBTdWJuZXRJZHNOZXR3b3JrT3B0aW9ucztcbn1cblxuLyoqXG4gKiBOZXR3b3JrIGNvbmZpZ3VyYXRpb24gdXNpbmcgVlBDIGxvb2t1cCBieSBJRFxuICpcbiAqIExvb2tzIHVwIGFuIGV4aXN0aW5nIFZQQyBieSBpdHMgSUQgYW5kIHJlc29sdmVzIHN1Ym5ldHMgdmlhIHN1Ym5ldFNlbGVjdGlvbiBmaWx0ZXJzLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuZXR3b3JrOiBWcGNJZE5ldHdvcmsgPSB7XG4gKiAgIHR5cGU6ICd2cGNJZCcsXG4gKiAgIG9wdGlvbnM6IHtcbiAqICAgICB2cGNJZDogJ3ZwYy0wYTFiMmMzZDRlNWY2YTdiOCcsXG4gKiAgICAgc3VibmV0VHlwZTogJ1BSSVZBVEVfV0lUSF9FR1JFU1MnLFxuICogICAgIHNlY3VyaXR5R3JvdXBJZHM6IFsnc2ctMTIzNDU2NzgnXVxuICogICB9XG4gKiB9O1xuICogYGBgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVnBjSWROZXR3b3JrIHtcbiAgcmVhZG9ubHkgdHlwZTogJ3ZwY0lkJztcbiAgcmVhZG9ubHkgb3B0aW9uczogVnBjSWROZXR3b3JrT3B0aW9ucztcbn1cblxuLyoqXG4gKiBOZXR3b3JrIGNvbmZpZ3VyYXRpb24gdXNpbmcgVlBDIGxvb2t1cCBieSB0YWdzXG4gKlxuICogTG9va3MgdXAgYW4gZXhpc3RpbmcgVlBDIGJ5IHRhZyBmaWx0ZXJzIGFuZCByZXNvbHZlcyBzdWJuZXRzIHZpYSBzdWJuZXRTZWxlY3Rpb24gZmlsdGVycy5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmV0d29yazogVnBjTG9va3VwTmV0d29yayA9IHtcbiAqICAgdHlwZTogJ3ZwY0xvb2t1cCcsXG4gKiAgIG9wdGlvbnM6IHtcbiAqICAgICB0YWdzOiB7ICdhd3M6Y2xvdWRmb3JtYXRpb246c3RhY2stbmFtZSc6ICdOZXR3b3JrU3RhY2snIH0sXG4gKiAgICAgc3VibmV0VHlwZTogJ1BSSVZBVEVfV0lUSF9FR1JFU1MnLFxuICogICAgIGF2YWlsYWJpbGl0eVpvbmVzOiBbJ3VzLWVhc3QtMWEnLCAndXMtZWFzdC0xYiddXG4gKiAgIH1cbiAqIH07XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWcGNMb29rdXBOZXR3b3JrIHtcbiAgcmVhZG9ubHkgdHlwZTogJ3ZwY0xvb2t1cCc7XG4gIHJlYWRvbmx5IG9wdGlvbnM6IFZwY0xvb2t1cE5ldHdvcmtPcHRpb25zO1xufVxuXG4vKipcbiAqIENvbW1vbiBzdWJuZXQgc2VsZWN0aW9uIGZpbHRlcnMgc2hhcmVkIGJ5IFZQQy1iYXNlZCBuZXR3b3JrIG9wdGlvbnNcbiAqL1xuaW50ZXJmYWNlIFN1Ym5ldFNlbGVjdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogU3VibmV0IHR5cGUgZmlsdGVyIGZvciBzdWJuZXQgc2VsZWN0aW9uXG4gICAqIE1hcHMgdG8gQ0RLIFN1Ym5ldFR5cGUgdmFsdWVzXG4gICAqIEBkZWZhdWx0ICdQUklWQVRFX1dJVEhfRUdSRVNTJ1xuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0VHlwZT86IFN1Ym5ldFR5cGVOYW1lO1xuXG4gIC8qKlxuICAgKiBGaWx0ZXIgc3VibmV0cyB0byBzcGVjaWZpYyBhdmFpbGFiaWxpdHkgem9uZXNcbiAgICogQGV4YW1wbGUgWyd1cy1lYXN0LTFhJywgJ3VzLWVhc3QtMWInXVxuICAgKi9cbiAgcmVhZG9ubHkgYXZhaWxhYmlsaXR5Wm9uZXM/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRmlsdGVyIHN1Ym5ldHMgYnkgQ0RLIHN1Ym5ldCBncm91cCBuYW1lXG4gICAqIE1hdGNoZXMgdGhlIGdyb3VwTmFtZSBhc3NpZ25lZCBkdXJpbmcgVlBDIGNyZWF0aW9uXG4gICAqL1xuICByZWFkb25seSBzdWJuZXRHcm91cE5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNlY3VyaXR5IGdyb3VwIElEcyB0byBhdHRhY2ggdG8gQ29kZUJ1aWxkIHByb2plY3RzXG4gICAqIEBleGFtcGxlIFsnc2ctMTIzNDU2NzgnXVxuICAgKi9cbiAgcmVhZG9ubHkgc2VjdXJpdHlHcm91cElkcz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgZXhwbGljaXQgc3VibmV0IElEIG5ldHdvcmtcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdWJuZXRJZHNOZXR3b3JrT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBWUEMgSUQgdGhhdCBjb250YWlucyB0aGUgc3VibmV0cy5cbiAgICogUmVxdWlyZWQgYmVjYXVzZSBDREsgQ29kZUJ1aWxkU3RlcCBuZWVkcyBhIHZwYyByZWZlcmVuY2UuXG4gICAqIENhbiBiZSBhIHBsYWluIHN0cmluZyBvciBhIFNlY3JldFZhbHVlIChlLmcuIGZyb20gU2VjcmV0cyBNYW5hZ2VyKS5cbiAgICogQGV4YW1wbGUgJ3ZwYy0wYTFiMmMzZDRlNWY2YTdiOCdcbiAgICovXG4gIHJlYWRvbmx5IHZwY0lkOiBTZWNyZXRWYWx1ZSB8IHN0cmluZztcblxuICAvKipcbiAgICogRXhwbGljaXQgbGlzdCBvZiBzdWJuZXQgSURzIHdoZXJlIENvZGVCdWlsZCBwcm9qZWN0cyB3aWxsIHJ1blxuICAgKiBAZXhhbXBsZSBbJ3N1Ym5ldC0wYTFiMmMzZCcsICdzdWJuZXQtNGU1ZjZhN2InXVxuICAgKi9cbiAgcmVhZG9ubHkgc3VibmV0SWRzOiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogU2VjdXJpdHkgZ3JvdXAgSURzIHRvIGF0dGFjaCB0byBDb2RlQnVpbGQgcHJvamVjdHNcbiAgICogQGV4YW1wbGUgWydzZy0xMjM0NTY3OCddXG4gICAqL1xuICByZWFkb25seSBzZWN1cml0eUdyb3VwSWRzPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBvcHRpb25zIGZvciBWUEMgbG9va3VwIGJ5IElEXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVnBjSWROZXR3b3JrT3B0aW9ucyBleHRlbmRzIFN1Ym5ldFNlbGVjdGlvbk9wdGlvbnMge1xuICAvKipcbiAgICogVlBDIElEIHRvIGxvb2sgdXBcbiAgICogQ2FuIGJlIGEgcGxhaW4gc3RyaW5nIG9yIGEgU2VjcmV0VmFsdWUgKGUuZy4gZnJvbSBTZWNyZXRzIE1hbmFnZXIpLlxuICAgKiBAZXhhbXBsZSAndnBjLTBhMWIyYzNkNGU1ZjZhN2I4J1xuICAgKi9cbiAgcmVhZG9ubHkgdnBjSWQ6IFNlY3JldFZhbHVlIHwgc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgVlBDIGxvb2t1cCBieSB0YWdzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVnBjTG9va3VwTmV0d29ya09wdGlvbnMgZXh0ZW5kcyBTdWJuZXRTZWxlY3Rpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRhZyBrZXktdmFsdWUgcGFpcnMgdG8gaWRlbnRpZnkgdGhlIFZQQ1xuICAgKiBBbGwgdGFncyBtdXN0IG1hdGNoIGZvciBsb29rdXAgdG8gc3VjY2VlZFxuICAgKiBAZXhhbXBsZSB7IEVudmlyb25tZW50OiAncHJvZHVjdGlvbicsIFRlYW06ICdwbGF0Zm9ybScgfVxuICAgKi9cbiAgcmVhZG9ubHkgdGFnczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICAvKipcbiAgICogT3B0aW9uYWwgVlBDIG5hbWUgKHZhbHVlIG9mIHRoZSAnTmFtZScgdGFnKSBmb3IgYWRkaXRpb25hbCBmaWx0ZXJpbmdcbiAgICovXG4gIHJlYWRvbmx5IHZwY05hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIEFXUyByZWdpb24gb3ZlcnJpZGUgZm9yIGNyb3NzLXJlZ2lvbiBWUEMgbG9va3VwXG4gICAqIEBleGFtcGxlICd1cy13ZXN0LTInXG4gICAqL1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU3VibmV0IHR5cGUgbmFtZXMgY29ycmVzcG9uZGluZyB0byBDREsgU3VibmV0VHlwZSBlbnVtIHZhbHVlc1xuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2Nkay9hcGkvdjIvZG9jcy9hd3MtY2RrLWxpYi5hd3NfZWMyLlN1Ym5ldFR5cGUuaHRtbFxuICovXG5leHBvcnQgdHlwZSBTdWJuZXRUeXBlTmFtZSA9XG4gIHwgJ1BSSVZBVEVfV0lUSF9FR1JFU1MnXG4gIHwgJ1BSSVZBVEVfV0lUSF9OQVQnXG4gIHwgJ1BSSVZBVEVfSVNPTEFURUQnXG4gIHwgJ1BVQkxJQyc7XG5cbi8qKlxuICogVW5pb24gdHlwZSBvZiBhbGwgc3VwcG9ydGVkIG5ldHdvcmsgY29uZmlndXJhdGlvbnMuXG4gKlxuICogVXNlZCBhdCB0d28gaW5kZXBlbmRlbnQgbGV2ZWxzOlxuICogLSBQaXBlbGluZS1sZXZlbCAoYGRlZmF1bHRzLm5ldHdvcmtgKSDigJQgYXBwbGllcyB0byBhbGwgQ29kZUJ1aWxkIGFjdGlvbnNcbiAqIC0gU3RlcC1sZXZlbCAoYHN5bnRoLm5ldHdvcmtgLCBgQ29kZUJ1aWxkU3RlcE9wdGlvbnMubmV0d29ya2ApIOKAlCBhcHBsaWVzIHRvIGFuIGluZGl2aWR1YWwgYnVpbGQgc3RlcFxuICpcbiAqIEVhY2ggdmFyaWFudCByZXNvbHZlcyB0byB2cGMsIHN1Ym5ldFNlbGVjdGlvbiwgYW5kIG9wdGlvbmFsIHNlY3VyaXR5R3JvdXBzOlxuICogLSBTdWJuZXRJZHNOZXR3b3JrOiBWUEMgbG9va2VkIHVwIGJ5IElELCBzdWJuZXRzIHNlbGVjdGVkIGV4cGxpY2l0bHkgYnkgSURcbiAqIC0gVnBjSWROZXR3b3JrOiBWUEMgbG9va2VkIHVwIGJ5IElELCBzdWJuZXRzIHJlc29sdmVkIHZpYSBzdWJuZXRTZWxlY3Rpb24gZmlsdGVyc1xuICogLSBWcGNMb29rdXBOZXR3b3JrOiBWUEMgbG9va2VkIHVwIGJ5IHRhZ3MsIHN1Ym5ldHMgcmVzb2x2ZWQgdmlhIHN1Ym5ldFNlbGVjdGlvbiBmaWx0ZXJzXG4gKi9cbmV4cG9ydCB0eXBlIE5ldHdvcmtDb25maWcgPSBTdWJuZXRJZHNOZXR3b3JrIHwgVnBjSWROZXR3b3JrIHwgVnBjTG9va3VwTmV0d29yaztcblxuLyoqXG4gKiBQaXBlbGluZS1sZXZlbCBDb2RlQnVpbGQgZGVmYXVsdHMgYXBwbGllZCB0byBldmVyeSBDb2RlQnVpbGQgYWN0aW9uXG4gKiAoc3ludGgsIHNlbGYtbXV0YXRpb24sIGFzc2V0IHB1Ymxpc2hpbmcpIHZpYSBgY29kZUJ1aWxkRGVmYXVsdHNgLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBkZWZhdWx0czogQ29kZUJ1aWxkRGVmYXVsdHMgPSB7XG4gKiAgIG5ldHdvcms6IHtcbiAqICAgICB0eXBlOiAndnBjSWQnLFxuICogICAgIG9wdGlvbnM6IHsgdnBjSWQ6ICd2cGMtYWJjMTIzJywgc3VibmV0VHlwZTogJ1BSSVZBVEVfV0lUSF9FR1JFU1MnIH1cbiAqICAgfSxcbiAqICAgbWV0YWRhdGE6IHtcbiAqICAgICBbTWV0YWRhdGFLZXlzLlBSSVZJTEVHRURdOiB0cnVlLFxuICogICB9LFxuICogfTtcbiAqIGBgYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvZGVCdWlsZERlZmF1bHRzIHtcbiAgLyoqXG4gICAqIE5ldHdvcmsgY29uZmlndXJhdGlvbiBmb3IgYWxsIENvZGVCdWlsZCBhY3Rpb25zLlxuICAgKiBSZXNvbHZlcyB0byB2cGMsIHN1Ym5ldFNlbGVjdGlvbiwgYW5kIG9wdGlvbmFsIHNlY3VyaXR5R3JvdXBzLlxuICAgKi9cbiAgcmVhZG9ubHkgbmV0d29yaz86IE5ldHdvcmtDb25maWc7XG5cbiAgLyoqXG4gICAqIFN0YW5kYWxvbmUgc2VjdXJpdHkgZ3JvdXBzIGZvciBhbGwgQ29kZUJ1aWxkIGFjdGlvbnMuXG4gICAqIE1lcmdlZCB3aXRoIGFueSBzZWN1cml0eSBncm91cHMgcmVzb2x2ZWQgZnJvbSBuZXR3b3JrIGNvbmZpZy5cbiAgICovXG4gIHJlYWRvbmx5IHNlY3VyaXR5R3JvdXBzPzogU2VjdXJpdHlHcm91cENvbmZpZztcblxuICAvKipcbiAgICogTWV0YWRhdGEgYXBwbGllZCB0byBhbGwgQ29kZUJ1aWxkIGFjdGlvbnMuXG4gICAqIE1lcmdlZCB3aXRoIHN0ZXAtbGV2ZWwgbWV0YWRhdGE7IHN0ZXAtbGV2ZWwga2V5cyB0YWtlIHByZWNlZGVuY2UuXG4gICAqL1xuICByZWFkb25seSBtZXRhZGF0YT86IE1ldGFEYXRhVHlwZTtcbn1cbiJdfQ==
|
package/lib/core/network.js
CHANGED
|
@@ -109,4 +109,4 @@ function resolveSecurityGroups(scope, id, securityGroupIds) {
|
|
|
109
109
|
}
|
|
110
110
|
return securityGroupIds.map((sgId) => SecurityGroup.fromSecurityGroupId(scope, id.generate('network:sg'), sgId));
|
|
111
111
|
}
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb3JlL25ldHdvcmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQWtDLGFBQWEsRUFBRSxNQUFNLEVBQXdCLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuSSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUs3QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFckQ7O0dBRUc7QUFDSCxNQUFNLGVBQWUsR0FBdUM7SUFDMUQsbUJBQW1CLEVBQUUsVUFBVSxDQUFDLG1CQUFtQjtJQUNuRCxnQkFBZ0IsRUFBRSxVQUFVLENBQUMsZ0JBQWdCO0lBQzdDLGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxnQkFBZ0I7SUFDN0MsTUFBTSxFQUFFLFVBQVUsQ0FBQyxNQUFNO0NBQzFCLENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFtQixxQkFBcUIsQ0FBQztBQVNsRTs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN6RCxNQUFNLFNBQVMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsbUJBQW1CLElBQUksRUFBRSxDQUFDO1NBQ3RELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUMsS0FBSyxJQUFJLFNB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QUFHLENBQ3pCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQ3BGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IHR5cGUgSVNlY3VyaXR5R3JvdXAsIHR5cGUgSVZwYywgU2VjdXJpdHlHcm91cCwgU3VibmV0LCB0eXBlIFN1Ym5ldFNlbGVjdGlvbiwgU3VibmV0VHlwZSwgVnBjIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWVjMic7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IFVuaXF1ZUlkIH0gZnJvbSAnLi9pZC1nZW5lcmF0b3IuanMnO1xuaW1wb3J0IHR5cGUge1xuICBOZXR3b3JrQ29uZmlnLFxuICBTdWJuZXRUeXBlTmFtZSxcbn0gZnJvbSAnLi9uZXR3b3JrLXR5cGVzLmpzJztcbmltcG9ydCB7IHVud3JhcFNlY3JldCB9IGZyb20gJy4vcGlwZWxpbmUtaGVscGVycy5qcyc7XG5cbi8qKlxuICogTWFwcGluZyBmcm9tIHN0cmluZyBzdWJuZXQgdHlwZSBuYW1lcyB0byBDREsgU3VibmV0VHlwZSBlbnVtIHZhbHVlc1xuICovXG5jb25zdCBTVUJORVRfVFlQRV9NQVA6IFJlY29yZDxTdWJuZXRUeXBlTmFtZSwgU3VibmV0VHlwZT4gPSB7XG4gIFBSSVZBVEVfV0lUSF9FR1JFU1M6IFN1Ym5ldFR5cGUuUFJJVkFURV9XSVRIX0VHUkVTUyxcbiAgUFJJVkFURV9XSVRIX05BVDogU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfTkFULFxuICBQUklWQVRFX0lTT0xBVEVEOiBTdWJuZXRUeXBlLlBSSVZBVEVfSVNPTEFURUQsXG4gIFBVQkxJQzogU3VibmV0VHlwZS5QVUJMSUMsXG59O1xuXG5jb25zdCBERUZBVUxUX1NVQk5FVF9UWVBFOiBTdWJuZXRUeXBlTmFtZSA9ICdQUklWQVRFX1dJVEhfRUdSRVNTJztcblxuLyoqIFJlc29sdmVkIENESyBuZXR3b3JrIHByb3BzIHJlYWR5IHRvIHNwcmVhZCBpbnRvIENvZGVCdWlsZFN0ZXAgb3IgY29kZUJ1aWxkRGVmYXVsdHMgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZWROZXR3b3JrIHtcbiAgdnBjOiBJVnBjO1xuICBzdWJuZXRTZWxlY3Rpb246IFN1Ym5ldFNlbGVjdGlvbjtcbiAgc2VjdXJpdHlHcm91cHM/OiBJU2VjdXJpdHlHcm91cFtdO1xufVxuXG4vKipcbiAqIEJ1aWxkIGEgTmV0d29ya0NvbmZpZyBmcm9tIGVudmlyb25tZW50LCBmb3IgZGVwbG95bWVudHMgdGhhdCB3YW50IEVWRVJZXG4gKiBzeW50aGVzaXplZCBwaXBlbGluZSdzIENvZGVCdWlsZCB0byBydW4gaW5zaWRlIGEgVlBDICh0aGUgRUMyIFwiaW50ZXJuYWxcIiAvXG4gKiBpbnNpZGUtQVdTLW9ubHkgbW9kZSkgd2l0aG91dCBwZXItcGlwZWxpbmUgbmV0d29yayBjb25maWcuIFJldHVybnMgdW5kZWZpbmVkXG4gKiB3aGVuIHRoZSBlbnYgaXNuJ3Qgc2V0IOKAlCBwdWJsaWMvZGVmYXVsdCBkZXBsb3ltZW50cyBydW4gQ29kZUJ1aWxkIGluIHRoZVxuICogQVdTLW1hbmFnZWQgbmV0d29yayBhcyBiZWZvcmUuXG4gKlxuICogRW52IChzZXQgb24gdGhlIHBpcGVsaW5lIHNlcnZpY2UgaW4gaW50ZXJuYWwgbW9kZSk6XG4gKiAgIFBJUEVMSU5FX1ZQQ19JRCAgICAgICAgICAgICAgVlBDIHRoZSBDb2RlQnVpbGQgcHJvamVjdHMgam9pbiAocmVxdWlyZWQpXG4gKiAgIFBJUEVMSU5FX1NVQk5FVF9JRFMgICAgICAgICAgY29tbWEtc2VwYXJhdGVkIHByaXZhdGUgc3VibmV0IElEcyAocmVxdWlyZWQpXG4gKiAgIFBJUEVMSU5FX1NFQ1VSSVRZX0dST1VQX0lEUyAgY29tbWEtc2VwYXJhdGVkIFNHIElEcyAob3B0aW9uYWwpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuZXR3b3JrQ29uZmlnRnJvbUVudigpOiBOZXR3b3JrQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgdnBjSWQgPSAocHJvY2Vzcy5lbnYuUElQRUxJTkVfVlBDX0lEIHx8ICcnKS50cmltKCk7XG4gIGNvbnN0IHN1Ym5ldElkcyA9IChwcm9jZXNzLmVudi5QSVBFTElORV9TVUJORVRfSURTIHx8ICcnKVxuICAgIC5zcGxpdCgnLCcpLm1hcCgocykgPT4gcy50cmltKCkpLmZpbHRlcihCb29sZWFuKTtcbiAgaWYgKCF2cGNJZCB8fCBzdWJuZXRJZHMubGVuZ3RoID09PSAwKSByZXR1cm4gdW5kZWZpbmVkO1xuXG4gIGNvbnN0IHNlY3VyaXR5R3JvdXBJZHMgPSAocHJvY2Vzcy5lbnYuUElQRUxJTkVfU0VDVVJJVFlfR1JPVVBfSURTIHx8ICcnKVxuICAgIC5zcGxpdCgnLCcpLm1hcCgocykgPT4gcy50cmltKCkpLmZpbHRlcihCb29sZWFuKTtcblxuICByZXR1cm4ge1xuICAgIHR5cGU6ICdzdWJuZXRJZHMnLFxuICAgIG9wdGlvbnM6IHtcbiAgICAgIHZwY0lkLFxuICAgICAgc3VibmV0SWRzLFxuICAgICAgLi4uKHNlY3VyaXR5R3JvdXBJZHMubGVuZ3RoID4gMCAmJiB7IHNlY3VyaXR5R3JvdXBJZHMgfSksXG4gICAgfSxcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIGEgTmV0d29ya0NvbmZpZyBpbnRvIENESyBwcm9wcyBmb3IgQ29kZUJ1aWxkU3RlcCBvciBjb2RlQnVpbGREZWZhdWx0cy5cbiAqIFVzZXMgZGlzY3JpbWluYXRlZCB1bmlvbiBuYXJyb3dpbmcgdG8gZGVsZWdhdGUgdG8gdGhlIGFwcHJvcHJpYXRlIENESyBsb29rdXBzLlxuICpcbiAqIEBwYXJhbSBzY29wZSAtIENESyBjb25zdHJ1Y3Qgc2NvcGVcbiAqIEBwYXJhbSBpZCAtIFVuaXF1ZUlkIGluc3RhbmNlIGZvciBnZW5lcmF0aW5nIHVuaXF1ZSBjb25zdHJ1Y3QgSURzXG4gKiBAcGFyYW0gbmV0d29yayAtIE5ldHdvcmsgY29uZmlndXJhdGlvbiB0byByZXNvbHZlXG4gKiBAcmV0dXJucyBSZXNvbHZlZCBuZXR3b3JrIHByb3BzIHJlYWR5IHRvIHNwcmVhZCBpbnRvIENESyBjb25zdHJ1Y3RzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTmV0d29yayhcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgaWQ6IFVuaXF1ZUlkLFxuICBuZXR3b3JrOiBOZXR3b3JrQ29uZmlnLFxuKTogUmVzb2x2ZWROZXR3b3JrIHtcbiAgc3dpdGNoIChuZXR3b3JrLnR5cGUpIHtcbiAgICBjYXNlICdzdWJuZXRJZHMnOiB7XG4gICAgICBjb25zdCB2cGMgPSBWcGMuZnJvbUxvb2t1cChzY29wZSwgaWQuZ2VuZXJhdGUoJ25ldHdvcms6dnBjJyksIHtcbiAgICAgICAgdnBjSWQ6IHVud3JhcFNlY3JldChuZXR3b3JrLm9wdGlvbnMudnBjSWQpLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHN1Ym5ldHMgPSBuZXR3b3JrLm9wdGlvbnMuc3VibmV0SWRzLm1hcChcbiAgICAgICAgKHN1Ym5ldElkKSA9PiBTdWJuZXQuZnJvbVN1Ym5ldElkKHNjb3BlLCBpZC5nZW5lcmF0ZSgnbmV0d29yazpzdWJuZXQnKSwgc3VibmV0SWQpLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHdpdGhTZWN1cml0eUdyb3VwcyhcbiAgICAgICAgeyB2cGMsIHN1Ym5ldFNlbGVjdGlvbjogeyBzdWJuZXRzIH0gfSxcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIGlkLFxuICAgICAgICBuZXR3b3JrLm9wdGlvbnMuc2VjdXJpdHlHcm91cElkcyxcbiAgICAgICk7XG4gICAgfVxuICAgIGNhc2UgJ3ZwY0lkJzoge1xuICAgICAgY29uc3QgdnBjID0gVnBjLmZyb21Mb29rdXAoc2NvcGUsIGlkLmdlbmVyYXRlKCduZXR3b3JrOnZwYycpLCB7XG4gICAgICAgIHZwY0lkOiB1bndyYXBTZWNyZXQobmV0d29yay5vcHRpb25zLnZwY0lkKSxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gd2l0aFNlY3VyaXR5R3JvdXBzKFxuICAgICAgICB7IHZwYywgc3VibmV0U2VsZWN0aW9uOiByZXNvbHZlU3VibmV0U2VsZWN0aW9uKG5ldHdvcmsub3B0aW9ucykgfSxcbiAgICAgICAgc2NvcGUsXG4gICAgICAgIGlkLFxuICAgICAgICBuZXR3b3JrLm9wdGlvbnMuc2VjdXJpdHlHcm91cElkcyxcbiAgICAgICk7XG4gICAgfVxuICAgIGNhc2UgJ3ZwY0xvb2t1cCc6IHtcbiAgICAgIGNvbnN0IHZwYyA9IFZwYy5mcm9tTG9va3VwKHNjb3BlLCBpZC5nZW5lcmF0ZSgnbmV0d29yazp2cGMnKSwge1xuICAgICAgICB0YWdzOiBuZXR3b3JrLm9wdGlvbnMudGFncyxcbiAgICAgICAgLi4uKG5ldHdvcmsub3B0aW9ucy52cGNOYW1lICYmIHsgdnBjTmFtZTogbmV0d29yay5vcHRpb25zLnZwY05hbWUgfSksXG4gICAgICAgIC4uLihuZXR3b3JrLm9wdGlvbnMucmVnaW9uICYmIHsgcmVnaW9uOiBuZXR3b3JrLm9wdGlvbnMucmVnaW9uIH0pLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB3aXRoU2VjdXJpdHlHcm91cHMoXG4gICAgICAgIHsgdnBjLCBzdWJuZXRTZWxlY3Rpb246IHJlc29sdmVTdWJuZXRTZWxlY3Rpb24obmV0d29yay5vcHRpb25zKSB9LFxuICAgICAgICBzY29wZSxcbiAgICAgICAgaWQsXG4gICAgICAgIG5ldHdvcmsub3B0aW9ucy5zZWN1cml0eUdyb3VwSWRzLFxuICAgICAgKTtcbiAgICB9XG4gICAgZGVmYXVsdDoge1xuICAgICAgY29uc3QgX2V4aGF1c3RpdmU6IG5ldmVyID0gbmV0d29yaztcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBuZXR3b3JrIGNvbmZpZyB0eXBlOiAkeyhfZXhoYXVzdGl2ZSBhcyBOZXR3b3JrQ29uZmlnKS50eXBlfWApO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEF0dGFjaCByZXNvbHZlZCBzZWN1cml0eSBncm91cHMgdG8gYSBuZXR3b3JrIHJlc3VsdCB3aGVuIHByZXNlbnQuXG4gKi9cbmZ1bmN0aW9uIHdpdGhTZWN1cml0eUdyb3VwcyhcbiAgcmVzdWx0OiBPbWl0PFJlc29sdmVkTmV0d29yaywgJ3NlY3VyaXR5R3JvdXBzJz4sXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBVbmlxdWVJZCxcbiAgc2VjdXJpdHlHcm91cElkcz86IHN0cmluZ1tdLFxuKTogUmVzb2x2ZWROZXR3b3JrIHtcbiAgY29uc3Qgc2VjdXJpdHlHcm91cHMgPSByZXNvbHZlU2VjdXJpdHlHcm91cHMoc2NvcGUsIGlkLCBzZWN1cml0eUdyb3VwSWRzKTtcbiAgcmV0dXJuIHNlY3VyaXR5R3JvdXBzID8geyAuLi5yZXN1bHQsIHNlY3VyaXR5R3JvdXBzIH0gOiByZXN1bHQ7XG59XG5cbi8qKlxuICogQnVpbGQgYSBTdWJuZXRTZWxlY3Rpb24gZnJvbSBvcHRpb25zIHRoYXQgY2Fycnkgc3VibmV0VHlwZSwgYXZhaWxhYmlsaXR5Wm9uZXMsXG4gKiBhbmQgc3VibmV0R3JvdXBOYW1lLiBTaGFyZWQgYnkgdnBjSWQgYW5kIHZwY0xvb2t1cCBicmFuY2hlcy5cbiAqL1xuZnVuY3Rpb24gcmVzb2x2ZVN1Ym5ldFNlbGVjdGlvbihcbiAgb3B0aW9uczogeyBzdWJuZXRUeXBlPzogU3VibmV0VHlwZU5hbWU7IGF2YWlsYWJpbGl0eVpvbmVzPzogc3RyaW5nW107IHN1Ym5ldEdyb3VwTmFtZT86IHN0cmluZyB9LFxuKTogU3VibmV0U2VsZWN0aW9uIHtcbiAgcmV0dXJuIHtcbiAgICBzdWJuZXRUeXBlOiBTVUJORVRfVFlQRV9NQVBbb3B0aW9ucy5zdWJuZXRUeXBlID8/IERFRkFVTFRfU1VCTkVUX1RZUEVdLFxuICAgIC4uLihvcHRpb25zLmF2YWlsYWJpbGl0eVpvbmVzICYmIHsgYXZhaWxhYmlsaXR5Wm9uZXM6IG9wdGlvbnMuYXZhaWxhYmlsaXR5Wm9uZXMgfSksXG4gICAgLi4uKG9wdGlvbnMuc3VibmV0R3JvdXBOYW1lICYmIHsgc3VibmV0R3JvdXBOYW1lOiBvcHRpb25zLnN1Ym5ldEdyb3VwTmFtZSB9KSxcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlIHNlY3VyaXR5IGdyb3VwIElEcyBpbnRvIENESyBzZWN1cml0eSBncm91cCByZWZlcmVuY2VzLlxuICogUmV0dXJucyB1bmRlZmluZWQgd2hlbiBubyBJRHMgYXJlIHByb3ZpZGVkLlxuICovXG5mdW5jdGlvbiByZXNvbHZlU2VjdXJpdHlHcm91cHMoXG4gIHNjb3BlOiBDb25zdHJ1Y3QsXG4gIGlkOiBVbmlxdWVJZCxcbiAgc2VjdXJpdHlHcm91cElkcz86IHN0cmluZ1tdLFxuKTogSVNlY3VyaXR5R3JvdXBbXSB8IHVuZGVmaW5lZCB7XG4gIGlmICghc2VjdXJpdHlHcm91cElkcz8ubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICByZXR1cm4gc2VjdXJpdHlHcm91cElkcy5tYXAoXG4gICAgKHNnSWQpID0+IFNlY3VyaXR5R3JvdXAuZnJvbVNlY3VyaXR5R3JvdXBJZChzY29wZSwgaWQuZ2VuZXJhdGUoJ25ldHdvcms6c2cnKSwgc2dJZCksXG4gICk7XG59XG4iXX0=
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvcmUvbmV0d29yay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBa0MsYUFBYSxFQUFFLE1BQU0sRUFBd0IsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25JLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUVyRDs7R0FFRztBQUNILE1BQU0sZUFBZSxHQUF1QztJQUMxRCxtQkFBbUIsRUFBRSxVQUFVLENBQUMsbUJBQW1CO0lBQ25ELGdCQUFnQixFQUFFLFVBQVUsQ0FBQyxnQkFBZ0I7SUFDN0MsZ0JBQWdCLEVBQUUsVUFBVSxDQUFDLGdCQUFnQjtJQUM3QyxNQUFNLEVBQUUsVUFBVSxDQUFDLE1BQU07Q0FDMUIsQ0FBQztBQUVGLE1BQU0sbUJBQW1CLEdBQW1CLHFCQUFxQixDQUFDO0FBU2xFOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pELE1BQU0sU0FBUyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsSUFBSSxFQUFFLENBQUM7U0FDdEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25ELElBQUksQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLE1BQU0sS0FB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QUFJLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FDcEYsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgdHlwZSBJU2VjdXJpdHlHcm91cCwgdHlwZSBJVnBjLCBTZWN1cml0eUdyb3VwLCBTdWJuZXQsIHR5cGUgU3VibmV0U2VsZWN0aW9uLCBTdWJuZXRUeXBlLCBWcGMgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtZWMyJztcbmltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuaW1wb3J0IHsgVW5pcXVlSWQgfSBmcm9tICcuL2lkLWdlbmVyYXRvci5qcyc7XG5pbXBvcnQgdHlwZSB7XG4gIE5ldHdvcmtDb25maWcsXG4gIFN1Ym5ldFR5cGVOYW1lLFxufSBmcm9tICcuL25ldHdvcmstdHlwZXMuanMnO1xuaW1wb3J0IHsgdW53cmFwU2VjcmV0IH0gZnJvbSAnLi9waXBlbGluZS1oZWxwZXJzLmpzJztcblxuLyoqXG4gKiBNYXBwaW5nIGZyb20gc3RyaW5nIHN1Ym5ldCB0eXBlIG5hbWVzIHRvIENESyBTdWJuZXRUeXBlIGVudW0gdmFsdWVzXG4gKi9cbmNvbnN0IFNVQk5FVF9UWVBFX01BUDogUmVjb3JkPFN1Ym5ldFR5cGVOYW1lLCBTdWJuZXRUeXBlPiA9IHtcbiAgUFJJVkFURV9XSVRIX0VHUkVTUzogU3VibmV0VHlwZS5QUklWQVRFX1dJVEhfRUdSRVNTLFxuICBQUklWQVRFX1dJVEhfTkFUOiBTdWJuZXRUeXBlLlBSSVZBVEVfV0lUSF9OQVQsXG4gIFBSSVZBVEVfSVNPTEFURUQ6IFN1Ym5ldFR5cGUuUFJJVkFURV9JU09MQVRFRCxcbiAgUFVCTElDOiBTdWJuZXRUeXBlLlBVQkxJQyxcbn07XG5cbmNvbnN0IERFRkFVTFRfU1VCTkVUX1RZUEU6IFN1Ym5ldFR5cGVOYW1lID0gJ1BSSVZBVEVfV0lUSF9FR1JFU1MnO1xuXG4vKiogUmVzb2x2ZWQgQ0RLIG5ldHdvcmsgcHJvcHMgcmVhZHkgdG8gc3ByZWFkIGludG8gQ29kZUJ1aWxkU3RlcCBvciBjb2RlQnVpbGREZWZhdWx0cyAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNvbHZlZE5ldHdvcmsge1xuICB2cGM6IElWcGM7XG4gIHN1Ym5ldFNlbGVjdGlvbjogU3VibmV0U2VsZWN0aW9uO1xuICBzZWN1cml0eUdyb3Vwcz86IElTZWN1cml0eUdyb3VwW107XG59XG5cbi8qKlxuICogQnVpbGQgYSBOZXR3b3JrQ29uZmlnIGZyb20gZW52aXJvbm1lbnQsIGZvciBkZXBsb3ltZW50cyB0aGF0IHdhbnQgRVZFUllcbiAqIHN5bnRoZXNpemVkIHBpcGVsaW5lJ3MgQ29kZUJ1aWxkIHRvIHJ1biBpbnNpZGUgYSBWUEMgKHRoZSBFQzIgXCJpbnRlcm5hbFwiIC9cbiAqIGluc2lkZS1BV1Mtb25seSBtb2RlKSB3aXRob3V0IHBlci1waXBlbGluZSBuZXR3b3JrIGNvbmZpZy4gUmV0dXJucyB1bmRlZmluZWRcbiAqIHdoZW4gdGhlIGVudiBpc24ndCBzZXQg4oCUIHB1YmxpYy9kZWZhdWx0IGRlcGxveW1lbnRzIHJ1biBDb2RlQnVpbGQgaW4gdGhlXG4gKiBBV1MtbWFuYWdlZCBuZXR3b3JrIGFzIGJlZm9yZS5cbiAqXG4gKiBFbnYgKHNldCBvbiB0aGUgcGlwZWxpbmUgc2VydmljZSBpbiBpbnRlcm5hbCBtb2RlKTpcbiAqICAgUElQRUxJTkVfVlBDX0lEICAgICAgICAgICAgICBWUEMgdGhlIENvZGVCdWlsZCBwcm9qZWN0cyBqb2luIChyZXF1aXJlZClcbiAqICAgUElQRUxJTkVfU1VCTkVUX0lEUyAgICAgICAgICBjb21tYS1zZXBhcmF0ZWQgcHJpdmF0ZSBzdWJuZXQgSURzIChyZXF1aXJlZClcbiAqICAgUElQRUxJTkVfU0VDVVJJVFlfR1JPVVBfSURTICBjb21tYS1zZXBhcmF0ZWQgU0cgSURzIChvcHRpb25hbClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5ldHdvcmtDb25maWdGcm9tRW52KCk6IE5ldHdvcmtDb25maWcgfCB1bmRlZmluZWQge1xuICBjb25zdCB2cGNJZCA9IChwcm9jZXNzLmVudi5QSVBFTElORV9WUENfSUQgfHwgJycpLnRyaW0oKTtcbiAgY29uc3Qgc3VibmV0SWRzID0gKHByb2Nlc3MuZW52LlBJUEVMSU5FX1NVQk5FVF9JRFMgfHwgJycpXG4gICAgLnNwbGl0KCcsJykubWFwKChzKSA9PiBzLnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pO1xuICBpZiAoIXZwY0lkIHx8IHN1Ym5ldElkcy5sZW5ndGggPT09IDApIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgY29uc3Qgc2VjdXJpdHlHcm91cElkcyA9IChwcm9jZXNzLmVudi5QSVBFTElORV9TRUNVUklUWV9HUk9VUF9JRFMgfHwgJycpXG4gICAgLnNwbGl0KCcsJykubWFwKChzKSA9PiBzLnRyaW0oKSkuZmlsdGVyKEJvb2xlYW4pO1xuXG4gIHJldHVybiB7XG4gICAgdHlwZTogJ3N1Ym5ldElkcycsXG4gICAgb3B0aW9uczoge1xuICAgICAgdnBjSWQsXG4gICAgICBzdWJuZXRJZHMsXG4gICAgICAuLi4oc2VjdXJpdHlHcm91cElkcy5sZW5ndGggPiAwICYmIHsgc2VjdXJpdHlHcm91cElkcyB9KSxcbiAgICB9LFxuICB9O1xufVxuXG4vKipcbiAqIFJlc29sdmUgYSBOZXR3b3JrQ29uZmlnIGludG8gQ0RLIHByb3BzIGZvciBDb2RlQnVpbGRTdGVwIG9yIGNvZGVCdWlsZERlZmF1bHRzLlxuICogVXNlcyBkaXNjcmltaW5hdGVkIHVuaW9uIG5hcnJvd2luZyB0byBkZWxlZ2F0ZSB0byB0aGUgYXBwcm9wcmlhdGUgQ0RLIGxvb2t1cHMuXG4gKlxuICogQHBhcmFtIHNjb3BlIC0gQ0RLIGNvbnN0cnVjdCBzY29wZVxuICogQHBhcmFtIGlkIC0gVW5pcXVlSWQgaW5zdGFuY2UgZm9yIGdlbmVyYXRpbmcgdW5pcXVlIGNvbnN0cnVjdCBJRHNcbiAqIEBwYXJhbSBuZXR3b3JrIC0gTmV0d29yayBjb25maWd1cmF0aW9uIHRvIHJlc29sdmVcbiAqIEByZXR1cm5zIFJlc29sdmVkIG5ldHdvcmsgcHJvcHMgcmVhZHkgdG8gc3ByZWFkIGludG8gQ0RLIGNvbnN0cnVjdHNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVOZXR3b3JrKFxuICBzY29wZTogQ29uc3RydWN0LFxuICBpZDogVW5pcXVlSWQsXG4gIG5ldHdvcms6IE5ldHdvcmtDb25maWcsXG4pOiBSZXNvbHZlZE5ldHdvcmsge1xuICBzd2l0Y2ggKG5ldHdvcmsudHlwZSkge1xuICAgIGNhc2UgJ3N1Ym5ldElkcyc6IHtcbiAgICAgIGNvbnN0IHZwYyA9IFZwYy5mcm9tTG9va3VwKHNjb3BlLCBpZC5nZW5lcmF0ZSgnbmV0d29yazp2cGMnKSwge1xuICAgICAgICB2cGNJZDogdW53cmFwU2VjcmV0KG5ldHdvcmsub3B0aW9ucy52cGNJZCksXG4gICAgICB9KTtcblxuICAgICAgY29uc3Qgc3VibmV0cyA9IG5ldHdvcmsub3B0aW9ucy5zdWJuZXRJZHMubWFwKFxuICAgICAgICAoc3VibmV0SWQpID0+IFN1Ym5ldC5mcm9tU3VibmV0SWQoc2NvcGUsIGlkLmdlbmVyYXRlKCduZXR3b3JrOnN1Ym5ldCcpLCBzdWJuZXRJZCksXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gd2l0aFNlY3VyaXR5R3JvdXBzKFxuICAgICAgICB7IHZwYywgc3VibmV0U2VsZWN0aW9uOiB7IHN1Ym5ldHMgfSB9LFxuICAgICAgICBzY29wZSxcbiAgICAgICAgaWQsXG4gICAgICAgIG5ldHdvcmsub3B0aW9ucy5zZWN1cml0eUdyb3VwSWRzLFxuICAgICAgKTtcbiAgICB9XG4gICAgY2FzZSAndnBjSWQnOiB7XG4gICAgICBjb25zdCB2cGMgPSBWcGMuZnJvbUxvb2t1cChzY29wZSwgaWQuZ2VuZXJhdGUoJ25ldHdvcms6dnBjJyksIHtcbiAgICAgICAgdnBjSWQ6IHVud3JhcFNlY3JldChuZXR3b3JrLm9wdGlvbnMudnBjSWQpLFxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiB3aXRoU2VjdXJpdHlHcm91cHMoXG4gICAgICAgIHsgdnBjLCBzdWJuZXRTZWxlY3Rpb246IHJlc29sdmVTdWJuZXRTZWxlY3Rpb24obmV0d29yay5vcHRpb25zKSB9LFxuICAgICAgICBzY29wZSxcbiAgICAgICAgaWQsXG4gICAgICAgIG5ldHdvcmsub3B0aW9ucy5zZWN1cml0eUdyb3VwSWRzLFxuICAgICAgKTtcbiAgICB9XG4gICAgY2FzZSAndnBjTG9va3VwJzoge1xuICAgICAgY29uc3QgdnBjID0gVnBjLmZyb21Mb29rdXAoc2NvcGUsIGlkLmdlbmVyYXRlKCduZXR3b3JrOnZwYycpLCB7XG4gICAgICAgIHRhZ3M6IG5ldHdvcmsub3B0aW9ucy50YWdzLFxuICAgICAgICAuLi4obmV0d29yay5vcHRpb25zLnZwY05hbWUgJiYgeyB2cGNOYW1lOiBuZXR3b3JrLm9wdGlvbnMudnBjTmFtZSB9KSxcbiAgICAgICAgLi4uKG5ldHdvcmsub3B0aW9ucy5yZWdpb24gJiYgeyByZWdpb246IG5ldHdvcmsub3B0aW9ucy5yZWdpb24gfSksXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHdpdGhTZWN1cml0eUdyb3VwcyhcbiAgICAgICAgeyB2cGMsIHN1Ym5ldFNlbGVjdGlvbjogcmVzb2x2ZVN1Ym5ldFNlbGVjdGlvbihuZXR3b3JrLm9wdGlvbnMpIH0sXG4gICAgICAgIHNjb3BlLFxuICAgICAgICBpZCxcbiAgICAgICAgbmV0d29yay5vcHRpb25zLnNlY3VyaXR5R3JvdXBJZHMsXG4gICAgICApO1xuICAgIH1cbiAgICBkZWZhdWx0OiB7XG4gICAgICBjb25zdCBfZXhoYXVzdGl2ZTogbmV2ZXIgPSBuZXR3b3JrO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIG5ldHdvcmsgY29uZmlnIHR5cGU6ICR7KF9leGhhdXN0aXZlIGFzIE5ldHdvcmtDb25maWcpLnR5cGV9YCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogQXR0YWNoIHJlc29sdmVkIHNlY3VyaXR5IGdyb3VwcyB0byBhIG5ldHdvcmsgcmVzdWx0IHdoZW4gcHJlc2VudC5cbiAqL1xuZnVuY3Rpb24gd2l0aFNlY3VyaXR5R3JvdXBzKFxuICByZXN1bHQ6IE9taXQ8UmVzb2x2ZWROZXR3b3JrLCAnc2VjdXJpdHlHcm91cHMnPixcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgaWQ6IFVuaXF1ZUlkLFxuICBzZWN1cml0eUdyb3VwSWRzPzogc3RyaW5nW10sXG4pOiBSZXNvbHZlZE5ldHdvcmsge1xuICBjb25zdCBzZWN1cml0eUdyb3VwcyA9IHJlc29sdmVTZWN1cml0eUdyb3VwcyhzY29wZSwgaWQsIHNlY3VyaXR5R3JvdXBJZHMpO1xuICByZXR1cm4gc2VjdXJpdHlHcm91cHMgPyB7IC4uLnJlc3VsdCwgc2VjdXJpdHlHcm91cHMgfSA6IHJlc3VsdDtcbn1cblxuLyoqXG4gKiBCdWlsZCBhIFN1Ym5ldFNlbGVjdGlvbiBmcm9tIG9wdGlvbnMgdGhhdCBjYXJyeSBzdWJuZXRUeXBlLCBhdmFpbGFiaWxpdHlab25lcyxcbiAqIGFuZCBzdWJuZXRHcm91cE5hbWUuIFNoYXJlZCBieSB2cGNJZCBhbmQgdnBjTG9va3VwIGJyYW5jaGVzLlxuICovXG5mdW5jdGlvbiByZXNvbHZlU3VibmV0U2VsZWN0aW9uKFxuICBvcHRpb25zOiB7IHN1Ym5ldFR5cGU/OiBTdWJuZXRUeXBlTmFtZTsgYXZhaWxhYmlsaXR5Wm9uZXM/OiBzdHJpbmdbXTsgc3VibmV0R3JvdXBOYW1lPzogc3RyaW5nIH0sXG4pOiBTdWJuZXRTZWxlY3Rpb24ge1xuICByZXR1cm4ge1xuICAgIHN1Ym5ldFR5cGU6IFNVQk5FVF9UWVBFX01BUFtvcHRpb25zLnN1Ym5ldFR5cGUgPz8gREVGQVVMVF9TVUJORVRfVFlQRV0sXG4gICAgLi4uKG9wdGlvbnMuYXZhaWxhYmlsaXR5Wm9uZXMgJiYgeyBhdmFpbGFiaWxpdHlab25lczogb3B0aW9ucy5hdmFpbGFiaWxpdHlab25lcyB9KSxcbiAgICAuLi4ob3B0aW9ucy5zdWJuZXRHcm91cE5hbWUgJiYgeyBzdWJuZXRHcm91cE5hbWU6IG9wdGlvbnMuc3VibmV0R3JvdXBOYW1lIH0pLFxuICB9O1xufVxuXG4vKipcbiAqIFJlc29sdmUgc2VjdXJpdHkgZ3JvdXAgSURzIGludG8gQ0RLIHNlY3VyaXR5IGdyb3VwIHJlZmVyZW5jZXMuXG4gKiBSZXR1cm5zIHVuZGVmaW5lZCB3aGVuIG5vIElEcyBhcmUgcHJvdmlkZWQuXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVTZWN1cml0eUdyb3VwcyhcbiAgc2NvcGU6IENvbnN0cnVjdCxcbiAgaWQ6IFVuaXF1ZUlkLFxuICBzZWN1cml0eUdyb3VwSWRzPzogc3RyaW5nW10sXG4pOiBJU2VjdXJpdHlHcm91cFtdIHwgdW5kZWZpbmVkIHtcbiAgaWYgKCFzZWN1cml0eUdyb3VwSWRzPy5sZW5ndGgpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiBzZWN1cml0eUdyb3VwSWRzLm1hcChcbiAgICAoc2dJZCkgPT4gU2VjdXJpdHlHcm91cC5mcm9tU2VjdXJpdHlHcm91cElkKHNjb3BlLCBpZC5nZW5lcmF0ZSgnbmV0d29yazpzZycpLCBzZ0lkKSxcbiAgKTtcbn1cbiJdfQ==
|