@pipeline-builder/api-core 5.2.6 → 5.2.8
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/constants/ai-providers.js +1 -1
- package/lib/constants/http-status.js +1 -1
- package/lib/constants/index.js +1 -1
- package/lib/constants/time.js +1 -1
- package/lib/errors/app-errors.js +1 -1
- package/lib/errors/index.js +1 -1
- package/lib/helpers/access-helpers.d.ts +19 -0
- package/lib/helpers/access-helpers.js +24 -4
- package/lib/helpers/content-disposition.js +1 -1
- package/lib/helpers/crud-helpers.js +1 -1
- package/lib/helpers/index.d.ts +1 -1
- package/lib/helpers/index.js +2 -2
- package/lib/helpers/org-hierarchy-http.js +1 -1
- package/lib/helpers/org-hierarchy.js +1 -1
- package/lib/helpers/restore-helpers.js +1 -1
- package/lib/helpers/sse-helpers.js +13 -2
- package/lib/helpers/support-calendar.js +1 -1
- package/lib/index.js +1 -1
- package/lib/middleware/ask-provenance.js +1 -1
- package/lib/middleware/assurance.js +1 -1
- package/lib/middleware/auth.js +3 -2
- package/lib/middleware/client-version.d.ts +45 -0
- package/lib/middleware/client-version.js +97 -0
- package/lib/middleware/deferred-quota-check.js +1 -1
- package/lib/middleware/ecosystem-guard.js +1 -1
- package/lib/middleware/index.d.ts +1 -0
- package/lib/middleware/index.js +2 -1
- package/lib/middleware/jwt-verify.js +1 -1
- package/lib/middleware/mongo-sanitize.js +1 -1
- package/lib/middleware/on-behalf.js +1 -1
- package/lib/middleware/permission-gates.js +1 -1
- package/lib/middleware/quota-exempt-routes.js +1 -1
- package/lib/middleware/revocation.js +1 -1
- package/lib/middleware/route-table.js +16 -1
- package/lib/middleware/service-tokens.js +1 -1
- package/lib/middleware/step-up.js +1 -1
- package/lib/middleware/system-org.d.ts +18 -5
- package/lib/middleware/system-org.js +19 -6
- package/lib/openapi/extend-zod.js +1 -1
- package/lib/openapi/index.js +1 -1
- package/lib/openapi/registry.js +1 -1
- package/lib/openapi/routes/ask-routes.js +1 -1
- package/lib/openapi/routes/billing-routes.js +1 -1
- package/lib/openapi/routes/image-registry-routes.js +1 -1
- package/lib/openapi/routes/index.js +1 -1
- package/lib/openapi/routes/message-routes.js +1 -1
- package/lib/openapi/routes/pipeline-routes.js +1 -1
- package/lib/openapi/routes/pipeline-template-routes.js +1 -1
- package/lib/openapi/routes/plugin-routes.js +1 -1
- package/lib/openapi/routes/quota-routes.js +1 -1
- package/lib/openapi/schema-registry.js +1 -1
- package/lib/routes/health.js +1 -1
- package/lib/routes/index.js +1 -1
- package/lib/services/ai-call-weight.js +1 -1
- package/lib/services/alert-delivery.js +1 -1
- package/lib/services/api-key-exchange.d.ts +4 -2
- package/lib/services/api-key-exchange.js +15 -8
- package/lib/services/audit-context.d.ts +3 -0
- package/lib/services/audit-context.js +2 -1
- package/lib/services/audit-spool.js +1 -1
- package/lib/services/cache-service.js +1 -1
- package/lib/services/circuit-breaker.js +1 -1
- package/lib/services/compliance-client.js +1 -1
- package/lib/services/compliance-event-subscriber.js +1 -1
- package/lib/services/durable-event-bus.js +1 -1
- package/lib/services/ecosystem-notify-client.d.ts +7 -1
- package/lib/services/ecosystem-notify-client.js +9 -3
- package/lib/services/entity-events.js +1 -1
- package/lib/services/env-redis.js +1 -1
- package/lib/services/http-client.js +19 -3
- package/lib/services/index.d.ts +1 -1
- package/lib/services/index.js +2 -2
- package/lib/services/jwks-cache.js +1 -1
- package/lib/services/leader-lock.js +1 -1
- package/lib/services/notification-channels.js +1 -1
- package/lib/services/org-ai-client.js +1 -1
- package/lib/services/pagerduty-inbound.js +1 -1
- package/lib/services/pagerduty.js +1 -1
- package/lib/services/quota-increment-batcher.js +1 -1
- package/lib/services/quota.js +1 -1
- package/lib/services/remote-audit-client.js +1 -1
- package/lib/services/retry-forever.js +1 -1
- package/lib/services/retry-strategy.js +1 -1
- package/lib/services/s3-client.js +1 -1
- package/lib/services/scheduler.js +1 -1
- package/lib/services/service-boot.js +1 -1
- package/lib/services/service-keys.js +2 -2
- package/lib/services/sse-ticket-store.js +1 -1
- package/lib/services/system-notification.js +1 -1
- package/lib/services/token-revocation.js +1 -1
- package/lib/services/version-vuln-policy.d.ts +11 -0
- package/lib/services/version-vuln-policy.js +33 -7
- package/lib/types/ai-catalog.js +1 -1
- package/lib/types/ask-proposals.d.ts +23 -0
- package/lib/types/ask-proposals.js +29 -1
- package/lib/types/audit-events.js +1 -1
- package/lib/types/build-catalog.d.ts +65 -0
- package/lib/types/build-catalog.js +95 -1
- package/lib/types/catalog-metadata.js +1 -1
- package/lib/types/common.js +1 -1
- package/lib/types/compliance-exemption.js +1 -1
- package/lib/types/ecosystem-notifications.d.ts +9 -0
- package/lib/types/ecosystem-notifications.js +15 -6
- package/lib/types/ecosystem.d.ts +1 -6
- package/lib/types/ecosystem.js +18 -5
- package/lib/types/error-codes.d.ts +3 -0
- package/lib/types/error-codes.js +6 -1
- package/lib/types/feature-flags.d.ts +17 -1
- package/lib/types/feature-flags.js +1 -1
- package/lib/types/http.js +1 -1
- package/lib/types/index.d.ts +3 -3
- package/lib/types/index.js +4 -4
- package/lib/types/metadata-keys.js +1 -1
- package/lib/types/permissions.d.ts +60 -13
- package/lib/types/permissions.js +63 -14
- package/lib/types/pipeline-template.js +1 -1
- package/lib/types/pipeline.js +1 -1
- package/lib/types/plugin-catalog.js +1 -1
- package/lib/types/plugin-health.js +1 -1
- package/lib/types/plugin-scan.d.ts +69 -0
- package/lib/types/plugin-scan.js +77 -1
- package/lib/types/quota-catalog.js +15 -2
- package/lib/types/quota-tiers.d.ts +27 -160
- package/lib/types/quota-tiers.js +47 -255
- package/lib/types/remote-audit-actions.d.ts +1 -1
- package/lib/types/remote-audit-actions.js +9 -1
- package/lib/types/reserved-tags.js +1 -1
- package/lib/types/tier-limits.d.ts +210 -0
- package/lib/types/tier-limits.js +254 -0
- package/lib/types/usage-projection.js +1 -1
- package/lib/types/visibility.js +1 -1
- package/lib/types/wire-vocabulary.d.ts +7 -0
- package/lib/types/wire-vocabulary.js +7 -1
- package/lib/utils/alias-resolver.js +1 -1
- package/lib/utils/api-key.js +1 -1
- package/lib/utils/audit.js +1 -1
- package/lib/utils/aws-scrub.js +1 -1
- package/lib/utils/compliance-attributes.js +1 -1
- package/lib/utils/concurrency-gate.d.ts +98 -0
- package/lib/utils/concurrency-gate.js +110 -0
- package/lib/utils/concurrency.js +1 -1
- package/lib/utils/crash-handlers.js +1 -1
- package/lib/utils/date.js +1 -1
- package/lib/utils/dsse.js +1 -1
- package/lib/utils/env.d.ts +11 -0
- package/lib/utils/env.js +14 -1
- package/lib/utils/headers.js +1 -1
- package/lib/utils/identity.js +1 -1
- package/lib/utils/index.d.ts +2 -0
- package/lib/utils/index.js +3 -1
- package/lib/utils/jwk.js +2 -2
- package/lib/utils/logger.js +1 -1
- package/lib/utils/metric-emitter.js +1 -1
- package/lib/utils/object.js +1 -1
- package/lib/utils/params.js +1 -1
- package/lib/utils/plugin-compliance.d.ts +9 -1
- package/lib/utils/plugin-compliance.js +1 -1
- package/lib/utils/proof-of-work.js +1 -1
- package/lib/utils/response.js +1 -1
- package/lib/utils/retention.js +1 -1
- package/lib/utils/safe-require.js +1 -1
- package/lib/utils/secret-encryption.js +1 -1
- package/lib/utils/secret-rotation.js +1 -1
- package/lib/utils/secure-compare.js +1 -1
- package/lib/utils/semver.d.ts +18 -0
- package/lib/utils/semver.js +120 -0
- package/lib/utils/sensitive-patterns.js +1 -1
- package/lib/utils/service-registry.js +1 -1
- package/lib/utils/ssrf.js +1 -1
- package/lib/validation/ai-schemas.js +1 -1
- package/lib/validation/common-schemas.js +1 -1
- package/lib/validation/dockerfile-static.js +1 -1
- package/lib/validation/index.d.ts +1 -1
- package/lib/validation/index.js +2 -2
- package/lib/validation/message-schemas.d.ts +73 -0
- package/lib/validation/message-schemas.js +63 -2
- package/lib/validation/middleware.js +1 -1
- package/lib/validation/pipeline-schemas.js +1 -1
- package/lib/validation/pipeline-template-schemas.js +1 -1
- package/lib/validation/plugin-base-images.js +1 -1
- package/lib/validation/plugin-catalog-detect.js +1 -1
- package/lib/validation/plugin-catalog-metadata.js +1 -1
- package/lib/validation/plugin-heuristics.js +1 -1
- package/lib/validation/plugin-lint.js +1 -1
- package/lib/validation/plugin-name-confusable.js +1 -1
- package/lib/validation/plugin-schemas.js +1 -1
- package/lib/validation/plugin-spec-schema.js +1 -1
- package/lib/validation/plugin-template-contract.js +1 -1
- package/package.json +11 -4
|
@@ -207,4 +207,4 @@ export const OCI_LABELS = {
|
|
|
207
207
|
source: 'org.opencontainers.image.source',
|
|
208
208
|
documentation: 'org.opencontainers.image.documentation',
|
|
209
209
|
};
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyZmlsZS1zdGF0aWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbi9kb2NrZXJmaWxlLXN0YXRpYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFFSCx5RkFBeUY7QUFDekYsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDO0FBNEJ4QywrRUFBK0U7QUFDL0UsU0FBUyxZQUFZLENBQUMsS0FBZTtJQUNuQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxFQUFFO1lBQUUsU0FBUztRQUN2QixNQUFNLENBQUMsR0FBRyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDO1lBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFFLENBQUM7UUFDcEIsMkVBQTJFO1FBQzNFLG1EQUFtRDtRQUNuRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFBRSxNQUFNO0lBQ3JDLENBQUM7SUFDRCxPQUFPLElBQUksQ0FBQztBQUNkLENBQUM7QUFFRCxzRkFBc0Y7QUFDdEYsU0FBUyxZQUFZLENBQUMsT0FBZTtJQUNuQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pGLE1BQU0sR0FBRyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxNQUFNLEdBQUcsR0FBYSxFQUFFLENBQUM7SUFDekIsSUFBSSxPQUFP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UUFBUSxFQUFFLG1DQUFtQztJQUM3QyxHQUFHLEVBQUUsOEJBQThCO0lBQ25DLE1BQU0sRUFBRSxpQ0FBaUM7SUFDekMsYUFBYSxFQUFFLHdDQUF3QztDQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8qKlxuICogU1RBVElDIHJlYWRpbmcgb2YgYSBwbHVnaW4ncyBvd24gRG9ja2VyZmlsZSAoY2F0YWxvZyBkZXRlY3Rpb24gYW5kIHRoZVxuICogYHJ1bkFzUm9vdGAgY29tcGxpYW5jZSBmYWN0KTogaXRzIGBMQUJFTGAgaW5zdHJ1Y3Rpb25zIGFuZCBpdHMgZmluYWwgYFVTRVJgLCB3aXRob3V0XG4gKiBidWlsZGluZyBhbnl0aGluZy5cbiAqXG4gKiAtIE9ubHkgdGhlIHBsdWdpbidzIE9XTiBpbnN0cnVjdGlvbnMgY291bnQuIFRoZSBidWlsdCBpbWFnZSdzIGNvbmZpZyBhbHNvXG4gKiAgIGNhcnJpZXMgZXZlcnkgbGFiZWwgaW5oZXJpdGVkIGZyb20gaXRzIGJhc2UgaW1hZ2UsIGFuZCB0aG9zZSBkZXNjcmliZSB0aGVcbiAqICAgYmFzZSBpbWFnZSwgbm90IHRoZSBwbHVnaW4g4oCUIHNvIGxhYmVscyBhcmUgbmV2ZXIgcmVhZCBmcm9tIGFuIGltYWdlLlxuICogLSBPbmx5IHRoZSBGSU5BTCBzdGFnZSBjb3VudHMgKHBsdXMgYW55IGVhcmxpZXIgc3RhZ2UgaXQgaXMgYnVpbHQgYEZST01gKTpcbiAqICAgbGFiZWxzIGFuZCBgVVNFUmAgc2V0IGluIGEgZGlzY2FyZGVkIGJ1aWxkIHN0YWdlIG5ldmVyIHJlYWNoIHRoZSBpbWFnZS5cbiAqIC0gQSB2YWx1ZSBjb250YWluaW5nIGAkYCBpcyBpZ25vcmVkOiBidWlsZCBhcmd1bWVudHMgYXJlbid0IGtub3duIGF0IHVwbG9hZCxcbiAqICAgc28gdGhlIHN0YXRpYyB0ZXh0IGlzIG5vdCB3aGF0IHRoZSBpbWFnZSB3b3VsZCBjYXJyeS5cbiAqIC0gVmFsdWVzIGFyZSB1bnRydXN0ZWQgdGV4dCwgZXhhY3RseSBsaWtlIHRoZSBzcGVjLlxuICpcbiAqIEhhbmRsZXMgdGhlIGAjIGVzY2FwZT1gIHBhcnNlciBkaXJlY3RpdmUsIGxpbmUgY29udGludWF0aW9ucyAod2l0aCBjb21tZW50XG4gKiBsaW5lcyBpbnNpZGUgYSBjb250aW51YXRpb24gc2tpcHBlZCwgYXMgRG9ja2VyIGRvZXMpLCBga2V5PXZhbHVlYCBwYWlycyB3aXRoXG4gKiBkb3VibGUgcXVvdGVzIChiYWNrc2xhc2ggZXNjYXBlcykgb3Igc2luZ2xlIHF1b3RlcyAobGl0ZXJhbCksIGFuZCB0aGUgbGVnYWN5XG4gKiBgTEFCRUwga2V5IHZhbHVlYCBmb3JtLlxuICovXG5cbi8qKiBNYXggRG9ja2VyZmlsZSB0ZXh0IHJlYWQgKGJ5dGVzKS4gTGFyZ2VyIGlucHV0cyBhcmUgdHJ1bmNhdGVkLCBuZXZlciBwYXJzZWQgd2hvbGUuICovXG5jb25zdCBNQVhfRE9DS0VSRklMRV9DSEFSUyA9IDI1NiAqIDEwMjQ7XG5cbmludGVyZmFjZSBTdGFnZSB7XG4gIC8qKiBMb3dlcmNhc2VkIGBBU2AgYWxpYXMsIGlmIGFueS4gKi9cbiAgYWxpYXM6IHN0cmluZyB8IG51bGw7XG4gIC8qKiBMb3dlcmNhc2VkIGJhc2UgcmVmZXJlbmNlIChgRlJPTSA8YmFzZT5gKS4gKi9cbiAgYmFzZTogc3RyaW5nO1xuICAvKiogVGhlIGJhc2UgcmVmZXJlbmNlIGFzIHdyaXR0ZW4gKGltYWdlIHJlZnMgYXJlIGNhc2Utc2Vuc2l0aXZlIGluIHRhZ3MpLiAqL1xuICByYXdCYXNlOiBzdHJpbmc7XG4gIGxhYmVsczogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqIExhc3QgYFVTRVJgIGluIHRoZSBzdGFnZSAocmF3KSwgb3IgbnVsbCB3aGVuIHRoZSBzdGFnZSBzZXRzIG5vbmUuICovXG4gIHVzZXI6IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKiBXaGF0IHRoZSBwbHVnaW4ncyBEb2NrZXJmaWxlIGl0c2VsZiBkZWNsYXJlcyBmb3IgaXRzIGZpbmFsIGltYWdlLiAqL1xuZXhwb3J0IGludGVyZmFjZSBEb2NrZXJmaWxlRmFjdHMge1xuICAvKiogVGhlIGZpbmFsIGltYWdlJ3Mgb3duIGxhYmVscyAobGF0ZXIgaW5zdHJ1Y3Rpb25zIHdpbikuICovXG4gIGxhYmVsczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgLyoqIFRoZSBmaW5hbCBpbWFnZSdzIG93biBgVVNFUmAsIG9yIG51bGwgd2hlbiB0aGUgRG9ja2VyZmlsZSBzZXRzIG5vbmUuICovXG4gIGZpbmFsVXNlcjogc3RyaW5nIHwgbnVsbDtcbiAgLyoqXG4gICAqIFRoZSBleHRlcm5hbCBpbWFnZSB0aGUgZmluYWwgc3RhZ2UgaXMgdWx0aW1hdGVseSBidWlsdCBgRlJPTWAgKGZvbGxvd2luZ1xuICAgKiBzdGFnZSBhbGlhc2VzKSwgYXMgd3JpdHRlbjsgbnVsbCB3aGVuIHRoZXJlIGlzIG5vIGBGUk9NYCwgaXQgaXMgYHNjcmF0Y2hgLFxuICAgKiBvciBpdCBkZXBlbmRzIG9uIGEgYnVpbGQgYXJndW1lbnQgKGAkYCksIHdoaWNoIGlzbid0IGtub3duIHN0YXRpY2FsbHkuXG4gICAqL1xuICBiYXNlSW1hZ2U6IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKiBUaGUgZXNjYXBlIGNoYXJhY3RlciBmcm9tIGEgbGVhZGluZyBgIyBlc2NhcGU9YCBkaXJlY3RpdmUgKGRlZmF1bHQgYFxcYCkuICovXG5mdW5jdGlvbiBlc2NhcGVDaGFyT2YobGluZXM6IHN0cmluZ1tdKTogc3RyaW5nIHtcbiAgZm9yIChjb25zdCBsaW5lIG9mIGxpbmVzKSB7XG4gICAgY29uc3QgdCA9IGxpbmUudHJpbSgpO1xuICAgIGlmICh0ID09PSAnJykgY29udGludWU7XG4gICAgY29uc3QgbSA9IC9eI1xccyplc2NhcGVcXHMqPVxccyooW2BcXFxcXSlcXHMqJC9pLmV4ZWModCk7XG4gICAgaWYgKG0pIHJldHVybiBtWzFdITtcbiAgICAvLyBQYXJzZXIgZGlyZWN0aXZlcyBtdXN0IGNvbWUgZmlyc3Q7IGFueSBvdGhlciBkaXJlY3RpdmUtc2hhcGVkIGNvbW1lbnQgaXNcbiAgICAvLyBza2lwcGVkLCBhbnl0aGluZyBlbHNlIGVuZHMgdGhlIGRpcmVjdGl2ZSBibG9jay5cbiAgICBpZiAoIS9eI1xccypcXHcrXFxzKj0vLnRlc3QodCkpIGJyZWFrO1xuICB9XG4gIHJldHVybiAnXFxcXCc7XG59XG5cbi8qKiBQaHlzaWNhbCBsaW5lcyDihpIgbG9naWNhbCBpbnN0cnVjdGlvbnMgKGNvbnRpbnVhdGlvbnMgam9pbmVkLCBjb21tZW50cyBkcm9wcGVkKS4gKi9cbmZ1bmN0aW9uIGxvZ2ljYWxMaW5lcyhjb250ZW50OiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGxpbmVzID0gY29udGVudC5zbGljZSgwLCBNQVhfRE9DS0VSRklMRV9DSEFSUykucmVwbGFjZSgvXFxyXFxuPy9nLCAnXFxuJykuc3BsaXQoJ1xcbicpO1xuICBjb25zdCBlc2MgPSBlc2NhcGVDaGFyT2YobGluZXMpO1xuICBjb25zdCBvdXQ6IHN0cmluZ1tdID0gW107XG4gIGxldCBjdXJyZW50OiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgZm9yIChjb25zdCByYXcgb2YgbGluZXMpIHtcbiAgICBjb25zdCB0cmltbWVkID0gcmF3LnRyaW0oKTtcbiAgICBpZiAoY3VycmVudCA9PT0gbnVsbCAmJiAodHJpbW1lZCA9PT0gJycgfHwgdHJpbW1lZC5zdGFydHNXaXRoKCcjJykpKSBjb250aW51ZTtcbiAgICAvLyBEb2NrZXIgc2tpcHMgY29tbWVudCBhbmQgZW1wdHkgbGluZXMgaW5zaWRlIGEgY29udGludWF0aW9uLlxuICAgIGlmIChjdXJyZW50ICE9PSBudWxsICYmICh0cmltbWVkID09PSAnJyB8fCB0cmltbWVkLnN0YXJ0c1dpdGgoJyMnKSkpIGNvbnRpbnVlO1xuICAgIGNvbnN0IGNvbnRpbnVlZCA9IHJhdy5yZXBsYWNlKC9cXHMrJC8sICcnKS5lbmRzV2l0aChlc2MpO1xuICAgIGNvbnN0IGJvZHkgPSBjb250aW51ZWQgPyByYXcucmVwbGFjZSgvXFxzKyQvLCAnJykuc2xpY2UoMCwgLTEpIDogcmF3O1xuICAgIGN1cnJlbnQgPSBjdXJyZW50ID09PSBudWxsID8gYm9keSA6IGAke2N1cnJlbnR9JHtib2R5fWA7XG4gICAgaWYgKCFjb250aW51ZWQpIHtcbiAgICAgIG91dC5wdXNoKGN1cnJlbnQudHJpbSgpKTtcbiAgICAgIGN1cnJlbnQgPSBudWxsO1xuICAgIH1cbiAgfVxuICBpZiAoY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50LnRyaW0oKSkgb3V0LnB1c2goY3VycmVudC50cmltKCkpO1xuICByZXR1cm4gb3V0O1xufVxuXG4vKipcbiAqIFNwbGl0IGBMQUJFTGAgYXJndW1lbnRzIGludG8gd29yZHMsIGhvbm91cmluZyBkb3VibGUgcXVvdGVzICh3aXRoIGJhY2tzbGFzaFxuICogZXNjYXBlcykgYW5kIHNpbmdsZSBxdW90ZXMgKGxpdGVyYWwpLiBSZXR1cm5zIG51bGwgb24gYW4gdW50ZXJtaW5hdGVkIHF1b3RlLlxuICovXG5mdW5jdGlvbiBzcGxpdFdvcmRzKGFyZ3M6IHN0cmluZyk6IHN0cmluZ1tdIHwgbnVsbCB7XG4gIGNvbnN0IHdvcmRzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgd29yZCA9ICcnO1xuICBsZXQgaW5Xb3JkID0gZmFsc2U7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGMgPSBhcmdzW2ldITtcbiAgICBpZiAoYyA9PT0gJ1wiJykge1xuICAgICAgaW5Xb3JkID0gdHJ1ZTtcbiAgICAgIGxldCBqID0gaSArIDE7XG4gICAgICBmb3IgKDsgaiA8IGFyZ3MubGVuZ3RoICYmIGFyZ3Nbal0gIT09ICdcIic7IGorKykge1xuICAgICAgICBpZiAoYXJnc1tqXSA9PT0gJ1xcXFwnICYmIGogKyAxIDwgYXJncy5sZW5ndGgpIGorKztcbiAgICAgICAgd29yZCArPSBhcmdzW2pdO1xuICAgICAgfVxuICAgICAgaWYgKGogPj0gYXJncy5sZW5ndGgpIHJldHVybiBudWxsO1xuICAgICAgaSA9IGo7XG4gICAgfSBlbHNlIGlmIChjID09PSAnXFwnJykge1xuICAgICAgaW5Xb3JkID0gdHJ1ZTtcbiAgICAgIGNvbnN0IGVuZCA9IGFyZ3MuaW5kZXhPZignXFwnJywgaSArIDEpO1xuICAgICAgaWYgKGVuZCA8IDApIHJldHVybiBudWxsO1xuICAgICAgd29yZCArPSBhcmdzLnNsaWNlKGkgKyAxLCBlbmQpO1xuICAgICAgaSA9IGVuZDtcbiAgICB9IGVsc2UgaWYgKGMgPT09ICdcXFxcJyAmJiBpICsgMSA8IGFyZ3MubGVuZ3RoKSB7XG4gICAgICBpbldvcmQgPSB0cnVlO1xuICAgICAgd29yZCArPSBhcmdzWysraV07XG4gICAgfSBlbHNlIGlmICgvXFxzLy50ZXN0KGMpKSB7XG4gICAgICBpZiAoaW5Xb3JkKSB3b3Jkcy5wdXNoKHdvcmQpO1xuICAgICAgd29yZCA9ICcnO1xuICAgICAgaW5Xb3JkID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluV29yZCA9IHRydWU7XG4gICAgICB3b3JkICs9IGM7XG4gICAgfVxuICB9XG4gIGlmIChpbldvcmQpIHdvcmRzLnB1c2god29yZCk7XG4gIHJldHVybiB3b3Jkcztcbn1cblxuLyoqIFRoZSBga2V5IOKGkiB2YWx1ZWAgcGFpcnMgb2Ygb25lIGBMQUJFTGAgaW5zdHJ1Y3Rpb24ncyBhcmd1bWVudHMuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMYWJlbEFyZ3MoYXJnczogc3RyaW5nKTogQXJyYXk8W3N0cmluZywgc3RyaW5nXT4ge1xuICBjb25zdCB0cmltbWVkID0gYXJncy50cmltKCk7XG4gIC8vIExlZ2FjeSBmb3JtOiBgTEFCRUwga2V5IHZhbHVlIHdpdGggc3BhY2VzYCAobm8gYD1gIGluIHRoZSBmaXJzdCB3b3JkKS5cbiAgY29uc3QgZmlyc3RXb3JkID0gL15cXFMrLy5leGVjKHRyaW1tZWQpPy5bMF0gPz8gJyc7XG4gIGlmIChmaXJzdFdvcmQgJiYgIWZpcnN0V29yZC5pbmNsdWRlcygnPScpKSB7XG4gICAgY29uc3Qgd29yZHMgPSBzcGxpdFdvcmRzKHRyaW1tZWQpO1xuICAgIGlmICghd29yZHMgfHwgd29yZHMubGVuZ3RoIDwgMikgcmV0dXJuIFtdO1xuICAgIHJldHVybiBbW3dvcmRzWzBdISwgd29yZHMuc2xpY2UoMSkuam9pbignICcpXV07XG4gIH1cbiAgY29uc3Qgd29yZHMgPSBzcGxpdFdvcmRzKHRyaW1tZWQpO1xuICBpZiAoIXdvcmRzKSByZXR1cm4gW107XG4gIGNvbnN0IHBhaXJzOiBBcnJheTxbc3RyaW5nLCBzdHJpbmddPiA9IFtdO1xuICBmb3IgKGNvbnN0IHcgb2Ygd29yZHMpIHtcbiAgICBjb25zdCBlcSA9IHcuaW5kZXhPZignPScpO1xuICAgIGlmIChlcSA8PSAwKSBjb250aW51ZTtcbiAgICBwYWlycy5wdXNoKFt3LnNsaWNlKDAsIGVxKSwgdy5zbGljZShlcSArIDEpXSk7XG4gIH1cbiAgcmV0dXJuIHBhaXJzO1xufVxuXG4vKiogUGFyc2Ugd2hhdCBgY29udGVudGAgZGVjbGFyZXMgZm9yIGl0cyBmaW5hbCBpbWFnZS4gTmV2ZXIgdGhyb3dzLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlRG9ja2VyZmlsZShjb250ZW50OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkKTogRG9ja2VyZmlsZUZhY3RzIHtcbiAgY29uc3Qgc3RhZ2VzOiBTdGFnZVtdID0gW107XG4gIGZvciAoY29uc3QgbGluZSBvZiBsb2dpY2FsTGluZXMoY29udGVudCA/PyAnJykpIHtcbiAgICBjb25zdCBtID0gL14oXFxTKylcXHMqKC4qKSQvcy5leGVjKGxpbmUpO1xuICAgIGlmICghbSkgY29udGludWU7XG4gICAgY29uc3QgaW5zdHJ1Y3Rpb24gPSBtWzFdIS50b1VwcGVyQ2FzZSgpO1xuICAgIGNvbnN0IGFyZ3MgPSBtWzJdID8/ICcnO1xuICAgIGlmIChpbnN0cnVjdGlvbiA9PT0gJ0ZST00nKSB7XG4gICAgICAvLyBGUk9NIFstLXBsYXRmb3JtPeKApl0gPGltYWdlPiBbQVMgPG5hbWU+XVxuICAgICAgY29uc3Qgd29yZHMgPSBhcmdzLnNwbGl0KC9cXHMrLykuZmlsdGVyKCh3KSA9PiB3ICYmICF3LnN0YXJ0c1dpdGgoJy0tJykpO1xuICAgICAgY29uc3QgYXNJZHggPSB3b3Jkcy5maW5kSW5kZXgoKHcpID0+IHcudG9Mb3dlckNhc2UoKSA9PT0gJ2FzJyk7XG4gICAgICBzdGFnZXMucHVzaCh7XG4gICAgICAgIGJhc2U6ICh3b3Jkc1swXSA/PyAnJykudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgcmF3QmFzZTogd29yZHNbMF0gPz8gJycsXG4gICAgICAgIGFsaWFzOiBhc0lkeCA+PSAwICYmIHdvcmRzW2FzSWR4ICsgMV0gPyB3b3Jkc1thc0lkeCArIDFdIS50b0xvd2VyQ2FzZSgpIDogbnVsbCxcbiAgICAgICAgbGFiZWxzOiBuZXcgTWFwKCksXG4gICAgICAgIHVzZXI6IG51bGwsXG4gICAgICB9KTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCBzdGFnZSA9IHN0YWdlc1tzdGFnZXMubGVuZ3RoIC0gMV07XG4gICAgaWYgKCFzdGFnZSkgY29udGludWU7IC8vIEluc3RydWN0aW9ucyBiZWZvcmUgdGhlIGZpcnN0IEZST00gKEFSRykgc2V0IG5vdGhpbmcgb24gdGhlIGltYWdlLlxuICAgIGlmIChpbnN0cnVjdGlvbiA9PT0gJ0xBQkVMJykge1xuICAgICAgZm9yIChjb25zdCBbaywgdl0gb2YgcGFyc2VMYWJlbEFyZ3MoYXJncykpIHtcbiAgICAgICAgaWYgKHYuaW5jbHVkZXMoJyQnKSB8fCBrLmluY2x1ZGVzKCckJykpIHtcbiAgICAgICAgICBzdGFnZS5sYWJlbHMuZGVsZXRlKGspO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHN0YWdlLmxhYmVscy5zZXQoaywgdik7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpbnN0cnVjdGlvbiA9PT0gJ1VTRVInKSB7XG4gICAgICBzdGFnZS51c2VyID0gYXJncy50cmltKCkgfHwgbnVsbDtcbiAgICB9XG4gIH1cblxuICBpZiAoc3RhZ2VzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIHsgbGFiZWxzOiB7fSwgZmluYWxVc2VyOiBudWxsLCBiYXNlSW1hZ2U6IG51bGwgfTtcblxuICAvLyBUaGUgZmluYWwgc3RhZ2UsIHByZWNlZGVkIGJ5IHRoZSBjaGFpbiBvZiBlYXJsaWVyIHN0YWdlcyBpdCBpcyBidWlsdCBGUk9NXG4gIC8vIChpdHMgb3duIGNvbnRlbnQsIG5vdCBhIGJhc2UgaW1hZ2UncyksIG9sZGVzdCBmaXJzdC5cbiAgY29uc3QgY2hhaW46IFN0YWdlW10gPSBbXTtcbiAgbGV0IGN1cnNvcjogU3RhZ2UgfCB1bmRlZmluZWQgPSBzdGFnZXNbc3RhZ2VzLmxlbmd0aCAtIDFdO1xuICBjb25zdCBzZWVuID0gbmV3IFNldDxTdGFnZT4oKTtcbiAgd2hpbGUgKGN1cnNvciAmJiAhc2Vlbi5oYXMoY3Vyc29yKSkge1xuICAgIHNlZW4uYWRkKGN1cnNvcik7XG4gICAgY2hhaW4udW5zaGlmdChjdXJzb3IpO1xuICAgIGNvbnN0IGJhc2U6IHN0cmluZyA9IGN1cnNvci5iYXNlO1xuICAgIGNvbnN0IGlkeCA9IHN0YWdlcy5pbmRleE9mKGN1cnNvcik7XG4gICAgY3Vyc29yID0gc3RhZ2VzLnNsaWNlKDAsIGlkeCkucmV2ZXJzZSgpLmZpbmQoKHMpID0+IHMuYWxpYXMgIT09IG51bGwgJiYgcy5hbGlhcyA9PT0gYmFzZSk7XG4gIH1cblxuICBjb25zdCBsYWJlbHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgbGV0IGZpbmFsVXNlcjogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gIGZvciAoY29uc3QgcyBvZiBjaGFpbikge1xuICAgIGZvciAoY29uc3QgW2ssIHZdIG9mIHMubGFiZWxzKSBsYWJlbHNba10gPSB2O1xuICAgIGlmIChzLnVzZXIgIT09IG51bGwpIGZpbmFsVXNlciA9IHMudXNlcjtcbiAgfVxuICBjb25zdCByb290ID0gY2hhaW5bMF0hLnJhd0Jhc2U7XG4gIGNvbnN0IGJhc2VJbWFnZSA9IHJvb3QgPT09ICcnIHx8IHJvb3QuaW5jbHVkZXMoJyQnKSB8fCByb290LnRvTG93ZXJDYXNlKCkgPT09ICdzY3JhdGNoJyA/IG51bGwgOiByb290O1xuICByZXR1cm4geyBsYWJlbHMsIGZpbmFsVXNlciwgYmFzZUltYWdlIH07XG59XG5cbi8qKiBUaGUgT0NJIGFubm90YXRpb24ga2V5cyB0aGUgY2F0YWxvZyByZWFkcy4gKi9cbmV4cG9ydCBjb25zdCBPQ0lfTEFCRUxTID0ge1xuICB0aXRsZTogJ29yZy5vcGVuY29udGFpbmVycy5pbWFnZS50aXRsZScsXG4gIGRlc2NyaXB0aW9uOiAnb3JnLm9wZW5jb250YWluZXJzLmltYWdlLmRlc2NyaXB0aW9uJyxcbiAgbGljZW5zZXM6ICdvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UubGljZW5zZXMnLFxuICB1cmw6ICdvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UudXJsJyxcbiAgc291cmNlOiAnb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnNvdXJjZScsXG4gIGRvY3VtZW50YXRpb246ICdvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuZG9jdW1lbnRhdGlvbicsXG59IGFzIGNvbnN0O1xuIl19
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9ja2VyZmlsZS1zdGF0aWMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL2RvY2tlcmZpbGUtc3RhdGljLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEM7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUVILHlGQUF5RjtBQUN6RixNQUFNLG9CQUFvQixHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUM7QUE0QnhDLCtFQUErRTtBQUMvRSxTQUFTLFlBQVksQ0FBQyxLQUFlO0lBQ25DLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7UUFDekIsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFBRSxTQUFTO1FBQ3ZCLE1BQU0sQ0FBQyxHQUFHLGdDQUFnQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuRCxJQUFJLENBQUM7WUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUUsQ0FBQztRQUNwQiwyRUFBMkU7UUFDM0UsbURBQW1EO1FBQ25ELElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUFFLE1BQU07SUFDckMsQ0FBQztJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQztBQUVELHNGQUFzRjtBQUN0RixTQUFTLFlBQVksQ0FBQyxPQUFlO0lBQ25DLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLG9CQUFvQixDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekYsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hDLE1BQU0sR0FBRyxHQUFhLEVBQUUsQ0FBQztJQUN6QixJQUFJLE9BQU8sR0FBa0IsSUFBSSxDQUFD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O0lBQzdDLEdBQUcsRUFBRSw4QkFBOEI7SUFDbkMsTUFBTSxFQUFFLGlDQUFpQztJQUN6QyxhQUFhLEVBQUUsd0NBQXdDO0NBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuLyoqXG4gKiBTVEFUSUMgcmVhZGluZyBvZiBhIHBsdWdpbidzIG93biBEb2NrZXJmaWxlIChjYXRhbG9nIGRldGVjdGlvbiBhbmQgdGhlXG4gKiBgcnVuQXNSb290YCBjb21wbGlhbmNlIGZhY3QpOiBpdHMgYExBQkVMYCBpbnN0cnVjdGlvbnMgYW5kIGl0cyBmaW5hbCBgVVNFUmAsIHdpdGhvdXRcbiAqIGJ1aWxkaW5nIGFueXRoaW5nLlxuICpcbiAqIC0gT25seSB0aGUgcGx1Z2luJ3MgT1dOIGluc3RydWN0aW9ucyBjb3VudC4gVGhlIGJ1aWx0IGltYWdlJ3MgY29uZmlnIGFsc29cbiAqICAgY2FycmllcyBldmVyeSBsYWJlbCBpbmhlcml0ZWQgZnJvbSBpdHMgYmFzZSBpbWFnZSwgYW5kIHRob3NlIGRlc2NyaWJlIHRoZVxuICogICBiYXNlIGltYWdlLCBub3QgdGhlIHBsdWdpbiDigJQgc28gbGFiZWxzIGFyZSBuZXZlciByZWFkIGZyb20gYW4gaW1hZ2UuXG4gKiAtIE9ubHkgdGhlIEZJTkFMIHN0YWdlIGNvdW50cyAocGx1cyBhbnkgZWFybGllciBzdGFnZSBpdCBpcyBidWlsdCBgRlJPTWApOlxuICogICBsYWJlbHMgYW5kIGBVU0VSYCBzZXQgaW4gYSBkaXNjYXJkZWQgYnVpbGQgc3RhZ2UgbmV2ZXIgcmVhY2ggdGhlIGltYWdlLlxuICogLSBBIHZhbHVlIGNvbnRhaW5pbmcgYCRgIGlzIGlnbm9yZWQ6IGJ1aWxkIGFyZ3VtZW50cyBhcmVuJ3Qga25vd24gYXQgdXBsb2FkLFxuICogICBzbyB0aGUgc3RhdGljIHRleHQgaXMgbm90IHdoYXQgdGhlIGltYWdlIHdvdWxkIGNhcnJ5LlxuICogLSBWYWx1ZXMgYXJlIHVudHJ1c3RlZCB0ZXh0LCBleGFjdGx5IGxpa2UgdGhlIHNwZWMuXG4gKlxuICogSGFuZGxlcyB0aGUgYCMgZXNjYXBlPWAgcGFyc2VyIGRpcmVjdGl2ZSwgbGluZSBjb250aW51YXRpb25zICh3aXRoIGNvbW1lbnRcbiAqIGxpbmVzIGluc2lkZSBhIGNvbnRpbnVhdGlvbiBza2lwcGVkLCBhcyBEb2NrZXIgZG9lcyksIGBrZXk9dmFsdWVgIHBhaXJzIHdpdGhcbiAqIGRvdWJsZSBxdW90ZXMgKGJhY2tzbGFzaCBlc2NhcGVzKSBvciBzaW5nbGUgcXVvdGVzIChsaXRlcmFsKSwgYW5kIHRoZSBsZWdhY3lcbiAqIGBMQUJFTCBrZXkgdmFsdWVgIGZvcm0uXG4gKi9cblxuLyoqIE1heCBEb2NrZXJmaWxlIHRleHQgcmVhZCAoYnl0ZXMpLiBMYXJnZXIgaW5wdXRzIGFyZSB0cnVuY2F0ZWQsIG5ldmVyIHBhcnNlZCB3aG9sZS4gKi9cbmNvbnN0IE1BWF9ET0NLRVJGSUxFX0NIQVJTID0gMjU2ICogMTAyNDtcblxuaW50ZXJmYWNlIFN0YWdlIHtcbiAgLyoqIExvd2VyY2FzZWQgYEFTYCBhbGlhcywgaWYgYW55LiAqL1xuICBhbGlhczogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIExvd2VyY2FzZWQgYmFzZSByZWZlcmVuY2UgKGBGUk9NIDxiYXNlPmApLiAqL1xuICBiYXNlOiBzdHJpbmc7XG4gIC8qKiBUaGUgYmFzZSByZWZlcmVuY2UgYXMgd3JpdHRlbiAoaW1hZ2UgcmVmcyBhcmUgY2FzZS1zZW5zaXRpdmUgaW4gdGFncykuICovXG4gIHJhd0Jhc2U6IHN0cmluZztcbiAgbGFiZWxzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuICAvKiogTGFzdCBgVVNFUmAgaW4gdGhlIHN0YWdlIChyYXcpLCBvciBudWxsIHdoZW4gdGhlIHN0YWdlIHNldHMgbm9uZS4gKi9cbiAgdXNlcjogc3RyaW5nIHwgbnVsbDtcbn1cblxuLyoqIFdoYXQgdGhlIHBsdWdpbidzIERvY2tlcmZpbGUgaXRzZWxmIGRlY2xhcmVzIGZvciBpdHMgZmluYWwgaW1hZ2UuICovXG5leHBvcnQgaW50ZXJmYWNlIERvY2tlcmZpbGVGYWN0cyB7XG4gIC8qKiBUaGUgZmluYWwgaW1hZ2UncyBvd24gbGFiZWxzIChsYXRlciBpbnN0cnVjdGlvbnMgd2luKS4gKi9cbiAgbGFiZWxzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKiogVGhlIGZpbmFsIGltYWdlJ3Mgb3duIGBVU0VSYCwgb3IgbnVsbCB3aGVuIHRoZSBEb2NrZXJmaWxlIHNldHMgbm9uZS4gKi9cbiAgZmluYWxVc2VyOiBzdHJpbmcgfCBudWxsO1xuICAvKipcbiAgICogVGhlIGV4dGVybmFsIGltYWdlIHRoZSBmaW5hbCBzdGFnZSBpcyB1bHRpbWF0ZWx5IGJ1aWx0IGBGUk9NYCAoZm9sbG93aW5nXG4gICAqIHN0YWdlIGFsaWFzZXMpLCBhcyB3cml0dGVuOyBudWxsIHdoZW4gdGhlcmUgaXMgbm8gYEZST01gLCBpdCBpcyBgc2NyYXRjaGAsXG4gICAqIG9yIGl0IGRlcGVuZHMgb24gYSBidWlsZCBhcmd1bWVudCAoYCRgKSwgd2hpY2ggaXNuJ3Qga25vd24gc3RhdGljYWxseS5cbiAgICovXG4gIGJhc2VJbWFnZTogc3RyaW5nIHwgbnVsbDtcbn1cblxuLyoqIFRoZSBlc2NhcGUgY2hhcmFjdGVyIGZyb20gYSBsZWFkaW5nIGAjIGVzY2FwZT1gIGRpcmVjdGl2ZSAoZGVmYXVsdCBgXFxgKS4gKi9cbmZ1bmN0aW9uIGVzY2FwZUNoYXJPZihsaW5lczogc3RyaW5nW10pOiBzdHJpbmcge1xuICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICBjb25zdCB0ID0gbGluZS50cmltKCk7XG4gICAgaWYgKHQgPT09ICcnKSBjb250aW51ZTtcbiAgICBjb25zdCBtID0gL14jXFxzKmVzY2FwZVxccyo9XFxzKihbYFxcXFxdKVxccyokL2kuZXhlYyh0KTtcbiAgICBpZiAobSkgcmV0dXJuIG1bMV0hO1xuICAgIC8vIFBhcnNlciBkaXJlY3RpdmVzIG11c3QgY29tZSBmaXJzdDsgYW55IG90aGVyIGRpcmVjdGl2ZS1zaGFwZWQgY29tbWVudCBpc1xuICAgIC8vIHNraXBwZWQsIGFueXRoaW5nIGVsc2UgZW5kcyB0aGUgZGlyZWN0aXZlIGJsb2NrLlxuICAgIGlmICghL14jXFxzKlxcdytcXHMqPS8udGVzdCh0KSkgYnJlYWs7XG4gIH1cbiAgcmV0dXJuICdcXFxcJztcbn1cblxuLyoqIFBoeXNpY2FsIGxpbmVzIOKGkiBsb2dpY2FsIGluc3RydWN0aW9ucyAoY29udGludWF0aW9ucyBqb2luZWQsIGNvbW1lbnRzIGRyb3BwZWQpLiAqL1xuZnVuY3Rpb24gbG9naWNhbExpbmVzKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgY29uc3QgbGluZXMgPSBjb250ZW50LnNsaWNlKDAsIE1BWF9ET0NLRVJGSUxFX0NIQVJTKS5yZXBsYWNlKC9cXHJcXG4/L2csICdcXG4nKS5zcGxpdCgnXFxuJyk7XG4gIGNvbnN0IGVzYyA9IGVzY2FwZUNoYXJPZihsaW5lcyk7XG4gIGNvbnN0IG91dDogc3RyaW5nW10gPSBbXTtcbiAgbGV0IGN1cnJlbnQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICBmb3IgKGNvbnN0IHJhdyBvZiBsaW5lcykge1xuICAgIGNvbnN0IHRyaW1tZWQgPSByYXcudHJpbSgpO1xuICAgIGlmIChjdXJyZW50ID09PSBudWxsICYmICh0cmltbWVkID09PSAnJyB8fCB0cmltbWVkLnN0YXJ0c1dpdGgoJyMnKSkpIGNvbnRpbnVlO1xuICAgIC8vIERvY2tlciBza2lwcyBjb21tZW50IGFuZCBlbXB0eSBsaW5lcyBpbnNpZGUgYSBjb250aW51YXRpb24uXG4gICAgaWYgKGN1cnJlbnQgIT09IG51bGwgJiYgKHRyaW1tZWQgPT09ICcnIHx8IHRyaW1tZWQuc3RhcnRzV2l0aCgnIycpKSkgY29udGludWU7XG4gICAgY29uc3QgY29udGludWVkID0gcmF3LnJlcGxhY2UoL1xccyskLywgJycpLmVuZHNXaXRoKGVzYyk7XG4gICAgY29uc3QgYm9keSA9IGNvbnRpbnVlZCA/IHJhdy5yZXBsYWNlKC9cXHMrJC8sICcnKS5zbGljZSgwLCAtMSkgOiByYXc7XG4gICAgY3VycmVudCA9IGN1cnJlbnQgPT09IG51bGwgPyBib2R5IDogYCR7Y3VycmVudH0ke2JvZHl9YDtcbiAgICBpZiAoIWNvbnRpbnVlZCkge1xuICAgICAgb3V0LnB1c2goY3VycmVudC50cmltKCkpO1xuICAgICAgY3VycmVudCA9IG51bGw7XG4gICAgfVxuICB9XG4gIGlmIChjdXJyZW50ICE9PSBudWxsICYmIGN1cnJlbnQudHJpbSgpKSBvdXQucHVzaChjdXJyZW50LnRyaW0oKSk7XG4gIHJldHVybiBvdXQ7XG59XG5cbi8qKlxuICogU3BsaXQgYExBQkVMYCBhcmd1bWVudHMgaW50byB3b3JkcywgaG9ub3VyaW5nIGRvdWJsZSBxdW90ZXMgKHdpdGggYmFja3NsYXNoXG4gKiBlc2NhcGVzKSBhbmQgc2luZ2xlIHF1b3RlcyAobGl0ZXJhbCkuIFJldHVybnMgbnVsbCBvbiBhbiB1bnRlcm1pbmF0ZWQgcXVvdGUuXG4gKi9cbmZ1bmN0aW9uIHNwbGl0V29yZHMoYXJnczogc3RyaW5nKTogc3RyaW5nW10gfCBudWxsIHtcbiAgY29uc3Qgd29yZHM6IHN0cmluZ1tdID0gW107XG4gIGxldCB3b3JkID0gJyc7XG4gIGxldCBpbldvcmQgPSBmYWxzZTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgYyA9IGFyZ3NbaV0hO1xuICAgIGlmIChjID09PSAnXCInKSB7XG4gICAgICBpbldvcmQgPSB0cnVlO1xuICAgICAgbGV0IGogPSBpICsgMTtcbiAgICAgIGZvciAoOyBqIDwgYXJncy5sZW5ndGggJiYgYXJnc1tqXSAhPT0gJ1wiJzsgaisrKSB7XG4gICAgICAgIGlmIChhcmdzW2pdID09PSAnXFxcXCcgJiYgaiArIDEgPCBhcmdzLmxlbmd0aCkgaisrO1xuICAgICAgICB3b3JkICs9IGFyZ3Nbal07XG4gICAgICB9XG4gICAgICBpZiAoaiA+PSBhcmdzLmxlbmd0aCkgcmV0dXJuIG51bGw7XG4gICAgICBpID0gajtcbiAgICB9IGVsc2UgaWYgKGMgPT09ICdcXCcnKSB7XG4gICAgICBpbldvcmQgPSB0cnVlO1xuICAgICAgY29uc3QgZW5kID0gYXJncy5pbmRleE9mKCdcXCcnLCBpICsgMSk7XG4gICAgICBpZiAoZW5kIDwgMCkgcmV0dXJuIG51bGw7XG4gICAgICB3b3JkICs9IGFyZ3Muc2xpY2UoaSArIDEsIGVuZCk7XG4gICAgICBpID0gZW5kO1xuICAgIH0gZWxzZSBpZiAoYyA9PT0gJ1xcXFwnICYmIGkgKyAxIDwgYXJncy5sZW5ndGgpIHtcbiAgICAgIGluV29yZCA9IHRydWU7XG4gICAgICB3b3JkICs9IGFyZ3NbKytpXTtcbiAgICB9IGVsc2UgaWYgKC9cXHMvLnRlc3QoYykpIHtcbiAgICAgIGlmIChpbldvcmQpIHdvcmRzLnB1c2god29yZCk7XG4gICAgICB3b3JkID0gJyc7XG4gICAgICBpbldvcmQgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaW5Xb3JkID0gdHJ1ZTtcbiAgICAgIHdvcmQgKz0gYztcbiAgICB9XG4gIH1cbiAgaWYgKGluV29yZCkgd29yZHMucHVzaCh3b3JkKTtcbiAgcmV0dXJuIHdvcmRzO1xufVxuXG4vKiogVGhlIGBrZXkg4oaSIHZhbHVlYCBwYWlycyBvZiBvbmUgYExBQkVMYCBpbnN0cnVjdGlvbidzIGFyZ3VtZW50cy4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUxhYmVsQXJncyhhcmdzOiBzdHJpbmcpOiBBcnJheTxbc3RyaW5nLCBzdHJpbmddPiB7XG4gIGNvbnN0IHRyaW1tZWQgPSBhcmdzLnRyaW0oKTtcbiAgLy8gTGVnYWN5IGZvcm06IGBMQUJFTCBrZXkgdmFsdWUgd2l0aCBzcGFjZXNgIChubyBgPWAgaW4gdGhlIGZpcnN0IHdvcmQpLlxuICBjb25zdCBmaXJzdFdvcmQgPSAvXlxcUysvLmV4ZWModHJpbW1lZCk/LlswXSA/PyAnJztcbiAgaWYgKGZpcnN0V29yZCAmJiAhZmlyc3RXb3JkLmluY2x1ZGVzKCc9JykpIHtcbiAgICBjb25zdCB3b3JkcyA9IHNwbGl0V29yZHModHJpbW1lZCk7XG4gICAgaWYgKCF3b3JkcyB8fCB3b3Jkcy5sZW5ndGggPCAyKSByZXR1cm4gW107XG4gICAgcmV0dXJuIFtbd29yZHNbMF0hLCB3b3Jkcy5zbGljZSgxKS5qb2luKCcgJyldXTtcbiAgfVxuICBjb25zdCB3b3JkcyA9IHNwbGl0V29yZHModHJpbW1lZCk7XG4gIGlmICghd29yZHMpIHJldHVybiBbXTtcbiAgY29uc3QgcGFpcnM6IEFycmF5PFtzdHJpbmcsIHN0cmluZ10+ID0gW107XG4gIGZvciAoY29uc3QgdyBvZiB3b3Jkcykge1xuICAgIGNvbnN0IGVxID0gdy5pbmRleE9mKCc9Jyk7XG4gICAgaWYgKGVxIDw9IDApIGNvbnRpbnVlO1xuICAgIHBhaXJzLnB1c2goW3cuc2xpY2UoMCwgZXEpLCB3LnNsaWNlKGVxICsgMSldKTtcbiAgfVxuICByZXR1cm4gcGFpcnM7XG59XG5cbi8qKiBQYXJzZSB3aGF0IGBjb250ZW50YCBkZWNsYXJlcyBmb3IgaXRzIGZpbmFsIGltYWdlLiBOZXZlciB0aHJvd3MuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEb2NrZXJmaWxlKGNvbnRlbnQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBEb2NrZXJmaWxlRmFjdHMge1xuICBjb25zdCBzdGFnZXM6IFN0YWdlW10gPSBbXTtcbiAgZm9yIChjb25zdCBsaW5lIG9mIGxvZ2ljYWxMaW5lcyhjb250ZW50ID8/ICcnKSkge1xuICAgIGNvbnN0IG0gPSAvXihcXFMrKVxccyooLiopJC9zLmV4ZWMobGluZSk7XG4gICAgaWYgKCFtKSBjb250aW51ZTtcbiAgICBjb25zdCBpbnN0cnVjdGlvbiA9IG1bMV0hLnRvVXBwZXJDYXNlKCk7XG4gICAgY29uc3QgYXJncyA9IG1bMl0gPz8gJyc7XG4gICAgaWYgKGluc3RydWN0aW9uID09PSAnRlJPTScpIHtcbiAgICAgIC8vIEZST00gWy0tcGxhdGZvcm094oCmXSA8aW1hZ2U+IFtBUyA8bmFtZT5dXG4gICAgICBjb25zdCB3b3JkcyA9IGFyZ3Muc3BsaXQoL1xccysvKS5maWx0ZXIoKHcpID0+IHcgJiYgIXcuc3RhcnRzV2l0aCgnLS0nKSk7XG4gICAgICBjb25zdCBhc0lkeCA9IHdvcmRzLmZpbmRJbmRleCgodykgPT4gdy50b0xvd2VyQ2FzZSgpID09PSAnYXMnKTtcbiAgICAgIHN0YWdlcy5wdXNoKHtcbiAgICAgICAgYmFzZTogKHdvcmRzWzBdID8/ICcnKS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICByYXdCYXNlOiB3b3Jkc1swXSA/PyAnJyxcbiAgICAgICAgYWxpYXM6IGFzSWR4ID49IDAgJiYgd29yZHNbYXNJZHggKyAxXSA/IHdvcmRzW2FzSWR4ICsgMV0hLnRvTG93ZXJDYXNlKCkgOiBudWxsLFxuICAgICAgICBsYWJlbHM6IG5ldyBNYXAoKSxcbiAgICAgICAgdXNlcjogbnVsbCxcbiAgICAgIH0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IHN0YWdlID0gc3RhZ2VzW3N0YWdlcy5sZW5ndGggLSAxXTtcbiAgICBpZiAoIXN0YWdlKSBjb250aW51ZTsgLy8gSW5zdHJ1Y3Rpb25zIGJlZm9yZSB0aGUgZmlyc3QgRlJPTSAoQVJHKSBzZXQgbm90aGluZyBvbiB0aGUgaW1hZ2UuXG4gICAgaWYgKGluc3RydWN0aW9uID09PSAnTEFCRUwnKSB7XG4gICAgICBmb3IgKGNvbnN0IFtrLCB2XSBvZiBwYXJzZUxhYmVsQXJncyhhcmdzKSkge1xuICAgICAgICBpZiAodi5pbmNsdWRlcygnJCcpIHx8IGsuaW5jbHVkZXMoJyQnKSkge1xuICAgICAgICAgIHN0YWdlLmxhYmVscy5kZWxldGUoayk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgc3RhZ2UubGFiZWxzLnNldChrLCB2KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGluc3RydWN0aW9uID09PSAnVVNFUicpIHtcbiAgICAgIHN0YWdlLnVzZXIgPSBhcmdzLnRyaW0oKSB8fCBudWxsO1xuICAgIH1cbiAgfVxuXG4gIGlmIChzdGFnZXMubGVuZ3RoID09PSAwKSByZXR1cm4geyBsYWJlbHM6IHt9LCBmaW5hbFVzZXI6IG51bGwsIGJhc2VJbWFnZTogbnVsbCB9O1xuXG4gIC8vIFRoZSBmaW5hbCBzdGFnZSwgcHJlY2VkZWQgYnkgdGhlIGNoYWluIG9mIGVhcmxpZXIgc3RhZ2VzIGl0IGlzIGJ1aWx0IEZST01cbiAgLy8gKGl0cyBvd24gY29udGVudCwgbm90IGEgYmFzZSBpbWFnZSdzKSwgb2xkZXN0IGZpcnN0LlxuICBjb25zdCBjaGFpbjogU3RhZ2VbXSA9IFtdO1xuICBsZXQgY3Vyc29yOiBTdGFnZSB8IHVuZGVmaW5lZCA9IHN0YWdlc1tzdGFnZXMubGVuZ3RoIC0gMV07XG4gIGNvbnN0IHNlZW4gPSBuZXcgU2V0PFN0YWdlPigpO1xuICB3aGlsZSAoY3Vyc29yICYmICFzZWVuLmhhcyhjdXJzb3IpKSB7XG4gICAgc2Vlbi5hZGQoY3Vyc29yKTtcbiAgICBjaGFpbi51bnNoaWZ0KGN1cnNvcik7XG4gICAgY29uc3QgYmFzZTogc3RyaW5nID0gY3Vyc29yLmJhc2U7XG4gICAgY29uc3QgaWR4ID0gc3RhZ2VzLmluZGV4T2YoY3Vyc29yKTtcbiAgICBjdXJzb3IgPSBzdGFnZXMuc2xpY2UoMCwgaWR4KS5yZXZlcnNlKCkuZmluZCgocykgPT4gcy5hbGlhcyAhPT0gbnVsbCAmJiBzLmFsaWFzID09PSBiYXNlKTtcbiAgfVxuXG4gIGNvbnN0IGxhYmVsczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuICBsZXQgZmluYWxVc2VyOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcbiAgZm9yIChjb25zdCBzIG9mIGNoYWluKSB7XG4gICAgZm9yIChjb25zdCBbaywgdl0gb2Ygcy5sYWJlbHMpIGxhYmVsc1trXSA9IHY7XG4gICAgaWYgKHMudXNlciAhPT0gbnVsbCkgZmluYWxVc2VyID0gcy51c2VyO1xuICB9XG4gIGNvbnN0IHJvb3QgPSBjaGFpblswXSEucmF3QmFzZTtcbiAgY29uc3QgYmFzZUltYWdlID0gcm9vdCA9PT0gJycgfHwgcm9vdC5pbmNsdWRlcygnJCcpIHx8IHJvb3QudG9Mb3dlckNhc2UoKSA9PT0gJ3NjcmF0Y2gnID8gbnVsbCA6IHJvb3Q7XG4gIHJldHVybiB7IGxhYmVscywgZmluYWxVc2VyLCBiYXNlSW1hZ2UgfTtcbn1cblxuLyoqIFRoZSBPQ0kgYW5ub3RhdGlvbiBrZXlzIHRoZSBjYXRhbG9nIHJlYWRzLiAqL1xuZXhwb3J0IGNvbnN0IE9DSV9MQUJFTFMgPSB7XG4gIHRpdGxlOiAnb3JnLm9wZW5jb250YWluZXJzLmltYWdlLnRpdGxlJyxcbiAgZGVzY3JpcHRpb246ICdvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2UuZGVzY3JpcHRpb24nLFxuICBsaWNlbnNlczogJ29yZy5vcGVuY29udGFpbmVycy5pbWFnZS5saWNlbnNlcycsXG4gIHVybDogJ29yZy5vcGVuY29udGFpbmVycy5pbWFnZS51cmwnLFxuICBzb3VyY2U6ICdvcmcub3BlbmNvbnRhaW5lcnMuaW1hZ2Uuc291cmNlJyxcbiAgZG9jdW1lbnRhdGlvbjogJ29yZy5vcGVuY29udGFpbmVycy5pbWFnZS5kb2N1bWVudGF0aW9uJyxcbn0gYXMgY29uc3Q7XG4iXX0=
|
|
@@ -3,7 +3,7 @@ export * from './pipeline-schemas.js';
|
|
|
3
3
|
export { PipelineTemplateFilterSchema, PipelineTemplateCreateSchema, PipelineTemplateUpdateSchema, InstantiateTemplateSchema, } from './pipeline-template-schemas.js';
|
|
4
4
|
export * from './plugin-schemas.js';
|
|
5
5
|
export { isAllowedSpdxId, projectUrlProblem, validateCatalogField, findContractKeys, contractKeysMessage, ICON_KEY_PATTERN, PluginCatalogEditsSchema, type PluginCatalogEdits, PLUGIN_CONTRACT_FIELDS, } from './plugin-catalog-metadata.js';
|
|
6
|
-
export { isAllowedAttachmentType, MessageTypeSchema, MessagePrioritySchema, MessageFilterSchema, MESSAGE_ATTACHMENT_MAX_BYTES, MESSAGE_ATTACHMENT_ALLOWED_MIME, MessageCreateSchema, MessageReplySchema, MessageEditSchema, } from './message-schemas.js';
|
|
6
|
+
export { isAllowedAttachmentType, MessageTypeSchema, MessagePrioritySchema, MessageSentBySchema, MessageFilterSchema, MESSAGE_ATTACHMENT_MAX_BYTES, MESSAGE_ATTACHMENT_ALLOWED_MIME, MessageCreateSchema, MessageReplySchema, MessageEditSchema, MessageHideSchema, MessageBulkIdsSchema, MessageBulkReadSchema, MESSAGE_BULK_MAX_IDS, } from './message-schemas.js';
|
|
7
7
|
export * from './ai-schemas.js';
|
|
8
8
|
export { validate, validateQuery, validateBody, } from './middleware.js';
|
|
9
9
|
export { isValidEgressHost, checkPluginSpec, checkPluginConfig, pluginSpecRequiredFieldsProblem, PLUGIN_TYPES, PLUGIN_COMPUTE_TYPES, type PluginBuildType, PLUGIN_NAME_PATTERN, PLUGIN_VERSION_PATTERN, type PluginSpecInput, type PackageCheck, } from './plugin-spec-schema.js';
|
package/lib/validation/index.js
CHANGED
|
@@ -5,7 +5,7 @@ export * from './pipeline-schemas.js';
|
|
|
5
5
|
export { PipelineTemplateFilterSchema, PipelineTemplateCreateSchema, PipelineTemplateUpdateSchema, InstantiateTemplateSchema, } from './pipeline-template-schemas.js';
|
|
6
6
|
export * from './plugin-schemas.js';
|
|
7
7
|
export { isAllowedSpdxId, projectUrlProblem, validateCatalogField, findContractKeys, contractKeysMessage, ICON_KEY_PATTERN, PluginCatalogEditsSchema, PLUGIN_CONTRACT_FIELDS, } from './plugin-catalog-metadata.js';
|
|
8
|
-
export { isAllowedAttachmentType, MessageTypeSchema, MessagePrioritySchema, MessageFilterSchema, MESSAGE_ATTACHMENT_MAX_BYTES, MESSAGE_ATTACHMENT_ALLOWED_MIME, MessageCreateSchema, MessageReplySchema, MessageEditSchema, } from './message-schemas.js';
|
|
8
|
+
export { isAllowedAttachmentType, MessageTypeSchema, MessagePrioritySchema, MessageSentBySchema, MessageFilterSchema, MESSAGE_ATTACHMENT_MAX_BYTES, MESSAGE_ATTACHMENT_ALLOWED_MIME, MessageCreateSchema, MessageReplySchema, MessageEditSchema, MessageHideSchema, MessageBulkIdsSchema, MessageBulkReadSchema, MESSAGE_BULK_MAX_IDS, } from './message-schemas.js';
|
|
9
9
|
export * from './ai-schemas.js';
|
|
10
10
|
export { validate, validateQuery, validateBody, } from './middleware.js';
|
|
11
11
|
export { isValidEgressHost, checkPluginSpec, checkPluginConfig, pluginSpecRequiredFieldsProblem, PLUGIN_TYPES, PLUGIN_COMPUTE_TYPES, PLUGIN_NAME_PATTERN, PLUGIN_VERSION_PATTERN, } from './plugin-spec-schema.js';
|
|
@@ -16,4 +16,4 @@ export { lintPluginDockerfile, lintPluginSpec } from './plugin-lint.js';
|
|
|
16
16
|
export * from './plugin-base-images.js';
|
|
17
17
|
export { shannonEntropy, scanPluginSourceHeuristics, blockingHeuristics, HEURISTICS_MAX_FILE_BYTES, HEURISTICS_MAX_FINDINGS, } from './plugin-heuristics.js';
|
|
18
18
|
export { findConfusableName } from './plugin-name-confusable.js';
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixjQUFjLEVBQ2Qsa0JBQWtCLEVBQ2xCLGdCQUFnQixHQUNqQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLHlCQUF5QixHQUMxQixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsT0FBTyxFQUNMLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsb0JBQW9CLEVBQ3BCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUV4QixzQkFBc0IsR0FDdkIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixxQkFBcUIsRUFDckIsbUJBQW1CLEVBQ25CLG1CQUFtQixFQUNuQiw0QkFBNEIsRUFDNUIsK0JBQStCLEVBQy9CLG1CQUFtQixFQUNuQixrQkFBa0IsRUFDbEIsaUJBQWlCLEVBQ2pCLGlCQUFpQixFQUNqQixvQkFBb0IsRUFDcEIscUJBQXFCLEVBQ3JCLG9CQUFvQixHQUNyQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsT0FBTyxFQUNMLFFBQVEsRUFDUixhQUFhLEVBQ2IsWUFBWSxHQUNiLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsaUJBQWlCLEVBQ2pCLCtCQUErQixFQUMvQixZQUFZLEVBQ1osb0JBQW9CLEVBRXBCLG1CQUFtQixFQUNuQixzQkFBc0IsR0FHdkIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLFdBQVcsRUFDWCxvQkFBb0IsRUFDcEIsYUFBYSxFQUNiLHFCQUFxQixFQUNyQixzQkFBc0IsRUFDdEIsd0JBQXdCLEVBQ3hCLGlCQUFpQixFQUNqQixxQkFBcUIsR0FJdEIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsY0FBYyxFQUNkLGVBQWUsRUFDZixVQUFVLEdBQ1gsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLG9CQUFvQixFQUNwQix5QkFBeUIsRUFDekIsMkJBQTJCLEdBRzVCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBMEIsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLE9BQU8sRUFDTCxjQUFjLEVBQ2QsMEJBQTBCLEVBQzFCLGtCQUFrQixFQUtsQix5QkFBeUIsRUFDekIsdUJBQXVCLEdBQ3hCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuZXhwb3J0IHtcbiAgVmlzaWJpbGl0eVNjaGVtYSxcbiAgTUFYX1BBR0VfTElNSVQsXG4gIERFRkFVTFRfUEFHRV9MSU1JVCxcbiAgVVVJRFByZWZpeFNjaGVtYSxcbn0gZnJvbSAnLi9jb21tb24tc2NoZW1hcy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3BpcGVsaW5lLXNjaGVtYXMuanMnO1xuZXhwb3J0IHtcbiAgUGlwZWxpbmVUZW1wbGF0ZUZpbHRlclNjaGVtYSxcbiAgUGlwZWxpbmVUZW1wbGF0ZUNyZWF0ZVNjaGVtYSxcbiAgUGlwZWxpbmVUZW1wbGF0ZVVwZGF0ZVNjaGVtYSxcbiAgSW5zdGFudGlhdGVUZW1wbGF0ZVNjaGVtYSxcbn0gZnJvbSAnLi9waXBlbGluZS10ZW1wbGF0ZS1zY2hlbWFzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vcGx1Z2luLXNjaGVtYXMuanMnO1xuZXhwb3J0IHtcbiAgaXNBbGxvd2VkU3BkeElkLFxuICBwcm9qZWN0VXJsUHJvYmxlbSxcbiAgdmFsaWRhdGVDYXRhbG9nRmllbGQsXG4gIGZpbmRDb250cmFjdEtleXMsXG4gIGNvbnRyYWN0S2V5c01lc3NhZ2UsXG4gIElDT05fS0VZX1BBVFRFUk4sXG4gIFBsdWdpbkNhdGFsb2dFZGl0c1NjaGVtYSxcbiAgdHlwZSBQbHVnaW5DYXRhbG9nRWRpdHMsXG4gIFBMVUdJTl9DT05UUkFDVF9GSUVMRFMsXG59IGZyb20gJy4vcGx1Z2luLWNhdGFsb2ctbWV0YWRhdGEuanMnO1xuZXhwb3J0IHtcbiAgaXNBbGxvd2VkQXR0YWNobWVudFR5cGUsXG4gIE1lc3NhZ2VUeXBlU2NoZW1hLFxuICBNZXNzYWdlUHJpb3JpdHlTY2hlbWEsXG4gIE1lc3NhZ2VTZW50QnlTY2hlbWEsXG4gIE1lc3NhZ2VGaWx0ZXJTY2hlbWEsXG4gIE1FU1NBR0VfQVRUQUNITUVOVF9NQVhfQllURVMsXG4gIE1FU1NBR0VfQVRUQUNITUVOVF9BTExPV0VEX01JTUUsXG4gIE1lc3NhZ2VDcmVhdGVTY2hlbWEsXG4gIE1lc3NhZ2VSZXBseVNjaGVtYSxcbiAgTWVzc2FnZUVkaXRTY2hlbWEsXG4gIE1lc3NhZ2VIaWRlU2NoZW1hLFxuICBNZXNzYWdlQnVsa0lkc1NjaGVtYSxcbiAgTWVzc2FnZUJ1bGtSZWFkU2NoZW1hLFxuICBNRVNTQUdFX0JVTEtfTUFYX0lEUyxcbn0gZnJvbSAnLi9tZXNzYWdlLXNjaGVtYXMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9haS1zY2hlbWFzLmpzJztcbmV4cG9ydCB7XG4gIHZhbGlkYXRlLFxuICB2YWxpZGF0ZVF1ZXJ5LFxuICB2YWxpZGF0ZUJvZHksXG59IGZyb20gJy4vbWlkZGxld2FyZS5qcyc7XG5leHBvcnQge1xuICBpc1ZhbGlkRWdyZXNzSG9zdCxcbiAgY2hlY2tQbHVnaW5TcGVjLFxuICBjaGVja1BsdWdpbkNvbmZpZyxcbiAgcGx1Z2luU3BlY1JlcXVpcmVkRmllbGRzUHJvYmxlbSxcbiAgUExVR0lOX1RZUEVTLFxuICBQTFVHSU5fQ09NUFVURV9UWVBFUyxcbiAgdHlwZSBQbHVnaW5CdWlsZFR5cGUsXG4gIFBMVUdJTl9OQU1FX1BBVFRFUk4sXG4gIFBMVUdJTl9WRVJTSU9OX1BBVFRFUk4sXG4gIHR5cGUgUGx1Z2luU3BlY0lucHV0LFxuICB0eXBlIFBhY2thZ2VDaGVjayxcbn0gZnJvbSAnLi9wbHVnaW4tc3BlYy1zY2hlbWEuanMnO1xuZXhwb3J0IHtcbiAgc3RyaXBJbmxpbmVNYXJrZG93bixcbiAgcmVhZG1lVGl0bGUsXG4gIHJlYWRtZUZpcnN0UGFyYWdyYXBoLFxuICBmaXJzdFNlbnRlbmNlLFxuICBkZXRlY3RDYXRhbG9nTWV0YWRhdGEsXG4gIHJlc29sdmVDYXRhbG9nTWV0YWRhdGEsXG4gIGFjY2VwdEFsbENhdGFsb2dNZXRhZGF0YSxcbiAgcGFyc2VDYXRhbG9nRWRpdHMsXG4gIHBhcnNlQ2F0YWxvZ0VkaXRzUGFydCxcbiAgdHlwZSBEZXRlY3RlZEZpZWxkLFxuICB0eXBlIENhdGFsb2dTcGVjRmllbGRzLFxuICB0eXBlIFJlc29sdmVkQ2F0YWxvZyxcbn0gZnJvbSAnLi9wbHVnaW4tY2F0YWxvZy1kZXRlY3QuanMnO1xuZXhwb3J0IHtcbiAgcGFyc2VMYWJlbEFyZ3MsXG4gIHBhcnNlRG9ja2VyZmlsZSxcbiAgT0NJX0xBQkVMUyxcbn0gZnJvbSAnLi9kb2NrZXJmaWxlLXN0YXRpYy5qcyc7XG5leHBvcnQge1xuICBpc1BsdWdpblRlbXBsYXRhYmxlRmllbGQsXG4gIGNoZWNrUGx1Z2luVGVtcGxhdGVzLFxuICBmb3JtYXRQbHVnaW5UZW1wbGF0ZUlzc3VlLFxuICBQTFVHSU5fVEVNUExBVEVfU0NPUEVfUk9PVFMsXG4gIHR5cGUgUGx1Z2luVGVtcGxhdGVFbmdpbmUsXG4gIHR5cGUgUGx1Z2luVGVtcGxhdGVJc3N1ZSxcbn0gZnJvbSAnLi9wbHVnaW4tdGVtcGxhdGUtY29udHJhY3QuanMnO1xuZXhwb3J0IHsgbGludFBsdWdpbkRvY2tlcmZpbGUsIGxpbnRQbHVnaW5TcGVjLCB0eXBlIFBsdWdpbkxpbnRGaW5kaW5nIH0gZnJvbSAnLi9wbHVnaW4tbGludC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL3BsdWdpbi1iYXNlLWltYWdlcy5qcyc7XG5leHBvcnQge1xuICBzaGFubm9uRW50cm9weSxcbiAgc2NhblBsdWdpblNvdXJjZUhldXJpc3RpY3MsXG4gIGJsb2NraW5nSGV1cmlzdGljcyxcbiAgdHlwZSBIZXVyaXN0aWNTZXZlcml0eSxcbiAgdHlwZSBIZXVyaXN0aWNGaW5kaW5nLFxuICB0eXBlIEhldXJpc3RpY3NSZXBvcnQsXG4gIHR5cGUgSGV1cmlzdGljc0lucHV0RmlsZSxcbiAgSEVVUklTVElDU19NQVhfRklMRV9CWVRFUyxcbiAgSEVVUklTVElDU19NQVhfRklORElOR1MsXG59IGZyb20gJy4vcGx1Z2luLWhldXJpc3RpY3MuanMnO1xuZXhwb3J0IHsgZmluZENvbmZ1c2FibGVOYW1lIH0gZnJvbSAnLi9wbHVnaW4tbmFtZS1jb25mdXNhYmxlLmpzJztcbiJdfQ==
|
|
@@ -14,6 +14,14 @@ export declare const MessagePrioritySchema: z.ZodEnum<{
|
|
|
14
14
|
normal: "normal";
|
|
15
15
|
urgent: "urgent";
|
|
16
16
|
}>;
|
|
17
|
+
/**
|
|
18
|
+
* Sender filter, relative to the viewer (see `MESSAGE_SENT_BY`).
|
|
19
|
+
*/
|
|
20
|
+
export declare const MessageSentBySchema: z.ZodEnum<{
|
|
21
|
+
me: "me";
|
|
22
|
+
org: "org";
|
|
23
|
+
others: "others";
|
|
24
|
+
}>;
|
|
17
25
|
/**
|
|
18
26
|
* Channel/inbox-bucket schema. Open-ended string up to 50 chars so we
|
|
19
27
|
* can add new channels (support, help, billing, …) without a schema
|
|
@@ -56,6 +64,8 @@ export declare const MessageFilterSchema: z.ZodObject<{
|
|
|
56
64
|
experimental: "experimental";
|
|
57
65
|
production: "production";
|
|
58
66
|
}>>;
|
|
67
|
+
senderUserId: z.ZodOptional<z.ZodString>;
|
|
68
|
+
counterpartyOrgId: z.ZodOptional<z.ZodString>;
|
|
59
69
|
threadId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<"root">, z.ZodNull]>>;
|
|
60
70
|
recipientOrgId: z.ZodOptional<z.ZodString>;
|
|
61
71
|
messageType: z.ZodOptional<z.ZodEnum<{
|
|
@@ -72,6 +82,15 @@ export declare const MessageFilterSchema: z.ZodObject<{
|
|
|
72
82
|
urgent: "urgent";
|
|
73
83
|
}>>;
|
|
74
84
|
channel: z.ZodOptional<z.ZodString>;
|
|
85
|
+
sentBy: z.ZodOptional<z.ZodEnum<{
|
|
86
|
+
me: "me";
|
|
87
|
+
org: "org";
|
|
88
|
+
others: "others";
|
|
89
|
+
}>>;
|
|
90
|
+
hidden: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodPipe<z.ZodEnum<{
|
|
91
|
+
false: "false";
|
|
92
|
+
true: "true";
|
|
93
|
+
}>, z.ZodTransform<boolean, "false" | "true">>, z.ZodPipe<z.ZodString, z.ZodTransform<boolean, string>>]>>;
|
|
75
94
|
search: z.ZodOptional<z.ZodString>;
|
|
76
95
|
}, z.core.$strip>;
|
|
77
96
|
/**
|
|
@@ -151,3 +170,57 @@ export declare const MessageReplySchema: z.ZodObject<{
|
|
|
151
170
|
export declare const MessageEditSchema: z.ZodObject<{
|
|
152
171
|
content: z.ZodString;
|
|
153
172
|
}, z.core.$strip>;
|
|
173
|
+
/** Most rows one bulk call (hide / unhide / read / delete) may name; a page of checkboxes is 25. */
|
|
174
|
+
export declare const MESSAGE_BULK_MAX_IDS = 200;
|
|
175
|
+
/**
|
|
176
|
+
* Bulk "remove from my inbox", scoped by the SAME filters the list takes —
|
|
177
|
+
* optionally narrowed further to an explicit `ids` selection (the inbox's
|
|
178
|
+
* checkboxes).
|
|
179
|
+
*
|
|
180
|
+
* Every field is optional and every one NARROWS: an empty body means "the whole
|
|
181
|
+
* tab". There is deliberately no `orgId` — the org comes from the authenticated
|
|
182
|
+
* route. `ids` cannot widen anything either: it is AND-ed with the same
|
|
183
|
+
* visibility conditions the list uses, so naming a row the caller cannot see
|
|
184
|
+
* simply matches nothing, and the write only ever stamps the caller's OWN
|
|
185
|
+
* `hiddenBy[orgId]`.
|
|
186
|
+
*/
|
|
187
|
+
export declare const MessageHideSchema: z.ZodObject<{
|
|
188
|
+
senderUserId: z.ZodOptional<z.ZodString>;
|
|
189
|
+
counterpartyOrgId: z.ZodOptional<z.ZodString>;
|
|
190
|
+
ids: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
191
|
+
messageType: z.ZodOptional<z.ZodEnum<{
|
|
192
|
+
announcement: "announcement";
|
|
193
|
+
conversation: "conversation";
|
|
194
|
+
}>>;
|
|
195
|
+
isRead: z.ZodOptional<z.ZodBoolean>;
|
|
196
|
+
priority: z.ZodOptional<z.ZodEnum<{
|
|
197
|
+
high: "high";
|
|
198
|
+
normal: "normal";
|
|
199
|
+
urgent: "urgent";
|
|
200
|
+
}>>;
|
|
201
|
+
channel: z.ZodOptional<z.ZodString>;
|
|
202
|
+
sentBy: z.ZodOptional<z.ZodEnum<{
|
|
203
|
+
me: "me";
|
|
204
|
+
org: "org";
|
|
205
|
+
others: "others";
|
|
206
|
+
}>>;
|
|
207
|
+
search: z.ZodOptional<z.ZodString>;
|
|
208
|
+
}, z.core.$strip>;
|
|
209
|
+
/**
|
|
210
|
+
* `POST /messages/unhide` and `POST /messages/delete`: the ticked rows.
|
|
211
|
+
* Ids only — never a filter: restoring is the undo of a specific removal, and
|
|
212
|
+
* delete is per-row author-only, so neither may run against "everything
|
|
213
|
+
* matching".
|
|
214
|
+
*/
|
|
215
|
+
export declare const MessageBulkIdsSchema: z.ZodObject<{
|
|
216
|
+
ids: z.ZodArray<z.ZodString>;
|
|
217
|
+
}, z.core.$strip>;
|
|
218
|
+
/**
|
|
219
|
+
* `POST /messages/read` — set THIS org's read state on the ticked rows.
|
|
220
|
+
* `isRead: true` also marks each thread's replies read (as opening it does);
|
|
221
|
+
* `false` clears the root's stamp only, which is what puts it back to unread.
|
|
222
|
+
*/
|
|
223
|
+
export declare const MessageBulkReadSchema: z.ZodObject<{
|
|
224
|
+
ids: z.ZodArray<z.ZodString>;
|
|
225
|
+
isRead: z.ZodBoolean;
|
|
226
|
+
}, z.core.$strip>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { z } from 'zod';
|
|
4
4
|
import { BaseFilterSchema, BooleanQuerySchema } from './common-schemas.js';
|
|
5
|
-
import { MESSAGE_PRIORITIES, MESSAGE_TYPES } from '../types/wire-vocabulary.js';
|
|
5
|
+
import { MESSAGE_PRIORITIES, MESSAGE_SENT_BY, MESSAGE_TYPES } from '../types/wire-vocabulary.js';
|
|
6
6
|
import { envInt } from '../utils/env.js';
|
|
7
7
|
/**
|
|
8
8
|
* Message type schema
|
|
@@ -12,6 +12,10 @@ export const MessageTypeSchema = z.enum(MESSAGE_TYPES);
|
|
|
12
12
|
* Message priority schema
|
|
13
13
|
*/
|
|
14
14
|
export const MessagePrioritySchema = z.enum(MESSAGE_PRIORITIES);
|
|
15
|
+
/**
|
|
16
|
+
* Sender filter, relative to the viewer (see `MESSAGE_SENT_BY`).
|
|
17
|
+
*/
|
|
18
|
+
export const MessageSentBySchema = z.enum(MESSAGE_SENT_BY);
|
|
15
19
|
/**
|
|
16
20
|
* Channel/inbox-bucket schema. Open-ended string up to 50 chars so we
|
|
17
21
|
* can add new channels (support, help, billing, …) without a schema
|
|
@@ -19,6 +23,18 @@ export const MessagePrioritySchema = z.enum(MESSAGE_PRIORITIES);
|
|
|
19
23
|
* to keep filter conditions trivially indexable.
|
|
20
24
|
*/
|
|
21
25
|
export const MessageChannelSchema = z.string().min(1).max(50).regex(/^[a-z0-9_-]+$/);
|
|
26
|
+
/**
|
|
27
|
+
* Narrowing by a SPECIFIC party, shared by the list query and the bulk hide:
|
|
28
|
+
* - `senderUserId` — rows that user authored (`created_by`).
|
|
29
|
+
* - `counterpartyOrgId` — rows exchanged with that org (it sent them or
|
|
30
|
+
* received them).
|
|
31
|
+
* Both are AND-ed onto the visibility scope, so naming a user or org the
|
|
32
|
+
* caller has never corresponded with simply matches nothing.
|
|
33
|
+
*/
|
|
34
|
+
const MessagePartyFilterFields = {
|
|
35
|
+
senderUserId: z.string().trim().min(1).max(255).optional(),
|
|
36
|
+
counterpartyOrgId: z.string().trim().min(1).max(255).optional(),
|
|
37
|
+
};
|
|
22
38
|
/**
|
|
23
39
|
* Message filter schema for query parameters.
|
|
24
40
|
*
|
|
@@ -40,6 +56,12 @@ export const MessageFilterSchema = BaseFilterSchema.extend({
|
|
|
40
56
|
isRead: BooleanQuerySchema.optional(),
|
|
41
57
|
priority: MessagePrioritySchema.optional(),
|
|
42
58
|
channel: MessageChannelSchema.optional(),
|
|
59
|
+
sentBy: MessageSentBySchema.optional(),
|
|
60
|
+
...MessagePartyFilterFields,
|
|
61
|
+
// `true` lists what THIS org removed from its inbox (the "Removed" view)
|
|
62
|
+
// instead of the inbox itself. It never widens visibility — it only flips
|
|
63
|
+
// which side of the org's own `hiddenBy` stamp is shown.
|
|
64
|
+
hidden: BooleanQuerySchema.optional(),
|
|
43
65
|
// Free-text inbox search over subject/content. Bounded so a pathological term
|
|
44
66
|
// can't blow up the LIKE; the query builder escapes wildcards + ignores blanks.
|
|
45
67
|
search: z.string().trim().min(1).max(200).optional(),
|
|
@@ -156,4 +178,43 @@ export const MessageReplySchema = z.object({
|
|
|
156
178
|
export const MessageEditSchema = z.object({
|
|
157
179
|
content: z.string().min(1, 'Content is required').max(MESSAGE_CONTENT_MAX, `Content must be at most ${MESSAGE_CONTENT_MAX} characters`),
|
|
158
180
|
});
|
|
159
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zY2hlbWFzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb24vbWVzc2FnZS1zY2hlbWFzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUErQztBQUMvQyxzQ0FBc0M7QUFFdEMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssQ0FBQztBQUN4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDaEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUVoRTs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUVyRjs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQ3pELFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7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QUUsbUJBQW1CO0NBQ25DLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN6QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsMkJBQTJCLG1CQUFtQixhQUFhLENBQUM7SUFDdkksYUFBYSxFQUFFLG1CQUFtQjtDQUNuQyxDQUFDLENBQUM7QUFFSDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUN4QyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsMkJBQTJCLG1CQUFtQixhQUFhLENBQUM7Q0FDeEksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IHogfSBmcm9tICd6b2QnO1xuaW1wb3J0IHsgQmFzZUZpbHRlclNjaGVtYSwgQm9vbGVhblF1ZXJ5U2NoZW1hIH0gZnJvbSAnLi9jb21tb24tc2NoZW1hcy5qcyc7XG5pbXBvcnQgeyBNRVNTQUdFX1BSSU9SSVRJRVMsIE1FU1NBR0VfVFlQRVMgfSBmcm9tICcuLi90eXBlcy93aXJlLXZvY2FidWxhcnkuanMnO1xuaW1wb3J0IHsgZW52SW50IH0gZnJvbSAnLi4vdXRpbHMvZW52LmpzJztcblxuLyoqXG4gKiBNZXNzYWdlIHR5cGUgc2NoZW1hXG4gKi9cbmV4cG9ydCBjb25zdCBNZXNzYWdlVHlwZVNjaGVtYSA9IHouZW51bShNRVNTQUdFX1RZUEVTKTtcblxuLyoqXG4gKiBNZXNzYWdlIHByaW9yaXR5IHNjaGVtYVxuICovXG5leHBvcnQgY29uc3QgTWVzc2FnZVByaW9yaXR5U2NoZW1hID0gei5lbnVtKE1FU1NBR0VfUFJJT1JJVElFUyk7XG5cbi8qKlxuICogQ2hhbm5lbC9pbmJveC1idWNrZXQgc2NoZW1hLiBPcGVuLWVuZGVkIHN0cmluZyB1cCB0byA1MCBjaGFycyBzbyB3ZVxuICogY2FuIGFkZCBuZXcgY2hhbm5lbHMgKHN1cHBvcnQsIGhlbHAsIGJpbGxpbmcsIOKApikgd2l0aG91dCBhIHNjaGVtYVxuICogbWlncmF0aW9uLiBDb25zdHJhaW5lZCB0byBhLXovMC05L2Rhc2gvdW5kZXJzY29yZSBmb3IgVVJMIHNhZmV0eSBhbmRcbiAqIHRvIGtlZXAgZmlsdGVyIGNvbmRpdGlvbnMgdHJpdmlhbGx5IGluZGV4YWJsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IE1lc3NhZ2VDaGFubmVsU2NoZW1hID0gei5zdHJpbmcoKS5taW4oMSkubWF4KDUwKS5yZWdleCgvXlthLXowLTlfLV0rJC8pO1xuXG4vKipcbiAqIE1lc3NhZ2UgZmlsdGVyIHNjaGVtYSBmb3IgcXVlcnkgcGFyYW1ldGVycy5cbiAqXG4gKiBDb252ZW50aW9uIGZvciBgdGhyZWFkSWRgOlxuICogLSBPbWl0dGVkICh1bmRlZmluZWQpOiBubyBmaWx0ZXIgYXBwbGllZCDigJQgcmV0dXJucyBtZXNzYWdlcyByZWdhcmRsZXNzIG9mIHRocmVhZC5cbiAqIC0gYCdyb290J2Agb3IgYG51bGxgOiBmaWx0ZXIgZm9yIHJvb3QgbWVzc2FnZXMgb25seSAodHJhbnNsYXRlZCB0byBgdGhyZWFkSWQgSVMgTlVMTGBcbiAqICAgYnkgdGhlIHJvdXRlIGxheWVyIC8gcXVlcnkgYnVpbGRlcikuIFRoZSBzdHJpbmcgc2VudGluZWwgYCdyb290J2AgaXMgdGhlXG4gKiAgIHdpcmUgZm9ybSwgc2luY2UgVVJMIHF1ZXJ5IHBhcmFtcyBjYW4ndCBjYXJyeSBhIHRydWUgYG51bGxgLlxuICogLSBBIFVVSUQ6IGZpbHRlciBmb3IgbWVzc2FnZXMgaW4gdGhhdCBzcGVjaWZpYyB0aHJlYWQuXG4gKlxuICogYGlzUmVhZGAgaXMgaG9ub3JlZCBieSBgYnVpbGRNZXNzYWdlQ29uZGl0aW9uc2AgaW4gcGlwZWxpbmUtZGF0YSB2aWEgYVxuICogYGpzb25iX2V4aXN0cyhyZWFkX2J5LCAkb3JnSWQpYCBjaGVjayBvbiBgbWVzc2FnZXMucmVhZF9ieWAgZm9yIHRoZSByZXF1ZXN0aW5nXG4gKiBvcmcgKHRoZSBmdW5jdGlvbiBmb3JtLCBub3QgdGhlIGA/YCBvcGVyYXRvciwgdG8gYXZvaWQgcGFyYW0tYmluZGluZyBjbGFzaGVzKS5cbiAqL1xuZXhwb3J0IGNvbnN0IE1lc3NhZ2VGaWx0ZXJTY2hlbWEgPSBCYXNlRmlsdGVyU2NoZW1hLmV4dGVuZCh7XG4gIHRocmVhZElkOiB6LnVuaW9uKFt6LnN0cmluZygpLnV1aWQoKSwgei5saXRlcmFsKCdyb290JyksIHoubnVsbCgpXSkub3B0aW9uYWwoKSxcbiAgcmVjaXBpZW50T3JnSWQ6IHouc3RyaW5nKCkubWluKDEpLm9wdGlvbmFsKCksXG4gIG1lc3NhZ2VUeXBlOiBNZXNzYWdlVHlwZVNjaGVtYS5vcHRpb25hbCgpLFxuICBpc1JlYWQ6IEJvb2xlYW5RdWVyeVNjaGVtYS5vcHRpb25hbCgpLFxuICBwcmlvcml0eTogTWVzc2FnZVByaW9yaXR5U2NoZW1hLm9wdGlvbmFsKCksXG4gIGNoYW5uZWw6IE1lc3NhZ2VDaGFubmVsU2NoZW1hLm9wdGlvbmFsKCksXG4gIC8vIEZyZWUtdGV4dCBpbmJveCBzZWFyY2ggb3ZlciBzdWJqZWN0L2NvbnRlbnQuIEJvdW5kZWQgc28gYSBwYXRob2xvZ2ljYWwgdGVybVxuICAvLyBjYW4ndCBibG93IHVwIHRoZSBMSUtFOyB0aGUgcXVlcnkgYnVpbGRlciBlc2NhcGVzIHdpbGRjYXJkcyArIGlnbm9yZXMgYmxhbmtzLlxuICBzZWFyY2g6IHouc3RyaW5nKCkudHJpbSgpLm1pbigxKS5tYXgoMjAwKS5vcHRpb25hbCgpLFxufSk7XG5cbi8qKlxuICogVXBwZXIgYm91bmRzIG9uIGZyZWUtdGV4dCBtZXNzYWdlIGZpZWxkcy4gV2l0aG91dCB0aGVzZSBhbiB1bmJvdW5kZWRcbiAqIHN1YmplY3QvY29udGVudCAoZS5nLiBhIDFNQiBhbm5vdW5jZW1lbnQpIGlzIHBlcnNpc3RlZCBBTkQgU1NFLWJyb2FkY2FzdCB0b1xuICogZXZlcnkgb3JnLiBgc3ViamVjdGAgbWF0Y2hlcyB0aGUgYHZhcmNoYXIoNTAwKWAgREIgY29sdW1uIHNvIHdlIHJlamVjdCByYXRoZXJcbiAqIHRoYW4gc2lsZW50bHkgdHJ1bmNhdGU7IGBjb250ZW50YCBpcyBhIGB0ZXh0YCBjb2x1bW4gd2l0aCBubyBEQiBib3VuZCwgc28gd2VcbiAqIGNhcCBpdCBhdCBhIHNhbmUgMzIgS2lCIGF0IHRoZSBhcHAgbGF5ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX1NVQkpFQ1RfTUFYID0gNTAwO1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfQ09OVEVOVF9NQVggPSAzMjc2ODtcblxuLyoqIE1heCBhdHRhY2htZW50cyBsaW5rYWJsZSB0byBhIHNpbmdsZSBtZXNzYWdlL3JlcGx5LiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfTUFYX0FUVEFDSE1FTlRTID0gNTtcblxuLyoqXG4gKiBNYXggYXR0YWNobWVudCBzaXplIChNaUIpIOKAlCBlbnYtb3ZlcnJpZGFibGUuIFRoZSB1cGxvYWQgcm91dGUgZW5mb3JjZXMgdGhpc1xuICogKG11bHRlciBgZmlsZVNpemVgKTsga2VwdCBoZXJlIHNvIHRoZSBib3VuZCBsaXZlcyB3aXRoIHRoZSBvdGhlciBtZXNzYWdlXG4gKiBsaW1pdHMgcmF0aGVyIHRoYW4gb25seSBpbmxpbmUgaW4gdGhlIHJvdXRlLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9BVFRBQ0hNRU5UX01BWF9NQiA9IGVudkludCgnTUVTU0FHRV9BVFRBQ0hNRU5UX01BWF9NQicsIDEwLCB7IG1pbjogMSB9KTtcbmV4cG9ydCBjb25zdCBNRVNTQUdFX0FUVEFDSE1FTlRfTUFYX0JZVEVTID0gTUVTU0FHRV9BVFRBQ0hNRU5UX01BWF9NQiAqIDEwMjQgKiAxMDI0O1xuXG4vKipcbiAqIEFsbG93LWxpc3Qgb2YgYXR0YWNobWVudCBNSU1FIHR5cGVzIOKAlCBjb21tb24gaW1hZ2VzICsgZG9jdW1lbnRzICsgemlwL3lhbWwvanNvbi5cbiAqIERlbGliZXJhdGVseSBleGNsdWRlcyBleGVjdXRhYmxlcy9zY3JpcHRzL0hUTUwvU1ZHIChzdG9yZWQtWFNTIC8gZHJpdmUtYnkpLlxuICogemlwIGlzIGEgZG93bmxvYWQgY29udGFpbmVyIChkb2Vzbid0IHJlbmRlciBpbi1icm93c2VyKTsgeWFtbC9qc29uIGFyZSBwbGFpblxuICogdGV4dCDigJQgbm9uZSBjYXJyeSB0aGUgZHJpdmUtYnkgcmlzayBvZiB0aGUgZXhjbHVkZWQgdHlwZXMuIEV4dGVuZCBoZXJlLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9BVFRBQ0hNRU5UX0FMTE9XRURfTUlNRTogUmVhZG9ubHlTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoW1xuICAnaW1hZ2UvcG5nJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvZ2lmJywgJ2ltYWdlL3dlYnAnLFxuICAnYXBwbGljYXRpb24vcGRmJywgJ3RleHQvcGxhaW4nLCAndGV4dC9jc3YnLFxuICAnYXBwbGljYXRpb24vbXN3b3JkJyxcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JyxcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJyxcbiAgLy8gQXJjaGl2ZXMgKHppcCAvIGd6IC8gdGFyIC8gdGFyLmd6KSDigJQgYnJvd3NlcnMgcmVwb3J0IHRoZXNlIHZhcmlvdXNseSBieSBPUztcbiAgLy8gY292ZXIgdGhlIGNvbW1vbiB2YXJpYW50cy4gVGhleSBkb3dubG9hZCByYXRoZXIgdGhhbiByZW5kZXIgaW4tYnJvd3Nlci5cbiAgJ2FwcGxpY2F0aW9uL3ppcCcsICdhcHBsaWNhdGlvbi94LXppcC1jb21wcmVzc2VkJyxcbiAgJ2FwcGxpY2F0aW9uL2d6aXAnLCAnYXBwbGljYXRpb24veC1nemlwJyxcbiAgJ2FwcGxpY2F0aW9uL3gtdGFyJywgJ2FwcGxpY2F0aW9uL3RhcicsXG4gICdhcHBsaWNhdGlvbi94LWNvbXByZXNzZWQtdGFyJyxcbiAgLy8ganNvbiAoYnJvd3NlcnMgbWF5IHNlbmQgYXBwbGljYXRpb24vanNvbiBvciB0ZXh0L2pzb24pLlxuICAnYXBwbGljYXRpb24vanNvbicsICd0ZXh0L2pzb24nLFxuICAvLyB5YW1sL3ltbCDigJQgbm8gc2luZ2xlIHJlZ2lzdGVyZWQgdHlwZTsgY292ZXIgdGhlIGNvbW1vbiB2YXJpYW50cy5cbiAgJ2FwcGxpY2F0aW9uL3gteWFtbCcsICdhcHBsaWNhdGlvbi95YW1sJywgJ3RleHQveWFtbCcsICd0ZXh0L3gteWFtbCcsXG5dKTtcblxuLyoqXG4gKiBTYWZlIGZpbGVuYW1lIGV4dGVuc2lvbnMuIEJyb3dzZXJzIGZyZXF1ZW50bHkgc2VuZCBgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYFxuICogZm9yIGFyY2hpdmVzICsgY29uZmlnIGZpbGVzICgudGFyLy5nei8udGd6Ly55YW1sL+KApikgYmVjYXVzZSB0aGV5IGhhdmUgbm9cbiAqIHJlbGlhYmxlIHJlZ2lzdGVyZWQgTUlNRSB0eXBlLCBzbyB0aGUgTUlNRSBhbGxvdy1saXN0IGFsb25lIHJlamVjdHMgdGhlbS4gVGhlc2VcbiAqIGV4dGVuc2lvbnMgYXJlIGFjY2VwdGVkIGFzIGEgZmFsbGJhY2sgT05MWSB3aGVuIHRoZSByZXBvcnRlZCBNSU1FIGlzIHRoYXRcbiAqIGdlbmVyaWMgdHlwZSAoc2VlIGlzQWxsb3dlZEF0dGFjaG1lbnRUeXBlKSDigJQgc28gYSBrbm93biByZW5kZXIvZXhlY3V0ZSBNSU1FXG4gKiAoaW1hZ2Uvc3ZnK3htbCwgdGV4dC9odG1sLCDigKYpIGlzIG5ldmVyIHJlc2N1ZWQgYnkgYSBzcG9vZmVkIGV4dGVuc2lvbi4gU3RpbGxcbiAqIGV4Y2x1ZGVzIC5odG1sLy5zdmcvLmpzLy5leGUv4oCmIChuZXZlciBsaXN0ZWQgaGVyZSkuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0FUVEFDSE1FTlRfQUxMT1dFRF9FWFQ6IFJlYWRvbmx5U2V0PHN0cmluZz4gPSBuZXcgU2V0KFtcbiAgJy5wbmcnLCAnLmpwZycsICcuanBlZycsICcuZ2lmJywgJy53ZWJwJyxcbiAgJy5wZGYnLCAnLnR4dCcsICcuY3N2JywgJy5kb2MnLCAnLmRvY3gnLCAnLnhscycsICcueGxzeCcsICcucHB0JywgJy5wcHR4JyxcbiAgJy56aXAnLCAnLmd6JywgJy50Z3onLCAnLnRhcicsICcuanNvbicsICcueWFtbCcsICcueW1sJyxcbl0pO1xuXG4vKipcbiAqIFRydWUgaWYgYW4gYXR0YWNobWVudCBpcyBhY2NlcHRlZC4gQWNjZXB0cyBieSBNSU1FIGFsbG93LWxpc3QsIE9SIOKAlCB3aGVuIHRoZVxuICogYnJvd3NlciByZXBvcnRzIHRoZSBnZW5lcmljIGBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1gICh1bmtub3duIGJpbmFyeSkg4oCUIGJ5IGFcbiAqIHNhZmUgZmlsZW5hbWUgZXh0ZW5zaW9uLiBvY3RldC1zdHJlYW0gaXMgc2VydmVkIGFzIGEgZG93bmxvYWQgKG5ldmVyIHJlbmRlcmVkKSxcbiAqIHNvIHRoZSBleHRlbnNpb24gZmFsbGJhY2sgY2FuJ3QgdHVybiBpbnRvIGEgc3RvcmVkLVhTUyB2ZWN0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0FsbG93ZWRBdHRhY2htZW50VHlwZShtaW1ldHlwZTogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmIChNRVNTQUdFX0FUVEFDSE1FTlRfQUxMT1dFRF9NSU1FLmhhcyhtaW1ldHlwZSkpIHJldHVybiB0cnVlO1xuICBpZiAobWltZXR5cGUgIT09ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IGRvdCA9IChmaWxlbmFtZSB8fCAnJykubGFzdEluZGV4T2YoJy4nKTtcbiAgaWYgKGRvdCA8IDApIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIE1FU1NBR0VfQVRUQUNITUVOVF9BTExPV0VEX0VYVC5oYXMoZmlsZW5hbWUuc2xpY2UoZG90KS50b0xvd2VyQ2FzZSgpKTtcbn1cblxuLyoqIEF0dGFjaG1lbnQgbWV0YWRhdGEgRFRPIHJldHVybmVkIHRvIGNsaWVudHMgKG5ldmVyIGV4cG9zZXMgdGhlIHN0b3JhZ2Uga2V5KS4gKi9cbi8qKlxuICogQXR0YWNobWVudCBpZHMgdG8gbGluayB0byBhIG1lc3NhZ2UuIEVhY2ggaXMgdGhlIGlkIHJldHVybmVkIGJ5IGEgcHJpb3JcbiAqIFBPU1QgL21lc3NhZ2VzL2F0dGFjaG1lbnRzIHVwbG9hZDsgdGhlIGNyZWF0ZSByb3V0ZSBsaW5rcyBvbmx5IGlkcyB0aGF0IGJlbG9uZ1xuICogdG8gdGhlIGNhbGxlciAob3duIG9yZyArIHVwbG9hZGVyKSBhbmQgYXJlIHN0aWxsIHVuYXR0YWNoZWQuXG4gKi9cbmNvbnN0IEF0dGFjaG1lbnRJZHNTY2hlbWEgPSB6LmFycmF5KHouc3RyaW5nKCkudXVpZCgpKS5tYXgoTUVTU0FHRV9NQVhfQVRUQUNITUVOVFMpLm9wdGlvbmFsKCk7XG5cbi8qKlxuICogTWVzc2FnZSBjcmVhdGlvbiBzY2hlbWFcbiAqL1xuZXhwb3J0IGNvbnN0IE1lc3NhZ2VDcmVhdGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHJlY2lwaWVudE9yZ0lkOiB6LnN0cmluZygpLm1pbigxLCAnUmVjaXBpZW50IG9yZ2FuaXphdGlvbiBJRCBpcyByZXF1aXJlZCcpLFxuICAvLyBPcHRpb25hbCBwZXItdXNlciB0YXJnZXRpbmcgV0lUSElOIHJlY2lwaWVudE9yZ0lkLiBXaGVuIHNldCwgb25seSB0aGlzIHVzZXJcbiAgLy8gc2VlcyB0aGUgY29udmVyc2F0aW9uIChlbmZvcmNlZCBpbiBidWlsZE1lc3NhZ2VDb25kaXRpb25zKS4gQ29udmVyc2F0aW9uLW9ubHlcbiAgLy8gYW5kIHJlcXVpcmVzIGEgY29uY3JldGUgcmVjaXBpZW50IG9yZyDigJQgdGhlIHJvdXRlIHJlamVjdHMgaXQgb24gYW5ub3VuY2VtZW50c1xuICAvLyBhbmQgJyonIGJyb2FkY2FzdHMuIEJvdW5kZWQgdG8gdGhlIHJlY2lwaWVudF91c2VyX2lkIGNvbHVtbiB3aWR0aC5cbiAgcmVjaXBpZW50VXNlcklkOiB6LnN0cmluZygpLm1pbigxKS5tYXgoMjU1KS5vcHRpb25hbCgpLFxuICBtZXNzYWdlVHlwZTogTWVzc2FnZVR5cGVTY2hlbWEub3B0aW9uYWwoKS5kZWZhdWx0KCdjb252ZXJzYXRpb24nKSxcbiAgY2hhbm5lbDogTWVzc2FnZUNoYW5uZWxTY2hlbWEub3B0aW9uYWwoKSxcbiAgc3ViamVjdDogei5zdHJpbmcoKS5taW4oMSwgJ1N1YmplY3QgaXMgcmVxdWlyZWQnKS5tYXgoTUVTU0FHRV9TVUJKRUNUX01BWCwgYFN1YmplY3QgbXVzdCBiZSBhdCBtb3N0ICR7TUVTU0FHRV9TVUJKRUNUX01BWH0gY2hhcmFjdGVyc2ApLFxuICBjb250ZW50OiB6LnN0cmluZygpLm1pbigxLCAnQ29udGVudCBpcyByZXF1aXJlZCcpLm1heChNRVNTQUdFX0NPTlRFTlRfTUFYLCBgQ29udGVudCBtdXN0IGJlIGF0IG1vc3QgJHtNRVNTQUdFX0NPTlRFTlRfTUFYfSBjaGFyYWN0ZXJzYCksXG4gIHByaW9yaXR5OiBNZXNzYWdlUHJpb3JpdHlTY2hlbWEub3B0aW9uYWwoKS5kZWZhdWx0KCdub3JtYWwnKSxcbiAgYXR0YWNobWVudElkczogQXR0YWNobWVudElkc1NjaGVtYSxcbn0pO1xuXG4vKipcbiAqIE1lc3NhZ2UgcmVwbHkgc2NoZW1hXG4gKi9cbmV4cG9ydCBjb25zdCBNZXNzYWdlUmVwbHlTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNvbnRlbnQ6IHouc3RyaW5nKCkubWluKDEsICdDb250ZW50IGlzIHJlcXVpcmVkJykubWF4KE1FU1NBR0VfQ09OVEVOVF9NQVgsIGBDb250ZW50IG11c3QgYmUgYXQgbW9zdCAke01FU1NBR0VfQ09OVEVOVF9NQVh9IGNoYXJhY3RlcnNgKSxcbiAgYXR0YWNobWVudElkczogQXR0YWNobWVudElkc1NjaGVtYSxcbn0pO1xuXG4vKipcbiAqIEVkaXQgYW4gYWxyZWFkeS1zZW50IG1lc3NhZ2UncyBDT05URU5UIChhdXRob3Itb25seSwgZW5mb3JjZWQgc2VydmVyLXNpZGUpLlxuICogT25seSB0aGUgYm9keSBpcyBlZGl0YWJsZSDigJQgc3ViamVjdC9yZWNpcGllbnQvdHlwZS9hdHRhY2htZW50cyBhcmUgaW1tdXRhYmxlXG4gKiBhZnRlciBzZW5kIChjaGFuZ2luZyB0aGVtIHdvdWxkIHJld3JpdGUgdGhlIGNvbnZlcnNhdGlvbidzIHJvdXRpbmcvbWVhbmluZykuXG4gKi9cbmV4cG9ydCBjb25zdCBNZXNzYWdlRWRpdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29udGVudDogei5zdHJpbmcoKS5taW4oMSwgJ0NvbnRlbnQgaXMgcmVxdWlyZWQnKS5tYXgoTUVTU0FHRV9DT05URU5UX01BWCwgYENvbnRlbnQgbXVzdCBiZSBhdCBtb3N0ICR7TUVTU0FHRV9DT05URU5UX01BWH0gY2hhcmFjdGVyc2ApLFxufSk7XG4iXX0=
|
|
181
|
+
/** Most rows one bulk call (hide / unhide / read / delete) may name; a page of checkboxes is 25. */
|
|
182
|
+
export const MESSAGE_BULK_MAX_IDS = 200;
|
|
183
|
+
/**
|
|
184
|
+
* Bulk "remove from my inbox", scoped by the SAME filters the list takes —
|
|
185
|
+
* optionally narrowed further to an explicit `ids` selection (the inbox's
|
|
186
|
+
* checkboxes).
|
|
187
|
+
*
|
|
188
|
+
* Every field is optional and every one NARROWS: an empty body means "the whole
|
|
189
|
+
* tab". There is deliberately no `orgId` — the org comes from the authenticated
|
|
190
|
+
* route. `ids` cannot widen anything either: it is AND-ed with the same
|
|
191
|
+
* visibility conditions the list uses, so naming a row the caller cannot see
|
|
192
|
+
* simply matches nothing, and the write only ever stamps the caller's OWN
|
|
193
|
+
* `hiddenBy[orgId]`.
|
|
194
|
+
*/
|
|
195
|
+
export const MessageHideSchema = z.object({
|
|
196
|
+
ids: z.array(z.string().uuid()).min(1).max(MESSAGE_BULK_MAX_IDS).optional(),
|
|
197
|
+
messageType: z.enum(['announcement', 'conversation']).optional(),
|
|
198
|
+
isRead: z.boolean().optional(),
|
|
199
|
+
priority: z.enum(['normal', 'high', 'urgent']).optional(),
|
|
200
|
+
channel: z.string().max(64).optional(),
|
|
201
|
+
sentBy: MessageSentBySchema.optional(),
|
|
202
|
+
...MessagePartyFilterFields,
|
|
203
|
+
search: z.string().max(200).optional(),
|
|
204
|
+
});
|
|
205
|
+
/** An explicit checkbox selection — the body shared by the bulk id routes. */
|
|
206
|
+
const BulkIdsSchema = z.array(z.string().uuid()).min(1).max(MESSAGE_BULK_MAX_IDS);
|
|
207
|
+
/**
|
|
208
|
+
* `POST /messages/unhide` and `POST /messages/delete`: the ticked rows.
|
|
209
|
+
* Ids only — never a filter: restoring is the undo of a specific removal, and
|
|
210
|
+
* delete is per-row author-only, so neither may run against "everything
|
|
211
|
+
* matching".
|
|
212
|
+
*/
|
|
213
|
+
export const MessageBulkIdsSchema = z.object({ ids: BulkIdsSchema });
|
|
214
|
+
/**
|
|
215
|
+
* `POST /messages/read` — set THIS org's read state on the ticked rows.
|
|
216
|
+
* `isRead: true` also marks each thread's replies read (as opening it does);
|
|
217
|
+
* `false` clears the root's stamp only, which is what puts it back to unread.
|
|
218
|
+
*/
|
|
219
|
+
export const MessageBulkReadSchema = z.object({ ids: BulkIdsSchema, isRead: z.boolean() });
|
|
220
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1zY2hlbWFzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmFsaWRhdGlvbi9tZXNzYWdlLXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakcsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUV2RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztBQUVoRTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFM0Q7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7QUFFckY7Ozs7Ozs7R0FPRztBQUNILE1BQU0sd0JBQXdCLEdBQUc7SUFDL0IsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMxRCxpQkFB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QW9CLENBQUMsQ0FBQztBQUVsRjs7Ozs7R0FLRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztBQUVyRTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5pbXBvcnQgeyBCYXNlRmlsdGVyU2NoZW1hLCBCb29sZWFuUXVlcnlTY2hlbWEgfSBmcm9tICcuL2NvbW1vbi1zY2hlbWFzLmpzJztcbmltcG9ydCB7IE1FU1NBR0VfUFJJT1JJVElFUywgTUVTU0FHRV9TRU5UX0JZLCBNRVNTQUdFX1RZUEVTIH0gZnJvbSAnLi4vdHlwZXMvd2lyZS12b2NhYnVsYXJ5LmpzJztcbmltcG9ydCB7IGVudkludCB9IGZyb20gJy4uL3V0aWxzL2Vudi5qcyc7XG5cbi8qKlxuICogTWVzc2FnZSB0eXBlIHNjaGVtYVxuICovXG5leHBvcnQgY29uc3QgTWVzc2FnZVR5cGVTY2hlbWEgPSB6LmVudW0oTUVTU0FHRV9UWVBFUyk7XG5cbi8qKlxuICogTWVzc2FnZSBwcmlvcml0eSBzY2hlbWFcbiAqL1xuZXhwb3J0IGNvbnN0IE1lc3NhZ2VQcmlvcml0eVNjaGVtYSA9IHouZW51bShNRVNTQUdFX1BSSU9SSVRJRVMpO1xuXG4vKipcbiAqIFNlbmRlciBmaWx0ZXIsIHJlbGF0aXZlIHRvIHRoZSB2aWV3ZXIgKHNlZSBgTUVTU0FHRV9TRU5UX0JZYCkuXG4gKi9cbmV4cG9ydCBjb25zdCBNZXNzYWdlU2VudEJ5U2NoZW1hID0gei5lbnVtKE1FU1NBR0VfU0VOVF9CWSk7XG5cbi8qKlxuICogQ2hhbm5lbC9pbmJveC1idWNrZXQgc2NoZW1hLiBPcGVuLWVuZGVkIHN0cmluZyB1cCB0byA1MCBjaGFycyBzbyB3ZVxuICogY2FuIGFkZCBuZXcgY2hhbm5lbHMgKHN1cHBvcnQsIGhlbHAsIGJpbGxpbmcsIOKApikgd2l0aG91dCBhIHNjaGVtYVxuICogbWlncmF0aW9uLiBDb25zdHJhaW5lZCB0byBhLXovMC05L2Rhc2gvdW5kZXJzY29yZSBmb3IgVVJMIHNhZmV0eSBhbmRcbiAqIHRvIGtlZXAgZmlsdGVyIGNvbmRpdGlvbnMgdHJpdmlhbGx5IGluZGV4YWJsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IE1lc3NhZ2VDaGFubmVsU2NoZW1hID0gei5zdHJpbmcoKS5taW4oMSkubWF4KDUwKS5yZWdleCgvXlthLXowLTlfLV0rJC8pO1xuXG4vKipcbiAqIE5hcnJvd2luZyBieSBhIFNQRUNJRklDIHBhcnR5LCBzaGFyZWQgYnkgdGhlIGxpc3QgcXVlcnkgYW5kIHRoZSBidWxrIGhpZGU6XG4gKiAtIGBzZW5kZXJVc2VySWRgIOKAlCByb3dzIHRoYXQgdXNlciBhdXRob3JlZCAoYGNyZWF0ZWRfYnlgKS5cbiAqIC0gYGNvdW50ZXJwYXJ0eU9yZ0lkYCDigJQgcm93cyBleGNoYW5nZWQgd2l0aCB0aGF0IG9yZyAoaXQgc2VudCB0aGVtIG9yXG4gKiAgIHJlY2VpdmVkIHRoZW0pLlxuICogQm90aCBhcmUgQU5ELWVkIG9udG8gdGhlIHZpc2liaWxpdHkgc2NvcGUsIHNvIG5hbWluZyBhIHVzZXIgb3Igb3JnIHRoZVxuICogY2FsbGVyIGhhcyBuZXZlciBjb3JyZXNwb25kZWQgd2l0aCBzaW1wbHkgbWF0Y2hlcyBub3RoaW5nLlxuICovXG5jb25zdCBNZXNzYWdlUGFydHlGaWx0ZXJGaWVsZHMgPSB7XG4gIHNlbmRlclVzZXJJZDogei5zdHJpbmcoKS50cmltKCkubWluKDEpLm1heCgyNTUpLm9wdGlvbmFsKCksXG4gIGNvdW50ZXJwYXJ0eU9yZ0lkOiB6LnN0cmluZygpLnRyaW0oKS5taW4oMSkubWF4KDI1NSkub3B0aW9uYWwoKSxcbn07XG5cbi8qKlxuICogTWVzc2FnZSBmaWx0ZXIgc2NoZW1hIGZvciBxdWVyeSBwYXJhbWV0ZXJzLlxuICpcbiAqIENvbnZlbnRpb24gZm9yIGB0aHJlYWRJZGA6XG4gKiAtIE9taXR0ZWQgKHVuZGVmaW5lZCk6IG5vIGZpbHRlciBhcHBsaWVkIOKAlCByZXR1cm5zIG1lc3NhZ2VzIHJlZ2FyZGxlc3Mgb2YgdGhyZWFkLlxuICogLSBgJ3Jvb3QnYCBvciBgbnVsbGA6IGZpbHRlciBmb3Igcm9vdCBtZXNzYWdlcyBvbmx5ICh0cmFuc2xhdGVkIHRvIGB0aHJlYWRJZCBJUyBOVUxMYFxuICogICBieSB0aGUgcm91dGUgbGF5ZXIgLyBxdWVyeSBidWlsZGVyKS4gVGhlIHN0cmluZyBzZW50aW5lbCBgJ3Jvb3QnYCBpcyB0aGVcbiAqICAgd2lyZSBmb3JtLCBzaW5jZSBVUkwgcXVlcnkgcGFyYW1zIGNhbid0IGNhcnJ5IGEgdHJ1ZSBgbnVsbGAuXG4gKiAtIEEgVVVJRDogZmlsdGVyIGZvciBtZXNzYWdlcyBpbiB0aGF0IHNwZWNpZmljIHRocmVhZC5cbiAqXG4gKiBgaXNSZWFkYCBpcyBob25vcmVkIGJ5IGBidWlsZE1lc3NhZ2VDb25kaXRpb25zYCBpbiBwaXBlbGluZS1kYXRhIHZpYSBhXG4gKiBganNvbmJfZXhpc3RzKHJlYWRfYnksICRvcmdJZClgIGNoZWNrIG9uIGBtZXNzYWdlcy5yZWFkX2J5YCBmb3IgdGhlIHJlcXVlc3RpbmdcbiAqIG9yZyAodGhlIGZ1bmN0aW9uIGZvcm0sIG5vdCB0aGUgYD9gIG9wZXJhdG9yLCB0byBhdm9pZCBwYXJhbS1iaW5kaW5nIGNsYXNoZXMpLlxuICovXG5leHBvcnQgY29uc3QgTWVzc2FnZUZpbHRlclNjaGVtYSA9IEJhc2VGaWx0ZXJTY2hlbWEuZXh0ZW5kKHtcbiAgdGhyZWFkSWQ6IHoudW5pb24oW3ouc3RyaW5nKCkudXVpZCgpLCB6LmxpdGVyYWwoJ3Jvb3QnKSwgei5udWxsKCldKS5vcHRpb25hbCgpLFxuICByZWNpcGllbnRPcmdJZDogei5zdHJpbmcoKS5taW4oMSkub3B0aW9uYWwoKSxcbiAgbWVzc2FnZVR5cGU6IE1lc3NhZ2VUeXBlU2NoZW1hLm9wdGlvbmFsKCksXG4gIGlzUmVhZDogQm9vbGVhblF1ZXJ5U2NoZW1hLm9wdGlvbmFsKCksXG4gIHByaW9yaXR5OiBNZXNzYWdlUHJpb3JpdHlTY2hlbWEub3B0aW9uYWwoKSxcbiAgY2hhbm5lbDogTWVzc2FnZUNoYW5uZWxTY2hlbWEub3B0aW9uYWwoKSxcbiAgc2VudEJ5OiBNZXNzYWdlU2VudEJ5U2NoZW1hLm9wdGlvbmFsKCksXG4gIC4uLk1lc3NhZ2VQYXJ0eUZpbHRlckZpZWxkcyxcbiAgLy8gYHRydWVgIGxpc3RzIHdoYXQgVEhJUyBvcmcgcmVtb3ZlZCBmcm9tIGl0cyBpbmJveCAodGhlIFwiUmVtb3ZlZFwiIHZpZXcpXG4gIC8vIGluc3RlYWQgb2YgdGhlIGluYm94IGl0c2VsZi4gSXQgbmV2ZXIgd2lkZW5zIHZpc2liaWxpdHkg4oCUIGl0IG9ubHkgZmxpcHNcbiAgLy8gd2hpY2ggc2lkZSBvZiB0aGUgb3JnJ3Mgb3duIGBoaWRkZW5CeWAgc3RhbXAgaXMgc2hvd24uXG4gIGhpZGRlbjogQm9vbGVhblF1ZXJ5U2NoZW1hLm9wdGlvbmFsKCksXG4gIC8vIEZyZWUtdGV4dCBpbmJveCBzZWFyY2ggb3ZlciBzdWJqZWN0L2NvbnRlbnQuIEJvdW5kZWQgc28gYSBwYXRob2xvZ2ljYWwgdGVybVxuICAvLyBjYW4ndCBibG93IHVwIHRoZSBMSUtFOyB0aGUgcXVlcnkgYnVpbGRlciBlc2NhcGVzIHdpbGRjYXJkcyArIGlnbm9yZXMgYmxhbmtzLlxuICBzZWFyY2g6IHouc3RyaW5nKCkudHJpbSgpLm1pbigxKS5tYXgoMjAwKS5vcHRpb25hbCgpLFxufSk7XG5cbi8qKlxuICogVXBwZXIgYm91bmRzIG9uIGZyZWUtdGV4dCBtZXNzYWdlIGZpZWxkcy4gV2l0aG91dCB0aGVzZSBhbiB1bmJvdW5kZWRcbiAqIHN1YmplY3QvY29udGVudCAoZS5nLiBhIDFNQiBhbm5vdW5jZW1lbnQpIGlzIHBlcnNpc3RlZCBBTkQgU1NFLWJyb2FkY2FzdCB0b1xuICogZXZlcnkgb3JnLiBgc3ViamVjdGAgbWF0Y2hlcyB0aGUgYHZhcmNoYXIoNTAwKWAgREIgY29sdW1uIHNvIHdlIHJlamVjdCByYXRoZXJcbiAqIHRoYW4gc2lsZW50bHkgdHJ1bmNhdGU7IGBjb250ZW50YCBpcyBhIGB0ZXh0YCBjb2x1bW4gd2l0aCBubyBEQiBib3VuZCwgc28gd2VcbiAqIGNhcCBpdCBhdCBhIHNhbmUgMzIgS2lCIGF0IHRoZSBhcHAgbGF5ZXIuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX1NVQkpFQ1RfTUFYID0gNTAwO1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfQ09OVEVOVF9NQVggPSAzMjc2ODtcblxuLyoqIE1heCBhdHRhY2htZW50cyBsaW5rYWJsZSB0byBhIHNpbmdsZSBtZXNzYWdlL3JlcGx5LiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfTUFYX0FUVEFDSE1FTlRTID0gNTtcblxuLyoqXG4gKiBNYXggYXR0YWNobWVudCBzaXplIChNaUIpIOKAlCBlbnYtb3ZlcnJpZGFibGUuIFRoZSB1cGxvYWQgcm91dGUgZW5mb3JjZXMgdGhpc1xuICogKG11bHRlciBgZmlsZVNpemVgKTsga2VwdCBoZXJlIHNvIHRoZSBib3VuZCBsaXZlcyB3aXRoIHRoZSBvdGhlciBtZXNzYWdlXG4gKiBsaW1pdHMgcmF0aGVyIHRoYW4gb25seSBpbmxpbmUgaW4gdGhlIHJvdXRlLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9BVFRBQ0hNRU5UX01BWF9NQiA9IGVudkludCgnTUVTU0FHRV9BVFRBQ0hNRU5UX01BWF9NQicsIDEwLCB7IG1pbjogMSB9KTtcbmV4cG9ydCBjb25zdCBNRVNTQUdFX0FUVEFDSE1FTlRfTUFYX0JZVEVTID0gTUVTU0FHRV9BVFRBQ0hNRU5UX01BWF9NQiAqIDEwMjQgKiAxMDI0O1xuXG4vKipcbiAqIEFsbG93LWxpc3Qgb2YgYXR0YWNobWVudCBNSU1FIHR5cGVzIOKAlCBjb21tb24gaW1hZ2VzICsgZG9jdW1lbnRzICsgemlwL3lhbWwvanNvbi5cbiAqIERlbGliZXJhdGVseSBleGNsdWRlcyBleGVjdXRhYmxlcy9zY3JpcHRzL0hUTUwvU1ZHIChzdG9yZWQtWFNTIC8gZHJpdmUtYnkpLlxuICogemlwIGlzIGEgZG93bmxvYWQgY29udGFpbmVyIChkb2Vzbid0IHJlbmRlciBpbi1icm93c2VyKTsgeWFtbC9qc29uIGFyZSBwbGFpblxuICogdGV4dCDigJQgbm9uZSBjYXJyeSB0aGUgZHJpdmUtYnkgcmlzayBvZiB0aGUgZXhjbHVkZWQgdHlwZXMuIEV4dGVuZCBoZXJlLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9BVFRBQ0hNRU5UX0FMTE9XRURfTUlNRTogUmVhZG9ubHlTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoW1xuICAnaW1hZ2UvcG5nJywgJ2ltYWdlL2pwZWcnLCAnaW1hZ2UvZ2lmJywgJ2ltYWdlL3dlYnAnLFxuICAnYXBwbGljYXRpb24vcGRmJywgJ3RleHQvcGxhaW4nLCAndGV4dC9jc3YnLFxuICAnYXBwbGljYXRpb24vbXN3b3JkJyxcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JyxcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJyxcbiAgLy8gQXJjaGl2ZXMgKHppcCAvIGd6IC8gdGFyIC8gdGFyLmd6KSDigJQgYnJvd3NlcnMgcmVwb3J0IHRoZXNlIHZhcmlvdXNseSBieSBPUztcbiAgLy8gY292ZXIgdGhlIGNvbW1vbiB2YXJpYW50cy4gVGhleSBkb3dubG9hZCByYXRoZXIgdGhhbiByZW5kZXIgaW4tYnJvd3Nlci5cbiAgJ2FwcGxpY2F0aW9uL3ppcCcsICdhcHBsaWNhdGlvbi94LXppcC1jb21wcmVzc2VkJyxcbiAgJ2FwcGxpY2F0aW9uL2d6aXAnLCAnYXBwbGljYXRpb24veC1nemlwJyxcbiAgJ2FwcGxpY2F0aW9uL3gtdGFyJywgJ2FwcGxpY2F0aW9uL3RhcicsXG4gICdhcHBsaWNhdGlvbi94LWNvbXByZXNzZWQtdGFyJyxcbiAgLy8ganNvbiAoYnJvd3NlcnMgbWF5IHNlbmQgYXBwbGljYXRpb24vanNvbiBvciB0ZXh0L2pzb24pLlxuICAnYXBwbGljYXRpb24vanNvbicsICd0ZXh0L2pzb24nLFxuICAvLyB5YW1sL3ltbCDigJQgbm8gc2luZ2xlIHJlZ2lzdGVyZWQgdHlwZTsgY292ZXIgdGhlIGNvbW1vbiB2YXJpYW50cy5cbiAgJ2FwcGxpY2F0aW9uL3gteWFtbCcsICdhcHBsaWNhdGlvbi95YW1sJywgJ3RleHQveWFtbCcsICd0ZXh0L3gteWFtbCcsXG5dKTtcblxuLyoqXG4gKiBTYWZlIGZpbGVuYW1lIGV4dGVuc2lvbnMuIEJyb3dzZXJzIGZyZXF1ZW50bHkgc2VuZCBgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYFxuICogZm9yIGFyY2hpdmVzICsgY29uZmlnIGZpbGVzICgudGFyLy5nei8udGd6Ly55YW1sL+KApikgYmVjYXVzZSB0aGV5IGhhdmUgbm9cbiAqIHJlbGlhYmxlIHJlZ2lzdGVyZWQgTUlNRSB0eXBlLCBzbyB0aGUgTUlNRSBhbGxvdy1saXN0IGFsb25lIHJlamVjdHMgdGhlbS4gVGhlc2VcbiAqIGV4dGVuc2lvbnMgYXJlIGFjY2VwdGVkIGFzIGEgZmFsbGJhY2sgT05MWSB3aGVuIHRoZSByZXBvcnRlZCBNSU1FIGlzIHRoYXRcbiAqIGdlbmVyaWMgdHlwZSAoc2VlIGlzQWxsb3dlZEF0dGFjaG1lbnRUeXBlKSDigJQgc28gYSBrbm93biByZW5kZXIvZXhlY3V0ZSBNSU1FXG4gKiAoaW1hZ2Uvc3ZnK3htbCwgdGV4dC9odG1sLCDigKYpIGlzIG5ldmVyIHJlc2N1ZWQgYnkgYSBzcG9vZmVkIGV4dGVuc2lvbi4gU3RpbGxcbiAqIGV4Y2x1ZGVzIC5odG1sLy5zdmcvLmpzLy5leGUv4oCmIChuZXZlciBsaXN0ZWQgaGVyZSkuXG4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0FUVEFDSE1FTlRfQUxMT1dFRF9FWFQ6IFJlYWRvbmx5U2V0PHN0cmluZz4gPSBuZXcgU2V0KFtcbiAgJy5wbmcnLCAnLmpwZycsICcuanBlZycsICcuZ2lmJywgJy53ZWJwJyxcbiAgJy5wZGYnLCAnLnR4dCcsICcuY3N2JywgJy5kb2MnLCAnLmRvY3gnLCAnLnhscycsICcueGxzeCcsICcucHB0JywgJy5wcHR4JyxcbiAgJy56aXAnLCAnLmd6JywgJy50Z3onLCAnLnRhcicsICcuanNvbicsICcueWFtbCcsICcueW1sJyxcbl0pO1xuXG4vKipcbiAqIFRydWUgaWYgYW4gYXR0YWNobWVudCBpcyBhY2NlcHRlZC4gQWNjZXB0cyBieSBNSU1FIGFsbG93LWxpc3QsIE9SIOKAlCB3aGVuIHRoZVxuICogYnJvd3NlciByZXBvcnRzIHRoZSBnZW5lcmljIGBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1gICh1bmtub3duIGJpbmFyeSkg4oCUIGJ5IGFcbiAqIHNhZmUgZmlsZW5hbWUgZXh0ZW5zaW9uLiBvY3RldC1zdHJlYW0gaXMgc2VydmVkIGFzIGEgZG93bmxvYWQgKG5ldmVyIHJlbmRlcmVkKSxcbiAqIHNvIHRoZSBleHRlbnNpb24gZmFsbGJhY2sgY2FuJ3QgdHVybiBpbnRvIGEgc3RvcmVkLVhTUyB2ZWN0b3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0FsbG93ZWRBdHRhY2htZW50VHlwZShtaW1ldHlwZTogc3RyaW5nLCBmaWxlbmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGlmIChNRVNTQUdFX0FUVEFDSE1FTlRfQUxMT1dFRF9NSU1FLmhhcyhtaW1ldHlwZSkpIHJldHVybiB0cnVlO1xuICBpZiAobWltZXR5cGUgIT09ICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IGRvdCA9IChmaWxlbmFtZSB8fCAnJykubGFzdEluZGV4T2YoJy4nKTtcbiAgaWYgKGRvdCA8IDApIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIE1FU1NBR0VfQVRUQUNITUVOVF9BTExPV0VEX0VYVC5oYXMoZmlsZW5hbWUuc2xpY2UoZG90KS50b0xvd2VyQ2FzZSgpKTtcbn1cblxuLyoqIEF0dGFjaG1lbnQgbWV0YWRhdGEgRFRPIHJldHVybmVkIHRvIGNsaWVudHMgKG5ldmVyIGV4cG9zZXMgdGhlIHN0b3JhZ2Uga2V5KS4gKi9cbi8qKlxuICogQXR0YWNobWVudCBpZHMgdG8gbGluayB0byBhIG1lc3NhZ2UuIEVhY2ggaXMgdGhlIGlkIHJldHVybmVkIGJ5IGEgcHJpb3JcbiAqIFBPU1QgL21lc3NhZ2VzL2F0dGFjaG1lbnRzIHVwbG9hZDsgdGhlIGNyZWF0ZSByb3V0ZSBsaW5rcyBvbmx5IGlkcyB0aGF0IGJlbG9uZ1xuICogdG8gdGhlIGNhbGxlciAob3duIG9yZyArIHVwbG9hZGVyKSBhbmQgYXJlIHN0aWxsIHVuYXR0YWNoZWQuXG4gKi9cbmNvbnN0IEF0dGFjaG1lbnRJZHNTY2hlbWEgPSB6LmFycmF5KHouc3RyaW5nKCkudXVpZCgpKS5tYXgoTUVTU0FHRV9NQVhfQVRUQUNITUVOVFMpLm9wdGlvbmFsKCk7XG5cbi8qKlxuICogTWVzc2FnZSBjcmVhdGlvbiBzY2hlbWFcbiAqL1xuZXhwb3J0IGNvbnN0IE1lc3NhZ2VDcmVhdGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHJlY2lwaWVudE9yZ0lkOiB6LnN0cmluZygpLm1pbigxLCAnUmVjaXBpZW50IG9yZ2FuaXphdGlvbiBJRCBpcyByZXF1aXJlZCcpLFxuICAvLyBPcHRpb25hbCBwZXItdXNlciB0YXJnZXRpbmcgV0lUSElOIHJlY2lwaWVudE9yZ0lkLiBXaGVuIHNldCwgb25seSB0aGlzIHVzZXJcbiAgLy8gc2VlcyB0aGUgY29udmVyc2F0aW9uIChlbmZvcmNlZCBpbiBidWlsZE1lc3NhZ2VDb25kaXRpb25zKS4gQ29udmVyc2F0aW9uLW9ubHlcbiAgLy8gYW5kIHJlcXVpcmVzIGEgY29uY3JldGUgcmVjaXBpZW50IG9yZyDigJQgdGhlIHJvdXRlIHJlamVjdHMgaXQgb24gYW5ub3VuY2VtZW50c1xuICAvLyBhbmQgJyonIGJyb2FkY2FzdHMuIEJvdW5kZWQgdG8gdGhlIHJlY2lwaWVudF91c2VyX2lkIGNvbHVtbiB3aWR0aC5cbiAgcmVjaXBpZW50VXNlcklkOiB6LnN0cmluZygpLm1pbigxKS5tYXgoMjU1KS5vcHRpb25hbCgpLFxuICBtZXNzYWdlVHlwZTogTWVzc2FnZVR5cGVTY2hlbWEub3B0aW9uYWwoKS5kZWZhdWx0KCdjb252ZXJzYXRpb24nKSxcbiAgY2hhbm5lbDogTWVzc2FnZUNoYW5uZWxTY2hlbWEub3B0aW9uYWwoKSxcbiAgc3ViamVjdDogei5zdHJpbmcoKS5taW4oMSwgJ1N1YmplY3QgaXMgcmVxdWlyZWQnKS5tYXgoTUVTU0FHRV9TVUJKRUNUX01BWCwgYFN1YmplY3QgbXVzdCBiZSBhdCBtb3N0ICR7TUVTU0FHRV9TVUJKRUNUX01BWH0gY2hhcmFjdGVyc2ApLFxuICBjb250ZW50OiB6LnN0cmluZygpLm1pbigxLCAnQ29udGVudCBpcyByZXF1aXJlZCcpLm1heChNRVNTQUdFX0NPTlRFTlRfTUFYLCBgQ29udGVudCBtdXN0IGJlIGF0IG1vc3QgJHtNRVNTQUdFX0NPTlRFTlRfTUFYfSBjaGFyYWN0ZXJzYCksXG4gIHByaW9yaXR5OiBNZXNzYWdlUHJpb3JpdHlTY2hlbWEub3B0aW9uYWwoKS5kZWZhdWx0KCdub3JtYWwnKSxcbiAgYXR0YWNobWVudElkczogQXR0YWNobWVudElkc1NjaGVtYSxcbn0pO1xuXG4vKipcbiAqIE1lc3NhZ2UgcmVwbHkgc2NoZW1hXG4gKi9cbmV4cG9ydCBjb25zdCBNZXNzYWdlUmVwbHlTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGNvbnRlbnQ6IHouc3RyaW5nKCkubWluKDEsICdDb250ZW50IGlzIHJlcXVpcmVkJykubWF4KE1FU1NBR0VfQ09OVEVOVF9NQVgsIGBDb250ZW50IG11c3QgYmUgYXQgbW9zdCAke01FU1NBR0VfQ09OVEVOVF9NQVh9IGNoYXJhY3RlcnNgKSxcbiAgYXR0YWNobWVudElkczogQXR0YWNobWVudElkc1NjaGVtYSxcbn0pO1xuXG4vKipcbiAqIEVkaXQgYW4gYWxyZWFkeS1zZW50IG1lc3NhZ2UncyBDT05URU5UIChhdXRob3Itb25seSwgZW5mb3JjZWQgc2VydmVyLXNpZGUpLlxuICogT25seSB0aGUgYm9keSBpcyBlZGl0YWJsZSDigJQgc3ViamVjdC9yZWNpcGllbnQvdHlwZS9hdHRhY2htZW50cyBhcmUgaW1tdXRhYmxlXG4gKiBhZnRlciBzZW5kIChjaGFuZ2luZyB0aGVtIHdvdWxkIHJld3JpdGUgdGhlIGNvbnZlcnNhdGlvbidzIHJvdXRpbmcvbWVhbmluZykuXG4gKi9cbmV4cG9ydCBjb25zdCBNZXNzYWdlRWRpdFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgY29udGVudDogei5zdHJpbmcoKS5taW4oMSwgJ0NvbnRlbnQgaXMgcmVxdWlyZWQnKS5tYXgoTUVTU0FHRV9DT05URU5UX01BWCwgYENvbnRlbnQgbXVzdCBiZSBhdCBtb3N0ICR7TUVTU0FHRV9DT05URU5UX01BWH0gY2hhcmFjdGVyc2ApLFxufSk7XG5cbi8qKiBNb3N0IHJvd3Mgb25lIGJ1bGsgY2FsbCAoaGlkZSAvIHVuaGlkZSAvIHJlYWQgLyBkZWxldGUpIG1heSBuYW1lOyBhIHBhZ2Ugb2YgY2hlY2tib3hlcyBpcyAyNS4gKi9cbmV4cG9ydCBjb25zdCBNRVNTQUdFX0JVTEtfTUFYX0lEUyA9IDIwMDtcblxuLyoqXG4gKiBCdWxrIFwicmVtb3ZlIGZyb20gbXkgaW5ib3hcIiwgc2NvcGVkIGJ5IHRoZSBTQU1FIGZpbHRlcnMgdGhlIGxpc3QgdGFrZXMg4oCUXG4gKiBvcHRpb25hbGx5IG5hcnJvd2VkIGZ1cnRoZXIgdG8gYW4gZXhwbGljaXQgYGlkc2Agc2VsZWN0aW9uICh0aGUgaW5ib3gnc1xuICogY2hlY2tib3hlcykuXG4gKlxuICogRXZlcnkgZmllbGQgaXMgb3B0aW9uYWwgYW5kIGV2ZXJ5IG9uZSBOQVJST1dTOiBhbiBlbXB0eSBib2R5IG1lYW5zIFwidGhlIHdob2xlXG4gKiB0YWJcIi4gVGhlcmUgaXMgZGVsaWJlcmF0ZWx5IG5vIGBvcmdJZGAg4oCUIHRoZSBvcmcgY29tZXMgZnJvbSB0aGUgYXV0aGVudGljYXRlZFxuICogcm91dGUuIGBpZHNgIGNhbm5vdCB3aWRlbiBhbnl0aGluZyBlaXRoZXI6IGl0IGlzIEFORC1lZCB3aXRoIHRoZSBzYW1lXG4gKiB2aXNpYmlsaXR5IGNvbmRpdGlvbnMgdGhlIGxpc3QgdXNlcywgc28gbmFtaW5nIGEgcm93IHRoZSBjYWxsZXIgY2Fubm90IHNlZVxuICogc2ltcGx5IG1hdGNoZXMgbm90aGluZywgYW5kIHRoZSB3cml0ZSBvbmx5IGV2ZXIgc3RhbXBzIHRoZSBjYWxsZXIncyBPV05cbiAqIGBoaWRkZW5CeVtvcmdJZF1gLlxuICovXG5leHBvcnQgY29uc3QgTWVzc2FnZUhpZGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIGlkczogei5hcnJheSh6LnN0cmluZygpLnV1aWQoKSkubWluKDEpLm1heChNRVNTQUdFX0JVTEtfTUFYX0lEUykub3B0aW9uYWwoKSxcbiAgbWVzc2FnZVR5cGU6IHouZW51bShbJ2Fubm91bmNlbWVudCcsICdjb252ZXJzYXRpb24nXSkub3B0aW9uYWwoKSxcbiAgaXNSZWFkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBwcmlvcml0eTogei5lbnVtKFsnbm9ybWFsJywgJ2hpZ2gnLCAndXJnZW50J10pLm9wdGlvbmFsKCksXG4gIGNoYW5uZWw6IHouc3RyaW5nKCkubWF4KDY0KS5vcHRpb25hbCgpLFxuICBzZW50Qnk6IE1lc3NhZ2VTZW50QnlTY2hlbWEub3B0aW9uYWwoKSxcbiAgLi4uTWVzc2FnZVBhcnR5RmlsdGVyRmllbGRzLFxuICBzZWFyY2g6IHouc3RyaW5nKCkubWF4KDIwMCkub3B0aW9uYWwoKSxcbn0pO1xuXG4vKiogQW4gZXhwbGljaXQgY2hlY2tib3ggc2VsZWN0aW9uIOKAlCB0aGUgYm9keSBzaGFyZWQgYnkgdGhlIGJ1bGsgaWQgcm91dGVzLiAqL1xuY29uc3QgQnVsa0lkc1NjaGVtYSA9IHouYXJyYXkoei5zdHJpbmcoKS51dWlkKCkpLm1pbigxKS5tYXgoTUVTU0FHRV9CVUxLX01BWF9JRFMpO1xuXG4vKipcbiAqIGBQT1NUIC9tZXNzYWdlcy91bmhpZGVgIGFuZCBgUE9TVCAvbWVzc2FnZXMvZGVsZXRlYDogdGhlIHRpY2tlZCByb3dzLlxuICogSWRzIG9ubHkg4oCUIG5ldmVyIGEgZmlsdGVyOiByZXN0b3JpbmcgaXMgdGhlIHVuZG8gb2YgYSBzcGVjaWZpYyByZW1vdmFsLCBhbmRcbiAqIGRlbGV0ZSBpcyBwZXItcm93IGF1dGhvci1vbmx5LCBzbyBuZWl0aGVyIG1heSBydW4gYWdhaW5zdCBcImV2ZXJ5dGhpbmdcbiAqIG1hdGNoaW5nXCIuXG4gKi9cbmV4cG9ydCBjb25zdCBNZXNzYWdlQnVsa0lkc1NjaGVtYSA9IHoub2JqZWN0KHsgaWRzOiBCdWxrSWRzU2NoZW1hIH0pO1xuXG4vKipcbiAqIGBQT1NUIC9tZXNzYWdlcy9yZWFkYCDigJQgc2V0IFRISVMgb3JnJ3MgcmVhZCBzdGF0ZSBvbiB0aGUgdGlja2VkIHJvd3MuXG4gKiBgaXNSZWFkOiB0cnVlYCBhbHNvIG1hcmtzIGVhY2ggdGhyZWFkJ3MgcmVwbGllcyByZWFkIChhcyBvcGVuaW5nIGl0IGRvZXMpO1xuICogYGZhbHNlYCBjbGVhcnMgdGhlIHJvb3QncyBzdGFtcCBvbmx5LCB3aGljaCBpcyB3aGF0IHB1dHMgaXQgYmFjayB0byB1bnJlYWQuXG4gKi9cbmV4cG9ydCBjb25zdCBNZXNzYWdlQnVsa1JlYWRTY2hlbWEgPSB6Lm9iamVjdCh7IGlkczogQnVsa0lkc1NjaGVtYSwgaXNSZWFkOiB6LmJvb2xlYW4oKSB9KTtcbiJdfQ==
|
|
@@ -62,4 +62,4 @@ export function validateQuery(req, schema) {
|
|
|
62
62
|
export function validateBody(req, schema) {
|
|
63
63
|
return validate(req.body, schema);
|
|
64
64
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb24vbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBR3RDLE9BQU8sRUFBRSxRQUFRLEVBQWtCLE1BQU0sS0FBSyxDQUFDO0FBeUIvQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQ3RCLElBQWEsRUFDYixNQUFvQjtJQUVwQixJQUFJLENBQUM7UUFDSCxPQUFPLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxLQUFLLFlBQVksUUFBUSxFQUFFLENBQUM7WUFDOUIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNuQyxNQUFNLE9BQU8sR0FBRyxVQUFVO2dCQUN4QixDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLENBQUMsT0FBTyxFQUFFO2dCQUN2RCxDQUFDLENBQUMsbUJBQW1CLENBQUM7WUFDeEIsT0FBTyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDeEQsQ0FBQztRQUNELE9BQU8sRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxDQUFDO0lBQ25ELENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBSSxHQUFZLEVBQUUsTUFBb0I7SUFDakUsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBSSxHQUFZLEVBQUUsTUFBb0I7SUFDaEUsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IDIwMjYgUGlwZWxpbmUgQnVpbGRlciBDb250cmlidXRvcnNcbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB0eXBlIHsgUmVxdWVzdCB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IHsgWm9kRXJyb3IsIHR5cGUgWm9kU2NoZW1hIH0gZnJvbSAnem9kJztcblxuLyoqXG4gKiBSZXN1bHQgdHlwZSBmb3IgdmFsaWRhdGlvbiBvcGVyYXRpb25zLlxuICpcbiAqIENBTk9OSUNBTCB2YWxpZGF0aW9uLXJlc3VsdCBzaGFwZSBmb3IgdGhlIGFwaS1jb3JlIHB1YmxpYyBzdXJmYWNlOiBhIGJvb2xlYW4tXG4gKiBkaXNjcmltaW5hdGVkIHVuaW9uIChgaWYgKCFyZXN1bHQub2spIOKApmApLiBVc2UgVEhJUyBmb3IgYW55dGhpbmcgdGhhdCBwYXJzZXNcbiAqIGFnYWluc3QgYSBab2Qgc2NoZW1hIOKAlCBgdmFsaWRhdGVgIC8gYHZhbGlkYXRlQm9keWAgLyBgdmFsaWRhdGVRdWVyeWAuIFRoZVxuICogYG9rYCBkaXNjcmltaW5hbnQgYWxzbyBjYXJyaWVzIHRoZSBvcHRpb25hbCBgem9kRXJyb3JgIGZvciBjYWxsZXJzIHRoYXQgd2FudFxuICogZmllbGQtbGV2ZWwgZGV0YWlsLlxuICpcbiAqIE5vdGUgdGhlIGRlbGliZXJhdGVseS1saWdodGVyIHNpYmxpbmcgc2hhcGUgaW4gYHV0aWxzL3BhcmFtcy50c2BcbiAqIChgeyB2YWx1ZSB9IHwgeyBlcnJvciB9YCwgbmFycm93ZWQgd2l0aCBgJ2Vycm9yJyBpbiByZXN1bHRgKS4gVGhhdCBvbmUgaXMgZm9yXG4gKiBzaW1wbGUgaW5saW5lIHJlcXVlc3QtcGFyc2luZyBndWFyZHMgKGB2YWxpZGF0ZUJ1bGtBcnJheWAsIGBwYXJzZURhdGVSYW5nZWAsXG4gKiBgcGFyc2VSZXBvcnRJbnRlcnZhbGApIOKAlCBOT1Qgc2NoZW1hIHZhbGlkYXRpb24uIFRoZSB0d28gYXJlIGtlcHQgZGlzdGluY3Qgb25cbiAqIHB1cnBvc2U6IHVuaWZ5aW5nIGB1dGlscy9wYXJhbXMudHNgIG9udG8gYHsgb2sgfWAgd291bGQgdG91Y2ggZXZlcnlcbiAqIGAnZXJyb3InIGluIHJlc3VsdGAgY2FsbCBzaXRlIGFjcm9zcyB0aGUgZG93bnN0cmVhbSBzZXJ2aWNlcyAocGlwZWxpbmUsXG4gKiBwbHVnaW4sIHJlcG9ydGluZywgY29tcGxpYW5jZSwg4oCmKSBmb3Igbm8gYmVoYXZpb3VyYWwgZ2Fpbiwgc28gdGhlIGNvbnZlbnRpb25cbiAqIGlzIGRvY3VtZW50ZWQgcmF0aGVyIHRoYW4gZm9yY2UtbWlncmF0ZWQuIFJ1bGUgb2YgdGh1bWI6IFpvZCBzY2hlbWEg4oaSXG4gKiBgVmFsaWRhdGlvblJlc3VsdGAgKGBva2ApOyBhZC1ob2MgcGFyc2UgZ3VhcmQg4oaSIHBhcmFtcy50cyAoYCdlcnJvcicgaW5gKS5cbiAqL1xuZXhwb3J0IHR5cGUgVmFsaWRhdGlvblJlc3VsdDxUPiA9XG4gIHwgeyBvazogdHJ1ZTsgdmFsdWU6IFQgfVxuICB8IHsgb2s6IGZhbHNlOyBlcnJvcjogc3RyaW5nOyB6b2RFcnJvcj86IFpvZEVycm9yIH07XG5cbi8qKlxuICogVmFsaWRhdGUgYXJiaXRyYXJ5IGRhdGEgYWdhaW5zdCBhIFpvZCBzY2hlbWEuXG4gKlxuICogVGhpcyBpcyB0aGUgY29yZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHVzZWQgYnkgdGhlIEV4cHJlc3Mtc3BlY2lmaWMgaGVscGVyc1xuICogKGB2YWxpZGF0ZUJvZHlgLCBgdmFsaWRhdGVRdWVyeWApLiBJdCBjYW4gYWxzbyBiZSBjYWxsZWQgZGlyZWN0bHkgd2hlblxuICogdmFsaWRhdGluZyBkYXRhIHRoYXQgZG9lc24ndCBjb21lIGZyb20gYSByZXF1ZXN0IG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gZGF0YSAtIERhdGEgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSBzY2hlbWEgLSBab2Qgc2NoZW1hIGZvciB2YWxpZGF0aW9uXG4gKiBAcmV0dXJucyBWYWxpZGF0aW9uIHJlc3VsdCB3aXRoIHBhcnNlZCBkYXRhIG9yIGVycm9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc3VsdCA9IHZhbGlkYXRlKHNvbWVEYXRhLCBNeVNjaGVtYSk7XG4gKiBpZiAoIXJlc3VsdC5vaykge1xuICogICByZXR1cm4gc2VuZEJhZFJlcXVlc3QocmVzLCByZXN1bHQuZXJyb3IpO1xuICogfVxuICogY29uc3QgcGFyc2VkID0gcmVzdWx0LnZhbHVlO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZTxUPihcbiAgZGF0YTogdW5rbm93bixcbiAgc2NoZW1hOiBab2RTY2hlbWE8VD4sXG4pOiBWYWxpZGF0aW9uUmVzdWx0PFQ+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4geyBvazogdHJ1ZSwgdmFsdWU6IHNjaGVtYS5wYXJzZShkYXRhKSB9O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFpvZEVycm9yKSB7XG4gICAgICBjb25zdCBmaXJzdElzc3VlID0gZXJyb3IuaXNzdWVzWzBdO1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGZpcnN0SXNzdWVcbiAgICAgICAgPyBgJHtmaXJzdElzc3VlLnBhdGguam9pbignLicpfTogJHtmaXJzdElzc3VlLm1lc3NhZ2V9YFxuICAgICAgICA6ICdWYWxpZGF0aW9uIGZhaWxlZCc7XG4gICAgICByZXR1cm4geyBvazogZmFsc2UsIGVycm9yOiBtZXNzYWdlLCB6b2RFcnJvcjogZXJyb3IgfTtcbiAgICB9XG4gICAgcmV0dXJuIHsgb2s6IGZhbHNlLCBlcnJvcjogJ1ZhbGlkYXRpb24gZmFpbGVkJyB9O1xuICB9XG59XG5cbi8qKlxuICogVmFsaWRhdGUgcmVxdWVzdCBxdWVyeSBwYXJhbWV0ZXJzIHdpdGggYSBab2Qgc2NoZW1hLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCByZXN1bHQgPSB2YWxpZGF0ZVF1ZXJ5KHJlcSwgUGlwZWxpbmVGaWx0ZXJTY2hlbWEpO1xuICogaWYgKCFyZXN1bHQub2spIHJldHVybiBzZW5kQmFkUmVxdWVzdChyZXMsIHJlc3VsdC5lcnJvcik7XG4gKiBjb25zdCBmaWx0ZXIgPSByZXN1bHQudmFsdWU7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUXVlcnk8VD4ocmVxOiBSZXF1ZXN0LCBzY2hlbWE6IFpvZFNjaGVtYTxUPik6IFZhbGlkYXRpb25SZXN1bHQ8VD4ge1xuICByZXR1cm4gdmFsaWRhdGUocmVxLnF1ZXJ5LCBzY2hlbWEpO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlIHJlcXVlc3QgYm9keSB3aXRoIGEgWm9kIHNjaGVtYS5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcmVzdWx0ID0gdmFsaWRhdGVCb2R5KHJlcSwgUGlwZWxpbmVDcmVhdGVTY2hlbWEpO1xuICogaWYgKCFyZXN1bHQub2spIHJldHVybiBzZW5kQmFkUmVxdWVzdChyZXMsIHJlc3VsdC5lcnJvcik7XG4gKiBjb25zdCBkYXRhID0gcmVzdWx0LnZhbHVlO1xuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUJvZHk8VD4ocmVxOiBSZXF1ZXN0LCBzY2hlbWE6IFpvZFNjaGVtYTxUPik6IFZhbGlkYXRpb25SZXN1bHQ8VD4ge1xuICByZXR1cm4gdmFsaWRhdGUocmVxLmJvZHksIHNjaGVtYSk7XG59XG4iXX0=
|
|
@@ -154,4 +154,4 @@ export const PipelineUpdateSchema = z.object({
|
|
|
154
154
|
isDefault: BooleanQuerySchema.optional(),
|
|
155
155
|
visibility: VisibilitySchema.optional(),
|
|
156
156
|
});
|
|
157
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtc2NoZW1hcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92YWxpZGF0aW9uL3BpcGVsaW5lLXNjaGVtYXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsK0NBQStDO0FBQy9DLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxnQkFBZ0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ25ILE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXZHOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO0lBQzFELE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNyQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFDLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNuQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDdEMsQ0FBQyxDQUFDO0FBRUg7Ozs7R0FJRztBQUNILE1BQU0scUJBQXFCLEdBQTJCO0lBQ3BELE9BQU8sRUFDTCw2RkFBNkY7VUFDM0YsNkZBQTZGO0NBQ2xHLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkI7Ozs7T0FJRztJQUNILFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxxRkFBcUYsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMvSixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3BELFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDdkQsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRTtJQUN4QyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7UUFDbkUsSUFBSSxHQUFHLElBQUssR0FBK0IsRUFBRSxDQUFDO1lBQzVDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVIOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLGVBQWUsR0FBMkI7SUFDOUMsUUFBUSxFQUNOLDRGQUE0RjtVQUMxRixtRkFBbUY7VUFDbkYsNEVBQTRFO1VBQzVFLDhFQUE4RTtDQUNuRixDQUFDO0FBRUYsTUFBTSxlQUFlLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMvQixNQUFNLEVBQUUsbUJBQW1CO0lBQzNCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDdEQsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNyRCxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUM3QyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFO0lBQ3pDLEtBQUssTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDN0QsSUFBSSxHQUFHLElBQUssSUFBZ0MsRUFBRSxDQUFDO1lBQzdDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUVIOzs7O0dBSUc7QUFDSCxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNCLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM1QixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixxRkFBcUY7SUFDckYsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNqRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0NBQ3ZDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztBQUVqQjs7O0dBR0c7QUFDSCxNQUFNLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzFCLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQixZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNuQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3BELFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDdEQsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNsRDs7OztPQUlHO0lBQ0gsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNqRCxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNkLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7UUFDcEQsTUFBTSxFQUFFLG1CQUFtQjtLQUM1QixDQUFDLENBQUMsV0FBVyxFQUFFO0lBQ2hCLE1BQU0sRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUN4QyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO0lBQzFDLEtBQUssTUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLElBQUksQ0FBRSxLQUEyQyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUM7WUFBRSxTQUFTO1FBQ3JDLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDWCxJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUM7WUFDbkIsT0FBTyxFQUNMLEtBQUssR0FBRyx3REFBd0Q7a0JBQzlELEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQywrQkFBK0I7a0JBQzlELEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxxQ0FBcUM7a0JBQzFFLGdEQUFnRDtTQUNyRCxDQUFDLENBQUM7SUFDTCxDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0MsR0FBRyxvQkFBb0I7SUFDdkIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixDQUFDO0lBQ2pELFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSwwQkFBMEIsQ0FBQztJQUMzRCxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsUUFBUSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3hDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUU7SUFDdkM7Ozs7Ozs7O09BUUc7SUFDSCxRQUFRLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLEtBQUssRUFBRSxrQkFBa0I7Q0FDMUIsQ0FBQyxDQUFDO0FBRUg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQzNDLEdBQUcsb0JBQW9CO0lBQ3ZCLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMxQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsS0FBSyxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtJQUNwQyxRQUFRLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLFNBQVMsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtDQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgMjAyNiBQaXBlbGluZSBCdWlsZGVyIENvbnRyaWJ1dG9yc1xuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgeiB9IGZyb20gJ3pvZCc7XG5pbXBvcnQgeyBCYXNlRmlsdGVyU2NoZW1hLCBCb29sZWFuUXVlcnlTY2hlbWEsIFZpc2liaWxpdHlTY2hlbWEsIENhdGFsb2dNZXRhZGF0YVNoYXBlIH0gZnJvbSAnLi9jb21tb24tc2NoZW1hcy5qcyc7XG5pbXBvcnQgeyBQVUJMSVNIRVJfSEFORExFX1BBVFRFUk4gfSBmcm9tICcuLi90eXBlcy9lY29zeXN0ZW0uanMnO1xuaW1wb3J0IHsgaXNSZXNlcnZlZFRhZ0tleSwgUkVTRVJWRURfVEFHX0tFWVMsIFJFU0VSVkVEX1RBR19QUkVGSVhFUyB9IGZyb20gJy4uL3R5cGVzL3Jlc2VydmVkLXRhZ3MuanMnO1xuXG4vKipcbiAqIFBpcGVsaW5lIGZpbHRlciBzY2hlbWEgZm9yIHF1ZXJ5IHBhcmFtZXRlcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFBpcGVsaW5lRmlsdGVyU2NoZW1hID0gQmFzZUZpbHRlclNjaGVtYS5leHRlbmQoe1xuICBwcm9qZWN0OiB6LnN0cmluZygpLm1pbigxKS5vcHRpb25hbCgpLFxuICBvcmdhbml6YXRpb246IHouc3RyaW5nKCkubWluKDEpLm9wdGlvbmFsKCksXG4gIHBpcGVsaW5lTmFtZTogei5zdHJpbmcoKS5taW4oMSkub3B0aW9uYWwoKSxcbiAgb3JnSWQ6IHouc3RyaW5nKCkubWluKDEpLm9wdGlvbmFsKCksXG4gIGtleXdvcmQ6IHouc3RyaW5nKCkubWluKDEpLm9wdGlvbmFsKCksXG59KTtcblxuLyoqXG4gKiBLZXlzIHRoYXQgbG9vayBsaWtlIHBsdWdpbi1yZWZlcmVuY2UgZmllbGRzIGJ1dCBhcmVuJ3Q6IHN5bnRoIG5ldmVyIHJlYWRzXG4gKiB0aGVtLCBzbyB3aXRob3V0IGEgbG91ZCByZWZ1c2FsIHRoZSByZWZlcmVuY2Ugc2lsZW50bHkgcmVzb2x2ZXMgdG8gc29tZXRoaW5nXG4gKiBvdGhlciB0aGFuIHdoYXQgaXRzIGF1dGhvciBtZWFudC5cbiAqL1xuY29uc3QgUExVR0lOX1JFRl9OT05fRklFTERTOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICB2ZXJzaW9uOlxuICAgICdgdmVyc2lvbmAgaXMgbm90IGEgcGx1Z2luLXJlZmVyZW5jZSBmaWVsZCDigJQgaXQgaXMgaWdub3JlZCBhbmQgdGhlIGRlZmF1bHQgdmVyc2lvbiBpcyB1c2VkLiAnXG4gICAgKyAnUGluIG9yIHJhbmdlIHRoZSB2ZXJzaW9uIHdpdGggYGZpbHRlcjogeyB2ZXJzaW9uOiBcIjEuMi4zXCIgfWAgKGFsc28gXiwgfiwgMS54LCAxLjIsIGxhdGVzdCkuJyxcbn07XG5cbi8qKlxuICogUGx1Z2luIG9wdGlvbnMgc2NoZW1hIChuYW1lLWJhc2VkIHNlbGVjdGlvbilcbiAqL1xuY29uc3QgUGx1Z2luT3B0aW9uc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgbmFtZTogei5zdHJpbmcoKS5taW4oMSksXG4gIC8qKlxuICAgKiBUaGUgcHVibGlzaGVyIHdob3NlIGluc3RhbGxlZCBsaXN0aW5nIHRoZSByZWZlcmVuY2UgcmVzb2x2ZXMgdG9cbiAgICogKGRvY3MvcGx1Z2luLXB1Ymxpc2hpbmcubWQpLiBBYnNlbnQ6IHRoZSBvcmcncyBvd24gcGx1Z2luLCB0aGVuXG4gICAqIGl0cyBwYXJlbnQncywgdGhlbiB0aGUgT2ZmaWNpYWwgbGlzdGluZy5cbiAgICovXG4gIHB1Ymxpc2hlcjogei5zdHJpbmcoKS5tYXgoMzkpLnJlZ2V4KFBVQkxJU0hFUl9IQU5ETEVfUEFUVEVSTiwgJ3B1Ymxpc2hlciBtdXN0IGJlIGEgcHVibGlzaGVyIGhhbmRsZSAobG93ZXJjYXNlIGxldHRlcnMsIGRpZ2l0cyBhbmQgc2luZ2xlIGh5cGhlbnMpJykub3B0aW9uYWwoKSxcbiAgYWxpYXM6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZmlsdGVyOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnVua25vd24oKSkub3B0aW9uYWwoKSxcbiAgbWV0YWRhdGE6IHoucmVjb3JkKHouc3RyaW5nKCksIHoudW5rbm93bigpKS5vcHRpb25hbCgpLFxufSkucGFzc3Rocm91Z2goKS5zdXBlclJlZmluZSgocmVmLCBjdHgpID0+IHtcbiAgZm9yIChjb25zdCBba2V5LCBtZXNzYWdlXSBvZiBPYmplY3QuZW50cmllcyhQTFVHSU5fUkVGX05PTl9GSUVMRFMpKSB7XG4gICAgaWYgKGtleSBpbiAocmVmIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSkge1xuICAgICAgY3R4LmFkZElzc3VlKHsgY29kZTogJ2N1c3RvbScsIHBhdGg6IFtrZXldLCBtZXNzYWdlIH0pO1xuICAgIH1cbiAgfVxufSk7XG5cbi8qKlxuICogU3RhZ2Ugc3RlcCBzY2hlbWFcbiAqXG4gKiBgcGFzc3Rocm91Z2goKWAga2VlcHMgZm9yd2FyZC1jb21wYXRpYmxlIGZpZWxkcywgYnV0IGEgZmV3IGNvbW1vbiBtaXN0YWtlcyBhcmVcbiAqIHJlamVjdGVkIGxvdWRseSByYXRoZXIgdGhhbiBzaWxlbnRseSBpZ25vcmVkIGF0IHN5bnRoIOKAlCBtb3N0IG5vdGFibHkgYVxuICogdG9wLWxldmVsIGBjb21tYW5kc2AsIHdoaWNoIGlzIE5PVCBhIHN0ZXAgZmllbGQgKHRoZSBwbHVnaW4ncyBvd24gY29tbWFuZHMgcnVuKVxuICogYW5kIHdvdWxkIG90aGVyd2lzZSBkbyBub3RoaW5nLlxuICovXG5jb25zdCBTVEVQX05PTl9GSUVMRFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIGNvbW1hbmRzOlxuICAgICdgY29tbWFuZHNgIGlzIG5vdCBhIHN0ZXAgZmllbGQg4oCUIGl0IGlzIGlnbm9yZWQgYXQgc3ludGggKHRoZSBwbHVnaW5cXCdzIG93biBjb21tYW5kcyBydW4pLiAnXG4gICAgKyAnVG8gY2hhbmdlIHdoYXQgYSBzdGVwIHJ1bnMsIHVzZSBhIHBsdWdpbiBlbnYga25vYiAoZS5nLiBgbWV0YWRhdGEuR1JBRExFX1RBU0tgKSwgJ1xuICAgICsgJ2BwcmVDb21tYW5kc2AvYHBvc3RDb21tYW5kc2AgdG8gYWRkIGNvbW1hbmRzIGFyb3VuZCB0aGUgcGx1Z2luXFwncywgb3IgdGhlICdcbiAgICArICdgYXdzOmNkazpwaXBlbGluZXM6Y29kZWJ1aWxkc3RlcDpjb21tYW5kc2AgbWV0YWRhdGEga2V5IGZvciBhIGZ1bGwgb3ZlcnJpZGUuJyxcbn07XG5cbmNvbnN0IFN0YWdlU3RlcFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgcGx1Z2luOiBQbHVnaW5PcHRpb25zU2NoZW1hLFxuICBtZXRhZGF0YTogei5yZWNvcmQoei5zdHJpbmcoKSwgei51bmtub3duKCkpLm9wdGlvbmFsKCksXG4gIG5ldHdvcms6IHoucmVjb3JkKHouc3RyaW5nKCksIHoudW5rbm93bigpKS5vcHRpb25hbCgpLFxuICBwb3NpdGlvbjogei5lbnVtKFsncHJlJywgJ3Bvc3QnXSkub3B0aW9uYWwoKSxcbn0pLnBhc3N0aHJvdWdoKCkuc3VwZXJSZWZpbmUoKHN0ZXAsIGN0eCkgPT4ge1xuICBmb3IgKGNvbnN0IFtrZXksIG1lc3NhZ2VdIG9mIE9iamVjdC5lbnRyaWVzKFNURVBfTk9OX0ZJRUxEUykpIHtcbiAgICBpZiAoa2V5IGluIChzdGVwIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KSkge1xuICAgICAgY3R4LmFkZElzc3VlKHsgY29kZTogJ2N1c3RvbScsIHBhdGg6IFtrZXldLCBtZXNzYWdlIH0pO1xuICAgIH1cbiAgfVxufSk7XG5cbi8qKlxuICogU3RhZ2Ugc2NoZW1hLiBgcGFzc3Rocm91Z2goKWAgbGlrZSBpdHMgc2libGluZ3M6IGEgc3RyaWN0LWJ5LWRlZmF1bHQgb2JqZWN0XG4gKiBoZXJlIHN0cmlwcGVkIGV2ZXJ5IHVuZGVjbGFyZWQgc3RhZ2UgZmllbGQgYmVmb3JlIHN0b3JhZ2Ug4oCUIGluY2x1ZGluZ1xuICogYGVudmlyb25tZW50YCwgd2hpY2ggbWFya3MgYSBzdGFnZSBhcyBhIERPUkEgZGVwbG95LlxuICovXG5jb25zdCBTdGFnZVNjaGVtYSA9IHoub2JqZWN0KHtcbiAgc3RhZ2VOYW1lOiB6LnN0cmluZygpLm1pbigxKSxcbiAgYWxpYXM6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgLyoqIERlcGxveSBlbnZpcm9ubWVudCB0aGlzIHN0YWdlIHRhcmdldHMgKERPUkEgZGVwbG95IGF0dHJpYnV0aW9uLCBgcGIuZGVwbG95c2ApLiAqL1xuICBlbnZpcm9ubWVudDogei5zdHJpbmcoKS5taW4oMSkubWF4KDY0KS5vcHRpb25hbCgpLFxuICBzdGVwczogei5hcnJheShTdGFnZVN0ZXBTY2hlbWEpLm1pbigxKSxcbn0pLnBhc3N0aHJvdWdoKCk7XG5cbi8qKlxuICogQnVpbGRlclByb3BzIHNjaGVtYSDigJQgc3RydWN0dXJhbCB2YWxpZGF0aW9uIGZvciBwaXBlbGluZSBjb25maWd1cmF0aW9uLlxuICogVXNlcyBwYXNzdGhyb3VnaCgpIHRvIGFsbG93IGFkZGl0aW9uYWwgZmllbGRzIHdpdGhvdXQgcmVqZWN0aW5nIHRoZW0uXG4gKi9cbmNvbnN0IEJ1aWxkZXJQcm9wc1NjaGVtYSA9IHoub2JqZWN0KHtcbiAgcHJvamVjdDogei5zdHJpbmcoKS5taW4oMSksXG4gIG9yZ2FuaXphdGlvbjogei5zdHJpbmcoKS5taW4oMSksXG4gIHBpcGVsaW5lTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBnbG9iYWw6IHoucmVjb3JkKHouc3RyaW5nKCksIHoudW5rbm93bigpKS5vcHRpb25hbCgpLFxuICBkZWZhdWx0czogei5yZWNvcmQoei5zdHJpbmcoKSwgei51bmtub3duKCkpLm9wdGlvbmFsKCksXG4gIHJvbGU6IHoucmVjb3JkKHouc3RyaW5nKCksIHoudW5rbm93bigpKS5vcHRpb25hbCgpLFxuICAvKipcbiAgICogQ29zdC1hbGxvY2F0aW9uIHRhZ3MgYXBwbGllZCB0byB0aGUgcGlwZWxpbmUncyBzdGFjay4gUmVzZXJ2ZWQga2V5cyBhcmVcbiAgICogcmVmdXNlZCByYXRoZXIgdGhhbiBkcm9wcGVkLCBzbyBhIGNhbGxlciBsZWFybnMgd2hpY2gga2V5IGl0IG1heSBub3Qgc2V0O1xuICAgKiBgUGlwZWxpbmVCdWlsZGVyYCBkcm9wcyB0aGVtIGFnYWluIGF0IHN5bnRoIGZvciBjYWxsZXJzIHRoYXQgYnlwYXNzIHRoZSBBUEkuXG4gICAqL1xuICB0YWdzOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICBzeW50aDogei5vYmplY3Qoe1xuICAgIHNvdXJjZTogei5yZWNvcmQoei5zdHJpbmcoKSwgei51bmtub3duKCkpLm9wdGlvbmFsKCksXG4gICAgcGx1Z2luOiBQbHVnaW5PcHRpb25zU2NoZW1hLFxuICB9KS5wYXNzdGhyb3VnaCgpLFxuICBzdGFnZXM6IHouYXJyYXkoU3RhZ2VTY2hlbWEpLm9wdGlvbmFsKCksXG59KS5wYXNzdGhyb3VnaCgpLnN1cGVyUmVmaW5lKChwcm9wcywgY3R4KSA9PiB7XG4gIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKChwcm9wcyBhcyB7IHRhZ3M/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IH0pLnRhZ3MgPz8ge30pKSB7XG4gICAgaWYgKCFpc1Jlc2VydmVkVGFnS2V5KGtleSkpIGNvbnRpbnVlO1xuICAgIGN0eC5hZGRJc3N1ZSh7XG4gICAgICBjb2RlOiAnY3VzdG9tJyxcbiAgICAgIHBhdGg6IFsndGFncycsIGtleV0sXG4gICAgICBtZXNzYWdlOlxuICAgICAgICBgXFxgJHtrZXl9XFxgIGlzIGEgcmVzZXJ2ZWQgdGFnIGtleSBhbmQgY2Fubm90IGJlIHNldC4gUmVzZXJ2ZWQ6IGBcbiAgICAgICAgKyBgJHtSRVNFUlZFRF9UQUdfS0VZUy5qb2luKCcsICcpfSwgYW5kIGFueXRoaW5nIHN0YXJ0aW5nIHdpdGggYFxuICAgICAgICArIGAke1JFU0VSVkVEX1RBR19QUkVGSVhFUy5qb2luKCcgb3IgJyl9LiBUaGVzZSBjYXJyeSBwaXBlbGluZSB0ZW5hbmN5IGFuZCBgXG4gICAgICAgICsgJ2RlcGxveSBhdHRyaWJ1dGlvbiwgc28gdGhlIHBsYXRmb3JtIG93bnMgdGhlbS4nLFxuICAgIH0pO1xuICB9XG59KTtcblxuLyoqXG4gKiBQaXBlbGluZSBjcmVhdGlvbiBzY2hlbWFcbiAqL1xuZXhwb3J0IGNvbnN0IFBpcGVsaW5lQ3JlYXRlU2NoZW1hID0gei5vYmplY3Qoe1xuICAuLi5DYXRhbG9nTWV0YWRhdGFTaGFwZSxcbiAgcHJvamVjdDogei5zdHJpbmcoKS5taW4oMSwgJ1Byb2plY3QgaXMgcmVxdWlyZWQnKSxcbiAgb3JnYW5pemF0aW9uOiB6LnN0cmluZygpLm1pbigxLCAnT3JnYW5pemF0aW9uIGlzIHJlcXVpcmVkJyksXG4gIHBpcGVsaW5lTmFtZTogei5zdHJpbmcoKS5taW4oMSkub3B0aW9uYWwoKSxcbiAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAga2V5d29yZHM6IHouYXJyYXkoei5zdHJpbmcoKSkub3B0aW9uYWwoKSxcbiAgdmlzaWJpbGl0eTogVmlzaWJpbGl0eVNjaGVtYS5vcHRpb25hbCgpLFxuICAvKipcbiAgICogQ3JlYXRlIHRoZSBwaXBlbGluZSBwYXVzZWQuIERlY2xhcmVkIGhlcmUgYmVjYXVzZSBpdCB1c2VkIHRvIGJlIHN0cmlwcGVkOlxuICAgKiB0aGUgc2NoZW1hIGlzIHN0cmljdC1ieS1kZWZhdWx0LCBzbyB0aGUgQ0xJJ3MgYC0tbm8tYWN0aXZlYCB3YXMgc2lsZW50bHlcbiAgICogZHJvcHBlZCBhbmQgZXZlcnkgcGlwZWxpbmUgY2FtZSB1cCBhY3RpdmUuXG4gICAqXG4gICAqIFRoZXJlIGlzIG5vIGBpc0RlZmF1bHRgIGNvdW50ZXJwYXJ0LiBgcGlwZWxpbmVfcHJvamVjdF9vcmdfdW5pcXVlYCBhbGxvd3NcbiAgICogZXhhY3RseSBvbmUgcGlwZWxpbmUgcGVyIChwcm9qZWN0LCBvcmdhbml6YXRpb24sIG9yZyksIHNvIHRoZSByb3cgY3JlYXRlZCBpblxuICAgKiBhIHNsb3QgSVMgdGhhdCBzbG90J3MgZGVmYXVsdCDigJQgYSBgZmFsc2VgIGNvdWxkIG5vdCBiZSBob25vdXJlZC5cbiAgICovXG4gIGlzQWN0aXZlOiBCb29sZWFuUXVlcnlTY2hlbWEub3B0aW9uYWwoKSxcbiAgcHJvcHM6IEJ1aWxkZXJQcm9wc1NjaGVtYSxcbn0pO1xuXG4vKipcbiAqIFBpcGVsaW5lIHVwZGF0ZSBzY2hlbWFcbiAqL1xuZXhwb3J0IGNvbnN0IFBpcGVsaW5lVXBkYXRlU2NoZW1hID0gei5vYmplY3Qoe1xuICAuLi5DYXRhbG9nTWV0YWRhdGFTaGFwZSxcbiAgcGlwZWxpbmVOYW1lOiB6LnN0cmluZygpLm1pbigxKS5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBrZXl3b3Jkczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICBwcm9wczogQnVpbGRlclByb3BzU2NoZW1hLm9wdGlvbmFsKCksXG4gIGlzQWN0aXZlOiBCb29sZWFuUXVlcnlTY2hlbWEub3B0aW9uYWwoKSxcbiAgaXNEZWZhdWx0OiBCb29sZWFuUXVlcnlTY2hlbWEub3B0aW9uYWwoKSxcbiAgdmlzaWJpbGl0eTogVmlzaWJpbGl0eVNjaGVtYS5vcHRpb25hbCgpLFxufSk7XG4iXX0=
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtc2NoZW1hcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb24vcGlwZWxpbmUtc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkgsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFdkc7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7SUFDMUQsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3JDLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMxQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ25DLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUN0QyxDQUFDLENBQUM7QUFFSDs7OztHQUlHO0FBQ0gsTUFBTSxxQkFBcUIsR0FBMkI7SUFDcEQsT0FBTyxFQUNMLDZGQUE2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Q0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLDBCQUEwQixDQUFDO0lBQzNELFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUMxQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsVUFBVSxFQUFFLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtJQUN2Qzs7Ozs7Ozs7T0FRRztJQUNILFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7SUFDdkMsS0FBSyxFQUFFLGtCQUFrQjtDQUMxQixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDM0MsR0FBRyxvQkFBb0I7SUFDdkIsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFDLFdBQVcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN4QyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFO0lBQ3BDLFFBQVEsRUFBRSxrQkFBa0IsQ0FBQyxRQUFRLEVBQUU7SUFDdkMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLFFBQVEsRUFBRTtJQUN4QyxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFO0NBQ3hDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IEJhc2VGaWx0ZXJTY2hlbWEsIEJvb2xlYW5RdWVyeVNjaGVtYSwgVmlzaWJpbGl0eVNjaGVtYSwgQ2F0YWxvZ01ldGFkYXRhU2hhcGUgfSBmcm9tICcuL2NvbW1vbi1zY2hlbWFzLmpzJztcbmltcG9ydCB7IFBVQkxJU0hFUl9IQU5ETEVfUEFUVEVSTiB9IGZyb20gJy4uL3R5cGVzL2Vjb3N5c3RlbS5qcyc7XG5pbXBvcnQgeyBpc1Jlc2VydmVkVGFnS2V5LCBSRVNFUlZFRF9UQUdfS0VZUywgUkVTRVJWRURfVEFHX1BSRUZJWEVTIH0gZnJvbSAnLi4vdHlwZXMvcmVzZXJ2ZWQtdGFncy5qcyc7XG5cbi8qKlxuICogUGlwZWxpbmUgZmlsdGVyIHNjaGVtYSBmb3IgcXVlcnkgcGFyYW1ldGVyc1xuICovXG5leHBvcnQgY29uc3QgUGlwZWxpbmVGaWx0ZXJTY2hlbWEgPSBCYXNlRmlsdGVyU2NoZW1hLmV4dGVuZCh7XG4gIHByb2plY3Q6IHouc3RyaW5nKCkubWluKDEpLm9wdGlvbmFsKCksXG4gIG9yZ2FuaXphdGlvbjogei5zdHJpbmcoKS5taW4oMSkub3B0aW9uYWwoKSxcbiAgcGlwZWxpbmVOYW1lOiB6LnN0cmluZygpLm1pbigxKS5vcHRpb25hbCgpLFxuICBvcmdJZDogei5zdHJpbmcoKS5taW4oMSkub3B0aW9uYWwoKSxcbiAga2V5d29yZDogei5zdHJpbmcoKS5taW4oMSkub3B0aW9uYWwoKSxcbn0pO1xuXG4vKipcbiAqIEtleXMgdGhhdCBsb29rIGxpa2UgcGx1Z2luLXJlZmVyZW5jZSBmaWVsZHMgYnV0IGFyZW4ndDogc3ludGggbmV2ZXIgcmVhZHNcbiAqIHRoZW0sIHNvIHdpdGhvdXQgYSBsb3VkIHJlZnVzYWwgdGhlIHJlZmVyZW5jZSBzaWxlbnRseSByZXNvbHZlcyB0byBzb21ldGhpbmdcbiAqIG90aGVyIHRoYW4gd2hhdCBpdHMgYXV0aG9yIG1lYW50LlxuICovXG5jb25zdCBQTFVHSU5fUkVGX05PTl9GSUVMRFM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gIHZlcnNpb246XG4gICAgJ2B2ZXJzaW9uYCBpcyBub3QgYSBwbHVnaW4tcmVmZXJlbmNlIGZpZWxkIOKAlCBpdCBpcyBpZ25vcmVkIGFuZCB0aGUgZGVmYXVsdCB2ZXJzaW9uIGlzIHVzZWQuICdcbiAgICArICdQaW4gb3IgcmFuZ2UgdGhlIHZlcnNpb24gd2l0aCBgZmlsdGVyOiB7IHZlcnNpb246IFwiMS4yLjNcIiB9YCAoYWxzbyBeLCB+LCAxLngsIDEuMiwgbGF0ZXN0KS4nLFxufTtcblxuLyoqXG4gKiBQbHVnaW4gb3B0aW9ucyBzY2hlbWEgKG5hbWUtYmFzZWQgc2VsZWN0aW9uKVxuICovXG5jb25zdCBQbHVnaW5PcHRpb25zU2NoZW1hID0gei5vYmplY3Qoe1xuICBuYW1lOiB6LnN0cmluZygpLm1pbigxKSxcbiAgLyoqXG4gICAqIFRoZSBwdWJsaXNoZXIgd2hvc2UgaW5zdGFsbGVkIGxpc3RpbmcgdGhlIHJlZmVyZW5jZSByZXNvbHZlcyB0b1xuICAgKiAoZG9jcy9wbHVnaW4tcHVibGlzaGluZy5tZCkuIEFic2VudDogdGhlIG9yZydzIG93biBwbHVnaW4sIHRoZW5cbiAgICogaXRzIHBhcmVudCdzLCB0aGVuIHRoZSBPZmZpY2lhbCBsaXN0aW5nLlxuICAgKi9cbiAgcHVibGlzaGVyOiB6LnN0cmluZygpLm1heCgzOSkucmVnZXgoUFVCTElTSEVSX0hBTkRMRV9QQVRURVJOLCAncHVibGlzaGVyIG11c3QgYmUgYSBwdWJsaXNoZXIgaGFuZGxlIChsb3dlcmNhc2UgbGV0dGVycywgZGlnaXRzIGFuZCBzaW5nbGUgaHlwaGVucyknKS5vcHRpb25hbCgpLFxuICBhbGlhczogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmaWx0ZXI6IHoucmVjb3JkKHouc3RyaW5nKCksIHoudW5rbm93bigpKS5vcHRpb25hbCgpLFxuICBtZXRhZGF0YTogei5yZWNvcmQoei5zdHJpbmcoKSwgei51bmtub3duKCkpLm9wdGlvbmFsKCksXG59KS5wYXNzdGhyb3VnaCgpLnN1cGVyUmVmaW5lKChyZWYsIGN0eCkgPT4ge1xuICBmb3IgKGNvbnN0IFtrZXksIG1lc3NhZ2VdIG9mIE9iamVjdC5lbnRyaWVzKFBMVUdJTl9SRUZfTk9OX0ZJRUxEUykpIHtcbiAgICBpZiAoa2V5IGluIChyZWYgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pKSB7XG4gICAgICBjdHguYWRkSXNzdWUoeyBjb2RlOiAnY3VzdG9tJywgcGF0aDogW2tleV0sIG1lc3NhZ2UgfSk7XG4gICAgfVxuICB9XG59KTtcblxuLyoqXG4gKiBTdGFnZSBzdGVwIHNjaGVtYVxuICpcbiAqIGBwYXNzdGhyb3VnaCgpYCBrZWVwcyBmb3J3YXJkLWNvbXBhdGlibGUgZmllbGRzLCBidXQgYSBmZXcgY29tbW9uIG1pc3Rha2VzIGFyZVxuICogcmVqZWN0ZWQgbG91ZGx5IHJhdGhlciB0aGFuIHNpbGVudGx5IGlnbm9yZWQgYXQgc3ludGgg4oCUIG1vc3Qgbm90YWJseSBhXG4gKiB0b3AtbGV2ZWwgYGNvbW1hbmRzYCwgd2hpY2ggaXMgTk9UIGEgc3RlcCBmaWVsZCAodGhlIHBsdWdpbidzIG93biBjb21tYW5kcyBydW4pXG4gKiBhbmQgd291bGQgb3RoZXJ3aXNlIGRvIG5vdGhpbmcuXG4gKi9cbmNvbnN0IFNURVBfTk9OX0ZJRUxEUzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgY29tbWFuZHM6XG4gICAgJ2Bjb21tYW5kc2AgaXMgbm90IGEgc3RlcCBmaWVsZCDigJQgaXQgaXMgaWdub3JlZCBhdCBzeW50aCAodGhlIHBsdWdpblxcJ3Mgb3duIGNvbW1hbmRzIHJ1bikuICdcbiAgICArICdUbyBjaGFuZ2Ugd2hhdCBhIHN0ZXAgcnVucywgdXNlIGEgcGx1Z2luIGVudiBrbm9iIChlLmcuIGBtZXRhZGF0YS5HUkFETEVfVEFTS2ApLCAnXG4gICAgKyAnYHByZUNvbW1hbmRzYC9gcG9zdENvbW1hbmRzYCB0byBhZGQgY29tbWFuZHMgYXJvdW5kIHRoZSBwbHVnaW5cXCdzLCBvciB0aGUgJ1xuICAgICsgJ2Bhd3M6Y2RrOnBpcGVsaW5lczpjb2RlYnVpbGRzdGVwOmNvbW1hbmRzYCBtZXRhZGF0YSBrZXkgZm9yIGEgZnVsbCBvdmVycmlkZS4nLFxufTtcblxuY29uc3QgU3RhZ2VTdGVwU2NoZW1hID0gei5vYmplY3Qoe1xuICBwbHVnaW46IFBsdWdpbk9wdGlvbnNTY2hlbWEsXG4gIG1ldGFkYXRhOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnVua25vd24oKSkub3B0aW9uYWwoKSxcbiAgbmV0d29yazogei5yZWNvcmQoei5zdHJpbmcoKSwgei51bmtub3duKCkpLm9wdGlvbmFsKCksXG4gIHBvc2l0aW9uOiB6LmVudW0oWydwcmUnLCAncG9zdCddKS5vcHRpb25hbCgpLFxufSkucGFzc3Rocm91Z2goKS5zdXBlclJlZmluZSgoc3RlcCwgY3R4KSA9PiB7XG4gIGZvciAoY29uc3QgW2tleSwgbWVzc2FnZV0gb2YgT2JqZWN0LmVudHJpZXMoU1RFUF9OT05fRklFTERTKSkge1xuICAgIGlmIChrZXkgaW4gKHN0ZXAgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pKSB7XG4gICAgICBjdHguYWRkSXNzdWUoeyBjb2RlOiAnY3VzdG9tJywgcGF0aDogW2tleV0sIG1lc3NhZ2UgfSk7XG4gICAgfVxuICB9XG59KTtcblxuLyoqXG4gKiBTdGFnZSBzY2hlbWEuIGBwYXNzdGhyb3VnaCgpYCBsaWtlIGl0cyBzaWJsaW5nczogYSBzdHJpY3QtYnktZGVmYXVsdCBvYmplY3RcbiAqIGhlcmUgc3RyaXBwZWQgZXZlcnkgdW5kZWNsYXJlZCBzdGFnZSBmaWVsZCBiZWZvcmUgc3RvcmFnZSDigJQgaW5jbHVkaW5nXG4gKiBgZW52aXJvbm1lbnRgLCB3aGljaCBtYXJrcyBhIHN0YWdlIGFzIGEgRE9SQSBkZXBsb3kuXG4gKi9cbmNvbnN0IFN0YWdlU2NoZW1hID0gei5vYmplY3Qoe1xuICBzdGFnZU5hbWU6IHouc3RyaW5nKCkubWluKDEpLFxuICBhbGlhczogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAvKiogRGVwbG95IGVudmlyb25tZW50IHRoaXMgc3RhZ2UgdGFyZ2V0cyAoRE9SQSBkZXBsb3kgYXR0cmlidXRpb24sIGBwYi5kZXBsb3lzYCkuICovXG4gIGVudmlyb25tZW50OiB6LnN0cmluZygpLm1pbigxKS5tYXgoNjQpLm9wdGlvbmFsKCksXG4gIHN0ZXBzOiB6LmFycmF5KFN0YWdlU3RlcFNjaGVtYSkubWluKDEpLFxufSkucGFzc3Rocm91Z2goKTtcblxuLyoqXG4gKiBCdWlsZGVyUHJvcHMgc2NoZW1hIOKAlCBzdHJ1Y3R1cmFsIHZhbGlkYXRpb24gZm9yIHBpcGVsaW5lIGNvbmZpZ3VyYXRpb24uXG4gKiBVc2VzIHBhc3N0aHJvdWdoKCkgdG8gYWxsb3cgYWRkaXRpb25hbCBmaWVsZHMgd2l0aG91dCByZWplY3RpbmcgdGhlbS5cbiAqL1xuY29uc3QgQnVpbGRlclByb3BzU2NoZW1hID0gei5vYmplY3Qoe1xuICBwcm9qZWN0OiB6LnN0cmluZygpLm1pbigxKSxcbiAgb3JnYW5pemF0aW9uOiB6LnN0cmluZygpLm1pbigxKSxcbiAgcGlwZWxpbmVOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGdsb2JhbDogei5yZWNvcmQoei5zdHJpbmcoKSwgei51bmtub3duKCkpLm9wdGlvbmFsKCksXG4gIGRlZmF1bHRzOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnVua25vd24oKSkub3B0aW9uYWwoKSxcbiAgcm9sZTogei5yZWNvcmQoei5zdHJpbmcoKSwgei51bmtub3duKCkpLm9wdGlvbmFsKCksXG4gIC8qKlxuICAgKiBDb3N0LWFsbG9jYXRpb24gdGFncyBhcHBsaWVkIHRvIHRoZSBwaXBlbGluZSdzIHN0YWNrLiBSZXNlcnZlZCBrZXlzIGFyZVxuICAgKiByZWZ1c2VkIHJhdGhlciB0aGFuIGRyb3BwZWQsIHNvIGEgY2FsbGVyIGxlYXJucyB3aGljaCBrZXkgaXQgbWF5IG5vdCBzZXQ7XG4gICAqIGBQaXBlbGluZUJ1aWxkZXJgIGRyb3BzIHRoZW0gYWdhaW4gYXQgc3ludGggZm9yIGNhbGxlcnMgdGhhdCBieXBhc3MgdGhlIEFQSS5cbiAgICovXG4gIHRhZ3M6IHoucmVjb3JkKHouc3RyaW5nKCksIHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gIHN5bnRoOiB6Lm9iamVjdCh7XG4gICAgc291cmNlOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnVua25vd24oKSkub3B0aW9uYWwoKSxcbiAgICBwbHVnaW46IFBsdWdpbk9wdGlvbnNTY2hlbWEsXG4gIH0pLnBhc3N0aHJvdWdoKCksXG4gIHN0YWdlczogei5hcnJheShTdGFnZVNjaGVtYSkub3B0aW9uYWwoKSxcbn0pLnBhc3N0aHJvdWdoKCkuc3VwZXJSZWZpbmUoKHByb3BzLCBjdHgpID0+IHtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoKHByb3BzIGFzIHsgdGFncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfSkudGFncyA/PyB7fSkpIHtcbiAgICBpZiAoIWlzUmVzZXJ2ZWRUYWdLZXkoa2V5KSkgY29udGludWU7XG4gICAgY3R4LmFkZElzc3VlKHtcbiAgICAgIGNvZGU6ICdjdXN0b20nLFxuICAgICAgcGF0aDogWyd0YWdzJywga2V5XSxcbiAgICAgIG1lc3NhZ2U6XG4gICAgICAgIGBcXGAke2tleX1cXGAgaXMgYSByZXNlcnZlZCB0YWcga2V5IGFuZCBjYW5ub3QgYmUgc2V0LiBSZXNlcnZlZDogYFxuICAgICAgICArIGAke1JFU0VSVkVEX1RBR19LRVlTLmpvaW4oJywgJyl9LCBhbmQgYW55dGhpbmcgc3RhcnRpbmcgd2l0aCBgXG4gICAgICAgICsgYCR7UkVTRVJWRURfVEFHX1BSRUZJWEVTLmpvaW4oJyBvciAnKX0uIFRoZXNlIGNhcnJ5IHBpcGVsaW5lIHRlbmFuY3kgYW5kIGBcbiAgICAgICAgKyAnZGVwbG95IGF0dHJpYnV0aW9uLCBzbyB0aGUgcGxhdGZvcm0gb3ducyB0aGVtLicsXG4gICAgfSk7XG4gIH1cbn0pO1xuXG4vKipcbiAqIFBpcGVsaW5lIGNyZWF0aW9uIHNjaGVtYVxuICovXG5leHBvcnQgY29uc3QgUGlwZWxpbmVDcmVhdGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIC4uLkNhdGFsb2dNZXRhZGF0YVNoYXBlLFxuICBwcm9qZWN0OiB6LnN0cmluZygpLm1pbigxLCAnUHJvamVjdCBpcyByZXF1aXJlZCcpLFxuICBvcmdhbml6YXRpb246IHouc3RyaW5nKCkubWluKDEsICdPcmdhbml6YXRpb24gaXMgcmVxdWlyZWQnKSxcbiAgcGlwZWxpbmVOYW1lOiB6LnN0cmluZygpLm1pbigxKS5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBrZXl3b3Jkczogei5hcnJheSh6LnN0cmluZygpKS5vcHRpb25hbCgpLFxuICB2aXNpYmlsaXR5OiBWaXNpYmlsaXR5U2NoZW1hLm9wdGlvbmFsKCksXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIHBpcGVsaW5lIHBhdXNlZC4gRGVjbGFyZWQgaGVyZSBiZWNhdXNlIGl0IHVzZWQgdG8gYmUgc3RyaXBwZWQ6XG4gICAqIHRoZSBzY2hlbWEgaXMgc3RyaWN0LWJ5LWRlZmF1bHQsIHNvIHRoZSBDTEkncyBgLS1uby1hY3RpdmVgIHdhcyBzaWxlbnRseVxuICAgKiBkcm9wcGVkIGFuZCBldmVyeSBwaXBlbGluZSBjYW1lIHVwIGFjdGl2ZS5cbiAgICpcbiAgICogVGhlcmUgaXMgbm8gYGlzRGVmYXVsdGAgY291bnRlcnBhcnQuIGBwaXBlbGluZV9wcm9qZWN0X29yZ191bmlxdWVgIGFsbG93c1xuICAgKiBleGFjdGx5IG9uZSBwaXBlbGluZSBwZXIgKHByb2plY3QsIG9yZ2FuaXphdGlvbiwgb3JnKSwgc28gdGhlIHJvdyBjcmVhdGVkIGluXG4gICAqIGEgc2xvdCBJUyB0aGF0IHNsb3QncyBkZWZhdWx0IOKAlCBhIGBmYWxzZWAgY291bGQgbm90IGJlIGhvbm91cmVkLlxuICAgKi9cbiAgaXNBY3RpdmU6IEJvb2xlYW5RdWVyeVNjaGVtYS5vcHRpb25hbCgpLFxuICBwcm9wczogQnVpbGRlclByb3BzU2NoZW1hLFxufSk7XG5cbi8qKlxuICogUGlwZWxpbmUgdXBkYXRlIHNjaGVtYVxuICovXG5leHBvcnQgY29uc3QgUGlwZWxpbmVVcGRhdGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIC4uLkNhdGFsb2dNZXRhZGF0YVNoYXBlLFxuICBwaXBlbGluZU5hbWU6IHouc3RyaW5nKCkubWluKDEpLm9wdGlvbmFsKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGtleXdvcmRzOiB6LmFycmF5KHouc3RyaW5nKCkpLm9wdGlvbmFsKCksXG4gIHByb3BzOiBCdWlsZGVyUHJvcHNTY2hlbWEub3B0aW9uYWwoKSxcbiAgaXNBY3RpdmU6IEJvb2xlYW5RdWVyeVNjaGVtYS5vcHRpb25hbCgpLFxuICBpc0RlZmF1bHQ6IEJvb2xlYW5RdWVyeVNjaGVtYS5vcHRpb25hbCgpLFxuICB2aXNpYmlsaXR5OiBWaXNpYmlsaXR5U2NoZW1hLm9wdGlvbmFsKCksXG59KTtcbiJdfQ==
|
|
@@ -63,4 +63,4 @@ export const InstantiateTemplateSchema = z.object({
|
|
|
63
63
|
pipelineName: z.string().min(1).optional(),
|
|
64
64
|
inputs: z.record(z.string(), z.union([z.string(), z.number(), z.boolean()])).optional(),
|
|
65
65
|
});
|
|
66
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZWxpbmUtdGVtcGxhdGUtc2NoZW1hcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZhbGlkYXRpb24vcGlwZWxpbmUtdGVtcGxhdGUtc2NoZW1hcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQ0FBK0M7QUFDL0Msc0NBQXNDO0FBRXRDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDeEIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFbkg7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMxQyw4RUFBOEU7SUFDOUUsbURBQW1EO0lBQ25ELElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7U0FDNUIsS0FBSyxDQUFDLDBCQUEwQixFQUFFLHVDQUF1QyxDQUFDO1NBQzFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLHFCQUFxQixDQUFDO0lBQy9GLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNyQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDM0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzdDLFFBQVEsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxF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Q3hGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAyMDI2IFBpcGVsaW5lIEJ1aWxkZXIgQ29udHJpYnV0b3JzXG4vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQXBhY2hlLTIuMFxuXG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJztcbmltcG9ydCB7IEJhc2VGaWx0ZXJTY2hlbWEsIEJvb2xlYW5RdWVyeVNjaGVtYSwgQ2F0YWxvZ01ldGFkYXRhU2hhcGUsIFZpc2liaWxpdHlTY2hlbWEgfSBmcm9tICcuL2NvbW1vbi1zY2hlbWFzLmpzJztcblxuLyoqXG4gKiBPbmUgZGVjbGFyZWQgdGVtcGxhdGUgaW5wdXQg4oCUIG1pcnJvcnMgdGhlIGBUZW1wbGF0ZUlucHV0YCB0eXBlLiBUaGUgYG5hbWVgIGlzXG4gKiB0aGUgYHZhcnMuPG5hbWU+YCBrZXkgdGhlIHRlbXBsYXRlIGJvZHkgcmVmZXJlbmNlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IFRlbXBsYXRlSW5wdXRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIC8vIElkZW50aWZpZXIgb25seSDigJQgYmVjb21lcyBhIGB2YXJzLjxuYW1lPmAga2V5LiBFeGNsdWRlcyBwcm90b3R5cGUtcG9sbHV0aW9uXG4gIC8vIGtleXMgYW5kIGFueXRoaW5nIHRoYXQgaXNuJ3QgYSBwbGFpbiBpZGVudGlmaWVyLlxuICBuYW1lOiB6LnN0cmluZygpLm1pbigxKS5tYXgoNjQpXG4gICAgLnJlZ2V4KC9eW0EtWmEtel9dW0EtWmEtejAtOV9dKiQvLCAnaW5wdXQgbmFtZSBtdXN0IGJlIGEgdmFsaWQgaWRlbnRpZmllcicpXG4gICAgLnJlZmluZSgobikgPT4gIVsnX19wcm90b19fJywgJ2NvbnN0cnVjdG9yJywgJ3Byb3RvdHlwZSddLmluY2x1ZGVzKG4pLCAncmVzZXJ2ZWQgaW5wdXQgbmFtZScpLFxuICBsYWJlbDogei5zdHJpbmcoKS5tYXgoMTIwKS5vcHRpb25hbCgpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5tYXgoNTAwKS5vcHRpb25hbCgpLFxuICB0eXBlOiB6LmVudW0oWydzdHJpbmcnLCAnbnVtYmVyJywgJ2Jvb2xlYW4nXSksXG4gIHJlcXVpcmVkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBkZWZhdWx0OiB6LnVuaW9uKFt6LnN0cmluZygpLCB6Lm51bWJlcigpLCB6LmJvb2xlYW4oKV0pLm9wdGlvbmFsKCksXG4gIG9wdGlvbnM6IHouYXJyYXkoei5zdHJpbmcoKS5tYXgoMjU1KSkubWF4KDUwKS5vcHRpb25hbCgpLFxufSk7XG5cbi8qKiBQaXBlbGluZS10ZW1wbGF0ZSBsaXN0IGZpbHRlciAocXVlcnkgcGFyYW1zKS4gKi9cbmV4cG9ydCBjb25zdCBQaXBlbGluZVRlbXBsYXRlRmlsdGVyU2NoZW1hID0gQmFzZUZpbHRlclNjaGVtYS5leHRlbmQoe1xuICBuYW1lOiB6LnN0cmluZygpLm1pbigxKS5vcHRpb25hbCgpLFxuICBjYXRlZ29yeTogei5zdHJpbmcoKS5taW4oMSkub3B0aW9uYWwoKSxcbiAga2V5d29yZDogei5zdHJpbmcoKS5taW4oMSkub3B0aW9uYWwoKSxcbiAgb3JnSWQ6IHouc3RyaW5nKCkubWluKDEpLm9wdGlvbmFsKCksXG4gIHZpc2liaWxpdHk6IFZpc2liaWxpdHlTY2hlbWEub3B0aW9uYWwoKSxcbn0pO1xuXG4vKiogQ3JlYXRlIGEgcGlwZWxpbmUgdGVtcGxhdGUgKGF1dGhvciBhIGdvbGRlbiBwYXRoKS4gKi9cbmV4cG9ydCBjb25zdCBQaXBlbGluZVRlbXBsYXRlQ3JlYXRlU2NoZW1hID0gei5vYmplY3Qoe1xuICAuLi5DYXRhbG9nTWV0YWRhdGFTaGFwZSxcbiAgLy8gQm91bmRlZCB0byB0aGUgREIgY29sdW1uIHdpZHRocyBzbyBhbiBvdmVyLWxlbmd0aCB2YWx1ZSBpcyBhIGNsZWFuIDQwMCxcbiAgLy8gbm90IGEgUG9zdGdyZXMgbGVuZ3RoIGVycm9yIHN1cmZhY2VkIGFzIGEgNTAwLlxuICBuYW1lOiB6LnN0cmluZygpLm1pbigxLCAnVGVtcGxhdGUgbmFtZSBpcyByZXF1aXJlZCcpLm1heCgyNTUpLFxuICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKS5tYXgoMjAwMCkub3B0aW9uYWwoKSxcbiAga2V5d29yZHM6IHouYXJyYXkoei5zdHJpbmcoKS5tYXgoNjQpKS5tYXgoNTApLm9wdGlvbmFsKCksXG4gIGNhdGVnb3J5OiB6LnN0cmluZygpLm1pbigxKS5tYXgoNTApLm9wdGlvbmFsKCksXG4gIHZpc2liaWxpdHk6IFZpc2liaWxpdHlTY2hlbWEub3B0aW9uYWwoKSxcbiAgLy8gVGVtcGxhdGUgYm9keTogYSBCdWlsZGVyUHJvcHMgd2l0aCBge3sgdmFycy4qIH19YCBwbGFjZWhvbGRlcnMuXG4gIHByb3BzOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnVua25vd24oKSksXG4gIGlucHV0czogei5hcnJheShUZW1wbGF0ZUlucHV0U2NoZW1hKS5tYXgoMTAwKS5vcHRpb25hbCgpLFxufSk7XG5cbi8qKiBVcGRhdGUgYSBwaXBlbGluZSB0ZW1wbGF0ZS4gKi9cbmV4cG9ydCBjb25zdCBQaXBlbGluZVRlbXBsYXRlVXBkYXRlU2NoZW1hID0gei5vYmplY3Qoe1xuICAuLi5DYXRhbG9nTWV0YWRhdGFTaGFwZSxcbiAgbmFtZTogei5zdHJpbmcoKS5taW4oMSkubWF4KDI1NSkub3B0aW9uYWwoKSxcbiAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkubWF4KDIwMDApLm9wdGlvbmFsKCksXG4gIGtleXdvcmRzOiB6LmFycmF5KHouc3RyaW5nKCkubWF4KDY0KSkubWF4KDUwKS5vcHRpb25hbCgpLFxuICBjYXRlZ29yeTogei5zdHJpbmcoKS5taW4oMSkubWF4KDUwKS5vcHRpb25hbCgpLFxuICB2aXNpYmlsaXR5OiBWaXNpYmlsaXR5U2NoZW1hLm9wdGlvbmFsKCksXG4gIHByb3BzOiB6LnJlY29yZCh6LnN0cmluZygpLCB6LnVua25vd24oKSkub3B0aW9uYWwoKSxcbiAgaW5wdXRzOiB6LmFycmF5KFRlbXBsYXRlSW5wdXRTY2hlbWEpLm1heCgxMDApLm9wdGlvbmFsKCksXG4gIGlzQWN0aXZlOiBCb29sZWFuUXVlcnlTY2hlbWEub3B0aW9uYWwoKSxcbn0pO1xuXG4vKipcbiAqIEluc3RhbnRpYXRlIGEgdGVtcGxhdGUgaW50byBhIGNvbmNyZXRlIHBpcGVsaW5lIGNvbmZpZy4gYGlucHV0c2Agc3VwcGxpZXMgdGhlXG4gKiBkZWNsYXJlZCBgdmFycy4qYCB2YWx1ZXM7IHByb2plY3Qvb3JnYW5pemF0aW9uL3BpcGVsaW5lTmFtZSBuYW1lIHRoZSBwaXBlbGluZS5cbiAqL1xuZXhwb3J0IGNvbnN0IEluc3RhbnRpYXRlVGVtcGxhdGVTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIHByb2plY3Q6IHouc3RyaW5nKCkubWluKDEsICdQcm9qZWN0IGlzIHJlcXVpcmVkJyksXG4gIG9yZ2FuaXphdGlvbjogei5zdHJpbmcoKS5taW4oMSwgJ09yZ2FuaXphdGlvbiBpcyByZXF1aXJlZCcpLFxuICBwaXBlbGluZU5hbWU6IHouc3RyaW5nKCkubWluKDEpLm9wdGlvbmFsKCksXG4gIGlucHV0czogei5yZWNvcmQoei5zdHJpbmcoKSwgei51bmlvbihbei5zdHJpbmcoKSwgei5udW1iZXIoKSwgei5ib29sZWFuKCldKSkub3B0aW9uYWwoKSxcbn0pO1xuIl19
|