@pipeline-builder/pipeline-core 4.4.2 → 4.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/config/app-config.d.ts +1 -0
- package/lib/config/app-config.js +7 -1
- package/lib/config/config-types.d.ts +9 -0
- package/lib/config/config-types.js +1 -1
- package/lib/config/handler-constants.d.ts +7 -0
- package/lib/config/handler-constants.js +8 -1
- package/lib/config/infrastructure-config.js +2 -1
- package/lib/core/audit-correlation.d.ts +34 -0
- package/lib/core/audit-correlation.js +50 -0
- package/lib/core/pipeline-helpers.js +50 -6
- package/lib/core/pipeline-registration.d.ts +25 -0
- package/lib/core/pipeline-registration.js +28 -0
- package/lib/core/platform-tls.d.ts +43 -0
- package/lib/core/platform-tls.js +70 -0
- package/lib/core/plugin-contract.d.ts +8 -0
- package/lib/core/plugin-contract.js +15 -3
- package/lib/core/plugin-lookup-envelope.d.ts +30 -2
- package/lib/core/plugin-lookup-envelope.js +58 -7
- package/lib/core/quota-exceeded.d.ts +11 -0
- package/lib/core/quota-exceeded.js +44 -0
- package/lib/core/runtime-check.d.ts +53 -0
- package/lib/core/runtime-check.js +56 -0
- package/lib/core/security-reports.d.ts +26 -0
- package/lib/core/security-reports.js +28 -0
- package/lib/core/step-manifest.d.ts +7 -0
- package/lib/core/step-manifest.js +1 -1
- package/lib/core/synth-failure.d.ts +38 -0
- package/lib/core/synth-failure.js +63 -0
- package/lib/handlers/plugin-lookup-handler.d.ts +19 -2
- package/lib/handlers/plugin-lookup-handler.js +107 -17
- package/lib/index.d.ts +9 -2
- package/lib/index.js +10 -3
- package/lib/pipeline/pipeline-builder.js +55 -8
- package/lib/pipeline/plugin-lookup.d.ts +18 -1
- package/lib/pipeline/plugin-lookup.js +28 -7
- package/lib/pipeline/runtime-vuln-check-step.d.ts +29 -0
- package/lib/pipeline/runtime-vuln-check-step.js +36 -0
- package/lib/pipeline/stage-builder.d.ts +9 -0
- package/lib/pipeline/stage-builder.js +28 -7
- package/lib/pipeline/step-manifest-recorder.d.ts +2 -2
- package/lib/pipeline/step-manifest-recorder.js +8 -6
- package/lib/testing/exports.json +35 -0
- package/package.json +5 -4
|
@@ -27,6 +27,7 @@ export declare class CoreConstants {
|
|
|
27
27
|
static readonly SSE_STREAM_TIMEOUT_MS: number;
|
|
28
28
|
static readonly GITHUB_API_BASE_URL: string;
|
|
29
29
|
static readonly BITBUCKET_API_BASE_URL: string;
|
|
30
|
+
static readonly GITLAB_API_BASE_URL: string;
|
|
30
31
|
static readonly MAX_BULK_ITEMS: number;
|
|
31
32
|
static readonly MAX_EVENTS_PER_BATCH: number;
|
|
32
33
|
static readonly SECRETS_PATH_PREFIX: string;
|
package/lib/config/app-config.js
CHANGED
|
@@ -43,6 +43,12 @@ export class CoreConstants {
|
|
|
43
43
|
// Git provider API base URLs (configurable for enterprise instances)
|
|
44
44
|
static GITHUB_API_BASE_URL = envStr('GITHUB_API_BASE_URL', 'https://api.github.com');
|
|
45
45
|
static BITBUCKET_API_BASE_URL = envStr('BITBUCKET_API_BASE_URL', 'https://api.bitbucket.org/2.0');
|
|
46
|
+
// Pinned like its siblings, and for the same reason: the repository URL being
|
|
47
|
+
// analyzed is REQUEST data (any `pipelines:write` holder can post one to
|
|
48
|
+
// `/pipelines/analyze/from-url`), so the host it resolves must never come from
|
|
49
|
+
// it. Point this at a self-managed GitLab to analyze one — the operator
|
|
50
|
+
// chooses the instance, not the caller.
|
|
51
|
+
static GITLAB_API_BASE_URL = envStr('GITLAB_API_BASE_URL', 'https://gitlab.com/api/v4');
|
|
46
52
|
// Bulk operations and event ingestion
|
|
47
53
|
static MAX_BULK_ITEMS = envInt('MAX_BULK_ITEMS', 100);
|
|
48
54
|
static MAX_EVENTS_PER_BATCH = envInt('MAX_EVENTS_PER_BATCH', 100);
|
|
@@ -194,4 +200,4 @@ export class Config {
|
|
|
194
200
|
return this.get(section);
|
|
195
201
|
}
|
|
196
202
|
}
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGNBQWMsSUFBSSxxQkFBcUIsRUFBRSxrQkFBa0IsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRKLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsYUFBYSxHQUNkLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1Qjs7R0FFRztBQUNIOzs7R0FHRztBQUNILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhHLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBVSxZQUFZLEdBQUcsY0FBYyxDQUFDO0lBRTlDLDhHQUE4RztJQUM5Ryx3R0FBd0c7SUFDeEcsc0dBQXNHO0lBQ3RHLE1BQU0sQ0FBVSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztJQUN6RSx1RUFBdUU7SUFDdkUsTUFBTSxDQUFVLG9CQUFvQixHQUFHLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO0lBRTdFLE1BQU0sQ0FBVSx3QkFBd0IsR0FBRyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQztJQUNyRixNQUFNLENBQVUsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsbUJB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SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMzQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBMEIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBlbnZJbnQsIGVudlN0ciwgTUFYX1BBR0VfTElNSVQgYXMgU0hBUkVEX01BWF9QQUdFX0xJTUlULCBERUZBVUxUX1BBR0VfTElNSVQgYXMgU0hBUkVEX0RFRkFVTFRfUEFHRV9MSU1JVCB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB0eXBlIHsgQXBwQ29uZmlnIH0gZnJvbSAnLi9jb25maWctdHlwZXMuanMnO1xuaW1wb3J0ICogYXMgSGFuZGxlckNvbnN0YW50cyBmcm9tICcuL2hhbmRsZXItY29uc3RhbnRzLmpzJztcbmltcG9ydCB7XG4gIGxvYWRSZWdpc3RyeUNvbmZpZyxcbiAgbG9hZFBsdWdpbkJ1aWxkQ29uZmlnLFxuICBsb2FkRG9ja2VyQ29uZmlnLFxuICBsb2FkRGF0YWJhc2VDb25maWcsXG4gIGxvYWRPYnNlcnZhYmlsaXR5Q29uZmlnLFxuICBsb2FkQ29tcGxpYW5jZUNvbmZpZyxcbiAgbG9hZEFXU0NvbmZpZyxcbn0gZnJvbSAnLi9pbmZyYXN0cnVjdHVyZS1jb25maWcuanMnO1xuaW1wb3J0IHtcbiAgbG9hZFNlcnZlckNvbmZpZyxcbiAgbG9hZEF1dGhDb25maWcsXG4gIGxvYWRSYXRlTGltaXRDb25maWcsXG4gIHZhbGlkYXRlU2VydmVyQ29uZmlnLFxuICB2YWxpZGF0ZUF1dGhDb25maWcsXG59IGZyb20gJy4vc2VydmVyLWNvbmZpZy5qcyc7XG5cbi8qKlxuICogQ29yZSBjb25zdGFudHMg4oCUIGNvbmZpZ3VyYWJsZSB2aWEgZW52aXJvbm1lbnQgdmFyaWFibGVzIHdpdGggc2Vuc2libGUgZGVmYXVsdHMuXG4gKi9cbi8qKlxuICogUmUtZXhwb3J0ZWQgZnJvbSBhcGktY29yZSBzbyB0aGUgQVBJIHNjaGVtYSBhbmQge0BsaW5rIFBpcGVsaW5lQnVpbGRlcn0gcmVmdXNlXG4gKiB0aGUgU0FNRSB0YWcga2V5czsgc2VlIGB0eXBlcy9yZXNlcnZlZC10YWdzLnRzYCBmb3Igd2h5IGJvdGggY2hlY2tzIGV4aXN0LlxuICovXG5leHBvcnQgeyBSRVNFUlZFRF9UQUdfS0VZUywgUkVTRVJWRURfVEFHX1BSRUZJWEVTLCBpc1Jlc2VydmVkVGFnS2V5IH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuXG5leHBvcnQgY2xhc3MgQ29yZUNvbnN0YW50cyB7XG4gIHN0YXRpYyByZWFkb25seSBOQU1FX1BBVFRFUk4gPSAvXlthLXowLTktXSskLztcblxuICAvLyBDdXN0b20gUmVzb3VyY2UgSGFuZGxlciBjb25maWd1cmF0aW9uIChtdXN0IGJlIGxlc3MgdGhhbiBMYW1iZGEgdGltZW91dCBvZiAzMHMgdG8gYWxsb3cgcmVzcG9uc2UgaGFuZGxpbmcpLlxuICAvLyBTb3VyY2VkIGZyb20gdGhlIGRlcGVuZGVuY3ktZnJlZSBgaGFuZGxlci1jb25zdGFudHMudHNgIGxlYWYg4oCUIHRoZSBMYW1iZGEgaGFuZGxlciBpbXBvcnRzIHRoYXQgbW9kdWxlXG4gIC8vIGRpcmVjdGx5IChub3QgdGhpcyBvbmUpIHNvIGl0cyBlc2J1aWxkIGJ1bmRsZSBuZXZlciBwdWxscyBpbiBhd3MtY2RrLWxpYiB2aWEgaW5mcmFzdHJ1Y3R1cmUtY29uZmlnLlxuICBzdGF0aWMgcmVhZG9ubHkgSEFORExFUl9USU1FT1VUX01TID0gSGFuZGxlckNvbnN0YW50cy5IQU5ETEVSX1RJTUVPVVRfTVM7XG4gIC8qKiBEZWZhdWx0IHBsYXRmb3JtIFVSTCBmYWxsYmFjayB3aGVuIFBMQVRGT1JNX0JBU0VfVVJMIGlzIG5vdCBzZXQuICovXG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BMQVRGT1JNX1VSTCA9IEhhbmRsZXJDb25zdGFudHMuREVGQVVMVF9QTEFURk9STV9VUkw7XG5cbiAgc3RhdGljIHJlYWRvbmx5IEhBTkRMRVJfREVGQVVMVF9CQVNFX1VSTCA9IEhhbmRsZXJDb25zdGFudHMuSEFORExFUl9ERUZBVUxUX0JBU0VfVVJMO1xuICBzdGF0aWMgcmVhZG9ubHkgSEFORExFUl9NQVhfUkVUUklFUyA9IEhhbmRsZXJDb25zdGFudHMuSEFORExFUl9NQVhfUkVUUklFUztcbiAgc3RhdGljIHJlYWRvbmx5IEhBTkRMRVJfUkVUUllfREVMQVlfTVMgPSBIYW5kbGVyQ29uc3RhbnRzLkhBTkRMRVJfUkVUUllfREVMQVlfTVM7XG5cbiAgLy8gUGx1Z2luIGJ1aWxkIHF1ZXVlIGNvbmZpZ3VyYXRpb24uXG4gIC8vIE5PVEU6IG1heEF0dGVtcHRzIC8gYmFja29mZkRlbGF5TXMgLyB3b3JrZXJUaW1lb3V0TXMgYXJlIE5PVCBkdXBsaWNhdGVkIGhlcmUg4oCUXG4gIC8vIGBsb2FkUGx1Z2luQnVpbGRDb25maWdgIChpbmZyYXN0cnVjdHVyZS1jb25maWcudHMpIGlzIHRoZWlyIHNpbmdsZSBzb3VyY2Ugb2ZcbiAgLy8gdHJ1dGgsIHJlYWQgdmlhIGBDb25maWcuZ2V0KCdwbHVnaW5CdWlsZCcpYC5cbiAgc3RhdGljIHJlYWRvbmx5IFBMVUdJTl9CVUlMRF9RVUVVRV9OQU1FID0gZW52U3RyKCdQTFVHSU5fQlVJTERfUVVFVUVfTkFNRScsICdwbHVnaW4tYnVpbGQnKTtcbiAgc3RhdGljIHJlYWRvbmx5IFBMVUdJTl9CVUlMRF9DT01QTEVURURfUkVURU5USU9OX1NFQ1MgPSBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9DT01QTEVURURfUkVURU5USU9OX1NFQ1MnLCAzXzYwMCk7IC8vIDEgaHJcbiAgc3RhdGljIHJlYWRvbmx5IFBMVUdJTl9CVUlMRF9GQUlMRURfUkVURU5USU9OX1NFQ1MgPSBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9GQUlMRURfUkVURU5USU9OX1NFQ1MnLCA4Nl80MDApOyAvLyAyNCBoclxuXG4gIC8vIFBhZ2luYXRpb24gYW5kIGxpbWl0cyDigJQgc2luZ2xlIHNvdXJjZSBpbiBhcGktY29yZSAodmFsaWRhdGlvbi9jb21tb24tc2NoZW1hcylcbiAgLy8gc28gdGhlIHZhbGlkYXRpb24gbGF5ZXIsIHRoaXMgY29uZmlnLCBhbmQgcGlwZWxpbmUtZGF0YSdzIENydWRTZXJ2aWNlIG5ldmVyIGRyaWZ0LlxuICBzdGF0aWMgcmVhZG9ubHkgTUFYX1BBR0VfTElNSVQgPSBTSEFSRURfTUFYX1BBR0VfTElNSVQ7XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BBR0VfTElNSVQgPSBTSEFSRURfREVGQVVMVF9QQUdFX0xJTUlUO1xuICBzdGF0aWMgcmVhZG9ubHkgTUFYX1BST01QVF9MRU5HVEggPSBlbnZJbnQoJ01BWF9QUk9NUFRfTEVOR1RIJywgNV8wMDApO1xuICBzdGF0aWMgcmVhZG9ubHkgUExVR0lOX01BWF9VUExPQURfTUIgPSBlbnZJbnQoJ1BMVUdJTl9NQVhfVVBMT0FEX01CJywgNF8wOTYpO1xuICBzdGF0aWMgcmVhZG9ubHkgUElQRUxJTkVfTkFNRV9NQVhfTEVOR1RIID0gZW52SW50KCdQSVBFTElORV9OQU1FX01BWF9MRU5HVEgnLCAxMDApO1xuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9QTFVHSU5fVkVSU0lPTiA9IGVudlN0cignREVGQVVMVF9QTFVHSU5fVkVSU0lPTicsICcxLjAuMCcpO1xuXG4gIC8vIFNTRSBzdHJlYW0gdGltZW91dCBmb3IgQUkgZ2VuZXJhdGlvbiBlbmRwb2ludHNcbiAgc3RhdGljIHJlYWRvbmx5IFNTRV9TVFJFQU1fVElNRU9VVF9NUyA9IGVudkludCgnU1NFX1NUUkVBTV9USU1FT1VUX01TJywgMzAwXzAwMCk7IC8vIDUgbWluXG5cbiAgLy8gR2l0IHByb3ZpZGVyIEFQSSBiYXNlIFVSTHMgKGNvbmZpZ3VyYWJsZSBmb3IgZW50ZXJwcmlzZSBpbnN0YW5jZXMpXG4gIHN0YXRpYyByZWFkb25seSBHSVRIVUJfQVBJX0JBU0VfVVJMID0gZW52U3RyKCdHSVRIVUJfQVBJX0JBU0VfVVJMJywgJ2h0dHBzOi8vYXBpLmdpdGh1Yi5jb20nKTtcbiAgc3RhdGljIHJlYWRvbmx5IEJJVEJVQ0tFVF9BUElfQkFTRV9VUkwgPSBlbnZTdHIoJ0JJVEJVQ0tFVF9BUElfQkFTRV9VUkwnLCAnaHR0cHM6Ly9hcGkuYml0YnVja2V0Lm9yZy8yLjAnKTtcblxuICAvLyBCdWxrIG9wZXJhdGlvbnMgYW5kIGV2ZW50IGluZ2VzdGlvblxuICBzdGF0aWMgcmVhZG9ubHkgTUFYX0JVTEtfSVRFTVMgPSBlbnZJbnQoJ01BWF9CVUxLX0lURU1TJywgMTAwKTtcbiAgc3RhdGljIHJlYWRvbmx5IE1BWF9FVkVOVFNfUEVSX0JBVENIID0gZW52SW50KCdNQVhfRVZFTlRTX1BFUl9CQVRDSCcsIDEwMCk7XG5cbiAgLy8gU2VjcmV0cyBNYW5hZ2VyIHBhdGggcHJlZml4IGZvciBvcmctc2NvcGVkIHNlY3JldHNcbiAgc3RhdGljIHJlYWRvbmx5IFNFQ1JFVFNfUEFUSF9QUkVGSVggPSBlbnZTdHIoJ1NFQ1JFVFNfUEFUSF9QUkVGSVgnLCAncGlwZWxpbmUtYnVpbGRlcicpO1xuXG4gIC8qKiBCdWlsZCBhIFNlY3JldHMgTWFuYWdlciBwYXRoOiB7cHJlZml4fS97b3JnSWR9L3tuYW1lfSAqL1xuICBzdGF0aWMgc2VjcmV0UGF0aChvcmdJZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtDb3JlQ29uc3RhbnRzLlNFQ1JFVFNfUEFUSF9QUkVGSVh9LyR7b3JnSWR9LyR7bmFtZX1gO1xuICB9XG5cbiAgLy8gRGF0YWJhc2UgY29ubmVjdGlvblxuICBzdGF0aWMgcmVhZG9ubHkgREJfTUFYX1JFVFJJRVMgPSBlbnZJbnQoJ0RCX01BWF9SRVRSSUVTJywgMyk7XG4gIHN0YXRpYyByZWFkb25seSBEQl9SRVRSWV9ERUxBWV9NUyA9IGVudkludCgnREJfUkVUUllfREVMQVlfTVMnLCAxXzAwMCk7IC8vIDFzXG5cbiAgLy8gUmVzcG9uc2UgY29tcHJlc3Npb25cbiAgc3RhdGljIHJlYWRvbmx5IENPTVBSRVNTSU9OX1RIUkVTSE9MRF9CWVRFUyA9IGVudkludCgnQ09NUFJFU1NJT05fVEhSRVNIT0xEX0JZVEVTJywgMV8wMjQpO1xuXG4gIC8vIElkZW1wb3RlbmN5XG4gIHN0YXRpYyByZWFkb25seSBJREVNUE9URU5DWV9UVExfTVMgPSBlbnZJbnQoJ0lERU1QT1RFTkNZX1RUTF9NUycsIDMwMF8wMDApOyAvLyA1IG1pblxuICAvLyBMaWZldGltZSBvZiBhbiBJTi1GTElHSFQgcmVzZXJ2YXRpb24gKG5vIHJlc3BvbnNlIHlldCkuIEJvdW5kcyBob3cgbG9uZyBhXG4gIC8vIGtleSBzdGF5cyBsb2NrZWQgKDQwOSkgd2hlbiB0aGUgcHJvY2VzcyBkaWVzIG1pZC1oYW5kbGVyOyBtdXN0IGV4Y2VlZCB0aGVcbiAgLy8gbG9uZ2VzdCBsZWdpdGltYXRlIGhhbmRsZXIgcnVuLCBzaW5jZSBhbiBleHBpcmVkIHJlc2VydmF0aW9uIGxldHMgYVxuICAvLyBkdXBsaWNhdGUgdGhyb3VnaC5cbiAgc3RhdGljIHJlYWRvbmx5IElERU1QT1RFTkNZX1BFTkRJTkdfVFRMX01TID0gZW52SW50KCdJREVNUE9URU5DWV9QRU5ESU5HX1RUTF9NUycsIDEyMF8wMDApOyAvLyAyIG1pblxuICBzdGF0aWMgcmVhZG9ubHkgSURFTVBPVEVOQ1lfTUFYX1NUT1JFX1NJWkUgPSBlbnZJbnQoJ0lERU1QT1RFTkNZX01BWF9TVE9SRV9TSVpFJywgMTBfMDAwKTtcbiAgc3RhdGljIHJlYWRvbmx5IElERU1QT1RFTkNZX0NMRUFOVVBfSU5URVJWQUxfTVMgPSBlbnZJbnQoJ0lERU1QT1RFTkNZX0NMRUFOVVBfSU5URVJWQUxfTVMnLCA2MF8wMDApOyAvLyAxIG1pblxuXG5cbiAgLy8gU2VydmVyLXNpZGUgY2FjaGUgVFRMcyAoc2Vjb25kcylcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9FTlRJVFkgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9FTlRJVFknLCA2MCk7IC8vIHBsdWdpbi9waXBlbGluZSBmaW5kQnlJZFxuICBzdGF0aWMgcmVhZG9ubHkgQ0FDSEVfVFRMX01FU1NBR0UgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9NRVNTQUdFJywgMzAwKTsgLy8gYW5ub3VuY2VtZW50cy9jb252ZXJzYXRpb25zICg1IG1pbilcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9SRVBPUlRfSU5WRU5UT1JZID0gZW52SW50KCdDQUNIRV9UVExfUkVQT1JUX0lOVkVOVE9SWScsIDMwMCk7IC8vIHBsdWdpbiBzdW1tYXJ5L2Rpc3RyaWJ1dGlvbiAoNSBtaW4pXG4gIHN0YXRpYyByZWFkb25seSBDQUNIRV9UVExfUkVQT1JUX1RJTUVTRVJJRVMgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9SRVBPUlRfVElNRVNFUklFUycsIDEyMCk7IC8vIGV4ZWN1dGlvbi9idWlsZCBtZXRyaWNzICgyIG1pbilcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9DT01QTElBTkNFX1JVTEVTID0gZW52SW50KCdDQUNIRV9UVExfQ09NUExJQU5DRV9SVUxFUycsIDYwKTsgLy8gYWN0aXZlIGNvbXBsaWFuY2UgcnVsZXNcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9CSUxMSU5HX1BMQU5TID0gZW52SW50KCdDQUNIRV9UVExfQklMTElOR19QTEFOUycsIDE0XzQwMCk7IC8vIGJpbGxpbmcgcGxhbnMgKDQgaG91cnMpXG5cbiAgLy8gU1NFIGJhY2twcmVzc3VyZVxuICBzdGF0aWMgcmVhZG9ubHkgU1NFX0JBQ0tQUkVTU1VSRV9USFJFU0hPTEQgPSBlbnZJbnQoJ1NTRV9CQUNLUFJFU1NVUkVfVEhSRVNIT0xEJywgMTApO1xuXG4gIC8vIEhUVFAgQ2FjaGUtQ29udHJvbCBoZWFkZXJzXG4gIHN0YXRpYyByZWFkb25seSBDQUNIRV9DT05UUk9MX0xJU1QgPSBlbnZTdHIoJ0NBQ0hFX0NPTlRST0xfTElTVCcsICdwcml2YXRlLCBtYXgtYWdlPTMwLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwJyk7XG4gIHN0YXRpYyByZWFkb25seSBDQUNIRV9DT05UUk9MX0RFVEFJTCA9IGVudlN0cignQ0FDSEVfQ09OVFJPTF9ERVRBSUwnLCAncHJpdmF0ZSwgbWF4LWFnZT02MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT0xMjAnKTtcbn1cblxuLyoqXG4gKiBQZXItc2VjdGlvbiBsb2FkZXIgbWFwIOKAlCBlYWNoIHNlY3Rpb24gaXMgbG9hZGVkIGxhemlseSBvbiBmaXJzdCBhY2Nlc3MuXG4gKiBUaGlzIGF2b2lkcyBsb2FkaW5nIGFsbCBjb25maWcgc2VjdGlvbnMgKGFuZCB0aGVpciByZXF1aXJlZCBlbnYgdmFycylcbiAqIHdoZW4gb25seSBvbmUgc2VjdGlvbiBpcyBuZWVkZWQgKGUuZy4gQ0RLIHN5bnRoZXNpcyBvbmx5IG5lZWRzICdhd3MnKS5cbiAqL1xuY29uc3Qgc2VjdGlvbkxvYWRlcnM6IHsgW0sgaW4ga2V5b2YgQXBwQ29uZmlnXTogKCkgPT4gQXBwQ29uZmlnW0tdIH0gPSB7XG4gIHNlcnZlcjogbG9hZFNlcnZlckNvbmZpZyxcbiAgYXV0aDogbG9hZEF1dGhDb25maWcsXG4gIGRhdGFiYXNlOiBsb2FkRGF0YWJhc2VDb25maWcsXG4gIHJlZ2lzdHJ5OiBsb2FkUmVnaXN0cnlDb25maWcsXG4gIHBsdWdpbkJ1aWxkOiBsb2FkUGx1Z2luQnVpbGRDb25maWcsXG4gIGRvY2tlckNvbmZpZzogbG9hZERvY2tlckNvbmZpZyxcbiAgb2JzZXJ2YWJpbGl0eTogbG9hZE9ic2VydmFiaWxpdHlDb25maWcsXG4gIGNvbXBsaWFuY2U6IGxvYWRDb21wbGlhbmNlQ29uZmlnLFxuICBhd3M6IGxvYWRBV1NDb25maWcsXG4gIHJhdGVMaW1pdDogbG9hZFJhdGVMaW1pdENvbmZpZyxcbn07XG5cbi8qKiBQZXItc2VjdGlvbiB2YWxpZGF0b3JzIOKAlCBvbmx5IHJ1biBmb3Igc2VjdGlvbnMgdGhhdCBoYXZlIHZhbGlkYXRpb24gbG9naWMuICovXG5jb25zdCBzZWN0aW9uVmFsaWRhdG9yczogUGFydGlhbDx7IFtLIGluIGtleW9mIEFwcENvbmZpZ106IChjb25maWc6IEFwcENvbmZpZ1tLXSkgPT4gdm9pZCB9PiA9IHtcbiAgc2VydmVyOiB2YWxpZGF0ZVNlcnZlckNvbmZpZyxcbn07XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmYWNhZGUgd2l0aCBsYXp5IHBlci1zZWN0aW9uIGxvYWRpbmcuXG4gKlxuICogRWFjaCBzZWN0aW9uIGlzIGxvYWRlZCBhbmQgdmFsaWRhdGVkIGluZGVwZW5kZW50bHkgb24gZmlyc3QgYWNjZXNzLFxuICogc28gcmVxdWVzdGluZyBgQ29uZmlnLmdldCgnYXdzJylgIGRvZXMgbm90IHRyaWdnZXIgbG9hZGluZyBvZlxuICogc2VydmVyIG9yIGF1dGggY29uZmlnIChhbmQgdGhlaXIgZW52IHZhciByZXF1aXJlbWVudHMpLlxuICpcbiAqIFVzYWdlOiBgQ29uZmlnLmdldCgnc2VydmVyJylgLCBgQ29uZmlnLmdldCgnYXV0aCcpYCwgZXRjLlxuICovXG5leHBvcnQgY2xhc3MgQ29uZmlnIHtcbiAgcHJpdmF0ZSBzdGF0aWMgY2FjaGUgPSBuZXcgTWFwPGtleW9mIEFwcENvbmZpZywgdW5rbm93bj4oKTtcblxuICAvKipcbiAgICogR2V0IGEgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBzZWN0aW9uIChsb2FkZWQgbGF6aWx5IG9uIGZpcnN0IGFjY2VzcykuXG4gICAqL1xuICBzdGF0aWMgZ2V0PEsgZXh0ZW5kcyBrZXlvZiBBcHBDb25maWc+KHNlY3Rpb246IEspOiBBcHBDb25maWdbS10ge1xuICAgIGlmICghdGhpcy5jYWNoZS5oYXMoc2VjdGlvbikpIHtcbiAgICAgIGNvbnN0IGxvYWRlciA9IHNlY3Rpb25Mb2FkZXJzW3NlY3Rpb25dO1xuICAgICAgY29uc3QgdmFsdWUgPSBsb2FkZXIoKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRvciA9IHNlY3Rpb25WYWxpZGF0b3JzW3NlY3Rpb25dO1xuICAgICAgaWYgKHZhbGlkYXRvcikgKHZhbGlkYXRvciBhcyAodjogQXBwQ29uZmlnW0tdKSA9PiB2b2lkKSh2YWx1ZSk7XG4gICAgICB0aGlzLmNhY2hlLnNldChzZWN0aW9uLCB2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhY2hlLmdldChzZWN0aW9uKSBhcyBBcHBDb25maWdbS107XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgYSBwYXJ0aWFsIG92ZXJyaWRlIGludG8gYSBjb25maWcgc2VjdGlvbiwgdGFraW5nIHByZWNlZGVuY2Ugb3ZlciB0aGVcbiAgICogZW52LWxvYWRlZCB2YWx1ZXMgZm9yIGFsbCBzdWJzZXF1ZW50IGBDb25maWcuZ2V0KHNlY3Rpb24pYCBjYWxscy5cbiAgICpcbiAgICogVXNlZCBhdCBDREsgc3ludGggc3RhcnQgdG8gaW5qZWN0IHBsYXRmb3JtLXNvdXJjZWQgaW5mcmFzdHJ1Y3R1cmUgY29uZmlnXG4gICAqIChlLmcuIHRoZSByZWdpc3RyeSBwdWxsIGhvc3QgZGVyaXZlZCBmcm9tIHRoZSBwbGF0Zm9ybSdzIHB1YmxpYyBVUkwpIHNvIHRoZVxuICAgKiBzeW50aCBkb2VzIG5vdCBzaWxlbnRseSBkZXBlbmQgb24gdGhlIG9wZXJhdG9yJ3MgbG9jYWwgYHByb2Nlc3MuZW52YC5cbiAgICogYHVuZGVmaW5lZGAgZmllbGRzIGluIGBwYXJ0aWFsYCBhcmUgaWdub3JlZCBzbyB0aGV5IG5ldmVyIGNsb2JiZXIgYSBsb2FkZWRcbiAgICogdmFsdWUuIExvYWRzIChhbmQgdmFsaWRhdGVzKSB0aGUgc2VjdGlvbiBmaXJzdCBzbyB0aGUgb3ZlcnJpZGUgbWVyZ2VzIG9udG9cbiAgICogdGhlIHJlYWwgZGVmYXVsdHMuXG4gICAqL1xuICBzdGF0aWMgb3ZlcnJpZGU8SyBleHRlbmRzIGtleW9mIEFwcENvbmZpZz4oc2VjdGlvbjogSywgcGFydGlhbDogUGFydGlhbDxBcHBDb25maWdbS10+KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuZ2V0KHNlY3Rpb24pO1xuICAgIGNvbnN0IGRlZmluZWQgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyhwYXJ0aWFsKS5maWx0ZXIoKFssIHZdKSA9PiB2ICE9PSB1bmRlZmluZWQpLFxuICAgICkgYXMgUGFydGlhbDxBcHBDb25maWdbS10+O1xuICAgIHRoaXMuY2FjaGUuc2V0KHNlY3Rpb24sIHsgLi4uY3VycmVudCwgLi4uZGVmaW5lZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaWtlIHtAbGluayBvdmVycmlkZX0sIGJ1dCBzY29wZWQ6IHNuYXBzaG90cyB0aGUgY3VycmVudCBjYWNoZSBzdGF0ZSBmb3JcbiAgICogYHNlY3Rpb25gIGFuZCByZXR1cm5zIGEgcmVzdG9yZSBmdW5jdGlvbiB0aGF0IHJldmVydHMgaXQuIFVzZSBhcm91bmQgYVxuICAgKiBzaW5nbGUgdW5pdCBvZiB3b3JrIChlLmcuIG9uZSBDREsgUGlwZWxpbmVCdWlsZGVyJ3Mgc3ludGgpIHNvIGEgcGVyLWJ1aWxkZXJcbiAgICogb3ZlcnJpZGUgZG9lcyBOT1QgbGVhayBpbnRvIHRoZSBwcm9jZXNzLXdpZGUgY2FjaGUgYW5kIGJsZWVkIGludG8gc2libGluZ1xuICAgKiBidWlsZGVycyBpbiBhIG11bHRpLXBpcGVsaW5lIENESyBhcHAuIENhbGxpbmcgdGhlIHJldHVybmVkIGZ1bmN0aW9uIHJlc3RvcmVzXG4gICAqIHRoZSBleGFjdCBwcmlvciBzdGF0ZSDigJQgdGhlIHByZXZpb3VzbHkgY2FjaGVkIHZhbHVlLCBvciBhbiB1bmxvYWRlZCBzZWN0aW9uXG4gICAqIGlmIGl0IGhhZCBub3QgYmVlbiBjYWNoZWQgeWV0IChzbyB0aGUgbmV4dCBgZ2V0KClgIHJlLWxvYWRzIGZyb20gZW52KS5cbiAgICovXG4gIHN0YXRpYyBvdmVycmlkZVNjb3BlZDxLIGV4dGVuZHMga2V5b2YgQXBwQ29uZmlnPihcbiAgICBzZWN0aW9uOiBLLFxuICAgIHBhcnRpYWw6IFBhcnRpYWw8QXBwQ29uZmlnW0tdPixcbiAgKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgaGFkQ2FjaGVkID0gdGhpcy5jYWNoZS5oYXMoc2VjdGlvbik7XG4gICAgY29uc3QgcHJldmlvdXMgPSBoYWRDYWNoZWQgPyB0aGlzLmNhY2hlLmdldChzZWN0aW9uKSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLm92ZXJyaWRlKHNlY3Rpb24sIHBhcnRpYWwpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoaGFkQ2FjaGVkKSB0aGlzLmNhY2hlLnNldChzZWN0aW9uLCBwcmV2aW91cyk7XG4gICAgICBlbHNlIHRoaXMuY2FjaGUuZGVsZXRlKHNlY3Rpb24pO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgYWxsIGNhY2hlZCBjb25maWcgc2VjdGlvbnMgc28gdGhlIG5leHQgYENvbmZpZy5nZXQoKWAgcmUtcmVhZHMgdGhlbVxuICAgKiBmcm9tIHRoZSBjdXJyZW50IGBwcm9jZXNzLmVudmAgKHJlLXJ1bm5pbmcgZWFjaCBzZWN0aW9uJ3MgbG9hZGVyICsgdmFsaWRhdG9yKS5cbiAgICpcbiAgICogVXNlIHdoZW4gZW52IGhhcyBiZWVuIG11dGF0ZWQgaW4tcHJvY2VzcyBhbmQgdGhlIGNhY2hlIGlzIG5vdyBzdGFsZSDigJQgZS5nLiBhXG4gICAqIGxvbmctcnVubmluZyBDTEkgdGhhdCByZWNvbmZpZ3VyZXMgYmV0d2VlbiBvcGVyYXRpb25zLiBDREsgc3ludGggcnVucyBpbiBhXG4gICAqIGZyZXNoIHN1YnByb2Nlc3MgdGhhdCBhbHJlYWR5IHJlYWRzIGVudiBvbiBmaXJzdCBhY2Nlc3MsIHNvIGl0IGRvZXMgbm90IG5lZWRcbiAgICogdGhpcy4gTm90ZTogdGhpcyBhbHNvIGRyb3BzIGFueSB2YWx1ZXMgc2V0IHZpYSB7QGxpbmsgb3ZlcnJpZGV9LlxuICAgKi9cbiAgc3RhdGljIHJlbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIFJlc2V0IGNvbmZpZ3VyYXRpb24gKGZvciB0ZXN0aW5nIG9ubHkpLiBBbGlhcyBmb3Ige0BsaW5rIHJlbG9hZH0uXG4gICAqL1xuICBzdGF0aWMgX3Jlc2V0Rm9yVGVzdGluZygpOiB2b2lkIHtcbiAgICB0aGlzLnJlbG9hZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGF1dGggY29uZmlndXJhdGlvbiAoSldUIHNlY3JldHMsIGFsZ29yaXRobXMsIGV4cGlyYXRpb24pLlxuICAgKiBDYWxsIHRoaXMgYXQgc2VydmVyIHN0YXJ0dXAsIG5vdCBkdXJpbmcgQ0RLIHN5bnRoZXNpcy5cbiAgICovXG4gIHN0YXRpYyB2YWxpZGF0ZUF1dGgoKTogdm9pZCB7XG4gICAgdmFsaWRhdGVBdXRoQ29uZmlnKHRoaXMuZ2V0KCdhdXRoJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVudHlwZWQgY29uZmlnIGFjY2VzcyDigJQgdXNlIHdoZW4gdGhlIHB1Ymxpc2hlZCBwYWNrYWdlIHR5cGVzIGRvbid0IGluY2x1ZGUgYSBuZXcgc2VjdGlvbiB5ZXQuXG4gICAqIEF2b2lkcyB0aGUgYChDb25maWcgYXMgdW5rbm93biBhcyAuLi4pLmdldCguLi4pYCBjYXN0IHBhdHRlcm4gaW4gY29uc3VtZXJzLlxuICAgKi9cbiAgc3RhdGljIGdldEFueShzZWN0aW9uOiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoc2VjdGlvbiBhcyBrZXlvZiBBcHBDb25maWcpO1xuICB9XG59XG4iXX0=
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvYXBwLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLGNBQWMsSUFBSSxxQkFBcUIsRUFBRSxrQkFBa0IsSUFBSSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRKLE9BQU8sS0FBSyxnQkFBZ0IsTUFBTSx3QkFBd0IsQ0FBQztBQUMzRCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsa0JBQWtCLEVBQ2xCLHVCQUF1QixFQUN2QixvQkFBb0IsRUFDcEIsYUFBYSxHQUNkLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLG9CQUFvQixFQUNwQixrQkFBa0IsR0FDbkIsTUFBTSxvQkFBb0IsQ0FBQztBQUU1Qjs7R0FFRztBQUNIOzs7R0FHRztBQUNILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhHLE1BQU0sT0FBTyxhQUFhO0lBQ3hCLE1BQU0sQ0FBVSxZQUFZLEdBQUcsY0FBYyxDQUFDO0lBRTlDLDhHQUE4RztJQUM5Ryx3R0FBd0c7SUFDeEcsc0dBQXNHO0lBQ3RHLE1BQU0sQ0FBVSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQyxrQkFBa0IsQ0FBQztJQUN6RSx1RUFBdUU7SUFDdkUsTUFBTSxDQUFVLG9CQUFvQixHQUFHLGdCQUFnQixDQUFDLG9CQUFvQixDQUFDO0lBRTdFLE1BQU0sQ0FBVSx3QkFBd0IsR0FBRyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQztJQUNyRixNQUFNLENBQVUsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsbUJB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UUFDckIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxNQUFNLENBQUMsWUFBWTtRQUNqQixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVEOzs7T0FHRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBZTtRQUMzQixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBMEIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyBlbnZJbnQsIGVudlN0ciwgTUFYX1BBR0VfTElNSVQgYXMgU0hBUkVEX01BWF9QQUdFX0xJTUlULCBERUZBVUxUX1BBR0VfTElNSVQgYXMgU0hBUkVEX0RFRkFVTFRfUEFHRV9MSU1JVCB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcbmltcG9ydCB0eXBlIHsgQXBwQ29uZmlnIH0gZnJvbSAnLi9jb25maWctdHlwZXMuanMnO1xuaW1wb3J0ICogYXMgSGFuZGxlckNvbnN0YW50cyBmcm9tICcuL2hhbmRsZXItY29uc3RhbnRzLmpzJztcbmltcG9ydCB7XG4gIGxvYWRSZWdpc3RyeUNvbmZpZyxcbiAgbG9hZFBsdWdpbkJ1aWxkQ29uZmlnLFxuICBsb2FkRG9ja2VyQ29uZmlnLFxuICBsb2FkRGF0YWJhc2VDb25maWcsXG4gIGxvYWRPYnNlcnZhYmlsaXR5Q29uZmlnLFxuICBsb2FkQ29tcGxpYW5jZUNvbmZpZyxcbiAgbG9hZEFXU0NvbmZpZyxcbn0gZnJvbSAnLi9pbmZyYXN0cnVjdHVyZS1jb25maWcuanMnO1xuaW1wb3J0IHtcbiAgbG9hZFNlcnZlckNvbmZpZyxcbiAgbG9hZEF1dGhDb25maWcsXG4gIGxvYWRSYXRlTGltaXRDb25maWcsXG4gIHZhbGlkYXRlU2VydmVyQ29uZmlnLFxuICB2YWxpZGF0ZUF1dGhDb25maWcsXG59IGZyb20gJy4vc2VydmVyLWNvbmZpZy5qcyc7XG5cbi8qKlxuICogQ29yZSBjb25zdGFudHMg4oCUIGNvbmZpZ3VyYWJsZSB2aWEgZW52aXJvbm1lbnQgdmFyaWFibGVzIHdpdGggc2Vuc2libGUgZGVmYXVsdHMuXG4gKi9cbi8qKlxuICogUmUtZXhwb3J0ZWQgZnJvbSBhcGktY29yZSBzbyB0aGUgQVBJIHNjaGVtYSBhbmQge0BsaW5rIFBpcGVsaW5lQnVpbGRlcn0gcmVmdXNlXG4gKiB0aGUgU0FNRSB0YWcga2V5czsgc2VlIGB0eXBlcy9yZXNlcnZlZC10YWdzLnRzYCBmb3Igd2h5IGJvdGggY2hlY2tzIGV4aXN0LlxuICovXG5leHBvcnQgeyBSRVNFUlZFRF9UQUdfS0VZUywgUkVTRVJWRURfVEFHX1BSRUZJWEVTLCBpc1Jlc2VydmVkVGFnS2V5IH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuXG5leHBvcnQgY2xhc3MgQ29yZUNvbnN0YW50cyB7XG4gIHN0YXRpYyByZWFkb25seSBOQU1FX1BBVFRFUk4gPSAvXlthLXowLTktXSskLztcblxuICAvLyBDdXN0b20gUmVzb3VyY2UgSGFuZGxlciBjb25maWd1cmF0aW9uIChtdXN0IGJlIGxlc3MgdGhhbiBMYW1iZGEgdGltZW91dCBvZiAzMHMgdG8gYWxsb3cgcmVzcG9uc2UgaGFuZGxpbmcpLlxuICAvLyBTb3VyY2VkIGZyb20gdGhlIGRlcGVuZGVuY3ktZnJlZSBgaGFuZGxlci1jb25zdGFudHMudHNgIGxlYWYg4oCUIHRoZSBMYW1iZGEgaGFuZGxlciBpbXBvcnRzIHRoYXQgbW9kdWxlXG4gIC8vIGRpcmVjdGx5IChub3QgdGhpcyBvbmUpIHNvIGl0cyBlc2J1aWxkIGJ1bmRsZSBuZXZlciBwdWxscyBpbiBhd3MtY2RrLWxpYiB2aWEgaW5mcmFzdHJ1Y3R1cmUtY29uZmlnLlxuICBzdGF0aWMgcmVhZG9ubHkgSEFORExFUl9USU1FT1VUX01TID0gSGFuZGxlckNvbnN0YW50cy5IQU5ETEVSX1RJTUVPVVRfTVM7XG4gIC8qKiBEZWZhdWx0IHBsYXRmb3JtIFVSTCBmYWxsYmFjayB3aGVuIFBMQVRGT1JNX0JBU0VfVVJMIGlzIG5vdCBzZXQuICovXG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BMQVRGT1JNX1VSTCA9IEhhbmRsZXJDb25zdGFudHMuREVGQVVMVF9QTEFURk9STV9VUkw7XG5cbiAgc3RhdGljIHJlYWRvbmx5IEhBTkRMRVJfREVGQVVMVF9CQVNFX1VSTCA9IEhhbmRsZXJDb25zdGFudHMuSEFORExFUl9ERUZBVUxUX0JBU0VfVVJMO1xuICBzdGF0aWMgcmVhZG9ubHkgSEFORExFUl9NQVhfUkVUUklFUyA9IEhhbmRsZXJDb25zdGFudHMuSEFORExFUl9NQVhfUkVUUklFUztcbiAgc3RhdGljIHJlYWRvbmx5IEhBTkRMRVJfUkVUUllfREVMQVlfTVMgPSBIYW5kbGVyQ29uc3RhbnRzLkhBTkRMRVJfUkVUUllfREVMQVlfTVM7XG5cbiAgLy8gUGx1Z2luIGJ1aWxkIHF1ZXVlIGNvbmZpZ3VyYXRpb24uXG4gIC8vIE5PVEU6IG1heEF0dGVtcHRzIC8gYmFja29mZkRlbGF5TXMgLyB3b3JrZXJUaW1lb3V0TXMgYXJlIE5PVCBkdXBsaWNhdGVkIGhlcmUg4oCUXG4gIC8vIGBsb2FkUGx1Z2luQnVpbGRDb25maWdgIChpbmZyYXN0cnVjdHVyZS1jb25maWcudHMpIGlzIHRoZWlyIHNpbmdsZSBzb3VyY2Ugb2ZcbiAgLy8gdHJ1dGgsIHJlYWQgdmlhIGBDb25maWcuZ2V0KCdwbHVnaW5CdWlsZCcpYC5cbiAgc3RhdGljIHJlYWRvbmx5IFBMVUdJTl9CVUlMRF9RVUVVRV9OQU1FID0gZW52U3RyKCdQTFVHSU5fQlVJTERfUVVFVUVfTkFNRScsICdwbHVnaW4tYnVpbGQnKTtcbiAgc3RhdGljIHJlYWRvbmx5IFBMVUdJTl9CVUlMRF9DT01QTEVURURfUkVURU5USU9OX1NFQ1MgPSBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9DT01QTEVURURfUkVURU5USU9OX1NFQ1MnLCAzXzYwMCk7IC8vIDEgaHJcbiAgc3RhdGljIHJlYWRvbmx5IFBMVUdJTl9CVUlMRF9GQUlMRURfUkVURU5USU9OX1NFQ1MgPSBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9GQUlMRURfUkVURU5USU9OX1NFQ1MnLCA4Nl80MDApOyAvLyAyNCBoclxuXG4gIC8vIFBhZ2luYXRpb24gYW5kIGxpbWl0cyDigJQgc2luZ2xlIHNvdXJjZSBpbiBhcGktY29yZSAodmFsaWRhdGlvbi9jb21tb24tc2NoZW1hcylcbiAgLy8gc28gdGhlIHZhbGlkYXRpb24gbGF5ZXIsIHRoaXMgY29uZmlnLCBhbmQgcGlwZWxpbmUtZGF0YSdzIENydWRTZXJ2aWNlIG5ldmVyIGRyaWZ0LlxuICBzdGF0aWMgcmVhZG9ubHkgTUFYX1BBR0VfTElNSVQgPSBTSEFSRURfTUFYX1BBR0VfTElNSVQ7XG4gIHN0YXRpYyByZWFkb25seSBERUZBVUxUX1BBR0VfTElNSVQgPSBTSEFSRURfREVGQVVMVF9QQUdFX0xJTUlUO1xuICBzdGF0aWMgcmVhZG9ubHkgTUFYX1BST01QVF9MRU5HVEggPSBlbnZJbnQoJ01BWF9QUk9NUFRfTEVOR1RIJywgNV8wMDApO1xuICBzdGF0aWMgcmVhZG9ubHkgUExVR0lOX01BWF9VUExPQURfTUIgPSBlbnZJbnQoJ1BMVUdJTl9NQVhfVVBMT0FEX01CJywgNF8wOTYpO1xuICBzdGF0aWMgcmVhZG9ubHkgUElQRUxJTkVfTkFNRV9NQVhfTEVOR1RIID0gZW52SW50KCdQSVBFTElORV9OQU1FX01BWF9MRU5HVEgnLCAxMDApO1xuICBzdGF0aWMgcmVhZG9ubHkgREVGQVVMVF9QTFVHSU5fVkVSU0lPTiA9IGVudlN0cignREVGQVVMVF9QTFVHSU5fVkVSU0lPTicsICcxLjAuMCcpO1xuXG4gIC8vIFNTRSBzdHJlYW0gdGltZW91dCBmb3IgQUkgZ2VuZXJhdGlvbiBlbmRwb2ludHNcbiAgc3RhdGljIHJlYWRvbmx5IFNTRV9TVFJFQU1fVElNRU9VVF9NUyA9IGVudkludCgnU1NFX1NUUkVBTV9USU1FT1VUX01TJywgMzAwXzAwMCk7IC8vIDUgbWluXG5cbiAgLy8gR2l0IHByb3ZpZGVyIEFQSSBiYXNlIFVSTHMgKGNvbmZpZ3VyYWJsZSBmb3IgZW50ZXJwcmlzZSBpbnN0YW5jZXMpXG4gIHN0YXRpYyByZWFkb25seSBHSVRIVUJfQVBJX0JBU0VfVVJMID0gZW52U3RyKCdHSVRIVUJfQVBJX0JBU0VfVVJMJywgJ2h0dHBzOi8vYXBpLmdpdGh1Yi5jb20nKTtcbiAgc3RhdGljIHJlYWRvbmx5IEJJVEJVQ0tFVF9BUElfQkFTRV9VUkwgPSBlbnZTdHIoJ0JJVEJVQ0tFVF9BUElfQkFTRV9VUkwnLCAnaHR0cHM6Ly9hcGkuYml0YnVja2V0Lm9yZy8yLjAnKTtcbiAgLy8gUGlubmVkIGxpa2UgaXRzIHNpYmxpbmdzLCBhbmQgZm9yIHRoZSBzYW1lIHJlYXNvbjogdGhlIHJlcG9zaXRvcnkgVVJMIGJlaW5nXG4gIC8vIGFuYWx5emVkIGlzIFJFUVVFU1QgZGF0YSAoYW55IGBwaXBlbGluZXM6d3JpdGVgIGhvbGRlciBjYW4gcG9zdCBvbmUgdG9cbiAgLy8gYC9waXBlbGluZXMvYW5hbHl6ZS9mcm9tLXVybGApLCBzbyB0aGUgaG9zdCBpdCByZXNvbHZlcyBtdXN0IG5ldmVyIGNvbWUgZnJvbVxuICAvLyBpdC4gUG9pbnQgdGhpcyBhdCBhIHNlbGYtbWFuYWdlZCBHaXRMYWIgdG8gYW5hbHl6ZSBvbmUg4oCUIHRoZSBvcGVyYXRvclxuICAvLyBjaG9vc2VzIHRoZSBpbnN0YW5jZSwgbm90IHRoZSBjYWxsZXIuXG4gIHN0YXRpYyByZWFkb25seSBHSVRMQUJfQVBJX0JBU0VfVVJMID0gZW52U3RyKCdHSVRMQUJfQVBJX0JBU0VfVVJMJywgJ2h0dHBzOi8vZ2l0bGFiLmNvbS9hcGkvdjQnKTtcblxuICAvLyBCdWxrIG9wZXJhdGlvbnMgYW5kIGV2ZW50IGluZ2VzdGlvblxuICBzdGF0aWMgcmVhZG9ubHkgTUFYX0JVTEtfSVRFTVMgPSBlbnZJbnQoJ01BWF9CVUxLX0lURU1TJywgMTAwKTtcbiAgc3RhdGljIHJlYWRvbmx5IE1BWF9FVkVOVFNfUEVSX0JBVENIID0gZW52SW50KCdNQVhfRVZFTlRTX1BFUl9CQVRDSCcsIDEwMCk7XG5cbiAgLy8gU2VjcmV0cyBNYW5hZ2VyIHBhdGggcHJlZml4IGZvciBvcmctc2NvcGVkIHNlY3JldHNcbiAgc3RhdGljIHJlYWRvbmx5IFNFQ1JFVFNfUEFUSF9QUkVGSVggPSBlbnZTdHIoJ1NFQ1JFVFNfUEFUSF9QUkVGSVgnLCAncGlwZWxpbmUtYnVpbGRlcicpO1xuXG4gIC8qKiBCdWlsZCBhIFNlY3JldHMgTWFuYWdlciBwYXRoOiB7cHJlZml4fS97b3JnSWR9L3tuYW1lfSAqL1xuICBzdGF0aWMgc2VjcmV0UGF0aChvcmdJZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtDb3JlQ29uc3RhbnRzLlNFQ1JFVFNfUEFUSF9QUkVGSVh9LyR7b3JnSWR9LyR7bmFtZX1gO1xuICB9XG5cbiAgLy8gRGF0YWJhc2UgY29ubmVjdGlvblxuICBzdGF0aWMgcmVhZG9ubHkgREJfTUFYX1JFVFJJRVMgPSBlbnZJbnQoJ0RCX01BWF9SRVRSSUVTJywgMyk7XG4gIHN0YXRpYyByZWFkb25seSBEQl9SRVRSWV9ERUxBWV9NUyA9IGVudkludCgnREJfUkVUUllfREVMQVlfTVMnLCAxXzAwMCk7IC8vIDFzXG5cbiAgLy8gUmVzcG9uc2UgY29tcHJlc3Npb25cbiAgc3RhdGljIHJlYWRvbmx5IENPTVBSRVNTSU9OX1RIUkVTSE9MRF9CWVRFUyA9IGVudkludCgnQ09NUFJFU1NJT05fVEhSRVNIT0xEX0JZVEVTJywgMV8wMjQpO1xuXG4gIC8vIElkZW1wb3RlbmN5XG4gIHN0YXRpYyByZWFkb25seSBJREVNUE9URU5DWV9UVExfTVMgPSBlbnZJbnQoJ0lERU1QT1RFTkNZX1RUTF9NUycsIDMwMF8wMDApOyAvLyA1IG1pblxuICAvLyBMaWZldGltZSBvZiBhbiBJTi1GTElHSFQgcmVzZXJ2YXRpb24gKG5vIHJlc3BvbnNlIHlldCkuIEJvdW5kcyBob3cgbG9uZyBhXG4gIC8vIGtleSBzdGF5cyBsb2NrZWQgKDQwOSkgd2hlbiB0aGUgcHJvY2VzcyBkaWVzIG1pZC1oYW5kbGVyOyBtdXN0IGV4Y2VlZCB0aGVcbiAgLy8gbG9uZ2VzdCBsZWdpdGltYXRlIGhhbmRsZXIgcnVuLCBzaW5jZSBhbiBleHBpcmVkIHJlc2VydmF0aW9uIGxldHMgYVxuICAvLyBkdXBsaWNhdGUgdGhyb3VnaC5cbiAgc3RhdGljIHJlYWRvbmx5IElERU1QT1RFTkNZX1BFTkRJTkdfVFRMX01TID0gZW52SW50KCdJREVNUE9URU5DWV9QRU5ESU5HX1RUTF9NUycsIDEyMF8wMDApOyAvLyAyIG1pblxuICBzdGF0aWMgcmVhZG9ubHkgSURFTVBPVEVOQ1lfTUFYX1NUT1JFX1NJWkUgPSBlbnZJbnQoJ0lERU1QT1RFTkNZX01BWF9TVE9SRV9TSVpFJywgMTBfMDAwKTtcbiAgc3RhdGljIHJlYWRvbmx5IElERU1QT1RFTkNZX0NMRUFOVVBfSU5URVJWQUxfTVMgPSBlbnZJbnQoJ0lERU1QT1RFTkNZX0NMRUFOVVBfSU5URVJWQUxfTVMnLCA2MF8wMDApOyAvLyAxIG1pblxuXG5cbiAgLy8gU2VydmVyLXNpZGUgY2FjaGUgVFRMcyAoc2Vjb25kcylcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9FTlRJVFkgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9FTlRJVFknLCA2MCk7IC8vIHBsdWdpbi9waXBlbGluZSBmaW5kQnlJZFxuICBzdGF0aWMgcmVhZG9ubHkgQ0FDSEVfVFRMX01FU1NBR0UgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9NRVNTQUdFJywgMzAwKTsgLy8gYW5ub3VuY2VtZW50cy9jb252ZXJzYXRpb25zICg1IG1pbilcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9SRVBPUlRfSU5WRU5UT1JZID0gZW52SW50KCdDQUNIRV9UVExfUkVQT1JUX0lOVkVOVE9SWScsIDMwMCk7IC8vIHBsdWdpbiBzdW1tYXJ5L2Rpc3RyaWJ1dGlvbiAoNSBtaW4pXG4gIHN0YXRpYyByZWFkb25seSBDQUNIRV9UVExfUkVQT1JUX1RJTUVTRVJJRVMgPSBlbnZJbnQoJ0NBQ0hFX1RUTF9SRVBPUlRfVElNRVNFUklFUycsIDEyMCk7IC8vIGV4ZWN1dGlvbi9idWlsZCBtZXRyaWNzICgyIG1pbilcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9DT01QTElBTkNFX1JVTEVTID0gZW52SW50KCdDQUNIRV9UVExfQ09NUExJQU5DRV9SVUxFUycsIDYwKTsgLy8gYWN0aXZlIGNvbXBsaWFuY2UgcnVsZXNcbiAgc3RhdGljIHJlYWRvbmx5IENBQ0hFX1RUTF9CSUxMSU5HX1BMQU5TID0gZW52SW50KCdDQUNIRV9UVExfQklMTElOR19QTEFOUycsIDE0XzQwMCk7IC8vIGJpbGxpbmcgcGxhbnMgKDQgaG91cnMpXG5cbiAgLy8gU1NFIGJhY2twcmVzc3VyZVxuICBzdGF0aWMgcmVhZG9ubHkgU1NFX0JBQ0tQUkVTU1VSRV9USFJFU0hPTEQgPSBlbnZJbnQoJ1NTRV9CQUNLUFJFU1NVUkVfVEhSRVNIT0xEJywgMTApO1xuXG4gIC8vIEhUVFAgQ2FjaGUtQ29udHJvbCBoZWFkZXJzXG4gIHN0YXRpYyByZWFkb25seSBDQUNIRV9DT05UUk9MX0xJU1QgPSBlbnZTdHIoJ0NBQ0hFX0NPTlRST0xfTElTVCcsICdwcml2YXRlLCBtYXgtYWdlPTMwLCBzdGFsZS13aGlsZS1yZXZhbGlkYXRlPTYwJyk7XG4gIHN0YXRpYyByZWFkb25seSBDQUNIRV9DT05UUk9MX0RFVEFJTCA9IGVudlN0cignQ0FDSEVfQ09OVFJPTF9ERVRBSUwnLCAncHJpdmF0ZSwgbWF4LWFnZT02MCwgc3RhbGUtd2hpbGUtcmV2YWxpZGF0ZT0xMjAnKTtcbn1cblxuLyoqXG4gKiBQZXItc2VjdGlvbiBsb2FkZXIgbWFwIOKAlCBlYWNoIHNlY3Rpb24gaXMgbG9hZGVkIGxhemlseSBvbiBmaXJzdCBhY2Nlc3MuXG4gKiBUaGlzIGF2b2lkcyBsb2FkaW5nIGFsbCBjb25maWcgc2VjdGlvbnMgKGFuZCB0aGVpciByZXF1aXJlZCBlbnYgdmFycylcbiAqIHdoZW4gb25seSBvbmUgc2VjdGlvbiBpcyBuZWVkZWQgKGUuZy4gQ0RLIHN5bnRoZXNpcyBvbmx5IG5lZWRzICdhd3MnKS5cbiAqL1xuY29uc3Qgc2VjdGlvbkxvYWRlcnM6IHsgW0sgaW4ga2V5b2YgQXBwQ29uZmlnXTogKCkgPT4gQXBwQ29uZmlnW0tdIH0gPSB7XG4gIHNlcnZlcjogbG9hZFNlcnZlckNvbmZpZyxcbiAgYXV0aDogbG9hZEF1dGhDb25maWcsXG4gIGRhdGFiYXNlOiBsb2FkRGF0YWJhc2VDb25maWcsXG4gIHJlZ2lzdHJ5OiBsb2FkUmVnaXN0cnlDb25maWcsXG4gIHBsdWdpbkJ1aWxkOiBsb2FkUGx1Z2luQnVpbGRDb25maWcsXG4gIGRvY2tlckNvbmZpZzogbG9hZERvY2tlckNvbmZpZyxcbiAgb2JzZXJ2YWJpbGl0eTogbG9hZE9ic2VydmFiaWxpdHlDb25maWcsXG4gIGNvbXBsaWFuY2U6IGxvYWRDb21wbGlhbmNlQ29uZmlnLFxuICBhd3M6IGxvYWRBV1NDb25maWcsXG4gIHJhdGVMaW1pdDogbG9hZFJhdGVMaW1pdENvbmZpZyxcbn07XG5cbi8qKiBQZXItc2VjdGlvbiB2YWxpZGF0b3JzIOKAlCBvbmx5IHJ1biBmb3Igc2VjdGlvbnMgdGhhdCBoYXZlIHZhbGlkYXRpb24gbG9naWMuICovXG5jb25zdCBzZWN0aW9uVmFsaWRhdG9yczogUGFydGlhbDx7IFtLIGluIGtleW9mIEFwcENvbmZpZ106IChjb25maWc6IEFwcENvbmZpZ1tLXSkgPT4gdm9pZCB9PiA9IHtcbiAgc2VydmVyOiB2YWxpZGF0ZVNlcnZlckNvbmZpZyxcbn07XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmYWNhZGUgd2l0aCBsYXp5IHBlci1zZWN0aW9uIGxvYWRpbmcuXG4gKlxuICogRWFjaCBzZWN0aW9uIGlzIGxvYWRlZCBhbmQgdmFsaWRhdGVkIGluZGVwZW5kZW50bHkgb24gZmlyc3QgYWNjZXNzLFxuICogc28gcmVxdWVzdGluZyBgQ29uZmlnLmdldCgnYXdzJylgIGRvZXMgbm90IHRyaWdnZXIgbG9hZGluZyBvZlxuICogc2VydmVyIG9yIGF1dGggY29uZmlnIChhbmQgdGhlaXIgZW52IHZhciByZXF1aXJlbWVudHMpLlxuICpcbiAqIFVzYWdlOiBgQ29uZmlnLmdldCgnc2VydmVyJylgLCBgQ29uZmlnLmdldCgnYXV0aCcpYCwgZXRjLlxuICovXG5leHBvcnQgY2xhc3MgQ29uZmlnIHtcbiAgcHJpdmF0ZSBzdGF0aWMgY2FjaGUgPSBuZXcgTWFwPGtleW9mIEFwcENvbmZpZywgdW5rbm93bj4oKTtcblxuICAvKipcbiAgICogR2V0IGEgc3BlY2lmaWMgY29uZmlndXJhdGlvbiBzZWN0aW9uIChsb2FkZWQgbGF6aWx5IG9uIGZpcnN0IGFjY2VzcykuXG4gICAqL1xuICBzdGF0aWMgZ2V0PEsgZXh0ZW5kcyBrZXlvZiBBcHBDb25maWc+KHNlY3Rpb246IEspOiBBcHBDb25maWdbS10ge1xuICAgIGlmICghdGhpcy5jYWNoZS5oYXMoc2VjdGlvbikpIHtcbiAgICAgIGNvbnN0IGxvYWRlciA9IHNlY3Rpb25Mb2FkZXJzW3NlY3Rpb25dO1xuICAgICAgY29uc3QgdmFsdWUgPSBsb2FkZXIoKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRvciA9IHNlY3Rpb25WYWxpZGF0b3JzW3NlY3Rpb25dO1xuICAgICAgaWYgKHZhbGlkYXRvcikgKHZhbGlkYXRvciBhcyAodjogQXBwQ29uZmlnW0tdKSA9PiB2b2lkKSh2YWx1ZSk7XG4gICAgICB0aGlzLmNhY2hlLnNldChzZWN0aW9uLCB2YWx1ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNhY2hlLmdldChzZWN0aW9uKSBhcyBBcHBDb25maWdbS107XG4gIH1cblxuICAvKipcbiAgICogTWVyZ2UgYSBwYXJ0aWFsIG92ZXJyaWRlIGludG8gYSBjb25maWcgc2VjdGlvbiwgdGFraW5nIHByZWNlZGVuY2Ugb3ZlciB0aGVcbiAgICogZW52LWxvYWRlZCB2YWx1ZXMgZm9yIGFsbCBzdWJzZXF1ZW50IGBDb25maWcuZ2V0KHNlY3Rpb24pYCBjYWxscy5cbiAgICpcbiAgICogVXNlZCBhdCBDREsgc3ludGggc3RhcnQgdG8gaW5qZWN0IHBsYXRmb3JtLXNvdXJjZWQgaW5mcmFzdHJ1Y3R1cmUgY29uZmlnXG4gICAqIChlLmcuIHRoZSByZWdpc3RyeSBwdWxsIGhvc3QgZGVyaXZlZCBmcm9tIHRoZSBwbGF0Zm9ybSdzIHB1YmxpYyBVUkwpIHNvIHRoZVxuICAgKiBzeW50aCBkb2VzIG5vdCBzaWxlbnRseSBkZXBlbmQgb24gdGhlIG9wZXJhdG9yJ3MgbG9jYWwgYHByb2Nlc3MuZW52YC5cbiAgICogYHVuZGVmaW5lZGAgZmllbGRzIGluIGBwYXJ0aWFsYCBhcmUgaWdub3JlZCBzbyB0aGV5IG5ldmVyIGNsb2JiZXIgYSBsb2FkZWRcbiAgICogdmFsdWUuIExvYWRzIChhbmQgdmFsaWRhdGVzKSB0aGUgc2VjdGlvbiBmaXJzdCBzbyB0aGUgb3ZlcnJpZGUgbWVyZ2VzIG9udG9cbiAgICogdGhlIHJlYWwgZGVmYXVsdHMuXG4gICAqL1xuICBzdGF0aWMgb3ZlcnJpZGU8SyBleHRlbmRzIGtleW9mIEFwcENvbmZpZz4oc2VjdGlvbjogSywgcGFydGlhbDogUGFydGlhbDxBcHBDb25maWdbS10+KTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuZ2V0KHNlY3Rpb24pO1xuICAgIGNvbnN0IGRlZmluZWQgPSBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBPYmplY3QuZW50cmllcyhwYXJ0aWFsKS5maWx0ZXIoKFssIHZdKSA9PiB2ICE9PSB1bmRlZmluZWQpLFxuICAgICkgYXMgUGFydGlhbDxBcHBDb25maWdbS10+O1xuICAgIHRoaXMuY2FjaGUuc2V0KHNlY3Rpb24sIHsgLi4uY3VycmVudCwgLi4uZGVmaW5lZCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaWtlIHtAbGluayBvdmVycmlkZX0sIGJ1dCBzY29wZWQ6IHNuYXBzaG90cyB0aGUgY3VycmVudCBjYWNoZSBzdGF0ZSBmb3JcbiAgICogYHNlY3Rpb25gIGFuZCByZXR1cm5zIGEgcmVzdG9yZSBmdW5jdGlvbiB0aGF0IHJldmVydHMgaXQuIFVzZSBhcm91bmQgYVxuICAgKiBzaW5nbGUgdW5pdCBvZiB3b3JrIChlLmcuIG9uZSBDREsgUGlwZWxpbmVCdWlsZGVyJ3Mgc3ludGgpIHNvIGEgcGVyLWJ1aWxkZXJcbiAgICogb3ZlcnJpZGUgZG9lcyBOT1QgbGVhayBpbnRvIHRoZSBwcm9jZXNzLXdpZGUgY2FjaGUgYW5kIGJsZWVkIGludG8gc2libGluZ1xuICAgKiBidWlsZGVycyBpbiBhIG11bHRpLXBpcGVsaW5lIENESyBhcHAuIENhbGxpbmcgdGhlIHJldHVybmVkIGZ1bmN0aW9uIHJlc3RvcmVzXG4gICAqIHRoZSBleGFjdCBwcmlvciBzdGF0ZSDigJQgdGhlIHByZXZpb3VzbHkgY2FjaGVkIHZhbHVlLCBvciBhbiB1bmxvYWRlZCBzZWN0aW9uXG4gICAqIGlmIGl0IGhhZCBub3QgYmVlbiBjYWNoZWQgeWV0IChzbyB0aGUgbmV4dCBgZ2V0KClgIHJlLWxvYWRzIGZyb20gZW52KS5cbiAgICovXG4gIHN0YXRpYyBvdmVycmlkZVNjb3BlZDxLIGV4dGVuZHMga2V5b2YgQXBwQ29uZmlnPihcbiAgICBzZWN0aW9uOiBLLFxuICAgIHBhcnRpYWw6IFBhcnRpYWw8QXBwQ29uZmlnW0tdPixcbiAgKTogKCkgPT4gdm9pZCB7XG4gICAgY29uc3QgaGFkQ2FjaGVkID0gdGhpcy5jYWNoZS5oYXMoc2VjdGlvbik7XG4gICAgY29uc3QgcHJldmlvdXMgPSBoYWRDYWNoZWQgPyB0aGlzLmNhY2hlLmdldChzZWN0aW9uKSA6IHVuZGVmaW5lZDtcbiAgICB0aGlzLm92ZXJyaWRlKHNlY3Rpb24sIHBhcnRpYWwpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoaGFkQ2FjaGVkKSB0aGlzLmNhY2hlLnNldChzZWN0aW9uLCBwcmV2aW91cyk7XG4gICAgICBlbHNlIHRoaXMuY2FjaGUuZGVsZXRlKHNlY3Rpb24pO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXIgYWxsIGNhY2hlZCBjb25maWcgc2VjdGlvbnMgc28gdGhlIG5leHQgYENvbmZpZy5nZXQoKWAgcmUtcmVhZHMgdGhlbVxuICAgKiBmcm9tIHRoZSBjdXJyZW50IGBwcm9jZXNzLmVudmAgKHJlLXJ1bm5pbmcgZWFjaCBzZWN0aW9uJ3MgbG9hZGVyICsgdmFsaWRhdG9yKS5cbiAgICpcbiAgICogVXNlIHdoZW4gZW52IGhhcyBiZWVuIG11dGF0ZWQgaW4tcHJvY2VzcyBhbmQgdGhlIGNhY2hlIGlzIG5vdyBzdGFsZSDigJQgZS5nLiBhXG4gICAqIGxvbmctcnVubmluZyBDTEkgdGhhdCByZWNvbmZpZ3VyZXMgYmV0d2VlbiBvcGVyYXRpb25zLiBDREsgc3ludGggcnVucyBpbiBhXG4gICAqIGZyZXNoIHN1YnByb2Nlc3MgdGhhdCBhbHJlYWR5IHJlYWRzIGVudiBvbiBmaXJzdCBhY2Nlc3MsIHNvIGl0IGRvZXMgbm90IG5lZWRcbiAgICogdGhpcy4gTm90ZTogdGhpcyBhbHNvIGRyb3BzIGFueSB2YWx1ZXMgc2V0IHZpYSB7QGxpbmsgb3ZlcnJpZGV9LlxuICAgKi9cbiAgc3RhdGljIHJlbG9hZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhY2hlLmNsZWFyKCk7XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsIFJlc2V0IGNvbmZpZ3VyYXRpb24gKGZvciB0ZXN0aW5nIG9ubHkpLiBBbGlhcyBmb3Ige0BsaW5rIHJlbG9hZH0uXG4gICAqL1xuICBzdGF0aWMgX3Jlc2V0Rm9yVGVzdGluZygpOiB2b2lkIHtcbiAgICB0aGlzLnJlbG9hZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlIGF1dGggY29uZmlndXJhdGlvbiAoSldUIHNlY3JldHMsIGFsZ29yaXRobXMsIGV4cGlyYXRpb24pLlxuICAgKiBDYWxsIHRoaXMgYXQgc2VydmVyIHN0YXJ0dXAsIG5vdCBkdXJpbmcgQ0RLIHN5bnRoZXNpcy5cbiAgICovXG4gIHN0YXRpYyB2YWxpZGF0ZUF1dGgoKTogdm9pZCB7XG4gICAgdmFsaWRhdGVBdXRoQ29uZmlnKHRoaXMuZ2V0KCdhdXRoJykpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVudHlwZWQgY29uZmlnIGFjY2VzcyDigJQgdXNlIHdoZW4gdGhlIHB1Ymxpc2hlZCBwYWNrYWdlIHR5cGVzIGRvbid0IGluY2x1ZGUgYSBuZXcgc2VjdGlvbiB5ZXQuXG4gICAqIEF2b2lkcyB0aGUgYChDb25maWcgYXMgdW5rbm93biBhcyAuLi4pLmdldCguLi4pYCBjYXN0IHBhdHRlcm4gaW4gY29uc3VtZXJzLlxuICAgKi9cbiAgc3RhdGljIGdldEFueShzZWN0aW9uOiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICByZXR1cm4gdGhpcy5nZXQoc2VjdGlvbiBhcyBrZXlvZiBBcHBDb25maWcpO1xuICB9XG59XG4iXX0=
|
|
@@ -247,6 +247,15 @@ export interface AWSConfig {
|
|
|
247
247
|
* misconfiguration loudly instead of silently swapping images.
|
|
248
248
|
*/
|
|
249
249
|
readonly defaultImage: string;
|
|
250
|
+
/**
|
|
251
|
+
* Registry manifest digest (`sha256:<64 hex>`) of {@link defaultImage},
|
|
252
|
+
* printed by `deploy/bin/build-codebuild-bootstrap.sh` after it publishes.
|
|
253
|
+
* env: `CODEBUILD_DEFAULT_IMAGE_DIGEST`. When set, a bare-tag image is
|
|
254
|
+
* pulled as `<registry>/library/<repo>@<digest>` — by the artifact that
|
|
255
|
+
* was built and scanned, never by the mutable tag. Empty → the tag is used
|
|
256
|
+
* and synth warns loudly; malformed → synth fails.
|
|
257
|
+
*/
|
|
258
|
+
readonly defaultImageDigest: string;
|
|
250
259
|
};
|
|
251
260
|
}
|
|
252
261
|
/** Express rate limiting configuration. */
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// Copyright 2026 Pipeline Builder Contributors
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
export {};
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWctdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5cbi8qKlxuICogVHlwZS1zYWZlIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwQ29uZmlnIHtcbiAgcmVhZG9ubHkgc2VydmVyOiBTZXJ2ZXJDb25maWc7XG4gIHJlYWRvbmx5IGF1dGg6IEF1dGhDb25maWc7XG4gIHJlYWRvbmx5IGRhdGFiYXNlOiBEYXRhYmFzZUNvbmZpZztcbiAgcmVhZG9ubHkgcmVnaXN0cnk6IFJlZ2lzdHJ5Q29uZmlnO1xuICByZWFkb25seSBwbHVnaW5CdWlsZDogUGx1Z2luQnVpbGRDb25maWc7XG4gIHJlYWRvbmx5IGRvY2tlckNvbmZpZzogQnVpbGRDb25maWc7XG4gIHJlYWRvbmx5IG9ic2VydmFiaWxpdHk6IE9ic2VydmFiaWxpdHlDb25maWc7XG4gIHJlYWRvbmx5IGNvbXBsaWFuY2U6IENvbXBsaWFuY2VDb25maWc7XG4gIHJlYWRvbmx5IGF3czogQVdTQ29uZmlnO1xuICByZWFkb25seSByYXRlTGltaXQ6IFJhdGVMaW1pdENvbmZpZztcbn1cblxuLyoqIEV4cHJlc3Mgc2VydmVyIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlckNvbmZpZyB7XG4gIC8qKiBIVFRQIGxpc3RlbiBwb3J0IChlbnY6IGBQT1JUYCkuICovXG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgY29yczoge1xuICAgIC8qKiBXaGV0aGVyIHRvIGluY2x1ZGUgY3JlZGVudGlhbHMgaW4gQ09SUyByZXNwb25zZXMgKGVudjogYENPUlNfQ1JFREVOVElBTFNgKS4gKi9cbiAgICByZWFkb25seSBjcmVkZW50aWFsczogYm9vbGVhbjtcbiAgICAvKiogQWxsb3dlZCBvcmlnaW4ocykg4oCUIHNpbmdsZSBzdHJpbmcsIGFycmF5LCBvciBgJyonYCAoZW52OiBgQ09SU19PUklHSU5gKS4gKi9cbiAgICByZWFkb25seSBvcmlnaW46IHN0cmluZyB8IHN0cmluZ1tdO1xuICB9O1xuICAvKiogTnVtYmVyIG9mIHJldmVyc2UgcHJveHkgaG9wcyB0byB0cnVzdCAoZW52OiBgVFJVU1RfUFJPWFlgKS4gKi9cbiAgcmVhZG9ubHkgdHJ1c3RQcm94eTogbnVtYmVyO1xuICAvKiogRnJvbnRlbmQgYmFzZSBVUkwsIHVzZWQgYXMgQ09SUyBmYWxsYmFjayAoZW52OiBgUExBVEZPUk1fQkFTRV9VUkxgKS4gKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm1Vcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgaHR0cENsaWVudDoge1xuICAgIC8qKiBEZWZhdWx0IEhUVFAgcmVxdWVzdCB0aW1lb3V0IGluIG1zIChlbnY6IGBIVFRQX0NMSUVOVF9USU1FT1VUYCkuICovXG4gICAgcmVhZG9ubHkgdGltZW91dDogbnVtYmVyO1xuICAgIC8qKiBNYXhpbXVtIHJldHJ5IGF0dGVtcHRzIGZvciBmYWlsZWQgcmVxdWVzdHMgKGVudjogYEhUVFBfQ0xJRU5UX01BWF9SRVRSSUVTYCkuICovXG4gICAgcmVhZG9ubHkgbWF4UmV0cmllczogbnVtYmVyO1xuICAgIC8qKiBCYXNlIGRlbGF5IGJldHdlZW4gcmV0cmllcyBpbiBtcyAoZW52OiBgSFRUUF9DTElFTlRfUkVUUllfREVMQVlfTVNgKS4gKi9cbiAgICByZWFkb25seSByZXRyeURlbGF5TXM6IG51bWJlcjtcbiAgfTtcbiAgcmVhZG9ubHkgc3NlOiB7XG4gICAgLyoqIE1heCBTU0UgY2xpZW50cyBwZXIgcmVxdWVzdCAoZW52OiBgU1NFX01BWF9DTElFTlRTX1BFUl9SRVFVRVNUYCkuICovXG4gICAgcmVhZG9ubHkgbWF4Q2xpZW50c1BlclJlcXVlc3Q6IG51bWJlcjtcbiAgICAvKiogU1NFIGNsaWVudCB0aW1lb3V0IGluIG1zIChlbnY6IGBTU0VfQ0xJRU5UX1RJTUVPVVRfTVNgKS4gKi9cbiAgICByZWFkb25seSBjbGllbnRUaW1lb3V0TXM6IG51bWJlcjtcbiAgICAvKiogU1NFIGNsZWFudXAgaW50ZXJ2YWwgaW4gbXMgKGVudjogYFNTRV9DTEVBTlVQX0lOVEVSVkFMX01TYCkuICovXG4gICAgcmVhZG9ubHkgY2xlYW51cEludGVydmFsTXM6IG51bWJlcjtcbiAgfTtcbiAgLyoqIFNpYmxpbmctc2VydmljZSBhZGRyZXNzZXMsIHJlc29sdmVkIGJ5IGFwaS1jb3JlJ3MgYHNlcnZpY2VFbmRwb2ludGBcbiAgICogIChgPE5BTUU+X1NFUlZJQ0VfSE9TVGAgLyBgPE5BTUU+X1NFUlZJQ0VfUE9SVGApLiAqL1xuICByZWFkb25seSBzZXJ2aWNlczoge1xuICAgIHJlYWRvbmx5IHBsdWdpbkhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBwbHVnaW5Qb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcGlwZWxpbmVIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgcGlwZWxpbmVQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbWVzc2FnZUhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBtZXNzYWdlUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHBsYXRmb3JtSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBsYXRmb3JtUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGNvbXBsaWFuY2VIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29tcGxpYW5jZVBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBiaWxsaW5nSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGJpbGxpbmdQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgYmlsbGluZ1RpbWVvdXQ6IG51bWJlcjtcbiAgICAvKiogaW1hZ2UtcmVnaXN0cnkgc2VydmljZSDigJQgdGhlIHBsdWdpbiB3b3JrZXIgYXNrcyBpdCB0byBzaWduIHB1c2hlZCBpbWFnZXMgKGVudjogYElNQUdFX1JFR0lTVFJZX1NFUlZJQ0VfSE9TVGApLiAqL1xuICAgIHJlYWRvbmx5IGltYWdlUmVnaXN0cnlIb3N0OiBzdHJpbmc7XG4gICAgLyoqIGVudjogYElNQUdFX1JFR0lTVFJZX1NFUlZJQ0VfUE9SVGAgKi9cbiAgICByZWFkb25seSBpbWFnZVJlZ2lzdHJ5UG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHF1b3RhSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHF1b3RhUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHJlcG9ydGluZ0hvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSByZXBvcnRpbmdQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgYXNrSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFza1BvcnQ6IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqIEF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBnZW5lcmljIHNlcnZpY2Ugc2NhZmZvbGQuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDb25maWcge1xuICByZWFkb25seSBqd3Q6IHtcbiAgICAvKipcbiAgICAgKiBUb2tlbiBsaWZldGltZSBpbiBzZWNvbmRzIChlbnY6IGBKV1RfRVhQSVJFU19JTmApLlxuICAgICAqXG4gICAgICogVGhlcmUgaXMgbm8gSldUIFNFQ1JFVCBoZXJlIGFueSBtb3JlLiBFdmVyeSB0b2tlbiBpcyBhc3ltbWV0cmljOiBhIHVzZXJcbiAgICAgKiB0b2tlbiBpcyBFUzI1NiBzaWduZWQgYnkgcGxhdGZvcm0gYWxvbmUgKGBzZXJ2aWNlcy90b2tlbi1zaWduaW5nYCksIGFuZCBhblxuICAgICAqIGludGVybmFsIHNlcnZpY2UgdG9rZW4gaXMgRVMyNTYgc2lnbmVkIGJ5IHRoZSBDQUxMSU5HIHNlcnZpY2Ugd2l0aCBpdHMgb3duXG4gICAgICoga2V5ICgjMTQsIGBTRVJWSUNFX1NJR05JTkdfS0VZX0ZJTEVgIC8gYFNFUlZJQ0VfS0VZX0JVTkRMRV9GSUxFYCkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhwaXJlc0luOiBudW1iZXI7XG4gICAgLyoqIGJjcnlwdCBzYWx0IHJvdW5kcyBmb3IgcGFzc3dvcmQgaGFzaGluZyAoZW52OiBgQkNSWVBUX1NBTFRfUk9VTkRTYCkuICovXG4gICAgcmVhZG9ubHkgc2FsdFJvdW5kczogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSByZWZyZXNoVG9rZW46IHtcbiAgICAvKipcbiAgICAgKiBUb2tlbiBsaWZldGltZSBpbiBzZWNvbmRzIChlbnY6IGBSRUZSRVNIX1RPS0VOX0VYUElSRVNfSU5gKS4gVGhlcmUgaXMgbm9cbiAgICAgKiByZWZyZXNoLXRva2VuIFNFQ1JFVCBhbnkgbW9yZTogYSByZWZyZXNoIHRva2VuIGlzIGEgdXNlciB0b2tlbiwgc2lnbmVkXG4gICAgICogd2l0aCBwbGF0Zm9ybSdzIEVTMjU2IGtleSBsaWtlIGV2ZXJ5IG90aGVyIGNyZWRlbnRpYWwgYSBwZXJzb24gaG9sZHMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhwaXJlc0luOiBudW1iZXI7XG4gIH07XG59XG5cbi8qKiBQb3N0Z3JlU1FMIGFuZCBEcml6emxlIE9STSBkYXRhYmFzZSBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHBvc3RncmVzOiB7XG4gICAgLyoqIFBvc3RncmVTUUwgaG9zdCAoZW52OiBgREJfSE9TVGApLiAqL1xuICAgIHJlYWRvbmx5IGhvc3Q6IHN0cmluZztcbiAgICAvKiogUG9zdGdyZVNRTCBwb3J0IChlbnY6IGBEQl9QT1JUYCkuICovXG4gICAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIC8qKiBEYXRhYmFzZSBuYW1lIChlbnY6IGBEQVRBQkFTRWApLiAqL1xuICAgIHJlYWRvbmx5IGRhdGFiYXNlOiBzdHJpbmc7XG4gICAgLyoqIERhdGFiYXNlIHVzZXIgKGVudjogYERCX1VTRVJgKS4gKi9cbiAgICByZWFkb25seSB1c2VyOiBzdHJpbmc7XG4gICAgLyoqIERhdGFiYXNlIHBhc3N3b3JkIChlbnY6IGBEQl9QQVNTV09SRGApLiAqL1xuICAgIHJlYWRvbmx5IHBhc3N3b3JkOiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IGRyaXp6bGU6IHtcbiAgICAvKiogTWF4aW11bSBjb25uZWN0aW9uIHBvb2wgc2l6ZSAoZW52OiBgRFJJWlpMRV9NQVhfUE9PTF9TSVpFYCkuICovXG4gICAgcmVhZG9ubHkgbWF4UG9vbFNpemU6IG51bWJlcjtcbiAgICAvKiogSWRsZSBjb25uZWN0aW9uIHRpbWVvdXQgaW4gbXMgKGVudjogYERSSVpaTEVfSURMRV9USU1FT1VUX01JTExJU2ApLiAqL1xuICAgIHJlYWRvbmx5IGlkbGVUaW1lb3V0TWlsbGlzOiBudW1iZXI7XG4gICAgLyoqIE5ldyBjb25uZWN0aW9uIHRpbWVvdXQgaW4gbXMgKGVudjogYERSSVpaTEVfQ09OTkVDVElPTl9USU1FT1VUX01JTExJU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNvbm5lY3Rpb25UaW1lb3V0TWlsbGlzOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlDb25maWcge1xuICByZWFkb25seSBob3N0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIEhvc3QvcG9ydCBhbiBPVVQtT0YtQ0xVU1RFUiBjbGllbnQgKG5vdGFibHkgQVdTIENvZGVCdWlsZCkgdXNlcyB0byBwdWxsXG4gICAqIHBsdWdpbiBpbWFnZXMsIHdoZW4gaXQgZGlmZmVycyBmcm9tIHRoZSBpbi1jbHVzdGVyIGBob3N0YC9gcG9ydGAuIFRoZVxuICAgKiBpbi1jbHVzdGVyIGByZWdpc3RyeTo1MDAwYCBDbHVzdGVySVAgaXNuJ3QgcmVzb2x2YWJsZSBmcm9tIHRoZSBWUEMsIHNvIHRoZVxuICAgKiBzeW50aGVzaXplZCBDb2RlQnVpbGQgaW1hZ2UgVVJJIG11c3QgcG9pbnQgYXQgdGhlIHB1YmxpYyBnYXRld2F5IGluc3RlYWQuXG4gICAqIEVudjogYElNQUdFX1JFR0lTVFJZX1BVTExfSE9TVGAgLyBgSU1BR0VfUkVHSVNUUllfUFVMTF9QT1JUYC4gT3B0aW9uYWw7XG4gICAqIGNvbnN1bWVycyBmYWxsIGJhY2sgdG8gYGhvc3RgL2Bwb3J0YCB3aGVuIHVuc2V0IChzaW5nbGUtaG9zdCAvXG4gICAqIGluLWNsdXN0ZXItb25seSBkZXBsb3lzKS4gYGxvYWRSZWdpc3RyeUNvbmZpZ2AgYWx3YXlzIHBvcHVsYXRlcyB0aGVtLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVsbEhvc3Q/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHB1bGxQb3J0PzogbnVtYmVyO1xuICAvKiogRG9ja2VyIG5ldHdvcmsgZm9yIGJ1aWxkL3B1c2ggKGVtcHR5IHN0cmluZyA9IGRlZmF1bHQpLiAqL1xuICByZWFkb25seSBuZXR3b3JrOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCdWlsZEtpdCB0YWxrcyB0byB0aGUgcmVnaXN0cnkgb3ZlciBwbGFpbiBIVFRQIHdoZW4gdHJ1ZTsgSFRUUFMgd2l0aCB0aGVcbiAgICogc3lzdGVtIENBIGJ1bmRsZSBvdGhlcndpc2UuIEVudjogYElNQUdFX1JFR0lTVFJZX0hUVFBgIChkZWZhdWx0cyB0cnVlIOKAlFxuICAgKiB0aGUgaW4tY2x1c3RlciByZWdpc3RyeSBoYXMgbm8gVExTKS5cbiAgICovXG4gIHJlYWRvbmx5IGh0dHA6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luQnVpbGRDb25maWcge1xuICByZWFkb25seSBjb25jdXJyZW5jeTogbnVtYmVyO1xuICByZWFkb25seSBtYXhBdHRlbXB0czogbnVtYmVyO1xuICByZWFkb25seSBiYWNrb2ZmRGVsYXlNczogbnVtYmVyO1xuICByZWFkb25seSB3b3JrZXJUaW1lb3V0TXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGVtcERpck1heEFnZU1zOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscU1heEF0dGVtcHRzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscUJhY2tvZmZCYXNlTXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgZGxxTWF4U2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkQ29uZmlnIHtcbiAgLyoqIFJvb3QgZGlyZWN0b3J5IGZvciBidWlsZCB0ZW1wIGZpbGVzLiAqL1xuICByZWFkb25seSB0ZW1wUm9vdDogc3RyaW5nO1xuICAvKiogQnVpbGQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuICovXG4gIHJlYWRvbmx5IHRpbWVvdXRNczogbnVtYmVyO1xuICAvKiogUHVzaCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gKi9cbiAgcmVhZG9ubHkgcHVzaFRpbWVvdXRNczogbnVtYmVyO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnVpbGRraXRkIHNvY2tldCB0aGUgcGx1Z2luJ3MgYGJ1aWxkY3RsYCBjb25uZWN0cyB0by4gSW4gazhzXG4gICAqIGFuZCBjb21wb3NlIHRoaXMgaXMgYSBzaGFyZWQgZW1wdHlEaXIvdG1wZnMgdm9sdW1lIG1vdW50ZWQgZnJvbSB0aGVcbiAgICogYnVpbGRraXRkIHNpZGVjYXIuXG4gICAqL1xuICByZWFkb25seSBidWlsZGtpdEFkZHI6IHN0cmluZztcbiAgLyoqXG4gICAqIFBFTSBwdWJsaWMga2V5IHBsdWdpbiBpbWFnZXMgYXJlIHZlcmlmaWVkIGFnYWluc3QgKGVudjpcbiAgICogYFBMVUdJTl9TSUdOSU5HX1BVQkxJQ19LRVlfRklMRWApLiBUaGUgUFJJVkFURSBoYWxmIGxpdmVzIG9ubHkgaW4gdGhlXG4gICAqIGltYWdlLXJlZ2lzdHJ5IHNlcnZpY2UsIHdoaWNoIHNpZ25zIGV2ZXJ5IHB1c2hlZCBwbHVnaW4gaW1hZ2Ug4oCUIG5ldmVyIGluIHRoZVxuICAgKiBwbHVnaW4gcG9kLCB3aG9zZSBuZXR3b3JrIG5hbWVzcGFjZSBpcyBzaGFyZWQgd2l0aCB1bnRydXN0ZWQgYnVpbGRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2lnbmluZ1B1YmxpY0tleUZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmlsaXR5Q29uZmlnIHtcbiAgcmVhZG9ubHkgbG9nTGV2ZWw6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9nRm9ybWF0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRyYWNpbmc6IHtcbiAgICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGVuZHBvaW50OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHNjYW5TY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBXaGVuIGZhbHNlLCB0aGUgc2NoZWR1bGVyIHNraXBzIHNjYW5zL3NjaGVkdWxlcyBmb3IgdGhlIHN5c3RlbSBvcmcuIERlZmF1bHQ6IGZhbHNlLiAqL1xuICByZWFkb25seSBzeXN0ZW1PcmdTY2Fuc0VuYWJsZWQ6IGJvb2xlYW47XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgc2NhbiBzY2hlZHVsZXIgKG1zKS4gRGVmYXVsdDogMzAwMDAwLiAqL1xuICByZWFkb25seSBzY2FuTG9ja1R0bE1zOiBudW1iZXI7XG4gIC8qKiBIb3cgb2Z0ZW4gdGhlIGRpZ2VzdCBzY2hlZHVsZXIgY2hlY2tzIGZvciBkdWUgZGlnZXN0cyAobXMpLiBEZWZhdWx0OiAzNjAwMDAwLiAqL1xuICByZWFkb25seSBkaWdlc3RTY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgZGlnZXN0IHNjaGVkdWxlciAobXMpLiBEZWZhdWx0OiAzMDAwMDAuICovXG4gIHJlYWRvbmx5IGRpZ2VzdExvY2tUdGxNczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFXUyBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIERlbGliZXJhdGVseSBleHByZXNzZWQgaW4gUExBSU4gREFUQSAobnVtYmVycywgc3RyaW5ncywgc3RyaW5nIHVuaW9ucykgcmF0aGVyXG4gKiB0aGFuIENESyB2YWx1ZSBvYmplY3RzIChgRHVyYXRpb25gLCBgUnVudGltZWAsIGBSZXRlbnRpb25EYXlzYCwgLi4uKS4gQ29uZmlnIGlzXG4gKiBsb2FkZWQgYnkgZXZlcnkgc2VydmljZSwgYnV0IG9ubHkgdGhlIENESyBlbnRyeSBwb2ludCAoYEBwaXBlbGluZS1idWlsZGVyL1xuICogcGlwZWxpbmUtY29yZS9jZGtgKSBidWlsZHMgc3RhY2tzICB0eXBpbmcgdGhpcyBibG9jayB3aXRoIENESyBjbGFzc2VzIHB1dFxuICogYGF3cy1jZGstbGliYCBvbiB0aGUgaW1wb3J0IGdyYXBoIG9mIGBDb25maWdgLCBhbmQgdGhlcmVmb3JlIG9mIGV2ZXJ5IEFQSVxuICogc2VydmljZSB0aGF0IHJlYWRzIHNvIG11Y2ggYXMgYSBwb3J0IG51bWJlci4gQ29udmVyc2lvbiB0byBDREsgb2JqZWN0cyBoYXBwZW5zXG4gKiBhdCB0aGUgY29uc3RydWN0IGJvdW5kYXJ5IGluIGBjb25maWcvYXdzLWNvbmZpZy1jZGsudHNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFXU0NvbmZpZyB7XG4gIHJlYWRvbmx5IGxhbWJkYToge1xuICAgIC8qKiBMYW1iZGEgcnVudGltZSBpZGVudGlmaWVyLCBlLmcuIGAnbm9kZWpzMjYueCdgIChlbnY6IGBMQU1CREFfUlVOVElNRWApLiAqL1xuICAgIHJlYWRvbmx5IHJ1bnRpbWU6IHN0cmluZztcbiAgICAvKiogRnVuY3Rpb24gdGltZW91dCBpbiBzZWNvbmRzIChlbnY6IGBMQU1CREFfVElNRU9VVGApLiAqL1xuICAgIHJlYWRvbmx5IHRpbWVvdXRTZWNvbmRzOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbWVtb3J5U2l6ZTogbnVtYmVyO1xuICAgIC8qKiBMYW1iZGEgQ1BVIGFyY2hpdGVjdHVyZSAoZW52OiBgTEFNQkRBX0FSQ0hJVEVDVFVSRWAsIGBBUk1fNjRgIG9yIGB4ODZfNjRgKS4gKi9cbiAgICByZWFkb25seSBhcmNoaXRlY3R1cmU6ICdhcm02NCcgfCAneDg2XzY0JztcbiAgICByZWFkb25seSByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zPzogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSBsb2dnaW5nOiB7XG4gICAgcmVhZG9ubHkgZ3JvdXBOYW1lOiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IGNvZGVCdWlsZDoge1xuICAgIC8qKiBDb2RlQnVpbGQgY29tcHV0ZSB0eXBlIG5hbWUsIGUuZy4gYCdTTUFMTCdgIChlbnY6IGBDT0RFQlVJTERfQ09NUFVURV9UWVBFYCkuICovXG4gICAgcmVhZG9ubHkgY29tcHV0ZVR5cGU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBJbWFnZSB1c2VkIGZvciBDb2RlQnVpbGQgc3RlcHMgdGhhdCBkb24ndCBoYXZlIGEgcGx1Z2luLWJha2VkIGltYWdlXG4gICAgICogKGNvbGQtc3RhcnQgc3ludGggYm9vdHN0cmFwLCBTaGVsbFN0ZXBzIHdpdGggbm8gcmVnaXN0cnksIGFuZFxuICAgICAqIGBtZXRhZGF0YV9vbmx5YCBwbHVnaW5zKS4gZW52OiBgQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0VgLiBEZWZhdWx0XG4gICAgICogYHBpcGVsaW5lLWJvb3RzdHJhcDoxLjBgIOKAlCB0aGUgbG9jYWwgdGFnIGJ1aWx0IGJ5XG4gICAgICogYGRlcGxveS9jb2RlYnVpbGQvYm9vdHN0cmFwL0RvY2tlcmZpbGVgLCB3aXRoIGBwaXBlbGluZS1tYW5hZ2VyYFxuICAgICAqIGJha2VkIGluLlxuICAgICAqXG4gICAgICogQ29udHJhY3Q6IHRoZSBpbWFnZSBNVVNUIGhhdmUgYHBpcGVsaW5lLW1hbmFnZXJgIG9uIFBBVEguIFRoZVxuICAgICAqIGJvb3RzdHJhcCBzeW50aCBwYXRoIGRvZXMgbm90IHNlbGYtaGVhbCB2aWEgYG5wbSBpbnN0YWxsIC1nYDtcbiAgICAgKiBwb2ludGluZyB0aGlzIGF0IGFuIGltYWdlIHdpdGhvdXQgdGhlIHRvb2wgZ2V0cyBleGl0IDEyNyBvbiB0aGVcbiAgICAgKiBmaXJzdCBjb2xkLXN0YXJ0IGJ1aWxkLlxuICAgICAqXG4gICAgICogUmVzb2x1dGlvbjpcbiAgICAgKiAtIEJhcmUgdGFnIChubyBgL2ApIOKGkiBhdXRvLXByZWZpeGVkIHRvXG4gICAgICogICBgPHJlZ2lzdHJ5LWhvc3Q+Ojxwb3J0Pi9saWJyYXJ5Lzx0YWc+YCB1c2luZyB0aGUgcmVnaXN0cnkgY29uZmlnLFxuICAgICAqICAgd2l0aCB0aGUgcGVyLW9yZyBwbGF0Zm9ybSBTZWNyZXQgYXMgQmFzaWMgYXV0aCAoc2FtZSBmbG93IGFzXG4gICAgICogICBwbHVnaW4gaW1hZ2VzKS5cbiAgICAgKiAtIEZ1bGx5LXF1YWxpZmllZCByZWdpc3RyeSBVUkkgKGNvbnRhaW5zIGAvYCkg4oaSIHVzZWQgYXMtaXMsIG5vXG4gICAgICogICBhdXRoIHdpcmVkIChvcGVyYXRvciBvd25zIG1ha2luZyBpdCBwdWxsYWJsZSkuXG4gICAgICogLSBXaGVuIHRoZSByZWdpc3RyeSBpc24ndCBjb25maWd1cmVkIG9yIHBlci1vcmcgYXV0aCBpc24ndFxuICAgICAqICAgYXZhaWxhYmxlIGF0IHRoZSBjYWxsIHNpdGUsIGZhbGxzIGJhY2sgdG9cbiAgICAgKiAgIGBhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjguMGAgd2l0aCBhIHdhcm5pbmcg4oCUIGNvbGQtc3RhcnQgc3ludGhcbiAgICAgKiAgIHdpbGwgdGhlbiBmYWlsIG9uIGBwaXBlbGluZS1tYW5hZ2VyOiBub3QgZm91bmRgLCBzdXJmYWNpbmcgdGhlXG4gICAgICogICBtaXNjb25maWd1cmF0aW9uIGxvdWRseSBpbnN0ZWFkIG9mIHNpbGVudGx5IHN3YXBwaW5nIGltYWdlcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBkZWZhdWx0SW1hZ2U6IHN0cmluZztcbiAgfTtcbn1cblxuLyoqIEV4cHJlc3MgcmF0ZSBsaW1pdGluZyBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBSYXRlTGltaXRDb25maWcge1xuICAvKiogTWF4aW11bSByZXF1ZXN0cyBwZXIgd2luZG93IChlbnY6IGBMSU1JVEVSX01BWGApLiAqL1xuICByZWFkb25seSBtYXg6IG51bWJlcjtcbiAgLyoqIFJhdGUgbGltaXQgd2luZG93IGluIG1pbGxpc2Vjb25kcyAoZW52OiBgTElNSVRFUl9XSU5ET1dNU2ApLiAqL1xuICByZWFkb25seSB3aW5kb3dNczogbnVtYmVyO1xufVxuIl19
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9jb25maWctdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5cbi8qKlxuICogVHlwZS1zYWZlIGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXBwQ29uZmlnIHtcbiAgcmVhZG9ubHkgc2VydmVyOiBTZXJ2ZXJDb25maWc7XG4gIHJlYWRvbmx5IGF1dGg6IEF1dGhDb25maWc7XG4gIHJlYWRvbmx5IGRhdGFiYXNlOiBEYXRhYmFzZUNvbmZpZztcbiAgcmVhZG9ubHkgcmVnaXN0cnk6IFJlZ2lzdHJ5Q29uZmlnO1xuICByZWFkb25seSBwbHVnaW5CdWlsZDogUGx1Z2luQnVpbGRDb25maWc7XG4gIHJlYWRvbmx5IGRvY2tlckNvbmZpZzogQnVpbGRDb25maWc7XG4gIHJlYWRvbmx5IG9ic2VydmFiaWxpdHk6IE9ic2VydmFiaWxpdHlDb25maWc7XG4gIHJlYWRvbmx5IGNvbXBsaWFuY2U6IENvbXBsaWFuY2VDb25maWc7XG4gIHJlYWRvbmx5IGF3czogQVdTQ29uZmlnO1xuICByZWFkb25seSByYXRlTGltaXQ6IFJhdGVMaW1pdENvbmZpZztcbn1cblxuLyoqIEV4cHJlc3Mgc2VydmVyIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFNlcnZlckNvbmZpZyB7XG4gIC8qKiBIVFRQIGxpc3RlbiBwb3J0IChlbnY6IGBQT1JUYCkuICovXG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgcmVhZG9ubHkgY29yczoge1xuICAgIC8qKiBXaGV0aGVyIHRvIGluY2x1ZGUgY3JlZGVudGlhbHMgaW4gQ09SUyByZXNwb25zZXMgKGVudjogYENPUlNfQ1JFREVOVElBTFNgKS4gKi9cbiAgICByZWFkb25seSBjcmVkZW50aWFsczogYm9vbGVhbjtcbiAgICAvKiogQWxsb3dlZCBvcmlnaW4ocykg4oCUIHNpbmdsZSBzdHJpbmcsIGFycmF5LCBvciBgJyonYCAoZW52OiBgQ09SU19PUklHSU5gKS4gKi9cbiAgICByZWFkb25seSBvcmlnaW46IHN0cmluZyB8IHN0cmluZ1tdO1xuICB9O1xuICAvKiogTnVtYmVyIG9mIHJldmVyc2UgcHJveHkgaG9wcyB0byB0cnVzdCAoZW52OiBgVFJVU1RfUFJPWFlgKS4gKi9cbiAgcmVhZG9ubHkgdHJ1c3RQcm94eTogbnVtYmVyO1xuICAvKiogRnJvbnRlbmQgYmFzZSBVUkwsIHVzZWQgYXMgQ09SUyBmYWxsYmFjayAoZW52OiBgUExBVEZPUk1fQkFTRV9VUkxgKS4gKi9cbiAgcmVhZG9ubHkgcGxhdGZvcm1Vcmw6IHN0cmluZztcbiAgcmVhZG9ubHkgaHR0cENsaWVudDoge1xuICAgIC8qKiBEZWZhdWx0IEhUVFAgcmVxdWVzdCB0aW1lb3V0IGluIG1zIChlbnY6IGBIVFRQX0NMSUVOVF9USU1FT1VUYCkuICovXG4gICAgcmVhZG9ubHkgdGltZW91dDogbnVtYmVyO1xuICAgIC8qKiBNYXhpbXVtIHJldHJ5IGF0dGVtcHRzIGZvciBmYWlsZWQgcmVxdWVzdHMgKGVudjogYEhUVFBfQ0xJRU5UX01BWF9SRVRSSUVTYCkuICovXG4gICAgcmVhZG9ubHkgbWF4UmV0cmllczogbnVtYmVyO1xuICAgIC8qKiBCYXNlIGRlbGF5IGJldHdlZW4gcmV0cmllcyBpbiBtcyAoZW52OiBgSFRUUF9DTElFTlRfUkVUUllfREVMQVlfTVNgKS4gKi9cbiAgICByZWFkb25seSByZXRyeURlbGF5TXM6IG51bWJlcjtcbiAgfTtcbiAgcmVhZG9ubHkgc3NlOiB7XG4gICAgLyoqIE1heCBTU0UgY2xpZW50cyBwZXIgcmVxdWVzdCAoZW52OiBgU1NFX01BWF9DTElFTlRTX1BFUl9SRVFVRVNUYCkuICovXG4gICAgcmVhZG9ubHkgbWF4Q2xpZW50c1BlclJlcXVlc3Q6IG51bWJlcjtcbiAgICAvKiogU1NFIGNsaWVudCB0aW1lb3V0IGluIG1zIChlbnY6IGBTU0VfQ0xJRU5UX1RJTUVPVVRfTVNgKS4gKi9cbiAgICByZWFkb25seSBjbGllbnRUaW1lb3V0TXM6IG51bWJlcjtcbiAgICAvKiogU1NFIGNsZWFudXAgaW50ZXJ2YWwgaW4gbXMgKGVudjogYFNTRV9DTEVBTlVQX0lOVEVSVkFMX01TYCkuICovXG4gICAgcmVhZG9ubHkgY2xlYW51cEludGVydmFsTXM6IG51bWJlcjtcbiAgfTtcbiAgLyoqIFNpYmxpbmctc2VydmljZSBhZGRyZXNzZXMsIHJlc29sdmVkIGJ5IGFwaS1jb3JlJ3MgYHNlcnZpY2VFbmRwb2ludGBcbiAgICogIChgPE5BTUU+X1NFUlZJQ0VfSE9TVGAgLyBgPE5BTUU+X1NFUlZJQ0VfUE9SVGApLiAqL1xuICByZWFkb25seSBzZXJ2aWNlczoge1xuICAgIHJlYWRvbmx5IHBsdWdpbkhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBwbHVnaW5Qb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcGlwZWxpbmVIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgcGlwZWxpbmVQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbWVzc2FnZUhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBtZXNzYWdlUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHBsYXRmb3JtSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBsYXRmb3JtUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGNvbXBsaWFuY2VIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY29tcGxpYW5jZVBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBiaWxsaW5nSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGJpbGxpbmdQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgYmlsbGluZ1RpbWVvdXQ6IG51bWJlcjtcbiAgICAvKiogaW1hZ2UtcmVnaXN0cnkgc2VydmljZSDigJQgdGhlIHBsdWdpbiB3b3JrZXIgYXNrcyBpdCB0byBzaWduIHB1c2hlZCBpbWFnZXMgKGVudjogYElNQUdFX1JFR0lTVFJZX1NFUlZJQ0VfSE9TVGApLiAqL1xuICAgIHJlYWRvbmx5IGltYWdlUmVnaXN0cnlIb3N0OiBzdHJpbmc7XG4gICAgLyoqIGVudjogYElNQUdFX1JFR0lTVFJZX1NFUlZJQ0VfUE9SVGAgKi9cbiAgICByZWFkb25seSBpbWFnZVJlZ2lzdHJ5UG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHF1b3RhSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHF1b3RhUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHJlcG9ydGluZ0hvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSByZXBvcnRpbmdQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgYXNrSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGFza1BvcnQ6IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqIEF1dGhlbnRpY2F0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBnZW5lcmljIHNlcnZpY2Ugc2NhZmZvbGQuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDb25maWcge1xuICByZWFkb25seSBqd3Q6IHtcbiAgICAvKipcbiAgICAgKiBUb2tlbiBsaWZldGltZSBpbiBzZWNvbmRzIChlbnY6IGBKV1RfRVhQSVJFU19JTmApLlxuICAgICAqXG4gICAgICogVGhlcmUgaXMgbm8gSldUIFNFQ1JFVCBoZXJlIGFueSBtb3JlLiBFdmVyeSB0b2tlbiBpcyBhc3ltbWV0cmljOiBhIHVzZXJcbiAgICAgKiB0b2tlbiBpcyBFUzI1NiBzaWduZWQgYnkgcGxhdGZvcm0gYWxvbmUgKGBzZXJ2aWNlcy90b2tlbi1zaWduaW5nYCksIGFuZCBhblxuICAgICAqIGludGVybmFsIHNlcnZpY2UgdG9rZW4gaXMgRVMyNTYgc2lnbmVkIGJ5IHRoZSBDQUxMSU5HIHNlcnZpY2Ugd2l0aCBpdHMgb3duXG4gICAgICoga2V5ICgjMTQsIGBTRVJWSUNFX1NJR05JTkdfS0VZX0ZJTEVgIC8gYFNFUlZJQ0VfS0VZX0JVTkRMRV9GSUxFYCkuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhwaXJlc0luOiBudW1iZXI7XG4gICAgLyoqIGJjcnlwdCBzYWx0IHJvdW5kcyBmb3IgcGFzc3dvcmQgaGFzaGluZyAoZW52OiBgQkNSWVBUX1NBTFRfUk9VTkRTYCkuICovXG4gICAgcmVhZG9ubHkgc2FsdFJvdW5kczogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSByZWZyZXNoVG9rZW46IHtcbiAgICAvKipcbiAgICAgKiBUb2tlbiBsaWZldGltZSBpbiBzZWNvbmRzIChlbnY6IGBSRUZSRVNIX1RPS0VOX0VYUElSRVNfSU5gKS4gVGhlcmUgaXMgbm9cbiAgICAgKiByZWZyZXNoLXRva2VuIFNFQ1JFVCBhbnkgbW9yZTogYSByZWZyZXNoIHRva2VuIGlzIGEgdXNlciB0b2tlbiwgc2lnbmVkXG4gICAgICogd2l0aCBwbGF0Zm9ybSdzIEVTMjU2IGtleSBsaWtlIGV2ZXJ5IG90aGVyIGNyZWRlbnRpYWwgYSBwZXJzb24gaG9sZHMuXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXhwaXJlc0luOiBudW1iZXI7XG4gIH07XG59XG5cbi8qKiBQb3N0Z3JlU1FMIGFuZCBEcml6emxlIE9STSBkYXRhYmFzZSBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhYmFzZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHBvc3RncmVzOiB7XG4gICAgLyoqIFBvc3RncmVTUUwgaG9zdCAoZW52OiBgREJfSE9TVGApLiAqL1xuICAgIHJlYWRvbmx5IGhvc3Q6IHN0cmluZztcbiAgICAvKiogUG9zdGdyZVNRTCBwb3J0IChlbnY6IGBEQl9QT1JUYCkuICovXG4gICAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIC8qKiBEYXRhYmFzZSBuYW1lIChlbnY6IGBEQVRBQkFTRWApLiAqL1xuICAgIHJlYWRvbmx5IGRhdGFiYXNlOiBzdHJpbmc7XG4gICAgLyoqIERhdGFiYXNlIHVzZXIgKGVudjogYERCX1VTRVJgKS4gKi9cbiAgICByZWFkb25seSB1c2VyOiBzdHJpbmc7XG4gICAgLyoqIERhdGFiYXNlIHBhc3N3b3JkIChlbnY6IGBEQl9QQVNTV09SRGApLiAqL1xuICAgIHJlYWRvbmx5IHBhc3N3b3JkOiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IGRyaXp6bGU6IHtcbiAgICAvKiogTWF4aW11bSBjb25uZWN0aW9uIHBvb2wgc2l6ZSAoZW52OiBgRFJJWlpMRV9NQVhfUE9PTF9TSVpFYCkuICovXG4gICAgcmVhZG9ubHkgbWF4UG9vbFNpemU6IG51bWJlcjtcbiAgICAvKiogSWRsZSBjb25uZWN0aW9uIHRpbWVvdXQgaW4gbXMgKGVudjogYERSSVpaTEVfSURMRV9USU1FT1VUX01JTExJU2ApLiAqL1xuICAgIHJlYWRvbmx5IGlkbGVUaW1lb3V0TWlsbGlzOiBudW1iZXI7XG4gICAgLyoqIE5ldyBjb25uZWN0aW9uIHRpbWVvdXQgaW4gbXMgKGVudjogYERSSVpaTEVfQ09OTkVDVElPTl9USU1FT1VUX01JTExJU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNvbm5lY3Rpb25UaW1lb3V0TWlsbGlzOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0cnlDb25maWcge1xuICByZWFkb25seSBob3N0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBvcnQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIEhvc3QvcG9ydCBhbiBPVVQtT0YtQ0xVU1RFUiBjbGllbnQgKG5vdGFibHkgQVdTIENvZGVCdWlsZCkgdXNlcyB0byBwdWxsXG4gICAqIHBsdWdpbiBpbWFnZXMsIHdoZW4gaXQgZGlmZmVycyBmcm9tIHRoZSBpbi1jbHVzdGVyIGBob3N0YC9gcG9ydGAuIFRoZVxuICAgKiBpbi1jbHVzdGVyIGByZWdpc3RyeTo1MDAwYCBDbHVzdGVySVAgaXNuJ3QgcmVzb2x2YWJsZSBmcm9tIHRoZSBWUEMsIHNvIHRoZVxuICAgKiBzeW50aGVzaXplZCBDb2RlQnVpbGQgaW1hZ2UgVVJJIG11c3QgcG9pbnQgYXQgdGhlIHB1YmxpYyBnYXRld2F5IGluc3RlYWQuXG4gICAqIEVudjogYElNQUdFX1JFR0lTVFJZX1BVTExfSE9TVGAgLyBgSU1BR0VfUkVHSVNUUllfUFVMTF9QT1JUYC4gT3B0aW9uYWw7XG4gICAqIGNvbnN1bWVycyBmYWxsIGJhY2sgdG8gYGhvc3RgL2Bwb3J0YCB3aGVuIHVuc2V0IChzaW5nbGUtaG9zdCAvXG4gICAqIGluLWNsdXN0ZXItb25seSBkZXBsb3lzKS4gYGxvYWRSZWdpc3RyeUNvbmZpZ2AgYWx3YXlzIHBvcHVsYXRlcyB0aGVtLlxuICAgKi9cbiAgcmVhZG9ubHkgcHVsbEhvc3Q/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHB1bGxQb3J0PzogbnVtYmVyO1xuICAvKiogRG9ja2VyIG5ldHdvcmsgZm9yIGJ1aWxkL3B1c2ggKGVtcHR5IHN0cmluZyA9IGRlZmF1bHQpLiAqL1xuICByZWFkb25seSBuZXR3b3JrOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBCdWlsZEtpdCB0YWxrcyB0byB0aGUgcmVnaXN0cnkgb3ZlciBwbGFpbiBIVFRQIHdoZW4gdHJ1ZTsgSFRUUFMgd2l0aCB0aGVcbiAgICogc3lzdGVtIENBIGJ1bmRsZSBvdGhlcndpc2UuIEVudjogYElNQUdFX1JFR0lTVFJZX0hUVFBgIChkZWZhdWx0cyB0cnVlIOKAlFxuICAgKiB0aGUgaW4tY2x1c3RlciByZWdpc3RyeSBoYXMgbm8gVExTKS5cbiAgICovXG4gIHJlYWRvbmx5IGh0dHA6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luQnVpbGRDb25maWcge1xuICByZWFkb25seSBjb25jdXJyZW5jeTogbnVtYmVyO1xuICByZWFkb25seSBtYXhBdHRlbXB0czogbnVtYmVyO1xuICByZWFkb25seSBiYWNrb2ZmRGVsYXlNczogbnVtYmVyO1xuICByZWFkb25seSB3b3JrZXJUaW1lb3V0TXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGVtcERpck1heEFnZU1zOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscU1heEF0dGVtcHRzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscUJhY2tvZmZCYXNlTXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgZGxxTWF4U2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkQ29uZmlnIHtcbiAgLyoqIFJvb3QgZGlyZWN0b3J5IGZvciBidWlsZCB0ZW1wIGZpbGVzLiAqL1xuICByZWFkb25seSB0ZW1wUm9vdDogc3RyaW5nO1xuICAvKiogQnVpbGQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuICovXG4gIHJlYWRvbmx5IHRpbWVvdXRNczogbnVtYmVyO1xuICAvKiogUHVzaCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gKi9cbiAgcmVhZG9ubHkgcHVzaFRpbWVvdXRNczogbnVtYmVyO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnVpbGRraXRkIHNvY2tldCB0aGUgcGx1Z2luJ3MgYGJ1aWxkY3RsYCBjb25uZWN0cyB0by4gSW4gazhzXG4gICAqIGFuZCBjb21wb3NlIHRoaXMgaXMgYSBzaGFyZWQgZW1wdHlEaXIvdG1wZnMgdm9sdW1lIG1vdW50ZWQgZnJvbSB0aGVcbiAgICogYnVpbGRraXRkIHNpZGVjYXIuXG4gICAqL1xuICByZWFkb25seSBidWlsZGtpdEFkZHI6IHN0cmluZztcbiAgLyoqXG4gICAqIFBFTSBwdWJsaWMga2V5IHBsdWdpbiBpbWFnZXMgYXJlIHZlcmlmaWVkIGFnYWluc3QgKGVudjpcbiAgICogYFBMVUdJTl9TSUdOSU5HX1BVQkxJQ19LRVlfRklMRWApLiBUaGUgUFJJVkFURSBoYWxmIGxpdmVzIG9ubHkgaW4gdGhlXG4gICAqIGltYWdlLXJlZ2lzdHJ5IHNlcnZpY2UsIHdoaWNoIHNpZ25zIGV2ZXJ5IHB1c2hlZCBwbHVnaW4gaW1hZ2Ug4oCUIG5ldmVyIGluIHRoZVxuICAgKiBwbHVnaW4gcG9kLCB3aG9zZSBuZXR3b3JrIG5hbWVzcGFjZSBpcyBzaGFyZWQgd2l0aCB1bnRydXN0ZWQgYnVpbGRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2lnbmluZ1B1YmxpY0tleUZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmlsaXR5Q29uZmlnIHtcbiAgcmVhZG9ubHkgbG9nTGV2ZWw6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9nRm9ybWF0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRyYWNpbmc6IHtcbiAgICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGVuZHBvaW50OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHNjYW5TY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBXaGVuIGZhbHNlLCB0aGUgc2NoZWR1bGVyIHNraXBzIHNjYW5zL3NjaGVkdWxlcyBmb3IgdGhlIHN5c3RlbSBvcmcuIERlZmF1bHQ6IGZhbHNlLiAqL1xuICByZWFkb25seSBzeXN0ZW1PcmdTY2Fuc0VuYWJsZWQ6IGJvb2xlYW47XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgc2NhbiBzY2hlZHVsZXIgKG1zKS4gRGVmYXVsdDogMzAwMDAwLiAqL1xuICByZWFkb25seSBzY2FuTG9ja1R0bE1zOiBudW1iZXI7XG4gIC8qKiBIb3cgb2Z0ZW4gdGhlIGRpZ2VzdCBzY2hlZHVsZXIgY2hlY2tzIGZvciBkdWUgZGlnZXN0cyAobXMpLiBEZWZhdWx0OiAzNjAwMDAwLiAqL1xuICByZWFkb25seSBkaWdlc3RTY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgZGlnZXN0IHNjaGVkdWxlciAobXMpLiBEZWZhdWx0OiAzMDAwMDAuICovXG4gIHJlYWRvbmx5IGRpZ2VzdExvY2tUdGxNczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFXUyBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIERlbGliZXJhdGVseSBleHByZXNzZWQgaW4gUExBSU4gREFUQSAobnVtYmVycywgc3RyaW5ncywgc3RyaW5nIHVuaW9ucykgcmF0aGVyXG4gKiB0aGFuIENESyB2YWx1ZSBvYmplY3RzIChgRHVyYXRpb25gLCBgUnVudGltZWAsIGBSZXRlbnRpb25EYXlzYCwgLi4uKS4gQ29uZmlnIGlzXG4gKiBsb2FkZWQgYnkgZXZlcnkgc2VydmljZSwgYnV0IG9ubHkgdGhlIENESyBlbnRyeSBwb2ludCAoYEBwaXBlbGluZS1idWlsZGVyL1xuICogcGlwZWxpbmUtY29yZS9jZGtgKSBidWlsZHMgc3RhY2tzICB0eXBpbmcgdGhpcyBibG9jayB3aXRoIENESyBjbGFzc2VzIHB1dFxuICogYGF3cy1jZGstbGliYCBvbiB0aGUgaW1wb3J0IGdyYXBoIG9mIGBDb25maWdgLCBhbmQgdGhlcmVmb3JlIG9mIGV2ZXJ5IEFQSVxuICogc2VydmljZSB0aGF0IHJlYWRzIHNvIG11Y2ggYXMgYSBwb3J0IG51bWJlci4gQ29udmVyc2lvbiB0byBDREsgb2JqZWN0cyBoYXBwZW5zXG4gKiBhdCB0aGUgY29uc3RydWN0IGJvdW5kYXJ5IGluIGBjb25maWcvYXdzLWNvbmZpZy1jZGsudHNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFXU0NvbmZpZyB7XG4gIHJlYWRvbmx5IGxhbWJkYToge1xuICAgIC8qKiBMYW1iZGEgcnVudGltZSBpZGVudGlmaWVyLCBlLmcuIGAnbm9kZWpzMjYueCdgIChlbnY6IGBMQU1CREFfUlVOVElNRWApLiAqL1xuICAgIHJlYWRvbmx5IHJ1bnRpbWU6IHN0cmluZztcbiAgICAvKiogRnVuY3Rpb24gdGltZW91dCBpbiBzZWNvbmRzIChlbnY6IGBMQU1CREFfVElNRU9VVGApLiAqL1xuICAgIHJlYWRvbmx5IHRpbWVvdXRTZWNvbmRzOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbWVtb3J5U2l6ZTogbnVtYmVyO1xuICAgIC8qKiBMYW1iZGEgQ1BVIGFyY2hpdGVjdHVyZSAoZW52OiBgTEFNQkRBX0FSQ0hJVEVDVFVSRWAsIGBBUk1fNjRgIG9yIGB4ODZfNjRgKS4gKi9cbiAgICByZWFkb25seSBhcmNoaXRlY3R1cmU6ICdhcm02NCcgfCAneDg2XzY0JztcbiAgICByZWFkb25seSByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zPzogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSBsb2dnaW5nOiB7XG4gICAgcmVhZG9ubHkgZ3JvdXBOYW1lOiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IGNvZGVCdWlsZDoge1xuICAgIC8qKiBDb2RlQnVpbGQgY29tcHV0ZSB0eXBlIG5hbWUsIGUuZy4gYCdTTUFMTCdgIChlbnY6IGBDT0RFQlVJTERfQ09NUFVURV9UWVBFYCkuICovXG4gICAgcmVhZG9ubHkgY29tcHV0ZVR5cGU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBJbWFnZSB1c2VkIGZvciBDb2RlQnVpbGQgc3RlcHMgdGhhdCBkb24ndCBoYXZlIGEgcGx1Z2luLWJha2VkIGltYWdlXG4gICAgICogKGNvbGQtc3RhcnQgc3ludGggYm9vdHN0cmFwLCBTaGVsbFN0ZXBzIHdpdGggbm8gcmVnaXN0cnksIGFuZFxuICAgICAqIGBtZXRhZGF0YV9vbmx5YCBwbHVnaW5zKS4gZW52OiBgQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0VgLiBEZWZhdWx0XG4gICAgICogYHBpcGVsaW5lLWJvb3RzdHJhcDoxLjBgIOKAlCB0aGUgbG9jYWwgdGFnIGJ1aWx0IGJ5XG4gICAgICogYGRlcGxveS9jb2RlYnVpbGQvYm9vdHN0cmFwL0RvY2tlcmZpbGVgLCB3aXRoIGBwaXBlbGluZS1tYW5hZ2VyYFxuICAgICAqIGJha2VkIGluLlxuICAgICAqXG4gICAgICogQ29udHJhY3Q6IHRoZSBpbWFnZSBNVVNUIGhhdmUgYHBpcGVsaW5lLW1hbmFnZXJgIG9uIFBBVEguIFRoZVxuICAgICAqIGJvb3RzdHJhcCBzeW50aCBwYXRoIGRvZXMgbm90IHNlbGYtaGVhbCB2aWEgYG5wbSBpbnN0YWxsIC1nYDtcbiAgICAgKiBwb2ludGluZyB0aGlzIGF0IGFuIGltYWdlIHdpdGhvdXQgdGhlIHRvb2wgZ2V0cyBleGl0IDEyNyBvbiB0aGVcbiAgICAgKiBmaXJzdCBjb2xkLXN0YXJ0IGJ1aWxkLlxuICAgICAqXG4gICAgICogUmVzb2x1dGlvbjpcbiAgICAgKiAtIEJhcmUgdGFnIChubyBgL2ApIOKGkiBhdXRvLXByZWZpeGVkIHRvXG4gICAgICogICBgPHJlZ2lzdHJ5LWhvc3Q+Ojxwb3J0Pi9saWJyYXJ5Lzx0YWc+YCB1c2luZyB0aGUgcmVnaXN0cnkgY29uZmlnLFxuICAgICAqICAgd2l0aCB0aGUgcGVyLW9yZyBwbGF0Zm9ybSBTZWNyZXQgYXMgQmFzaWMgYXV0aCAoc2FtZSBmbG93IGFzXG4gICAgICogICBwbHVnaW4gaW1hZ2VzKS5cbiAgICAgKiAtIEZ1bGx5LXF1YWxpZmllZCByZWdpc3RyeSBVUkkgKGNvbnRhaW5zIGAvYCkg4oaSIHVzZWQgYXMtaXMsIG5vXG4gICAgICogICBhdXRoIHdpcmVkIChvcGVyYXRvciBvd25zIG1ha2luZyBpdCBwdWxsYWJsZSkuXG4gICAgICogLSBXaGVuIHRoZSByZWdpc3RyeSBpc24ndCBjb25maWd1cmVkIG9yIHBlci1vcmcgYXV0aCBpc24ndFxuICAgICAqICAgYXZhaWxhYmxlIGF0IHRoZSBjYWxsIHNpdGUsIGZhbGxzIGJhY2sgdG9cbiAgICAgKiAgIGBhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjguMGAgd2l0aCBhIHdhcm5pbmcg4oCUIGNvbGQtc3RhcnQgc3ludGhcbiAgICAgKiAgIHdpbGwgdGhlbiBmYWlsIG9uIGBwaXBlbGluZS1tYW5hZ2VyOiBub3QgZm91bmRgLCBzdXJmYWNpbmcgdGhlXG4gICAgICogICBtaXNjb25maWd1cmF0aW9uIGxvdWRseSBpbnN0ZWFkIG9mIHNpbGVudGx5IHN3YXBwaW5nIGltYWdlcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBkZWZhdWx0SW1hZ2U6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBSZWdpc3RyeSBtYW5pZmVzdCBkaWdlc3QgKGBzaGEyNTY6PDY0IGhleD5gKSBvZiB7QGxpbmsgZGVmYXVsdEltYWdlfSxcbiAgICAgKiBwcmludGVkIGJ5IGBkZXBsb3kvYmluL2J1aWxkLWNvZGVidWlsZC1ib290c3RyYXAuc2hgIGFmdGVyIGl0IHB1Ymxpc2hlcy5cbiAgICAgKiBlbnY6IGBDT0RFQlVJTERfREVGQVVMVF9JTUFHRV9ESUdFU1RgLiBXaGVuIHNldCwgYSBiYXJlLXRhZyBpbWFnZSBpc1xuICAgICAqIHB1bGxlZCBhcyBgPHJlZ2lzdHJ5Pi9saWJyYXJ5LzxyZXBvPkA8ZGlnZXN0PmAg4oCUIGJ5IHRoZSBhcnRpZmFjdCB0aGF0XG4gICAgICogd2FzIGJ1aWx0IGFuZCBzY2FubmVkLCBuZXZlciBieSB0aGUgbXV0YWJsZSB0YWcuIEVtcHR5IOKGkiB0aGUgdGFnIGlzIHVzZWRcbiAgICAgKiBhbmQgc3ludGggd2FybnMgbG91ZGx5OyBtYWxmb3JtZWQg4oaSIHN5bnRoIGZhaWxzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlZmF1bHRJbWFnZURpZ2VzdDogc3RyaW5nO1xuICB9O1xufVxuXG4vKiogRXhwcmVzcyByYXRlIGxpbWl0aW5nIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFJhdGVMaW1pdENvbmZpZyB7XG4gIC8qKiBNYXhpbXVtIHJlcXVlc3RzIHBlciB3aW5kb3cgKGVudjogYExJTUlURVJfTUFYYCkuICovXG4gIHJlYWRvbmx5IG1heDogbnVtYmVyO1xuICAvKiogUmF0ZSBsaW1pdCB3aW5kb3cgaW4gbWlsbGlzZWNvbmRzIChlbnY6IGBMSU1JVEVSX1dJTkRPV01TYCkuICovXG4gIHJlYWRvbmx5IHdpbmRvd01zOiBudW1iZXI7XG59XG4iXX0=
|
|
@@ -17,3 +17,10 @@ export declare const HANDLER_DEFAULT_BASE_URL: string;
|
|
|
17
17
|
export declare const HANDLER_MAX_RETRIES = 2;
|
|
18
18
|
/** Base backoff between handler retries (exponential). */
|
|
19
19
|
export declare const HANDLER_RETRY_DELAY_MS = 1000;
|
|
20
|
+
/**
|
|
21
|
+
* Ceiling on a plain 429's `Retry-After` the handler will honour before its next
|
|
22
|
+
* attempt. The whole invocation must answer CloudFormation inside the Lambda's
|
|
23
|
+
* 30s, so a longer wait is clipped (the retry then most likely fails and the
|
|
24
|
+
* stack reports the rate limit) rather than letting the Lambda time out silently.
|
|
25
|
+
*/
|
|
26
|
+
export declare const HANDLER_RETRY_AFTER_MAX_MS = 10000;
|
|
@@ -19,4 +19,11 @@ export const HANDLER_DEFAULT_BASE_URL = process.env.PLATFORM_BASE_URL || DEFAULT
|
|
|
19
19
|
export const HANDLER_MAX_RETRIES = 2;
|
|
20
20
|
/** Base backoff between handler retries (exponential). */
|
|
21
21
|
export const HANDLER_RETRY_DELAY_MS = 1000;
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Ceiling on a plain 429's `Retry-After` the handler will honour before its next
|
|
24
|
+
* attempt. The whole invocation must answer CloudFormation inside the Lambda's
|
|
25
|
+
* 30s, so a longer wait is clipped (the retry then most likely fails and the
|
|
26
|
+
* stack reports the rate limit) rather than letting the Lambda time out silently.
|
|
27
|
+
*/
|
|
28
|
+
export const HANDLER_RETRY_AFTER_MAX_MS = 10_000;
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci1jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2hhbmRsZXItY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7O0dBUUc7QUFFSCx1RUFBdUU7QUFDdkUsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsd0JBQXdCLENBQUM7QUFFN0QsK0ZBQStGO0FBQy9GLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQztBQUV6QyxtR0FBbUc7QUFDbkcsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxvQkFBb0IsQ0FBQztBQUU5Rix1REFBdUQ7QUFDdkQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO0FBRXJDLDBEQUEwRDtBQUMxRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLENBQUM7QUFFM0M7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBMZWFmIGNvbnN0YW50cyBmb3IgdGhlIFBsdWdpbkxvb2t1cCBMYW1iZGEgaGFuZGxlci5cbiAqXG4gKiBEZXBlbmRlbmN5LWZyZWUgc28gdGhlIGhhbmRsZXIncyBlc2J1aWxkIGJ1bmRsZSBzdGF5cyBzbWFsbCDigJQgaXQgZG9lcyBub3QgZHJhZ1xuICogaW4gdGhlIGNvbmZpZyBtYWNoaW5lcnkgdmlhIGBhcHAtY29uZmlnLnRzYC4gVGhlIGhhbmRsZXIgaW1wb3J0cyBUSElTIG1vZHVsZTtcbiAqIGBDb3JlQ29uc3RhbnRzYCByZS1leHBvcnRzIHRoZSB2YWx1ZXMgZm9yIHN5bnRoLXNpZGUgY29uc3VtZXJzLiBUaGUgTGFtYmRhJ3NcbiAqIGVudmlyb25tZW50IGNhcnJpZXMgb25seSBgUExBVEZPUk1fU0VDUkVUX05BTUVgLCBzbyB0aGVzZSBhcmUgZml4ZWQgdmFsdWVzLFxuICogbm90IGVudiBrbm9icy5cbiAqL1xuXG4vKiogRGVmYXVsdCBwbGF0Zm9ybSBVUkwgZmFsbGJhY2sgd2hlbiBQTEFURk9STV9CQVNFX1VSTCBpcyBub3Qgc2V0LiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUExBVEZPUk1fVVJMID0gJ2h0dHBzOi8vbG9jYWxob3N0Ojg0NDMnO1xuXG4vKiogQ3VzdG9tLXJlc291cmNlIGhhbmRsZXIgdGltZW91dCAobXVzdCBiZSA8IHRoZSBMYW1iZGEncyAzMHMgdG8gYWxsb3cgcmVzcG9uc2UgaGFuZGxpbmcpLiAqL1xuZXhwb3J0IGNvbnN0IEhBTkRMRVJfVElNRU9VVF9NUyA9IDI1XzAwMDtcblxuLyoqIFBsYXRmb3JtIGJhc2UgVVJMIHRoZSBoYW5kbGVyIGNhbGxzOyBvdmVycmlkYWJsZSBwZXItcmVxdWVzdCB2aWEgUmVzb3VyY2VQcm9wZXJ0aWVzLmJhc2VVUkwuICovXG5leHBvcnQgY29uc3QgSEFORExFUl9ERUZBVUxUX0JBU0VfVVJMID0gcHJvY2Vzcy5lbnYuUExBVEZPUk1fQkFTRV9VUkwgfHwgREVGQVVMVF9QTEFURk9STV9VUkw7XG5cbi8qKiBNYXggcmV0cmllcyBvbiB0cmFuc2llbnQgcGx1Z2luLWxvb2t1cCBmYWlsdXJlcy4gKi9cbmV4cG9ydCBjb25zdCBIQU5ETEVSX01BWF9SRVRSSUVTID0gMjtcblxuLyoqIEJhc2UgYmFja29mZiBiZXR3ZWVuIGhhbmRsZXIgcmV0cmllcyAoZXhwb25lbnRpYWwpLiAqL1xuZXhwb3J0IGNvbnN0IEhBTkRMRVJfUkVUUllfREVMQVlfTVMgPSAxMDAwO1xuXG4vKipcbiAqIENlaWxpbmcgb24gYSBwbGFpbiA0MjkncyBgUmV0cnktQWZ0ZXJgIHRoZSBoYW5kbGVyIHdpbGwgaG9ub3VyIGJlZm9yZSBpdHMgbmV4dFxuICogYXR0ZW1wdC4gVGhlIHdob2xlIGludm9jYXRpb24gbXVzdCBhbnN3ZXIgQ2xvdWRGb3JtYXRpb24gaW5zaWRlIHRoZSBMYW1iZGEnc1xuICogMzBzLCBzbyBhIGxvbmdlciB3YWl0IGlzIGNsaXBwZWQgKHRoZSByZXRyeSB0aGVuIG1vc3QgbGlrZWx5IGZhaWxzIGFuZCB0aGVcbiAqIHN0YWNrIHJlcG9ydHMgdGhlIHJhdGUgbGltaXQpIHJhdGhlciB0aGFuIGxldHRpbmcgdGhlIExhbWJkYSB0aW1lIG91dCBzaWxlbnRseS5cbiAqL1xuZXhwb3J0IGNvbnN0IEhBTkRMRVJfUkVUUllfQUZURVJfTUFYX01TID0gMTBfMDAwO1xuIl19
|
|
@@ -167,7 +167,8 @@ export function loadAWSConfig() {
|
|
|
167
167
|
codeBuild: {
|
|
168
168
|
computeType: (envStr('CODEBUILD_COMPUTE_TYPE', 'SMALL')).toUpperCase(),
|
|
169
169
|
defaultImage: envStr('CODEBUILD_DEFAULT_IMAGE', 'pipeline-bootstrap:1.0'),
|
|
170
|
+
defaultImageDigest: envStr('CODEBUILD_DEFAULT_IMAGE_DIGEST', ''),
|
|
170
171
|
},
|
|
171
172
|
};
|
|
172
173
|
}
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9pbmZyYXN0cnVjdHVyZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFHeEI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsNEVBQTRFO0lBQzVFLHdFQUF3RTtJQUN4RSw4RUFBOEU7SUFDOUUsNEVBQTRFO0lBQzVFLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyRSxPQUFPO1FBQ0wsSUFBSTtRQUNKLElBQUk7UUFDSixRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxRQUFRLEVBQUUsSUFBSSxJQUFJLElBQUk7UUFDeEUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCO1lBQzVDLENBQUMsQ0FBQyxNQUFNLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDO1FBQzVCLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1FBQ3JDLElBQUksRUFBRSxPQUFPLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDO0tBQzNDLENBQUM7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QzdDLFlBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPO1lBQy9FLDRCQUE0QixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCO2dCQUNuRSxDQUFDLENBQUMsTUFBTSxDQUFDLDZCQUE2QixFQUFFLENBQUMsQ0FBQztnQkFDMUMsQ0FBQyxDQUFDLFNBQVM7U0FDZDtRQUVELE9BQU8sRUFBRTtZQUNQLFNBQVMsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsd0JBQXdCLENBQUM7U0FDOUQ7UUFFRCxTQUFTLEVBQUU7WUFDVCxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDdEUsWUFBWSxFQUFFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSx3QkFBd0IsQ0FBQztTQUMxRTtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGVudkJvb2wsIGVudkludCwgZW52U3RyIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdHlwZSB7IEFXU0NvbmZpZywgQnVpbGRDb25maWcsIENvbXBsaWFuY2VDb25maWcsIERhdGFiYXNlQ29uZmlnLCBPYnNlcnZhYmlsaXR5Q29uZmlnLCBQbHVnaW5CdWlsZENvbmZpZywgUmVnaXN0cnlDb25maWcgfSBmcm9tICcuL2NvbmZpZy10eXBlcy5qcyc7XG5cbi8qKlxuICogTG9hZCBEb2NrZXIgcmVnaXN0cnkgY29uZmlndXJhdGlvbiBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9IT1NUYCDigJQgUmVnaXN0cnkgaG9zdG5hbWUgKGRlZmF1bHQ6IGAncmVnaXN0cnknYClcbiAqIC0gYElNQUdFX1JFR0lTVFJZX1BPUlRgIOKAlCBSZWdpc3RyeSBwb3J0IChkZWZhdWx0OiBgNTAwMGApXG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9QVUxMX0hPU1RgIOKAlCBIb3N0IGFuIG91dC1vZi1jbHVzdGVyIGNsaWVudCAoQ29kZUJ1aWxkKVxuICogICB1c2VzIHRvIHB1bGwgcGx1Z2luIGltYWdlcy4gV2hlbiB1bnNldCwgZGVyaXZlZCBmcm9tIGBQTEFURk9STV9CQVNFX1VSTGAnc1xuICogICBob3N0ICh0aGUgcHVibGljIGVuZHBvaW50IENvZGVCdWlsZCBjYW4gcmVzb2x2ZSksIHRoZW4gYElNQUdFX1JFR0lTVFJZX0hPU1RgLlxuICogLSBgSU1BR0VfUkVHSVNUUllfUFVMTF9QT1JUYCDigJQgUG9ydCBmb3IgdGhlIGFib3ZlLiBXaGVuIHVuc2V0LCBkZXJpdmVkIGZyb21cbiAqICAgYFBMQVRGT1JNX0JBU0VfVVJMYCdzIHBvcnQsIHRoZW4gYElNQUdFX1JFR0lTVFJZX1BPUlRgLlxuICogLSBgRE9DS0VSX05FVFdPUktgIOKAlCBEb2NrZXIgbmV0d29yayBmb3IgYnVpbGQvcHVzaCAoZGVmYXVsdDogYCcnYClcbiAqIC0gYElNQUdFX1JFR0lTVFJZX0hUVFBgIOKAlCBVc2UgcGxhaW4gSFRUUCBpbnN0ZWFkIG9mIEhUVFBTIChkZWZhdWx0OiBgdHJ1ZWAsXG4gKiAgIHRoZSBpbi1jbHVzdGVyIHJlZ2lzdHJ5IGhhcyBubyBUTFMpLlxuICpcbiAqIEByZXR1cm5zIFJlZ2lzdHJ5IGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRSZWdpc3RyeUNvbmZpZygpOiBSZWdpc3RyeUNvbmZpZyB7XG4gIGNvbnN0IGhvc3QgPSBlbnZTdHIoJ0lNQUdFX1JFR0lTVFJZX0hPU1QnLCAncmVnaXN0cnknKTtcbiAgY29uc3QgcG9ydCA9IGVudkludCgnSU1BR0VfUkVHSVNUUllfUE9SVCcsIDVfMDAwKTtcbiAgLy8gV2hlbiBubyBleHBsaWNpdCBwdWxsIGhvc3QgaXMgc2V0LCBkZXJpdmUgaXQgZnJvbSBQTEFURk9STV9CQVNFX1VSTCDigJQgdGhlXG4gIC8vIHB1YmxpYyBwbGF0Zm9ybSBlbmRwb2ludCBhbiBvdXQtb2YtY2x1c3RlciBjbGllbnQgKEFXUyBDb2RlQnVpbGQpIGNhblxuICAvLyByZXNvbHZlLCB1bmxpa2UgdGhlIGluLWNsdXN0ZXIgYHJlZ2lzdHJ5YCBDbHVzdGVySVAuIE9ubHkgZmFsbHMgYmFjayB0byB0aGVcbiAgLy8gaW4tY2x1c3RlciBob3N0IHdoZW4gUExBVEZPUk1fQkFTRV9VUkwgaXMgdW5zZXQvdW5wYXJzZWFibGUgKGUuZy4gbG9jYWwpLlxuICBjb25zdCBwbGF0Zm9ybSA9IHBhcnNlUGxhdGZvcm1CYXNlVXJsKHByb2Nlc3MuZW52LlBMQVRGT1JNX0JBU0VfVVJMKTtcbiAgcmV0dXJuIHtcbiAgICBob3N0LFxuICAgIHBvcnQsXG4gICAgcHVsbEhvc3Q6IHByb2Nlc3MuZW52LklNQUdFX1JFR0lTVFJZX1BVTExfSE9TVCB8fCBwbGF0Zm9ybT8uaG9zdCB8fCBob3N0LFxuICAgIHB1bGxQb3J0OiBwcm9jZXNzLmVudi5JTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlRcbiAgICAgID8gZW52SW50KCdJTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlQnLCBwb3J0KVxuICAgICAgOiAocGxhdGZvcm0/LnBvcnQgPz8gcG9ydCksXG4gICAgbmV0d29yazogZW52U3RyKCdET0NLRVJfTkVUV09SSycsICcnKSxcbiAgICBodHRwOiBlbnZCb29sKCdJTUFHRV9SRUdJU1RSWV9IVFRQJywgdHJ1ZSksXG4gIH07XG59XG5cbi8qKiBFeHRyYWN0IGhvc3QgKyBwb3J0IGZyb20gUExBVEZPUk1fQkFTRV9VUkwgKGUuZy4gYGh0dHBzOi8vcGlwZWxpbmUtYnVpbGRlci5jb21gXG4gKiAg4oaSIGB7IGhvc3Q6ICdwaXBlbGluZS1idWlsZGVyLmNvbScsIHBvcnQ6IDQ0MyB9YCkuIFJldHVybnMgbnVsbCB3aGVuIHRoZSB2YWx1ZVxuICogIGlzIHVuc2V0IG9yIG5vdCBhIHZhbGlkIFVSTC4gRXhwb3J0ZWQgc28gdGhlIENMSSAocGlwZWxpbmUtbWFuYWdlcikgZGVyaXZlc1xuICogIHRoZSByZWdpc3RyeSBwdWxsIHRhcmdldCB3aXRoIHRoZSBTQU1FIHBhcnNpbmcsIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgaXQuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VQbGF0Zm9ybUJhc2VVcmwocmF3Pzogc3RyaW5nKTogeyBob3N0OiBzdHJpbmc7IHBvcnQ6IG51bWJlciB9IHwgbnVsbCB7XG4gIGlmICghcmF3KSByZXR1cm4gbnVsbDtcbiAgdHJ5IHtcbiAgICBjb25zdCB1ID0gbmV3IFVSTChyYXcpO1xuICAgIC8vIEEgc2NoZW1lLWxlc3MgdmFsdWUgbGlrZSBgaG9zdDo4NDQzYCBwYXJzZXMgd2l0aCBhIGN1c3RvbSBwcm90b2NvbCBhbmQgYW5cbiAgICAvLyBFTVBUWSBob3N0bmFtZSDigJQgcmVqZWN0IGl0IHNvIGNhbGxlcnMgZmFsbCBiYWNrIHJhdGhlciB0aGFuIGRlcml2ZSBhXG4gICAgLy8gaG9zdC1sZXNzIGVuZHBvaW50LlxuICAgIGlmICghdS5ob3N0bmFtZSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgcG9ydCA9IHUucG9ydCA/IHBhcnNlSW50KHUucG9ydCwgMTApIDogKHUucHJvdG9jb2wgPT09ICdodHRwczonID8gNDQzIDogODApO1xuICAgIHJldHVybiB7IGhvc3Q6IHUuaG9zdG5hbWUsIHBvcnQgfTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2FkIHBsdWdpbiBidWlsZCBxdWV1ZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYFBMVUdJTl9CVUlMRF9DT05DVVJSRU5DWWAg4oCUIE1heCBjb25jdXJyZW50IHBsdWdpbiBidWlsZHMgKGRlZmF1bHQ6IGAxYClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQbHVnaW5CdWlsZENvbmZpZygpOiBQbHVnaW5CdWlsZENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgY29uY3VycmVuY3k6IGVudkludCgnUExVR0lOX0JVSUxEX0NPTkNVUlJFTkNZJywgMSksXG4gICAgbWF4QXR0ZW1wdHM6IGVudkludCgnUExVR0lOX0JVSUxEX01BWF9BVFRFTVBUUycsIDIpLFxuICAgIGJhY2tvZmZEZWxheU1zOiBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9CQUNLT0ZGX0RFTEFZX01TJywgNV8wMDApLFxuICAgIHdvcmtlclRpbWVvdXRNczogZW52SW50KCdQTFVHSU5fQlVJTERfV09SS0VSX1RJTUVPVVRfTVMnLCAxMF8wMDApLFxuICAgIHRlbXBEaXJNYXhBZ2VNczogZW52SW50KCdURU1QX0RJUl9NQVhfQUdFX01TJywgMTRfNDAwXzAwMCksXG4gICAgZGxxTWF4QXR0ZW1wdHM6IGVudkludCgnUExVR0lOX0RMUV9NQVhfQVRURU1QVFMnLCAzKSxcbiAgICBkbHFCYWNrb2ZmQmFzZU1zOiBlbnZJbnQoJ1BMVUdJTl9ETFFfQkFDS09GRl9CQVNFX01TJywgMzAwXzAwMCksXG4gICAgZGxxTWF4U2l6ZTogZW52SW50KCdQTFVHSU5fRExRX01BWF9TSVpFJywgMjApLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZERhdGFiYXNlQ29uZmlnKCk6IERhdGFiYXNlQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBwb3N0Z3Jlczoge1xuICAgICAgaG9zdDogZW52U3RyKCdEQl9IT1NUJywgJ3Bvc3RncmVzJyksXG4gICAgICBwb3J0OiBlbnZJbnQoJ0RCX1BPUlQnLCA1XzQzMiksXG4gICAgICBkYXRhYmFzZTogZW52U3RyKCdEQVRBQkFTRScsICdwaXBlbGluZV9idWlsZGVyJyksXG4gICAgICB1c2VyOiBlbnZTdHIoJ0RCX1VTRVInLCAncG9zdGdyZXMnKSxcbiAgICAgIHBhc3N3b3JkOiBlbnZTdHIoJ0RCX1BBU1NXT1JEJywgJycpLFxuICAgIH0sXG4gICAgZHJpenpsZToge1xuICAgICAgbWF4UG9vbFNpemU6IGVudkludCgnRFJJWlpMRV9NQVhfUE9PTF9TSVpFJywgMjApLFxuICAgICAgaWRsZVRpbWVvdXRNaWxsaXM6IGVudkludCgnRFJJWlpMRV9JRExFX1RJTUVPVVRfTUlMTElTJywgMzBfMDAwKSxcbiAgICAgIGNvbm5lY3Rpb25UaW1lb3V0TWlsbGlzOiBlbnZJbnQoJ0RSSVpaTEVfQ09OTkVDVElPTl9USU1FT1VUX01JTExJUycsIDEwXzAwMCksXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRPYnNlcnZhYmlsaXR5Q29uZmlnKCk6IE9ic2VydmFiaWxpdHlDb25maWcge1xuICByZXR1cm4ge1xuICAgIGxvZ0xldmVsOiBlbnZTdHIoJ0xPR19MRVZFTCcsICdpbmZvJyksXG4gICAgbG9nRm9ybWF0OiBlbnZTdHIoJ0xPR19GT1JNQVQnLCAnanNvbicpLFxuICAgIHNlcnZpY2VOYW1lOiBlbnZTdHIoJ1NFUlZJQ0VfTkFNRScsICdhcGknKSxcbiAgICB0cmFjaW5nOiB7XG4gICAgICBlbmFibGVkOiBlbnZCb29sKCdPVEVMX1RSQUNJTkdfRU5BQkxFRCcsIGZhbHNlKSxcbiAgICAgIGVuZHBvaW50OiBlbnZTdHIoJ09URUxfRVhQT1JURVJfT1RMUF9FTkRQT0lOVCcsICdodHRwOi8vbG9jYWxob3N0OjQzMTgvdjEvdHJhY2VzJyksXG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWRDb21wbGlhbmNlQ29uZmlnKCk6IENvbXBsaWFuY2VDb25maWcge1xuICByZXR1cm4ge1xuICAgIHNjYW5TY2hlZHVsZXJJbnRlcnZhbE1zOiBlbnZJbnQoJ1NDQU5fU0NIRURVTEVSX0lOVEVSVkFMX01TJywgNjBfMDAwKSxcbiAgICBzeXN0ZW1PcmdTY2Fuc0VuYWJsZWQ6IGVudkJvb2woJ1NZU1RFTV9PUkdfU0NBTlNfRU5BQkxFRCcsIGZhbHNlKSxcbiAgICAvLyBDcmFzaC1yZWNvdmVyeSB3aW5kb3csIG5vdCBhIHJ1bi1kdXJhdGlvbiBjb3ZlcjogdGhlIGxvY2sgaGVhcnRiZWF0cy5cbiAgICBzY2FuTG9ja1R0bE1zOiBlbnZJbnQoJ1NDQU5fTE9DS19UVExfTVMnLCAxMjBfMDAwKSxcbiAgICBkaWdlc3RTY2hlZHVsZXJJbnRlcnZhbE1zOiBlbnZJbnQoJ0RJR0VTVF9TQ0hFRFVMRVJfSU5URVJWQUxfTVMnLCAzXzYwMF8wMDApLFxuICAgIGRpZ2VzdExvY2tUdGxNczogZW52SW50KCdESUdFU1RfTE9DS19UVExfTVMnLCAxMjBfMDAwKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBMb2FkIHBsdWdpbiBidWlsZCBjb25maWd1cmF0aW9uLiBCdWlsZHMgcnVuIGFnYWluc3QgYSByb290bGVzcyBgbW9ieS9idWlsZGtpdGBcbiAqIHNpZGVjYXIg4oCUIHNlZSBgQlVJTERLSVRfSE9TVGAuXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzOlxuICogLSBgRE9DS0VSX0JVSUxEX1RFTVBfUk9PVGAg4oCUIFRlbXAgZGlyZWN0b3J5IGZvciBidWlsZCBjb250ZXh0cyAoZGVmYXVsdDogYDxjd2Q+L3RtcGApXG4gKiAtIGBET0NLRVJfQlVJTERfVElNRU9VVF9NU2Ag4oCUIEJ1aWxkIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIChkZWZhdWx0OiBgOTAwMDAwYCAvIDE1IG1pbilcbiAqIC0gYERPQ0tFUl9QVVNIX1RJTUVPVVRfTVNgIOKAlCBQdXNoIHRpbWVvdXQgaW4gbWlsbGlzZWNvbmRzIChkZWZhdWx0OiBgMzAwMDAwYCAvIDUgbWluKVxuICogLSBgQlVJTERLSVRfSE9TVGAg4oCUIGJ1aWxkY3RsIGAtLWFkZHJgIHZhbHVlIGZvciB0aGUgYnVpbGRraXRkIHNpZGVjYXJcbiAqICAgKGRlZmF1bHQ6IGB1bml4Oi8vL3J1bi9idWlsZGtpdC9idWlsZGtpdGQuc29ja2ApXG4gKiAtIGBQTFVHSU5fU0lHTklOR19QVUJMSUNfS0VZX0ZJTEVgIOKAlCBQRU0gcHVibGljIGtleSBwbHVnaW4gaW1hZ2VzIGFyZSB2ZXJpZmllZFxuICogICBhZ2FpbnN0IChkZWZhdWx0OiBgL2V0Yy9waXBlbGluZS1idWlsZGVyL3BsdWdpbi1zaWduaW5nL3BsdWdpbi1zaWduaW5nLnB1YmApXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkRG9ja2VyQ29uZmlnKCk6IEJ1aWxkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICB0ZW1wUm9vdDogcHJvY2Vzcy5lbnYuRE9DS0VSX0JVSUxEX1RFTVBfUk9PVCB8fCBwYXRoLmpvaW4ocHJvY2Vzcy5jd2QoKSwgJ3RtcCcpLFxuICAgIHRpbWVvdXRNczogZW52SW50KCdET0NLRVJfQlVJTERfVElNRU9VVF9NUycsIDkwMF8wMDApLFxuICAgIHB1c2hUaW1lb3V0TXM6IGVudkludCgnRE9DS0VSX1BVU0hfVElNRU9VVF9NUycsIDMwMF8wMDApLFxuICAgIGJ1aWxka2l0QWRkcjogZW52U3RyKCdCVUlMREtJVF9IT1NUJywgJ3VuaXg6Ly8vcnVuL2J1aWxka2l0L2J1aWxka2l0ZC5zb2NrJyksXG4gICAgc2lnbmluZ1B1YmxpY0tleUZpbGU6IGVudlN0cignUExVR0lOX1NJR05JTkdfUFVCTElDX0tFWV9GSUxFJywgJy9ldGMvcGlwZWxpbmUtYnVpbGRlci9wbHVnaW4tc2lnbmluZy9wbHVnaW4tc2lnbmluZy5wdWInKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBMb2FkIEFXUyBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYExBTUJEQV9SVU5USU1FYCDigJQgTGFtYmRhIHJ1bnRpbWUgKGRlZmF1bHQ6IGAnbm9kZWpzMjYueCdgLCBhIFBVQkxJQyBQUkVWSUVXXG4gKiAgIHJ1bnRpbWU7IHVua25vd24gdmFsdWVzIGZhbGwgYmFjayB0byBpdCkuIFNldCBgbm9kZWpzMjQueGAgdG8gc3RheSBvbiBHQS5cbiAqIC0gYExBTUJEQV9USU1FT1VUYCDigJQgTGFtYmRhIHRpbWVvdXQgaW4gc2Vjb25kcyAoZGVmYXVsdDogYDkwMGApXG4gKiAtIGBMQU1CREFfTUVNT1JZX1NJWkVgIOKAlCBMYW1iZGEgbWVtb3J5IGluIE1CIChkZWZhdWx0OiBgNTEyYClcbiAqIC0gYExBTUJEQV9BUkNISVRFQ1RVUkVgIOKAlCBgJ3g4Nl82NCdgIG9yIEFSTSAoZGVmYXVsdDogQVJNXzY0KVxuICogLSBgTE9HX0dST1VQX05BTUVgIOKAlCBDbG91ZFdhdGNoIGxvZyBncm91cCAoZGVmYXVsdDogYCcvcGlwZWxpbmUtYnVpbGRlci9sb2dzJ2ApXG4gKiAtIGBDT0RFQlVJTERfQ09NUFVURV9UWVBFYCDigJQgQ29kZUJ1aWxkIGNvbXB1dGUgdHlwZSAoZGVmYXVsdDogYCdTTUFMTCdgKVxuICpcbiAqIEByZXR1cm5zIEFXUyBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQVdTQ29uZmlnKCk6IEFXU0NvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgbGFtYmRhOiB7XG4gICAgICBydW50aW1lOiBlbnZTdHIoJ0xBTUJEQV9SVU5USU1FJywgJ25vZGVqczI2LngnKSxcbiAgICAgIHRpbWVvdXRTZWNvbmRzOiBlbnZJbnQoJ0xBTUJEQV9USU1FT1VUJywgOTAwKSxcbiAgICAgIG1lbW9yeVNpemU6IGVudkludCgnTEFNQkRBX01FTU9SWV9TSVpFJywgNTEyKSxcbiAgICAgIGFyY2hpdGVjdHVyZTogcHJvY2Vzcy5lbnYuTEFNQkRBX0FSQ0hJVEVDVFVSRSA9PT0gJ3g4Nl82NCcgPyAneDg2XzY0JyA6ICdhcm02NCcsXG4gICAgICByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zOiBwcm9jZXNzLmVudi5MQU1CREFfUkVTRVJWRURfQ09OQ1VSUkVOQ1lcbiAgICAgICAgPyBlbnZJbnQoJ0xBTUJEQV9SRVNFUlZFRF9DT05DVVJSRU5DWScsIDApXG4gICAgICAgIDogdW5kZWZpbmVkLFxuICAgIH0sXG5cbiAgICBsb2dnaW5nOiB7XG4gICAgICBncm91cE5hbWU6IGVudlN0cignTE9HX0dST1VQX05BTUUnLCAnL3BpcGVsaW5lLWJ1aWxkZXIvbG9ncycpLFxuICAgIH0sXG5cbiAgICBjb2RlQnVpbGQ6IHtcbiAgICAgIGNvbXB1dGVUeXBlOiAoZW52U3RyKCdDT0RFQlVJTERfQ09NUFVURV9UWVBFJywgJ1NNQUxMJykpLnRvVXBwZXJDYXNlKCksXG4gICAgICBkZWZhdWx0SW1hZ2U6IGVudlN0cignQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0UnLCAncGlwZWxpbmUtYm9vdHN0cmFwOjEuMCcpLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
|
|
174
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbmZpZy9pbmZyYXN0cnVjdHVyZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLElBQUksTUFBTSxNQUFNLENBQUM7QUFHeEI7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCO0lBQ2hDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN2RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbEQsNEVBQTRFO0lBQzVFLHdFQUF3RTtJQUN4RSw4RUFBOEU7SUFDOUUsNEVBQTRFO0lBQzVFLE1BQU0sUUFBUSxHQUFHLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNyRSxPQUFPO1FBQ0wsSUFBSTtRQUNKLElBQUk7UUFDSixRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0IsSUFBSSxRQUFRLEVBQUUsSUFBSSxJQUFJLElBQUk7UUFDeEUsUUFBUSxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCO1lBQzVDLENBQUMsQ0FBQyxNQUFNLENBQUMsMEJBQTBCLEVBQUUsSUFBSSxDQUFDO1lBQzFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksSUFBSSxDQUFDO1FBQzVCLE9BQU8sRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxDQUFDO1FBQ3JDLElBQUksRUFBRSxPQUFPLENBQUMscUJBQXFCLEVBQUUsSUFBSSxDQUFDO0tBQzNDLENBQUM7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QzdDLFlBQVksRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLG1CQUFtQixLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPO1lBQy9FLDRCQUE0QixFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsMkJBQTJCO2dCQUNuRSxDQUFDLENBQUMsTUFBTSxDQUFDLDZCQUE2QixFQUFFLENBQUMsQ0FBQztnQkFDMUMsQ0FBQyxDQUFDLFNBQVM7U0FDZDtRQUVELE9BQU8sRUFBRTtZQUNQLFNBQVMsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsd0JBQXdCLENBQUM7U0FDOUQ7UUFFRCxTQUFTLEVBQUU7WUFDVCxXQUFXLEVBQUUsQ0FBQyxNQUFNLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUU7WUFDdEUsWUFBWSxFQUFFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSx3QkFBd0IsQ0FBQztZQUN6RSxrQkFBa0IsRUFBRSxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsRUFBRSxDQUFDO1NBQ2pFO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgZW52Qm9vbCwgZW52SW50LCBlbnZTdHIgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB0eXBlIHsgQVdTQ29uZmlnLCBCdWlsZENvbmZpZywgQ29tcGxpYW5jZUNvbmZpZywgRGF0YWJhc2VDb25maWcsIE9ic2VydmFiaWxpdHlDb25maWcsIFBsdWdpbkJ1aWxkQ29uZmlnLCBSZWdpc3RyeUNvbmZpZyB9IGZyb20gJy4vY29uZmlnLXR5cGVzLmpzJztcblxuLyoqXG4gKiBMb2FkIERvY2tlciByZWdpc3RyeSBjb25maWd1cmF0aW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYElNQUdFX1JFR0lTVFJZX0hPU1RgIOKAlCBSZWdpc3RyeSBob3N0bmFtZSAoZGVmYXVsdDogYCdyZWdpc3RyeSdgKVxuICogLSBgSU1BR0VfUkVHSVNUUllfUE9SVGAg4oCUIFJlZ2lzdHJ5IHBvcnQgKGRlZmF1bHQ6IGA1MDAwYClcbiAqIC0gYElNQUdFX1JFR0lTVFJZX1BVTExfSE9TVGAg4oCUIEhvc3QgYW4gb3V0LW9mLWNsdXN0ZXIgY2xpZW50IChDb2RlQnVpbGQpXG4gKiAgIHVzZXMgdG8gcHVsbCBwbHVnaW4gaW1hZ2VzLiBXaGVuIHVuc2V0LCBkZXJpdmVkIGZyb20gYFBMQVRGT1JNX0JBU0VfVVJMYCdzXG4gKiAgIGhvc3QgKHRoZSBwdWJsaWMgZW5kcG9pbnQgQ29kZUJ1aWxkIGNhbiByZXNvbHZlKSwgdGhlbiBgSU1BR0VfUkVHSVNUUllfSE9TVGAuXG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlRgIOKAlCBQb3J0IGZvciB0aGUgYWJvdmUuIFdoZW4gdW5zZXQsIGRlcml2ZWQgZnJvbVxuICogICBgUExBVEZPUk1fQkFTRV9VUkxgJ3MgcG9ydCwgdGhlbiBgSU1BR0VfUkVHSVNUUllfUE9SVGAuXG4gKiAtIGBET0NLRVJfTkVUV09SS2Ag4oCUIERvY2tlciBuZXR3b3JrIGZvciBidWlsZC9wdXNoIChkZWZhdWx0OiBgJydgKVxuICogLSBgSU1BR0VfUkVHSVNUUllfSFRUUGAg4oCUIFVzZSBwbGFpbiBIVFRQIGluc3RlYWQgb2YgSFRUUFMgKGRlZmF1bHQ6IGB0cnVlYCxcbiAqICAgdGhlIGluLWNsdXN0ZXIgcmVnaXN0cnkgaGFzIG5vIFRMUykuXG4gKlxuICogQHJldHVybnMgUmVnaXN0cnkgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlZ2lzdHJ5Q29uZmlnKCk6IFJlZ2lzdHJ5Q29uZmlnIHtcbiAgY29uc3QgaG9zdCA9IGVudlN0cignSU1BR0VfUkVHSVNUUllfSE9TVCcsICdyZWdpc3RyeScpO1xuICBjb25zdCBwb3J0ID0gZW52SW50KCdJTUFHRV9SRUdJU1RSWV9QT1JUJywgNV8wMDApO1xuICAvLyBXaGVuIG5vIGV4cGxpY2l0IHB1bGwgaG9zdCBpcyBzZXQsIGRlcml2ZSBpdCBmcm9tIFBMQVRGT1JNX0JBU0VfVVJMIOKAlCB0aGVcbiAgLy8gcHVibGljIHBsYXRmb3JtIGVuZHBvaW50IGFuIG91dC1vZi1jbHVzdGVyIGNsaWVudCAoQVdTIENvZGVCdWlsZCkgY2FuXG4gIC8vIHJlc29sdmUsIHVubGlrZSB0aGUgaW4tY2x1c3RlciBgcmVnaXN0cnlgIENsdXN0ZXJJUC4gT25seSBmYWxscyBiYWNrIHRvIHRoZVxuICAvLyBpbi1jbHVzdGVyIGhvc3Qgd2hlbiBQTEFURk9STV9CQVNFX1VSTCBpcyB1bnNldC91bnBhcnNlYWJsZSAoZS5nLiBsb2NhbCkuXG4gIGNvbnN0IHBsYXRmb3JtID0gcGFyc2VQbGF0Zm9ybUJhc2VVcmwocHJvY2Vzcy5lbnYuUExBVEZPUk1fQkFTRV9VUkwpO1xuICByZXR1cm4ge1xuICAgIGhvc3QsXG4gICAgcG9ydCxcbiAgICBwdWxsSG9zdDogcHJvY2Vzcy5lbnYuSU1BR0VfUkVHSVNUUllfUFVMTF9IT1NUIHx8IHBsYXRmb3JtPy5ob3N0IHx8IGhvc3QsXG4gICAgcHVsbFBvcnQ6IHByb2Nlc3MuZW52LklNQUdFX1JFR0lTVFJZX1BVTExfUE9SVFxuICAgICAgPyBlbnZJbnQoJ0lNQUdFX1JFR0lTVFJZX1BVTExfUE9SVCcsIHBvcnQpXG4gICAgICA6IChwbGF0Zm9ybT8ucG9ydCA/PyBwb3J0KSxcbiAgICBuZXR3b3JrOiBlbnZTdHIoJ0RPQ0tFUl9ORVRXT1JLJywgJycpLFxuICAgIGh0dHA6IGVudkJvb2woJ0lNQUdFX1JFR0lTVFJZX0hUVFAnLCB0cnVlKSxcbiAgfTtcbn1cblxuLyoqIEV4dHJhY3QgaG9zdCArIHBvcnQgZnJvbSBQTEFURk9STV9CQVNFX1VSTCAoZS5nLiBgaHR0cHM6Ly9waXBlbGluZS1idWlsZGVyLmNvbWBcbiAqICDihpIgYHsgaG9zdDogJ3BpcGVsaW5lLWJ1aWxkZXIuY29tJywgcG9ydDogNDQzIH1gKS4gUmV0dXJucyBudWxsIHdoZW4gdGhlIHZhbHVlXG4gKiAgaXMgdW5zZXQgb3Igbm90IGEgdmFsaWQgVVJMLiBFeHBvcnRlZCBzbyB0aGUgQ0xJIChwaXBlbGluZS1tYW5hZ2VyKSBkZXJpdmVzXG4gKiAgdGhlIHJlZ2lzdHJ5IHB1bGwgdGFyZ2V0IHdpdGggdGhlIFNBTUUgcGFyc2luZywgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBpdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVBsYXRmb3JtQmFzZVVybChyYXc/OiBzdHJpbmcpOiB7IGhvc3Q6IHN0cmluZzsgcG9ydDogbnVtYmVyIH0gfCBudWxsIHtcbiAgaWYgKCFyYXcpIHJldHVybiBudWxsO1xuICB0cnkge1xuICAgIGNvbnN0IHUgPSBuZXcgVVJMKHJhdyk7XG4gICAgLy8gQSBzY2hlbWUtbGVzcyB2YWx1ZSBsaWtlIGBob3N0Ojg0NDNgIHBhcnNlcyB3aXRoIGEgY3VzdG9tIHByb3RvY29sIGFuZCBhblxuICAgIC8vIEVNUFRZIGhvc3RuYW1lIOKAlCByZWplY3QgaXQgc28gY2FsbGVycyBmYWxsIGJhY2sgcmF0aGVyIHRoYW4gZGVyaXZlIGFcbiAgICAvLyBob3N0LWxlc3MgZW5kcG9pbnQuXG4gICAgaWYgKCF1Lmhvc3RuYW1lKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBwb3J0ID0gdS5wb3J0ID8gcGFyc2VJbnQodS5wb3J0LCAxMCkgOiAodS5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyA0NDMgOiA4MCk7XG4gICAgcmV0dXJuIHsgaG9zdDogdS5ob3N0bmFtZSwgcG9ydCB9O1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIExvYWQgcGx1Z2luIGJ1aWxkIHF1ZXVlIGNvbmZpZ3VyYXRpb24uXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzOlxuICogLSBgUExVR0lOX0JVSUxEX0NPTkNVUlJFTkNZYCDigJQgTWF4IGNvbmN1cnJlbnQgcGx1Z2luIGJ1aWxkcyAoZGVmYXVsdDogYDFgKVxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZFBsdWdpbkJ1aWxkQ29uZmlnKCk6IFBsdWdpbkJ1aWxkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBjb25jdXJyZW5jeTogZW52SW50KCdQTFVHSU5fQlVJTERfQ09OQ1VSUkVOQ1knLCAxKSxcbiAgICBtYXhBdHRlbXB0czogZW52SW50KCdQTFVHSU5fQlVJTERfTUFYX0FUVEVNUFRTJywgMiksXG4gICAgYmFja29mZkRlbGF5TXM6IGVudkludCgnUExVR0lOX0JVSUxEX0JBQ0tPRkZfREVMQVlfTVMnLCA1XzAwMCksXG4gICAgd29ya2VyVGltZW91dE1zOiBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9XT1JLRVJfVElNRU9VVF9NUycsIDEwXzAwMCksXG4gICAgdGVtcERpck1heEFnZU1zOiBlbnZJbnQoJ1RFTVBfRElSX01BWF9BR0VfTVMnLCAxNF80MDBfMDAwKSxcbiAgICBkbHFNYXhBdHRlbXB0czogZW52SW50KCdQTFVHSU5fRExRX01BWF9BVFRFTVBUUycsIDMpLFxuICAgIGRscUJhY2tvZmZCYXNlTXM6IGVudkludCgnUExVR0lOX0RMUV9CQUNLT0ZGX0JBU0VfTVMnLCAzMDBfMDAwKSxcbiAgICBkbHFNYXhTaXplOiBlbnZJbnQoJ1BMVUdJTl9ETFFfTUFYX1NJWkUnLCAyMCksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkRGF0YWJhc2VDb25maWcoKTogRGF0YWJhc2VDb25maWcge1xuICByZXR1cm4ge1xuICAgIHBvc3RncmVzOiB7XG4gICAgICBob3N0OiBlbnZTdHIoJ0RCX0hPU1QnLCAncG9zdGdyZXMnKSxcbiAgICAgIHBvcnQ6IGVudkludCgnREJfUE9SVCcsIDVfNDMyKSxcbiAgICAgIGRhdGFiYXNlOiBlbnZTdHIoJ0RBVEFCQVNFJywgJ3BpcGVsaW5lX2J1aWxkZXInKSxcbiAgICAgIHVzZXI6IGVudlN0cignREJfVVNFUicsICdwb3N0Z3JlcycpLFxuICAgICAgcGFzc3dvcmQ6IGVudlN0cignREJfUEFTU1dPUkQnLCAnJyksXG4gICAgfSxcbiAgICBkcml6emxlOiB7XG4gICAgICBtYXhQb29sU2l6ZTogZW52SW50KCdEUklaWkxFX01BWF9QT09MX1NJWkUnLCAyMCksXG4gICAgICBpZGxlVGltZW91dE1pbGxpczogZW52SW50KCdEUklaWkxFX0lETEVfVElNRU9VVF9NSUxMSVMnLCAzMF8wMDApLFxuICAgICAgY29ubmVjdGlvblRpbWVvdXRNaWxsaXM6IGVudkludCgnRFJJWlpMRV9DT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTJywgMTBfMDAwKSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZE9ic2VydmFiaWxpdHlDb25maWcoKTogT2JzZXJ2YWJpbGl0eUNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgbG9nTGV2ZWw6IGVudlN0cignTE9HX0xFVkVMJywgJ2luZm8nKSxcbiAgICBsb2dGb3JtYXQ6IGVudlN0cignTE9HX0ZPUk1BVCcsICdqc29uJyksXG4gICAgc2VydmljZU5hbWU6IGVudlN0cignU0VSVklDRV9OQU1FJywgJ2FwaScpLFxuICAgIHRyYWNpbmc6IHtcbiAgICAgIGVuYWJsZWQ6IGVudkJvb2woJ09URUxfVFJBQ0lOR19FTkFCTEVEJywgZmFsc2UpLFxuICAgICAgZW5kcG9pbnQ6IGVudlN0cignT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UJywgJ2h0dHA6Ly9sb2NhbGhvc3Q6NDMxOC92MS90cmFjZXMnKSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZENvbXBsaWFuY2VDb25maWcoKTogQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgc2NhblNjaGVkdWxlckludGVydmFsTXM6IGVudkludCgnU0NBTl9TQ0hFRFVMRVJfSU5URVJWQUxfTVMnLCA2MF8wMDApLFxuICAgIHN5c3RlbU9yZ1NjYW5zRW5hYmxlZDogZW52Qm9vbCgnU1lTVEVNX09SR19TQ0FOU19FTkFCTEVEJywgZmFsc2UpLFxuICAgIC8vIENyYXNoLXJlY292ZXJ5IHdpbmRvdywgbm90IGEgcnVuLWR1cmF0aW9uIGNvdmVyOiB0aGUgbG9jayBoZWFydGJlYXRzLlxuICAgIHNjYW5Mb2NrVHRsTXM6IGVudkludCgnU0NBTl9MT0NLX1RUTF9NUycsIDEyMF8wMDApLFxuICAgIGRpZ2VzdFNjaGVkdWxlckludGVydmFsTXM6IGVudkludCgnRElHRVNUX1NDSEVEVUxFUl9JTlRFUlZBTF9NUycsIDNfNjAwXzAwMCksXG4gICAgZGlnZXN0TG9ja1R0bE1zOiBlbnZJbnQoJ0RJR0VTVF9MT0NLX1RUTF9NUycsIDEyMF8wMDApLFxuICB9O1xufVxuXG4vKipcbiAqIExvYWQgcGx1Z2luIGJ1aWxkIGNvbmZpZ3VyYXRpb24uIEJ1aWxkcyBydW4gYWdhaW5zdCBhIHJvb3RsZXNzIGBtb2J5L2J1aWxka2l0YFxuICogc2lkZWNhciDigJQgc2VlIGBCVUlMREtJVF9IT1NUYC5cbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIGBET0NLRVJfQlVJTERfVEVNUF9ST09UYCDigJQgVGVtcCBkaXJlY3RvcnkgZm9yIGJ1aWxkIGNvbnRleHRzIChkZWZhdWx0OiBgPGN3ZD4vdG1wYClcbiAqIC0gYERPQ0tFUl9CVUlMRF9USU1FT1VUX01TYCDigJQgQnVpbGQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMgKGRlZmF1bHQ6IGA5MDAwMDBgIC8gMTUgbWluKVxuICogLSBgRE9DS0VSX1BVU0hfVElNRU9VVF9NU2Ag4oCUIFB1c2ggdGltZW91dCBpbiBtaWxsaXNlY29uZHMgKGRlZmF1bHQ6IGAzMDAwMDBgIC8gNSBtaW4pXG4gKiAtIGBCVUlMREtJVF9IT1NUYCDigJQgYnVpbGRjdGwgYC0tYWRkcmAgdmFsdWUgZm9yIHRoZSBidWlsZGtpdGQgc2lkZWNhclxuICogICAoZGVmYXVsdDogYHVuaXg6Ly8vcnVuL2J1aWxka2l0L2J1aWxka2l0ZC5zb2NrYClcbiAqIC0gYFBMVUdJTl9TSUdOSU5HX1BVQkxJQ19LRVlfRklMRWAg4oCUIFBFTSBwdWJsaWMga2V5IHBsdWdpbiBpbWFnZXMgYXJlIHZlcmlmaWVkXG4gKiAgIGFnYWluc3QgKGRlZmF1bHQ6IGAvZXRjL3BpcGVsaW5lLWJ1aWxkZXIvcGx1Z2luLXNpZ25pbmcvcGx1Z2luLXNpZ25pbmcucHViYClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWREb2NrZXJDb25maWcoKTogQnVpbGRDb25maWcge1xuICByZXR1cm4ge1xuICAgIHRlbXBSb290OiBwcm9jZXNzLmVudi5ET0NLRVJfQlVJTERfVEVNUF9ST09UIHx8IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAndG1wJyksXG4gICAgdGltZW91dE1zOiBlbnZJbnQoJ0RPQ0tFUl9CVUlMRF9USU1FT1VUX01TJywgOTAwXzAwMCksXG4gICAgcHVzaFRpbWVvdXRNczogZW52SW50KCdET0NLRVJfUFVTSF9USU1FT1VUX01TJywgMzAwXzAwMCksXG4gICAgYnVpbGRraXRBZGRyOiBlbnZTdHIoJ0JVSUxES0lUX0hPU1QnLCAndW5peDovLy9ydW4vYnVpbGRraXQvYnVpbGRraXRkLnNvY2snKSxcbiAgICBzaWduaW5nUHVibGljS2V5RmlsZTogZW52U3RyKCdQTFVHSU5fU0lHTklOR19QVUJMSUNfS0VZX0ZJTEUnLCAnL2V0Yy9waXBlbGluZS1idWlsZGVyL3BsdWdpbi1zaWduaW5nL3BsdWdpbi1zaWduaW5nLnB1YicpLFxuICB9O1xufVxuXG4vKipcbiAqIExvYWQgQVdTIGluZnJhc3RydWN0dXJlIGNvbmZpZ3VyYXRpb24gZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzOlxuICogLSBgTEFNQkRBX1JVTlRJTUVgIOKAlCBMYW1iZGEgcnVudGltZSAoZGVmYXVsdDogYCdub2RlanMyNi54J2AsIGEgUFVCTElDIFBSRVZJRVdcbiAqICAgcnVudGltZTsgdW5rbm93biB2YWx1ZXMgZmFsbCBiYWNrIHRvIGl0KS4gU2V0IGBub2RlanMyNC54YCB0byBzdGF5IG9uIEdBLlxuICogLSBgTEFNQkRBX1RJTUVPVVRgIOKAlCBMYW1iZGEgdGltZW91dCBpbiBzZWNvbmRzIChkZWZhdWx0OiBgOTAwYClcbiAqIC0gYExBTUJEQV9NRU1PUllfU0laRWAg4oCUIExhbWJkYSBtZW1vcnkgaW4gTUIgKGRlZmF1bHQ6IGA1MTJgKVxuICogLSBgTEFNQkRBX0FSQ0hJVEVDVFVSRWAg4oCUIGAneDg2XzY0J2Agb3IgQVJNIChkZWZhdWx0OiBBUk1fNjQpXG4gKiAtIGBMT0dfR1JPVVBfTkFNRWAg4oCUIENsb3VkV2F0Y2ggbG9nIGdyb3VwIChkZWZhdWx0OiBgJy9waXBlbGluZS1idWlsZGVyL2xvZ3MnYClcbiAqIC0gYENPREVCVUlMRF9DT01QVVRFX1RZUEVgIOKAlCBDb2RlQnVpbGQgY29tcHV0ZSB0eXBlIChkZWZhdWx0OiBgJ1NNQUxMJ2ApXG4gKlxuICogQHJldHVybnMgQVdTIGluZnJhc3RydWN0dXJlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBV1NDb25maWcoKTogQVdTQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBsYW1iZGE6IHtcbiAgICAgIHJ1bnRpbWU6IGVudlN0cignTEFNQkRBX1JVTlRJTUUnLCAnbm9kZWpzMjYueCcpLFxuICAgICAgdGltZW91dFNlY29uZHM6IGVudkludCgnTEFNQkRBX1RJTUVPVVQnLCA5MDApLFxuICAgICAgbWVtb3J5U2l6ZTogZW52SW50KCdMQU1CREFfTUVNT1JZX1NJWkUnLCA1MTIpLFxuICAgICAgYXJjaGl0ZWN0dXJlOiBwcm9jZXNzLmVudi5MQU1CREFfQVJDSElURUNUVVJFID09PSAneDg2XzY0JyA/ICd4ODZfNjQnIDogJ2FybTY0JyxcbiAgICAgIHJlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM6IHByb2Nlc3MuZW52LkxBTUJEQV9SRVNFUlZFRF9DT05DVVJSRU5DWVxuICAgICAgICA/IGVudkludCgnTEFNQkRBX1JFU0VSVkVEX0NPTkNVUlJFTkNZJywgMClcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSxcblxuICAgIGxvZ2dpbmc6IHtcbiAgICAgIGdyb3VwTmFtZTogZW52U3RyKCdMT0dfR1JPVVBfTkFNRScsICcvcGlwZWxpbmUtYnVpbGRlci9sb2dzJyksXG4gICAgfSxcblxuICAgIGNvZGVCdWlsZDoge1xuICAgICAgY29tcHV0ZVR5cGU6IChlbnZTdHIoJ0NPREVCVUlMRF9DT01QVVRFX1RZUEUnLCAnU01BTEwnKSkudG9VcHBlckNhc2UoKSxcbiAgICAgIGRlZmF1bHRJbWFnZTogZW52U3RyKCdDT0RFQlVJTERfREVGQVVMVF9JTUFHRScsICdwaXBlbGluZS1ib290c3RyYXA6MS4wJyksXG4gICAgICBkZWZhdWx0SW1hZ2VEaWdlc3Q6IGVudlN0cignQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0VfRElHRVNUJywgJycpLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit-correlation headers the platform's clients send so a server-side audit
|
|
3
|
+
* row can be joined back to the run that caused it — the CLI invocation, the
|
|
4
|
+
* CodeBuild build, the CodePipeline execution, the Lambda request, the
|
|
5
|
+
* EventBridge event. api-core reads exactly these names into audit context.
|
|
6
|
+
*
|
|
7
|
+
* None of them may carry an AWS account id: a CodeBuild build id is
|
|
8
|
+
* `<project>:<uuid>`, an execution id is a uuid, a Lambda request id is a uuid.
|
|
9
|
+
* An ARN is NEVER sent here — callers must not pass one.
|
|
10
|
+
*
|
|
11
|
+
* Dependency-free so the plugin-lookup, token-renew and event-ingest Lambdas
|
|
12
|
+
* (each a single bundled file) can import it.
|
|
13
|
+
*/
|
|
14
|
+
export declare const REQUEST_ID_HEADER = "X-Request-Id";
|
|
15
|
+
export declare const PIPELINE_EXECUTION_ID_HEADER = "X-Pipeline-Execution-Id";
|
|
16
|
+
export declare const CODEBUILD_BUILD_ID_HEADER = "X-CodeBuild-Build-Id";
|
|
17
|
+
/** The longest correlation value sent; the server caps at the same bound. */
|
|
18
|
+
export declare const MAX_CORRELATION_VALUE = 128;
|
|
19
|
+
/**
|
|
20
|
+
* A header-safe correlation value, or undefined when nothing usable is left.
|
|
21
|
+
* Keeps printable ASCII only — CR/LF (header injection) and other control or
|
|
22
|
+
* non-ASCII bytes are dropped — and caps the length.
|
|
23
|
+
*/
|
|
24
|
+
export declare function sanitizeCorrelationValue(value: unknown): string | undefined;
|
|
25
|
+
/**
|
|
26
|
+
* The correlation headers for a run, each included only when its value
|
|
27
|
+
* survives sanitizing. `requestId` is required in spirit (every caller has one);
|
|
28
|
+
* the build + execution ids only when genuinely known.
|
|
29
|
+
*/
|
|
30
|
+
export declare function correlationHeaders(ids: {
|
|
31
|
+
requestId?: string;
|
|
32
|
+
pipelineExecutionId?: string;
|
|
33
|
+
codeBuildBuildId?: string;
|
|
34
|
+
}): Record<string, string>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// Copyright 2026 Pipeline Builder Contributors
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
/**
|
|
4
|
+
* Audit-correlation headers the platform's clients send so a server-side audit
|
|
5
|
+
* row can be joined back to the run that caused it — the CLI invocation, the
|
|
6
|
+
* CodeBuild build, the CodePipeline execution, the Lambda request, the
|
|
7
|
+
* EventBridge event. api-core reads exactly these names into audit context.
|
|
8
|
+
*
|
|
9
|
+
* None of them may carry an AWS account id: a CodeBuild build id is
|
|
10
|
+
* `<project>:<uuid>`, an execution id is a uuid, a Lambda request id is a uuid.
|
|
11
|
+
* An ARN is NEVER sent here — callers must not pass one.
|
|
12
|
+
*
|
|
13
|
+
* Dependency-free so the plugin-lookup, token-renew and event-ingest Lambdas
|
|
14
|
+
* (each a single bundled file) can import it.
|
|
15
|
+
*/
|
|
16
|
+
export const REQUEST_ID_HEADER = 'X-Request-Id';
|
|
17
|
+
export const PIPELINE_EXECUTION_ID_HEADER = 'X-Pipeline-Execution-Id';
|
|
18
|
+
export const CODEBUILD_BUILD_ID_HEADER = 'X-CodeBuild-Build-Id';
|
|
19
|
+
/** The longest correlation value sent; the server caps at the same bound. */
|
|
20
|
+
export const MAX_CORRELATION_VALUE = 128;
|
|
21
|
+
/**
|
|
22
|
+
* A header-safe correlation value, or undefined when nothing usable is left.
|
|
23
|
+
* Keeps printable ASCII only — CR/LF (header injection) and other control or
|
|
24
|
+
* non-ASCII bytes are dropped — and caps the length.
|
|
25
|
+
*/
|
|
26
|
+
export function sanitizeCorrelationValue(value) {
|
|
27
|
+
if (typeof value !== 'string')
|
|
28
|
+
return undefined;
|
|
29
|
+
const clean = value.replace(/[^\x21-\x7e]/g, '').slice(0, MAX_CORRELATION_VALUE);
|
|
30
|
+
return clean.length > 0 ? clean : undefined;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* The correlation headers for a run, each included only when its value
|
|
34
|
+
* survives sanitizing. `requestId` is required in spirit (every caller has one);
|
|
35
|
+
* the build + execution ids only when genuinely known.
|
|
36
|
+
*/
|
|
37
|
+
export function correlationHeaders(ids) {
|
|
38
|
+
const headers = {};
|
|
39
|
+
const requestId = sanitizeCorrelationValue(ids.requestId);
|
|
40
|
+
const executionId = sanitizeCorrelationValue(ids.pipelineExecutionId);
|
|
41
|
+
const buildId = sanitizeCorrelationValue(ids.codeBuildBuildId);
|
|
42
|
+
if (requestId)
|
|
43
|
+
headers[REQUEST_ID_HEADER] = requestId;
|
|
44
|
+
if (executionId)
|
|
45
|
+
headers[PIPELINE_EXECUTION_ID_HEADER] = executionId;
|
|
46
|
+
if (buildId)
|
|
47
|
+
headers[CODEBUILD_BUILD_ID_HEADER] = buildId;
|
|
48
|
+
return headers;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaXQtY29ycmVsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9hdWRpdC1jb3JyZWxhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGNBQWMsQ0FBQztBQUNoRCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyx5QkFBeUIsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxzQkFBc0IsQ0FBQztBQUVoRSw2RUFBNkU7QUFDN0UsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFDO0FBRXpDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsS0FBYztJQUNyRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUNoRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLENBQUM7SUFDakYsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7QUFDOUMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FJbEM7SUFDQyxNQUFNLE9BQU8sR0FBMkIsRUFBRSxDQUFDO0lBQzNDLE1BQU0sU0FBUyxHQUFHLHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMxRCxNQUFNLFdBQVcsR0FBRyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN0RSxNQUFNLE9BQU8sR0FBRyx3QkFBd0IsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMvRCxJQUFJLFNBQVM7UUFBRSxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxTQUFTLENBQUM7SUFDdEQsSUFBSSxXQUFXO1FBQUUsT0FBTyxDQUFDLDRCQUE0QixDQUFDLEdBQUcsV0FBVyxDQUFDO0lBQ3JFLElBQUksT0FBTztRQUFFLE9BQU8sQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLE9BQU8sQ0FBQztJQUMxRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogQXVkaXQtY29ycmVsYXRpb24gaGVhZGVycyB0aGUgcGxhdGZvcm0ncyBjbGllbnRzIHNlbmQgc28gYSBzZXJ2ZXItc2lkZSBhdWRpdFxuICogcm93IGNhbiBiZSBqb2luZWQgYmFjayB0byB0aGUgcnVuIHRoYXQgY2F1c2VkIGl0IOKAlCB0aGUgQ0xJIGludm9jYXRpb24sIHRoZVxuICogQ29kZUJ1aWxkIGJ1aWxkLCB0aGUgQ29kZVBpcGVsaW5lIGV4ZWN1dGlvbiwgdGhlIExhbWJkYSByZXF1ZXN0LCB0aGVcbiAqIEV2ZW50QnJpZGdlIGV2ZW50LiBhcGktY29yZSByZWFkcyBleGFjdGx5IHRoZXNlIG5hbWVzIGludG8gYXVkaXQgY29udGV4dC5cbiAqXG4gKiBOb25lIG9mIHRoZW0gbWF5IGNhcnJ5IGFuIEFXUyBhY2NvdW50IGlkOiBhIENvZGVCdWlsZCBidWlsZCBpZCBpc1xuICogYDxwcm9qZWN0Pjo8dXVpZD5gLCBhbiBleGVjdXRpb24gaWQgaXMgYSB1dWlkLCBhIExhbWJkYSByZXF1ZXN0IGlkIGlzIGEgdXVpZC5cbiAqIEFuIEFSTiBpcyBORVZFUiBzZW50IGhlcmUg4oCUIGNhbGxlcnMgbXVzdCBub3QgcGFzcyBvbmUuXG4gKlxuICogRGVwZW5kZW5jeS1mcmVlIHNvIHRoZSBwbHVnaW4tbG9va3VwLCB0b2tlbi1yZW5ldyBhbmQgZXZlbnQtaW5nZXN0IExhbWJkYXNcbiAqIChlYWNoIGEgc2luZ2xlIGJ1bmRsZWQgZmlsZSkgY2FuIGltcG9ydCBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IFJFUVVFU1RfSURfSEVBREVSID0gJ1gtUmVxdWVzdC1JZCc7XG5leHBvcnQgY29uc3QgUElQRUxJTkVfRVhFQ1VUSU9OX0lEX0hFQURFUiA9ICdYLVBpcGVsaW5lLUV4ZWN1dGlvbi1JZCc7XG5leHBvcnQgY29uc3QgQ09ERUJVSUxEX0JVSUxEX0lEX0hFQURFUiA9ICdYLUNvZGVCdWlsZC1CdWlsZC1JZCc7XG5cbi8qKiBUaGUgbG9uZ2VzdCBjb3JyZWxhdGlvbiB2YWx1ZSBzZW50OyB0aGUgc2VydmVyIGNhcHMgYXQgdGhlIHNhbWUgYm91bmQuICovXG5leHBvcnQgY29uc3QgTUFYX0NPUlJFTEFUSU9OX1ZBTFVFID0gMTI4O1xuXG4vKipcbiAqIEEgaGVhZGVyLXNhZmUgY29ycmVsYXRpb24gdmFsdWUsIG9yIHVuZGVmaW5lZCB3aGVuIG5vdGhpbmcgdXNhYmxlIGlzIGxlZnQuXG4gKiBLZWVwcyBwcmludGFibGUgQVNDSUkgb25seSDigJQgQ1IvTEYgKGhlYWRlciBpbmplY3Rpb24pIGFuZCBvdGhlciBjb250cm9sIG9yXG4gKiBub24tQVNDSUkgYnl0ZXMgYXJlIGRyb3BwZWQg4oCUIGFuZCBjYXBzIHRoZSBsZW5ndGguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdGl6ZUNvcnJlbGF0aW9uVmFsdWUodmFsdWU6IHVua25vd24pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykgcmV0dXJuIHVuZGVmaW5lZDtcbiAgY29uc3QgY2xlYW4gPSB2YWx1ZS5yZXBsYWNlKC9bXlxceDIxLVxceDdlXS9nLCAnJykuc2xpY2UoMCwgTUFYX0NPUlJFTEFUSU9OX1ZBTFVFKTtcbiAgcmV0dXJuIGNsZWFuLmxlbmd0aCA+IDAgPyBjbGVhbiA6IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBUaGUgY29ycmVsYXRpb24gaGVhZGVycyBmb3IgYSBydW4sIGVhY2ggaW5jbHVkZWQgb25seSB3aGVuIGl0cyB2YWx1ZVxuICogc3Vydml2ZXMgc2FuaXRpemluZy4gYHJlcXVlc3RJZGAgaXMgcmVxdWlyZWQgaW4gc3Bpcml0IChldmVyeSBjYWxsZXIgaGFzIG9uZSk7XG4gKiB0aGUgYnVpbGQgKyBleGVjdXRpb24gaWRzIG9ubHkgd2hlbiBnZW51aW5lbHkga25vd24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3JyZWxhdGlvbkhlYWRlcnMoaWRzOiB7XG4gIHJlcXVlc3RJZD86IHN0cmluZztcbiAgcGlwZWxpbmVFeGVjdXRpb25JZD86IHN0cmluZztcbiAgY29kZUJ1aWxkQnVpbGRJZD86IHN0cmluZztcbn0pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBjb25zdCByZXF1ZXN0SWQgPSBzYW5pdGl6ZUNvcnJlbGF0aW9uVmFsdWUoaWRzLnJlcXVlc3RJZCk7XG4gIGNvbnN0IGV4ZWN1dGlvbklkID0gc2FuaXRpemVDb3JyZWxhdGlvblZhbHVlKGlkcy5waXBlbGluZUV4ZWN1dGlvbklkKTtcbiAgY29uc3QgYnVpbGRJZCA9IHNhbml0aXplQ29ycmVsYXRpb25WYWx1ZShpZHMuY29kZUJ1aWxkQnVpbGRJZCk7XG4gIGlmIChyZXF1ZXN0SWQpIGhlYWRlcnNbUkVRVUVTVF9JRF9IRUFERVJdID0gcmVxdWVzdElkO1xuICBpZiAoZXhlY3V0aW9uSWQpIGhlYWRlcnNbUElQRUxJTkVfRVhFQ1VUSU9OX0lEX0hFQURFUl0gPSBleGVjdXRpb25JZDtcbiAgaWYgKGJ1aWxkSWQpIGhlYWRlcnNbQ09ERUJVSUxEX0JVSUxEX0lEX0hFQURFUl0gPSBidWlsZElkO1xuICByZXR1cm4gaGVhZGVycztcbn1cbiJdfQ==
|