@pipeline-builder/pipeline-core 4.4.10 → 4.4.12

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.
@@ -255,42 +255,6 @@ export interface AWSConfig {
255
255
  readonly codeBuild: {
256
256
  /** CodeBuild compute type name, e.g. `'SMALL'` (env: `CODEBUILD_COMPUTE_TYPE`). */
257
257
  readonly computeType: string;
258
- /**
259
- * Image used for CodeBuild steps that don't have a plugin-baked image
260
- * (cold-start synth bootstrap, ShellSteps with no registry, and
261
- * `metadata_only` plugins). env: `CODEBUILD_DEFAULT_IMAGE`. Default
262
- * `pipeline-bootstrap:1.0` — the local tag built by
263
- * `deploy/codebuild/bootstrap/Dockerfile`, with `pipeline-manager`
264
- * baked in.
265
- *
266
- * Contract: the image MUST have `pipeline-manager` on PATH. The
267
- * bootstrap synth path does not self-heal via `npm install -g`;
268
- * pointing this at an image without the tool gets exit 127 on the
269
- * first cold-start build.
270
- *
271
- * Resolution:
272
- * - Bare tag (no `/`) → auto-prefixed to
273
- * `<registry-host>:<port>/library/<tag>` using the registry config,
274
- * with the per-org platform Secret as Basic auth (same flow as
275
- * plugin images).
276
- * - Fully-qualified registry URI (contains `/`) → used as-is, no
277
- * auth wired (operator owns making it pullable).
278
- * - When the registry isn't configured or per-org auth isn't
279
- * available at the call site, falls back to
280
- * `aws/codebuild/standard:8.0` with a warning — cold-start synth
281
- * will then fail on `pipeline-manager: not found`, surfacing the
282
- * misconfiguration loudly instead of silently swapping images.
283
- */
284
- readonly defaultImage: string;
285
- /**
286
- * Registry manifest digest (`sha256:<64 hex>`) of {@link defaultImage},
287
- * printed by `deploy/bin/build-codebuild-bootstrap.sh` after it publishes.
288
- * env: `CODEBUILD_DEFAULT_IMAGE_DIGEST`. When set, a bare-tag image is
289
- * pulled as `<registry>/library/<repo>@<digest>` — by the artifact that
290
- * was built and scanned, never by the mutable tag. Empty → the tag is used
291
- * and synth warns loudly; malformed → synth fails.
292
- */
293
- readonly defaultImageDigest: string;
294
258
  };
295
259
  }
296
260
  /** 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXR5cGVzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgQnVpbGRDbGFzcyB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcblxuLyoqXG4gKiBUeXBlLXNhZmUgY29uZmlndXJhdGlvbiBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcHBDb25maWcge1xuICByZWFkb25seSBzZXJ2ZXI6IFNlcnZlckNvbmZpZztcbiAgcmVhZG9ubHkgYXV0aDogQXV0aENvbmZpZztcbiAgcmVhZG9ubHkgZGF0YWJhc2U6IERhdGFiYXNlQ29uZmlnO1xuICByZWFkb25seSByZWdpc3RyeTogUmVnaXN0cnlDb25maWc7XG4gIHJlYWRvbmx5IHBsdWdpbkJ1aWxkOiBQbHVnaW5CdWlsZENvbmZpZztcbiAgcmVhZG9ubHkgZG9ja2VyQ29uZmlnOiBCdWlsZENvbmZpZztcbiAgcmVhZG9ubHkgb2JzZXJ2YWJpbGl0eTogT2JzZXJ2YWJpbGl0eUNvbmZpZztcbiAgcmVhZG9ubHkgY29tcGxpYW5jZTogQ29tcGxpYW5jZUNvbmZpZztcbiAgcmVhZG9ubHkgYXdzOiBBV1NDb25maWc7XG4gIHJlYWRvbmx5IHJhdGVMaW1pdDogUmF0ZUxpbWl0Q29uZmlnO1xufVxuXG4vKiogRXhwcmVzcyBzZXJ2ZXIgY29uZmlndXJhdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVyQ29uZmlnIHtcbiAgLyoqIEhUVFAgbGlzdGVuIHBvcnQgKGVudjogYFBPUlRgKS4gKi9cbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICByZWFkb25seSBjb3JzOiB7XG4gICAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBjcmVkZW50aWFscyBpbiBDT1JTIHJlc3BvbnNlcyAoZW52OiBgQ09SU19DUkVERU5USUFMU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNyZWRlbnRpYWxzOiBib29sZWFuO1xuICAgIC8qKiBBbGxvd2VkIG9yaWdpbihzKSDigJQgc2luZ2xlIHN0cmluZywgYXJyYXksIG9yIGAnKidgIChlbnY6IGBDT1JTX09SSUdJTmApLiAqL1xuICAgIHJlYWRvbmx5IG9yaWdpbjogc3RyaW5nIHwgc3RyaW5nW107XG4gIH07XG4gIC8qKiBOdW1iZXIgb2YgcmV2ZXJzZSBwcm94eSBob3BzIHRvIHRydXN0IChlbnY6IGBUUlVTVF9QUk9YWWApLiAqL1xuICByZWFkb25seSB0cnVzdFByb3h5OiBudW1iZXI7XG4gIC8qKiBGcm9udGVuZCBiYXNlIFVSTCwgdXNlZCBhcyBDT1JTIGZhbGxiYWNrIChlbnY6IGBQTEFURk9STV9CQVNFX1VSTGApLiAqL1xuICByZWFkb25seSBwbGF0Zm9ybVVybDogc3RyaW5nO1xuICByZWFkb25seSBodHRwQ2xpZW50OiB7XG4gICAgLyoqIERlZmF1bHQgSFRUUCByZXF1ZXN0IHRpbWVvdXQgaW4gbXMgKGVudjogYEhUVFBfQ0xJRU5UX1RJTUVPVVRgKS4gKi9cbiAgICByZWFkb25seSB0aW1lb3V0OiBudW1iZXI7XG4gICAgLyoqIE1heGltdW0gcmV0cnkgYXR0ZW1wdHMgZm9yIGZhaWxlZCByZXF1ZXN0cyAoZW52OiBgSFRUUF9DTElFTlRfTUFYX1JFVFJJRVNgKS4gKi9cbiAgICByZWFkb25seSBtYXhSZXRyaWVzOiBudW1iZXI7XG4gICAgLyoqIEJhc2UgZGVsYXkgYmV0d2VlbiByZXRyaWVzIGluIG1zIChlbnY6IGBIVFRQX0NMSUVOVF9SRVRSWV9ERUxBWV9NU2ApLiAqL1xuICAgIHJlYWRvbmx5IHJldHJ5RGVsYXlNczogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSBzc2U6IHtcbiAgICAvKiogTWF4IFNTRSBjbGllbnRzIHBlciByZXF1ZXN0IChlbnY6IGBTU0VfTUFYX0NMSUVOVFNfUEVSX1JFUVVFU1RgKS4gKi9cbiAgICByZWFkb25seSBtYXhDbGllbnRzUGVyUmVxdWVzdDogbnVtYmVyO1xuICAgIC8qKiBTU0UgY2xpZW50IHRpbWVvdXQgaW4gbXMgKGVudjogYFNTRV9DTElFTlRfVElNRU9VVF9NU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNsaWVudFRpbWVvdXRNczogbnVtYmVyO1xuICAgIC8qKiBTU0UgY2xlYW51cCBpbnRlcnZhbCBpbiBtcyAoZW52OiBgU1NFX0NMRUFOVVBfSU5URVJWQUxfTVNgKS4gKi9cbiAgICByZWFkb25seSBjbGVhbnVwSW50ZXJ2YWxNczogbnVtYmVyO1xuICB9O1xuICAvKiogU2libGluZy1zZXJ2aWNlIGFkZHJlc3NlcywgcmVzb2x2ZWQgYnkgYXBpLWNvcmUncyBgc2VydmljZUVuZHBvaW50YFxuICAgKiAgKGA8TkFNRT5fU0VSVklDRV9IT1NUYCAvIGA8TkFNRT5fU0VSVklDRV9QT1JUYCkuICovXG4gIHJlYWRvbmx5IHNlcnZpY2VzOiB7XG4gICAgcmVhZG9ubHkgcGx1Z2luSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBsdWdpblBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBwaXBlbGluZUhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBwaXBlbGluZVBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBtZXNzYWdlSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IG1lc3NhZ2VQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcGxhdGZvcm1Ib3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgcGxhdGZvcm1Qb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgY29tcGxpYW5jZUhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBjb21wbGlhbmNlUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGJpbGxpbmdIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYmlsbGluZ1BvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBiaWxsaW5nVGltZW91dDogbnVtYmVyO1xuICAgIC8qKiBpbWFnZS1yZWdpc3RyeSBzZXJ2aWNlIOKAlCB0aGUgcGx1Z2luIHdvcmtlciBhc2tzIGl0IHRvIHNpZ24gcHVzaGVkIGltYWdlcyAoZW52OiBgSU1BR0VfUkVHSVNUUllfU0VSVklDRV9IT1NUYCkuICovXG4gICAgcmVhZG9ubHkgaW1hZ2VSZWdpc3RyeUhvc3Q6IHN0cmluZztcbiAgICAvKiogZW52OiBgSU1BR0VfUkVHSVNUUllfU0VSVklDRV9QT1JUYCAqL1xuICAgIHJlYWRvbmx5IGltYWdlUmVnaXN0cnlQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcXVvdGFIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgcXVvdGFQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcmVwb3J0aW5nSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHJlcG9ydGluZ1BvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBhc2tIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXNrUG9ydDogbnVtYmVyO1xuICB9O1xufVxuXG4vKiogQXV0aGVudGljYXRpb24gY29uZmlndXJhdGlvbiBmb3IgdGhlIGdlbmVyaWMgc2VydmljZSBzY2FmZm9sZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aENvbmZpZyB7XG4gIHJlYWRvbmx5IGp3dDoge1xuICAgIC8qKlxuICAgICAqIFRva2VuIGxpZmV0aW1lIGluIHNlY29uZHMgKGVudjogYEpXVF9FWFBJUkVTX0lOYCkuXG4gICAgICpcbiAgICAgKiBUaGVyZSBpcyBubyBKV1QgU0VDUkVUIGhlcmUgYW55IG1vcmUuIEV2ZXJ5IHRva2VuIGlzIGFzeW1tZXRyaWM6IGEgdXNlclxuICAgICAqIHRva2VuIGlzIEVTMjU2IHNpZ25lZCBieSBwbGF0Zm9ybSBhbG9uZSAoYHNlcnZpY2VzL3Rva2VuLXNpZ25pbmdgKSwgYW5kIGFuXG4gICAgICogaW50ZXJuYWwgc2VydmljZSB0b2tlbiBpcyBFUzI1NiBzaWduZWQgYnkgdGhlIENBTExJTkcgc2VydmljZSB3aXRoIGl0cyBvd25cbiAgICAgKiBrZXkgKCMxNCwgYFNFUlZJQ0VfU0lHTklOR19LRVlfRklMRWAgLyBgU0VSVklDRV9LRVlfQlVORExFX0ZJTEVgKS5cbiAgICAgKi9cbiAgICByZWFkb25seSBleHBpcmVzSW46IG51bWJlcjtcbiAgICAvKiogYmNyeXB0IHNhbHQgcm91bmRzIGZvciBwYXNzd29yZCBoYXNoaW5nIChlbnY6IGBCQ1JZUFRfU0FMVF9ST1VORFNgKS4gKi9cbiAgICByZWFkb25seSBzYWx0Um91bmRzOiBudW1iZXI7XG4gIH07XG4gIHJlYWRvbmx5IHJlZnJlc2hUb2tlbjoge1xuICAgIC8qKlxuICAgICAqIFRva2VuIGxpZmV0aW1lIGluIHNlY29uZHMgKGVudjogYFJFRlJFU0hfVE9LRU5fRVhQSVJFU19JTmApLiBUaGVyZSBpcyBub1xuICAgICAqIHJlZnJlc2gtdG9rZW4gU0VDUkVUIGFueSBtb3JlOiBhIHJlZnJlc2ggdG9rZW4gaXMgYSB1c2VyIHRva2VuLCBzaWduZWRcbiAgICAgKiB3aXRoIHBsYXRmb3JtJ3MgRVMyNTYga2V5IGxpa2UgZXZlcnkgb3RoZXIgY3JlZGVudGlhbCBhIHBlcnNvbiBob2xkcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBleHBpcmVzSW46IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqIFBvc3RncmVTUUwgYW5kIERyaXp6bGUgT1JNIGRhdGFiYXNlIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgcG9zdGdyZXM6IHtcbiAgICAvKiogUG9zdGdyZVNRTCBob3N0IChlbnY6IGBEQl9IT1NUYCkuICovXG4gICAgcmVhZG9ubHkgaG9zdDogc3RyaW5nO1xuICAgIC8qKiBQb3N0Z3JlU1FMIHBvcnQgKGVudjogYERCX1BPUlRgKS4gKi9cbiAgICByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgLyoqIERhdGFiYXNlIG5hbWUgKGVudjogYERBVEFCQVNFYCkuICovXG4gICAgcmVhZG9ubHkgZGF0YWJhc2U6IHN0cmluZztcbiAgICAvKiogRGF0YWJhc2UgdXNlciAoZW52OiBgREJfVVNFUmApLiAqL1xuICAgIHJlYWRvbmx5IHVzZXI6IHN0cmluZztcbiAgICAvKiogRGF0YWJhc2UgcGFzc3dvcmQgKGVudjogYERCX1BBU1NXT1JEYCkuICovXG4gICAgcmVhZG9ubHkgcGFzc3dvcmQ6IHN0cmluZztcbiAgfTtcbiAgcmVhZG9ubHkgZHJpenpsZToge1xuICAgIC8qKiBNYXhpbXVtIGNvbm5lY3Rpb24gcG9vbCBzaXplIChlbnY6IGBEUklaWkxFX01BWF9QT09MX1NJWkVgKS4gKi9cbiAgICByZWFkb25seSBtYXhQb29sU2l6ZTogbnVtYmVyO1xuICAgIC8qKiBJZGxlIGNvbm5lY3Rpb24gdGltZW91dCBpbiBtcyAoZW52OiBgRFJJWlpMRV9JRExFX1RJTUVPVVRfTUlMTElTYCkuICovXG4gICAgcmVhZG9ubHkgaWRsZVRpbWVvdXRNaWxsaXM6IG51bWJlcjtcbiAgICAvKiogTmV3IGNvbm5lY3Rpb24gdGltZW91dCBpbiBtcyAoZW52OiBgRFJJWlpMRV9DT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTYCkuICovXG4gICAgcmVhZG9ubHkgY29ubmVjdGlvblRpbWVvdXRNaWxsaXM6IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyeUNvbmZpZyB7XG4gIHJlYWRvbmx5IGhvc3Q6IHN0cmluZztcbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAvKipcbiAgICogSG9zdC9wb3J0IGFuIE9VVC1PRi1DTFVTVEVSIGNsaWVudCAobm90YWJseSBBV1MgQ29kZUJ1aWxkKSB1c2VzIHRvIHB1bGxcbiAgICogcGx1Z2luIGltYWdlcywgd2hlbiBpdCBkaWZmZXJzIGZyb20gdGhlIGluLWNsdXN0ZXIgYGhvc3RgL2Bwb3J0YC4gVGhlXG4gICAqIGluLWNsdXN0ZXIgYHJlZ2lzdHJ5OjUwMDBgIENsdXN0ZXJJUCBpc24ndCByZXNvbHZhYmxlIGZyb20gdGhlIFZQQywgc28gdGhlXG4gICAqIHN5bnRoZXNpemVkIENvZGVCdWlsZCBpbWFnZSBVUkkgbXVzdCBwb2ludCBhdCB0aGUgcHVibGljIGdhdGV3YXkgaW5zdGVhZC5cbiAgICogRW52OiBgSU1BR0VfUkVHSVNUUllfUFVMTF9IT1NUYCAvIGBJTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlRgLiBPcHRpb25hbDtcbiAgICogY29uc3VtZXJzIGZhbGwgYmFjayB0byBgaG9zdGAvYHBvcnRgIHdoZW4gdW5zZXQgKHNpbmdsZS1ob3N0IC9cbiAgICogaW4tY2x1c3Rlci1vbmx5IGRlcGxveXMpLiBgbG9hZFJlZ2lzdHJ5Q29uZmlnYCBhbHdheXMgcG9wdWxhdGVzIHRoZW0uXG4gICAqL1xuICByZWFkb25seSBwdWxsSG9zdD86IHN0cmluZztcbiAgcmVhZG9ubHkgcHVsbFBvcnQ/OiBudW1iZXI7XG4gIC8qKiBEb2NrZXIgbmV0d29yayBmb3IgYnVpbGQvcHVzaCAoZW1wdHkgc3RyaW5nID0gZGVmYXVsdCkuICovXG4gIHJlYWRvbmx5IG5ldHdvcms6IHN0cmluZztcbiAgLyoqXG4gICAqIEJ1aWxkS2l0IHRhbGtzIHRvIHRoZSByZWdpc3RyeSBvdmVyIHBsYWluIEhUVFAgd2hlbiB0cnVlOyBIVFRQUyB3aXRoIHRoZVxuICAgKiBzeXN0ZW0gQ0EgYnVuZGxlIG90aGVyd2lzZS4gRW52OiBgSU1BR0VfUkVHSVNUUllfSFRUUGAgKGRlZmF1bHRzIHRydWUg4oCUXG4gICAqIHRoZSBpbi1jbHVzdGVyIHJlZ2lzdHJ5IGhhcyBubyBUTFMpLlxuICAgKi9cbiAgcmVhZG9ubHkgaHR0cDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5CdWlsZENvbmZpZyB7XG4gIC8qKlxuICAgKiBCQVNFTElORSBpbi1mbGlnaHQgYnVpbGQgc2xvdHMgb25lIG9yZ2FuaXphdGlvbiBnZXRzLCBQRVIgU0NIRURVTElORyBDTEFTU1xuICAgKiAoYFBMVUdJTl9PUkdfQlVJTERfU0xPVFNfU1RBTkRBUkRgIDUsIGBQTFVHSU5fT1JHX0JVSUxEX1NMT1RTX0ZMRVhJQkxFYCA4KS5cbiAgICpcbiAgICogRXZlcnkgb3JnIGdldHMgYXQgbGVhc3QgdGhpcyBtYW55OyB0aGUgdGllciBsYWRkZXIgaW4gYEJVSUxEX0NMQVNTX0NBVEFMT0dgXG4gICAqIG9ubHkgZXZlciBSQUlTRVMgaXQsIHNvIHRoZSBlZmZlY3RpdmUgY2FwIGlzIGBtYXgodGhpc1tjbGFzc10sIGxhZGRlcilgLlxuICAgKlxuICAgKiBGaXZlIGFuZCBlaWdodCByYXRoZXIgdGhhbiB0aGUgbGFkZGVyJ3MgbG93ZXIgcm93cyAoc3RhbmRhcmQgMS8yLzMsIGZsZXhpYmxlXG4gICAqIDMvNC82KSBiZWNhdXNlIHRocmVlIGluIGZsaWdodCBpcyB0b28gdGlnaHQgZm9yIGEgcmVhbCB3b3JraW5nIHNldDogYW4gb3JnXG4gICAqIHB1c2hpbmcgYSBiYXRjaCBvZiBwbHVnaW5zIHNwZW5kcyBtb3N0IG9mIGl0cyB0aW1lIHF1ZXVlZCwgYW5kIHBhc3RcbiAgICogYFBMVUdJTl9PUkdfU0xPVF9NQVhfV0FJVF9NU2AgdGhlIHdhaXRpbmcgYnVpbGRzIGZhaWwgVEVSTUlOQUxMWSByYXRoZXIgdGhhblxuICAgKiBtZXJlbHkgbGF0ZS5cbiAgICpcbiAgICogKipQRVIgQ0xBU1MsIGFuZCB0aGF0IGlzIHRoZSBwb2ludC4qKiBBIHNpbmdsZSBiYXNlbGluZSBhY3Jvc3MgYm90aCBjbGFzc2VzXG4gICAqIGZsYXR0ZW5lZCB0aGVtIGJlbG93IGl0IOKAlCBkZXZlbG9wZXIsIHBybyBhbmQgdGVhbSBhbGwgbGFuZGVkIG9uIHRoZSBzYW1lXG4gICAqIGZpZ3VyZSBmb3Igc3RhbmRhcmQgYW5kIGZsZXhpYmxlIGFsaWtlLCBzbyBjaG9vc2luZyB0aGUgY2hlYXAgY2xhc3MgYm91Z2h0XG4gICAqIHRoZSBsYXRlciBzdGFydCBhbmQgbm8gZXh0cmEgc2xvdHMuIEtleWluZyB0aGUgYmFzZWxpbmUgb24gdGhlIGNsYXNzIGtlZXBzXG4gICAqIFwiZmxleGlibGUgYWx3YXlzIGhhcyBtb3JlIGhlYWRyb29tXCIgdHJ1ZSBvbiBFVkVSWSB0aWVyIGJ5IGNvbnN0cnVjdGlvblxuICAgKiByYXRoZXIgdGhhbiBieSBhc3NlcnRpb24uXG4gICAqXG4gICAqIEEgREVGQVVMVCwgbm90IGEgY2VpbGluZzogYW4gZXhwbGljaXQgYFBMVUdJTl9NQVhfQlVJTERTXzxUSUVSPl88Q0xBU1M+YFxuICAgKiB3aW5zIG91dHJpZ2h0LCBpbmNsdWRpbmcgYSB2YWx1ZSBiZWxvdyB0aGlzLCBzbyBhbiBvcGVyYXRvciB3aG8gZGVsaWJlcmF0ZWx5XG4gICAqIHdhbnRzIG9uZSB0aWVyIGF0IGEgc2luZ2xlIGJ1aWxkIHN0aWxsIGdldHMgaXQuIFRoZSBjYXRhbG9nIGNhbm5vdCByZWFkIHRoaXNcbiAgICogaXRzZWxmIOKAlCBpdCBpcyBicm93c2VyLWltcG9ydGFibGUsIHNvIGl0IGNhbm5vdCBzZWUgYW4gZW52IHZhciDigJQgd2hpY2ggaXNcbiAgICogd2h5IHRoZSBvdmVybGF5IGxpdmVzIGluIHRoZSBwbHVnaW4gc2VydmljZS5cbiAgICpcbiAgICogS2V5ZWQgb24gYEJ1aWxkQ2xhc3NgIHJhdGhlciB0aGFuIGEgbG9vc2UgcGFpciBzbyBhIHRoaXJkIHNjaGVkdWxpbmcgY2xhc3NcbiAgICogY2Fubm90IGJlIGFkZGVkIHdpdGhvdXQgZ2l2aW5nIGl0IGEgYmFzZWxpbmUuXG4gICAqXG4gICAqIFRoZXNlIGFyZSBERUxJQkVSQVRFTFkgbm90IG5hbWVkIGBQTFVHSU5fTUFYX0JVSUxEU19QRVJfT1JHYC4gVGhhdCBuYW1lIHdhc1xuICAgKiBkZWFkIGZvciBhIHdoaWxlIGFuZCBsZWZ0IGJlaGluZCBpbiB0aHJlZSBkZXBsb3kgdGFyZ2V0cycgYC5lbnYuZXhhbXBsZWAsIHNvXG4gICAqIHJldml2aW5nIGl0IHdvdWxkIGhhdmUgc2lsZW50bHkgYXBwbGllZCBhIHN0YWxlIGA9M2Ag4oCUIHRoZSB2ZXJ5IGZpZ3VyZSB0aGF0XG4gICAqIHN0YXJ2ZWQgdGhlIGNhdGFsb2d1ZSBsb2FkLiBBIGZyZXNoIG5hbWUgY2FuIG9ubHkgaGF2ZSBiZWVuIHNldCBvbiBwdXJwb3NlLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JnQnVpbGRTbG90czogUmVhZG9ubHk8UmVjb3JkPEJ1aWxkQ2xhc3MsIG51bWJlcj4+O1xuICByZWFkb25seSBtYXhBdHRlbXB0czogbnVtYmVyO1xuICByZWFkb25seSBiYWNrb2ZmRGVsYXlNczogbnVtYmVyO1xuICByZWFkb25seSB3b3JrZXJUaW1lb3V0TXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGVtcERpck1heEFnZU1zOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscU1heEF0dGVtcHRzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscUJhY2tvZmZCYXNlTXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgZGxxTWF4U2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkQ29uZmlnIHtcbiAgLyoqIFJvb3QgZGlyZWN0b3J5IGZvciBidWlsZCB0ZW1wIGZpbGVzLiAqL1xuICByZWFkb25seSB0ZW1wUm9vdDogc3RyaW5nO1xuICAvKiogQnVpbGQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuICovXG4gIHJlYWRvbmx5IHRpbWVvdXRNczogbnVtYmVyO1xuICAvKiogUHVzaCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gKi9cbiAgcmVhZG9ubHkgcHVzaFRpbWVvdXRNczogbnVtYmVyO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnVpbGRraXRkIHNvY2tldCB0aGUgcGx1Z2luJ3MgYGJ1aWxkY3RsYCBjb25uZWN0cyB0by4gSW4gazhzXG4gICAqIGFuZCBjb21wb3NlIHRoaXMgaXMgYSBzaGFyZWQgZW1wdHlEaXIvdG1wZnMgdm9sdW1lIG1vdW50ZWQgZnJvbSB0aGVcbiAgICogYnVpbGRraXRkIHNpZGVjYXIuXG4gICAqL1xuICByZWFkb25seSBidWlsZGtpdEFkZHI6IHN0cmluZztcbiAgLyoqXG4gICAqIFBFTSBwdWJsaWMga2V5IHBsdWdpbiBpbWFnZXMgYXJlIHZlcmlmaWVkIGFnYWluc3QgKGVudjpcbiAgICogYFBMVUdJTl9TSUdOSU5HX1BVQkxJQ19LRVlfRklMRWApLiBUaGUgUFJJVkFURSBoYWxmIGxpdmVzIG9ubHkgaW4gdGhlXG4gICAqIGltYWdlLXJlZ2lzdHJ5IHNlcnZpY2UsIHdoaWNoIHNpZ25zIGV2ZXJ5IHB1c2hlZCBwbHVnaW4gaW1hZ2Ug4oCUIG5ldmVyIGluIHRoZVxuICAgKiBwbHVnaW4gcG9kLCB3aG9zZSBuZXR3b3JrIG5hbWVzcGFjZSBpcyBzaGFyZWQgd2l0aCB1bnRydXN0ZWQgYnVpbGRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2lnbmluZ1B1YmxpY0tleUZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmlsaXR5Q29uZmlnIHtcbiAgcmVhZG9ubHkgbG9nTGV2ZWw6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9nRm9ybWF0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRyYWNpbmc6IHtcbiAgICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGVuZHBvaW50OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHNjYW5TY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBXaGVuIGZhbHNlLCB0aGUgc2NoZWR1bGVyIHNraXBzIHNjYW5zL3NjaGVkdWxlcyBmb3IgdGhlIHN5c3RlbSBvcmcuIERlZmF1bHQ6IGZhbHNlLiAqL1xuICByZWFkb25seSBzeXN0ZW1PcmdTY2Fuc0VuYWJsZWQ6IGJvb2xlYW47XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgc2NhbiBzY2hlZHVsZXIgKG1zKS4gRGVmYXVsdDogMzAwMDAwLiAqL1xuICByZWFkb25seSBzY2FuTG9ja1R0bE1zOiBudW1iZXI7XG4gIC8qKiBIb3cgb2Z0ZW4gdGhlIGRpZ2VzdCBzY2hlZHVsZXIgY2hlY2tzIGZvciBkdWUgZGlnZXN0cyAobXMpLiBEZWZhdWx0OiAzNjAwMDAwLiAqL1xuICByZWFkb25seSBkaWdlc3RTY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgZGlnZXN0IHNjaGVkdWxlciAobXMpLiBEZWZhdWx0OiAzMDAwMDAuICovXG4gIHJlYWRvbmx5IGRpZ2VzdExvY2tUdGxNczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFXUyBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIERlbGliZXJhdGVseSBleHByZXNzZWQgaW4gUExBSU4gREFUQSAobnVtYmVycywgc3RyaW5ncywgc3RyaW5nIHVuaW9ucykgcmF0aGVyXG4gKiB0aGFuIENESyB2YWx1ZSBvYmplY3RzIChgRHVyYXRpb25gLCBgUnVudGltZWAsIGBSZXRlbnRpb25EYXlzYCwgLi4uKS4gQ29uZmlnIGlzXG4gKiBsb2FkZWQgYnkgZXZlcnkgc2VydmljZSwgYnV0IG9ubHkgdGhlIENESyBlbnRyeSBwb2ludCAoYEBwaXBlbGluZS1idWlsZGVyL1xuICogcGlwZWxpbmUtY29yZS9jZGtgKSBidWlsZHMgc3RhY2tzICB0eXBpbmcgdGhpcyBibG9jayB3aXRoIENESyBjbGFzc2VzIHB1dFxuICogYGF3cy1jZGstbGliYCBvbiB0aGUgaW1wb3J0IGdyYXBoIG9mIGBDb25maWdgLCBhbmQgdGhlcmVmb3JlIG9mIGV2ZXJ5IEFQSVxuICogc2VydmljZSB0aGF0IHJlYWRzIHNvIG11Y2ggYXMgYSBwb3J0IG51bWJlci4gQ29udmVyc2lvbiB0byBDREsgb2JqZWN0cyBoYXBwZW5zXG4gKiBhdCB0aGUgY29uc3RydWN0IGJvdW5kYXJ5IGluIGBjb25maWcvYXdzLWNvbmZpZy1jZGsudHNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFXU0NvbmZpZyB7XG4gIHJlYWRvbmx5IGxhbWJkYToge1xuICAgIC8qKiBMYW1iZGEgcnVudGltZSBpZGVudGlmaWVyLCBlLmcuIGAnbm9kZWpzMjYueCdgIChlbnY6IGBMQU1CREFfUlVOVElNRWApLiAqL1xuICAgIHJlYWRvbmx5IHJ1bnRpbWU6IHN0cmluZztcbiAgICAvKiogRnVuY3Rpb24gdGltZW91dCBpbiBzZWNvbmRzIChlbnY6IGBMQU1CREFfVElNRU9VVGApLiAqL1xuICAgIHJlYWRvbmx5IHRpbWVvdXRTZWNvbmRzOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbWVtb3J5U2l6ZTogbnVtYmVyO1xuICAgIC8qKiBMYW1iZGEgQ1BVIGFyY2hpdGVjdHVyZSAoZW52OiBgTEFNQkRBX0FSQ0hJVEVDVFVSRWAsIGBBUk1fNjRgIG9yIGB4ODZfNjRgKS4gKi9cbiAgICByZWFkb25seSBhcmNoaXRlY3R1cmU6ICdhcm02NCcgfCAneDg2XzY0JztcbiAgICByZWFkb25seSByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zPzogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSBsb2dnaW5nOiB7XG4gICAgcmVhZG9ubHkgZ3JvdXBOYW1lOiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IGNvZGVCdWlsZDoge1xuICAgIC8qKiBDb2RlQnVpbGQgY29tcHV0ZSB0eXBlIG5hbWUsIGUuZy4gYCdTTUFMTCdgIChlbnY6IGBDT0RFQlVJTERfQ09NUFVURV9UWVBFYCkuICovXG4gICAgcmVhZG9ubHkgY29tcHV0ZVR5cGU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBJbWFnZSB1c2VkIGZvciBDb2RlQnVpbGQgc3RlcHMgdGhhdCBkb24ndCBoYXZlIGEgcGx1Z2luLWJha2VkIGltYWdlXG4gICAgICogKGNvbGQtc3RhcnQgc3ludGggYm9vdHN0cmFwLCBTaGVsbFN0ZXBzIHdpdGggbm8gcmVnaXN0cnksIGFuZFxuICAgICAqIGBtZXRhZGF0YV9vbmx5YCBwbHVnaW5zKS4gZW52OiBgQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0VgLiBEZWZhdWx0XG4gICAgICogYHBpcGVsaW5lLWJvb3RzdHJhcDoxLjBgIOKAlCB0aGUgbG9jYWwgdGFnIGJ1aWx0IGJ5XG4gICAgICogYGRlcGxveS9jb2RlYnVpbGQvYm9vdHN0cmFwL0RvY2tlcmZpbGVgLCB3aXRoIGBwaXBlbGluZS1tYW5hZ2VyYFxuICAgICAqIGJha2VkIGluLlxuICAgICAqXG4gICAgICogQ29udHJhY3Q6IHRoZSBpbWFnZSBNVVNUIGhhdmUgYHBpcGVsaW5lLW1hbmFnZXJgIG9uIFBBVEguIFRoZVxuICAgICAqIGJvb3RzdHJhcCBzeW50aCBwYXRoIGRvZXMgbm90IHNlbGYtaGVhbCB2aWEgYG5wbSBpbnN0YWxsIC1nYDtcbiAgICAgKiBwb2ludGluZyB0aGlzIGF0IGFuIGltYWdlIHdpdGhvdXQgdGhlIHRvb2wgZ2V0cyBleGl0IDEyNyBvbiB0aGVcbiAgICAgKiBmaXJzdCBjb2xkLXN0YXJ0IGJ1aWxkLlxuICAgICAqXG4gICAgICogUmVzb2x1dGlvbjpcbiAgICAgKiAtIEJhcmUgdGFnIChubyBgL2ApIOKGkiBhdXRvLXByZWZpeGVkIHRvXG4gICAgICogICBgPHJlZ2lzdHJ5LWhvc3Q+Ojxwb3J0Pi9saWJyYXJ5Lzx0YWc+YCB1c2luZyB0aGUgcmVnaXN0cnkgY29uZmlnLFxuICAgICAqICAgd2l0aCB0aGUgcGVyLW9yZyBwbGF0Zm9ybSBTZWNyZXQgYXMgQmFzaWMgYXV0aCAoc2FtZSBmbG93IGFzXG4gICAgICogICBwbHVnaW4gaW1hZ2VzKS5cbiAgICAgKiAtIEZ1bGx5LXF1YWxpZmllZCByZWdpc3RyeSBVUkkgKGNvbnRhaW5zIGAvYCkg4oaSIHVzZWQgYXMtaXMsIG5vXG4gICAgICogICBhdXRoIHdpcmVkIChvcGVyYXRvciBvd25zIG1ha2luZyBpdCBwdWxsYWJsZSkuXG4gICAgICogLSBXaGVuIHRoZSByZWdpc3RyeSBpc24ndCBjb25maWd1cmVkIG9yIHBlci1vcmcgYXV0aCBpc24ndFxuICAgICAqICAgYXZhaWxhYmxlIGF0IHRoZSBjYWxsIHNpdGUsIGZhbGxzIGJhY2sgdG9cbiAgICAgKiAgIGBhd3MvY29kZWJ1aWxkL3N0YW5kYXJkOjguMGAgd2l0aCBhIHdhcm5pbmcg4oCUIGNvbGQtc3RhcnQgc3ludGhcbiAgICAgKiAgIHdpbGwgdGhlbiBmYWlsIG9uIGBwaXBlbGluZS1tYW5hZ2VyOiBub3QgZm91bmRgLCBzdXJmYWNpbmcgdGhlXG4gICAgICogICBtaXNjb25maWd1cmF0aW9uIGxvdWRseSBpbnN0ZWFkIG9mIHNpbGVudGx5IHN3YXBwaW5nIGltYWdlcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBkZWZhdWx0SW1hZ2U6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBSZWdpc3RyeSBtYW5pZmVzdCBkaWdlc3QgKGBzaGEyNTY6PDY0IGhleD5gKSBvZiB7QGxpbmsgZGVmYXVsdEltYWdlfSxcbiAgICAgKiBwcmludGVkIGJ5IGBkZXBsb3kvYmluL2J1aWxkLWNvZGVidWlsZC1ib290c3RyYXAuc2hgIGFmdGVyIGl0IHB1Ymxpc2hlcy5cbiAgICAgKiBlbnY6IGBDT0RFQlVJTERfREVGQVVMVF9JTUFHRV9ESUdFU1RgLiBXaGVuIHNldCwgYSBiYXJlLXRhZyBpbWFnZSBpc1xuICAgICAqIHB1bGxlZCBhcyBgPHJlZ2lzdHJ5Pi9saWJyYXJ5LzxyZXBvPkA8ZGlnZXN0PmAg4oCUIGJ5IHRoZSBhcnRpZmFjdCB0aGF0XG4gICAgICogd2FzIGJ1aWx0IGFuZCBzY2FubmVkLCBuZXZlciBieSB0aGUgbXV0YWJsZSB0YWcuIEVtcHR5IOKGkiB0aGUgdGFnIGlzIHVzZWRcbiAgICAgKiBhbmQgc3ludGggd2FybnMgbG91ZGx5OyBtYWxmb3JtZWQg4oaSIHN5bnRoIGZhaWxzLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRlZmF1bHRJbWFnZURpZ2VzdDogc3RyaW5nO1xuICB9O1xufVxuXG4vKiogRXhwcmVzcyByYXRlIGxpbWl0aW5nIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIFJhdGVMaW1pdENvbmZpZyB7XG4gIC8qKiBNYXhpbXVtIHJlcXVlc3RzIHBlciB3aW5kb3cgKGVudjogYExJTUlURVJfTUFYYCkuICovXG4gIHJlYWRvbmx5IG1heDogbnVtYmVyO1xuICAvKiogUmF0ZSBsaW1pdCB3aW5kb3cgaW4gbWlsbGlzZWNvbmRzIChlbnY6IGBMSU1JVEVSX1dJTkRPV01TYCkuICovXG4gIHJlYWRvbmx5IHdpbmRvd01zOiBudW1iZXI7XG59XG4iXX0=
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXR5cGVzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2NvbmZpZy10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgQnVpbGRDbGFzcyB9IGZyb20gJ0BwaXBlbGluZS1idWlsZGVyL2FwaS1jb3JlJztcblxuLyoqXG4gKiBUeXBlLXNhZmUgY29uZmlndXJhdGlvbiBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBcHBDb25maWcge1xuICByZWFkb25seSBzZXJ2ZXI6IFNlcnZlckNvbmZpZztcbiAgcmVhZG9ubHkgYXV0aDogQXV0aENvbmZpZztcbiAgcmVhZG9ubHkgZGF0YWJhc2U6IERhdGFiYXNlQ29uZmlnO1xuICByZWFkb25seSByZWdpc3RyeTogUmVnaXN0cnlDb25maWc7XG4gIHJlYWRvbmx5IHBsdWdpbkJ1aWxkOiBQbHVnaW5CdWlsZENvbmZpZztcbiAgcmVhZG9ubHkgZG9ja2VyQ29uZmlnOiBCdWlsZENvbmZpZztcbiAgcmVhZG9ubHkgb2JzZXJ2YWJpbGl0eTogT2JzZXJ2YWJpbGl0eUNvbmZpZztcbiAgcmVhZG9ubHkgY29tcGxpYW5jZTogQ29tcGxpYW5jZUNvbmZpZztcbiAgcmVhZG9ubHkgYXdzOiBBV1NDb25maWc7XG4gIHJlYWRvbmx5IHJhdGVMaW1pdDogUmF0ZUxpbWl0Q29uZmlnO1xufVxuXG4vKiogRXhwcmVzcyBzZXJ2ZXIgY29uZmlndXJhdGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmVyQ29uZmlnIHtcbiAgLyoqIEhUVFAgbGlzdGVuIHBvcnQgKGVudjogYFBPUlRgKS4gKi9cbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICByZWFkb25seSBjb3JzOiB7XG4gICAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBjcmVkZW50aWFscyBpbiBDT1JTIHJlc3BvbnNlcyAoZW52OiBgQ09SU19DUkVERU5USUFMU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNyZWRlbnRpYWxzOiBib29sZWFuO1xuICAgIC8qKiBBbGxvd2VkIG9yaWdpbihzKSDigJQgc2luZ2xlIHN0cmluZywgYXJyYXksIG9yIGAnKidgIChlbnY6IGBDT1JTX09SSUdJTmApLiAqL1xuICAgIHJlYWRvbmx5IG9yaWdpbjogc3RyaW5nIHwgc3RyaW5nW107XG4gIH07XG4gIC8qKiBOdW1iZXIgb2YgcmV2ZXJzZSBwcm94eSBob3BzIHRvIHRydXN0IChlbnY6IGBUUlVTVF9QUk9YWWApLiAqL1xuICByZWFkb25seSB0cnVzdFByb3h5OiBudW1iZXI7XG4gIC8qKiBGcm9udGVuZCBiYXNlIFVSTCwgdXNlZCBhcyBDT1JTIGZhbGxiYWNrIChlbnY6IGBQTEFURk9STV9CQVNFX1VSTGApLiAqL1xuICByZWFkb25seSBwbGF0Zm9ybVVybDogc3RyaW5nO1xuICByZWFkb25seSBodHRwQ2xpZW50OiB7XG4gICAgLyoqIERlZmF1bHQgSFRUUCByZXF1ZXN0IHRpbWVvdXQgaW4gbXMgKGVudjogYEhUVFBfQ0xJRU5UX1RJTUVPVVRgKS4gKi9cbiAgICByZWFkb25seSB0aW1lb3V0OiBudW1iZXI7XG4gICAgLyoqIE1heGltdW0gcmV0cnkgYXR0ZW1wdHMgZm9yIGZhaWxlZCByZXF1ZXN0cyAoZW52OiBgSFRUUF9DTElFTlRfTUFYX1JFVFJJRVNgKS4gKi9cbiAgICByZWFkb25seSBtYXhSZXRyaWVzOiBudW1iZXI7XG4gICAgLyoqIEJhc2UgZGVsYXkgYmV0d2VlbiByZXRyaWVzIGluIG1zIChlbnY6IGBIVFRQX0NMSUVOVF9SRVRSWV9ERUxBWV9NU2ApLiAqL1xuICAgIHJlYWRvbmx5IHJldHJ5RGVsYXlNczogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSBzc2U6IHtcbiAgICAvKiogTWF4IFNTRSBjbGllbnRzIHBlciByZXF1ZXN0IChlbnY6IGBTU0VfTUFYX0NMSUVOVFNfUEVSX1JFUVVFU1RgKS4gKi9cbiAgICByZWFkb25seSBtYXhDbGllbnRzUGVyUmVxdWVzdDogbnVtYmVyO1xuICAgIC8qKiBTU0UgY2xpZW50IHRpbWVvdXQgaW4gbXMgKGVudjogYFNTRV9DTElFTlRfVElNRU9VVF9NU2ApLiAqL1xuICAgIHJlYWRvbmx5IGNsaWVudFRpbWVvdXRNczogbnVtYmVyO1xuICAgIC8qKiBTU0UgY2xlYW51cCBpbnRlcnZhbCBpbiBtcyAoZW52OiBgU1NFX0NMRUFOVVBfSU5URVJWQUxfTVNgKS4gKi9cbiAgICByZWFkb25seSBjbGVhbnVwSW50ZXJ2YWxNczogbnVtYmVyO1xuICB9O1xuICAvKiogU2libGluZy1zZXJ2aWNlIGFkZHJlc3NlcywgcmVzb2x2ZWQgYnkgYXBpLWNvcmUncyBgc2VydmljZUVuZHBvaW50YFxuICAgKiAgKGA8TkFNRT5fU0VSVklDRV9IT1NUYCAvIGA8TkFNRT5fU0VSVklDRV9QT1JUYCkuICovXG4gIHJlYWRvbmx5IHNlcnZpY2VzOiB7XG4gICAgcmVhZG9ubHkgcGx1Z2luSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBsdWdpblBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBwaXBlbGluZUhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBwaXBlbGluZVBvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBtZXNzYWdlSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IG1lc3NhZ2VQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcGxhdGZvcm1Ib3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgcGxhdGZvcm1Qb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgY29tcGxpYW5jZUhvc3Q6IHN0cmluZztcbiAgICByZWFkb25seSBjb21wbGlhbmNlUG9ydDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGJpbGxpbmdIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYmlsbGluZ1BvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBiaWxsaW5nVGltZW91dDogbnVtYmVyO1xuICAgIC8qKiBpbWFnZS1yZWdpc3RyeSBzZXJ2aWNlIOKAlCB0aGUgcGx1Z2luIHdvcmtlciBhc2tzIGl0IHRvIHNpZ24gcHVzaGVkIGltYWdlcyAoZW52OiBgSU1BR0VfUkVHSVNUUllfU0VSVklDRV9IT1NUYCkuICovXG4gICAgcmVhZG9ubHkgaW1hZ2VSZWdpc3RyeUhvc3Q6IHN0cmluZztcbiAgICAvKiogZW52OiBgSU1BR0VfUkVHSVNUUllfU0VSVklDRV9QT1JUYCAqL1xuICAgIHJlYWRvbmx5IGltYWdlUmVnaXN0cnlQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcXVvdGFIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgcXVvdGFQb3J0OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcmVwb3J0aW5nSG9zdDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHJlcG9ydGluZ1BvcnQ6IG51bWJlcjtcbiAgICByZWFkb25seSBhc2tIb3N0OiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgYXNrUG9ydDogbnVtYmVyO1xuICB9O1xufVxuXG4vKiogQXV0aGVudGljYXRpb24gY29uZmlndXJhdGlvbiBmb3IgdGhlIGdlbmVyaWMgc2VydmljZSBzY2FmZm9sZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aENvbmZpZyB7XG4gIHJlYWRvbmx5IGp3dDoge1xuICAgIC8qKlxuICAgICAqIFRva2VuIGxpZmV0aW1lIGluIHNlY29uZHMgKGVudjogYEpXVF9FWFBJUkVTX0lOYCkuXG4gICAgICpcbiAgICAgKiBUaGVyZSBpcyBubyBKV1QgU0VDUkVUIGhlcmUgYW55IG1vcmUuIEV2ZXJ5IHRva2VuIGlzIGFzeW1tZXRyaWM6IGEgdXNlclxuICAgICAqIHRva2VuIGlzIEVTMjU2IHNpZ25lZCBieSBwbGF0Zm9ybSBhbG9uZSAoYHNlcnZpY2VzL3Rva2VuLXNpZ25pbmdgKSwgYW5kIGFuXG4gICAgICogaW50ZXJuYWwgc2VydmljZSB0b2tlbiBpcyBFUzI1NiBzaWduZWQgYnkgdGhlIENBTExJTkcgc2VydmljZSB3aXRoIGl0cyBvd25cbiAgICAgKiBrZXkgKCMxNCwgYFNFUlZJQ0VfU0lHTklOR19LRVlfRklMRWAgLyBgU0VSVklDRV9LRVlfQlVORExFX0ZJTEVgKS5cbiAgICAgKi9cbiAgICByZWFkb25seSBleHBpcmVzSW46IG51bWJlcjtcbiAgICAvKiogYmNyeXB0IHNhbHQgcm91bmRzIGZvciBwYXNzd29yZCBoYXNoaW5nIChlbnY6IGBCQ1JZUFRfU0FMVF9ST1VORFNgKS4gKi9cbiAgICByZWFkb25seSBzYWx0Um91bmRzOiBudW1iZXI7XG4gIH07XG4gIHJlYWRvbmx5IHJlZnJlc2hUb2tlbjoge1xuICAgIC8qKlxuICAgICAqIFRva2VuIGxpZmV0aW1lIGluIHNlY29uZHMgKGVudjogYFJFRlJFU0hfVE9LRU5fRVhQSVJFU19JTmApLiBUaGVyZSBpcyBub1xuICAgICAqIHJlZnJlc2gtdG9rZW4gU0VDUkVUIGFueSBtb3JlOiBhIHJlZnJlc2ggdG9rZW4gaXMgYSB1c2VyIHRva2VuLCBzaWduZWRcbiAgICAgKiB3aXRoIHBsYXRmb3JtJ3MgRVMyNTYga2V5IGxpa2UgZXZlcnkgb3RoZXIgY3JlZGVudGlhbCBhIHBlcnNvbiBob2xkcy5cbiAgICAgKi9cbiAgICByZWFkb25seSBleHBpcmVzSW46IG51bWJlcjtcbiAgfTtcbn1cblxuLyoqIFBvc3RncmVTUUwgYW5kIERyaXp6bGUgT1JNIGRhdGFiYXNlIGNvbmZpZ3VyYXRpb24uICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFiYXNlQ29uZmlnIHtcbiAgcmVhZG9ubHkgcG9zdGdyZXM6IHtcbiAgICAvKiogUG9zdGdyZVNRTCBob3N0IChlbnY6IGBEQl9IT1NUYCkuICovXG4gICAgcmVhZG9ubHkgaG9zdDogc3RyaW5nO1xuICAgIC8qKiBQb3N0Z3JlU1FMIHBvcnQgKGVudjogYERCX1BPUlRgKS4gKi9cbiAgICByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgLyoqIERhdGFiYXNlIG5hbWUgKGVudjogYERBVEFCQVNFYCkuICovXG4gICAgcmVhZG9ubHkgZGF0YWJhc2U6IHN0cmluZztcbiAgICAvKiogRGF0YWJhc2UgdXNlciAoZW52OiBgREJfVVNFUmApLiAqL1xuICAgIHJlYWRvbmx5IHVzZXI6IHN0cmluZztcbiAgICAvKiogRGF0YWJhc2UgcGFzc3dvcmQgKGVudjogYERCX1BBU1NXT1JEYCkuICovXG4gICAgcmVhZG9ubHkgcGFzc3dvcmQ6IHN0cmluZztcbiAgfTtcbiAgcmVhZG9ubHkgZHJpenpsZToge1xuICAgIC8qKiBNYXhpbXVtIGNvbm5lY3Rpb24gcG9vbCBzaXplIChlbnY6IGBEUklaWkxFX01BWF9QT09MX1NJWkVgKS4gKi9cbiAgICByZWFkb25seSBtYXhQb29sU2l6ZTogbnVtYmVyO1xuICAgIC8qKiBJZGxlIGNvbm5lY3Rpb24gdGltZW91dCBpbiBtcyAoZW52OiBgRFJJWlpMRV9JRExFX1RJTUVPVVRfTUlMTElTYCkuICovXG4gICAgcmVhZG9ubHkgaWRsZVRpbWVvdXRNaWxsaXM6IG51bWJlcjtcbiAgICAvKiogTmV3IGNvbm5lY3Rpb24gdGltZW91dCBpbiBtcyAoZW52OiBgRFJJWlpMRV9DT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTYCkuICovXG4gICAgcmVhZG9ubHkgY29ubmVjdGlvblRpbWVvdXRNaWxsaXM6IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RyeUNvbmZpZyB7XG4gIHJlYWRvbmx5IGhvc3Q6IHN0cmluZztcbiAgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAvKipcbiAgICogSG9zdC9wb3J0IGFuIE9VVC1PRi1DTFVTVEVSIGNsaWVudCAobm90YWJseSBBV1MgQ29kZUJ1aWxkKSB1c2VzIHRvIHB1bGxcbiAgICogcGx1Z2luIGltYWdlcywgd2hlbiBpdCBkaWZmZXJzIGZyb20gdGhlIGluLWNsdXN0ZXIgYGhvc3RgL2Bwb3J0YC4gVGhlXG4gICAqIGluLWNsdXN0ZXIgYHJlZ2lzdHJ5OjUwMDBgIENsdXN0ZXJJUCBpc24ndCByZXNvbHZhYmxlIGZyb20gdGhlIFZQQywgc28gdGhlXG4gICAqIHN5bnRoZXNpemVkIENvZGVCdWlsZCBpbWFnZSBVUkkgbXVzdCBwb2ludCBhdCB0aGUgcHVibGljIGdhdGV3YXkgaW5zdGVhZC5cbiAgICogRW52OiBgSU1BR0VfUkVHSVNUUllfUFVMTF9IT1NUYCAvIGBJTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlRgLiBPcHRpb25hbDtcbiAgICogY29uc3VtZXJzIGZhbGwgYmFjayB0byBgaG9zdGAvYHBvcnRgIHdoZW4gdW5zZXQgKHNpbmdsZS1ob3N0IC9cbiAgICogaW4tY2x1c3Rlci1vbmx5IGRlcGxveXMpLiBgbG9hZFJlZ2lzdHJ5Q29uZmlnYCBhbHdheXMgcG9wdWxhdGVzIHRoZW0uXG4gICAqL1xuICByZWFkb25seSBwdWxsSG9zdD86IHN0cmluZztcbiAgcmVhZG9ubHkgcHVsbFBvcnQ/OiBudW1iZXI7XG4gIC8qKiBEb2NrZXIgbmV0d29yayBmb3IgYnVpbGQvcHVzaCAoZW1wdHkgc3RyaW5nID0gZGVmYXVsdCkuICovXG4gIHJlYWRvbmx5IG5ldHdvcms6IHN0cmluZztcbiAgLyoqXG4gICAqIEJ1aWxkS2l0IHRhbGtzIHRvIHRoZSByZWdpc3RyeSBvdmVyIHBsYWluIEhUVFAgd2hlbiB0cnVlOyBIVFRQUyB3aXRoIHRoZVxuICAgKiBzeXN0ZW0gQ0EgYnVuZGxlIG90aGVyd2lzZS4gRW52OiBgSU1BR0VfUkVHSVNUUllfSFRUUGAgKGRlZmF1bHRzIHRydWUg4oCUXG4gICAqIHRoZSBpbi1jbHVzdGVyIHJlZ2lzdHJ5IGhhcyBubyBUTFMpLlxuICAgKi9cbiAgcmVhZG9ubHkgaHR0cDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5CdWlsZENvbmZpZyB7XG4gIC8qKlxuICAgKiBCQVNFTElORSBpbi1mbGlnaHQgYnVpbGQgc2xvdHMgb25lIG9yZ2FuaXphdGlvbiBnZXRzLCBQRVIgU0NIRURVTElORyBDTEFTU1xuICAgKiAoYFBMVUdJTl9PUkdfQlVJTERfU0xPVFNfU1RBTkRBUkRgIDUsIGBQTFVHSU5fT1JHX0JVSUxEX1NMT1RTX0ZMRVhJQkxFYCA4KS5cbiAgICpcbiAgICogRXZlcnkgb3JnIGdldHMgYXQgbGVhc3QgdGhpcyBtYW55OyB0aGUgdGllciBsYWRkZXIgaW4gYEJVSUxEX0NMQVNTX0NBVEFMT0dgXG4gICAqIG9ubHkgZXZlciBSQUlTRVMgaXQsIHNvIHRoZSBlZmZlY3RpdmUgY2FwIGlzIGBtYXgodGhpc1tjbGFzc10sIGxhZGRlcilgLlxuICAgKlxuICAgKiBGaXZlIGFuZCBlaWdodCByYXRoZXIgdGhhbiB0aGUgbGFkZGVyJ3MgbG93ZXIgcm93cyAoc3RhbmRhcmQgMS8yLzMsIGZsZXhpYmxlXG4gICAqIDMvNC82KSBiZWNhdXNlIHRocmVlIGluIGZsaWdodCBpcyB0b28gdGlnaHQgZm9yIGEgcmVhbCB3b3JraW5nIHNldDogYW4gb3JnXG4gICAqIHB1c2hpbmcgYSBiYXRjaCBvZiBwbHVnaW5zIHNwZW5kcyBtb3N0IG9mIGl0cyB0aW1lIHF1ZXVlZCwgYW5kIHBhc3RcbiAgICogYFBMVUdJTl9PUkdfU0xPVF9NQVhfV0FJVF9NU2AgdGhlIHdhaXRpbmcgYnVpbGRzIGZhaWwgVEVSTUlOQUxMWSByYXRoZXIgdGhhblxuICAgKiBtZXJlbHkgbGF0ZS5cbiAgICpcbiAgICogKipQRVIgQ0xBU1MsIGFuZCB0aGF0IGlzIHRoZSBwb2ludC4qKiBBIHNpbmdsZSBiYXNlbGluZSBhY3Jvc3MgYm90aCBjbGFzc2VzXG4gICAqIGZsYXR0ZW5lZCB0aGVtIGJlbG93IGl0IOKAlCBkZXZlbG9wZXIsIHBybyBhbmQgdGVhbSBhbGwgbGFuZGVkIG9uIHRoZSBzYW1lXG4gICAqIGZpZ3VyZSBmb3Igc3RhbmRhcmQgYW5kIGZsZXhpYmxlIGFsaWtlLCBzbyBjaG9vc2luZyB0aGUgY2hlYXAgY2xhc3MgYm91Z2h0XG4gICAqIHRoZSBsYXRlciBzdGFydCBhbmQgbm8gZXh0cmEgc2xvdHMuIEtleWluZyB0aGUgYmFzZWxpbmUgb24gdGhlIGNsYXNzIGtlZXBzXG4gICAqIFwiZmxleGlibGUgYWx3YXlzIGhhcyBtb3JlIGhlYWRyb29tXCIgdHJ1ZSBvbiBFVkVSWSB0aWVyIGJ5IGNvbnN0cnVjdGlvblxuICAgKiByYXRoZXIgdGhhbiBieSBhc3NlcnRpb24uXG4gICAqXG4gICAqIEEgREVGQVVMVCwgbm90IGEgY2VpbGluZzogYW4gZXhwbGljaXQgYFBMVUdJTl9NQVhfQlVJTERTXzxUSUVSPl88Q0xBU1M+YFxuICAgKiB3aW5zIG91dHJpZ2h0LCBpbmNsdWRpbmcgYSB2YWx1ZSBiZWxvdyB0aGlzLCBzbyBhbiBvcGVyYXRvciB3aG8gZGVsaWJlcmF0ZWx5XG4gICAqIHdhbnRzIG9uZSB0aWVyIGF0IGEgc2luZ2xlIGJ1aWxkIHN0aWxsIGdldHMgaXQuIFRoZSBjYXRhbG9nIGNhbm5vdCByZWFkIHRoaXNcbiAgICogaXRzZWxmIOKAlCBpdCBpcyBicm93c2VyLWltcG9ydGFibGUsIHNvIGl0IGNhbm5vdCBzZWUgYW4gZW52IHZhciDigJQgd2hpY2ggaXNcbiAgICogd2h5IHRoZSBvdmVybGF5IGxpdmVzIGluIHRoZSBwbHVnaW4gc2VydmljZS5cbiAgICpcbiAgICogS2V5ZWQgb24gYEJ1aWxkQ2xhc3NgIHJhdGhlciB0aGFuIGEgbG9vc2UgcGFpciBzbyBhIHRoaXJkIHNjaGVkdWxpbmcgY2xhc3NcbiAgICogY2Fubm90IGJlIGFkZGVkIHdpdGhvdXQgZ2l2aW5nIGl0IGEgYmFzZWxpbmUuXG4gICAqXG4gICAqIFRoZXNlIGFyZSBERUxJQkVSQVRFTFkgbm90IG5hbWVkIGBQTFVHSU5fTUFYX0JVSUxEU19QRVJfT1JHYC4gVGhhdCBuYW1lIHdhc1xuICAgKiBkZWFkIGZvciBhIHdoaWxlIGFuZCBsZWZ0IGJlaGluZCBpbiB0aHJlZSBkZXBsb3kgdGFyZ2V0cycgYC5lbnYuZXhhbXBsZWAsIHNvXG4gICAqIHJldml2aW5nIGl0IHdvdWxkIGhhdmUgc2lsZW50bHkgYXBwbGllZCBhIHN0YWxlIGA9M2Ag4oCUIHRoZSB2ZXJ5IGZpZ3VyZSB0aGF0XG4gICAqIHN0YXJ2ZWQgdGhlIGNhdGFsb2d1ZSBsb2FkLiBBIGZyZXNoIG5hbWUgY2FuIG9ubHkgaGF2ZSBiZWVuIHNldCBvbiBwdXJwb3NlLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JnQnVpbGRTbG90czogUmVhZG9ubHk8UmVjb3JkPEJ1aWxkQ2xhc3MsIG51bWJlcj4+O1xuICByZWFkb25seSBtYXhBdHRlbXB0czogbnVtYmVyO1xuICByZWFkb25seSBiYWNrb2ZmRGVsYXlNczogbnVtYmVyO1xuICByZWFkb25seSB3b3JrZXJUaW1lb3V0TXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgdGVtcERpck1heEFnZU1zOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscU1heEF0dGVtcHRzOiBudW1iZXI7XG4gIHJlYWRvbmx5IGRscUJhY2tvZmZCYXNlTXM6IG51bWJlcjtcbiAgcmVhZG9ubHkgZGxxTWF4U2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJ1aWxkQ29uZmlnIHtcbiAgLyoqIFJvb3QgZGlyZWN0b3J5IGZvciBidWlsZCB0ZW1wIGZpbGVzLiAqL1xuICByZWFkb25seSB0ZW1wUm9vdDogc3RyaW5nO1xuICAvKiogQnVpbGQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMuICovXG4gIHJlYWRvbmx5IHRpbWVvdXRNczogbnVtYmVyO1xuICAvKiogUHVzaCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcy4gKi9cbiAgcmVhZG9ubHkgcHVzaFRpbWVvdXRNczogbnVtYmVyO1xuICAvKipcbiAgICogUGF0aCB0byB0aGUgYnVpbGRraXRkIHNvY2tldCB0aGUgcGx1Z2luJ3MgYGJ1aWxkY3RsYCBjb25uZWN0cyB0by4gSW4gazhzXG4gICAqIGFuZCBjb21wb3NlIHRoaXMgaXMgYSBzaGFyZWQgZW1wdHlEaXIvdG1wZnMgdm9sdW1lIG1vdW50ZWQgZnJvbSB0aGVcbiAgICogYnVpbGRraXRkIHNpZGVjYXIuXG4gICAqL1xuICByZWFkb25seSBidWlsZGtpdEFkZHI6IHN0cmluZztcbiAgLyoqXG4gICAqIFBFTSBwdWJsaWMga2V5IHBsdWdpbiBpbWFnZXMgYXJlIHZlcmlmaWVkIGFnYWluc3QgKGVudjpcbiAgICogYFBMVUdJTl9TSUdOSU5HX1BVQkxJQ19LRVlfRklMRWApLiBUaGUgUFJJVkFURSBoYWxmIGxpdmVzIG9ubHkgaW4gdGhlXG4gICAqIGltYWdlLXJlZ2lzdHJ5IHNlcnZpY2UsIHdoaWNoIHNpZ25zIGV2ZXJ5IHB1c2hlZCBwbHVnaW4gaW1hZ2Ug4oCUIG5ldmVyIGluIHRoZVxuICAgKiBwbHVnaW4gcG9kLCB3aG9zZSBuZXR3b3JrIG5hbWVzcGFjZSBpcyBzaGFyZWQgd2l0aCB1bnRydXN0ZWQgYnVpbGRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2lnbmluZ1B1YmxpY0tleUZpbGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPYnNlcnZhYmlsaXR5Q29uZmlnIHtcbiAgcmVhZG9ubHkgbG9nTGV2ZWw6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9nRm9ybWF0OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHRyYWNpbmc6IHtcbiAgICByZWFkb25seSBlbmFibGVkOiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGVuZHBvaW50OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJlYWRvbmx5IHNjYW5TY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBXaGVuIGZhbHNlLCB0aGUgc2NoZWR1bGVyIHNraXBzIHNjYW5zL3NjaGVkdWxlcyBmb3IgdGhlIHN5c3RlbSBvcmcuIERlZmF1bHQ6IGZhbHNlLiAqL1xuICByZWFkb25seSBzeXN0ZW1PcmdTY2Fuc0VuYWJsZWQ6IGJvb2xlYW47XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgc2NhbiBzY2hlZHVsZXIgKG1zKS4gRGVmYXVsdDogMzAwMDAwLiAqL1xuICByZWFkb25seSBzY2FuTG9ja1R0bE1zOiBudW1iZXI7XG4gIC8qKiBIb3cgb2Z0ZW4gdGhlIGRpZ2VzdCBzY2hlZHVsZXIgY2hlY2tzIGZvciBkdWUgZGlnZXN0cyAobXMpLiBEZWZhdWx0OiAzNjAwMDAwLiAqL1xuICByZWFkb25seSBkaWdlc3RTY2hlZHVsZXJJbnRlcnZhbE1zOiBudW1iZXI7XG4gIC8qKiBDcm9zcy1wb2QgbGVhZGVyLWxvY2sgVFRMIGZvciB0aGUgZGlnZXN0IHNjaGVkdWxlciAobXMpLiBEZWZhdWx0OiAzMDAwMDAuICovXG4gIHJlYWRvbmx5IGRpZ2VzdExvY2tUdGxNczogbnVtYmVyO1xufVxuXG4vKipcbiAqIEFXUyBpbmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIERlbGliZXJhdGVseSBleHByZXNzZWQgaW4gUExBSU4gREFUQSAobnVtYmVycywgc3RyaW5ncywgc3RyaW5nIHVuaW9ucykgcmF0aGVyXG4gKiB0aGFuIENESyB2YWx1ZSBvYmplY3RzIChgRHVyYXRpb25gLCBgUnVudGltZWAsIGBSZXRlbnRpb25EYXlzYCwgLi4uKS4gQ29uZmlnIGlzXG4gKiBsb2FkZWQgYnkgZXZlcnkgc2VydmljZSwgYnV0IG9ubHkgdGhlIENESyBlbnRyeSBwb2ludCAoYEBwaXBlbGluZS1idWlsZGVyL1xuICogcGlwZWxpbmUtY29yZS9jZGtgKSBidWlsZHMgc3RhY2tzICB0eXBpbmcgdGhpcyBibG9jayB3aXRoIENESyBjbGFzc2VzIHB1dFxuICogYGF3cy1jZGstbGliYCBvbiB0aGUgaW1wb3J0IGdyYXBoIG9mIGBDb25maWdgLCBhbmQgdGhlcmVmb3JlIG9mIGV2ZXJ5IEFQSVxuICogc2VydmljZSB0aGF0IHJlYWRzIHNvIG11Y2ggYXMgYSBwb3J0IG51bWJlci4gQ29udmVyc2lvbiB0byBDREsgb2JqZWN0cyBoYXBwZW5zXG4gKiBhdCB0aGUgY29uc3RydWN0IGJvdW5kYXJ5IGluIGBjb25maWcvYXdzLWNvbmZpZy1jZGsudHNgLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFXU0NvbmZpZyB7XG4gIHJlYWRvbmx5IGxhbWJkYToge1xuICAgIC8qKiBMYW1iZGEgcnVudGltZSBpZGVudGlmaWVyLCBlLmcuIGAnbm9kZWpzMjYueCdgIChlbnY6IGBMQU1CREFfUlVOVElNRWApLiAqL1xuICAgIHJlYWRvbmx5IHJ1bnRpbWU6IHN0cmluZztcbiAgICAvKiogRnVuY3Rpb24gdGltZW91dCBpbiBzZWNvbmRzIChlbnY6IGBMQU1CREFfVElNRU9VVGApLiAqL1xuICAgIHJlYWRvbmx5IHRpbWVvdXRTZWNvbmRzOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgbWVtb3J5U2l6ZTogbnVtYmVyO1xuICAgIC8qKiBMYW1iZGEgQ1BVIGFyY2hpdGVjdHVyZSAoZW52OiBgTEFNQkRBX0FSQ0hJVEVDVFVSRWAsIGBBUk1fNjRgIG9yIGB4ODZfNjRgKS4gKi9cbiAgICByZWFkb25seSBhcmNoaXRlY3R1cmU6ICdhcm02NCcgfCAneDg2XzY0JztcbiAgICByZWFkb25seSByZXNlcnZlZENvbmN1cnJlbnRFeGVjdXRpb25zPzogbnVtYmVyO1xuICB9O1xuICByZWFkb25seSBsb2dnaW5nOiB7XG4gICAgcmVhZG9ubHkgZ3JvdXBOYW1lOiBzdHJpbmc7XG4gIH07XG4gIHJlYWRvbmx5IGNvZGVCdWlsZDoge1xuICAgIC8qKiBDb2RlQnVpbGQgY29tcHV0ZSB0eXBlIG5hbWUsIGUuZy4gYCdTTUFMTCdgIChlbnY6IGBDT0RFQlVJTERfQ09NUFVURV9UWVBFYCkuICovXG4gICAgcmVhZG9ubHkgY29tcHV0ZVR5cGU6IHN0cmluZztcbiAgfTtcbn1cblxuLyoqIEV4cHJlc3MgcmF0ZSBsaW1pdGluZyBjb25maWd1cmF0aW9uLiAqL1xuZXhwb3J0IGludGVyZmFjZSBSYXRlTGltaXRDb25maWcge1xuICAvKiogTWF4aW11bSByZXF1ZXN0cyBwZXIgd2luZG93IChlbnY6IGBMSU1JVEVSX01BWGApLiAqL1xuICByZWFkb25seSBtYXg6IG51bWJlcjtcbiAgLyoqIFJhdGUgbGltaXQgd2luZG93IGluIG1pbGxpc2Vjb25kcyAoZW52OiBgTElNSVRFUl9XSU5ET1dNU2ApLiAqL1xuICByZWFkb25seSB3aW5kb3dNczogbnVtYmVyO1xufVxuIl19
@@ -172,9 +172,7 @@ export function loadAWSConfig() {
172
172
  },
173
173
  codeBuild: {
174
174
  computeType: (envStr('CODEBUILD_COMPUTE_TYPE', 'SMALL')).toUpperCase(),
175
- defaultImage: envStr('CODEBUILD_DEFAULT_IMAGE', 'pipeline-bootstrap:1.0'),
176
- defaultImageDigest: envStr('CODEBUILD_DEFAULT_IMAGE_DIGEST', ''),
177
175
  },
178
176
  };
179
177
  }
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUtY29uZmlnLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZnJhc3RydWN0dXJlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUd4Qjs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sVUFBVSxrQkFBa0I7SUFDaEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRCw0RUFBNEU7SUFDNUUsd0VBQXdFO0lBQ3hFLDhFQUE4RTtJQUM5RSw0RUFBNEU7SUFDNUUsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JFLE9BQU87UUFDTCxJQUFJO1FBQ0osSUFBSTtRQUNKLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixJQUFJLFFBQVEsRUFBRSxJQUFJLElBQUksSUFBSTtRQUN4RSxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0I7WUFDNUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7UUFDNUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7UUFDckMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUM7S0FDM0MsQ0FBQztBQUNKLENBQUM7QUFFRDs7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LEVBQUU7WUFDTixPQUFPLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQztZQUMvQyxjQUFjLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQztZQUM3QyxVQUFVLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsQ0FBQztZQUM3QyxZQUFZLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTztZQUMvRSw0QkFBNEIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQjtnQkFDbkUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxTQUFTO1NBQ2Q7UUFFRCxPQUFPLEVBQUU7WUFDUCxTQUFTLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLHdCQUF3QixDQUFDO1NBQzlEO1FBRUQsU0FBUyxFQUFFO1lBQ1QsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1lBQ3RFLFlBQVksRUFBRSxNQUFNLENBQUMseUJBQXlCLEVBQUUsd0JBQXdCLENBQUM7WUFDekUsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLGdDQUFnQyxFQUFFLEVBQUUsQ0FBQztTQUNqRTtLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IGVudkJvb2wsIGVudkludCwgZW52U3RyIH0gZnJvbSAnQHBpcGVsaW5lLWJ1aWxkZXIvYXBpLWNvcmUnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgdHlwZSB7IEFXU0NvbmZpZywgQnVpbGRDb25maWcsIENvbXBsaWFuY2VDb25maWcsIERhdGFiYXNlQ29uZmlnLCBPYnNlcnZhYmlsaXR5Q29uZmlnLCBQbHVnaW5CdWlsZENvbmZpZywgUmVnaXN0cnlDb25maWcgfSBmcm9tICcuL2NvbmZpZy10eXBlcy5qcyc7XG5cbi8qKlxuICogTG9hZCBEb2NrZXIgcmVnaXN0cnkgY29uZmlndXJhdGlvbiBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9IT1NUYCDigJQgUmVnaXN0cnkgaG9zdG5hbWUgKGRlZmF1bHQ6IGAncmVnaXN0cnknYClcbiAqIC0gYElNQUdFX1JFR0lTVFJZX1BPUlRgIOKAlCBSZWdpc3RyeSBwb3J0IChkZWZhdWx0OiBgNTAwMGApXG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9QVUxMX0hPU1RgIOKAlCBIb3N0IGFuIG91dC1vZi1jbHVzdGVyIGNsaWVudCAoQ29kZUJ1aWxkKVxuICogICB1c2VzIHRvIHB1bGwgcGx1Z2luIGltYWdlcy4gV2hlbiB1bnNldCwgZGVyaXZlZCBmcm9tIGBQTEFURk9STV9CQVNFX1VSTGAnc1xuICogICBob3N0ICh0aGUgcHVibGljIGVuZHBvaW50IENvZGVCdWlsZCBjYW4gcmVzb2x2ZSksIHRoZW4gYElNQUdFX1JFR0lTVFJZX0hPU1RgLlxuICogLSBgSU1BR0VfUkVHSVNUUllfUFVMTF9QT1JUYCDigJQgUG9ydCBmb3IgdGhlIGFib3ZlLiBXaGVuIHVuc2V0LCBkZXJpdmVkIGZyb21cbiAqICAgYFBMQVRGT1JNX0JBU0VfVVJMYCdzIHBvcnQsIHRoZW4gYElNQUdFX1JFR0lTVFJZX1BPUlRgLlxuICogLSBgRE9DS0VSX05FVFdPUktgIOKAlCBEb2NrZXIgbmV0d29yayBmb3IgYnVpbGQvcHVzaCAoZGVmYXVsdDogYCcnYClcbiAqIC0gYElNQUdFX1JFR0lTVFJZX0hUVFBgIOKAlCBVc2UgcGxhaW4gSFRUUCBpbnN0ZWFkIG9mIEhUVFBTIChkZWZhdWx0OiBgdHJ1ZWAsXG4gKiAgIHRoZSBpbi1jbHVzdGVyIHJlZ2lzdHJ5IGhhcyBubyBUTFMpLlxuICpcbiAqIEByZXR1cm5zIFJlZ2lzdHJ5IGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRSZWdpc3RyeUNvbmZpZygpOiBSZWdpc3RyeUNvbmZpZyB7XG4gIGNvbnN0IGhvc3QgPSBlbnZTdHIoJ0lNQUdFX1JFR0lTVFJZX0hPU1QnLCAncmVnaXN0cnknKTtcbiAgY29uc3QgcG9ydCA9IGVudkludCgnSU1BR0VfUkVHSVNUUllfUE9SVCcsIDVfMDAwKTtcbiAgLy8gV2hlbiBubyBleHBsaWNpdCBwdWxsIGhvc3QgaXMgc2V0LCBkZXJpdmUgaXQgZnJvbSBQTEFURk9STV9CQVNFX1VSTCDigJQgdGhlXG4gIC8vIHB1YmxpYyBwbGF0Zm9ybSBlbmRwb2ludCBhbiBvdXQtb2YtY2x1c3RlciBjbGllbnQgKEFXUyBDb2RlQnVpbGQpIGNhblxuICAvLyByZXNvbHZlLCB1bmxpa2UgdGhlIGluLWNsdXN0ZXIgYHJlZ2lzdHJ5YCBDbHVzdGVySVAuIE9ubHkgZmFsbHMgYmFjayB0byB0aGVcbiAgLy8gaW4tY2x1c3RlciBob3N0IHdoZW4gUExBVEZPUk1fQkFTRV9VUkwgaXMgdW5zZXQvdW5wYXJzZWFibGUgKGUuZy4gbG9jYWwpLlxuICBjb25zdCBwbGF0Zm9ybSA9IHBhcnNlUGxhdGZvcm1CYXNlVXJsKHByb2Nlc3MuZW52LlBMQVRGT1JNX0JBU0VfVVJMKTtcbiAgcmV0dXJuIHtcbiAgICBob3N0LFxuICAgIHBvcnQsXG4gICAgcHVsbEhvc3Q6IHByb2Nlc3MuZW52LklNQUdFX1JFR0lTVFJZX1BVTExfSE9TVCB8fCBwbGF0Zm9ybT8uaG9zdCB8fCBob3N0LFxuICAgIHB1bGxQb3J0OiBwcm9jZXNzLmVudi5JTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlRcbiAgICAgID8gZW52SW50KCdJTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlQnLCBwb3J0KVxuICAgICAgOiAocGxhdGZvcm0/LnBvcnQgPz8gcG9ydCksXG4gICAgbmV0d29yazogZW52U3RyKCdET0NLRVJfTkVUV09SSycsICcnKSxcbiAgICBodHRwOiBlbnZCb29sKCdJTUFHRV9SRUdJU1RSWV9IVFRQJywgdHJ1ZSksXG4gIH07XG59XG5cbi8qKiBFeHRyYWN0IGhvc3QgKyBwb3J0IGZyb20gUExBVEZPUk1fQkFTRV9VUkwgKGUuZy4gYGh0dHBzOi8vcGlwZWxpbmUtYnVpbGRlci5jb21gXG4gKiAg4oaSIGB7IGhvc3Q6ICdwaXBlbGluZS1idWlsZGVyLmNvbScsIHBvcnQ6IDQ0MyB9YCkuIFJldHVybnMgbnVsbCB3aGVuIHRoZSB2YWx1ZVxuICogIGlzIHVuc2V0IG9yIG5vdCBhIHZhbGlkIFVSTC4gRXhwb3J0ZWQgc28gdGhlIENMSSAocGlwZWxpbmUtbWFuYWdlcikgZGVyaXZlc1xuICogIHRoZSByZWdpc3RyeSBwdWxsIHRhcmdldCB3aXRoIHRoZSBTQU1FIHBhcnNpbmcsIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgaXQuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VQbGF0Zm9ybUJhc2VVcmwocmF3Pzogc3RyaW5nKTogeyBob3N0OiBzdHJpbmc7IHBvcnQ6IG51bWJlciB9IHwgbnVsbCB7XG4gIGlmICghcmF3KSByZXR1cm4gbnVsbDtcbiAgdHJ5IHtcbiAgICBjb25zdCB1ID0gbmV3IFVSTChyYXcpO1xuICAgIC8vIEEgc2NoZW1lLWxlc3MgdmFsdWUgbGlrZSBgaG9zdDo4NDQzYCBwYXJzZXMgd2l0aCBhIGN1c3RvbSBwcm90b2NvbCBhbmQgYW5cbiAgICAvLyBFTVBUWSBob3N0bmFtZSDigJQgcmVqZWN0IGl0IHNvIGNhbGxlcnMgZmFsbCBiYWNrIHJhdGhlciB0aGFuIGRlcml2ZSBhXG4gICAgLy8gaG9zdC1sZXNzIGVuZHBvaW50LlxuICAgIGlmICghdS5ob3N0bmFtZSkgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgcG9ydCA9IHUucG9ydCA/IHBhcnNlSW50KHUucG9ydCwgMTApIDogKHUucHJvdG9jb2wgPT09ICdodHRwczonID8gNDQzIDogODApO1xuICAgIHJldHVybiB7IGhvc3Q6IHUuaG9zdG5hbWUsIHBvcnQgfTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2FkIHBsdWdpbiBidWlsZCBxdWV1ZSBjb25maWd1cmF0aW9uLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYFBMVUdJTl9CVUlMRF9DT05DVVJSRU5DWWAg4oCUIE1heCBjb25jdXJyZW50IHBsdWdpbiBidWlsZHMgKGRlZmF1bHQ6IGAxYClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRQbHVnaW5CdWlsZENvbmZpZygpOiBQbHVnaW5CdWlsZENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgLy8gQmFzZWxpbmVzIHRoZSB0aWVyIGxhZGRlciByYWlzZXMsIG5ldmVyIGEgY2VpbGluZyAoc2VlIFBsdWdpbkJ1aWxkQ29uZmlnKS5cbiAgICAvLyBGbGV4aWJsZSBzaXRzIEFCT1ZFIHN0YW5kYXJkIHNvIHRoZSBjaGVhcCBjbGFzcyBrZWVwcyByZWFsIGhlYWRyb29tIG9uXG4gICAgLy8gZXZlcnkgdGllcjsgb25lIHNoYXJlZCBmaWd1cmUgbWFkZSB0aGUgdHdvIGlkZW50aWNhbCBiZWxvdyBpdC5cbiAgICBvcmdCdWlsZFNsb3RzOiB7XG4gICAgICBzdGFuZGFyZDogZW52SW50KCdQTFVHSU5fT1JHX0JVSUxEX1NMT1RTX1NUQU5EQVJEJywgNSwgeyBtaW46IDEgfSksXG4gICAgICBmbGV4aWJsZTogZW52SW50KCdQTFVHSU5fT1JHX0JVSUxEX1NMT1RTX0ZMRVhJQkxFJywgOCwgeyBtaW46IDEgfSksXG4gICAgfSxcbiAgICBtYXhBdHRlbXB0czogZW52SW50KCdQTFVHSU5fQlVJTERfTUFYX0FUVEVNUFRTJywgMiksXG4gICAgYmFja29mZkRlbGF5TXM6IGVudkludCgnUExVR0lOX0JVSUxEX0JBQ0tPRkZfREVMQVlfTVMnLCA1XzAwMCksXG4gICAgd29ya2VyVGltZW91dE1zOiBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9XT1JLRVJfVElNRU9VVF9NUycsIDEwXzAwMCksXG4gICAgdGVtcERpck1heEFnZU1zOiBlbnZJbnQoJ1RFTVBfRElSX01BWF9BR0VfTVMnLCAxNF80MDBfMDAwKSxcbiAgICBkbHFNYXhBdHRlbXB0czogZW52SW50KCdQTFVHSU5fRExRX01BWF9BVFRFTVBUUycsIDMpLFxuICAgIGRscUJhY2tvZmZCYXNlTXM6IGVudkludCgnUExVR0lOX0RMUV9CQUNLT0ZGX0JBU0VfTVMnLCAzMDBfMDAwKSxcbiAgICBkbHFNYXhTaXplOiBlbnZJbnQoJ1BMVUdJTl9ETFFfTUFYX1NJWkUnLCAyMCksXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkRGF0YWJhc2VDb25maWcoKTogRGF0YWJhc2VDb25maWcge1xuICByZXR1cm4ge1xuICAgIHBvc3RncmVzOiB7XG4gICAgICBob3N0OiBlbnZTdHIoJ0RCX0hPU1QnLCAncG9zdGdyZXMnKSxcbiAgICAgIHBvcnQ6IGVudkludCgnREJfUE9SVCcsIDVfNDMyKSxcbiAgICAgIGRhdGFiYXNlOiBlbnZTdHIoJ0RBVEFCQVNFJywgJ3BpcGVsaW5lX2J1aWxkZXInKSxcbiAgICAgIHVzZXI6IGVudlN0cignREJfVVNFUicsICdwb3N0Z3JlcycpLFxuICAgICAgcGFzc3dvcmQ6IGVudlN0cignREJfUEFTU1dPUkQnLCAnJyksXG4gICAgfSxcbiAgICBkcml6emxlOiB7XG4gICAgICBtYXhQb29sU2l6ZTogZW52SW50KCdEUklaWkxFX01BWF9QT09MX1NJWkUnLCAyMCksXG4gICAgICBpZGxlVGltZW91dE1pbGxpczogZW52SW50KCdEUklaWkxFX0lETEVfVElNRU9VVF9NSUxMSVMnLCAzMF8wMDApLFxuICAgICAgY29ubmVjdGlvblRpbWVvdXRNaWxsaXM6IGVudkludCgnRFJJWlpMRV9DT05ORUNUSU9OX1RJTUVPVVRfTUlMTElTJywgMTBfMDAwKSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZE9ic2VydmFiaWxpdHlDb25maWcoKTogT2JzZXJ2YWJpbGl0eUNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgbG9nTGV2ZWw6IGVudlN0cignTE9HX0xFVkVMJywgJ2luZm8nKSxcbiAgICBsb2dGb3JtYXQ6IGVudlN0cignTE9HX0ZPUk1BVCcsICdqc29uJyksXG4gICAgc2VydmljZU5hbWU6IGVudlN0cignU0VSVklDRV9OQU1FJywgJ2FwaScpLFxuICAgIHRyYWNpbmc6IHtcbiAgICAgIGVuYWJsZWQ6IGVudkJvb2woJ09URUxfVFJBQ0lOR19FTkFCTEVEJywgZmFsc2UpLFxuICAgICAgZW5kcG9pbnQ6IGVudlN0cignT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UJywgJ2h0dHA6Ly9sb2NhbGhvc3Q6NDMxOC92MS90cmFjZXMnKSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZENvbXBsaWFuY2VDb25maWcoKTogQ29tcGxpYW5jZUNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgc2NhblNjaGVkdWxlckludGVydmFsTXM6IGVudkludCgnU0NBTl9TQ0hFRFVMRVJfSU5URVJWQUxfTVMnLCA2MF8wMDApLFxuICAgIHN5c3RlbU9yZ1NjYW5zRW5hYmxlZDogZW52Qm9vbCgnU1lTVEVNX09SR19TQ0FOU19FTkFCTEVEJywgZmFsc2UpLFxuICAgIC8vIENyYXNoLXJlY292ZXJ5IHdpbmRvdywgbm90IGEgcnVuLWR1cmF0aW9uIGNvdmVyOiB0aGUgbG9jayBoZWFydGJlYXRzLlxuICAgIHNjYW5Mb2NrVHRsTXM6IGVudkludCgnU0NBTl9MT0NLX1RUTF9NUycsIDEyMF8wMDApLFxuICAgIGRpZ2VzdFNjaGVkdWxlckludGVydmFsTXM6IGVudkludCgnRElHRVNUX1NDSEVEVUxFUl9JTlRFUlZBTF9NUycsIDNfNjAwXzAwMCksXG4gICAgZGlnZXN0TG9ja1R0bE1zOiBlbnZJbnQoJ0RJR0VTVF9MT0NLX1RUTF9NUycsIDEyMF8wMDApLFxuICB9O1xufVxuXG4vKipcbiAqIExvYWQgcGx1Z2luIGJ1aWxkIGNvbmZpZ3VyYXRpb24uIEJ1aWxkcyBydW4gYWdhaW5zdCBhIHJvb3RsZXNzIGBtb2J5L2J1aWxka2l0YFxuICogc2lkZWNhciDigJQgc2VlIGBCVUlMREtJVF9IT1NUYC5cbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIGBET0NLRVJfQlVJTERfVEVNUF9ST09UYCDigJQgVGVtcCBkaXJlY3RvcnkgZm9yIGJ1aWxkIGNvbnRleHRzIChkZWZhdWx0OiBgPGN3ZD4vdG1wYClcbiAqIC0gYERPQ0tFUl9CVUlMRF9USU1FT1VUX01TYCDigJQgQnVpbGQgdGltZW91dCBpbiBtaWxsaXNlY29uZHMgKGRlZmF1bHQ6IGA5MDAwMDBgIC8gMTUgbWluKVxuICogLSBgRE9DS0VSX1BVU0hfVElNRU9VVF9NU2Ag4oCUIFB1c2ggdGltZW91dCBpbiBtaWxsaXNlY29uZHMgKGRlZmF1bHQ6IGAzMDAwMDBgIC8gNSBtaW4pXG4gKiAtIGBCVUlMREtJVF9IT1NUYCDigJQgYnVpbGRjdGwgYC0tYWRkcmAgdmFsdWUgZm9yIHRoZSBidWlsZGtpdGQgc2lkZWNhclxuICogICAoZGVmYXVsdDogYHVuaXg6Ly8vcnVuL2J1aWxka2l0L2J1aWxka2l0ZC5zb2NrYClcbiAqIC0gYFBMVUdJTl9TSUdOSU5HX1BVQkxJQ19LRVlfRklMRWAg4oCUIFBFTSBwdWJsaWMga2V5IHBsdWdpbiBpbWFnZXMgYXJlIHZlcmlmaWVkXG4gKiAgIGFnYWluc3QgKGRlZmF1bHQ6IGAvZXRjL3BpcGVsaW5lLWJ1aWxkZXIvcGx1Z2luLXNpZ25pbmcvcGx1Z2luLXNpZ25pbmcucHViYClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWREb2NrZXJDb25maWcoKTogQnVpbGRDb25maWcge1xuICByZXR1cm4ge1xuICAgIHRlbXBSb290OiBwcm9jZXNzLmVudi5ET0NLRVJfQlVJTERfVEVNUF9ST09UIHx8IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAndG1wJyksXG4gICAgdGltZW91dE1zOiBlbnZJbnQoJ0RPQ0tFUl9CVUlMRF9USU1FT1VUX01TJywgOTAwXzAwMCksXG4gICAgcHVzaFRpbWVvdXRNczogZW52SW50KCdET0NLRVJfUFVTSF9USU1FT1VUX01TJywgMzAwXzAwMCksXG4gICAgYnVpbGRraXRBZGRyOiBlbnZTdHIoJ0JVSUxES0lUX0hPU1QnLCAndW5peDovLy9ydW4vYnVpbGRraXQvYnVpbGRraXRkLnNvY2snKSxcbiAgICBzaWduaW5nUHVibGljS2V5RmlsZTogZW52U3RyKCdQTFVHSU5fU0lHTklOR19QVUJMSUNfS0VZX0ZJTEUnLCAnL2V0Yy9waXBlbGluZS1idWlsZGVyL3BsdWdpbi1zaWduaW5nL3BsdWdpbi1zaWduaW5nLnB1YicpLFxuICB9O1xufVxuXG4vKipcbiAqIExvYWQgQVdTIGluZnJhc3RydWN0dXJlIGNvbmZpZ3VyYXRpb24gZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzOlxuICogLSBgTEFNQkRBX1JVTlRJTUVgIOKAlCBMYW1iZGEgcnVudGltZSAoZGVmYXVsdDogYCdub2RlanMyNi54J2AsIGEgUFVCTElDIFBSRVZJRVdcbiAqICAgcnVudGltZTsgdW5rbm93biB2YWx1ZXMgZmFsbCBiYWNrIHRvIGl0KS4gU2V0IGBub2RlanMyNC54YCB0byBzdGF5IG9uIEdBLlxuICogLSBgTEFNQkRBX1RJTUVPVVRgIOKAlCBMYW1iZGEgdGltZW91dCBpbiBzZWNvbmRzIChkZWZhdWx0OiBgOTAwYClcbiAqIC0gYExBTUJEQV9NRU1PUllfU0laRWAg4oCUIExhbWJkYSBtZW1vcnkgaW4gTUIgKGRlZmF1bHQ6IGA1MTJgKVxuICogLSBgTEFNQkRBX0FSQ0hJVEVDVFVSRWAg4oCUIGAneDg2XzY0J2Agb3IgQVJNIChkZWZhdWx0OiBBUk1fNjQpXG4gKiAtIGBMT0dfR1JPVVBfTkFNRWAg4oCUIENsb3VkV2F0Y2ggbG9nIGdyb3VwIChkZWZhdWx0OiBgJy9waXBlbGluZS1idWlsZGVyL2xvZ3MnYClcbiAqIC0gYENPREVCVUlMRF9DT01QVVRFX1RZUEVgIOKAlCBDb2RlQnVpbGQgY29tcHV0ZSB0eXBlIChkZWZhdWx0OiBgJ1NNQUxMJ2ApXG4gKlxuICogQHJldHVybnMgQVdTIGluZnJhc3RydWN0dXJlIGNvbmZpZ3VyYXRpb25cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvYWRBV1NDb25maWcoKTogQVdTQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBsYW1iZGE6IHtcbiAgICAgIHJ1bnRpbWU6IGVudlN0cignTEFNQkRBX1JVTlRJTUUnLCAnbm9kZWpzMjYueCcpLFxuICAgICAgdGltZW91dFNlY29uZHM6IGVudkludCgnTEFNQkRBX1RJTUVPVVQnLCA5MDApLFxuICAgICAgbWVtb3J5U2l6ZTogZW52SW50KCdMQU1CREFfTUVNT1JZX1NJWkUnLCA1MTIpLFxuICAgICAgYXJjaGl0ZWN0dXJlOiBwcm9jZXNzLmVudi5MQU1CREFfQVJDSElURUNUVVJFID09PSAneDg2XzY0JyA/ICd4ODZfNjQnIDogJ2FybTY0JyxcbiAgICAgIHJlc2VydmVkQ29uY3VycmVudEV4ZWN1dGlvbnM6IHByb2Nlc3MuZW52LkxBTUJEQV9SRVNFUlZFRF9DT05DVVJSRU5DWVxuICAgICAgICA/IGVudkludCgnTEFNQkRBX1JFU0VSVkVEX0NPTkNVUlJFTkNZJywgMClcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfSxcblxuICAgIGxvZ2dpbmc6IHtcbiAgICAgIGdyb3VwTmFtZTogZW52U3RyKCdMT0dfR1JPVVBfTkFNRScsICcvcGlwZWxpbmUtYnVpbGRlci9sb2dzJyksXG4gICAgfSxcblxuICAgIGNvZGVCdWlsZDoge1xuICAgICAgY29tcHV0ZVR5cGU6IChlbnZTdHIoJ0NPREVCVUlMRF9DT01QVVRFX1RZUEUnLCAnU01BTEwnKSkudG9VcHBlckNhc2UoKSxcbiAgICAgIGRlZmF1bHRJbWFnZTogZW52U3RyKCdDT0RFQlVJTERfREVGQVVMVF9JTUFHRScsICdwaXBlbGluZS1ib290c3RyYXA6MS4wJyksXG4gICAgICBkZWZhdWx0SW1hZ2VEaWdlc3Q6IGVudlN0cignQ09ERUJVSUxEX0RFRkFVTFRfSU1BR0VfRElHRVNUJywgJycpLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmFzdHJ1Y3R1cmUtY29uZmlnLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZnJhc3RydWN0dXJlLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3JFLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUd4Qjs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUNILE1BQU0sVUFBVSxrQkFBa0I7SUFDaEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRCw0RUFBNEU7SUFDNUUsd0VBQXdFO0lBQ3hFLDhFQUE4RTtJQUM5RSw0RUFBNEU7SUFDNUUsTUFBTSxRQUFRLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ3JFLE9BQU87UUFDTCxJQUFJO1FBQ0osSUFBSTtRQUNKLFFBQVEsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixJQUFJLFFBQVEsRUFBRSxJQUFJLElBQUksSUFBSTtRQUN4RSxRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3QkFBd0I7WUFDNUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxJQUFJLENBQUM7WUFDMUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7UUFDNUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLENBQUM7UUFDckMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxJQUFJLENBQUM7S0FDM0MsQ0FBQztBQUNKLENBQUM7QUFFRDs7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LEVBQUU7WUFDTixPQUFPLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLFlBQVksQ0FBQztZQUMvQyxjQUFjLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQztZQUM3QyxVQUFVLEVBQUUsTUFBTSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsQ0FBQztZQUM3QyxZQUFZLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTztZQUMvRSw0QkFBNEIsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQjtnQkFDbkUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLENBQUM7Z0JBQzFDLENBQUMsQ0FBQyxTQUFTO1NBQ2Q7UUFFRCxPQUFPLEVBQUU7WUFDUCxTQUFTLEVBQUUsTUFBTSxDQUFDLGdCQUFnQixFQUFFLHdCQUF3QixDQUFDO1NBQzlEO1FBRUQsU0FBUyxFQUFFO1lBQ1QsV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLHdCQUF3QixFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFO1NBQ3ZFO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgZW52Qm9vbCwgZW52SW50LCBlbnZTdHIgfSBmcm9tICdAcGlwZWxpbmUtYnVpbGRlci9hcGktY29yZSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB0eXBlIHsgQVdTQ29uZmlnLCBCdWlsZENvbmZpZywgQ29tcGxpYW5jZUNvbmZpZywgRGF0YWJhc2VDb25maWcsIE9ic2VydmFiaWxpdHlDb25maWcsIFBsdWdpbkJ1aWxkQ29uZmlnLCBSZWdpc3RyeUNvbmZpZyB9IGZyb20gJy4vY29uZmlnLXR5cGVzLmpzJztcblxuLyoqXG4gKiBMb2FkIERvY2tlciByZWdpc3RyeSBjb25maWd1cmF0aW9uIGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYElNQUdFX1JFR0lTVFJZX0hPU1RgIOKAlCBSZWdpc3RyeSBob3N0bmFtZSAoZGVmYXVsdDogYCdyZWdpc3RyeSdgKVxuICogLSBgSU1BR0VfUkVHSVNUUllfUE9SVGAg4oCUIFJlZ2lzdHJ5IHBvcnQgKGRlZmF1bHQ6IGA1MDAwYClcbiAqIC0gYElNQUdFX1JFR0lTVFJZX1BVTExfSE9TVGAg4oCUIEhvc3QgYW4gb3V0LW9mLWNsdXN0ZXIgY2xpZW50IChDb2RlQnVpbGQpXG4gKiAgIHVzZXMgdG8gcHVsbCBwbHVnaW4gaW1hZ2VzLiBXaGVuIHVuc2V0LCBkZXJpdmVkIGZyb20gYFBMQVRGT1JNX0JBU0VfVVJMYCdzXG4gKiAgIGhvc3QgKHRoZSBwdWJsaWMgZW5kcG9pbnQgQ29kZUJ1aWxkIGNhbiByZXNvbHZlKSwgdGhlbiBgSU1BR0VfUkVHSVNUUllfSE9TVGAuXG4gKiAtIGBJTUFHRV9SRUdJU1RSWV9QVUxMX1BPUlRgIOKAlCBQb3J0IGZvciB0aGUgYWJvdmUuIFdoZW4gdW5zZXQsIGRlcml2ZWQgZnJvbVxuICogICBgUExBVEZPUk1fQkFTRV9VUkxgJ3MgcG9ydCwgdGhlbiBgSU1BR0VfUkVHSVNUUllfUE9SVGAuXG4gKiAtIGBET0NLRVJfTkVUV09SS2Ag4oCUIERvY2tlciBuZXR3b3JrIGZvciBidWlsZC9wdXNoIChkZWZhdWx0OiBgJydgKVxuICogLSBgSU1BR0VfUkVHSVNUUllfSFRUUGAg4oCUIFVzZSBwbGFpbiBIVFRQIGluc3RlYWQgb2YgSFRUUFMgKGRlZmF1bHQ6IGB0cnVlYCxcbiAqICAgdGhlIGluLWNsdXN0ZXIgcmVnaXN0cnkgaGFzIG5vIFRMUykuXG4gKlxuICogQHJldHVybnMgUmVnaXN0cnkgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZFJlZ2lzdHJ5Q29uZmlnKCk6IFJlZ2lzdHJ5Q29uZmlnIHtcbiAgY29uc3QgaG9zdCA9IGVudlN0cignSU1BR0VfUkVHSVNUUllfSE9TVCcsICdyZWdpc3RyeScpO1xuICBjb25zdCBwb3J0ID0gZW52SW50KCdJTUFHRV9SRUdJU1RSWV9QT1JUJywgNV8wMDApO1xuICAvLyBXaGVuIG5vIGV4cGxpY2l0IHB1bGwgaG9zdCBpcyBzZXQsIGRlcml2ZSBpdCBmcm9tIFBMQVRGT1JNX0JBU0VfVVJMIOKAlCB0aGVcbiAgLy8gcHVibGljIHBsYXRmb3JtIGVuZHBvaW50IGFuIG91dC1vZi1jbHVzdGVyIGNsaWVudCAoQVdTIENvZGVCdWlsZCkgY2FuXG4gIC8vIHJlc29sdmUsIHVubGlrZSB0aGUgaW4tY2x1c3RlciBgcmVnaXN0cnlgIENsdXN0ZXJJUC4gT25seSBmYWxscyBiYWNrIHRvIHRoZVxuICAvLyBpbi1jbHVzdGVyIGhvc3Qgd2hlbiBQTEFURk9STV9CQVNFX1VSTCBpcyB1bnNldC91bnBhcnNlYWJsZSAoZS5nLiBsb2NhbCkuXG4gIGNvbnN0IHBsYXRmb3JtID0gcGFyc2VQbGF0Zm9ybUJhc2VVcmwocHJvY2Vzcy5lbnYuUExBVEZPUk1fQkFTRV9VUkwpO1xuICByZXR1cm4ge1xuICAgIGhvc3QsXG4gICAgcG9ydCxcbiAgICBwdWxsSG9zdDogcHJvY2Vzcy5lbnYuSU1BR0VfUkVHSVNUUllfUFVMTF9IT1NUIHx8IHBsYXRmb3JtPy5ob3N0IHx8IGhvc3QsXG4gICAgcHVsbFBvcnQ6IHByb2Nlc3MuZW52LklNQUdFX1JFR0lTVFJZX1BVTExfUE9SVFxuICAgICAgPyBlbnZJbnQoJ0lNQUdFX1JFR0lTVFJZX1BVTExfUE9SVCcsIHBvcnQpXG4gICAgICA6IChwbGF0Zm9ybT8ucG9ydCA/PyBwb3J0KSxcbiAgICBuZXR3b3JrOiBlbnZTdHIoJ0RPQ0tFUl9ORVRXT1JLJywgJycpLFxuICAgIGh0dHA6IGVudkJvb2woJ0lNQUdFX1JFR0lTVFJZX0hUVFAnLCB0cnVlKSxcbiAgfTtcbn1cblxuLyoqIEV4dHJhY3QgaG9zdCArIHBvcnQgZnJvbSBQTEFURk9STV9CQVNFX1VSTCAoZS5nLiBgaHR0cHM6Ly9waXBlbGluZS1idWlsZGVyLmNvbWBcbiAqICDihpIgYHsgaG9zdDogJ3BpcGVsaW5lLWJ1aWxkZXIuY29tJywgcG9ydDogNDQzIH1gKS4gUmV0dXJucyBudWxsIHdoZW4gdGhlIHZhbHVlXG4gKiAgaXMgdW5zZXQgb3Igbm90IGEgdmFsaWQgVVJMLiBFeHBvcnRlZCBzbyB0aGUgQ0xJIChwaXBlbGluZS1tYW5hZ2VyKSBkZXJpdmVzXG4gKiAgdGhlIHJlZ2lzdHJ5IHB1bGwgdGFyZ2V0IHdpdGggdGhlIFNBTUUgcGFyc2luZywgaW5zdGVhZCBvZiBkdXBsaWNhdGluZyBpdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVBsYXRmb3JtQmFzZVVybChyYXc/OiBzdHJpbmcpOiB7IGhvc3Q6IHN0cmluZzsgcG9ydDogbnVtYmVyIH0gfCBudWxsIHtcbiAgaWYgKCFyYXcpIHJldHVybiBudWxsO1xuICB0cnkge1xuICAgIGNvbnN0IHUgPSBuZXcgVVJMKHJhdyk7XG4gICAgLy8gQSBzY2hlbWUtbGVzcyB2YWx1ZSBsaWtlIGBob3N0Ojg0NDNgIHBhcnNlcyB3aXRoIGEgY3VzdG9tIHByb3RvY29sIGFuZCBhblxuICAgIC8vIEVNUFRZIGhvc3RuYW1lIOKAlCByZWplY3QgaXQgc28gY2FsbGVycyBmYWxsIGJhY2sgcmF0aGVyIHRoYW4gZGVyaXZlIGFcbiAgICAvLyBob3N0LWxlc3MgZW5kcG9pbnQuXG4gICAgaWYgKCF1Lmhvc3RuYW1lKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBwb3J0ID0gdS5wb3J0ID8gcGFyc2VJbnQodS5wb3J0LCAxMCkgOiAodS5wcm90b2NvbCA9PT0gJ2h0dHBzOicgPyA0NDMgOiA4MCk7XG4gICAgcmV0dXJuIHsgaG9zdDogdS5ob3N0bmFtZSwgcG9ydCB9O1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIExvYWQgcGx1Z2luIGJ1aWxkIHF1ZXVlIGNvbmZpZ3VyYXRpb24uXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzOlxuICogLSBgUExVR0lOX0JVSUxEX0NPTkNVUlJFTkNZYCDigJQgTWF4IGNvbmN1cnJlbnQgcGx1Z2luIGJ1aWxkcyAoZGVmYXVsdDogYDFgKVxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZFBsdWdpbkJ1aWxkQ29uZmlnKCk6IFBsdWdpbkJ1aWxkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICAvLyBCYXNlbGluZXMgdGhlIHRpZXIgbGFkZGVyIHJhaXNlcywgbmV2ZXIgYSBjZWlsaW5nIChzZWUgUGx1Z2luQnVpbGRDb25maWcpLlxuICAgIC8vIEZsZXhpYmxlIHNpdHMgQUJPVkUgc3RhbmRhcmQgc28gdGhlIGNoZWFwIGNsYXNzIGtlZXBzIHJlYWwgaGVhZHJvb20gb25cbiAgICAvLyBldmVyeSB0aWVyOyBvbmUgc2hhcmVkIGZpZ3VyZSBtYWRlIHRoZSB0d28gaWRlbnRpY2FsIGJlbG93IGl0LlxuICAgIG9yZ0J1aWxkU2xvdHM6IHtcbiAgICAgIHN0YW5kYXJkOiBlbnZJbnQoJ1BMVUdJTl9PUkdfQlVJTERfU0xPVFNfU1RBTkRBUkQnLCA1LCB7IG1pbjogMSB9KSxcbiAgICAgIGZsZXhpYmxlOiBlbnZJbnQoJ1BMVUdJTl9PUkdfQlVJTERfU0xPVFNfRkxFWElCTEUnLCA4LCB7IG1pbjogMSB9KSxcbiAgICB9LFxuICAgIG1heEF0dGVtcHRzOiBlbnZJbnQoJ1BMVUdJTl9CVUlMRF9NQVhfQVRURU1QVFMnLCAyKSxcbiAgICBiYWNrb2ZmRGVsYXlNczogZW52SW50KCdQTFVHSU5fQlVJTERfQkFDS09GRl9ERUxBWV9NUycsIDVfMDAwKSxcbiAgICB3b3JrZXJUaW1lb3V0TXM6IGVudkludCgnUExVR0lOX0JVSUxEX1dPUktFUl9USU1FT1VUX01TJywgMTBfMDAwKSxcbiAgICB0ZW1wRGlyTWF4QWdlTXM6IGVudkludCgnVEVNUF9ESVJfTUFYX0FHRV9NUycsIDE0XzQwMF8wMDApLFxuICAgIGRscU1heEF0dGVtcHRzOiBlbnZJbnQoJ1BMVUdJTl9ETFFfTUFYX0FUVEVNUFRTJywgMyksXG4gICAgZGxxQmFja29mZkJhc2VNczogZW52SW50KCdQTFVHSU5fRExRX0JBQ0tPRkZfQkFTRV9NUycsIDMwMF8wMDApLFxuICAgIGRscU1heFNpemU6IGVudkludCgnUExVR0lOX0RMUV9NQVhfU0laRScsIDIwKSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxvYWREYXRhYmFzZUNvbmZpZygpOiBEYXRhYmFzZUNvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgcG9zdGdyZXM6IHtcbiAgICAgIGhvc3Q6IGVudlN0cignREJfSE9TVCcsICdwb3N0Z3JlcycpLFxuICAgICAgcG9ydDogZW52SW50KCdEQl9QT1JUJywgNV80MzIpLFxuICAgICAgZGF0YWJhc2U6IGVudlN0cignREFUQUJBU0UnLCAncGlwZWxpbmVfYnVpbGRlcicpLFxuICAgICAgdXNlcjogZW52U3RyKCdEQl9VU0VSJywgJ3Bvc3RncmVzJyksXG4gICAgICBwYXNzd29yZDogZW52U3RyKCdEQl9QQVNTV09SRCcsICcnKSxcbiAgICB9LFxuICAgIGRyaXp6bGU6IHtcbiAgICAgIG1heFBvb2xTaXplOiBlbnZJbnQoJ0RSSVpaTEVfTUFYX1BPT0xfU0laRScsIDIwKSxcbiAgICAgIGlkbGVUaW1lb3V0TWlsbGlzOiBlbnZJbnQoJ0RSSVpaTEVfSURMRV9USU1FT1VUX01JTExJUycsIDMwXzAwMCksXG4gICAgICBjb25uZWN0aW9uVGltZW91dE1pbGxpczogZW52SW50KCdEUklaWkxFX0NPTk5FQ1RJT05fVElNRU9VVF9NSUxMSVMnLCAxMF8wMDApLFxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkT2JzZXJ2YWJpbGl0eUNvbmZpZygpOiBPYnNlcnZhYmlsaXR5Q29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBsb2dMZXZlbDogZW52U3RyKCdMT0dfTEVWRUwnLCAnaW5mbycpLFxuICAgIGxvZ0Zvcm1hdDogZW52U3RyKCdMT0dfRk9STUFUJywgJ2pzb24nKSxcbiAgICBzZXJ2aWNlTmFtZTogZW52U3RyKCdTRVJWSUNFX05BTUUnLCAnYXBpJyksXG4gICAgdHJhY2luZzoge1xuICAgICAgZW5hYmxlZDogZW52Qm9vbCgnT1RFTF9UUkFDSU5HX0VOQUJMRUQnLCBmYWxzZSksXG4gICAgICBlbmRwb2ludDogZW52U3RyKCdPVEVMX0VYUE9SVEVSX09UTFBfRU5EUE9JTlQnLCAnaHR0cDovL2xvY2FsaG9zdDo0MzE4L3YxL3RyYWNlcycpLFxuICAgIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkQ29tcGxpYW5jZUNvbmZpZygpOiBDb21wbGlhbmNlQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICBzY2FuU2NoZWR1bGVySW50ZXJ2YWxNczogZW52SW50KCdTQ0FOX1NDSEVEVUxFUl9JTlRFUlZBTF9NUycsIDYwXzAwMCksXG4gICAgc3lzdGVtT3JnU2NhbnNFbmFibGVkOiBlbnZCb29sKCdTWVNURU1fT1JHX1NDQU5TX0VOQUJMRUQnLCBmYWxzZSksXG4gICAgLy8gQ3Jhc2gtcmVjb3Zlcnkgd2luZG93LCBub3QgYSBydW4tZHVyYXRpb24gY292ZXI6IHRoZSBsb2NrIGhlYXJ0YmVhdHMuXG4gICAgc2NhbkxvY2tUdGxNczogZW52SW50KCdTQ0FOX0xPQ0tfVFRMX01TJywgMTIwXzAwMCksXG4gICAgZGlnZXN0U2NoZWR1bGVySW50ZXJ2YWxNczogZW52SW50KCdESUdFU1RfU0NIRURVTEVSX0lOVEVSVkFMX01TJywgM182MDBfMDAwKSxcbiAgICBkaWdlc3RMb2NrVHRsTXM6IGVudkludCgnRElHRVNUX0xPQ0tfVFRMX01TJywgMTIwXzAwMCksXG4gIH07XG59XG5cbi8qKlxuICogTG9hZCBwbHVnaW4gYnVpbGQgY29uZmlndXJhdGlvbi4gQnVpbGRzIHJ1biBhZ2FpbnN0IGEgcm9vdGxlc3MgYG1vYnkvYnVpbGRraXRgXG4gKiBzaWRlY2FyIOKAlCBzZWUgYEJVSUxES0lUX0hPU1RgLlxuICpcbiAqIEVudmlyb25tZW50IHZhcmlhYmxlczpcbiAqIC0gYERPQ0tFUl9CVUlMRF9URU1QX1JPT1RgIOKAlCBUZW1wIGRpcmVjdG9yeSBmb3IgYnVpbGQgY29udGV4dHMgKGRlZmF1bHQ6IGA8Y3dkPi90bXBgKVxuICogLSBgRE9DS0VSX0JVSUxEX1RJTUVPVVRfTVNgIOKAlCBCdWlsZCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdDogYDkwMDAwMGAgLyAxNSBtaW4pXG4gKiAtIGBET0NLRVJfUFVTSF9USU1FT1VUX01TYCDigJQgUHVzaCB0aW1lb3V0IGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdDogYDMwMDAwMGAgLyA1IG1pbilcbiAqIC0gYEJVSUxES0lUX0hPU1RgIOKAlCBidWlsZGN0bCBgLS1hZGRyYCB2YWx1ZSBmb3IgdGhlIGJ1aWxka2l0ZCBzaWRlY2FyXG4gKiAgIChkZWZhdWx0OiBgdW5peDovLy9ydW4vYnVpbGRraXQvYnVpbGRraXRkLnNvY2tgKVxuICogLSBgUExVR0lOX1NJR05JTkdfUFVCTElDX0tFWV9GSUxFYCDigJQgUEVNIHB1YmxpYyBrZXkgcGx1Z2luIGltYWdlcyBhcmUgdmVyaWZpZWRcbiAqICAgYWdhaW5zdCAoZGVmYXVsdDogYC9ldGMvcGlwZWxpbmUtYnVpbGRlci9wbHVnaW4tc2lnbmluZy9wbHVnaW4tc2lnbmluZy5wdWJgKVxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZERvY2tlckNvbmZpZygpOiBCdWlsZENvbmZpZyB7XG4gIHJldHVybiB7XG4gICAgdGVtcFJvb3Q6IHByb2Nlc3MuZW52LkRPQ0tFUl9CVUlMRF9URU1QX1JPT1QgfHwgcGF0aC5qb2luKHByb2Nlc3MuY3dkKCksICd0bXAnKSxcbiAgICB0aW1lb3V0TXM6IGVudkludCgnRE9DS0VSX0JVSUxEX1RJTUVPVVRfTVMnLCA5MDBfMDAwKSxcbiAgICBwdXNoVGltZW91dE1zOiBlbnZJbnQoJ0RPQ0tFUl9QVVNIX1RJTUVPVVRfTVMnLCAzMDBfMDAwKSxcbiAgICBidWlsZGtpdEFkZHI6IGVudlN0cignQlVJTERLSVRfSE9TVCcsICd1bml4Oi8vL3J1bi9idWlsZGtpdC9idWlsZGtpdGQuc29jaycpLFxuICAgIHNpZ25pbmdQdWJsaWNLZXlGaWxlOiBlbnZTdHIoJ1BMVUdJTl9TSUdOSU5HX1BVQkxJQ19LRVlfRklMRScsICcvZXRjL3BpcGVsaW5lLWJ1aWxkZXIvcGx1Z2luLXNpZ25pbmcvcGx1Z2luLXNpZ25pbmcucHViJyksXG4gIH07XG59XG5cbi8qKlxuICogTG9hZCBBV1MgaW5mcmFzdHJ1Y3R1cmUgY29uZmlndXJhdGlvbiBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXM6XG4gKiAtIGBMQU1CREFfUlVOVElNRWAg4oCUIExhbWJkYSBydW50aW1lIChkZWZhdWx0OiBgJ25vZGVqczI2LngnYCwgYSBQVUJMSUMgUFJFVklFV1xuICogICBydW50aW1lOyB1bmtub3duIHZhbHVlcyBmYWxsIGJhY2sgdG8gaXQpLiBTZXQgYG5vZGVqczI0LnhgIHRvIHN0YXkgb24gR0EuXG4gKiAtIGBMQU1CREFfVElNRU9VVGAg4oCUIExhbWJkYSB0aW1lb3V0IGluIHNlY29uZHMgKGRlZmF1bHQ6IGA5MDBgKVxuICogLSBgTEFNQkRBX01FTU9SWV9TSVpFYCDigJQgTGFtYmRhIG1lbW9yeSBpbiBNQiAoZGVmYXVsdDogYDUxMmApXG4gKiAtIGBMQU1CREFfQVJDSElURUNUVVJFYCDigJQgYCd4ODZfNjQnYCBvciBBUk0gKGRlZmF1bHQ6IEFSTV82NClcbiAqIC0gYExPR19HUk9VUF9OQU1FYCDigJQgQ2xvdWRXYXRjaCBsb2cgZ3JvdXAgKGRlZmF1bHQ6IGAnL3BpcGVsaW5lLWJ1aWxkZXIvbG9ncydgKVxuICogLSBgQ09ERUJVSUxEX0NPTVBVVEVfVFlQRWAg4oCUIENvZGVCdWlsZCBjb21wdXRlIHR5cGUgKGRlZmF1bHQ6IGAnU01BTEwnYClcbiAqXG4gKiBAcmV0dXJucyBBV1MgaW5mcmFzdHJ1Y3R1cmUgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZEFXU0NvbmZpZygpOiBBV1NDb25maWcge1xuICByZXR1cm4ge1xuICAgIGxhbWJkYToge1xuICAgICAgcnVudGltZTogZW52U3RyKCdMQU1CREFfUlVOVElNRScsICdub2RlanMyNi54JyksXG4gICAgICB0aW1lb3V0U2Vjb25kczogZW52SW50KCdMQU1CREFfVElNRU9VVCcsIDkwMCksXG4gICAgICBtZW1vcnlTaXplOiBlbnZJbnQoJ0xBTUJEQV9NRU1PUllfU0laRScsIDUxMiksXG4gICAgICBhcmNoaXRlY3R1cmU6IHByb2Nlc3MuZW52LkxBTUJEQV9BUkNISVRFQ1RVUkUgPT09ICd4ODZfNjQnID8gJ3g4Nl82NCcgOiAnYXJtNjQnLFxuICAgICAgcmVzZXJ2ZWRDb25jdXJyZW50RXhlY3V0aW9uczogcHJvY2Vzcy5lbnYuTEFNQkRBX1JFU0VSVkVEX0NPTkNVUlJFTkNZXG4gICAgICAgID8gZW52SW50KCdMQU1CREFfUkVTRVJWRURfQ09OQ1VSUkVOQ1knLCAwKVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9LFxuXG4gICAgbG9nZ2luZzoge1xuICAgICAgZ3JvdXBOYW1lOiBlbnZTdHIoJ0xPR19HUk9VUF9OQU1FJywgJy9waXBlbGluZS1idWlsZGVyL2xvZ3MnKSxcbiAgICB9LFxuXG4gICAgY29kZUJ1aWxkOiB7XG4gICAgICBjb21wdXRlVHlwZTogKGVudlN0cignQ09ERUJVSUxEX0NPTVBVVEVfVFlQRScsICdTTUFMTCcpKS50b1VwcGVyQ2FzZSgpLFxuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -24,15 +24,38 @@ import type { CodeBuildStepOptions } from '../pipeline/step-types.js';
24
24
  * sending the per-org platform Secret as Basic auth to
25
25
  * `pipeline-image-registry`'s `/token` endpoint; the JWT in `password`
26
26
  * resolves to a registry token scoped to the org.
27
- * 3. If `metadata_only`, return `undefined` so CodeBuild uses its default
28
- * (`standard:7.0`).
27
+ * 3. If `metadata_only`, return `undefined` so the step runs on the
28
+ * pipeline's default image (`codeBuildDefaults`: the toolchain release's
29
+ * `system/pipeline-bootstrap@<digest>`, see {@link resolveDefaultBuildImage}).
29
30
  *
30
31
  * `scope` and `orgId` are required: the per-org platform Secret is named
31
32
  * `pipeline-builder/<orgId>/platform`, and `Secret.fromSecretNameV2()`
32
33
  * needs a Construct to anchor the imported secret to.
33
34
  */
34
35
  export declare function resolvePluginImage(scope: Construct | undefined, plugin: Plugin, orgId?: string): IBuildImage | undefined;
35
- export declare function resolveDefaultBuildImage(scope?: Construct, orgId?: string): IBuildImage;
36
+ /** The managed toolchain's build-image plugin name and its (system-org) image repository. */
37
+ export declare const BOOTSTRAP_PLUGIN_NAME = "pipeline-bootstrap";
38
+ export declare const BOOTSTRAP_IMAGE_REPOSITORY = "system/pipeline-bootstrap";
39
+ /**
40
+ * The default CodeBuild image — every action without a plugin-baked image (the
41
+ * pipeline-wide `codeBuildDefaults`, a plugin-less step, asset publishing) —
42
+ * pinned to the resolved toolchain release's `pipeline-bootstrap` image.
43
+ *
44
+ * Exactly the path a system plugin's image takes ({@link resolvePluginImage}):
45
+ * `<external pull host>/system/pipeline-bootstrap@<signed digest>` with the
46
+ * org's `registry-push` secret as the pull credential. There is no env-driven
47
+ * image, no tag pull and no curated fallback: the bootstrap is resolved from
48
+ * the platform (`pipeline-manager`'s `resolveBootstrapImage`, D2) and anything
49
+ * short of a pinned, pullable image fails the synth.
50
+ */
51
+ export declare function resolveDefaultBuildImage(scope: Construct, orgId: string | undefined, bootstrap: Plugin): IBuildImage;
52
+ /**
53
+ * The AWS curated image self-mutation runs on (D10): it only needs Node and the
54
+ * pinned CDK CLI, and a curated image keeps a defective toolchain release
55
+ * recoverable. Curated ⇒ `fromCodeBuildImageId` (CODEBUILD pull credentials —
56
+ * `fromDockerRegistry` would set SERVICE_ROLE, which CFN rejects for a curated image).
57
+ */
58
+ export declare const curatedSelfMutationImage: () => IBuildImage;
36
59
  /**
37
60
  * Create a CodeBuild step or Shell step based on plugin configuration.
38
61
  *