@macedon-technologies/batman 1.30.0 → 1.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +155 -15
- package/API.md +639 -0
- package/README.md +82 -1
- package/attestation/manifest.ts +1 -0
- package/build-tools/scan-generated-workflows.ts +2 -0
- package/factory/work-item-sources.md +52 -0
- package/lib/ApiConstructFile.js +4 -1
- package/lib/Application.d.ts +9 -0
- package/lib/Application.js +7 -1
- package/lib/BaseApplicationStackFile.js +4 -4
- package/lib/BatmanProject.d.ts +9 -0
- package/lib/BatmanProject.js +4 -3
- package/lib/BootcampApplication.d.ts +9 -0
- package/lib/BootcampApplication.js +7 -1
- package/lib/BootcampBaseApplicationStackFile.js +4 -4
- package/lib/BootcampProject.js +4 -3
- package/lib/CodeOwnersFile.js +1 -1
- package/lib/PrAutoMergeWorkflow.d.ts +19 -0
- package/lib/PrAutoMergeWorkflow.js +84 -0
- package/lib/ProductionDeployWorkflow.js +1 -1
- package/lib/SoftwareFactoryAttestation.js +3 -1
- package/lib/SoftwareFactoryFiles.js +4 -2
- package/lib/SoftwareFactoryModels.js +28 -17
- package/lib/SoftwareFactoryWorkItemSources.d.ts +15 -0
- package/lib/SoftwareFactoryWorkItemSources.js +89 -0
- package/lib/StagingDeployWorkflow.js +3 -2
- package/lib/WorkflowActionVersions.d.ts +7 -0
- package/lib/WorkflowActionVersions.js +2 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/utils.d.ts +1 -1
- package/lib/utils.js +13 -7
- package/models/@swamp/software-factory/platform-common-factory.yaml +24 -15
- package/package.json +1 -1
|
@@ -26,7 +26,7 @@ class BootcampBaseApplicationStackFile extends projen_1.TextFile {
|
|
|
26
26
|
' /**',
|
|
27
27
|
' * The version of the Datadog Node.js Lambda layer to use.',
|
|
28
28
|
' *',
|
|
29
|
-
' * @default
|
|
29
|
+
' * @default 143',
|
|
30
30
|
' */',
|
|
31
31
|
' readonly nodeLayerVersion?: number;',
|
|
32
32
|
'',
|
|
@@ -156,10 +156,10 @@ class BootcampBaseApplicationStackFile extends projen_1.TextFile {
|
|
|
156
156
|
' this.datadog = new DatadogLambda(this, \'Datadog\', {',
|
|
157
157
|
' apiKeySecret: datadogApiSecret,',
|
|
158
158
|
' service: this.props.datadog?.projectName || this.id,',
|
|
159
|
-
' nodeLayerVersion: this.props.datadog?.nodeLayerVersion ||
|
|
159
|
+
' nodeLayerVersion: this.props.datadog?.nodeLayerVersion || 143,',
|
|
160
160
|
' pythonLayerVersion: this.props.datadog?.pythonLayerVersion || 123,',
|
|
161
161
|
' extensionLayerVersion: 99,',
|
|
162
|
-
' enableMergeXrayTraces:
|
|
162
|
+
' enableMergeXrayTraces: false,',
|
|
163
163
|
' });',
|
|
164
164
|
' }',
|
|
165
165
|
'',
|
|
@@ -199,4 +199,4 @@ class BootcampBaseApplicationStackFile extends projen_1.TextFile {
|
|
|
199
199
|
}
|
|
200
200
|
}
|
|
201
201
|
exports.BootcampBaseApplicationStackFile = BootcampBaseApplicationStackFile;
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQm9vdGNhbXBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWtDO0FBR2xDLE1BQWEsZ0NBQWlDLFNBQVEsaUJBQVE7SUFDNUQsWUFBWSxPQUE0QjtRQUN0QyxLQUFLLENBQUMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFO1lBQ25ELE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUU7Z0JBQ0wsd0JBQXdCO2dCQUN4Qiw0QkFBNEI7Z0JBQzVCLHdFQUF3RTtnQkFDeEUsb0RBQW9EO2dCQUNwRCxzRUFBc0U7Z0JBQ3RFLDREQUE0RDtnQkFDNUQsMkNBQTJDO2dCQUMzQyw4REFBOEQ7Z0JBQzlELDZEQUE2RDtnQkFDN0QsNENBQTRDO2dCQUM1QyxnRUFBZ0U7Z0JBQ2hFLEVBQUU7Z0JBQ0YsaUVBQWlFO2dCQUNqRSxFQUFFO2dCQUNGLHdCQUF3QjtnQkFDeEIsU0FBUztnQkFDVCxnRUFBZ0U7Z0JBQ2hFLFFBQVE7Z0JBQ1IscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULHlDQUF5QztnQkFDekMsRUFBRTtnQkFDRixTQUFTO2dCQUNULCtEQUErRDtnQkFDL0QsUUFBUTtnQkFDUixxQkFBcUI7Z0JBQ3JCLFNBQVM7Z0JBQ1QsMkNBQTJDO2dCQUMzQyxFQUFFO2dCQUNGLFNBQVM7Z0JBQ1Qsc0VBQXNFO2dCQUN0RSxRQUFRO2dCQUNSLHFDQUFxQztnQkFDckMsU0FBUztnQkFDVCxvQ0FBb0M7Z0JBQ3BDLE1BQU07Z0JBQ04sT0FBTztnQkFDUCwwREFBMEQ7Z0JBQzFELE1BQU07Z0JBQ04sK0NBQStDO2dCQUMvQyxPQUFPO2dCQUNQLDBDQUEwQztnQkFDMUMsRUFBRTtnQkFDRixPQUFPO2dCQUNQLCtFQUErRTtnQkFDL0UsT0FBTztnQkFDUCw2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LENBQUM7Q0FDRjtBQW5NRCw0RUFtTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0RmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuXG5leHBvcnQgY2xhc3MgQm9vdGNhbXBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUgZXh0ZW5kcyBUZXh0RmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHApIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnc3JjL3N0YWNrcy9CYXNlQXBwbGljYXRpb25TdGFjay50cycsIHtcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgbGluZXM6IFtcbiAgICAgICAgJ2ltcG9ydCBmcyBmcm9tIFxcJ2ZzXFwnOycsXG4gICAgICAgICdpbXBvcnQgcGF0aCBmcm9tIFxcJ3BhdGhcXCc7JyxcbiAgICAgICAgJ2ltcG9ydCB7IEFzcGVjdHMsIENmbk91dHB1dCwgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tIFxcJ2F3cy1jZGstbGliXFwnOycsXG4gICAgICAgICdpbXBvcnQgeyBJVnBjLCBWcGMgfSBmcm9tIFxcJ2F3cy1jZGstbGliL2F3cy1lYzJcXCc7JyxcbiAgICAgICAgJ2ltcG9ydCB7IEhvc3RlZFpvbmUsIElIb3N0ZWRab25lIH0gZnJvbSBcXCdhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1xcJzsnLFxuICAgICAgICAnaW1wb3J0IHsgU2VjcmV0IH0gZnJvbSBcXCdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcXCc7JyxcbiAgICAgICAgJ2ltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXFwnY29uc3RydWN0c1xcJzsnLFxuICAgICAgICAnaW1wb3J0IHsgRGF0YWRvZ0xhbWJkYSB9IGZyb20gXFwnZGF0YWRvZy1jZGstY29uc3RydWN0cy12MlxcJzsnLFxuICAgICAgICAnaW1wb3J0IHsgRGF0YURvZ0FzcGVjdCB9IGZyb20gXFwnLi4vYXNwZWN0cy9EYXRhRG9nQXNwZWN0XFwnOycsXG4gICAgICAgICdpbXBvcnQgeyBBcGkgfSBmcm9tIFxcJy4uL2NvbnN0cnVjdHMvQXBpXFwnOycsXG4gICAgICAgICdpbXBvcnQgeyBTdGF0aWNXZWJzaXRlIH0gZnJvbSBcXCcuLi9jb25zdHJ1Y3RzL1N0YXRpY1dlYnNpdGVcXCc7JyxcbiAgICAgICAgJycsXG4gICAgICAgICdleHBvcnQgaW50ZXJmYWNlIEJhc2VBcHBsaWNhdGlvblN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgcmVhZG9ubHkgZGF0YWRvZz86IHsnLFxuICAgICAgICAnICAgIC8qKicsXG4gICAgICAgICcgICAgICogVGhlIHZlcnNpb24gb2YgdGhlIERhdGFkb2cgTm9kZS5qcyBMYW1iZGEgbGF5ZXIgdG8gdXNlLicsXG4gICAgICAgICcgICAgIConLFxuICAgICAgICAnICAgICAqIEBkZWZhdWx0IDEzMicsXG4gICAgICAgICcgICAgICovJyxcbiAgICAgICAgJyAgICByZWFkb25seSBub2RlTGF5ZXJWZXJzaW9uPzogbnVtYmVyOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIC8qKicsXG4gICAgICAgICcgICAgICogVGhlIHZlcnNpb24gb2YgdGhlIERhdGFkb2cgUHl0aG9uIExhbWJkYSBsYXllciB0byB1c2UuJyxcbiAgICAgICAgJyAgICAgKicsXG4gICAgICAgICcgICAgICogQGRlZmF1bHQgMTIzJyxcbiAgICAgICAgJyAgICAgKi8nLFxuICAgICAgICAnICAgIHJlYWRvbmx5IHB5dGhvbkxheWVyVmVyc2lvbj86IG51bWJlcjsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICAvKionLFxuICAgICAgICAnICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0L3NlcnZpY2UgZm9yIERhdGFkb2cgdGFnZ2luZyBwdXJwb3Nlcy4nLFxuICAgICAgICAnICAgICAqJyxcbiAgICAgICAgJyAgICAgKiBAZGVmYXVsdCAtIHVzZXMgdGhlIHN0YWNrIElEJyxcbiAgICAgICAgJyAgICAgKi8nLFxuICAgICAgICAnICAgIHJlYWRvbmx5IHByb2plY3ROYW1lPzogc3RyaW5nOycsXG4gICAgICAgICcgIH07JyxcbiAgICAgICAgJyAgLyoqJyxcbiAgICAgICAgJyAgICogVGhlIGRvbWFpbiBuYW1lIG9mIHRoZSBSb3V0ZSA1MyBob3N0ZWQgem9uZSB0byB1c2UuJyxcbiAgICAgICAgJyAgIConLFxuICAgICAgICAnICAgKiBAZXhhbXBsZSBcXCdtYWNlZG9uLnNhbmRib3guZGVmaWFuY2UuYWlcXCcnLFxuICAgICAgICAnICAgKi8nLFxuICAgICAgICAnICByZWFkb25seSBob3N0ZWRab25lRG9tYWluTmFtZTogc3RyaW5nOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAvKionLFxuICAgICAgICAnICAgKiBUaGUgQVJOIG9mIHRoZSBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIERhdGFkb2cgQVBJIGtleS4nLFxuICAgICAgICAnICAgKi8nLFxuICAgICAgICAnICByZWFkb25seSBkYXRhZG9nU2VjcmV0QXJuOiBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjoke3N0cmluZ306JHtzdHJpbmd9OnNlY3JldDoke3N0cmluZ31gOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAvKionLFxuICAgICAgICAnICAgKiBUaGUgQ2xlcmsgSldLUyBVUkwgdXNlZCB0byB2ZXJpZnkgc2Vzc2lvbiB0b2tlbiBzaWduYXR1cmVzLicsXG4gICAgICAgICcgICAqLycsXG4gICAgICAgICcgIHJlYWRvbmx5IGNsZXJrSndrc1VybDogYGh0dHBzOi8vJHtzdHJpbmd9Ly53ZWxsLWtub3duL2p3a3MuanNvbmA7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIC8qKicsXG4gICAgICAgICcgICAqIFRoZSBuYW1lIG9mIHRoZSBWUEMgdG8gY3JlYXRlLicsXG4gICAgICAgICcgICAqJyxcbiAgICAgICAgJyAgICogQGRlZmF1bHQgXFwnJHtpZH0tdnBjXFwnJyxcbiAgICAgICAgJyAgICovJyxcbiAgICAgICAgJyAgcmVhZG9ubHkgdnBjTmFtZT86IHN0cmluZzsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgLyoqJyxcbiAgICAgICAgJyAgICogVGhlIGhvc3RuYW1lIGZvciB0aGUgc3RhdGljIHdlYnNpdGUuIFRoaXMgd2lsbCBiZSBhZGRlZCB0byB0aGUgaG9zdGVkem9uZS4nLFxuICAgICAgICAnICAgKicsXG4gICAgICAgICcgICAqIEBleGFtcGxlIFxcJ215Ym9pXFwnJyxcbiAgICAgICAgJyAgICogQGRlZmF1bHQgXFwnbXZwXFwnJyxcbiAgICAgICAgJyAgICovJyxcbiAgICAgICAgJyAgcmVhZG9ubHkgaG9zdG5hbWU6IHN0cmluZzsnLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnZXhwb3J0IGNsYXNzIEJhc2VBcHBsaWNhdGlvblN0YWNrPFRQcm9wcyBleHRlbmRzIEJhc2VBcHBsaWNhdGlvblN0YWNrUHJvcHM+IGV4dGVuZHMgU3RhY2sgeycsXG4gICAgICAgICcgIHByb3RlY3RlZCBkYXRhZG9nOiBEYXRhZG9nTGFtYmRhOycsXG4gICAgICAgICcgIHByb3RlY3RlZCBob3N0ZWRab25lOiBJSG9zdGVkWm9uZTsnLFxuICAgICAgICAnICBwcm90ZWN0ZWQgdnBjOiBJVnBjOycsXG4gICAgICAgICcgIHByb3RlY3RlZCBhcGk6IEFwaTsnLFxuICAgICAgICAnICBwcm90ZWN0ZWQgc3RhdGljV2Vic2l0ZTogU3RhdGljV2Vic2l0ZTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgcHJpdmF0ZSBpZDogc3RyaW5nLCBwcm90ZWN0ZWQgcHJvcHM6IFRQcm9wcykgeycsXG4gICAgICAgICcgICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgaWYgKCF0aGlzLnByb3BzLmNsZXJrSndrc1VybCkgeycsXG4gICAgICAgICcgICAgICB0aHJvdyBuZXcgRXJyb3IoXFwnY2xlcmtKd2tzVXJsIGlzIHJlcXVpcmVkXFwnKTsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICB0aGlzLmNyZWF0ZURhdGFkb2dFeHRlbnNpb24oKTsnLFxuICAgICAgICAnICAgIGlmICghdGhpcy5kYXRhZG9nKSB7JyxcbiAgICAgICAgJyAgICAgIHRocm93IG5ldyBFcnJvcihcXCdEYXRhZG9nIGV4dGVuc2lvbiBjcmVhdGlvbiBmYWlsZWRcXCcpOycsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIHRoaXMuY3JlYXRlSG9zdGVkWm9uZSgpOycsXG4gICAgICAgICcgICAgaWYgKCF0aGlzLmhvc3RlZFpvbmUpIHsnLFxuICAgICAgICAnICAgICAgdGhyb3cgbmV3IEVycm9yKFxcJ0hvc3RlZFpvbmUgY3JlYXRpb24gZmFpbGVkXFwnKTsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICB0aGlzLmNyZWF0ZVZwYygpOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIHRoaXMuY3JlYXRlQXBpKCk7JyxcbiAgICAgICAgJyAgICBpZiAoIXRoaXMuYXBpKSB7JyxcbiAgICAgICAgJyAgICAgIHRocm93IG5ldyBFcnJvcihcXCdBUEkgY3JlYXRpb24gZmFpbGVkXFwnKTsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICB0aGlzLmNyZWF0ZVN0YXRpY1dlYnNpdGUoKTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICB0aGlzLmNyZWF0ZU91dHB1dHMoKTsnLFxuICAgICAgICAnICAgIEFzcGVjdHMub2YodGhpcykuYWRkKG5ldyBEYXRhRG9nQXNwZWN0KHsgZGF0YWRvZzogdGhpcy5kYXRhZG9nIH0pKTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHByb3RlY3RlZCBjcmVhdGVTdGF0aWNXZWJzaXRlKCkgeycsXG4gICAgICAgICcgICAgdGhpcy5zdGF0aWNXZWJzaXRlID0gbmV3IFN0YXRpY1dlYnNpdGUodGhpcywgXFwnU3RhdGljV2Vic2l0ZVxcJywgeycsXG4gICAgICAgICcgICAgICBob3N0ZWRab25lOiB0aGlzLmhvc3RlZFpvbmUsJyxcbiAgICAgICAgJyAgICAgIGFwaTogdGhpcy5hcGkucmVzdEFwaSwnLFxuICAgICAgICAnICAgICAgaG9zdG5hbWU6IHRoaXMucHJvcHMuaG9zdG5hbWUsJyxcbiAgICAgICAgJyAgICB9KTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHByb3RlY3RlZCBjcmVhdGVBcGkoKSB7JyxcbiAgICAgICAgJyAgICB0aGlzLmFwaSA9IG5ldyBBcGkodGhpcywgXFwnQXBpXFwnLCB7JyxcbiAgICAgICAgJyAgICAgIHZwYzogdGhpcy52cGMsJyxcbiAgICAgICAgJyAgICAgIGNsZXJrSndrc1VybDogdGhpcy5wcm9wcy5jbGVya0p3a3NVcmwsJyxcbiAgICAgICAgJyAgICB9KTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHByb3RlY3RlZCBjcmVhdGVWcGMoKSB7JyxcbiAgICAgICAgJyAgICB0aGlzLnZwYyA9IG5ldyBWcGModGhpcywgXFwnVlBDXFwnLCB7JyxcbiAgICAgICAgJyAgICAgIHZwY05hbWU6IHRoaXMucHJvcHMudnBjTmFtZSB8fCBgJHt0aGlzLmlkfS12cGNgLCcsXG4gICAgICAgICcgICAgICBtYXhBenM6IDMsJyxcbiAgICAgICAgJyAgICAgIG5hdEdhdGV3YXlzOiAxLCcsXG4gICAgICAgICcgICAgfSk7JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICBwcm90ZWN0ZWQgY3JlYXRlSG9zdGVkWm9uZSgpIHsnLFxuICAgICAgICAnICAgIHRoaXMuaG9zdGVkWm9uZSA9IEhvc3RlZFpvbmUuZnJvbUxvb2t1cCh0aGlzLCBcXCdIb3N0ZWRab25lXFwnLCB7JyxcbiAgICAgICAgJyAgICAgIGRvbWFpbk5hbWU6IHRoaXMucHJvcHMuaG9zdGVkWm9uZURvbWFpbk5hbWUsJyxcbiAgICAgICAgJyAgICB9KTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXRzKCkgeycsXG4gICAgICAgICcgICAgbmV3IENmbk91dHB1dCh0aGlzLCBcXCdXZWJzaXRlVXJsXFwnLCB7JyxcbiAgICAgICAgJyAgICAgIHZhbHVlOiBgaHR0cHM6Ly8ke3RoaXMuc3RhdGljV2Vic2l0ZS5ob3N0bmFtZX1gLCcsXG4gICAgICAgICcgICAgICBkZXNjcmlwdGlvbjogXFwnVGhlIFVSTCBvZiB0aGUgc3RhdGljIHdlYnNpdGVcXCcsJyxcbiAgICAgICAgJyAgICAgIGV4cG9ydE5hbWU6IGAke3RoaXMuaWQucmVwbGFjZSgvXFxcXC8vLCBcXCctXFwnKX0tV2Vic2l0ZVVybGAsJyxcbiAgICAgICAgJyAgICB9KTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHByb3RlY3RlZCBjcmVhdGVEYXRhZG9nRXh0ZW5zaW9uKCkgeycsXG4gICAgICAgICcgICAgY29uc3QgZGF0YWRvZ0FwaVNlY3JldCA9IFNlY3JldC5mcm9tU2VjcmV0Q29tcGxldGVBcm4odGhpcywgXFwnRGF0YWRvZ0FwaUtleVxcJywgdGhpcy5wcm9wcy5kYXRhZG9nU2VjcmV0QXJuKTsnLFxuICAgICAgICAnICAgIHRoaXMuZGF0YWRvZyA9IG5ldyBEYXRhZG9nTGFtYmRhKHRoaXMsIFxcJ0RhdGFkb2dcXCcsIHsnLFxuICAgICAgICAnICAgICAgYXBpS2V5U2VjcmV0OiBkYXRhZG9nQXBpU2VjcmV0LCcsXG4gICAgICAgICcgICAgICBzZXJ2aWNlOiB0aGlzLnByb3BzLmRhdGFkb2c/LnByb2plY3ROYW1lIHx8IHRoaXMuaWQsJyxcbiAgICAgICAgJyAgICAgIG5vZGVMYXllclZlcnNpb246IHRoaXMucHJvcHMuZGF0YWRvZz8ubm9kZUxheWVyVmVyc2lvbiB8fCAxMzIsJyxcbiAgICAgICAgJyAgICAgIHB5dGhvbkxheWVyVmVyc2lvbjogdGhpcy5wcm9wcy5kYXRhZG9nPy5weXRob25MYXllclZlcnNpb24gfHwgMTIzLCcsXG4gICAgICAgICcgICAgICBleHRlbnNpb25MYXllclZlcnNpb246IDk5LCcsXG4gICAgICAgICcgICAgICBlbmFibGVNZXJnZVhyYXlUcmFjZXM6IHRydWUsJyxcbiAgICAgICAgJyAgICB9KTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIC8qKicsXG4gICAgICAgICcgICAqIEFkZHMgdGhlIGN1cnJlbnQgYnJhbmNoIG5hbWUgKGNsZWFuZWQgd2l0aCBcXCcvXFwnIC0+IFxcJy1cXCcpIGlmIG5vdCBvbiB0aGUgbWFpbiBicmFuY2gnLFxuICAgICAgICAnICAgKiBAcGFyYW0gcHJlZml4JyxcbiAgICAgICAgJyAgICogQHByaXZhdGUnLFxuICAgICAgICAnICAqLycsXG4gICAgICAgICcgIHByaXZhdGUgYWRkQnJhbmNoTmFtZShwcmVmaXg6IHN0cmluZykgeycsXG4gICAgICAgICcgICAgY29uc3QgZGJPdmVycmlkZSA9IHByb2Nlc3MuZW52LkRCX09WRVJSSURFOycsXG4gICAgICAgICcgICAgaWYgKGRiT3ZlcnJpZGUpIHsnLFxuICAgICAgICAnICAgICAgcmV0dXJuIGAke3ByZWZpeH0tJHtkYk92ZXJyaWRlfWA7JyxcbiAgICAgICAgJyAgICB9JyxcbiAgICAgICAgJyAgJyxcbiAgICAgICAgJyAgICBjb25zdCBoZWFkID0gZnMucmVhZEZpbGVTeW5jKHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcXCcuZ2l0XFwnLCBcXCdIRUFEXFwnKSwgXFwndXRmOFxcJykudHJpbSgpOycsXG4gICAgICAgICcgICAgY29uc3QgYnJhbmNoID0gaGVhZC5zdGFydHNXaXRoKFxcJ3JlZjogXFwnKSA/IGhlYWQucmVwbGFjZShcXCdyZWY6IHJlZnMvaGVhZHMvXFwnLCBcXCdcXCcpIDogaGVhZDsgLy8gZGV0YWNoZWQgSEVBRCByZXR1cm5zIGEgU0hBJyxcbiAgICAgICAgJyAgJyxcbiAgICAgICAgJyAgICBpZiAoYnJhbmNoICE9PSBcXCdtYWluXFwnKSB7JyxcbiAgICAgICAgJyAgICAgIGNvbnNvbGUubG9nKFxcJ2JyYW5jaDogXFwnLCBicmFuY2gpOycsXG4gICAgICAgICcgICAgICBjb25zdCBjbGVhbkJyYW5jaE5hbWUgPSBicmFuY2gucmVwbGFjZSgvXFxcXC8vZ2ksIFxcJy1cXCcpOycsXG4gICAgICAgICcgICAgICByZXR1cm4gYCR7cHJlZml4fS0ke2NsZWFuQnJhbmNoTmFtZX1gOycsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcgICcsXG4gICAgICAgICcgICAgcmV0dXJuIHByZWZpeDsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJyAgJyxcbiAgICAgICAgJyAgcHJvdGVjdGVkIGdldERhdGFiYXNlTmFtZShkYXRhYmFzZU5hbWU6IHN0cmluZykgeycsXG4gICAgICAgICcgICAgcmV0dXJuIHRoaXMuYWRkQnJhbmNoTmFtZShkYXRhYmFzZU5hbWUpOycsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnICAnLFxuICAgICAgICAnICBwcm90ZWN0ZWQgZ2V0VXNlcm5hbWUodXNlcm5hbWU6IHN0cmluZykgeycsXG4gICAgICAgICcgICAgcmV0dXJuIHRoaXMuYWRkQnJhbmNoTmFtZSh1c2VybmFtZSk7JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICd9JyxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvQm9vdGNhbXBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWtDO0FBR2xDLE1BQWEsZ0NBQWlDLFNBQVEsaUJBQVE7SUFDNUQsWUFBWSxPQUE0QjtRQUN0QyxLQUFLLENBQUMsT0FBTyxFQUFFLG9DQUFvQyxFQUFFO1lBQ25ELE1BQU0sRUFBRSxJQUFJO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxLQUFLLEVBQUU7Z0JBQ0wsd0JBQXdCO2dCQUN4Qiw0QkFBNEI7Z0JBQzVCLHdFQUF3RTtnQkFDeEUsb0RBQW9EO2dCQUNwRCxzRUFBc0U7Z0JBQ3RFLDREQUE0RDtnQkFDNUQsMkNBQTJDO2dCQUMzQyw4REFBOEQ7Z0JBQzlELDZEQUE2RDtnQkFDN0QsNENBQTRDO2dCQUM1QyxnRUFBZ0U7Z0JBQ2hFLEVBQUU7Z0JBQ0YsaUVBQWlFO2dCQUNqRSxFQUFFO2dCQUNGLHdCQUF3QjtnQkFDeEIsU0FBUztnQkFDVCxnRUFBZ0U7Z0JBQ2hFLFFBQVE7Z0JBQ1IscUJBQXFCO2dCQUNyQixTQUFTO2dCQUNULHlDQUF5QztnQkFDekMsRUFBRTtnQkFDRixTQUFTO2dCQUNULCtEQUErRDtnQkFDL0QsUUFBUTtnQkFDUixxQkFBcUI7Z0JBQ3JCLFNBQVM7Z0JBQ1QsMkNBQTJDO2dCQUMzQyxFQUFFO2dCQUNGLFNBQVM7Z0JBQ1Qsc0VBQXNFO2dCQUN0RSxRQUFRO2dCQUNSLHFDQUFxQztnQkFDckMsU0FBUztnQkFDVCxvQ0FBb0M7Z0JBQ3BDLE1BQU07Z0JBQ04sT0FBTztnQkFDUCwwREFBMEQ7Z0JBQzFELE1BQU07Z0JBQ04sK0NBQStDO2dCQUMvQyxPQUFPO2dCQUNQLDBDQUEwQztnQkFDMUMsRUFBRTtnQkFDRixPQUFPO2dCQUNQLCtFQUErRTtnQkFDL0UsT0FBTztnQkFDUCw2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LENBQUM7Q0FDRjtBQW5NRCw0RUFtTUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZXh0RmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBBd3NDZGtUeXBlU2NyaXB0QXBwIH0gZnJvbSAncHJvamVuL2xpYi9hd3NjZGsnO1xuXG5leHBvcnQgY2xhc3MgQm9vdGNhbXBCYXNlQXBwbGljYXRpb25TdGFja0ZpbGUgZXh0ZW5kcyBUZXh0RmlsZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IEF3c0Nka1R5cGVTY3JpcHRBcHApIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnc3JjL3N0YWNrcy9CYXNlQXBwbGljYXRpb25TdGFjay50cycsIHtcbiAgICAgIG1hcmtlcjogdHJ1ZSxcbiAgICAgIHJlYWRvbmx5OiB0cnVlLFxuICAgICAgbGluZXM6IFtcbiAgICAgICAgJ2ltcG9ydCBmcyBmcm9tIFxcJ2ZzXFwnOycsXG4gICAgICAgICdpbXBvcnQgcGF0aCBmcm9tIFxcJ3BhdGhcXCc7JyxcbiAgICAgICAgJ2ltcG9ydCB7IEFzcGVjdHMsIENmbk91dHB1dCwgU3RhY2ssIFN0YWNrUHJvcHMgfSBmcm9tIFxcJ2F3cy1jZGstbGliXFwnOycsXG4gICAgICAgICdpbXBvcnQgeyBJVnBjLCBWcGMgfSBmcm9tIFxcJ2F3cy1jZGstbGliL2F3cy1lYzJcXCc7JyxcbiAgICAgICAgJ2ltcG9ydCB7IEhvc3RlZFpvbmUsIElIb3N0ZWRab25lIH0gZnJvbSBcXCdhd3MtY2RrLWxpYi9hd3Mtcm91dGU1M1xcJzsnLFxuICAgICAgICAnaW1wb3J0IHsgU2VjcmV0IH0gZnJvbSBcXCdhd3MtY2RrLWxpYi9hd3Mtc2VjcmV0c21hbmFnZXJcXCc7JyxcbiAgICAgICAgJ2ltcG9ydCB7IENvbnN0cnVjdCB9IGZyb20gXFwnY29uc3RydWN0c1xcJzsnLFxuICAgICAgICAnaW1wb3J0IHsgRGF0YWRvZ0xhbWJkYSB9IGZyb20gXFwnZGF0YWRvZy1jZGstY29uc3RydWN0cy12MlxcJzsnLFxuICAgICAgICAnaW1wb3J0IHsgRGF0YURvZ0FzcGVjdCB9IGZyb20gXFwnLi4vYXNwZWN0cy9EYXRhRG9nQXNwZWN0XFwnOycsXG4gICAgICAgICdpbXBvcnQgeyBBcGkgfSBmcm9tIFxcJy4uL2NvbnN0cnVjdHMvQXBpXFwnOycsXG4gICAgICAgICdpbXBvcnQgeyBTdGF0aWNXZWJzaXRlIH0gZnJvbSBcXCcuLi9jb25zdHJ1Y3RzL1N0YXRpY1dlYnNpdGVcXCc7JyxcbiAgICAgICAgJycsXG4gICAgICAgICdleHBvcnQgaW50ZXJmYWNlIEJhc2VBcHBsaWNhdGlvblN0YWNrUHJvcHMgZXh0ZW5kcyBTdGFja1Byb3BzIHsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgcmVhZG9ubHkgZGF0YWRvZz86IHsnLFxuICAgICAgICAnICAgIC8qKicsXG4gICAgICAgICcgICAgICogVGhlIHZlcnNpb24gb2YgdGhlIERhdGFkb2cgTm9kZS5qcyBMYW1iZGEgbGF5ZXIgdG8gdXNlLicsXG4gICAgICAgICcgICAgIConLFxuICAgICAgICAnICAgICAqIEBkZWZhdWx0IDE0MycsXG4gICAgICAgICcgICAgICovJyxcbiAgICAgICAgJyAgICByZWFkb25seSBub2RlTGF5ZXJWZXJzaW9uPzogbnVtYmVyOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIC8qKicsXG4gICAgICAgICcgICAgICogVGhlIHZlcnNpb24gb2YgdGhlIERhdGFkb2cgUHl0aG9uIExhbWJkYSBsYXllciB0byB1c2UuJyxcbiAgICAgICAgJyAgICAgKicsXG4gICAgICAgICcgICAgICogQGRlZmF1bHQgMTIzJyxcbiAgICAgICAgJyAgICAgKi8nLFxuICAgICAgICAnICAgIHJlYWRvbmx5IHB5dGhvbkxheWVyVmVyc2lvbj86IG51bWJlcjsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICAvKionLFxuICAgICAgICAnICAgICAqIFRoZSBuYW1lIG9mIHRoZSBwcm9qZWN0L3NlcnZpY2UgZm9yIERhdGFkb2cgdGFnZ2luZyBwdXJwb3Nlcy4nLFxuICAgICAgICAnICAgICAqJyxcbiAgICAgICAgJyAgICAgKiBAZGVmYXVsdCAtIHVzZXMgdGhlIHN0YWNrIElEJyxcbiAgICAgICAgJyAgICAgKi8nLFxuICAgICAgICAnICAgIHJlYWRvbmx5IHByb2plY3ROYW1lPzogc3RyaW5nOycsXG4gICAgICAgICcgIH07JyxcbiAgICAgICAgJyAgLyoqJyxcbiAgICAgICAgJyAgICogVGhlIGRvbWFpbiBuYW1lIG9mIHRoZSBSb3V0ZSA1MyBob3N0ZWQgem9uZSB0byB1c2UuJyxcbiAgICAgICAgJyAgIConLFxuICAgICAgICAnICAgKiBAZXhhbXBsZSBcXCdtYWNlZG9uLnNhbmRib3guZGVmaWFuY2UuYWlcXCcnLFxuICAgICAgICAnICAgKi8nLFxuICAgICAgICAnICByZWFkb25seSBob3N0ZWRab25lRG9tYWluTmFtZTogc3RyaW5nOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAvKionLFxuICAgICAgICAnICAgKiBUaGUgQVJOIG9mIHRoZSBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IHRoYXQgY29udGFpbnMgdGhlIERhdGFkb2cgQVBJIGtleS4nLFxuICAgICAgICAnICAgKi8nLFxuICAgICAgICAnICByZWFkb25seSBkYXRhZG9nU2VjcmV0QXJuOiBgYXJuOmF3czpzZWNyZXRzbWFuYWdlcjoke3N0cmluZ306JHtzdHJpbmd9OnNlY3JldDoke3N0cmluZ31gOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAvKionLFxuICAgICAgICAnICAgKiBUaGUgQ2xlcmsgSldLUyBVUkwgdXNlZCB0byB2ZXJpZnkgc2Vzc2lvbiB0b2tlbiBzaWduYXR1cmVzLicsXG4gICAgICAgICcgICAqLycsXG4gICAgICAgICcgIHJlYWRvbmx5IGNsZXJrSndrc1VybDogYGh0dHBzOi8vJHtzdHJpbmd9Ly53ZWxsLWtub3duL2p3a3MuanNvbmA7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIC8qKicsXG4gICAgICAgICcgICAqIFRoZSBuYW1lIG9mIHRoZSBWUEMgdG8gY3JlYXRlLicsXG4gICAgICAgICcgICAqJyxcbiAgICAgICAgJyAgICogQGRlZmF1bHQgXFwnJHtpZH0tdnBjXFwnJyxcbiAgICAgICAgJyAgICovJyxcbiAgICAgICAgJyAgcmVhZG9ubHkgdnBjTmFtZT86IHN0cmluZzsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgLyoqJyxcbiAgICAgICAgJyAgICogVGhlIGhvc3RuYW1lIGZvciB0aGUgc3RhdGljIHdlYnNpdGUuIFRoaXMgd2lsbCBiZSBhZGRlZCB0byB0aGUgaG9zdGVkem9uZS4nLFxuICAgICAgICAnICAgKicsXG4gICAgICAgICcgICAqIEBleGFtcGxlIFxcJ215Ym9pXFwnJyxcbiAgICAgICAgJyAgICogQGRlZmF1bHQgXFwnbXZwXFwnJyxcbiAgICAgICAgJyAgICovJyxcbiAgICAgICAgJyAgcmVhZG9ubHkgaG9zdG5hbWU6IHN0cmluZzsnLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnZXhwb3J0IGNsYXNzIEJhc2VBcHBsaWNhdGlvblN0YWNrPFRQcm9wcyBleHRlbmRzIEJhc2VBcHBsaWNhdGlvblN0YWNrUHJvcHM+IGV4dGVuZHMgU3RhY2sgeycsXG4gICAgICAgICcgIHByb3RlY3RlZCBkYXRhZG9nOiBEYXRhZG9nTGFtYmRhOycsXG4gICAgICAgICcgIHByb3RlY3RlZCBob3N0ZWRab25lOiBJSG9zdGVkWm9uZTsnLFxuICAgICAgICAnICBwcm90ZWN0ZWQgdnBjOiBJVnBjOycsXG4gICAgICAgICcgIHByb3RlY3RlZCBhcGk6IEFwaTsnLFxuICAgICAgICAnICBwcm90ZWN0ZWQgc3RhdGljV2Vic2l0ZTogU3RhdGljV2Vic2l0ZTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgY29uc3RydWN0b3Ioc2NvcGU6IENvbnN0cnVjdCwgcHJpdmF0ZSBpZDogc3RyaW5nLCBwcm90ZWN0ZWQgcHJvcHM6IFRQcm9wcykgeycsXG4gICAgICAgICcgICAgc3VwZXIoc2NvcGUsIGlkLCBwcm9wcyk7JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgICAgaWYgKCF0aGlzLnByb3BzLmNsZXJrSndrc1VybCkgeycsXG4gICAgICAgICcgICAgICB0aHJvdyBuZXcgRXJyb3IoXFwnY2xlcmtKd2tzVXJsIGlzIHJlcXVpcmVkXFwnKTsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICB0aGlzLmNyZWF0ZURhdGFkb2dFeHRlbnNpb24oKTsnLFxuICAgICAgICAnICAgIGlmICghdGhpcy5kYXRhZG9nKSB7JyxcbiAgICAgICAgJyAgICAgIHRocm93IG5ldyBFcnJvcihcXCdEYXRhZG9nIGV4dGVuc2lvbiBjcmVhdGlvbiBmYWlsZWRcXCcpOycsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIHRoaXMuY3JlYXRlSG9zdGVkWm9uZSgpOycsXG4gICAgICAgICcgICAgaWYgKCF0aGlzLmhvc3RlZFpvbmUpIHsnLFxuICAgICAgICAnICAgICAgdGhyb3cgbmV3IEVycm9yKFxcJ0hvc3RlZFpvbmUgY3JlYXRpb24gZmFpbGVkXFwnKTsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICB0aGlzLmNyZWF0ZVZwYygpOycsXG4gICAgICAgICcnLFxuICAgICAgICAnICAgIHRoaXMuY3JlYXRlQXBpKCk7JyxcbiAgICAgICAgJyAgICBpZiAoIXRoaXMuYXBpKSB7JyxcbiAgICAgICAgJyAgICAgIHRocm93IG5ldyBFcnJvcihcXCdBUEkgY3JlYXRpb24gZmFpbGVkXFwnKTsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICB0aGlzLmNyZWF0ZVN0YXRpY1dlYnNpdGUoKTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgICB0aGlzLmNyZWF0ZU91dHB1dHMoKTsnLFxuICAgICAgICAnICAgIEFzcGVjdHMub2YodGhpcykuYWRkKG5ldyBEYXRhRG9nQXNwZWN0KHsgZGF0YWRvZzogdGhpcy5kYXRhZG9nIH0pKTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHByb3RlY3RlZCBjcmVhdGVTdGF0aWNXZWJzaXRlKCkgeycsXG4gICAgICAgICcgICAgdGhpcy5zdGF0aWNXZWJzaXRlID0gbmV3IFN0YXRpY1dlYnNpdGUodGhpcywgXFwnU3RhdGljV2Vic2l0ZVxcJywgeycsXG4gICAgICAgICcgICAgICBob3N0ZWRab25lOiB0aGlzLmhvc3RlZFpvbmUsJyxcbiAgICAgICAgJyAgICAgIGFwaTogdGhpcy5hcGkucmVzdEFwaSwnLFxuICAgICAgICAnICAgICAgaG9zdG5hbWU6IHRoaXMucHJvcHMuaG9zdG5hbWUsJyxcbiAgICAgICAgJyAgICB9KTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHByb3RlY3RlZCBjcmVhdGVBcGkoKSB7JyxcbiAgICAgICAgJyAgICB0aGlzLmFwaSA9IG5ldyBBcGkodGhpcywgXFwnQXBpXFwnLCB7JyxcbiAgICAgICAgJyAgICAgIHZwYzogdGhpcy52cGMsJyxcbiAgICAgICAgJyAgICAgIGNsZXJrSndrc1VybDogdGhpcy5wcm9wcy5jbGVya0p3a3NVcmwsJyxcbiAgICAgICAgJyAgICB9KTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHByb3RlY3RlZCBjcmVhdGVWcGMoKSB7JyxcbiAgICAgICAgJyAgICB0aGlzLnZwYyA9IG5ldyBWcGModGhpcywgXFwnVlBDXFwnLCB7JyxcbiAgICAgICAgJyAgICAgIHZwY05hbWU6IHRoaXMucHJvcHMudnBjTmFtZSB8fCBgJHt0aGlzLmlkfS12cGNgLCcsXG4gICAgICAgICcgICAgICBtYXhBenM6IDMsJyxcbiAgICAgICAgJyAgICAgIG5hdEdhdGV3YXlzOiAxLCcsXG4gICAgICAgICcgICAgfSk7JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICBwcm90ZWN0ZWQgY3JlYXRlSG9zdGVkWm9uZSgpIHsnLFxuICAgICAgICAnICAgIHRoaXMuaG9zdGVkWm9uZSA9IEhvc3RlZFpvbmUuZnJvbUxvb2t1cCh0aGlzLCBcXCdIb3N0ZWRab25lXFwnLCB7JyxcbiAgICAgICAgJyAgICAgIGRvbWFpbk5hbWU6IHRoaXMucHJvcHMuaG9zdGVkWm9uZURvbWFpbk5hbWUsJyxcbiAgICAgICAgJyAgICB9KTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHByb3RlY3RlZCBjcmVhdGVPdXRwdXRzKCkgeycsXG4gICAgICAgICcgICAgbmV3IENmbk91dHB1dCh0aGlzLCBcXCdXZWJzaXRlVXJsXFwnLCB7JyxcbiAgICAgICAgJyAgICAgIHZhbHVlOiBgaHR0cHM6Ly8ke3RoaXMuc3RhdGljV2Vic2l0ZS5ob3N0bmFtZX1gLCcsXG4gICAgICAgICcgICAgICBkZXNjcmlwdGlvbjogXFwnVGhlIFVSTCBvZiB0aGUgc3RhdGljIHdlYnNpdGVcXCcsJyxcbiAgICAgICAgJyAgICAgIGV4cG9ydE5hbWU6IGAke3RoaXMuaWQucmVwbGFjZSgvXFxcXC8vLCBcXCctXFwnKX0tV2Vic2l0ZVVybGAsJyxcbiAgICAgICAgJyAgICB9KTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHByb3RlY3RlZCBjcmVhdGVEYXRhZG9nRXh0ZW5zaW9uKCkgeycsXG4gICAgICAgICcgICAgY29uc3QgZGF0YWRvZ0FwaVNlY3JldCA9IFNlY3JldC5mcm9tU2VjcmV0Q29tcGxldGVBcm4odGhpcywgXFwnRGF0YWRvZ0FwaUtleVxcJywgdGhpcy5wcm9wcy5kYXRhZG9nU2VjcmV0QXJuKTsnLFxuICAgICAgICAnICAgIHRoaXMuZGF0YWRvZyA9IG5ldyBEYXRhZG9nTGFtYmRhKHRoaXMsIFxcJ0RhdGFkb2dcXCcsIHsnLFxuICAgICAgICAnICAgICAgYXBpS2V5U2VjcmV0OiBkYXRhZG9nQXBpU2VjcmV0LCcsXG4gICAgICAgICcgICAgICBzZXJ2aWNlOiB0aGlzLnByb3BzLmRhdGFkb2c/LnByb2plY3ROYW1lIHx8IHRoaXMuaWQsJyxcbiAgICAgICAgJyAgICAgIG5vZGVMYXllclZlcnNpb246IHRoaXMucHJvcHMuZGF0YWRvZz8ubm9kZUxheWVyVmVyc2lvbiB8fCAxNDMsJyxcbiAgICAgICAgJyAgICAgIHB5dGhvbkxheWVyVmVyc2lvbjogdGhpcy5wcm9wcy5kYXRhZG9nPy5weXRob25MYXllclZlcnNpb24gfHwgMTIzLCcsXG4gICAgICAgICcgICAgICBleHRlbnNpb25MYXllclZlcnNpb246IDk5LCcsXG4gICAgICAgICcgICAgICBlbmFibGVNZXJnZVhyYXlUcmFjZXM6IGZhbHNlLCcsXG4gICAgICAgICcgICAgfSk7JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICAvKionLFxuICAgICAgICAnICAgKiBBZGRzIHRoZSBjdXJyZW50IGJyYW5jaCBuYW1lIChjbGVhbmVkIHdpdGggXFwnL1xcJyAtPiBcXCctXFwnKSBpZiBub3Qgb24gdGhlIG1haW4gYnJhbmNoJyxcbiAgICAgICAgJyAgICogQHBhcmFtIHByZWZpeCcsXG4gICAgICAgICcgICAqIEBwcml2YXRlJyxcbiAgICAgICAgJyAgKi8nLFxuICAgICAgICAnICBwcml2YXRlIGFkZEJyYW5jaE5hbWUocHJlZml4OiBzdHJpbmcpIHsnLFxuICAgICAgICAnICAgIGNvbnN0IGRiT3ZlcnJpZGUgPSBwcm9jZXNzLmVudi5EQl9PVkVSUklERTsnLFxuICAgICAgICAnICAgIGlmIChkYk92ZXJyaWRlKSB7JyxcbiAgICAgICAgJyAgICAgIHJldHVybiBgJHtwcmVmaXh9LSR7ZGJPdmVycmlkZX1gOycsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcgICcsXG4gICAgICAgICcgICAgY29uc3QgaGVhZCA9IGZzLnJlYWRGaWxlU3luYyhwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgXFwnLmdpdFxcJywgXFwnSEVBRFxcJyksIFxcJ3V0ZjhcXCcpLnRyaW0oKTsnLFxuICAgICAgICAnICAgIGNvbnN0IGJyYW5jaCA9IGhlYWQuc3RhcnRzV2l0aChcXCdyZWY6IFxcJykgPyBoZWFkLnJlcGxhY2UoXFwncmVmOiByZWZzL2hlYWRzL1xcJywgXFwnXFwnKSA6IGhlYWQ7IC8vIGRldGFjaGVkIEhFQUQgcmV0dXJucyBhIFNIQScsXG4gICAgICAgICcgICcsXG4gICAgICAgICcgICAgaWYgKGJyYW5jaCAhPT0gXFwnbWFpblxcJykgeycsXG4gICAgICAgICcgICAgICBjb25zb2xlLmxvZyhcXCdicmFuY2g6IFxcJywgYnJhbmNoKTsnLFxuICAgICAgICAnICAgICAgY29uc3QgY2xlYW5CcmFuY2hOYW1lID0gYnJhbmNoLnJlcGxhY2UoL1xcXFwvL2dpLCBcXCctXFwnKTsnLFxuICAgICAgICAnICAgICAgcmV0dXJuIGAke3ByZWZpeH0tJHtjbGVhbkJyYW5jaE5hbWV9YDsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnICAnLFxuICAgICAgICAnICAgIHJldHVybiBwcmVmaXg7JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcgICcsXG4gICAgICAgICcgIHByb3RlY3RlZCBnZXREYXRhYmFzZU5hbWUoZGF0YWJhc2VOYW1lOiBzdHJpbmcpIHsnLFxuICAgICAgICAnICAgIHJldHVybiB0aGlzLmFkZEJyYW5jaE5hbWUoZGF0YWJhc2VOYW1lKTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJyAgJyxcbiAgICAgICAgJyAgcHJvdGVjdGVkIGdldFVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpIHsnLFxuICAgICAgICAnICAgIHJldHVybiB0aGlzLmFkZEJyYW5jaE5hbWUodXNlcm5hbWUpOycsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnfScsXG4gICAgICBdLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
package/lib/BootcampProject.js
CHANGED
|
@@ -12,7 +12,7 @@ const SoftwareFactoryFiles_1 = require("./SoftwareFactoryFiles");
|
|
|
12
12
|
const utils_1 = require("./utils");
|
|
13
13
|
const ViteReactProject_1 = require("./ViteReactProject");
|
|
14
14
|
class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
15
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.BootcampProject", version: "1.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.BootcampProject", version: "1.32.0" };
|
|
16
16
|
constructor(options) {
|
|
17
17
|
super({
|
|
18
18
|
...options,
|
|
@@ -67,7 +67,7 @@ class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
|
67
67
|
},
|
|
68
68
|
},
|
|
69
69
|
readme: {
|
|
70
|
-
contents: (0, utils_1.readmeContents)(options.name, options.e2eTesting ?? true, options.packageManager),
|
|
70
|
+
contents: (0, utils_1.readmeContents)(options.name, options.e2eTesting ?? true, options.packageManager, options.prAutoMerge ?? false),
|
|
71
71
|
},
|
|
72
72
|
});
|
|
73
73
|
// Create standard project files
|
|
@@ -87,6 +87,7 @@ class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
|
87
87
|
additionalTags: options.additionalTags,
|
|
88
88
|
actionVersions: options.actionVersions,
|
|
89
89
|
e2eTesting: options.e2eTesting,
|
|
90
|
+
prAutoMerge: options.prAutoMerge,
|
|
90
91
|
});
|
|
91
92
|
new GitHubRolesFile_1.GitHubRolesFile(this, {
|
|
92
93
|
account: PRIMARY_ACCOUNT,
|
|
@@ -125,4 +126,4 @@ class BootcampProject extends awscdk_1.AwsCdkTypeScriptApp {
|
|
|
125
126
|
}
|
|
126
127
|
}
|
|
127
128
|
exports.BootcampProject = BootcampProject;
|
|
128
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQm9vdGNhbXBQcm9qZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0Jvb3RjYW1wUHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsOENBQXdEO0FBQ3hELDhDQUFzRDtBQUV0RCwrREFBNEQ7QUFDNUQscURBQWtEO0FBQ2xELDJEQUF3RDtBQUN4RCx1REFBb0Q7QUFDcEQsaUVBQThEO0FBQzlELG1DQUF5QztBQUN6Qyx5REFBc0Q7QUFPdEQsTUFBYSxlQUFnQixTQUFRLDRCQUFtQjs7SUFDdEQsWUFBWSxPQUErQjtRQUN6QyxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVUsSUFBSSxTQUFTO1lBQzNDLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNO1lBQzVELElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixVQUFVLEVBQUUsSUFBSTtZQUNoQixhQUFhLEVBQUUsS0FBSztZQUNwQixJQUFJLEVBQUU7Z0JBQ0osbUJBQW1CO2dCQUNuQixnQkFBZ0I7Z0JBQ2hCLFdBQVc7Z0JBQ1gsSUFBSTtnQkFDSixxQkFBcUI7Z0JBQ3JCLDJCQUEyQjtnQkFDM0IsMEJBQTBCO2dCQUMxQixtQ0FBbUM7Z0JBQ25DLGNBQWM7Z0JBQ2QsaUNBQWlDO2dCQUNqQyxTQUFTO2dCQUNULGlCQUFpQjtnQkFDakIsYUFBYTtnQkFDYixHQUFHLE9BQU8sQ0FBQyxJQUFJLElBQUksRUFBRTthQUN0QjtZQUNELE9BQU8sRUFBRTtnQkFDUCxxQkFBcUI7Z0JBQ3JCLFNBQVM7Z0JBQ1QsY0FBYztnQkFDZCxxQ0FBcUM7Z0JBQ3JDLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFO2FBQ3pCO1lBQ0QsU0FBUyxFQUFFO2dCQUNULG1EQUFtRDtnQkFDbkQsY0FBYztnQkFDZCxHQUFHLE9BQU8sQ0FBQyxTQUFTLElBQUksRUFBRTthQUMzQjtZQUNELFFBQVEs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LElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2xCLElBQUksRUFBRSxZQUFZLENBQ2hCLGtHQUFrRyxFQUNsRyxTQUFTLENBQUMsVUFBVSxDQUNyQjtTQUNGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3RCLElBQUksRUFBRSwyRUFBMkU7WUFDakYsV0FBVyxFQUFFLElBQUk7U0FDbEIsQ0FBQyxDQUFDO0lBR0wsQ0FBQzs7QUEvSEgsMENBZ0lDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXdzQ2RrVHlwZVNjcmlwdEFwcCB9IGZyb20gJ3Byb2plbi9saWIvYXdzY2RrJztcbmltcG9ydCB7IEdpdGh1YkNyZWRlbnRpYWxzIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWInO1xuaW1wb3J0IHsgQmF0bWFuUHJvamVjdE9wdGlvbnMgfSBmcm9tICcuL0JhdG1hblByb2plY3QnO1xuaW1wb3J0IHsgQm9vdGNhbXBBcHBsaWNhdGlvbiB9IGZyb20gJy4vQm9vdGNhbXBBcHBsaWNhdGlvbic7XG5pbXBvcnQgeyBDb2RlT3duZXJzRmlsZSB9IGZyb20gJy4vQ29kZU93bmVyc0ZpbGUnO1xuaW1wb3J0IHsgRGF0YURvZ0FzcGVjdEZpbGUgfSBmcm9tICcuL0RhdGFEb2dBc3BlY3RGaWxlJztcbmltcG9ydCB7IEdpdEh1YlJvbGVzRmlsZSB9IGZyb20gJy4vR2l0SHViUm9sZXNGaWxlJztcbmltcG9ydCB7IFNvZnR3YXJlRmFjdG9yeUZpbGVzIH0gZnJvbSAnLi9Tb2Z0d2FyZUZhY3RvcnlGaWxlcyc7XG5pbXBvcnQgeyByZWFkbWVDb250ZW50cyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgVml0ZVJlYWN0UHJvamVjdCB9IGZyb20gJy4vVml0ZVJlYWN0UHJvamVjdCc7XG5cblxuZXhwb3J0IGludGVyZmFjZSBCb290Y2FtcFByb2plY3RPcHRpb25zIGV4dGVuZHMgQmF0bWFuUHJvamVjdE9wdGlvbnMge1xuXG59XG5cbmV4cG9ydCBjbGFzcyBCb290Y2FtcFByb2plY3QgZXh0ZW5kcyBBd3NDZGtUeXBlU2NyaXB0QXBwIHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogQm9vdGNhbXBQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBjZGtWZXJzaW9uOiBvcHRpb25zLmNka1ZlcnNpb24gfHwgJzIuMjI0LjAnLFxuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6IG9wdGlvbnMuZGVmYXVsdFJlbGVhc2VCcmFuY2ggfHwgJ21haW4nLFxuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgcHJvamVucmNUczogdHJ1ZSxcbiAgICAgIGJ1aWxkV29ya2Zsb3c6IGZhbHNlLFxuICAgICAgZGVwczogW1xuICAgICAgICAnQHR5cGVzL2F3cy1sYW1iZGEnLFxuICAgICAgICAnQHR5cGVzL2V4cHJlc3MnLFxuICAgICAgICAnQHR5cGVzL3BnJyxcbiAgICAgICAgJ3BnJyxcbiAgICAgICAgJ0Bhd3Mtc2RrL3Jkcy1zaWduZXInLFxuICAgICAgICAnZGF0YWRvZy1jZGstY29uc3RydWN0cy12MicsXG4gICAgICAgICdAY2RrbGFicy9hd3MtbGFtYmRhLXJ1c3QnLFxuICAgICAgICAnQGF3cy1sYW1iZGEtcG93ZXJ0b29scy9wYXJhbWV0ZXJzJyxcbiAgICAgICAgJ2pzb253ZWJ0b2tlbicsXG4gICAgICAgICdAYXdzLXNkay9jbGllbnQtc2VjcmV0cy1tYW5hZ2VyJyxcbiAgICAgICAgJ2V4cHJlc3MnLFxuICAgICAgICAnc2VydmVybGVzcy1odHRwJyxcbiAgICAgICAgJ2Nkay1yZHMtc3FsJyxcbiAgICAgICAgLi4ub3B0aW9ucy5kZXBzIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIGRldkRlcHM6IFtcbiAgICAgICAgJ0B0eXBlcy9qc29ud2VidG9rZW4nLFxuICAgICAgICAnbm9kZW1vbicsXG4gICAgICAgICdjb25jdXJyZW50bHknLFxuICAgICAgICAnQG1hY2Vkb24tdGVjaG5vbG9naWVzL2JhdG1hbkBeMS4wLjAnLFxuICAgICAgICAuLi5vcHRpb25zLmRldkRlcHMgfHwgW10sXG4gICAgICBdLFxuICAgICAgZ2l0aWdub3JlOiBbXG4gICAgICAgICdzcmMvY29uc3RydWN0cy9oYW5kbGVyL2NsZXJrLWF1dGhvcml6ZXIvdGFyZ2V0LyoqJyxcbiAgICAgICAgJyoqLy5EU19TdG9yZScsXG4gICAgICAgIC4uLm9wdGlvbnMuZ2l0aWdub3JlIHx8IFtdLFxuICAgICAgXSxcbiAgICAgIHRzY29uZmlnOiB7XG4gICAgICAgIC4uLm9wdGlvbnMudHNjb25maWcsXG4gICAgICAgIGNvbXBpbGVyT3B0aW9uczoge1xuICAgICAgICAgIC4uLm9wdGlvbnMudHNjb25maWc/LmNvbXBpbGVyT3B0aW9ucyxcbiAgICAgICAgICBpc29sYXRlZE1vZHVsZXM6IHRydWUsXG4gICAgICAgICAgYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnM6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc2FtcGxlQ29kZTogZmFsc2UsXG4gICAgICBtaW5Ob2RlVmVyc2lvbjogb3B0aW9ucy5taW5Ob2RlVmVyc2lvbiB8fCAnMjInLFxuICAgICAgZGVwc1VwZ3JhZGVPcHRpb25zOiB7XG4gICAgICAgIHdvcmtmbG93T3B0aW9uczoge1xuICAgICAgICAgIHByb2plbkNyZWRlbnRpYWxzOiBHaXRodWJDcmVkZW50aWFscy5mcm9tUGVyc29uYWxBY2Nlc3NUb2tlbih7XG4gICAgICAgICAgICBzZWNyZXQ6ICdHSVRIVUJfVE9LRU4nLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlYWRtZToge1xuICAgICAgICBjb250ZW50czogcmVhZG1lQ29udGVudHMob3B0aW9ucy5uYW1lLCBvcHRpb25zLmUyZVRlc3RpbmcgPz8gdHJ1ZSwgb3B0aW9ucy5wYWNrYWdlTWFuYWdlciwgb3B0aW9ucy5wckF1dG9NZXJnZSA/PyBmYWxzZSksXG4gICAgICB9LFxuICAgIH0pO1xuXG5cbiAgICAvLyBDcmVhdGUgc3RhbmRhcmQgcHJvamVjdCBmaWxlc1xuICAgIGNvbnN0IFBSSU1BUllfQUNDT1VOVCA9ICcwMTU5NTU4MTcyNjMnO1xuICAgIGNvbnN0IFBSSU1BUllfUkVHSU9OID0gJ3VzLWVhc3QtMSc7XG5cbiAgICBuZXcgQm9vdGNhbXBBcHBsaWNhdGlvbih0aGlzLCB7XG4gICAgICBnaXRodWJSZXBvc2l0b3J5OiBgbWFjZWRvbi10ZWNobm9sb2dpZXMvJHtvcHRpb25zLm5hbWV9YCxcbiAgICAgIGRldjoge1xuICAgICAgICAuLi5vcHRpb25zLmRldixcbiAgICAgIH0sXG4gICAgICBzdGFnaW5nOiB7XG4gICAgICAgIC4uLm9wdGlvbnMuc3RhZ2luZyxcbiAgICAgIH0sXG4gICAgICBwcm9kOiB7XG4gICAgICAgIC4uLm9wdGlvbnMuZGV2LFxuICAgICAgfSxcbiAgICAgIGFkZGl0aW9uYWxUYWdzOiBvcHRpb25zLmFkZGl0aW9uYWxUYWdzLFxuICAgICAgYWN0aW9uVmVyc2lvbnM6IG9wdGlvbnMuYWN0aW9uVmVyc2lvbnMsXG4gICAgICBlMmVUZXN0aW5nOiBvcHRpb25zLmUyZVRlc3RpbmcsXG4gICAgICBwckF1dG9NZXJnZTogb3B0aW9ucy5wckF1dG9NZXJnZSxcbiAgICB9KTtcblxuICAgIG5ldyBHaXRIdWJSb2xlc0ZpbGUodGhpcywge1xuICAgICAgYWNjb3VudDogUFJJTUFSWV9BQ0NPVU5ULFxuICAgICAgcHJpbWFyeVJlZ2lvbjogUFJJTUFSWV9SRUdJT04sXG4gICAgfSk7XG5cbiAgICBuZXcgQ29kZU93bmVyc0ZpbGUodGhpcywge1xuICAgICAgYWRkaXRpb25hbE93bmVyczogb3B0aW9ucy5hZGRpdGlvbmFsQ29kZU93bmVycyxcbiAgICB9KTtcblxuICAgIG5ldyBEYXRhRG9nQXNwZWN0RmlsZSh0aGlzKTtcblxuICAgIG5ldyBTb2Z0d2FyZUZhY3RvcnlGaWxlcyh0aGlzLCB7XG4gICAgICByZXBvTmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgYmFzZUJyYW5jaDogb3B0aW9ucy5kZWZhdWx0UmVsZWFzZUJyYW5jaCxcbiAgICAgIGFjdGlvblZlcnNpb25zOiBvcHRpb25zLmFjdGlvblZlcnNpb25zLFxuICAgICAgYXR0ZXN0YXRpb25GaWxlczogb3B0aW9ucy5hdHRlc3RhdGlvbkZpbGVzLFxuICAgIH0pO1xuXG4gICAgY29uc3Qgdml0ZVJlYWN0ID0gbmV3IFZpdGVSZWFjdFByb2plY3Qoe1xuICAgICAgbmFtZTogb3B0aW9ucy5uYW1lLFxuICAgICAgZGVmYXVsdFJlbGVhc2VCcmFuY2g6ICdtYWluJyxcbiAgICAgIHBhcmVudDogdGhpcyxcbiAgICAgIG91dGRpcjogJ3dlYicsXG4gICAgICBkZXBzOiBvcHRpb25zLndlYnNpdGVEZXBzLFxuICAgICAgZTJlVGVzdGluZzogb3B0aW9ucy5lMmVUZXN0aW5nLFxuICAgIH0pO1xuICAgIHZpdGVSZWFjdC5hZGRDb25maWdGaWVsZCgnc29tZXRoaW5nJywgJ251bWJlcicpO1xuICAgIHZpdGVSZWFjdC5hZGRDb25maWdGaWVsZCgnc29tZXRoaW5nRWxzZScsICdzdHJpbmcnKTtcblxuICAgIGNvbnN0IGNvbmN1cnJlbnRseSA9ICguLi5hcmdzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgcmV0dXJuIGBjb25jdXJyZW50bHkgJHthcmdzLm1hcChhID0+IGBcIiR7YX1cImApLmpvaW4oJyAnKX1gO1xuICAgIH07XG5cbiAgICB0aGlzLmFkZFRhc2soJ2RldicsIHtcbiAgICAgIGV4ZWM6IGNvbmN1cnJlbnRseShcbiAgICAgICAgJ25vZGVtb24gLS13YXRjaCAuL3NyYy9jb25zdHJ1Y3RzL2hhbmRsZXIgLS13YXRjaCAuL3NyYy9hcGkgLS13YXRjaCAuL2xvY2FsL2Rldi50cyAuL2xvY2FsL2Rldi50cycsXG4gICAgICAgIHZpdGVSZWFjdC5kZXZDb21tYW5kLFxuICAgICAgKSxcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkVGFzaygnY2RrOmRldicsIHtcbiAgICAgIGV4ZWM6ICdjZGsgLWEgXCJucHggdHMtbm9kZSAtUCB0c2NvbmZpZy5qc29uIC0tcHJlZmVyLXRzLWV4dHMgc3JjL0xvY2FsRGV2QXBwLnRzXCInLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSk7XG5cblxuICB9XG59XG4iXX0=
|
package/lib/CodeOwnersFile.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.CodeOwnersFile = void 0;
|
|
|
4
4
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
5
|
const projen_1 = require("projen");
|
|
6
6
|
class CodeOwnersFile extends projen_1.TextFile {
|
|
7
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.CodeOwnersFile", version: "1.
|
|
7
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.CodeOwnersFile", version: "1.32.0" };
|
|
8
8
|
constructor(project, options = {}) {
|
|
9
9
|
const defaultOwners = ['* @macedon-technologies/platform', '* @macedon-technologies/ai-development-team'];
|
|
10
10
|
const allOwners = [...defaultOwners, ...(options.additionalOwners || [])];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IResolver, Project, YamlFile } from 'projen';
|
|
2
|
+
import { WorkflowActionVersions } from './WorkflowActionVersions';
|
|
3
|
+
export interface PrAutoMergeWorkflowOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Overrides for the pinned action versions used by this workflow.
|
|
6
|
+
*/
|
|
7
|
+
readonly actionVersions?: WorkflowActionVersions;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Generates `.github/workflows/pr-auto-merge.yml`, which arms GitHub's native
|
|
11
|
+
* squash auto-merge on every ready pull request into the default branch using a
|
|
12
|
+
* GitHub App installation token. It runs on `pull_request_target` in the `auto-merge` environment,
|
|
13
|
+
* which holds the `AUTO_MERGE_APP_CLIENT_ID` variable and the `AUTO_MERGE_APP_PRIVATE_KEY` secret, so
|
|
14
|
+
* workflows from pull request branches can't read the key. The job never checks out pull request code.
|
|
15
|
+
*/
|
|
16
|
+
export declare class PrAutoMergeWorkflow extends YamlFile {
|
|
17
|
+
constructor(project: Project, options?: PrAutoMergeWorkflowOptions);
|
|
18
|
+
protected synthesizeContent(resolver: IResolver): string | undefined;
|
|
19
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PrAutoMergeWorkflow = void 0;
|
|
4
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
|
+
const projen_1 = require("projen");
|
|
6
|
+
const WorkflowActionVersions_1 = require("./WorkflowActionVersions");
|
|
7
|
+
const PR_AUTO_MERGE_ENVIRONMENT = 'auto-merge';
|
|
8
|
+
const PR_AUTO_MERGE_README_URL = 'https://github.com/macedon-technologies/platform-common/blob/main/projen/README.md#auto-merging-pull-requests-with-a-github-app';
|
|
9
|
+
/**
|
|
10
|
+
* Generates `.github/workflows/pr-auto-merge.yml`, which arms GitHub's native
|
|
11
|
+
* squash auto-merge on every ready pull request into the default branch using a
|
|
12
|
+
* GitHub App installation token. It runs on `pull_request_target` in the `auto-merge` environment,
|
|
13
|
+
* which holds the `AUTO_MERGE_APP_CLIENT_ID` variable and the `AUTO_MERGE_APP_PRIVATE_KEY` secret, so
|
|
14
|
+
* workflows from pull request branches can't read the key. The job never checks out pull request code.
|
|
15
|
+
*/
|
|
16
|
+
class PrAutoMergeWorkflow extends projen_1.YamlFile {
|
|
17
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.PrAutoMergeWorkflow", version: "1.32.0" };
|
|
18
|
+
constructor(project, options = {}) {
|
|
19
|
+
const actionVersions = (0, WorkflowActionVersions_1.resolveActionVersions)(options.actionVersions);
|
|
20
|
+
super(project, '.github/workflows/pr-auto-merge.yml', {
|
|
21
|
+
marker: true,
|
|
22
|
+
readonly: true,
|
|
23
|
+
obj: {
|
|
24
|
+
name: 'pr-auto-merge',
|
|
25
|
+
on: {
|
|
26
|
+
pull_request_target: {
|
|
27
|
+
types: ['opened', 'reopened', 'ready_for_review'],
|
|
28
|
+
},
|
|
29
|
+
},
|
|
30
|
+
jobs: {
|
|
31
|
+
'enable-auto-merge': {
|
|
32
|
+
'runs-on': 'ubuntu-latest',
|
|
33
|
+
'environment': PR_AUTO_MERGE_ENVIRONMENT,
|
|
34
|
+
'permissions': {
|
|
35
|
+
contents: 'read',
|
|
36
|
+
},
|
|
37
|
+
'if': 'github.event.pull_request.draft == false && github.event.pull_request.base.ref == github.event.repository.default_branch',
|
|
38
|
+
'steps': [
|
|
39
|
+
{
|
|
40
|
+
name: 'Check the app credentials are configured',
|
|
41
|
+
env: {
|
|
42
|
+
CLIENT_ID: '${{ vars.AUTO_MERGE_APP_CLIENT_ID }}',
|
|
43
|
+
PRIVATE_KEY: '${{ secrets.AUTO_MERGE_APP_PRIVATE_KEY }}',
|
|
44
|
+
},
|
|
45
|
+
run: [
|
|
46
|
+
'if [ -z "$CLIENT_ID" ] || [ -z "$PRIVATE_KEY" ]; then',
|
|
47
|
+
` echo "::error::Auto-merge needs a GitHub App. Set the AUTO_MERGE_APP_CLIENT_ID variable and the AUTO_MERGE_APP_PRIVATE_KEY secret on the ${PR_AUTO_MERGE_ENVIRONMENT} environment, see ${PR_AUTO_MERGE_README_URL}"`,
|
|
48
|
+
' exit 1',
|
|
49
|
+
'fi',
|
|
50
|
+
].join('\n'),
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
name: 'Mint a GitHub App installation token',
|
|
54
|
+
id: 'app-token',
|
|
55
|
+
uses: actionVersions.createGithubAppToken,
|
|
56
|
+
with: {
|
|
57
|
+
'client-id': '${{ vars.AUTO_MERGE_APP_CLIENT_ID }}',
|
|
58
|
+
'private-key': '${{ secrets.AUTO_MERGE_APP_PRIVATE_KEY }}',
|
|
59
|
+
'permission-contents': 'write',
|
|
60
|
+
'permission-pull-requests': 'write',
|
|
61
|
+
'permission-workflows': 'write',
|
|
62
|
+
'permission-issues': 'write',
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
name: 'Enable auto-merge',
|
|
67
|
+
env: {
|
|
68
|
+
PR_URL: '${{ github.event.pull_request.html_url }}',
|
|
69
|
+
GITHUB_TOKEN: '${{ steps.app-token.outputs.token }}',
|
|
70
|
+
},
|
|
71
|
+
run: 'gh pr merge --auto --squash "$PR_URL"',
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
synthesizeContent(resolver) {
|
|
80
|
+
return super.synthesizeContent(resolver)?.replace(/^ pull_request_target:$/m, ' pull_request_target: # zizmor: ignore[dangerous-triggers] the job never checks out pull request code');
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.PrAutoMergeWorkflow = PrAutoMergeWorkflow;
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJBdXRvTWVyZ2VXb3JrZmxvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QckF1dG9NZXJnZVdvcmtmbG93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxtQ0FBc0Q7QUFDdEQscUVBQXlGO0FBRXpGLE1BQU0seUJBQXlCLEdBQUcsWUFBWSxDQUFDO0FBQy9DLE1BQU0sd0JBQXdCLEdBQUcsaUlBQWlJLENBQUM7QUFTbks7Ozs7OztHQU1HO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxpQkFBUTs7SUFDL0MsWUFBWSxPQUFnQixFQUFFLFVBQXNDLEVBQUU7UUFDcEUsTUFBTSxjQUFjLEdBQUcsSUFBQSw4Q0FBcUIsRUFBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDckUsS0FBSyxDQUFDLE9BQU8sRUFBRSxxQ0FBcUMsRUFBRTtZQUNwRCxNQUFNLEVBQUUsSUFBSTtZQUNaLFFBQVEsRUFBRSxJQUFJO1lBQ2QsR0FBRyxFQUFFO2dCQUNILElBQUksRUFBRSxlQUFlO2dCQUNyQixFQUFFLEVBQUU7b0JBQ0YsbUJBQW1CLEVBQUU7d0JBQ25CLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRSxVQUFVLEVBQUUsa0JBQWtCLENBQUM7cUJBQ2xEO2lCQUNGO2dCQUNELElBQUksRUFBRTtvQkFDSixtQkFBbUIsRUFBRTt3QkFDbkIsU0FBUyxFQUFFLGVBQWU7d0JBQzFCLGFBQWEsRUFBRSx5QkFBeUI7d0JBQ3hDLGFBQWEsRUFBRTs0QkFDYixRQUFRLEVBQUUsTUFBTTt5QkFDakI7d0JBQ0QsSUFBSSxFQUFFLDBIQUEwSDt3QkFDaEksT0FBTyxFQUFFOzRCQUNQO2dDQUNFLElBQUksRUFBRSwwQ0FBMEM7Z0NBQ2hELEdBQUcsRUFBRTtvQ0FDSCxTQUFTLEVBQUUsc0NBQXNDO29DQUNqRCxXQUFXLEVBQUUsMkNBQTJDO2lDQUN6RDtnQ0FDRCxHQUFHLEVBQUU7b0NBQ0gsdURBQXVEO29DQUN2RCw4SUFBOEkseUJBQXlCLHFCQUFxQix3QkFBd0IsR0FBRztvQ0FDdk4sVUFBVTtvQ0FDVixJQUFJO2lDQUNMLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzs2QkFDYjs0QkFDRDtnQ0FDRSxJQUFJLEVBQUUsc0NBQXNDO2dDQUM1QyxFQUFFLEVBQUUsV0FBVztnQ0FDZixJQUFJLEVBQUUsY0FBYyxDQUFDLG9CQUFvQjtnQ0FDekMsSUFBSSxFQUFFO29DQUNKLFdBQVcsRUFBRSxzQ0FBc0M7b0NBQ25ELGFBQWEsRUFBRSwyQ0FBMkM7b0NBQzFELHFCQUFxQixFQUFFLE9BQU87b0NBQzlCLDBCQUEwQixFQUFFLE9BQU87b0NBQ25DLHNCQUFzQixFQUFFLE9BQU87b0NBQy9CLG1CQUFtQixFQUFFLE9BQU87aUNBQzdCOzZCQUNGOzRCQUNEO2dDQUNFLElBQUksRUFBRSxtQkFBbUI7Z0NBQ3pCLEdBQUcsRUFBRTtvQ0FDSCxNQUFNLEVBQUUsMkNBQTJDO29DQUNuRCxZQUFZLEVBQUUsc0NBQXNDO2lDQUNyRDtnQ0FDRCxHQUFHLEVBQUUsdUNBQXVDOzZCQUM3Qzt5QkFDRjtxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVTLGlCQUFpQixDQUFDLFFBQW1CO1FBQzdDLE9BQU8sS0FBSyxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLE9BQU8sQ0FDL0MsMkJBQTJCLEVBQzNCLHdHQUF3RyxDQUN6RyxDQUFDO0lBQ0osQ0FBQzs7QUFwRUgsa0RBcUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSVJlc29sdmVyLCBQcm9qZWN0LCBZYW1sRmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyByZXNvbHZlQWN0aW9uVmVyc2lvbnMsIFdvcmtmbG93QWN0aW9uVmVyc2lvbnMgfSBmcm9tICcuL1dvcmtmbG93QWN0aW9uVmVyc2lvbnMnO1xuXG5jb25zdCBQUl9BVVRPX01FUkdFX0VOVklST05NRU5UID0gJ2F1dG8tbWVyZ2UnO1xuY29uc3QgUFJfQVVUT19NRVJHRV9SRUFETUVfVVJMID0gJ2h0dHBzOi8vZ2l0aHViLmNvbS9tYWNlZG9uLXRlY2hub2xvZ2llcy9wbGF0Zm9ybS1jb21tb24vYmxvYi9tYWluL3Byb2plbi9SRUFETUUubWQjYXV0by1tZXJnaW5nLXB1bGwtcmVxdWVzdHMtd2l0aC1hLWdpdGh1Yi1hcHAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByQXV0b01lcmdlV29ya2Zsb3dPcHRpb25zIHtcbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBmb3IgdGhlIHBpbm5lZCBhY3Rpb24gdmVyc2lvbnMgdXNlZCBieSB0aGlzIHdvcmtmbG93LlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aW9uVmVyc2lvbnM/OiBXb3JrZmxvd0FjdGlvblZlcnNpb25zO1xufVxuXG4vKipcbiAqIEdlbmVyYXRlcyBgLmdpdGh1Yi93b3JrZmxvd3MvcHItYXV0by1tZXJnZS55bWxgLCB3aGljaCBhcm1zIEdpdEh1YidzIG5hdGl2ZVxuICogc3F1YXNoIGF1dG8tbWVyZ2Ugb24gZXZlcnkgcmVhZHkgcHVsbCByZXF1ZXN0IGludG8gdGhlIGRlZmF1bHQgYnJhbmNoIHVzaW5nIGFcbiAqIEdpdEh1YiBBcHAgaW5zdGFsbGF0aW9uIHRva2VuLiBJdCBydW5zIG9uIGBwdWxsX3JlcXVlc3RfdGFyZ2V0YCBpbiB0aGUgYGF1dG8tbWVyZ2VgIGVudmlyb25tZW50LFxuICogd2hpY2ggaG9sZHMgdGhlIGBBVVRPX01FUkdFX0FQUF9DTElFTlRfSURgIHZhcmlhYmxlIGFuZCB0aGUgYEFVVE9fTUVSR0VfQVBQX1BSSVZBVEVfS0VZYCBzZWNyZXQsIHNvXG4gKiB3b3JrZmxvd3MgZnJvbSBwdWxsIHJlcXVlc3QgYnJhbmNoZXMgY2FuJ3QgcmVhZCB0aGUga2V5LiBUaGUgam9iIG5ldmVyIGNoZWNrcyBvdXQgcHVsbCByZXF1ZXN0IGNvZGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBQckF1dG9NZXJnZVdvcmtmbG93IGV4dGVuZHMgWWFtbEZpbGUge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBQckF1dG9NZXJnZVdvcmtmbG93T3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgYWN0aW9uVmVyc2lvbnMgPSByZXNvbHZlQWN0aW9uVmVyc2lvbnMob3B0aW9ucy5hY3Rpb25WZXJzaW9ucyk7XG4gICAgc3VwZXIocHJvamVjdCwgJy5naXRodWIvd29ya2Zsb3dzL3ByLWF1dG8tbWVyZ2UueW1sJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgcmVhZG9ubHk6IHRydWUsXG4gICAgICBvYmo6IHtcbiAgICAgICAgbmFtZTogJ3ByLWF1dG8tbWVyZ2UnLFxuICAgICAgICBvbjoge1xuICAgICAgICAgIHB1bGxfcmVxdWVzdF90YXJnZXQ6IHtcbiAgICAgICAgICAgIHR5cGVzOiBbJ29wZW5lZCcsICdyZW9wZW5lZCcsICdyZWFkeV9mb3JfcmV2aWV3J10sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAgam9iczoge1xuICAgICAgICAgICdlbmFibGUtYXV0by1tZXJnZSc6IHtcbiAgICAgICAgICAgICdydW5zLW9uJzogJ3VidW50dS1sYXRlc3QnLFxuICAgICAgICAgICAgJ2Vudmlyb25tZW50JzogUFJfQVVUT19NRVJHRV9FTlZJUk9OTUVOVCxcbiAgICAgICAgICAgICdwZXJtaXNzaW9ucyc6IHtcbiAgICAgICAgICAgICAgY29udGVudHM6ICdyZWFkJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAnaWYnOiAnZ2l0aHViLmV2ZW50LnB1bGxfcmVxdWVzdC5kcmFmdCA9PSBmYWxzZSAmJiBnaXRodWIuZXZlbnQucHVsbF9yZXF1ZXN0LmJhc2UucmVmID09IGdpdGh1Yi5ldmVudC5yZXBvc2l0b3J5LmRlZmF1bHRfYnJhbmNoJyxcbiAgICAgICAgICAgICdzdGVwcyc6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdDaGVjayB0aGUgYXBwIGNyZWRlbnRpYWxzIGFyZSBjb25maWd1cmVkJyxcbiAgICAgICAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgICAgICAgIENMSUVOVF9JRDogJyR7eyB2YXJzLkFVVE9fTUVSR0VfQVBQX0NMSUVOVF9JRCB9fScsXG4gICAgICAgICAgICAgICAgICBQUklWQVRFX0tFWTogJyR7eyBzZWNyZXRzLkFVVE9fTUVSR0VfQVBQX1BSSVZBVEVfS0VZIH19JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgICAgICAgJ2lmIFsgLXogXCIkQ0xJRU5UX0lEXCIgXSB8fCBbIC16IFwiJFBSSVZBVEVfS0VZXCIgXTsgdGhlbicsXG4gICAgICAgICAgICAgICAgICBgICBlY2hvIFwiOjplcnJvcjo6QXV0by1tZXJnZSBuZWVkcyBhIEdpdEh1YiBBcHAuIFNldCB0aGUgQVVUT19NRVJHRV9BUFBfQ0xJRU5UX0lEIHZhcmlhYmxlIGFuZCB0aGUgQVVUT19NRVJHRV9BUFBfUFJJVkFURV9LRVkgc2VjcmV0IG9uIHRoZSAke1BSX0FVVE9fTUVSR0VfRU5WSVJPTk1FTlR9IGVudmlyb25tZW50LCBzZWUgJHtQUl9BVVRPX01FUkdFX1JFQURNRV9VUkx9XCJgLFxuICAgICAgICAgICAgICAgICAgJyAgZXhpdCAxJyxcbiAgICAgICAgICAgICAgICAgICdmaScsXG4gICAgICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdNaW50IGEgR2l0SHViIEFwcCBpbnN0YWxsYXRpb24gdG9rZW4nLFxuICAgICAgICAgICAgICAgIGlkOiAnYXBwLXRva2VuJyxcbiAgICAgICAgICAgICAgICB1c2VzOiBhY3Rpb25WZXJzaW9ucy5jcmVhdGVHaXRodWJBcHBUb2tlbixcbiAgICAgICAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICAgICAgICAnY2xpZW50LWlkJzogJyR7eyB2YXJzLkFVVE9fTUVSR0VfQVBQX0NMSUVOVF9JRCB9fScsXG4gICAgICAgICAgICAgICAgICAncHJpdmF0ZS1rZXknOiAnJHt7IHNlY3JldHMuQVVUT19NRVJHRV9BUFBfUFJJVkFURV9LRVkgfX0nLFxuICAgICAgICAgICAgICAgICAgJ3Blcm1pc3Npb24tY29udGVudHMnOiAnd3JpdGUnLFxuICAgICAgICAgICAgICAgICAgJ3Blcm1pc3Npb24tcHVsbC1yZXF1ZXN0cyc6ICd3cml0ZScsXG4gICAgICAgICAgICAgICAgICAncGVybWlzc2lvbi13b3JrZmxvd3MnOiAnd3JpdGUnLFxuICAgICAgICAgICAgICAgICAgJ3Blcm1pc3Npb24taXNzdWVzJzogJ3dyaXRlJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbmFtZTogJ0VuYWJsZSBhdXRvLW1lcmdlJyxcbiAgICAgICAgICAgICAgICBlbnY6IHtcbiAgICAgICAgICAgICAgICAgIFBSX1VSTDogJyR7eyBnaXRodWIuZXZlbnQucHVsbF9yZXF1ZXN0Lmh0bWxfdXJsIH19JyxcbiAgICAgICAgICAgICAgICAgIEdJVEhVQl9UT0tFTjogJyR7eyBzdGVwcy5hcHAtdG9rZW4ub3V0cHV0cy50b2tlbiB9fScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBydW46ICdnaCBwciBtZXJnZSAtLWF1dG8gLS1zcXVhc2ggXCIkUFJfVVJMXCInLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzeW50aGVzaXplQ29udGVudChyZXNvbHZlcjogSVJlc29sdmVyKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gc3VwZXIuc3ludGhlc2l6ZUNvbnRlbnQocmVzb2x2ZXIpPy5yZXBsYWNlKFxuICAgICAgL14gIHB1bGxfcmVxdWVzdF90YXJnZXQ6JC9tLFxuICAgICAgJyAgcHVsbF9yZXF1ZXN0X3RhcmdldDogIyB6aXptb3I6IGlnbm9yZVtkYW5nZXJvdXMtdHJpZ2dlcnNdIHRoZSBqb2IgbmV2ZXIgY2hlY2tzIG91dCBwdWxsIHJlcXVlc3QgY29kZScsXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -7,7 +7,7 @@ const javascript_1 = require("projen/lib/javascript");
|
|
|
7
7
|
const utils_1 = require("./utils");
|
|
8
8
|
const WorkflowActionVersions_1 = require("./WorkflowActionVersions");
|
|
9
9
|
class ProductionDeployWorkflow extends projen_1.YamlFile {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.ProductionDeployWorkflow", version: "1.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.ProductionDeployWorkflow", version: "1.32.0" };
|
|
11
11
|
constructor(project, options) {
|
|
12
12
|
const packageManager = project.package.packageManager;
|
|
13
13
|
const actionVersions = (0, WorkflowActionVersions_1.resolveActionVersions)(options.actionVersions);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SoftwareFactoryAttestation = void 0;
|
|
4
4
|
const projen_1 = require("projen");
|
|
5
|
+
const SoftwareFactoryWorkItemSources_1 = require("./SoftwareFactoryWorkItemSources");
|
|
5
6
|
const ATTESTATION_FILE_PATTERN = /^[A-Za-z0-9._@+-]+(\/[A-Za-z0-9._@+-]+)*$/;
|
|
6
7
|
function validateAttestationFile(file) {
|
|
7
8
|
const segments = file.split('/');
|
|
@@ -26,6 +27,7 @@ class SoftwareFactoryAttestation {
|
|
|
26
27
|
'workflows/workflow-openspec-plan-verify.yaml',
|
|
27
28
|
'workflows/workflow-openspec-tasks-verify.yaml',
|
|
28
29
|
`models/@swamp/software-factory/${options.repoName}-factory.yaml`,
|
|
30
|
+
SoftwareFactoryWorkItemSources_1.WORK_ITEM_SOURCES_PATH,
|
|
29
31
|
'architecture-rules/rules.json',
|
|
30
32
|
'architecture-rules/check.ts',
|
|
31
33
|
'openspec-gates/check-tasks-complete.ts',
|
|
@@ -235,4 +237,4 @@ class SoftwareFactoryAttestation {
|
|
|
235
237
|
}
|
|
236
238
|
}
|
|
237
239
|
exports.SoftwareFactoryAttestation = SoftwareFactoryAttestation;
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29mdHdhcmVGYWN0b3J5QXR0ZXN0YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU29mdHdhcmVGYWN0b3J5QXR0ZXN0YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQTRDO0FBcUI1QyxNQUFNLHdCQUF3QixHQUFHLDJDQUEyQyxDQUFDO0FBRTdFLFNBQVMsdUJBQXVCLENBQUMsSUFBWTtJQUMzQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2pDLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDOUYsTUFBTSxJQUFJLEtBQUssQ0FDYixrQ0FBa0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsbUVBQW1FO1lBQ3pILG1FQUFtRSxDQUNwRSxDQUFDO0lBQ0osQ0FBQztBQUNILENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFhLDBCQUEwQjtJQUNyQyxZQUFZLE9BQW9CLEVBQUUsT0FBMEM7UUFDMUUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztRQUNsRCxVQUFVLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDNUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDO2dCQUNoQyx1Q0FBdUM7Z0JBQ3ZDLDhDQUE4QztnQkFDOUMsK0NBQStDO2dCQUMvQyxrQ0FBa0MsT0FBTyxDQUFDLFFBQVEsZUFBZTtnQkFDakUsK0JBQStCO2dCQUMvQiw2QkFBNkI7Z0JBQzdCLHdDQUF3QztnQkFDeEMsV0FBVztnQkFDWCx5QkFBeUI7Z0JBQ3pCLHVCQUF1QjtnQkFDdkIsb0JBQW9CO2dCQUNwQixH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M0IsZUFBZSxFQUFFO29CQUNmLE1BQU0sRUFBRSxJQUFJO29CQUNaLE9BQU8sRUFBRSxHQUFHO2lCQUNiO2dCQUNELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztnQkFDakIsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2FBQzFCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBM05ELGdFQTJOQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpzb25GaWxlLCBUZXh0RmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBOb2RlUHJvamVjdCB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29mdHdhcmVGYWN0b3J5QXR0ZXN0YXRpb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBiYXJlIHJlcG8gbmFtZSwgdXNlZCB0byBwb2ludCBNQU5JRkVTVF9GSUxFUyBhdFxuICAgKiBgbW9kZWxzL0Bzd2FtcC9zb2Z0d2FyZS1mYWN0b3J5LzxyZXBvTmFtZT4tZmFjdG9yeS55YW1sYC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcG9OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEV4dHJhIGZpbGVzLCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290LCBhcHBlbmRlZCB0byBNQU5JRkVTVF9GSUxFUyBhZnRlclxuICAgKiB0aGUgZGVmYXVsdHMgc28gdGhlIGF0dGVzdGF0aW9uIGFsc28gY292ZXJzIHRoZSBwcm9qZWN0J3Mgb3duIHZlcmlmaWNhdGlvblxuICAgKiBjb25maWcuIEVhY2ggZW50cnkgbXVzdCBiZSBhIG5vcm1hbGl6ZWQgUE9TSVggcGF0aCBvZiBsZXR0ZXJzLCBkaWdpdHMgYW5kXG4gICAqIGAuX0ArLWAsIHdpdGggbm8gYC5gIG9yIGAuLmAgc2VnbWVudC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBvbmx5IHRoZSBkZWZhdWx0IGZpbGVzXG4gICAqL1xuICByZWFkb25seSBhdHRlc3RhdGlvbkZpbGVzPzogc3RyaW5nW107XG59XG5cbmNvbnN0IEFUVEVTVEFUSU9OX0ZJTEVfUEFUVEVSTiA9IC9eW0EtWmEtejAtOS5fQCstXSsoXFwvW0EtWmEtejAtOS5fQCstXSspKiQvO1xuXG5mdW5jdGlvbiB2YWxpZGF0ZUF0dGVzdGF0aW9uRmlsZShmaWxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgY29uc3Qgc2VnbWVudHMgPSBmaWxlLnNwbGl0KCcvJyk7XG4gIGlmICghQVRURVNUQVRJT05fRklMRV9QQVRURVJOLnRlc3QoZmlsZSkgfHwgc2VnbWVudHMuaW5jbHVkZXMoJy4nKSB8fCBzZWdtZW50cy5pbmNsdWRlcygnLi4nKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGBJbnZhbGlkIGF0dGVzdGF0aW9uRmlsZXMgZW50cnkgJHtKU09OLnN0cmluZ2lmeShmaWxlKX06IGV4cGVjdGVkIGEgbm9ybWFsaXplZCBQT1NJWCBwYXRoIHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QsIGAgK1xuICAgICAgJ3VzaW5nIG9ubHkgbGV0dGVycywgZGlnaXRzIGFuZCAuX0ArLSB3aXRoIG5vIFwiLlwiIG9yIFwiLi5cIiBzZWdtZW50LicsXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSB0YW1wZXItZXZpZGVudCBQUiBhdHRlc3RhdGlvbiBtZWNoYW5pc206IGBtYW5pZmVzdC50c2AgaGFzaGVzIHRoZVxuICogZmlsZXMgdGhhdCBkZXRlcm1pbmUgd2hhdCBwcmUtcHItdmVyaWZ5IGNoZWNrZWQsIGB2ZXJpZnkudHNgIHJlLWNoZWNrc1xuICogdGhvc2UgaGFzaGVzIChwbHVzIGNvbW1pdC9zdGF0dXMvZnJlc2huZXNzKSBhZ2FpbnN0IGEgUFIncyBlbWJlZGRlZFxuICogYDwhLS0gYXR0ZXN0YXRpb24tbWFuaWZlc3QgLS0+YCBibG9jayBhdCBtZXJnZSB0aW1lLiBGdWxseSBnZW5lcmljIGVuZ2luZVxuICogbG9naWMg4oCUIEJhdG1hbiBvd25zIGFuZCBldm9sdmVzIHRoZXNlLCBzbyBib3RoIGFyZSBtYW5hZ2VkIGBUZXh0RmlsZWBzLlxuICovXG5leHBvcnQgY2xhc3MgU29mdHdhcmVGYWN0b3J5QXR0ZXN0YXRpb24ge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogU29mdHdhcmVGYWN0b3J5QXR0ZXN0YXRpb25PcHRpb25zKSB7XG4gICAgY29uc3QgZXh0cmFGaWxlcyA9IG9wdGlvbnMuYXR0ZXN0YXRpb25GaWxlcyA/PyBbXTtcbiAgICBleHRyYUZpbGVzLmZvckVhY2godmFsaWRhdGVBdHRlc3RhdGlvbkZpbGUpO1xuICAgIGNvbnN0IG1hbmlmZXN0RmlsZXMgPSBbLi4ubmV3IFNldChbXG4gICAgICAnd29ya2Zsb3dzL3dvcmtmbG93LXByZS1wci12ZXJpZnkueWFtbCcsXG4gICAgICAnd29ya2Zsb3dzL3dvcmtmbG93LW9wZW5zcGVjLXBsYW4tdmVyaWZ5LnlhbWwnLFxuICAgICAgJ3dvcmtmbG93cy93b3JrZmxvdy1vcGVuc3BlYy10YXNrcy12ZXJpZnkueWFtbCcsXG4gICAgICBgbW9kZWxzL0Bzd2FtcC9zb2Z0d2FyZS1mYWN0b3J5LyR7b3B0aW9ucy5yZXBvTmFtZX0tZmFjdG9yeS55YW1sYCxcbiAgICAgICdhcmNoaXRlY3R1cmUtcnVsZXMvcnVsZXMuanNvbicsXG4gICAgICAnYXJjaGl0ZWN0dXJlLXJ1bGVzL2NoZWNrLnRzJyxcbiAgICAgICdvcGVuc3BlYy1nYXRlcy9jaGVjay10YXNrcy1jb21wbGV0ZS50cycsXG4gICAgICAnQ0xBVURFLm1kJyxcbiAgICAgICdhdHRlc3RhdGlvbi9tYW5pZmVzdC50cycsXG4gICAgICAnYXR0ZXN0YXRpb24vdmVyaWZ5LnRzJyxcbiAgICAgICcucHJvamVuL3Rhc2tzLmpzb24nLFxuICAgICAgLi4uZXh0cmFGaWxlcyxcbiAgICBdKV07XG5cbiAgICBuZXcgVGV4dEZpbGUocHJvamVjdCwgJ2F0dGVzdGF0aW9uL21hbmlmZXN0LnRzJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgbGluZXM6IFtcbiAgICAgICAgJy8qKicsXG4gICAgICAgICcgKiBTaW5nbGUgc291cmNlIG9mIHRydXRoIGZvciB3aGljaCBmaWxlc1xcJyBjb250ZW50IGRldGVybWluZXMgXCJ3YXMgdGhpcyBQUicsXG4gICAgICAgICcgKiBhY3R1YWxseSB2ZXJpZmllZCBhZ2FpbnN0IHRoZSBydWxlcyBpdCBjbGFpbXMuXCIgSGFzaGVkIGJ5IGJvdGggdGhlJyxcbiAgICAgICAgJyAqIHByZS1wci12ZXJpZnkgd29ya2Zsb3cgKHRvIGVtYmVkIGluIHRoZSBQUlxcJ3MgYXR0ZXN0YXRpb24pIGFuZCB0aGUnLFxuICAgICAgICAnICogdmVyaWZ5LWF0dGVzdGF0aW9uIEdpdEh1YiBBY3Rpb24gKHRvIGNoZWNrIG5vdGhpbmcgZHJpZnRlZCBzaW5jZSkuIEtlZXBpbmcnLFxuICAgICAgICAnICogb25lIGxpc3QgaW4gb25lIGZpbGUgaXMgd2hhdCBrZWVwcyBnZW5lcmF0b3IgYW5kIGNoZWNrZXIgZnJvbSBkaXNhZ3JlZWluZycsXG4gICAgICAgICcgKiBhYm91dCB3aGF0IFwidGhlIGNvbmZpZ1wiIGV2ZW4gaXMuJyxcbiAgICAgICAgJyAqLycsXG4gICAgICAgIFwiaW1wb3J0IHsgY3JlYXRlSGFzaCB9IGZyb20gJ25vZGU6Y3J5cHRvJztcIixcbiAgICAgICAgXCJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tICdub2RlOmZzJztcIixcbiAgICAgICAgXCJpbXBvcnQgeyBqb2luIH0gZnJvbSAnbm9kZTpwYXRoJztcIixcbiAgICAgICAgJycsXG4gICAgICAgICdleHBvcnQgY29uc3QgTUFOSUZFU1RfRklMRVM6IHJlYWRvbmx5IHN0cmluZ1tdID0gWycsXG4gICAgICAgIC4uLm1hbmlmZXN0RmlsZXMubWFwKChmaWxlKSA9PiBgICAnJHtmaWxlfScsYCksXG4gICAgICAgICddOycsXG4gICAgICAgICcnLFxuICAgICAgICAnZXhwb3J0IGludGVyZmFjZSBNYW5pZmVzdCB7JyxcbiAgICAgICAgJyAgZ2VuZXJhdGVkQXQ6IHN0cmluZzsnLFxuICAgICAgICAnICBmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjsnLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICBcImV4cG9ydCBmdW5jdGlvbiBjb21wdXRlTWFuaWZlc3QocmVwb1Jvb3Q6IHN0cmluZyA9IGpvaW4oX19kaXJuYW1lLCAnLi4nKSk6IE1hbmlmZXN0IHtcIixcbiAgICAgICAgJyAgY29uc3QgZmlsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTsnLFxuICAgICAgICAnICBmb3IgKGNvbnN0IHJlbGF0aXZlUGF0aCBvZiBNQU5JRkVTVF9GSUxFUykgeycsXG4gICAgICAgICcgICAgY29uc3QgY29udGVudHMgPSByZWFkRmlsZVN5bmMoam9pbihyZXBvUm9vdCwgcmVsYXRpdmVQYXRoKSk7JyxcbiAgICAgICAgXCIgICAgZmlsZXNbcmVsYXRpdmVQYXRoXSA9IGNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZShjb250ZW50cykuZGlnZXN0KCdoZXgnKTtcIixcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcgIHJldHVybiB7IGdlbmVyYXRlZEF0OiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksIGZpbGVzIH07JyxcbiAgICAgICAgJ30nLFxuICAgICAgICAnJyxcbiAgICAgICAgJ2lmIChyZXF1aXJlLm1haW4gPT09IG1vZHVsZSkgeycsXG4gICAgICAgICcgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KGNvbXB1dGVNYW5pZmVzdCgpLCBudWxsLCAyKSk7JyxcbiAgICAgICAgJ30nLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIG5ldyBUZXh0RmlsZShwcm9qZWN0LCAnYXR0ZXN0YXRpb24vdmVyaWZ5LnRzJywge1xuICAgICAgbWFya2VyOiB0cnVlLFxuICAgICAgbGluZXM6IFtcbiAgICAgICAgJy8qKicsXG4gICAgICAgICcgKiBDaGVja3MgdGhlIGA8IS0tIGF0dGVzdGF0aW9uLW1hbmlmZXN0IC4uLiAtLT5gIGJsb2NrIGEgZmFjdG9yeS1vcGVuZWQgUFInLFxuICAgICAgICAnICogZW1iZWRzIGluIGl0cyBib2R5IChzZWUgdGhlIG9wZW4tcHIgc3RhZ2UgaW4nLFxuICAgICAgICBgICogbW9kZWxzL0Bzd2FtcC9zb2Z0d2FyZS1mYWN0b3J5LyR7b3B0aW9ucy5yZXBvTmFtZX0tZmFjdG9yeS55YW1sKSBhZ2FpbnN0IHJlYWxpdHkgYXQgdGhlYCxcbiAgICAgICAgJyAqIGNvbW1pdCBiZWluZyBtZXJnZWQuIFBlciBzdGFjazcyLmRldi9haS1icm9rZS10aGUtYXNzdW1wdGlvbnMtYmVoaW5kLWNpLzonLFxuICAgICAgICAnICogdGhpcyBwcm92ZXMgdGhlIHZlcmlmaWNhdGlvbi1yZWxldmFudCBjb25maWcgaGFzblxcJ3QgZHJpZnRlZCBzaW5jZSB0aGUnLFxuICAgICAgICAnICogYXR0ZXN0YXRpb24gd2FzIGdlbmVyYXRlZCDigJQgaXQgZG9lcyBOT1QgaW5kZXBlbmRlbnRseSBwcm92ZSB0aGUgdGVzdHMnLFxuICAgICAgICAnICogaW4gdGhhdCBhdHRlc3RhdGlvbiBhY3R1YWxseSByYW4uIFRoYXRcXCdzIGFuIGFjY2VwdGVkIGxpbWl0YXRpb24sIG5vdCBhbicsXG4gICAgICAgICcgKiBvdmVyc2lnaHQ7IHNlZSB0aGUgYXJ0aWNsZSBhbmQgYXR0ZXN0YXRpb24vbWFuaWZlc3QudHNcXCdzIG93biBjb21tZW50LicsXG4gICAgICAgICcgKi8nLFxuICAgICAgICBcImltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1wiLFxuICAgICAgICBcImltcG9ydCB7IGNvbXB1dGVNYW5pZmVzdCwgdHlwZSBNYW5pZmVzdCB9IGZyb20gJy4vbWFuaWZlc3QnO1wiLFxuICAgICAgICAnJyxcbiAgICAgICAgJ2NvbnN0IE1BWF9BR0VfTVMgPSA3ICogMjQgKiA2MCAqIDYwICogMTAwMDsgLy8gNyBkYXlzJyxcbiAgICAgICAgJy8vIEdsb2JhbCwgYW5kIGRlbGliZXJhdGVseSBsb29zZSBhYm91dCB3aGF0XFwncyAqYmV0d2VlbiogdGhlIG1hcmtlciBhbmQgdGhlJyxcbiAgICAgICAgJy8vIGJsb2NrXFwncyBvd24gY2xvc2luZyBcIi0tPlwiIOKAlCBQUiBib2RpZXMgY2FuIChhbmQsIGl0IHR1cm5zIG91dCwgZG8pIG1lbnRpb24nLFxuICAgICAgICAnLy8gdGhlIGxpdGVyYWwgXCI8IS0tIGF0dGVzdGF0aW9uLW1hbmlmZXN0IC0tPlwiIHN5bnRheCBpbiBwcm9zZSBkZXNjcmliaW5nJyxcbiAgICAgICAgJy8vIHRoaXMgbWVjaGFuaXNtLiBFYWNoIG1hdGNoIGlzIGluZGVwZW5kZW50bHkgdmFsaWRhdGVkIGJlbG93OyBhIG1lbnRpb24nLFxuICAgICAgICAnLy8gd2l0aCBubyBKU09OIGluc2lkZSBpdCBpcyBza2lwcGVkIHJhdGhlciB0aGFuIHRyZWF0ZWQgYXMgYSBwYXJzZSBlcnJvci4nLFxuICAgICAgICAnY29uc3QgTUFOSUZFU1RfQkxPQ0tfUkUgPSAvPCEtLVxcXFxzKmF0dGVzdGF0aW9uLW1hbmlmZXN0KFtcXFxcc1xcXFxTXSo/KS0tPi9nOycsXG4gICAgICAgICcnLFxuICAgICAgICAnaW50ZXJmYWNlIEVtYmVkZGVkTWFuaWZlc3QgZXh0ZW5kcyBNYW5pZmVzdCB7JyxcbiAgICAgICAgJyAgY29tbWl0OiBzdHJpbmc7JyxcbiAgICAgICAgJyAgc3RhdHVzOiBzdHJpbmc7JyxcbiAgICAgICAgJ30nLFxuICAgICAgICAnJyxcbiAgICAgICAgJ2Z1bmN0aW9uIGlzRW1iZWRkZWRNYW5pZmVzdCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIEVtYmVkZGVkTWFuaWZlc3QgeycsXG4gICAgICAgICcgIGNvbnN0IGNhbmRpZGF0ZSA9IHZhbHVlIGFzIFBhcnRpYWw8RW1iZWRkZWRNYW5pZmVzdD4gfCBudWxsOycsXG4gICAgICAgICcgIHJldHVybiAoJyxcbiAgICAgICAgXCIgICAgdHlwZW9mIGNhbmRpZGF0ZSA9PT0gJ29iamVjdCcgJiZcIixcbiAgICAgICAgJyAgICBjYW5kaWRhdGUgIT09IG51bGwgJiYnLFxuICAgICAgICBcIiAgICB0eXBlb2YgY2FuZGlkYXRlLmNvbW1pdCA9PT0gJ3N0cmluZycgJiZcIixcbiAgICAgICAgXCIgICAgdHlwZW9mIGNhbmRpZGF0ZS5zdGF0dXMgPT09ICdzdHJpbmcnICYmXCIsXG4gICAgICAgIFwiICAgIHR5cGVvZiBjYW5kaWRhdGUuZ2VuZXJhdGVkQXQgPT09ICdzdHJpbmcnICYmXCIsXG4gICAgICAgIFwiICAgIHR5cGVvZiBjYW5kaWRhdGUuZmlsZXMgPT09ICdvYmplY3QnICYmXCIsXG4gICAgICAgICcgICAgY2FuZGlkYXRlLmZpbGVzICE9PSBudWxsJyxcbiAgICAgICAgJyAgKTsnLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnLy8gQmFsYW5jZWQtYnJhY2Ugc2NhbiByYXRoZXIgdGhhbiBhIHJlZ2V4IGZvciB0aGUgSlNPTiBpdHNlbGY6IHRoZSBtYW5pZmVzdCcsXG4gICAgICAgICcvLyBoYXMgbmVzdGVkIG9iamVjdHMgKGZpbGVzOiB7Li4ufSksIHNvIGEgbm9uLWdyZWVkeSBgXFxcXHsuKj9cXFxcfWAgd291bGQgc3RvcCBhdCcsXG4gICAgICAgICcvLyB0aGUgZmlyc3QgaW5uZXIgXCJ9XCIgaW5zdGVhZCBvZiB0aGUgcmVhbCBlbmQgb2YgdGhlIG9iamVjdC4nLFxuICAgICAgICAnZnVuY3Rpb24gZXh0cmFjdEJhbGFuY2VkSnNvbih0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHsnLFxuICAgICAgICBcIiAgY29uc3Qgc3RhcnQgPSB0ZXh0LmluZGV4T2YoJ3snKTtcIixcbiAgICAgICAgJyAgaWYgKHN0YXJ0ID09PSAtMSkgcmV0dXJuIG51bGw7JyxcbiAgICAgICAgJyAgbGV0IGRlcHRoID0gMDsnLFxuICAgICAgICAnICBmb3IgKGxldCBpID0gc3RhcnQ7IGkgPCB0ZXh0Lmxlbmd0aDsgaSsrKSB7JyxcbiAgICAgICAgXCIgICAgaWYgKHRleHRbaV0gPT09ICd7JykgZGVwdGgrKztcIixcbiAgICAgICAgXCIgICAgZWxzZSBpZiAodGV4dFtpXSA9PT0gJ30nKSB7XCIsXG4gICAgICAgICcgICAgICBkZXB0aC0tOycsXG4gICAgICAgICcgICAgICBpZiAoZGVwdGggPT09IDApIHJldHVybiB0ZXh0LnNsaWNlKHN0YXJ0LCBpICsgMSk7JyxcbiAgICAgICAgJyAgICB9JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcgIHJldHVybiBudWxsOycsXG4gICAgICAgICd9JyxcbiAgICAgICAgJycsXG4gICAgICAgICdmdW5jdGlvbiBleHRyYWN0RW1iZWRkZWRNYW5pZmVzdChib2R5OiBzdHJpbmcpOiBFbWJlZGRlZE1hbmlmZXN0IHsnLFxuICAgICAgICAnICBsZXQgbWF0Y2hlZEFueUJsb2NrID0gZmFsc2U7JyxcbiAgICAgICAgJyAgZm9yIChjb25zdCBtYXRjaCBvZiBib2R5Lm1hdGNoQWxsKE1BTklGRVNUX0JMT0NLX1JFKSkgeycsXG4gICAgICAgICcgICAgbWF0Y2hlZEFueUJsb2NrID0gdHJ1ZTsnLFxuICAgICAgICAnICAgIGNvbnN0IGpzb25UZXh0ID0gZXh0cmFjdEJhbGFuY2VkSnNvbihtYXRjaFsxXSk7JyxcbiAgICAgICAgJyAgICBpZiAoIWpzb25UZXh0KSBjb250aW51ZTsnLFxuICAgICAgICAnICAgIHRyeSB7JyxcbiAgICAgICAgJyAgICAgIGNvbnN0IHBhcnNlZCA9IEpTT04ucGFyc2UoanNvblRleHQpOycsXG4gICAgICAgICcgICAgICBpZiAoaXNFbWJlZGRlZE1hbmlmZXN0KHBhcnNlZCkpIHJldHVybiBwYXJzZWQ7JyxcbiAgICAgICAgJyAgICB9IGNhdGNoIHsnLFxuICAgICAgICAnICAgICAgLy8gTm90IHRoaXMgb25lIOKAlCBrZWVwIGxvb2tpbmcgYXQgdGhlIG5leHQgYXR0ZXN0YXRpb24tbWFuaWZlc3QgbWVudGlvbi4nLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJyAgdGhyb3cgbmV3IEVycm9yKCcsXG4gICAgICAgICcgICAgbWF0Y2hlZEFueUJsb2NrJyxcbiAgICAgICAgXCIgICAgICA/ICdGb3VuZCA8IS0tIGF0dGVzdGF0aW9uLW1hbmlmZXN0IC0tPiBtZW50aW9uKHMpIGluIHRoZSBQUiBib2R5LCBidXQgbm9uZSBjb250YWluZWQgYSBjb21wbGV0ZSwgdmFsaWQgbWFuaWZlc3QuJ1wiLFxuICAgICAgICBcIiAgICAgIDogJ05vIDwhLS0gYXR0ZXN0YXRpb24tbWFuaWZlc3QgLS0+IGJsb2NrIGZvdW5kIGluIHRoZSBQUiBib2R5LiBUaGlzIFBSIHdhcyBuZXZlciB2ZXJpZmllZCBieSAnICtcIixcbiAgICAgICAgJyAgICAgICAgXFwncHJlLXByLXZlcmlmeSAob3IgdGhlIGJsb2NrIHdhcyByZW1vdmVkKSDigJQgcnVuIHRoZSBmYWN0b3J5XFxcXFxcJ3MgcHJlLXByLXZlcmlmeSB3b3JrZmxvdyBhbmQgcmUtb3Blbi91cGRhdGUgdGhlIFBSLlxcJywnLFxuICAgICAgICAnICApOycsXG4gICAgICAgICd9JyxcbiAgICAgICAgJycsXG4gICAgICAgICdmdW5jdGlvbiB2ZXJpZnkocHJCb2R5OiBzdHJpbmcsIGV4cGVjdGVkQ29tbWl0OiBzdHJpbmcpOiBzdHJpbmdbXSB7JyxcbiAgICAgICAgJyAgbGV0IGVtYmVkZGVkOiBFbWJlZGRlZE1hbmlmZXN0OycsXG4gICAgICAgICcgIHRyeSB7JyxcbiAgICAgICAgJyAgICBlbWJlZGRlZCA9IGV4dHJhY3RFbWJlZGRlZE1hbmlmZXN0KHByQm9keSk7JyxcbiAgICAgICAgJyAgfSBjYXRjaCAoZXJyKSB7JyxcbiAgICAgICAgJyAgICByZXR1cm4gW2VyciBpbnN0YW5jZW9mIEVycm9yID8gZXJyLm1lc3NhZ2UgOiBTdHJpbmcoZXJyKV07JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcnLFxuICAgICAgICAnICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIGlmIChlbWJlZGRlZC5jb21taXQgIT09IGV4cGVjdGVkQ29tbWl0KSB7JyxcbiAgICAgICAgJyAgICBlcnJvcnMucHVzaCgnLFxuICAgICAgICAnICAgICAgYEF0dGVzdGF0aW9uIGlzIGZvciBjb21taXQgJHtlbWJlZGRlZC5jb21taXR9LCBidXQgdGhlIFBSXFwncyBoZWFkIGNvbW1pdCBpcyAke2V4cGVjdGVkQ29tbWl0fS4gYCArJyxcbiAgICAgICAgXCIgICAgICAnTmV3IGNvbW1pdHMgd2VyZSBwdXNoZWQgd2l0aG91dCByZS1ydW5uaW5nIHByZS1wci12ZXJpZnkuJyxcIixcbiAgICAgICAgJyAgICApOycsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgXCIgIGlmIChlbWJlZGRlZC5zdGF0dXMgIT09ICdzdWNjZWVkZWQnKSB7XCIsXG4gICAgICAgICcgICAgZXJyb3JzLnB1c2goYEF0dGVzdGF0aW9uIHN0YXR1cyBpcyBcIiR7ZW1iZWRkZWQuc3RhdHVzfVwiLCBub3QgXCJzdWNjZWVkZWRcIi5gKTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIGNvbnN0IGFnZU1zID0gRGF0ZS5ub3coKSAtIERhdGUucGFyc2UoZW1iZWRkZWQuZ2VuZXJhdGVkQXQpOycsXG4gICAgICAgICcgIGlmICghTnVtYmVyLmlzRmluaXRlKGFnZU1zKSkgeycsXG4gICAgICAgICcgICAgZXJyb3JzLnB1c2goYEF0dGVzdGF0aW9uIGdlbmVyYXRlZEF0IChcIiR7ZW1iZWRkZWQuZ2VuZXJhdGVkQXR9XCIpIGlzIG5vdCBhIHBhcnNlYWJsZSB0aW1lc3RhbXAuYCk7JyxcbiAgICAgICAgJyAgfSBlbHNlIGlmIChhZ2VNcyA+IE1BWF9BR0VfTVMpIHsnLFxuICAgICAgICAnICAgIGVycm9ycy5wdXNoKGBBdHRlc3RhdGlvbiBpcyAke01hdGguZmxvb3IoYWdlTXMgLyAoMjQgKiA2MCAqIDYwICogMTAwMCkpfSBkYXlzIG9sZCAobWF4ICR7TUFYX0FHRV9NUyAvICgyNCAqIDYwICogNjAgKiAxMDAwKX0pIOKAlCByZS1ydW4gcHJlLXByLXZlcmlmeS5gKTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIGNvbnN0IGFjdHVhbCA9IGNvbXB1dGVNYW5pZmVzdCgpOycsXG4gICAgICAgICcgIGZvciAoY29uc3QgZmlsZSBvZiBPYmplY3Qua2V5cyhhY3R1YWwuZmlsZXMpKSB7JyxcbiAgICAgICAgJyAgICBpZiAoZW1iZWRkZWQuZmlsZXNbZmlsZV0gIT09IGFjdHVhbC5maWxlc1tmaWxlXSkgeycsXG4gICAgICAgICcgICAgICBlcnJvcnMucHVzaChgJHtmaWxlfSBoYXMgY2hhbmdlZCBzaW5jZSB0aGUgYXR0ZXN0YXRpb24gd2FzIGdlbmVyYXRlZCAoZXhwZWN0ZWQgJHtlbWJlZGRlZC5maWxlc1tmaWxlXSA/PyBcXCdtaXNzaW5nXFwnfSwgZ290ICR7YWN0dWFsLmZpbGVzW2ZpbGVdfSkuYCk7JyxcbiAgICAgICAgJyAgICB9JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcgIGZvciAoY29uc3QgZmlsZSBvZiBPYmplY3Qua2V5cyhlbWJlZGRlZC5maWxlcykpIHsnLFxuICAgICAgICAnICAgIGlmICghKGZpbGUgaW4gYWN0dWFsLmZpbGVzKSkgeycsXG4gICAgICAgICcgICAgICBlcnJvcnMucHVzaChgJHtmaWxlfSBpcyBpbiB0aGUgYXR0ZXN0YXRpb24gbWFuaWZlc3QgYnV0IG5vIGxvbmdlciBpbiB0aGUgY3VycmVudCBmaWxlIGxpc3QgKGF0dGVzdGF0aW9uL21hbmlmZXN0LnRzXFwncyBNQU5JRkVTVF9GSUxFUyBjaGFuZ2VkKS5gKTsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIHJldHVybiBlcnJvcnM7JyxcbiAgICAgICAgJ30nLFxuICAgICAgICAnJyxcbiAgICAgICAgJ2Z1bmN0aW9uIHBhcnNlQXJncyhhcmd2OiBzdHJpbmdbXSk6IHsgYm9keUZpbGU6IHN0cmluZzsgY29tbWl0OiBzdHJpbmcgfSB7JyxcbiAgICAgICAgXCIgIGNvbnN0IGJvZHlGaWxlID0gYXJndlthcmd2LmluZGV4T2YoJy0tYm9keS1maWxlJykgKyAxXTtcIixcbiAgICAgICAgXCIgIGNvbnN0IGNvbW1pdCA9IGFyZ3ZbYXJndi5pbmRleE9mKCctLWNvbW1pdCcpICsgMV07XCIsXG4gICAgICAgICcgIGlmICghYm9keUZpbGUgfHwgIWNvbW1pdCkgeycsXG4gICAgICAgIFwiICAgIHRocm93IG5ldyBFcnJvcignVXNhZ2U6IHZlcmlmeS50cyAtLWJvZHktZmlsZSA8cGF0aD4gLS1jb21taXQgPHNoYT4nKTtcIixcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcgIHJldHVybiB7IGJvZHlGaWxlLCBjb21taXQgfTsnLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnaWYgKHJlcXVpcmUubWFpbiA9PT0gbW9kdWxlKSB7JyxcbiAgICAgICAgJyAgY29uc3QgeyBib2R5RmlsZSwgY29tbWl0IH0gPSBwYXJzZUFyZ3MocHJvY2Vzcy5hcmd2LnNsaWNlKDIpKTsnLFxuICAgICAgICBcIiAgY29uc3QgcHJCb2R5ID0gcmVhZEZpbGVTeW5jKGJvZHlGaWxlLCAndXRmOCcpO1wiLFxuICAgICAgICAnICBjb25zdCBlcnJvcnMgPSB2ZXJpZnkocHJCb2R5LCBjb21taXQpOycsXG4gICAgICAgICcgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkgeycsXG4gICAgICAgIFwiICAgIGNvbnNvbGUuZXJyb3IoJ0F0dGVzdGF0aW9uIHZlcmlmaWNhdGlvbiBmYWlsZWQ6XFxcXG4nKTtcIixcbiAgICAgICAgJyAgICBmb3IgKGNvbnN0IGVycm9yIG9mIGVycm9ycykgeycsXG4gICAgICAgICcgICAgICBjb25zb2xlLmVycm9yKGAgIC0gJHtlcnJvcn1gKTsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnICAgIHByb2Nlc3MuZXhpdCgxKTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJyAgY29uc29sZS5sb2coYEF0dGVzdGF0aW9uIHZlcmlmaWVkOiBjb21taXQgJHtjb21taXR9LCBhbGwgJHtPYmplY3Qua2V5cyhjb21wdXRlTWFuaWZlc3QoKS5maWxlcykubGVuZ3RofSB0cmFja2VkIGZpbGVzIG1hdGNoLmApOycsXG4gICAgICAgICd9JyxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICBuZXcgSnNvbkZpbGUocHJvamVjdCwgJ2F0dGVzdGF0aW9uL3RzY29uZmlnLmpzb24nLCB7XG4gICAgICBtYXJrZXI6IGZhbHNlLFxuICAgICAgb2JqOiB7XG4gICAgICAgIGV4dGVuZHM6ICcuLi90c2NvbmZpZy5qc29uJyxcbiAgICAgICAgY29tcGlsZXJPcHRpb25zOiB7XG4gICAgICAgICAgbm9FbWl0OiB0cnVlLFxuICAgICAgICAgIHJvb3REaXI6ICcuJyxcbiAgICAgICAgfSxcbiAgICAgICAgaW5jbHVkZTogWycqLnRzJ10sXG4gICAgICAgIGV4Y2x1ZGU6IFsnbm9kZV9tb2R1bGVzJ10sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
240
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29mdHdhcmVGYWN0b3J5QXR0ZXN0YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU29mdHdhcmVGYWN0b3J5QXR0ZXN0YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQTRDO0FBRTVDLHFGQUEwRTtBQW9CMUUsTUFBTSx3QkFBd0IsR0FBRywyQ0FBMkMsQ0FBQztBQUU3RSxTQUFTLHVCQUF1QixDQUFDLElBQVk7SUFDM0MsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQzlGLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0NBQWtDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG1FQUFtRTtZQUN6SCxtRUFBbUUsQ0FDcEUsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBYSwwQkFBMEI7SUFDckMsWUFBWSxPQUFvQixFQUFFLE9BQTBDO1FBQzFFLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7UUFDbEQsVUFBVSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQzVDLE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQztnQkFDaEMsdUNBQXVDO2dCQUN2Qyw4Q0FBOEM7Z0JBQzlDLCtDQUErQztnQkFDL0Msa0NBQWtDLE9BQU8sQ0FBQyxRQUFRLGVBQWU7Z0JBQ2pFLHVEQUFzQjtnQkFDdEIsK0JBQStCO2dCQUMvQiw2QkFBNkI7Z0JBQzdCLHdDQUF3QztnQkFDeEMsV0FBVztnQkFDWCx5QkFBeUI7Z0JBQ3pCLHVC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Z0JBQ0gsT0FBTyxFQUFFLGtCQUFrQjtnQkFDM0IsZUFBZSxFQUFFO29CQUNmLE1BQU0sRUFBRSxJQUFJO29CQUNaLE9BQU8sRUFBRSxHQUFHO2lCQUNiO2dCQUNELE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQztnQkFDakIsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO2FBQzFCO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBNU5ELGdFQTROQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpzb25GaWxlLCBUZXh0RmlsZSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBOb2RlUHJvamVjdCB9IGZyb20gJ3Byb2plbi9saWIvamF2YXNjcmlwdCc7XG5pbXBvcnQgeyBXT1JLX0lURU1fU09VUkNFU19QQVRIIH0gZnJvbSAnLi9Tb2Z0d2FyZUZhY3RvcnlXb3JrSXRlbVNvdXJjZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNvZnR3YXJlRmFjdG9yeUF0dGVzdGF0aW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYmFyZSByZXBvIG5hbWUsIHVzZWQgdG8gcG9pbnQgTUFOSUZFU1RfRklMRVMgYXRcbiAgICogYG1vZGVscy9Ac3dhbXAvc29mdHdhcmUtZmFjdG9yeS88cmVwb05hbWU+LWZhY3RvcnkueWFtbGAuXG4gICAqL1xuICByZWFkb25seSByZXBvTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFeHRyYSBmaWxlcywgcmVsYXRpdmUgdG8gdGhlIHByb2plY3Qgcm9vdCwgYXBwZW5kZWQgdG8gTUFOSUZFU1RfRklMRVMgYWZ0ZXJcbiAgICogdGhlIGRlZmF1bHRzIHNvIHRoZSBhdHRlc3RhdGlvbiBhbHNvIGNvdmVycyB0aGUgcHJvamVjdCdzIG93biB2ZXJpZmljYXRpb25cbiAgICogY29uZmlnLiBFYWNoIGVudHJ5IG11c3QgYmUgYSBub3JtYWxpemVkIFBPU0lYIHBhdGggb2YgbGV0dGVycywgZGlnaXRzIGFuZFxuICAgKiBgLl9AKy1gLCB3aXRoIG5vIGAuYCBvciBgLi5gIHNlZ21lbnQuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gb25seSB0aGUgZGVmYXVsdCBmaWxlc1xuICAgKi9cbiAgcmVhZG9ubHkgYXR0ZXN0YXRpb25GaWxlcz86IHN0cmluZ1tdO1xufVxuXG5jb25zdCBBVFRFU1RBVElPTl9GSUxFX1BBVFRFUk4gPSAvXltBLVphLXowLTkuX0ArLV0rKFxcL1tBLVphLXowLTkuX0ArLV0rKSokLztcblxuZnVuY3Rpb24gdmFsaWRhdGVBdHRlc3RhdGlvbkZpbGUoZmlsZTogc3RyaW5nKTogdm9pZCB7XG4gIGNvbnN0IHNlZ21lbnRzID0gZmlsZS5zcGxpdCgnLycpO1xuICBpZiAoIUFUVEVTVEFUSU9OX0ZJTEVfUEFUVEVSTi50ZXN0KGZpbGUpIHx8IHNlZ21lbnRzLmluY2x1ZGVzKCcuJykgfHwgc2VnbWVudHMuaW5jbHVkZXMoJy4uJykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgSW52YWxpZCBhdHRlc3RhdGlvbkZpbGVzIGVudHJ5ICR7SlNPTi5zdHJpbmdpZnkoZmlsZSl9OiBleHBlY3RlZCBhIG5vcm1hbGl6ZWQgUE9TSVggcGF0aCByZWxhdGl2ZSB0byB0aGUgcHJvamVjdCByb290LCBgICtcbiAgICAgICd1c2luZyBvbmx5IGxldHRlcnMsIGRpZ2l0cyBhbmQgLl9AKy0gd2l0aCBubyBcIi5cIiBvciBcIi4uXCIgc2VnbWVudC4nLFxuICAgICk7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgdGFtcGVyLWV2aWRlbnQgUFIgYXR0ZXN0YXRpb24gbWVjaGFuaXNtOiBgbWFuaWZlc3QudHNgIGhhc2hlcyB0aGVcbiAqIGZpbGVzIHRoYXQgZGV0ZXJtaW5lIHdoYXQgcHJlLXByLXZlcmlmeSBjaGVja2VkLCBgdmVyaWZ5LnRzYCByZS1jaGVja3NcbiAqIHRob3NlIGhhc2hlcyAocGx1cyBjb21taXQvc3RhdHVzL2ZyZXNobmVzcykgYWdhaW5zdCBhIFBSJ3MgZW1iZWRkZWRcbiAqIGA8IS0tIGF0dGVzdGF0aW9uLW1hbmlmZXN0IC0tPmAgYmxvY2sgYXQgbWVyZ2UgdGltZS4gRnVsbHkgZ2VuZXJpYyBlbmdpbmVcbiAqIGxvZ2ljIOKAlCBCYXRtYW4gb3ducyBhbmQgZXZvbHZlcyB0aGVzZSwgc28gYm90aCBhcmUgbWFuYWdlZCBgVGV4dEZpbGVgcy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNvZnR3YXJlRmFjdG9yeUF0dGVzdGF0aW9uIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogTm9kZVByb2plY3QsIG9wdGlvbnM6IFNvZnR3YXJlRmFjdG9yeUF0dGVzdGF0aW9uT3B0aW9ucykge1xuICAgIGNvbnN0IGV4dHJhRmlsZXMgPSBvcHRpb25zLmF0dGVzdGF0aW9uRmlsZXMgPz8gW107XG4gICAgZXh0cmFGaWxlcy5mb3JFYWNoKHZhbGlkYXRlQXR0ZXN0YXRpb25GaWxlKTtcbiAgICBjb25zdCBtYW5pZmVzdEZpbGVzID0gWy4uLm5ldyBTZXQoW1xuICAgICAgJ3dvcmtmbG93cy93b3JrZmxvdy1wcmUtcHItdmVyaWZ5LnlhbWwnLFxuICAgICAgJ3dvcmtmbG93cy93b3JrZmxvdy1vcGVuc3BlYy1wbGFuLXZlcmlmeS55YW1sJyxcbiAgICAgICd3b3JrZmxvd3Mvd29ya2Zsb3ctb3BlbnNwZWMtdGFza3MtdmVyaWZ5LnlhbWwnLFxuICAgICAgYG1vZGVscy9Ac3dhbXAvc29mdHdhcmUtZmFjdG9yeS8ke29wdGlvbnMucmVwb05hbWV9LWZhY3RvcnkueWFtbGAsXG4gICAgICBXT1JLX0lURU1fU09VUkNFU19QQVRILFxuICAgICAgJ2FyY2hpdGVjdHVyZS1ydWxlcy9ydWxlcy5qc29uJyxcbiAgICAgICdhcmNoaXRlY3R1cmUtcnVsZXMvY2hlY2sudHMnLFxuICAgICAgJ29wZW5zcGVjLWdhdGVzL2NoZWNrLXRhc2tzLWNvbXBsZXRlLnRzJyxcbiAgICAgICdDTEFVREUubWQnLFxuICAgICAgJ2F0dGVzdGF0aW9uL21hbmlmZXN0LnRzJyxcbiAgICAgICdhdHRlc3RhdGlvbi92ZXJpZnkudHMnLFxuICAgICAgJy5wcm9qZW4vdGFza3MuanNvbicsXG4gICAgICAuLi5leHRyYUZpbGVzLFxuICAgIF0pXTtcblxuICAgIG5ldyBUZXh0RmlsZShwcm9qZWN0LCAnYXR0ZXN0YXRpb24vbWFuaWZlc3QudHMnLCB7XG4gICAgICBtYXJrZXI6IHRydWUsXG4gICAgICBsaW5lczogW1xuICAgICAgICAnLyoqJyxcbiAgICAgICAgJyAqIFNpbmdsZSBzb3VyY2Ugb2YgdHJ1dGggZm9yIHdoaWNoIGZpbGVzXFwnIGNvbnRlbnQgZGV0ZXJtaW5lcyBcIndhcyB0aGlzIFBSJyxcbiAgICAgICAgJyAqIGFjdHVhbGx5IHZlcmlmaWVkIGFnYWluc3QgdGhlIHJ1bGVzIGl0IGNsYWltcy5cIiBIYXNoZWQgYnkgYm90aCB0aGUnLFxuICAgICAgICAnICogcHJlLXByLXZlcmlmeSB3b3JrZmxvdyAodG8gZW1iZWQgaW4gdGhlIFBSXFwncyBhdHRlc3RhdGlvbikgYW5kIHRoZScsXG4gICAgICAgICcgKiB2ZXJpZnktYXR0ZXN0YXRpb24gR2l0SHViIEFjdGlvbiAodG8gY2hlY2sgbm90aGluZyBkcmlmdGVkIHNpbmNlKS4gS2VlcGluZycsXG4gICAgICAgICcgKiBvbmUgbGlzdCBpbiBvbmUgZmlsZSBpcyB3aGF0IGtlZXBzIGdlbmVyYXRvciBhbmQgY2hlY2tlciBmcm9tIGRpc2FncmVlaW5nJyxcbiAgICAgICAgJyAqIGFib3V0IHdoYXQgXCJ0aGUgY29uZmlnXCIgZXZlbiBpcy4nLFxuICAgICAgICAnICovJyxcbiAgICAgICAgXCJpbXBvcnQgeyBjcmVhdGVIYXNoIH0gZnJvbSAnbm9kZTpjcnlwdG8nO1wiLFxuICAgICAgICBcImltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gJ25vZGU6ZnMnO1wiLFxuICAgICAgICBcImltcG9ydCB7IGpvaW4gfSBmcm9tICdub2RlOnBhdGgnO1wiLFxuICAgICAgICAnJyxcbiAgICAgICAgJ2V4cG9ydCBjb25zdCBNQU5JRkVTVF9GSUxFUzogcmVhZG9ubHkgc3RyaW5nW10gPSBbJyxcbiAgICAgICAgLi4ubWFuaWZlc3RGaWxlcy5tYXAoKGZpbGUpID0+IGAgICcke2ZpbGV9JyxgKSxcbiAgICAgICAgJ107JyxcbiAgICAgICAgJycsXG4gICAgICAgICdleHBvcnQgaW50ZXJmYWNlIE1hbmlmZXN0IHsnLFxuICAgICAgICAnICBnZW5lcmF0ZWRBdDogc3RyaW5nOycsXG4gICAgICAgICcgIGZpbGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+OycsXG4gICAgICAgICd9JyxcbiAgICAgICAgJycsXG4gICAgICAgIFwiZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVNYW5pZmVzdChyZXBvUm9vdDogc3RyaW5nID0gam9pbihfX2Rpcm5hbWUsICcuLicpKTogTWFuaWZlc3Qge1wiLFxuICAgICAgICAnICBjb25zdCBmaWxlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9OycsXG4gICAgICAgICcgIGZvciAoY29uc3QgcmVsYXRpdmVQYXRoIG9mIE1BTklGRVNUX0ZJTEVTKSB7JyxcbiAgICAgICAgJyAgICBjb25zdCBjb250ZW50cyA9IHJlYWRGaWxlU3luYyhqb2luKHJlcG9Sb290LCByZWxhdGl2ZVBhdGgpKTsnLFxuICAgICAgICBcIiAgICBmaWxlc1tyZWxhdGl2ZVBhdGhdID0gY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKGNvbnRlbnRzKS5kaWdlc3QoJ2hleCcpO1wiLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJyAgcmV0dXJuIHsgZ2VuZXJhdGVkQXQ6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSwgZmlsZXMgfTsnLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnaWYgKHJlcXVpcmUubWFpbiA9PT0gbW9kdWxlKSB7JyxcbiAgICAgICAgJyAgY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoY29tcHV0ZU1hbmlmZXN0KCksIG51bGwsIDIpKTsnLFxuICAgICAgICAnfScsXG4gICAgICBdLFxuICAgIH0pO1xuXG4gICAgbmV3IFRleHRGaWxlKHByb2plY3QsICdhdHRlc3RhdGlvbi92ZXJpZnkudHMnLCB7XG4gICAgICBtYXJrZXI6IHRydWUsXG4gICAgICBsaW5lczogW1xuICAgICAgICAnLyoqJyxcbiAgICAgICAgJyAqIENoZWNrcyB0aGUgYDwhLS0gYXR0ZXN0YXRpb24tbWFuaWZlc3QgLi4uIC0tPmAgYmxvY2sgYSBmYWN0b3J5LW9wZW5lZCBQUicsXG4gICAgICAgICcgKiBlbWJlZHMgaW4gaXRzIGJvZHkgKHNlZSB0aGUgb3Blbi1wciBzdGFnZSBpbicsXG4gICAgICAgIGAgKiBtb2RlbHMvQHN3YW1wL3NvZnR3YXJlLWZhY3RvcnkvJHtvcHRpb25zLnJlcG9OYW1lfS1mYWN0b3J5LnlhbWwpIGFnYWluc3QgcmVhbGl0eSBhdCB0aGVgLFxuICAgICAgICAnICogY29tbWl0IGJlaW5nIG1lcmdlZC4gUGVyIHN0YWNrNzIuZGV2L2FpLWJyb2tlLXRoZS1hc3N1bXB0aW9ucy1iZWhpbmQtY2kvOicsXG4gICAgICAgICcgKiB0aGlzIHByb3ZlcyB0aGUgdmVyaWZpY2F0aW9uLXJlbGV2YW50IGNvbmZpZyBoYXNuXFwndCBkcmlmdGVkIHNpbmNlIHRoZScsXG4gICAgICAgICcgKiBhdHRlc3RhdGlvbiB3YXMgZ2VuZXJhdGVkIOKAlCBpdCBkb2VzIE5PVCBpbmRlcGVuZGVudGx5IHByb3ZlIHRoZSB0ZXN0cycsXG4gICAgICAgICcgKiBpbiB0aGF0IGF0dGVzdGF0aW9uIGFjdHVhbGx5IHJhbi4gVGhhdFxcJ3MgYW4gYWNjZXB0ZWQgbGltaXRhdGlvbiwgbm90IGFuJyxcbiAgICAgICAgJyAqIG92ZXJzaWdodDsgc2VlIHRoZSBhcnRpY2xlIGFuZCBhdHRlc3RhdGlvbi9tYW5pZmVzdC50c1xcJ3Mgb3duIGNvbW1lbnQuJyxcbiAgICAgICAgJyAqLycsXG4gICAgICAgIFwiaW1wb3J0IHsgcmVhZEZpbGVTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XCIsXG4gICAgICAgIFwiaW1wb3J0IHsgY29tcHV0ZU1hbmlmZXN0LCB0eXBlIE1hbmlmZXN0IH0gZnJvbSAnLi9tYW5pZmVzdCc7XCIsXG4gICAgICAgICcnLFxuICAgICAgICAnY29uc3QgTUFYX0FHRV9NUyA9IDcgKiAyNCAqIDYwICogNjAgKiAxMDAwOyAvLyA3IGRheXMnLFxuICAgICAgICAnLy8gR2xvYmFsLCBhbmQgZGVsaWJlcmF0ZWx5IGxvb3NlIGFib3V0IHdoYXRcXCdzICpiZXR3ZWVuKiB0aGUgbWFya2VyIGFuZCB0aGUnLFxuICAgICAgICAnLy8gYmxvY2tcXCdzIG93biBjbG9zaW5nIFwiLS0+XCIg4oCUIFBSIGJvZGllcyBjYW4gKGFuZCwgaXQgdHVybnMgb3V0LCBkbykgbWVudGlvbicsXG4gICAgICAgICcvLyB0aGUgbGl0ZXJhbCBcIjwhLS0gYXR0ZXN0YXRpb24tbWFuaWZlc3QgLS0+XCIgc3ludGF4IGluIHByb3NlIGRlc2NyaWJpbmcnLFxuICAgICAgICAnLy8gdGhpcyBtZWNoYW5pc20uIEVhY2ggbWF0Y2ggaXMgaW5kZXBlbmRlbnRseSB2YWxpZGF0ZWQgYmVsb3c7IGEgbWVudGlvbicsXG4gICAgICAgICcvLyB3aXRoIG5vIEpTT04gaW5zaWRlIGl0IGlzIHNraXBwZWQgcmF0aGVyIHRoYW4gdHJlYXRlZCBhcyBhIHBhcnNlIGVycm9yLicsXG4gICAgICAgICdjb25zdCBNQU5JRkVTVF9CTE9DS19SRSA9IC88IS0tXFxcXHMqYXR0ZXN0YXRpb24tbWFuaWZlc3QoW1xcXFxzXFxcXFNdKj8pLS0+L2c7JyxcbiAgICAgICAgJycsXG4gICAgICAgICdpbnRlcmZhY2UgRW1iZWRkZWRNYW5pZmVzdCBleHRlbmRzIE1hbmlmZXN0IHsnLFxuICAgICAgICAnICBjb21taXQ6IHN0cmluZzsnLFxuICAgICAgICAnICBzdGF0dXM6IHN0cmluZzsnLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnZnVuY3Rpb24gaXNFbWJlZGRlZE1hbmlmZXN0KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgRW1iZWRkZWRNYW5pZmVzdCB7JyxcbiAgICAgICAgJyAgY29uc3QgY2FuZGlkYXRlID0gdmFsdWUgYXMgUGFydGlhbDxFbWJlZGRlZE1hbmlmZXN0PiB8IG51bGw7JyxcbiAgICAgICAgJyAgcmV0dXJuICgnLFxuICAgICAgICBcIiAgICB0eXBlb2YgY2FuZGlkYXRlID09PSAnb2JqZWN0JyAmJlwiLFxuICAgICAgICAnICAgIGNhbmRpZGF0ZSAhPT0gbnVsbCAmJicsXG4gICAgICAgIFwiICAgIHR5cGVvZiBjYW5kaWRhdGUuY29tbWl0ID09PSAnc3RyaW5nJyAmJlwiLFxuICAgICAgICBcIiAgICB0eXBlb2YgY2FuZGlkYXRlLnN0YXR1cyA9PT0gJ3N0cmluZycgJiZcIixcbiAgICAgICAgXCIgICAgdHlwZW9mIGNhbmRpZGF0ZS5nZW5lcmF0ZWRBdCA9PT0gJ3N0cmluZycgJiZcIixcbiAgICAgICAgXCIgICAgdHlwZW9mIGNhbmRpZGF0ZS5maWxlcyA9PT0gJ29iamVjdCcgJiZcIixcbiAgICAgICAgJyAgICBjYW5kaWRhdGUuZmlsZXMgIT09IG51bGwnLFxuICAgICAgICAnICApOycsXG4gICAgICAgICd9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcvLyBCYWxhbmNlZC1icmFjZSBzY2FuIHJhdGhlciB0aGFuIGEgcmVnZXggZm9yIHRoZSBKU09OIGl0c2VsZjogdGhlIG1hbmlmZXN0JyxcbiAgICAgICAgJy8vIGhhcyBuZXN0ZWQgb2JqZWN0cyAoZmlsZXM6IHsuLi59KSwgc28gYSBub24tZ3JlZWR5IGBcXFxcey4qP1xcXFx9YCB3b3VsZCBzdG9wIGF0JyxcbiAgICAgICAgJy8vIHRoZSBmaXJzdCBpbm5lciBcIn1cIiBpbnN0ZWFkIG9mIHRoZSByZWFsIGVuZCBvZiB0aGUgb2JqZWN0LicsXG4gICAgICAgICdmdW5jdGlvbiBleHRyYWN0QmFsYW5jZWRKc29uKHRleHQ6IHN0cmluZyk6IHN0cmluZyB8IG51bGwgeycsXG4gICAgICAgIFwiICBjb25zdCBzdGFydCA9IHRleHQuaW5kZXhPZigneycpO1wiLFxuICAgICAgICAnICBpZiAoc3RhcnQgPT09IC0xKSByZXR1cm4gbnVsbDsnLFxuICAgICAgICAnICBsZXQgZGVwdGggPSAwOycsXG4gICAgICAgICcgIGZvciAobGV0IGkgPSBzdGFydDsgaSA8IHRleHQubGVuZ3RoOyBpKyspIHsnLFxuICAgICAgICBcIiAgICBpZiAodGV4dFtpXSA9PT0gJ3snKSBkZXB0aCsrO1wiLFxuICAgICAgICBcIiAgICBlbHNlIGlmICh0ZXh0W2ldID09PSAnfScpIHtcIixcbiAgICAgICAgJyAgICAgIGRlcHRoLS07JyxcbiAgICAgICAgJyAgICAgIGlmIChkZXB0aCA9PT0gMCkgcmV0dXJuIHRleHQuc2xpY2Uoc3RhcnQsIGkgKyAxKTsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJyAgcmV0dXJuIG51bGw7JyxcbiAgICAgICAgJ30nLFxuICAgICAgICAnJyxcbiAgICAgICAgJ2Z1bmN0aW9uIGV4dHJhY3RFbWJlZGRlZE1hbmlmZXN0KGJvZHk6IHN0cmluZyk6IEVtYmVkZGVkTWFuaWZlc3QgeycsXG4gICAgICAgICcgIGxldCBtYXRjaGVkQW55QmxvY2sgPSBmYWxzZTsnLFxuICAgICAgICAnICBmb3IgKGNvbnN0IG1hdGNoIG9mIGJvZHkubWF0Y2hBbGwoTUFOSUZFU1RfQkxPQ0tfUkUpKSB7JyxcbiAgICAgICAgJyAgICBtYXRjaGVkQW55QmxvY2sgPSB0cnVlOycsXG4gICAgICAgICcgICAgY29uc3QganNvblRleHQgPSBleHRyYWN0QmFsYW5jZWRKc29uKG1hdGNoWzFdKTsnLFxuICAgICAgICAnICAgIGlmICghanNvblRleHQpIGNvbnRpbnVlOycsXG4gICAgICAgICcgICAgdHJ5IHsnLFxuICAgICAgICAnICAgICAgY29uc3QgcGFyc2VkID0gSlNPTi5wYXJzZShqc29uVGV4dCk7JyxcbiAgICAgICAgJyAgICAgIGlmIChpc0VtYmVkZGVkTWFuaWZlc3QocGFyc2VkKSkgcmV0dXJuIHBhcnNlZDsnLFxuICAgICAgICAnICAgIH0gY2F0Y2ggeycsXG4gICAgICAgICcgICAgICAvLyBOb3QgdGhpcyBvbmUg4oCUIGtlZXAgbG9va2luZyBhdCB0aGUgbmV4dCBhdHRlc3RhdGlvbi1tYW5pZmVzdCBtZW50aW9uLicsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnICB0aHJvdyBuZXcgRXJyb3IoJyxcbiAgICAgICAgJyAgICBtYXRjaGVkQW55QmxvY2snLFxuICAgICAgICBcIiAgICAgID8gJ0ZvdW5kIDwhLS0gYXR0ZXN0YXRpb24tbWFuaWZlc3QgLS0+IG1lbnRpb24ocykgaW4gdGhlIFBSIGJvZHksIGJ1dCBub25lIGNvbnRhaW5lZCBhIGNvbXBsZXRlLCB2YWxpZCBtYW5pZmVzdC4nXCIsXG4gICAgICAgIFwiICAgICAgOiAnTm8gPCEtLSBhdHRlc3RhdGlvbi1tYW5pZmVzdCAtLT4gYmxvY2sgZm91bmQgaW4gdGhlIFBSIGJvZHkuIFRoaXMgUFIgd2FzIG5ldmVyIHZlcmlmaWVkIGJ5ICcgK1wiLFxuICAgICAgICAnICAgICAgICBcXCdwcmUtcHItdmVyaWZ5IChvciB0aGUgYmxvY2sgd2FzIHJlbW92ZWQpIOKAlCBydW4gdGhlIGZhY3RvcnlcXFxcXFwncyBwcmUtcHItdmVyaWZ5IHdvcmtmbG93IGFuZCByZS1vcGVuL3VwZGF0ZSB0aGUgUFIuXFwnLCcsXG4gICAgICAgICcgICk7JyxcbiAgICAgICAgJ30nLFxuICAgICAgICAnJyxcbiAgICAgICAgJ2Z1bmN0aW9uIHZlcmlmeShwckJvZHk6IHN0cmluZywgZXhwZWN0ZWRDb21taXQ6IHN0cmluZyk6IHN0cmluZ1tdIHsnLFxuICAgICAgICAnICBsZXQgZW1iZWRkZWQ6IEVtYmVkZGVkTWFuaWZlc3Q7JyxcbiAgICAgICAgJyAgdHJ5IHsnLFxuICAgICAgICAnICAgIGVtYmVkZGVkID0gZXh0cmFjdEVtYmVkZGVkTWFuaWZlc3QocHJCb2R5KTsnLFxuICAgICAgICAnICB9IGNhdGNoIChlcnIpIHsnLFxuICAgICAgICAnICAgIHJldHVybiBbZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6IFN0cmluZyhlcnIpXTsnLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJycsXG4gICAgICAgICcgIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTsnLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgaWYgKGVtYmVkZGVkLmNvbW1pdCAhPT0gZXhwZWN0ZWRDb21taXQpIHsnLFxuICAgICAgICAnICAgIGVycm9ycy5wdXNoKCcsXG4gICAgICAgICcgICAgICBgQXR0ZXN0YXRpb24gaXMgZm9yIGNvbW1pdCAke2VtYmVkZGVkLmNvbW1pdH0sIGJ1dCB0aGUgUFJcXCdzIGhlYWQgY29tbWl0IGlzICR7ZXhwZWN0ZWRDb21taXR9LiBgICsnLFxuICAgICAgICBcIiAgICAgICdOZXcgY29tbWl0cyB3ZXJlIHB1c2hlZCB3aXRob3V0IHJlLXJ1bm5pbmcgcHJlLXByLXZlcmlmeS4nLFwiLFxuICAgICAgICAnICAgICk7JyxcbiAgICAgICAgJyAgfScsXG4gICAgICAgICcnLFxuICAgICAgICBcIiAgaWYgKGVtYmVkZGVkLnN0YXR1cyAhPT0gJ3N1Y2NlZWRlZCcpIHtcIixcbiAgICAgICAgJyAgICBlcnJvcnMucHVzaChgQXR0ZXN0YXRpb24gc3RhdHVzIGlzIFwiJHtlbWJlZGRlZC5zdGF0dXN9XCIsIG5vdCBcInN1Y2NlZWRlZFwiLmApOycsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgY29uc3QgYWdlTXMgPSBEYXRlLm5vdygpIC0gRGF0ZS5wYXJzZShlbWJlZGRlZC5nZW5lcmF0ZWRBdCk7JyxcbiAgICAgICAgJyAgaWYgKCFOdW1iZXIuaXNGaW5pdGUoYWdlTXMpKSB7JyxcbiAgICAgICAgJyAgICBlcnJvcnMucHVzaChgQXR0ZXN0YXRpb24gZ2VuZXJhdGVkQXQgKFwiJHtlbWJlZGRlZC5nZW5lcmF0ZWRBdH1cIikgaXMgbm90IGEgcGFyc2VhYmxlIHRpbWVzdGFtcC5gKTsnLFxuICAgICAgICAnICB9IGVsc2UgaWYgKGFnZU1zID4gTUFYX0FHRV9NUykgeycsXG4gICAgICAgICcgICAgZXJyb3JzLnB1c2goYEF0dGVzdGF0aW9uIGlzICR7TWF0aC5mbG9vcihhZ2VNcyAvICgyNCAqIDYwICogNjAgKiAxMDAwKSl9IGRheXMgb2xkIChtYXggJHtNQVhfQUdFX01TIC8gKDI0ICogNjAgKiA2MCAqIDEwMDApfSkg4oCUIHJlLXJ1biBwcmUtcHItdmVyaWZ5LmApOycsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgY29uc3QgYWN0dWFsID0gY29tcHV0ZU1hbmlmZXN0KCk7JyxcbiAgICAgICAgJyAgZm9yIChjb25zdCBmaWxlIG9mIE9iamVjdC5rZXlzKGFjdHVhbC5maWxlcykpIHsnLFxuICAgICAgICAnICAgIGlmIChlbWJlZGRlZC5maWxlc1tmaWxlXSAhPT0gYWN0dWFsLmZpbGVzW2ZpbGVdKSB7JyxcbiAgICAgICAgJyAgICAgIGVycm9ycy5wdXNoKGAke2ZpbGV9IGhhcyBjaGFuZ2VkIHNpbmNlIHRoZSBhdHRlc3RhdGlvbiB3YXMgZ2VuZXJhdGVkIChleHBlY3RlZCAke2VtYmVkZGVkLmZpbGVzW2ZpbGVdID8/IFxcJ21pc3NpbmdcXCd9LCBnb3QgJHthY3R1YWwuZmlsZXNbZmlsZV19KS5gKTsnLFxuICAgICAgICAnICAgIH0nLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJyAgZm9yIChjb25zdCBmaWxlIG9mIE9iamVjdC5rZXlzKGVtYmVkZGVkLmZpbGVzKSkgeycsXG4gICAgICAgICcgICAgaWYgKCEoZmlsZSBpbiBhY3R1YWwuZmlsZXMpKSB7JyxcbiAgICAgICAgJyAgICAgIGVycm9ycy5wdXNoKGAke2ZpbGV9IGlzIGluIHRoZSBhdHRlc3RhdGlvbiBtYW5pZmVzdCBidXQgbm8gbG9uZ2VyIGluIHRoZSBjdXJyZW50IGZpbGUgbGlzdCAoYXR0ZXN0YXRpb24vbWFuaWZlc3QudHNcXCdzIE1BTklGRVNUX0ZJTEVTIGNoYW5nZWQpLmApOycsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnJyxcbiAgICAgICAgJyAgcmV0dXJuIGVycm9yczsnLFxuICAgICAgICAnfScsXG4gICAgICAgICcnLFxuICAgICAgICAnZnVuY3Rpb24gcGFyc2VBcmdzKGFyZ3Y6IHN0cmluZ1tdKTogeyBib2R5RmlsZTogc3RyaW5nOyBjb21taXQ6IHN0cmluZyB9IHsnLFxuICAgICAgICBcIiAgY29uc3QgYm9keUZpbGUgPSBhcmd2W2FyZ3YuaW5kZXhPZignLS1ib2R5LWZpbGUnKSArIDFdO1wiLFxuICAgICAgICBcIiAgY29uc3QgY29tbWl0ID0gYXJndlthcmd2LmluZGV4T2YoJy0tY29tbWl0JykgKyAxXTtcIixcbiAgICAgICAgJyAgaWYgKCFib2R5RmlsZSB8fCAhY29tbWl0KSB7JyxcbiAgICAgICAgXCIgICAgdGhyb3cgbmV3IEVycm9yKCdVc2FnZTogdmVyaWZ5LnRzIC0tYm9keS1maWxlIDxwYXRoPiAtLWNvbW1pdCA8c2hhPicpO1wiLFxuICAgICAgICAnICB9JyxcbiAgICAgICAgJyAgcmV0dXJuIHsgYm9keUZpbGUsIGNvbW1pdCB9OycsXG4gICAgICAgICd9JyxcbiAgICAgICAgJycsXG4gICAgICAgICdpZiAocmVxdWlyZS5tYWluID09PSBtb2R1bGUpIHsnLFxuICAgICAgICAnICBjb25zdCB7IGJvZHlGaWxlLCBjb21taXQgfSA9IHBhcnNlQXJncyhwcm9jZXNzLmFyZ3Yuc2xpY2UoMikpOycsXG4gICAgICAgIFwiICBjb25zdCBwckJvZHkgPSByZWFkRmlsZVN5bmMoYm9keUZpbGUsICd1dGY4Jyk7XCIsXG4gICAgICAgICcgIGNvbnN0IGVycm9ycyA9IHZlcmlmeShwckJvZHksIGNvbW1pdCk7JyxcbiAgICAgICAgJyAgaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7JyxcbiAgICAgICAgXCIgICAgY29uc29sZS5lcnJvcignQXR0ZXN0YXRpb24gdmVyaWZpY2F0aW9uIGZhaWxlZDpcXFxcbicpO1wiLFxuICAgICAgICAnICAgIGZvciAoY29uc3QgZXJyb3Igb2YgZXJyb3JzKSB7JyxcbiAgICAgICAgJyAgICAgIGNvbnNvbGUuZXJyb3IoYCAgLSAke2Vycm9yfWApOycsXG4gICAgICAgICcgICAgfScsXG4gICAgICAgICcgICAgcHJvY2Vzcy5leGl0KDEpOycsXG4gICAgICAgICcgIH0nLFxuICAgICAgICAnICBjb25zb2xlLmxvZyhgQXR0ZXN0YXRpb24gdmVyaWZpZWQ6IGNvbW1pdCAke2NvbW1pdH0sIGFsbCAke09iamVjdC5rZXlzKGNvbXB1dGVNYW5pZmVzdCgpLmZpbGVzKS5sZW5ndGh9IHRyYWNrZWQgZmlsZXMgbWF0Y2guYCk7JyxcbiAgICAgICAgJ30nLFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIG5ldyBKc29uRmlsZShwcm9qZWN0LCAnYXR0ZXN0YXRpb24vdHNjb25maWcuanNvbicsIHtcbiAgICAgIG1hcmtlcjogZmFsc2UsXG4gICAgICBvYmo6IHtcbiAgICAgICAgZXh0ZW5kczogJy4uL3RzY29uZmlnLmpzb24nLFxuICAgICAgICBjb21waWxlck9wdGlvbnM6IHtcbiAgICAgICAgICBub0VtaXQ6IHRydWUsXG4gICAgICAgICAgcm9vdERpcjogJy4nLFxuICAgICAgICB9LFxuICAgICAgICBpbmNsdWRlOiBbJyoudHMnXSxcbiAgICAgICAgZXhjbHVkZTogWydub2RlX21vZHVsZXMnXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -8,6 +8,7 @@ const SoftwareFactoryBootstrap_1 = require("./SoftwareFactoryBootstrap");
|
|
|
8
8
|
const SoftwareFactoryModels_1 = require("./SoftwareFactoryModels");
|
|
9
9
|
const SoftwareFactoryOpenSpecGates_1 = require("./SoftwareFactoryOpenSpecGates");
|
|
10
10
|
const SoftwareFactoryWorkflows_1 = require("./SoftwareFactoryWorkflows");
|
|
11
|
+
const SoftwareFactoryWorkItemSources_1 = require("./SoftwareFactoryWorkItemSources");
|
|
11
12
|
const DEFAULT_GITHUB_OWNER = 'macedon-technologies';
|
|
12
13
|
/**
|
|
13
14
|
* Backports exman's swamp "software factory" pattern
|
|
@@ -34,7 +35,7 @@ const DEFAULT_GITHUB_OWNER = 'macedon-technologies';
|
|
|
34
35
|
* workflows that wire them together) is templated.
|
|
35
36
|
*/
|
|
36
37
|
class SoftwareFactoryFiles {
|
|
37
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.SoftwareFactoryFiles", version: "1.
|
|
38
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@macedon-technologies/batman.SoftwareFactoryFiles", version: "1.32.0" };
|
|
38
39
|
constructor(project, options) {
|
|
39
40
|
const { repoName, actionVersions, attestationFiles } = options;
|
|
40
41
|
const githubOwner = options.githubOwner || DEFAULT_GITHUB_OWNER;
|
|
@@ -50,6 +51,7 @@ class SoftwareFactoryFiles {
|
|
|
50
51
|
githubOwner,
|
|
51
52
|
baseBranch,
|
|
52
53
|
});
|
|
54
|
+
new SoftwareFactoryWorkItemSources_1.SoftwareFactoryWorkItemSources(project, { repoName, githubOwner });
|
|
53
55
|
new SoftwareFactoryArchitectureRules_1.SoftwareFactoryArchitectureRules(project);
|
|
54
56
|
new SoftwareFactoryAttestation_1.SoftwareFactoryAttestation(project, { repoName, attestationFiles });
|
|
55
57
|
new SoftwareFactoryOpenSpecGates_1.SoftwareFactoryOpenSpecGates(project);
|
|
@@ -102,4 +104,4 @@ class SoftwareFactoryFiles {
|
|
|
102
104
|
}
|
|
103
105
|
}
|
|
104
106
|
exports.SoftwareFactoryFiles = SoftwareFactoryFiles;
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29mdHdhcmVGYWN0b3J5RmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU29mdHdhcmVGYWN0b3J5RmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLHlGQUFzRjtBQUN0Riw2RUFBMEU7QUFDMUUseUVBQXNFO0FBQ3RFLG1FQUFnRTtBQUNoRSxpRkFBOEU7QUFDOUUseUVBQXNFO0FBR3RFLE1BQU0sb0JBQW9CLEdBQUcsc0JBQXNCLENBQUM7QUF5Q3BEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQWEsb0JBQW9COztJQUMvQixZQUFZLE9BQW9CLEVBQUUsT0FBb0M7UUFDcEUsTUFBTSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDL0QsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxvQkFBb0IsQ0FBQztRQUNoRSxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQztRQUNoRCxNQUFNLFlBQVksR0FBRyxHQUFHLFFBQVEsVUFBVSxDQUFDO1FBQzNDLHNFQUFzRTtRQUN0RSxzRUFBc0U7UUFDdEUsdUVBQXVFO1FBQ3ZFLHlFQUF5RTtRQUN6RSxNQUFNLGFBQWEsR0FBRyxpRUFBaUUsQ0FBQztRQUV4RixJQUFJLDZDQUFxQixDQUFDLE9BQU8sRUFBRTtZQUNqQyxRQUFRO1lBQ1IsV0FBVztZQUNYLFVBQVU7U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLG1FQUFnQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTlDLElBQUksdURBQTBCLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUV4RSxJQUFJLDJEQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLElBQUksbURBQXdCLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFFcEUsSUFBSSxtREFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0QyxPQUFPLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFO1lBQ3ZDLFdBQVcsRUFBRSxxRkFBcUY7WUFDbEcsSUFBSSxFQUFFLGdGQUFnRjtTQUN2RixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsT0FBTyxDQUFDLCtCQUErQixFQUFFO1lBQy9DLFdBQVcsRUFBRSwyRkFBMkY7WUFDeEcsSUFBSSxFQUFFLHVGQUF1RjtZQUM3RixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFO1lBQ3RDLFdBQVcsRUFBRSx3R0FBd0c7WUFDckgsSUFBSSxFQUFFLHFFQUFxRTtTQUM1RSxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFO1lBQ3BDLFdBQVcsRUFBRSx5SEFBeUg7WUFDdEksSUFBSSxFQUFFLG1FQUFtRTtZQUN6RSxXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQ2pDLFdBQVcsRUFBRSwrTEFBK0w7WUFDNU0sS0FBSyxFQUFFO2dCQUNMLEVBQUUsSUFBSSxFQUFFLG9GQUFvRixFQUFFO2dCQUM5RixFQUFFLElBQUksRUFBRSx1Q0FBdUMsWUFBWSxFQUFFLEVBQUU7Z0JBQy9EO29CQUNFLElBQUksRUFBRSwrQkFBK0IsWUFBWSwrQ0FBK0M7aUJBQ2pHO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCx3RUFBd0U7UUFDeEUsd0VBQXdFO1FBQ3hFLHlFQUF5RTtRQUN6RSxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxELHVFQUF1RTtRQUN2RSx3RUFBd0U7UUFDeEUsdUVBQXVFO1FBQ3ZFLG1FQUFtRTtRQUNuRSxvREFBb0Q7UUFDcEQsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNwRCxPQUFPLENBQUMsWUFBWSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O0FBOUVILG9EQStFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVQcm9qZWN0IH0gZnJvbSAncHJvamVuL2xpYi9qYXZhc2NyaXB0JztcbmltcG9ydCB7IFNvZnR3YXJlRmFjdG9yeUFyY2hpdGVjdHVyZVJ1bGVzIH0gZnJvbSAnLi9Tb2Z0d2FyZUZhY3RvcnlBcmNoaXRlY3R1cmVSdWxlcyc7XG5pbXBvcnQgeyBTb2Z0d2FyZUZhY3RvcnlBdHRlc3RhdGlvbiB9IGZyb20gJy4vU29mdHdhcmVGYWN0b3J5QXR0ZXN0YXRpb24nO1xuaW1wb3J0IHsgU29mdHdhcmVGYWN0b3J5Qm9vdHN0cmFwIH0gZnJvbSAnLi9Tb2Z0d2FyZUZhY3RvcnlCb290c3RyYXAnO1xuaW1wb3J0IHsgU29mdHdhcmVGYWN0b3J5TW9kZWxzIH0gZnJvbSAnLi9Tb2Z0d2FyZUZhY3RvcnlNb2RlbHMnO1xuaW1wb3J0IHsgU29mdHdhcmVGYWN0b3J5T3BlblNwZWNHYXRlcyB9IGZyb20gJy4vU29mdHdhcmVGYWN0b3J5T3BlblNwZWNHYXRlcyc7XG5pbXBvcnQgeyBTb2Z0d2FyZUZhY3RvcnlXb3JrZmxvd3MgfSBmcm9tICcuL1NvZnR3YXJlRmFjdG9yeVdvcmtmbG93cyc7XG5pbXBvcnQgeyBXb3JrZmxvd0FjdGlvblZlcnNpb25zIH0gZnJvbSAnLi9Xb3JrZmxvd0FjdGlvblZlcnNpb25zJztcblxuY29uc3QgREVGQVVMVF9HSVRIVUJfT1dORVIgPSAnbWFjZWRvbi10ZWNobm9sb2dpZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNvZnR3YXJlRmFjdG9yeUZpbGVzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYmFyZSByZXBvIG5hbWUgKGUuZy4gYGV4cGVuc2UtdHJhY2tlcmApLCB1c2VkIHRvIGRlcml2ZSB0aGUgZmFjdG9yeSdzXG4gICAqIG1vZGVsIG5hbWVzIChgPHJlcG9OYW1lPi1mYWN0b3J5YCwgYDxyZXBvTmFtZT4taXNzdWVzYCwgYDxyZXBvTmFtZT4tcHJgLFxuICAgKiBgPHJlcG9OYW1lPi1zaGVsbCpgKSBhbmQgdmF1bHQgbmFtZSAoYDxyZXBvTmFtZT4tc2VjcmV0c2ApLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEdpdEh1YiBvcmcvdXNlciB0aGUgcmVwbyBsaXZlcyBpbi5cbiAgICpcbiAgICogQGRlZmF1bHQgJ21hY2Vkb24tdGVjaG5vbG9naWVzJ1xuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViT3duZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBicmFuY2ggdGhlIGZhY3Rvcnkgb3BlbnMgcHVsbCByZXF1ZXN0cyBhZ2FpbnN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAnbWFpbidcbiAgICovXG4gIHJlYWRvbmx5IGJhc2VCcmFuY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBmb3IgdGhlIHBpbm5lZCBhY3Rpb24gdmVyc2lvbnMgdXNlZCBieSBgdmVyaWZ5LWF0dGVzdGF0aW9uLnltbGAuXG4gICAqL1xuICByZWFkb25seSBhY3Rpb25WZXJzaW9ucz86IFdvcmtmbG93QWN0aW9uVmVyc2lvbnM7XG5cbiAgLyoqXG4gICAqIEV4dHJhIGZpbGVzIHRoYXQgdGhlIFBSIGF0dGVzdGF0aW9uIG1hbmlmZXN0IGFsc28gaGFzaGVzLCBzdWNoIGFzIHRoZVxuICAgKiBwcm9qZWN0J3Mgb3duIHZlcmlmaWNhdGlvbiBjaGVja3MuIEVhY2ggZW50cnkgaXMgYW4gZXhhY3QgZmlsZSBwYXRoXG4gICAqIHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QsIGluIG5vcm1hbGl6ZWQgUE9TSVggZm9ybSwgdXNpbmcgb25seVxuICAgKiBsZXR0ZXJzLCBkaWdpdHMgYW5kIGAuX0ArLWAsIHdpdGggbm8gYC5gIG9yIGAuLmAgc2VnbWVudDsgc3ludGggZmFpbHNcbiAgICogb24gYW55IG90aGVyIGVudHJ5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG9ubHkgdGhlIGRlZmF1bHQgZmlsZXNcbiAgICovXG4gIHJlYWRvbmx5IGF0dGVzdGF0aW9uRmlsZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBCYWNrcG9ydHMgZXhtYW4ncyBzd2FtcCBcInNvZnR3YXJlIGZhY3RvcnlcIiBwYXR0ZXJuXG4gKiAobWFjZWRvbi10ZWNobm9sb2dpZXMvZXhtYW4jMTMpIGFzIGdlbmVyYXRlZCBzY2FmZm9sZGluZzogYVxuICogYEBzd2FtcC9zb2Z0d2FyZS1mYWN0b3J5YCBzdGF0ZSBtYWNoaW5lIHRoYXQgZHJpdmVzIGEgR2l0SHViIGlzc3VlIGZyb21cbiAqIGludGFrZSB0aHJvdWdoIGFuIG9wZW5lZCBQUiwgZW5mb3JjaW5nIE9wZW5TcGVjIHVzYWdlLCBhbiBhcmNoaXRlY3R1cmVcbiAqIHJ1bGUgcmVnaXN0cnksIGFuZCBhIHByZS1QUiB2ZXJpZmljYXRpb24gZ2F0ZSB3aG9zZSBhdHRlc3RhdGlvbiBpc1xuICogcmUtY2hlY2tlZCBhdCBtZXJnZSB0aW1lLlxuICpcbiAqIFdoYXQgc3dhbXAgaXRzZWxmIHdvdWxkIGdlbmVyYXRlIChleHRlbnNpb24gZG9jcyBwdWxsZWQgdmlhXG4gKiBgc3dhbXAgZXh0ZW5zaW9uIHB1bGxgLCBgLnN3YW1wLnlhbWxgLCB0aGUgdmF1bHQsIGFuZCB0aGUgXCJzd2FtcCBtYW5hZ2VkXG4gKiBzZWN0aW9uXCIgaW4gQ0xBVURFLm1kKSBpcyBkZWxpYmVyYXRlbHkgTk9UIGhhbmQtdGVtcGxhdGVkIGhlcmUg4oCUIHRob3NlIGFyZVxuICogcHJvZHVjZWQgYnkgdGhlIHJlYWwgYHN3YW1wYCBDTEkuIGBzd2FtcCBpbml0YCBpcyBpZGVtcG90ZW50IChhIG5vLW9wIGlmXG4gKiB0aGUgcmVwbyBpcyBhbHJlYWR5IGluaXRpYWxpemVkKSwgc28gaXQncyB3aXJlZCBpbnRvIHRoZSBwcm9qZWN0J3NcbiAqIGBpbnN0YWxsYC9gaW5zdGFsbDpjaWAgdGFza3MgYW5kIHJ1bnMgYXV0b21hdGljYWxseSBvbiBldmVyeSBpbnN0YWxsLFxuICogZ3VhcmRlZCBzbyBpdCdzIGEgc2lsZW50IG5vLW9wIG9uIGEgbWFjaGluZSB3aXRob3V0IGBzd2FtcGAgb24gUEFUSCAoZS5nLlxuICogQ0kpLiBUaGUgZXh0ZW5zaW9uIHB1bGxzIChhdCB0aGUgdmVyc2lvbnMgcGlubmVkIGluIHRoZSByZXBvJ3NcbiAqIGBleHRlbnNpb25zL21vZGVscy91cHN0cmVhbV9leHRlbnNpb25zLmpzb25gKSBhbmQgdmF1bHQgY3JlYXRpb24gYXJlIG9uZS10aW1lLCBub3QgaWRlbXBvdGVudFxuICogaW4gYSB3YXkgdGhhdCdzIHNhZmUgdG8gcmVwZWF0IG9uIGV2ZXJ5IGluc3RhbGwsIHNvIHRoZXkgc3RheSBpbiB0aGVcbiAqIGBzd2FtcDpib290c3RyYXBgIHRhc2sgdGhpcyBjb25zdHJ1Y3QgYWRkcy4gT25seSBleG1hbidzIG93biBhdXRob3JlZFxuICogY29uZmlnICh0aGUgZmFjdG9yeSdzIHN0YXRlIG1hY2hpbmUsIHRoZSBhcmNoaXRlY3R1cmUtcnVsZSBlbmdpbmUsIHRoZVxuICogYXR0ZXN0YXRpb24gbWVjaGFuaXNtLCB0aGUgT3BlblNwZWMgdGFzay1jb21wbGV0aW9uIGdhdGUsIHRoZSBsb2NrZmlsZS1kcml2ZW5cbiAqIGV4dGVuc2lvbiBwdWxsLCBhbmQgdGhlIDMgc3dhbXBcbiAqIHdvcmtmbG93cyB0aGF0IHdpcmUgdGhlbSB0b2dldGhlcikgaXMgdGVtcGxhdGVkLlxuICovXG5leHBvcnQgY2xhc3MgU29mdHdhcmVGYWN0b3J5RmlsZXMge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogU29mdHdhcmVGYWN0b3J5RmlsZXNPcHRpb25zKSB7XG4gICAgY29uc3QgeyByZXBvTmFtZSwgYWN0aW9uVmVyc2lvbnMsIGF0dGVzdGF0aW9uRmlsZXMgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgZ2l0aHViT3duZXIgPSBvcHRpb25zLmdpdGh1Yk93bmVyIHx8IERFRkFVTFRfR0lUSFVCX09XTkVSO1xuICAgIGNvbnN0IGJhc2VCcmFuY2ggPSBvcHRpb25zLmJhc2VCcmFuY2ggfHwgJ21haW4nO1xuICAgIGNvbnN0IHNlY3JldHNWYXVsdCA9IGAke3JlcG9OYW1lfS1zZWNyZXRzYDtcbiAgICAvLyBBIHNpbmdsZSByZWRpcmVjdCBvbmx5OiBwcm9qZW4ncyBidWlsdC1pbiBjcm9zcy1wbGF0Zm9ybSB0YXNrIHNoZWxsXG4gICAgLy8gKGRheCkgcmVqZWN0cyBhIGNvbW1hbmQgd2l0aCBtb3JlIHRoYW4gb25lIHJlZGlyZWN0IChlLmcuIGNvbWJpbmluZ1xuICAgIC8vIGA+L2Rldi9udWxsYCB3aXRoIGAyPiYxYCkgd2l0aCBcIk11bHRpcGxlIHJlZGlyZWN0cyBhcmUgY3VycmVudGx5IG5vdFxuICAgIC8vIHN1cHBvcnRlZFwiIOKAlCBjb25maXJtZWQgYnkgZG9nZm9vZGluZyB0aGlzIGNvbnN0cnVjdCBvbiB0aGlzIHZlcnkgcmVwby5cbiAgICBjb25zdCBzd2FtcEluaXRTdGVwID0gJ2NvbW1hbmQgLXYgc3dhbXAgPi9kZXYvbnVsbCAmJiBzd2FtcCBpbml0IC0tdG9vbCBjbGF1ZGUgfHwgdHJ1ZSc7XG5cbiAgICBuZXcgU29mdHdhcmVGYWN0b3J5TW9kZWxzKHByb2plY3QsIHtcbiAgICAgIHJlcG9OYW1lLFxuICAgICAgZ2l0aHViT3duZXIsXG4gICAgICBiYXNlQnJhbmNoLFxuICAgIH0pO1xuXG4gICAgbmV3IFNvZnR3YXJlRmFjdG9yeUFyY2hpdGVjdHVyZVJ1bGVzKHByb2plY3QpO1xuXG4gICAgbmV3IFNvZnR3YXJlRmFjdG9yeUF0dGVzdGF0aW9uKHByb2plY3QsIHsgcmVwb05hbWUsIGF0dGVzdGF0aW9uRmlsZXMgfSk7XG5cbiAgICBuZXcgU29mdHdhcmVGYWN0b3J5T3BlblNwZWNHYXRlcyhwcm9qZWN0KTtcblxuICAgIG5ldyBTb2Z0d2FyZUZhY3RvcnlXb3JrZmxvd3MocHJvamVjdCwgeyByZXBvTmFtZSwgYWN0aW9uVmVyc2lvbnMgfSk7XG5cbiAgICBuZXcgU29mdHdhcmVGYWN0b3J5Qm9vdHN0cmFwKHByb2plY3QpO1xuXG4gICAgcHJvamVjdC5hZGRUYXNrKCd2YWxpZGF0ZTphcmNoaXRlY3R1cmUnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1J1biB0aGUgYXJjaGl0ZWN0dXJlIHJ1bGUgcmVnaXN0cnkgKGFyY2hpdGVjdHVyZS1ydWxlcy9ydWxlcy5qc29uKSBhZ2FpbnN0IHRoZSByZXBvJyxcbiAgICAgIGV4ZWM6ICd0cy1ub2RlIC0tcHJvamVjdCBhcmNoaXRlY3R1cmUtcnVsZXMvdHNjb25maWcuanNvbiBhcmNoaXRlY3R1cmUtcnVsZXMvY2hlY2sudHMnLFxuICAgIH0pO1xuXG4gICAgcHJvamVjdC5hZGRUYXNrKCdvcGVuc3BlYzpjaGVjay10YXNrcy1jb21wbGV0ZScsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRmFpbCB1bmxlc3MgZXZlcnkgdGFzayBpbiB0aGUgbmFtZWQgT3BlblNwZWMgY2hhbmdlIGlzIGNvbXBsZXRlICh1c2FnZTogLS0gPGNoYW5nZS1zbHVnPiknLFxuICAgICAgZXhlYzogJ3RzLW5vZGUgLS1wcm9qZWN0IG9wZW5zcGVjLWdhdGVzL3RzY29uZmlnLmpzb24gb3BlbnNwZWMtZ2F0ZXMvY2hlY2stdGFza3MtY29tcGxldGUudHMnLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwcm9qZWN0LmFkZFRhc2soJ2F0dGVzdGF0aW9uOm1hbmlmZXN0Jywge1xuICAgICAgZGVzY3JpcHRpb246ICdQcmludCBTSEEyNTYgY2hlY2tzdW1zIG9mIHRoZSBmaWxlcyBhIFBSIGF0dGVzdGF0aW9uIGlzIHZlcmlmaWVkIGFnYWluc3QgKHNlZSBhdHRlc3RhdGlvbi9tYW5pZmVzdC50cyknLFxuICAgICAgZXhlYzogJ3RzLW5vZGUgLS1wcm9qZWN0IGF0dGVzdGF0aW9uL3RzY29uZmlnLmpzb24gYXR0ZXN0YXRpb24vbWFuaWZlc3QudHMnLFxuICAgIH0pO1xuXG4gICAgcHJvamVjdC5hZGRUYXNrKCdhdHRlc3RhdGlvbjp2ZXJpZnknLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1ZlcmlmeSBhIFBSXFwncyBlbWJlZGRlZCBhdHRlc3RhdGlvbi1tYW5pZmVzdCBhZ2FpbnN0IHRoZSBjdXJyZW50IGNoZWNrb3V0ICh1c2FnZTogLS0gLS1ib2R5LWZpbGUgPHBhdGg+IC0tY29tbWl0IDxzaGE+KScsXG4gICAgICBleGVjOiAndHMtbm9kZSAtLXByb2plY3QgYXR0ZXN0YXRpb24vdHNjb25maWcuanNvbiBhdHRlc3RhdGlvbi92ZXJpZnkudHMnLFxuICAgICAgcmVjZWl2ZUFyZ3M6IHRydWUsXG4gICAgfSk7XG5cbiAgICBwcm9qZWN0LmFkZFRhc2soJ3N3YW1wOmJvb3RzdHJhcCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnT25lLXRpbWUgc2V0dXA6IHB1bGwgdGhlIHN3YW1wIGV4dGVuc2lvbnMgYXQgdGhlIHZlcnNpb25zIHBpbm5lZCBpbiBleHRlbnNpb25zL21vZGVscy91cHN0cmVhbV9leHRlbnNpb25zLmpzb24gYW5kIGNyZWF0ZSB0aGUgc2VjcmV0cyB2YXVsdCAoc3dhbXAgaW5pdCBpdHNlbGYgYWxyZWFkeSBydW5zIG9uIGV2ZXJ5IGluc3RhbGwpJyxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHsgZXhlYzogJ3RzLW5vZGUgLS1wcm9qZWN0IHN3YW1wLWJvb3RzdHJhcC90c2NvbmZpZy5qc29uIHN3YW1wLWJvb3RzdHJhcC9wdWxsLWV4dGVuc2lvbnMudHMnIH0sXG4gICAgICAgIHsgZXhlYzogYHN3YW1wIHZhdWx0IGNyZWF0ZSBsb2NhbF9lbmNyeXB0aW9uICR7c2VjcmV0c1ZhdWx0fWAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGV4ZWM6IGBlY2hvIFwiTmV4dDogc3dhbXAgdmF1bHQgcHV0ICR7c2VjcmV0c1ZhdWx0fSBHSVRIVUJfVE9LRU4gLS1yZWZyZXNoLWZyb20gJ2doIGF1dGggdG9rZW4nXCJgLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcblxuICAgIC8vIGBzd2FtcCBpbml0YCBpcyBzYWZlIHRvIHJlLXJ1biAoaWRlbXBvdGVudCB3aGVuIGFscmVhZHkgaW5pdGlhbGl6ZWQpLFxuICAgIC8vIHNvIGV2ZXJ5IGluc3RhbGwga2VlcHMgdGhlIHJlcG8gaW5pdGlhbGl6ZWQgd2l0aG91dCBhIHNlcGFyYXRlIG1hbnVhbFxuICAgIC8vIHN0ZXAg4oCUIGluY2x1ZGluZyBvbiBhIGZyZXNoIGNsb25lIHRoYXQgaGFzbid0IHJ1biBzd2FtcDpib290c3RyYXAgeWV0LlxuICAgIHByb2plY3QucGFja2FnZS5pbnN0YWxsVGFzay5leGVjKHN3YW1wSW5pdFN0ZXApO1xuICAgIHByb2plY3QucGFja2FnZS5pbnN0YWxsQ2lUYXNrLmV4ZWMoc3dhbXBJbml0U3RlcCk7XG5cbiAgICAvLyBNaXJyb3JzIHRoZSBwYXR0ZXJucyBgc3dhbXAgaW5pdGAgaXRzZWxmIHdvdWxkIGFwcGVuZCB0byAuZ2l0aWdub3JlLlxuICAgIC8vIHByb2plbidzIElnbm9yZUZpbGUgZnVsbHkgcmVnZW5lcmF0ZXMgLmdpdGlnbm9yZSBmcm9tIGl0cyBvd24gdHJhY2tlZFxuICAgIC8vIGVudHJpZXMgb24gZXZlcnkgc3ludGgsIHNvIGFueXRoaW5nIGBzd2FtcCBpbml0YCBhcHBlbmRzIG91dC1vZi1iYW5kXG4gICAgLy8gZ2V0cyBzaWxlbnRseSB3aXBlZCBieSB0aGUgbmV4dCBgbnB4IHByb2plbmAgcnVuIChjYXVnaHQgYnkgQ0knc1xuICAgIC8vIHNlbGYtbXV0YXRpb24gY2hlY2spIHVubGVzcyBpdCdzIGFsc28gYWRkZWQgaGVyZS5cbiAgICBwcm9qZWN0LmFkZEdpdElnbm9yZSgnLnN3YW1wLycpO1xuICAgIHByb2plY3QuYWRkR2l0SWdub3JlKCcuc3dhbXAtc291cmNlcy55YW1sJyk7XG4gICAgcHJvamVjdC5hZGRHaXRJZ25vcmUoJy5jbGF1ZGUvd29ya3RyZWVzLycpO1xuICAgIHByb2plY3QuYWRkR2l0SWdub3JlKCcuY2xhdWRlL3NldHRpbmdzLmxvY2FsLmpzb24nKTtcbiAgICBwcm9qZWN0LmFkZEdpdElnbm9yZSgnLmNsYXVkZS9zY2hlZHVsZWRfdGFza3MubG9jaycpO1xuICAgIHByb2plY3QuYWRkR2l0SWdub3JlKCcuY2xhdWRlL3NjaGVkdWxlZF90YXNrcy5qc29uJyk7XG4gIH1cbn1cbiJdfQ==
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU29mdHdhcmVGYWN0b3J5RmlsZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvU29mdHdhcmVGYWN0b3J5RmlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLHlGQUFzRjtBQUN0Riw2RUFBMEU7QUFDMUUseUVBQXNFO0FBQ3RFLG1FQUFnRTtBQUNoRSxpRkFBOEU7QUFDOUUseUVBQXNFO0FBQ3RFLHFGQUFrRjtBQUdsRixNQUFNLG9CQUFvQixHQUFHLHNCQUFzQixDQUFDO0FBeUNwRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Qkc7QUFDSCxNQUFhLG9CQUFvQjs7SUFDL0IsWUFBWSxPQUFvQixFQUFFLE9BQW9DO1FBQ3BFLE1BQU0sRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQy9ELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLElBQUksb0JBQW9CLENBQUM7UUFDaEUsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUM7UUFDaEQsTUFBTSxZQUFZLEdBQUcsR0FBRyxRQUFRLFVBQVUsQ0FBQztRQUMzQyxzRUFBc0U7UUFDdEUsc0VBQXNFO1FBQ3RFLHVFQUF1RTtRQUN2RSx5RUFBeUU7UUFDekUsTUFBTSxhQUFhLEdBQUcsaUVBQWlFLENBQUM7UUFFeEYsSUFBSSw2Q0FBcUIsQ0FBQyxPQUFPLEVBQUU7WUFDakMsUUFBUTtZQUNSLFdBQVc7WUFDWCxVQUFVO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSwrREFBOEIsQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUV2RSxJQUFJLG1FQUFnQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTlDLElBQUksdURBQTBCLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztRQUV4RSxJQUFJLDJEQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLElBQUksbURBQXdCLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFFcEUsSUFBSSxtREFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUV0QyxPQUFPLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFO1lBQ3ZDLFdBQVcsRUFBRSxxRkFBcUY7WUFDbEcsSUFBSSxFQUFFLGdGQUFnRjtTQUN2RixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsT0FBTyxDQUFDLCtCQUErQixFQUFFO1lBQy9DLFdBQVcsRUFBRSwyRkFBMkY7WUFDeEcsSUFBSSxFQUFFLHVGQUF1RjtZQUM3RixXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFO1lBQ3RDLFdBQVcsRUFBRSx3R0FBd0c7WUFDckgsSUFBSSxFQUFFLHFFQUFxRTtTQUM1RSxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFO1lBQ3BDLFdBQVcsRUFBRSx5SEFBeUg7WUFDdEksSUFBSSxFQUFFLG1FQUFtRTtZQUN6RSxXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsT0FBTyxDQUFDLGlCQUFpQixFQUFFO1lBQ2pDLFdBQVcsRUFBRSwrTEFBK0w7WUFDNU0sS0FBSyxFQUFFO2dCQUNMLEVBQUUsSUFBSSxFQUFFLG9GQUFvRixFQUFFO2dCQUM5RixFQUFFLElBQUksRUFBRSx1Q0FBdUMsWUFBWSxFQUFFLEVBQUU7Z0JBQy9EO29CQUNFLElBQUksRUFBRSwrQkFBK0IsWUFBWSwrQ0FBK0M7aUJBQ2pHO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFFSCx3RUFBd0U7UUFDeEUsd0VBQXdFO1FBQ3hFLHlFQUF5RTtRQUN6RSxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRWxELHVFQUF1RTtRQUN2RSx3RUFBd0U7UUFDeEUsdUVBQXVFO1FBQ3ZFLG1FQUFtRTtRQUNuRSxvREFBb0Q7UUFDcEQsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNoQyxPQUFPLENBQUMsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDNUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzNDLE9BQU8sQ0FBQyxZQUFZLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUNwRCxPQUFPLENBQUMsWUFBWSxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDckQsT0FBTyxDQUFDLFlBQVksQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7O0FBaEZILG9EQWlGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGVQcm9qZWN0IH0gZnJvbSAncHJvamVuL2xpYi9qYXZhc2NyaXB0JztcbmltcG9ydCB7IFNvZnR3YXJlRmFjdG9yeUFyY2hpdGVjdHVyZVJ1bGVzIH0gZnJvbSAnLi9Tb2Z0d2FyZUZhY3RvcnlBcmNoaXRlY3R1cmVSdWxlcyc7XG5pbXBvcnQgeyBTb2Z0d2FyZUZhY3RvcnlBdHRlc3RhdGlvbiB9IGZyb20gJy4vU29mdHdhcmVGYWN0b3J5QXR0ZXN0YXRpb24nO1xuaW1wb3J0IHsgU29mdHdhcmVGYWN0b3J5Qm9vdHN0cmFwIH0gZnJvbSAnLi9Tb2Z0d2FyZUZhY3RvcnlCb290c3RyYXAnO1xuaW1wb3J0IHsgU29mdHdhcmVGYWN0b3J5TW9kZWxzIH0gZnJvbSAnLi9Tb2Z0d2FyZUZhY3RvcnlNb2RlbHMnO1xuaW1wb3J0IHsgU29mdHdhcmVGYWN0b3J5T3BlblNwZWNHYXRlcyB9IGZyb20gJy4vU29mdHdhcmVGYWN0b3J5T3BlblNwZWNHYXRlcyc7XG5pbXBvcnQgeyBTb2Z0d2FyZUZhY3RvcnlXb3JrZmxvd3MgfSBmcm9tICcuL1NvZnR3YXJlRmFjdG9yeVdvcmtmbG93cyc7XG5pbXBvcnQgeyBTb2Z0d2FyZUZhY3RvcnlXb3JrSXRlbVNvdXJjZXMgfSBmcm9tICcuL1NvZnR3YXJlRmFjdG9yeVdvcmtJdGVtU291cmNlcyc7XG5pbXBvcnQgeyBXb3JrZmxvd0FjdGlvblZlcnNpb25zIH0gZnJvbSAnLi9Xb3JrZmxvd0FjdGlvblZlcnNpb25zJztcblxuY29uc3QgREVGQVVMVF9HSVRIVUJfT1dORVIgPSAnbWFjZWRvbi10ZWNobm9sb2dpZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNvZnR3YXJlRmFjdG9yeUZpbGVzT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgYmFyZSByZXBvIG5hbWUgKGUuZy4gYGV4cGVuc2UtdHJhY2tlcmApLCB1c2VkIHRvIGRlcml2ZSB0aGUgZmFjdG9yeSdzXG4gICAqIG1vZGVsIG5hbWVzIChgPHJlcG9OYW1lPi1mYWN0b3J5YCwgYDxyZXBvTmFtZT4taXNzdWVzYCwgYDxyZXBvTmFtZT4tcHJgLFxuICAgKiBgPHJlcG9OYW1lPi1zaGVsbCpgKSBhbmQgdmF1bHQgbmFtZSAoYDxyZXBvTmFtZT4tc2VjcmV0c2ApLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVwb05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEdpdEh1YiBvcmcvdXNlciB0aGUgcmVwbyBsaXZlcyBpbi5cbiAgICpcbiAgICogQGRlZmF1bHQgJ21hY2Vkb24tdGVjaG5vbG9naWVzJ1xuICAgKi9cbiAgcmVhZG9ubHkgZ2l0aHViT3duZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBicmFuY2ggdGhlIGZhY3Rvcnkgb3BlbnMgcHVsbCByZXF1ZXN0cyBhZ2FpbnN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAnbWFpbidcbiAgICovXG4gIHJlYWRvbmx5IGJhc2VCcmFuY2g/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyBmb3IgdGhlIHBpbm5lZCBhY3Rpb24gdmVyc2lvbnMgdXNlZCBieSBgdmVyaWZ5LWF0dGVzdGF0aW9uLnltbGAuXG4gICAqL1xuICByZWFkb25seSBhY3Rpb25WZXJzaW9ucz86IFdvcmtmbG93QWN0aW9uVmVyc2lvbnM7XG5cbiAgLyoqXG4gICAqIEV4dHJhIGZpbGVzIHRoYXQgdGhlIFBSIGF0dGVzdGF0aW9uIG1hbmlmZXN0IGFsc28gaGFzaGVzLCBzdWNoIGFzIHRoZVxuICAgKiBwcm9qZWN0J3Mgb3duIHZlcmlmaWNhdGlvbiBjaGVja3MuIEVhY2ggZW50cnkgaXMgYW4gZXhhY3QgZmlsZSBwYXRoXG4gICAqIHJlbGF0aXZlIHRvIHRoZSBwcm9qZWN0IHJvb3QsIGluIG5vcm1hbGl6ZWQgUE9TSVggZm9ybSwgdXNpbmcgb25seVxuICAgKiBsZXR0ZXJzLCBkaWdpdHMgYW5kIGAuX0ArLWAsIHdpdGggbm8gYC5gIG9yIGAuLmAgc2VnbWVudDsgc3ludGggZmFpbHNcbiAgICogb24gYW55IG90aGVyIGVudHJ5LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG9ubHkgdGhlIGRlZmF1bHQgZmlsZXNcbiAgICovXG4gIHJlYWRvbmx5IGF0dGVzdGF0aW9uRmlsZXM/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBCYWNrcG9ydHMgZXhtYW4ncyBzd2FtcCBcInNvZnR3YXJlIGZhY3RvcnlcIiBwYXR0ZXJuXG4gKiAobWFjZWRvbi10ZWNobm9sb2dpZXMvZXhtYW4jMTMpIGFzIGdlbmVyYXRlZCBzY2FmZm9sZGluZzogYVxuICogYEBzd2FtcC9zb2Z0d2FyZS1mYWN0b3J5YCBzdGF0ZSBtYWNoaW5lIHRoYXQgZHJpdmVzIGEgR2l0SHViIGlzc3VlIGZyb21cbiAqIGludGFrZSB0aHJvdWdoIGFuIG9wZW5lZCBQUiwgZW5mb3JjaW5nIE9wZW5TcGVjIHVzYWdlLCBhbiBhcmNoaXRlY3R1cmVcbiAqIHJ1bGUgcmVnaXN0cnksIGFuZCBhIHByZS1QUiB2ZXJpZmljYXRpb24gZ2F0ZSB3aG9zZSBhdHRlc3RhdGlvbiBpc1xuICogcmUtY2hlY2tlZCBhdCBtZXJnZSB0aW1lLlxuICpcbiAqIFdoYXQgc3dhbXAgaXRzZWxmIHdvdWxkIGdlbmVyYXRlIChleHRlbnNpb24gZG9jcyBwdWxsZWQgdmlhXG4gKiBgc3dhbXAgZXh0ZW5zaW9uIHB1bGxgLCBgLnN3YW1wLnlhbWxgLCB0aGUgdmF1bHQsIGFuZCB0aGUgXCJzd2FtcCBtYW5hZ2VkXG4gKiBzZWN0aW9uXCIgaW4gQ0xBVURFLm1kKSBpcyBkZWxpYmVyYXRlbHkgTk9UIGhhbmQtdGVtcGxhdGVkIGhlcmUg4oCUIHRob3NlIGFyZVxuICogcHJvZHVjZWQgYnkgdGhlIHJlYWwgYHN3YW1wYCBDTEkuIGBzd2FtcCBpbml0YCBpcyBpZGVtcG90ZW50IChhIG5vLW9wIGlmXG4gKiB0aGUgcmVwbyBpcyBhbHJlYWR5IGluaXRpYWxpemVkKSwgc28gaXQncyB3aXJlZCBpbnRvIHRoZSBwcm9qZWN0J3NcbiAqIGBpbnN0YWxsYC9gaW5zdGFsbDpjaWAgdGFza3MgYW5kIHJ1bnMgYXV0b21hdGljYWxseSBvbiBldmVyeSBpbnN0YWxsLFxuICogZ3VhcmRlZCBzbyBpdCdzIGEgc2lsZW50IG5vLW9wIG9uIGEgbWFjaGluZSB3aXRob3V0IGBzd2FtcGAgb24gUEFUSCAoZS5nLlxuICogQ0kpLiBUaGUgZXh0ZW5zaW9uIHB1bGxzIChhdCB0aGUgdmVyc2lvbnMgcGlubmVkIGluIHRoZSByZXBvJ3NcbiAqIGBleHRlbnNpb25zL21vZGVscy91cHN0cmVhbV9leHRlbnNpb25zLmpzb25gKSBhbmQgdmF1bHQgY3JlYXRpb24gYXJlIG9uZS10aW1lLCBub3QgaWRlbXBvdGVudFxuICogaW4gYSB3YXkgdGhhdCdzIHNhZmUgdG8gcmVwZWF0IG9uIGV2ZXJ5IGluc3RhbGwsIHNvIHRoZXkgc3RheSBpbiB0aGVcbiAqIGBzd2FtcDpib290c3RyYXBgIHRhc2sgdGhpcyBjb25zdHJ1Y3QgYWRkcy4gT25seSBleG1hbidzIG93biBhdXRob3JlZFxuICogY29uZmlnICh0aGUgZmFjdG9yeSdzIHN0YXRlIG1hY2hpbmUsIHRoZSBhcmNoaXRlY3R1cmUtcnVsZSBlbmdpbmUsIHRoZVxuICogYXR0ZXN0YXRpb24gbWVjaGFuaXNtLCB0aGUgT3BlblNwZWMgdGFzay1jb21wbGV0aW9uIGdhdGUsIHRoZSBsb2NrZmlsZS1kcml2ZW5cbiAqIGV4dGVuc2lvbiBwdWxsLCBhbmQgdGhlIDMgc3dhbXBcbiAqIHdvcmtmbG93cyB0aGF0IHdpcmUgdGhlbSB0b2dldGhlcikgaXMgdGVtcGxhdGVkLlxuICovXG5leHBvcnQgY2xhc3MgU29mdHdhcmVGYWN0b3J5RmlsZXMge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBOb2RlUHJvamVjdCwgb3B0aW9uczogU29mdHdhcmVGYWN0b3J5RmlsZXNPcHRpb25zKSB7XG4gICAgY29uc3QgeyByZXBvTmFtZSwgYWN0aW9uVmVyc2lvbnMsIGF0dGVzdGF0aW9uRmlsZXMgfSA9IG9wdGlvbnM7XG4gICAgY29uc3QgZ2l0aHViT3duZXIgPSBvcHRpb25zLmdpdGh1Yk93bmVyIHx8IERFRkFVTFRfR0lUSFVCX09XTkVSO1xuICAgIGNvbnN0IGJhc2VCcmFuY2ggPSBvcHRpb25zLmJhc2VCcmFuY2ggfHwgJ21haW4nO1xuICAgIGNvbnN0IHNlY3JldHNWYXVsdCA9IGAke3JlcG9OYW1lfS1zZWNyZXRzYDtcbiAgICAvLyBBIHNpbmdsZSByZWRpcmVjdCBvbmx5OiBwcm9qZW4ncyBidWlsdC1pbiBjcm9zcy1wbGF0Zm9ybSB0YXNrIHNoZWxsXG4gICAgLy8gKGRheCkgcmVqZWN0cyBhIGNvbW1hbmQgd2l0aCBtb3JlIHRoYW4gb25lIHJlZGlyZWN0IChlLmcuIGNvbWJpbmluZ1xuICAgIC8vIGA+L2Rldi9udWxsYCB3aXRoIGAyPiYxYCkgd2l0aCBcIk11bHRpcGxlIHJlZGlyZWN0cyBhcmUgY3VycmVudGx5IG5vdFxuICAgIC8vIHN1cHBvcnRlZFwiIOKAlCBjb25maXJtZWQgYnkgZG9nZm9vZGluZyB0aGlzIGNvbnN0cnVjdCBvbiB0aGlzIHZlcnkgcmVwby5cbiAgICBjb25zdCBzd2FtcEluaXRTdGVwID0gJ2NvbW1hbmQgLXYgc3dhbXAgPi9kZXYvbnVsbCAmJiBzd2FtcCBpbml0IC0tdG9vbCBjbGF1ZGUgfHwgdHJ1ZSc7XG5cbiAgICBuZXcgU29mdHdhcmVGYWN0b3J5TW9kZWxzKHByb2plY3QsIHtcbiAgICAgIHJlcG9OYW1lLFxuICAgICAgZ2l0aHViT3duZXIsXG4gICAgICBiYXNlQnJhbmNoLFxuICAgIH0pO1xuXG4gICAgbmV3IFNvZnR3YXJlRmFjdG9yeVdvcmtJdGVtU291cmNlcyhwcm9qZWN0LCB7IHJlcG9OYW1lLCBnaXRodWJPd25lciB9KTtcblxuICAgIG5ldyBTb2Z0d2FyZUZhY3RvcnlBcmNoaXRlY3R1cmVSdWxlcyhwcm9qZWN0KTtcblxuICAgIG5ldyBTb2Z0d2FyZUZhY3RvcnlBdHRlc3RhdGlvbihwcm9qZWN0LCB7IHJlcG9OYW1lLCBhdHRlc3RhdGlvbkZpbGVzIH0pO1xuXG4gICAgbmV3IFNvZnR3YXJlRmFjdG9yeU9wZW5TcGVjR2F0ZXMocHJvamVjdCk7XG5cbiAgICBuZXcgU29mdHdhcmVGYWN0b3J5V29ya2Zsb3dzKHByb2plY3QsIHsgcmVwb05hbWUsIGFjdGlvblZlcnNpb25zIH0pO1xuXG4gICAgbmV3IFNvZnR3YXJlRmFjdG9yeUJvb3RzdHJhcChwcm9qZWN0KTtcblxuICAgIHByb2plY3QuYWRkVGFzaygndmFsaWRhdGU6YXJjaGl0ZWN0dXJlJywge1xuICAgICAgZGVzY3JpcHRpb246ICdSdW4gdGhlIGFyY2hpdGVjdHVyZSBydWxlIHJlZ2lzdHJ5IChhcmNoaXRlY3R1cmUtcnVsZXMvcnVsZXMuanNvbikgYWdhaW5zdCB0aGUgcmVwbycsXG4gICAgICBleGVjOiAndHMtbm9kZSAtLXByb2plY3QgYXJjaGl0ZWN0dXJlLXJ1bGVzL3RzY29uZmlnLmpzb24gYXJjaGl0ZWN0dXJlLXJ1bGVzL2NoZWNrLnRzJyxcbiAgICB9KTtcblxuICAgIHByb2plY3QuYWRkVGFzaygnb3BlbnNwZWM6Y2hlY2stdGFza3MtY29tcGxldGUnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0ZhaWwgdW5sZXNzIGV2ZXJ5IHRhc2sgaW4gdGhlIG5hbWVkIE9wZW5TcGVjIGNoYW5nZSBpcyBjb21wbGV0ZSAodXNhZ2U6IC0tIDxjaGFuZ2Utc2x1Zz4pJyxcbiAgICAgIGV4ZWM6ICd0cy1ub2RlIC0tcHJvamVjdCBvcGVuc3BlYy1nYXRlcy90c2NvbmZpZy5qc29uIG9wZW5zcGVjLWdhdGVzL2NoZWNrLXRhc2tzLWNvbXBsZXRlLnRzJyxcbiAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgcHJvamVjdC5hZGRUYXNrKCdhdHRlc3RhdGlvbjptYW5pZmVzdCcsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUHJpbnQgU0hBMjU2IGNoZWNrc3VtcyBvZiB0aGUgZmlsZXMgYSBQUiBhdHRlc3RhdGlvbiBpcyB2ZXJpZmllZCBhZ2FpbnN0IChzZWUgYXR0ZXN0YXRpb24vbWFuaWZlc3QudHMpJyxcbiAgICAgIGV4ZWM6ICd0cy1ub2RlIC0tcHJvamVjdCBhdHRlc3RhdGlvbi90c2NvbmZpZy5qc29uIGF0dGVzdGF0aW9uL21hbmlmZXN0LnRzJyxcbiAgICB9KTtcblxuICAgIHByb2plY3QuYWRkVGFzaygnYXR0ZXN0YXRpb246dmVyaWZ5Jywge1xuICAgICAgZGVzY3JpcHRpb246ICdWZXJpZnkgYSBQUlxcJ3MgZW1iZWRkZWQgYXR0ZXN0YXRpb24tbWFuaWZlc3QgYWdhaW5zdCB0aGUgY3VycmVudCBjaGVja291dCAodXNhZ2U6IC0tIC0tYm9keS1maWxlIDxwYXRoPiAtLWNvbW1pdCA8c2hhPiknLFxuICAgICAgZXhlYzogJ3RzLW5vZGUgLS1wcm9qZWN0IGF0dGVzdGF0aW9uL3RzY29uZmlnLmpzb24gYXR0ZXN0YXRpb24vdmVyaWZ5LnRzJyxcbiAgICAgIHJlY2VpdmVBcmdzOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgcHJvamVjdC5hZGRUYXNrKCdzd2FtcDpib290c3RyYXAnLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ09uZS10aW1lIHNldHVwOiBwdWxsIHRoZSBzd2FtcCBleHRlbnNpb25zIGF0IHRoZSB2ZXJzaW9ucyBwaW5uZWQgaW4gZXh0ZW5zaW9ucy9tb2RlbHMvdXBzdHJlYW1fZXh0ZW5zaW9ucy5qc29uIGFuZCBjcmVhdGUgdGhlIHNlY3JldHMgdmF1bHQgKHN3YW1wIGluaXQgaXRzZWxmIGFscmVhZHkgcnVucyBvbiBldmVyeSBpbnN0YWxsKScsXG4gICAgICBzdGVwczogW1xuICAgICAgICB7IGV4ZWM6ICd0cy1ub2RlIC0tcHJvamVjdCBzd2FtcC1ib290c3RyYXAvdHNjb25maWcuanNvbiBzd2FtcC1ib290c3RyYXAvcHVsbC1leHRlbnNpb25zLnRzJyB9LFxuICAgICAgICB7IGV4ZWM6IGBzd2FtcCB2YXVsdCBjcmVhdGUgbG9jYWxfZW5jcnlwdGlvbiAke3NlY3JldHNWYXVsdH1gIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBleGVjOiBgZWNobyBcIk5leHQ6IHN3YW1wIHZhdWx0IHB1dCAke3NlY3JldHNWYXVsdH0gR0lUSFVCX1RPS0VOIC0tcmVmcmVzaC1mcm9tICdnaCBhdXRoIHRva2VuJ1wiYCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG5cbiAgICAvLyBgc3dhbXAgaW5pdGAgaXMgc2FmZSB0byByZS1ydW4gKGlkZW1wb3RlbnQgd2hlbiBhbHJlYWR5IGluaXRpYWxpemVkKSxcbiAgICAvLyBzbyBldmVyeSBpbnN0YWxsIGtlZXBzIHRoZSByZXBvIGluaXRpYWxpemVkIHdpdGhvdXQgYSBzZXBhcmF0ZSBtYW51YWxcbiAgICAvLyBzdGVwIOKAlCBpbmNsdWRpbmcgb24gYSBmcmVzaCBjbG9uZSB0aGF0IGhhc24ndCBydW4gc3dhbXA6Ym9vdHN0cmFwIHlldC5cbiAgICBwcm9qZWN0LnBhY2thZ2UuaW5zdGFsbFRhc2suZXhlYyhzd2FtcEluaXRTdGVwKTtcbiAgICBwcm9qZWN0LnBhY2thZ2UuaW5zdGFsbENpVGFzay5leGVjKHN3YW1wSW5pdFN0ZXApO1xuXG4gICAgLy8gTWlycm9ycyB0aGUgcGF0dGVybnMgYHN3YW1wIGluaXRgIGl0c2VsZiB3b3VsZCBhcHBlbmQgdG8gLmdpdGlnbm9yZS5cbiAgICAvLyBwcm9qZW4ncyBJZ25vcmVGaWxlIGZ1bGx5IHJlZ2VuZXJhdGVzIC5naXRpZ25vcmUgZnJvbSBpdHMgb3duIHRyYWNrZWRcbiAgICAvLyBlbnRyaWVzIG9uIGV2ZXJ5IHN5bnRoLCBzbyBhbnl0aGluZyBgc3dhbXAgaW5pdGAgYXBwZW5kcyBvdXQtb2YtYmFuZFxuICAgIC8vIGdldHMgc2lsZW50bHkgd2lwZWQgYnkgdGhlIG5leHQgYG5weCBwcm9qZW5gIHJ1biAoY2F1Z2h0IGJ5IENJJ3NcbiAgICAvLyBzZWxmLW11dGF0aW9uIGNoZWNrKSB1bmxlc3MgaXQncyBhbHNvIGFkZGVkIGhlcmUuXG4gICAgcHJvamVjdC5hZGRHaXRJZ25vcmUoJy5zd2FtcC8nKTtcbiAgICBwcm9qZWN0LmFkZEdpdElnbm9yZSgnLnN3YW1wLXNvdXJjZXMueWFtbCcpO1xuICAgIHByb2plY3QuYWRkR2l0SWdub3JlKCcuY2xhdWRlL3dvcmt0cmVlcy8nKTtcbiAgICBwcm9qZWN0LmFkZEdpdElnbm9yZSgnLmNsYXVkZS9zZXR0aW5ncy5sb2NhbC5qc29uJyk7XG4gICAgcHJvamVjdC5hZGRHaXRJZ25vcmUoJy5jbGF1ZGUvc2NoZWR1bGVkX3Rhc2tzLmxvY2snKTtcbiAgICBwcm9qZWN0LmFkZEdpdElnbm9yZSgnLmNsYXVkZS9zY2hlZHVsZWRfdGFza3MuanNvbicpO1xuICB9XG59XG4iXX0=
|