@decaf-ts/integrations 0.14.3 → 0.15.3
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/LICENSE.md +373 -21
- package/dist/integrations.cjs +2 -3317
- package/dist/integrations.cjs.map +1 -0
- package/dist/integrations.js +2 -3665
- package/dist/integrations.js.map +1 -0
- package/jest.config.cjs +0 -1
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/azure/index.cjs +2 -2
- package/lib/cjs/blob/azure/index.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/core/BlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
- package/lib/cjs/blob/core/BlobErrors.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobKey.cjs +2 -2
- package/lib/cjs/blob/core/BlobKey.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
- package/lib/cjs/blob/core/BlobTypes.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobValue.cjs +2 -2
- package/lib/cjs/blob/core/BlobValue.cjs.map +1 -0
- package/lib/cjs/blob/core/index.cjs +2 -2
- package/lib/cjs/blob/core/index.cjs.map +1 -0
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/gcp/index.cjs +2 -2
- package/lib/cjs/blob/gcp/index.cjs.map +1 -0
- package/lib/cjs/blob/index.cjs +2 -2
- package/lib/cjs/blob/index.cjs.map +1 -0
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/local/index.cjs +2 -2
- package/lib/cjs/blob/local/index.cjs.map +1 -0
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/memory/index.cjs +2 -2
- package/lib/cjs/blob/memory/index.cjs.map +1 -0
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs.map +1 -0
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/index.cjs +2 -2
- package/lib/cjs/blob/s3/index.cjs.map +1 -0
- package/lib/cjs/calendar/CalendarService.cjs +2 -2
- package/lib/cjs/calendar/CalendarService.cjs.map +1 -0
- package/lib/cjs/calendar/environment.cjs +2 -2
- package/lib/cjs/calendar/environment.cjs.map +1 -0
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs +2 -2
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs.map +1 -0
- package/lib/cjs/calendar/google-calendar/index.cjs +2 -2
- package/lib/cjs/calendar/google-calendar/index.cjs.map +1 -0
- package/lib/cjs/calendar/index.cjs +2 -2
- package/lib/cjs/calendar/index.cjs.map +1 -0
- package/lib/cjs/calendar/types.cjs +2 -2
- package/lib/cjs/calendar/types.cjs.map +1 -0
- package/lib/cjs/calendar/validators/cron.cjs +2 -2
- package/lib/cjs/calendar/validators/cron.cjs.map +1 -0
- package/lib/cjs/calendar/writers/CalendarFsWriter.cjs +2 -2
- package/lib/cjs/calendar/writers/CalendarFsWriter.cjs.map +1 -0
- package/lib/cjs/calendar/writers/CalenderDownloader.cjs +2 -2
- package/lib/cjs/calendar/writers/CalenderDownloader.cjs.map +1 -0
- package/lib/cjs/calendar/writers/ICalendarWriter.cjs +2 -2
- package/lib/cjs/calendar/writers/ICalendarWriter.cjs.map +1 -0
- package/lib/cjs/comms/discord/DiscordService.cjs +2 -2
- package/lib/cjs/comms/discord/DiscordService.cjs.map +1 -0
- package/lib/cjs/comms/discord/index.cjs +2 -2
- package/lib/cjs/comms/discord/index.cjs.map +1 -0
- package/lib/cjs/comms/email/EmailService.cjs +2 -2
- package/lib/cjs/comms/email/EmailService.cjs.map +1 -0
- package/lib/cjs/comms/email/index.cjs +2 -2
- package/lib/cjs/comms/email/index.cjs.map +1 -0
- package/lib/cjs/comms/email/mime.cjs +2 -2
- package/lib/cjs/comms/email/mime.cjs.map +1 -0
- package/lib/cjs/comms/email/smtp.cjs +2 -2
- package/lib/cjs/comms/email/smtp.cjs.map +1 -0
- package/lib/cjs/comms/environment.cjs +2 -2
- package/lib/cjs/comms/environment.cjs.map +1 -0
- package/lib/cjs/comms/gmail/GmailService.cjs +2 -2
- package/lib/cjs/comms/gmail/GmailService.cjs.map +1 -0
- package/lib/cjs/comms/gmail/index.cjs +2 -2
- package/lib/cjs/comms/gmail/index.cjs.map +1 -0
- package/lib/cjs/comms/index.cjs +2 -2
- package/lib/cjs/comms/index.cjs.map +1 -0
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs +2 -2
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs.map +1 -0
- package/lib/cjs/comms/outlook/index.cjs +2 -2
- package/lib/cjs/comms/outlook/index.cjs.map +1 -0
- package/lib/cjs/comms/slack/SlackService.cjs +2 -2
- package/lib/cjs/comms/slack/SlackService.cjs.map +1 -0
- package/lib/cjs/comms/slack/index.cjs +2 -2
- package/lib/cjs/comms/slack/index.cjs.map +1 -0
- package/lib/cjs/comms/teams/TeamsService.cjs +2 -2
- package/lib/cjs/comms/teams/TeamsService.cjs.map +1 -0
- package/lib/cjs/comms/teams/index.cjs +2 -2
- package/lib/cjs/comms/teams/index.cjs.map +1 -0
- package/lib/cjs/comms/telegram/TelegramService.cjs +2 -2
- package/lib/cjs/comms/telegram/TelegramService.cjs.map +1 -0
- package/lib/cjs/comms/telegram/index.cjs +2 -2
- package/lib/cjs/comms/telegram/index.cjs.map +1 -0
- package/lib/cjs/comms/whatsapp/WhatsAppService.cjs +2 -2
- package/lib/cjs/comms/whatsapp/WhatsAppService.cjs.map +1 -0
- package/lib/cjs/comms/whatsapp/index.cjs +2 -2
- package/lib/cjs/comms/whatsapp/index.cjs.map +1 -0
- package/lib/cjs/devops/environment.cjs +2 -2
- package/lib/cjs/devops/environment.cjs.map +1 -0
- package/lib/cjs/devops/github/GithubService.cjs +2 -2
- package/lib/cjs/devops/github/GithubService.cjs.map +1 -0
- package/lib/cjs/devops/github/index.cjs +2 -2
- package/lib/cjs/devops/github/index.cjs.map +1 -0
- package/lib/cjs/devops/gitlab/GitlabService.cjs +2 -2
- package/lib/cjs/devops/gitlab/GitlabService.cjs.map +1 -0
- package/lib/cjs/devops/gitlab/index.cjs +2 -2
- package/lib/cjs/devops/gitlab/index.cjs.map +1 -0
- package/lib/cjs/devops/index.cjs +2 -2
- package/lib/cjs/devops/index.cjs.map +1 -0
- package/lib/cjs/docker/DockerComposeService.cjs +2 -2
- package/lib/cjs/docker/DockerComposeService.cjs.map +1 -0
- package/lib/cjs/docker/index.cjs +2 -2
- package/lib/cjs/docker/index.cjs.map +1 -0
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs +2 -2
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs.map +1 -0
- package/lib/cjs/feature-flags/constants.cjs +2 -2
- package/lib/cjs/feature-flags/constants.cjs.map +1 -0
- package/lib/cjs/feature-flags/decorators.cjs +2 -2
- package/lib/cjs/feature-flags/decorators.cjs.map +1 -0
- package/lib/cjs/feature-flags/environment.cjs +2 -2
- package/lib/cjs/feature-flags/environment.cjs.map +1 -0
- package/lib/cjs/feature-flags/index.cjs +2 -2
- package/lib/cjs/feature-flags/index.cjs.map +1 -0
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs.map +1 -0
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs.map +1 -0
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs +2 -2
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs.map +1 -0
- package/lib/cjs/feature-flags/readers/index.cjs +2 -2
- package/lib/cjs/feature-flags/readers/index.cjs.map +1 -0
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs +3 -2
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs.map +1 -0
- package/lib/cjs/feature-flags/types.cjs +2 -2
- package/lib/cjs/feature-flags/types.cjs.map +1 -0
- package/lib/cjs/feature-flags/utils.cjs +2 -2
- package/lib/cjs/feature-flags/utils.cjs.map +1 -0
- package/lib/cjs/index.cjs +5 -5
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/io/airtable/AirtableService.cjs +2 -2
- package/lib/cjs/io/airtable/AirtableService.cjs.map +1 -0
- package/lib/cjs/io/airtable/index.cjs +2 -2
- package/lib/cjs/io/airtable/index.cjs.map +1 -0
- package/lib/cjs/io/confluence/ConfluenceService.cjs +2 -2
- package/lib/cjs/io/confluence/ConfluenceService.cjs.map +1 -0
- package/lib/cjs/io/confluence/index.cjs +2 -2
- package/lib/cjs/io/confluence/index.cjs.map +1 -0
- package/lib/cjs/io/environment.cjs +2 -2
- package/lib/cjs/io/environment.cjs.map +1 -0
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs +2 -2
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs.map +1 -0
- package/lib/cjs/io/google-docs/index.cjs +2 -2
- package/lib/cjs/io/google-docs/index.cjs.map +1 -0
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs +2 -2
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs.map +1 -0
- package/lib/cjs/io/google-sheets/index.cjs +2 -2
- package/lib/cjs/io/google-sheets/index.cjs.map +1 -0
- package/lib/cjs/io/graphql/GraphqlService.cjs +2 -2
- package/lib/cjs/io/graphql/GraphqlService.cjs.map +1 -0
- package/lib/cjs/io/graphql/index.cjs +2 -2
- package/lib/cjs/io/graphql/index.cjs.map +1 -0
- package/lib/cjs/io/index.cjs +2 -2
- package/lib/cjs/io/index.cjs.map +1 -0
- package/lib/cjs/io/jira/JiraService.cjs +2 -2
- package/lib/cjs/io/jira/JiraService.cjs.map +1 -0
- package/lib/cjs/io/jira/index.cjs +2 -2
- package/lib/cjs/io/jira/index.cjs.map +1 -0
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs +2 -2
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs.map +1 -0
- package/lib/cjs/io/microsoft-excel/index.cjs +2 -2
- package/lib/cjs/io/microsoft-excel/index.cjs.map +1 -0
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs +2 -2
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs.map +1 -0
- package/lib/cjs/io/microsoft-sharepoint/index.cjs +2 -2
- package/lib/cjs/io/microsoft-sharepoint/index.cjs.map +1 -0
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs +2 -2
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs.map +1 -0
- package/lib/cjs/io/spreadsheet/index.cjs +2 -2
- package/lib/cjs/io/spreadsheet/index.cjs.map +1 -0
- package/lib/cjs/keycloak/broker.cjs +2 -2
- package/lib/cjs/keycloak/broker.cjs.map +1 -0
- package/lib/cjs/keycloak/index.cjs +2 -2
- package/lib/cjs/keycloak/index.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/index.cjs +2 -2
- package/lib/cjs/keycloak/services/index.cjs.map +1 -0
- package/lib/cjs/keycloak/services/runtime.cjs +2 -2
- package/lib/cjs/keycloak/services/runtime.cjs.map +1 -0
- package/lib/cjs/keycloak/types.cjs +2 -2
- package/lib/cjs/keycloak/types.cjs.map +1 -0
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs.map +1 -0
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs.map +1 -0
- package/lib/cjs/kibana/builders/index.cjs +2 -2
- package/lib/cjs/kibana/builders/index.cjs.map +1 -0
- package/lib/cjs/kibana/helpers.cjs +2 -2
- package/lib/cjs/kibana/helpers.cjs.map +1 -0
- package/lib/cjs/kibana/index.cjs +2 -2
- package/lib/cjs/kibana/index.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaUserService.cjs.map +1 -0
- package/lib/cjs/kibana/services/index.cjs +2 -2
- package/lib/cjs/kibana/services/index.cjs.map +1 -0
- package/lib/cjs/kibana/services/runtime.cjs +2 -2
- package/lib/cjs/kibana/services/runtime.cjs.map +1 -0
- package/lib/cjs/kibana/types.cjs +2 -2
- package/lib/cjs/kibana/types.cjs.map +1 -0
- package/lib/cjs/loader/ObjectLoader.cjs +2 -2
- package/lib/cjs/loader/ObjectLoader.cjs.map +1 -0
- package/lib/cjs/loader/assets.cjs +2 -2
- package/lib/cjs/loader/assets.cjs.map +1 -0
- package/lib/cjs/loader/config.cjs +2 -2
- package/lib/cjs/loader/config.cjs.map +1 -0
- package/lib/cjs/loader/families.cjs +2 -2
- package/lib/cjs/loader/families.cjs.map +1 -0
- package/lib/cjs/loader/index.cjs +2 -2
- package/lib/cjs/loader/index.cjs.map +1 -0
- package/lib/cjs/loader/nest.cjs +2 -2
- package/lib/cjs/loader/nest.cjs.map +1 -0
- package/lib/cjs/loader/types.cjs +2 -2
- package/lib/cjs/loader/types.cjs.map +1 -0
- package/lib/cjs/namespaces/index.cjs +2 -2
- package/lib/cjs/namespaces/index.cjs.map +1 -0
- package/lib/cjs/namespaces/models/authorization-model.cjs +2 -2
- package/lib/cjs/namespaces/models/authorization-model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/credential.model.cjs +2 -2
- package/lib/cjs/namespaces/models/credential.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/group.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/index.cjs +2 -2
- package/lib/cjs/namespaces/models/index.cjs.map +1 -0
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -2
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/principal.model.cjs +2 -2
- package/lib/cjs/namespaces/models/principal.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -2
- package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -2
- package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/user.model.cjs +2 -2
- package/lib/cjs/namespaces/models/user.model.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/index.cjs +2 -2
- package/lib/cjs/namespaces/rls/index.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/principal-resolver.cjs +2 -2
- package/lib/cjs/namespaces/rls/principal-resolver.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls.constants.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.constants.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls.template.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.template.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/rls.types.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.types.cjs.map +1 -0
- package/lib/cjs/namespaces/rls/session-binding.cjs +2 -2
- package/lib/cjs/namespaces/rls/session-binding.cjs.map +1 -0
- package/lib/cjs/namespaces/services/authz.service.cjs +2 -2
- package/lib/cjs/namespaces/services/authz.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/services/bootstrap.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/credential.service.cjs +2 -2
- package/lib/cjs/namespaces/services/credential.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/effective-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/effective-permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/group-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/group.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/index.cjs +2 -2
- package/lib/cjs/namespaces/services/index.cjs.map +1 -0
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs +2 -2
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/principal.service.cjs +2 -2
- package/lib/cjs/namespaces/services/principal.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/protected-resource.service.cjs +2 -2
- package/lib/cjs/namespaces/services/protected-resource.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/resource-grant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-grant.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role-assignment.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-assignment.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/storage-binding.service.cjs +2 -2
- package/lib/cjs/namespaces/services/storage-binding.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/system-management.service.cjs +2 -2
- package/lib/cjs/namespaces/services/system-management.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/user.service.cjs +2 -2
- package/lib/cjs/namespaces/services/user.service.cjs.map +1 -0
- package/lib/cjs/namespaces/types.cjs +2 -2
- package/lib/cjs/namespaces/types.cjs.map +1 -0
- package/lib/cjs/namespaces/utils.cjs +2 -2
- package/lib/cjs/namespaces/utils.cjs.map +1 -0
- package/lib/cjs/nest/decorators.cjs +2 -2
- package/lib/cjs/nest/decorators.cjs.map +1 -0
- package/lib/cjs/nest/index.cjs +2 -2
- package/lib/cjs/nest/index.cjs.map +1 -0
- package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
- package/lib/cjs/nest/keycloakAuthHandler.cjs.map +1 -0
- package/lib/cjs/nest/keycloakModule.cjs +2 -2
- package/lib/cjs/nest/keycloakModule.cjs.map +1 -0
- package/lib/cjs/nest/logging.cjs +2 -2
- package/lib/cjs/nest/logging.cjs.map +1 -0
- package/lib/cjs/nest/types.cjs +2 -2
- package/lib/cjs/nest/types.cjs.map +1 -0
- package/lib/cjs/nest/utils.cjs +2 -2
- package/lib/cjs/nest/utils.cjs.map +1 -0
- package/lib/cjs/plugins/contract.cjs +2 -2
- package/lib/cjs/plugins/contract.cjs.map +1 -0
- package/lib/cjs/plugins/index.cjs +2 -2
- package/lib/cjs/plugins/index.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/host.cjs +2 -2
- package/lib/cjs/plugins/kibana/host.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/index.cjs +2 -2
- package/lib/cjs/plugins/kibana/index.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/installer.cjs +2 -2
- package/lib/cjs/plugins/kibana/installer.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/manifest.cjs +2 -2
- package/lib/cjs/plugins/kibana/manifest.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/templates.cjs +2 -2
- package/lib/cjs/plugins/kibana/templates.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/types.cjs +2 -2
- package/lib/cjs/plugins/kibana/types.cjs.map +1 -0
- package/lib/cjs/plugins/superset/host.cjs +2 -2
- package/lib/cjs/plugins/superset/host.cjs.map +1 -0
- package/lib/cjs/plugins/superset/index.cjs +2 -2
- package/lib/cjs/plugins/superset/index.cjs.map +1 -0
- package/lib/cjs/plugins/superset/installer.cjs +2 -2
- package/lib/cjs/plugins/superset/installer.cjs.map +1 -0
- package/lib/cjs/plugins/superset/manifest.cjs +2 -2
- package/lib/cjs/plugins/superset/manifest.cjs.map +1 -0
- package/lib/cjs/plugins/superset/templates.cjs +2 -2
- package/lib/cjs/plugins/superset/templates.cjs.map +1 -0
- package/lib/cjs/plugins/superset/types.cjs +2 -2
- package/lib/cjs/plugins/superset/types.cjs.map +1 -0
- package/lib/cjs/redis/RedisContextLock.cjs +2 -2
- package/lib/cjs/redis/RedisContextLock.cjs.map +1 -0
- package/lib/cjs/redis/RedisDispatch.cjs +2 -2
- package/lib/cjs/redis/RedisDispatch.cjs.map +1 -0
- package/lib/cjs/redis/RedisPaginator.cjs +2 -2
- package/lib/cjs/redis/RedisPaginator.cjs.map +1 -0
- package/lib/cjs/redis/RedisStatement.cjs +2 -2
- package/lib/cjs/redis/RedisStatement.cjs.map +1 -0
- package/lib/cjs/redis/adapter.cjs +2 -2
- package/lib/cjs/redis/adapter.cjs.map +1 -0
- package/lib/cjs/redis/constants.cjs +2 -2
- package/lib/cjs/redis/constants.cjs.map +1 -0
- package/lib/cjs/redis/handlers.cjs +2 -2
- package/lib/cjs/redis/handlers.cjs.map +1 -0
- package/lib/cjs/redis/index.cjs +2 -2
- package/lib/cjs/redis/index.cjs.map +1 -0
- package/lib/cjs/redis/serialization.cjs +2 -2
- package/lib/cjs/redis/serialization.cjs.map +1 -0
- package/lib/cjs/redis/types.cjs +2 -2
- package/lib/cjs/redis/types.cjs.map +1 -0
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs +2 -2
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/aws/index.cjs +2 -2
- package/lib/cjs/secrets/aws/index.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/azure/index.cjs +2 -2
- package/lib/cjs/secrets/azure/index.cjs.map +1 -0
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs +2 -2
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/core/SecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
- package/lib/cjs/secrets/core/SecretErrors.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretName.cjs +2 -2
- package/lib/cjs/secrets/core/SecretName.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
- package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
- package/lib/cjs/secrets/core/SecretSerialization.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretService.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
- package/lib/cjs/secrets/core/SecretTypes.cjs.map +1 -0
- package/lib/cjs/secrets/core/index.cjs +2 -2
- package/lib/cjs/secrets/core/index.cjs.map +1 -0
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/fs/FsSecretService.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/fs/index.cjs +2 -2
- package/lib/cjs/secrets/fs/index.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/index.cjs +2 -2
- package/lib/cjs/secrets/gcp/index.cjs.map +1 -0
- package/lib/cjs/secrets/index.cjs +2 -2
- package/lib/cjs/secrets/index.cjs.map +1 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/kubernetes/KubernetesSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretService.cjs +2 -2
- package/lib/cjs/secrets/kubernetes/KubernetesSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/kubernetes/KubernetesSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/kubernetes/index.cjs +2 -2
- package/lib/cjs/secrets/kubernetes/index.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/model/Secret.cjs +2 -2
- package/lib/cjs/secrets/model/Secret.cjs.map +1 -0
- package/lib/cjs/secrets/model/index.cjs +2 -2
- package/lib/cjs/secrets/model/index.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/index.cjs +2 -2
- package/lib/cjs/secrets/onepassword/index.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/vault/index.cjs +2 -2
- package/lib/cjs/secrets/vault/index.cjs.map +1 -0
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs.map +1 -0
- package/lib/cjs/sftp/aws/AwsSftpService.cjs +2 -2
- package/lib/cjs/sftp/aws/AwsSftpService.cjs.map +1 -0
- package/lib/cjs/sftp/aws/index.cjs +2 -2
- package/lib/cjs/sftp/aws/index.cjs.map +1 -0
- package/lib/cjs/sftp/core/SftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/core/SftpEnvironment.cjs.map +1 -0
- package/lib/cjs/sftp/core/SftpSource.cjs +2 -2
- package/lib/cjs/sftp/core/SftpSource.cjs.map +1 -0
- package/lib/cjs/sftp/core/index.cjs +2 -2
- package/lib/cjs/sftp/core/index.cjs.map +1 -0
- package/lib/cjs/sftp/index.cjs +2 -2
- package/lib/cjs/sftp/index.cjs.map +1 -0
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs.map +1 -0
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs +2 -2
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs.map +1 -0
- package/lib/cjs/sftp/ssh2/index.cjs +2 -2
- package/lib/cjs/sftp/ssh2/index.cjs.map +1 -0
- package/lib/cjs/shared/environmentValue.cjs +2 -2
- package/lib/cjs/shared/environmentValue.cjs.map +1 -0
- package/lib/cjs/shared/http/HttpApiService.cjs +2 -2
- package/lib/cjs/shared/http/HttpApiService.cjs.map +1 -0
- package/lib/cjs/shared/http/hermeticBoot.cjs +2 -2
- package/lib/cjs/shared/http/hermeticBoot.cjs.map +1 -0
- package/lib/cjs/shared/http/index.cjs +2 -2
- package/lib/cjs/shared/http/index.cjs.map +1 -0
- package/lib/cjs/shared/runtime.cjs +2 -2
- package/lib/cjs/shared/runtime.cjs.map +1 -0
- package/lib/cjs/user-requests/index.cjs +2 -2
- package/lib/cjs/user-requests/index.cjs.map +1 -0
- package/lib/cjs/utils.cjs +2 -2
- package/lib/cjs/utils.cjs.map +1 -0
- package/lib/esm/blob/azure/AzureBlobEnvironment.js +1 -1
- package/lib/esm/blob/azure/AzureBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -0
- package/lib/esm/blob/azure/index.js +1 -1
- package/lib/esm/blob/azure/index.js.map +1 -0
- package/lib/esm/blob/core/BlobEnvironment.js +1 -1
- package/lib/esm/blob/core/BlobEnvironment.js.map +1 -0
- package/lib/esm/blob/core/BlobErrors.js +1 -1
- package/lib/esm/blob/core/BlobErrors.js.map +1 -0
- package/lib/esm/blob/core/BlobKey.js +1 -1
- package/lib/esm/blob/core/BlobKey.js.map +1 -0
- package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
- package/lib/esm/blob/core/BlobStoreFactory.js.map +1 -0
- package/lib/esm/blob/core/BlobStoreService.js +1 -1
- package/lib/esm/blob/core/BlobStoreService.js.map +1 -0
- package/lib/esm/blob/core/BlobTypes.js +1 -1
- package/lib/esm/blob/core/BlobTypes.js.map +1 -0
- package/lib/esm/blob/core/BlobValue.js +1 -1
- package/lib/esm/blob/core/BlobValue.js.map +1 -0
- package/lib/esm/blob/core/index.js +1 -1
- package/lib/esm/blob/core/index.js.map +1 -0
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -0
- package/lib/esm/blob/gcp/index.js +1 -1
- package/lib/esm/blob/gcp/index.js.map +1 -0
- package/lib/esm/blob/index.js +1 -1
- package/lib/esm/blob/index.js.map +1 -0
- package/lib/esm/blob/local/LocalBlobEnvironment.js +1 -1
- package/lib/esm/blob/local/LocalBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js.map +1 -0
- package/lib/esm/blob/local/index.js +1 -1
- package/lib/esm/blob/local/index.js.map +1 -0
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +1 -0
- package/lib/esm/blob/memory/index.js +1 -1
- package/lib/esm/blob/memory/index.js.map +1 -0
- package/lib/esm/blob/s3/MinioBlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/MinioBlobEnvironment.js.map +1 -0
- package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/R2BlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/R2BlobEnvironment.js.map +1 -0
- package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/S3BlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/S3BlobEnvironment.js.map +1 -0
- package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/index.js +1 -1
- package/lib/esm/blob/s3/index.js.map +1 -0
- package/lib/esm/calendar/CalendarService.js +1 -1
- package/lib/esm/calendar/CalendarService.js.map +1 -0
- package/lib/esm/calendar/environment.js +1 -1
- package/lib/esm/calendar/environment.js.map +1 -0
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js +1 -1
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js.map +1 -0
- package/lib/esm/calendar/google-calendar/index.js +1 -1
- package/lib/esm/calendar/google-calendar/index.js.map +1 -0
- package/lib/esm/calendar/index.js +1 -1
- package/lib/esm/calendar/index.js.map +1 -0
- package/lib/esm/calendar/types.js +1 -1
- package/lib/esm/calendar/types.js.map +1 -0
- package/lib/esm/calendar/validators/cron.js +1 -1
- package/lib/esm/calendar/validators/cron.js.map +1 -0
- package/lib/esm/calendar/writers/CalendarFsWriter.js +1 -1
- package/lib/esm/calendar/writers/CalendarFsWriter.js.map +1 -0
- package/lib/esm/calendar/writers/CalenderDownloader.js +1 -1
- package/lib/esm/calendar/writers/CalenderDownloader.js.map +1 -0
- package/lib/esm/calendar/writers/ICalendarWriter.js +1 -1
- package/lib/esm/calendar/writers/ICalendarWriter.js.map +1 -0
- package/lib/esm/comms/discord/DiscordService.js +1 -1
- package/lib/esm/comms/discord/DiscordService.js.map +1 -0
- package/lib/esm/comms/discord/index.js +1 -1
- package/lib/esm/comms/discord/index.js.map +1 -0
- package/lib/esm/comms/email/EmailService.js +1 -1
- package/lib/esm/comms/email/EmailService.js.map +1 -0
- package/lib/esm/comms/email/index.js +1 -1
- package/lib/esm/comms/email/index.js.map +1 -0
- package/lib/esm/comms/email/mime.js +1 -1
- package/lib/esm/comms/email/mime.js.map +1 -0
- package/lib/esm/comms/email/smtp.js +1 -1
- package/lib/esm/comms/email/smtp.js.map +1 -0
- package/lib/esm/comms/environment.js +1 -1
- package/lib/esm/comms/environment.js.map +1 -0
- package/lib/esm/comms/gmail/GmailService.js +1 -1
- package/lib/esm/comms/gmail/GmailService.js.map +1 -0
- package/lib/esm/comms/gmail/index.js +1 -1
- package/lib/esm/comms/gmail/index.js.map +1 -0
- package/lib/esm/comms/index.js +1 -1
- package/lib/esm/comms/index.js.map +1 -0
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js +1 -1
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js.map +1 -0
- package/lib/esm/comms/outlook/index.js +1 -1
- package/lib/esm/comms/outlook/index.js.map +1 -0
- package/lib/esm/comms/slack/SlackService.js +1 -1
- package/lib/esm/comms/slack/SlackService.js.map +1 -0
- package/lib/esm/comms/slack/index.js +1 -1
- package/lib/esm/comms/slack/index.js.map +1 -0
- package/lib/esm/comms/teams/TeamsService.js +1 -1
- package/lib/esm/comms/teams/TeamsService.js.map +1 -0
- package/lib/esm/comms/teams/index.js +1 -1
- package/lib/esm/comms/teams/index.js.map +1 -0
- package/lib/esm/comms/telegram/TelegramService.js +1 -1
- package/lib/esm/comms/telegram/TelegramService.js.map +1 -0
- package/lib/esm/comms/telegram/index.js +1 -1
- package/lib/esm/comms/telegram/index.js.map +1 -0
- package/lib/esm/comms/whatsapp/WhatsAppService.js +1 -1
- package/lib/esm/comms/whatsapp/WhatsAppService.js.map +1 -0
- package/lib/esm/comms/whatsapp/index.js +1 -1
- package/lib/esm/comms/whatsapp/index.js.map +1 -0
- package/lib/esm/devops/environment.js +1 -1
- package/lib/esm/devops/environment.js.map +1 -0
- package/lib/esm/devops/github/GithubService.js +1 -1
- package/lib/esm/devops/github/GithubService.js.map +1 -0
- package/lib/esm/devops/github/index.js +1 -1
- package/lib/esm/devops/github/index.js.map +1 -0
- package/lib/esm/devops/gitlab/GitlabService.js +1 -1
- package/lib/esm/devops/gitlab/GitlabService.js.map +1 -0
- package/lib/esm/devops/gitlab/index.js +1 -1
- package/lib/esm/devops/gitlab/index.js.map +1 -0
- package/lib/esm/devops/index.js +1 -1
- package/lib/esm/devops/index.js.map +1 -0
- package/lib/esm/docker/DockerComposeService.js +1 -1
- package/lib/esm/docker/DockerComposeService.js.map +1 -0
- package/lib/esm/docker/index.js +1 -1
- package/lib/esm/docker/index.js.map +1 -0
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js +1 -1
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js.map +1 -0
- package/lib/esm/feature-flags/constants.js +1 -1
- package/lib/esm/feature-flags/constants.js.map +1 -0
- package/lib/esm/feature-flags/decorators.js +1 -1
- package/lib/esm/feature-flags/decorators.js.map +1 -0
- package/lib/esm/feature-flags/environment.js +1 -1
- package/lib/esm/feature-flags/environment.js.map +1 -0
- package/lib/esm/feature-flags/index.js +1 -1
- package/lib/esm/feature-flags/index.js.map +1 -0
- package/lib/esm/feature-flags/models/FeatureFlag.model.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlag.model.js.map +1 -0
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js.map +1 -0
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js +1 -1
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js.map +1 -0
- package/lib/esm/feature-flags/readers/index.js +1 -1
- package/lib/esm/feature-flags/readers/index.js.map +1 -0
- package/lib/esm/feature-flags/services/FeatureFlag.service.js +2 -1
- package/lib/esm/feature-flags/services/FeatureFlag.service.js.map +1 -0
- package/lib/esm/feature-flags/types.js +1 -1
- package/lib/esm/feature-flags/types.js.map +1 -0
- package/lib/esm/feature-flags/utils.js +1 -1
- package/lib/esm/feature-flags/utils.js.map +1 -0
- package/lib/esm/index.js +4 -4
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/io/airtable/AirtableService.js +1 -1
- package/lib/esm/io/airtable/AirtableService.js.map +1 -0
- package/lib/esm/io/airtable/index.js +1 -1
- package/lib/esm/io/airtable/index.js.map +1 -0
- package/lib/esm/io/confluence/ConfluenceService.js +1 -1
- package/lib/esm/io/confluence/ConfluenceService.js.map +1 -0
- package/lib/esm/io/confluence/index.js +1 -1
- package/lib/esm/io/confluence/index.js.map +1 -0
- package/lib/esm/io/environment.js +1 -1
- package/lib/esm/io/environment.js.map +1 -0
- package/lib/esm/io/google-docs/GoogleDocsService.js +1 -1
- package/lib/esm/io/google-docs/GoogleDocsService.js.map +1 -0
- package/lib/esm/io/google-docs/index.js +1 -1
- package/lib/esm/io/google-docs/index.js.map +1 -0
- package/lib/esm/io/google-sheets/GoogleSheetsService.js +1 -1
- package/lib/esm/io/google-sheets/GoogleSheetsService.js.map +1 -0
- package/lib/esm/io/google-sheets/index.js +1 -1
- package/lib/esm/io/google-sheets/index.js.map +1 -0
- package/lib/esm/io/graphql/GraphqlService.js +1 -1
- package/lib/esm/io/graphql/GraphqlService.js.map +1 -0
- package/lib/esm/io/graphql/index.js +1 -1
- package/lib/esm/io/graphql/index.js.map +1 -0
- package/lib/esm/io/index.js +1 -1
- package/lib/esm/io/index.js.map +1 -0
- package/lib/esm/io/jira/JiraService.js +1 -1
- package/lib/esm/io/jira/JiraService.js.map +1 -0
- package/lib/esm/io/jira/index.js +1 -1
- package/lib/esm/io/jira/index.js.map +1 -0
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js +1 -1
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js.map +1 -0
- package/lib/esm/io/microsoft-excel/index.js +1 -1
- package/lib/esm/io/microsoft-excel/index.js.map +1 -0
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js +1 -1
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js.map +1 -0
- package/lib/esm/io/microsoft-sharepoint/index.js +1 -1
- package/lib/esm/io/microsoft-sharepoint/index.js.map +1 -0
- package/lib/esm/io/spreadsheet/SpreadsheetService.js +1 -1
- package/lib/esm/io/spreadsheet/SpreadsheetService.js.map +1 -0
- package/lib/esm/io/spreadsheet/index.js +1 -1
- package/lib/esm/io/spreadsheet/index.js.map +1 -0
- package/lib/esm/keycloak/broker.js +1 -1
- package/lib/esm/keycloak/broker.js.map +1 -0
- package/lib/esm/keycloak/index.js +1 -1
- package/lib/esm/keycloak/index.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js.map +1 -0
- package/lib/esm/keycloak/services/index.js +1 -1
- package/lib/esm/keycloak/services/index.js.map +1 -0
- package/lib/esm/keycloak/services/runtime.js +1 -1
- package/lib/esm/keycloak/services/runtime.js.map +1 -0
- package/lib/esm/keycloak/types.js +1 -1
- package/lib/esm/keycloak/types.js.map +1 -0
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js.map +1 -0
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js.map +1 -0
- package/lib/esm/kibana/builders/index.js +1 -1
- package/lib/esm/kibana/builders/index.js.map +1 -0
- package/lib/esm/kibana/helpers.js +1 -1
- package/lib/esm/kibana/helpers.js.map +1 -0
- package/lib/esm/kibana/index.js +1 -1
- package/lib/esm/kibana/index.js.map +1 -0
- package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
- package/lib/esm/kibana/services/KibanaAuthService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
- package/lib/esm/kibana/services/KibanaRoleService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaService.js +1 -1
- package/lib/esm/kibana/services/KibanaService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaUserService.js +1 -1
- package/lib/esm/kibana/services/KibanaUserService.js.map +1 -0
- package/lib/esm/kibana/services/index.js +1 -1
- package/lib/esm/kibana/services/index.js.map +1 -0
- package/lib/esm/kibana/services/runtime.js +1 -1
- package/lib/esm/kibana/services/runtime.js.map +1 -0
- package/lib/esm/kibana/types.js +1 -1
- package/lib/esm/kibana/types.js.map +1 -0
- package/lib/esm/loader/ObjectLoader.js +1 -1
- package/lib/esm/loader/ObjectLoader.js.map +1 -0
- package/lib/esm/loader/assets.js +1 -1
- package/lib/esm/loader/assets.js.map +1 -0
- package/lib/esm/loader/config.js +1 -1
- package/lib/esm/loader/config.js.map +1 -0
- package/lib/esm/loader/families.js +1 -1
- package/lib/esm/loader/families.js.map +1 -0
- package/lib/esm/loader/index.js +1 -1
- package/lib/esm/loader/index.js.map +1 -0
- package/lib/esm/loader/nest.js +1 -1
- package/lib/esm/loader/nest.js.map +1 -0
- package/lib/esm/loader/types.js +1 -1
- package/lib/esm/loader/types.js.map +1 -0
- package/lib/esm/namespaces/index.js +1 -1
- package/lib/esm/namespaces/index.js.map +1 -0
- package/lib/esm/namespaces/models/authorization-model.js +1 -1
- package/lib/esm/namespaces/models/authorization-model.js.map +1 -0
- package/lib/esm/namespaces/models/credential.model.js +1 -1
- package/lib/esm/namespaces/models/credential.model.js.map +1 -0
- package/lib/esm/namespaces/models/effective-permission.model.js +1 -1
- package/lib/esm/namespaces/models/effective-permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/group-membership.model.js +1 -1
- package/lib/esm/namespaces/models/group-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/group.model.js +1 -1
- package/lib/esm/namespaces/models/group.model.js.map +1 -0
- package/lib/esm/namespaces/models/index.js +1 -1
- package/lib/esm/namespaces/models/index.js.map +1 -0
- package/lib/esm/namespaces/models/inheritance-block.model.js +1 -1
- package/lib/esm/namespaces/models/inheritance-block.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-closure.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-closure.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-membership.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-profile.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-profile.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit.model.js.map +1 -0
- package/lib/esm/namespaces/models/permission.model.js +1 -1
- package/lib/esm/namespaces/models/permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/principal.model.js +1 -1
- package/lib/esm/namespaces/models/principal.model.js.map +1 -0
- package/lib/esm/namespaces/models/protected-resource.model.js +1 -1
- package/lib/esm/namespaces/models/protected-resource.model.js.map +1 -0
- package/lib/esm/namespaces/models/resource-grant.model.js +1 -1
- package/lib/esm/namespaces/models/resource-grant.model.js.map +1 -0
- package/lib/esm/namespaces/models/role-assignment.model.js +1 -1
- package/lib/esm/namespaces/models/role-assignment.model.js.map +1 -0
- package/lib/esm/namespaces/models/role-permission.model.js +1 -1
- package/lib/esm/namespaces/models/role-permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/role.model.js +1 -1
- package/lib/esm/namespaces/models/role.model.js.map +1 -0
- package/lib/esm/namespaces/models/storage-binding.model.js +1 -1
- package/lib/esm/namespaces/models/storage-binding.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant-membership.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant-profile.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-profile.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant.model.js +1 -1
- package/lib/esm/namespaces/models/tenant.model.js.map +1 -0
- package/lib/esm/namespaces/models/user.model.js +1 -1
- package/lib/esm/namespaces/models/user.model.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.models.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.models.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.services.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.services.js.map +1 -0
- package/lib/esm/namespaces/rls/index.js +1 -1
- package/lib/esm/namespaces/rls/index.js.map +1 -0
- package/lib/esm/namespaces/rls/principal-resolver.js +1 -1
- package/lib/esm/namespaces/rls/principal-resolver.js.map +1 -0
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js +1 -1
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js.map +1 -0
- package/lib/esm/namespaces/rls/rls.constants.js +1 -1
- package/lib/esm/namespaces/rls/rls.constants.js.map +1 -0
- package/lib/esm/namespaces/rls/rls.template.js +1 -1
- package/lib/esm/namespaces/rls/rls.template.js.map +1 -0
- package/lib/esm/namespaces/rls/rls.types.js +1 -1
- package/lib/esm/namespaces/rls/rls.types.js.map +1 -0
- package/lib/esm/namespaces/rls/session-binding.js +1 -1
- package/lib/esm/namespaces/rls/session-binding.js.map +1 -0
- package/lib/esm/namespaces/services/authz.service.js +1 -1
- package/lib/esm/namespaces/services/authz.service.js.map +1 -0
- package/lib/esm/namespaces/services/bootstrap.service.js +1 -1
- package/lib/esm/namespaces/services/bootstrap.service.js.map +1 -0
- package/lib/esm/namespaces/services/credential.service.js +1 -1
- package/lib/esm/namespaces/services/credential.service.js.map +1 -0
- package/lib/esm/namespaces/services/effective-permission.service.js +1 -1
- package/lib/esm/namespaces/services/effective-permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/group-membership.service.js +1 -1
- package/lib/esm/namespaces/services/group-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/group.service.js +1 -1
- package/lib/esm/namespaces/services/group.service.js.map +1 -0
- package/lib/esm/namespaces/services/index.js +1 -1
- package/lib/esm/namespaces/services/index.js.map +1 -0
- package/lib/esm/namespaces/services/inheritance-block.service.js +1 -1
- package/lib/esm/namespaces/services/inheritance-block.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-closure.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-closure.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-membership.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-profile.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-profile.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit.service.js.map +1 -0
- package/lib/esm/namespaces/services/permission.service.js +1 -1
- package/lib/esm/namespaces/services/permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/principal.service.js +1 -1
- package/lib/esm/namespaces/services/principal.service.js.map +1 -0
- package/lib/esm/namespaces/services/protected-resource.service.js +1 -1
- package/lib/esm/namespaces/services/protected-resource.service.js.map +1 -0
- package/lib/esm/namespaces/services/resource-grant.service.js +1 -1
- package/lib/esm/namespaces/services/resource-grant.service.js.map +1 -0
- package/lib/esm/namespaces/services/resource-lifecycle.service.js +1 -1
- package/lib/esm/namespaces/services/resource-lifecycle.service.js.map +1 -0
- package/lib/esm/namespaces/services/role-assignment.service.js +1 -1
- package/lib/esm/namespaces/services/role-assignment.service.js.map +1 -0
- package/lib/esm/namespaces/services/role-permission.service.js +1 -1
- package/lib/esm/namespaces/services/role-permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/role.service.js +1 -1
- package/lib/esm/namespaces/services/role.service.js.map +1 -0
- package/lib/esm/namespaces/services/storage-binding.service.js +1 -1
- package/lib/esm/namespaces/services/storage-binding.service.js.map +1 -0
- package/lib/esm/namespaces/services/system-management.service.js +1 -1
- package/lib/esm/namespaces/services/system-management.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant-membership.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant-profile.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-profile.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant.service.js +1 -1
- package/lib/esm/namespaces/services/tenant.service.js.map +1 -0
- package/lib/esm/namespaces/services/user.service.js +1 -1
- package/lib/esm/namespaces/services/user.service.js.map +1 -0
- package/lib/esm/namespaces/types.js +1 -1
- package/lib/esm/namespaces/types.js.map +1 -0
- package/lib/esm/namespaces/utils.js +1 -1
- package/lib/esm/namespaces/utils.js.map +1 -0
- package/lib/esm/nest/decorators.js +1 -1
- package/lib/esm/nest/decorators.js.map +1 -0
- package/lib/esm/nest/index.js +1 -1
- package/lib/esm/nest/index.js.map +1 -0
- package/lib/esm/nest/keycloakAuthHandler.js +1 -1
- package/lib/esm/nest/keycloakAuthHandler.js.map +1 -0
- package/lib/esm/nest/keycloakModule.js +1 -1
- package/lib/esm/nest/keycloakModule.js.map +1 -0
- package/lib/esm/nest/logging.js +1 -1
- package/lib/esm/nest/logging.js.map +1 -0
- package/lib/esm/nest/types.js +1 -1
- package/lib/esm/nest/types.js.map +1 -0
- package/lib/esm/nest/utils.js +1 -1
- package/lib/esm/nest/utils.js.map +1 -0
- package/lib/esm/plugins/contract.js +1 -1
- package/lib/esm/plugins/contract.js.map +1 -0
- package/lib/esm/plugins/index.js +1 -1
- package/lib/esm/plugins/index.js.map +1 -0
- package/lib/esm/plugins/kibana/host.js +1 -1
- package/lib/esm/plugins/kibana/host.js.map +1 -0
- package/lib/esm/plugins/kibana/index.js +1 -1
- package/lib/esm/plugins/kibana/index.js.map +1 -0
- package/lib/esm/plugins/kibana/installer.js +1 -1
- package/lib/esm/plugins/kibana/installer.js.map +1 -0
- package/lib/esm/plugins/kibana/manifest.js +1 -1
- package/lib/esm/plugins/kibana/manifest.js.map +1 -0
- package/lib/esm/plugins/kibana/templates.js +1 -1
- package/lib/esm/plugins/kibana/templates.js.map +1 -0
- package/lib/esm/plugins/kibana/types.js +1 -1
- package/lib/esm/plugins/kibana/types.js.map +1 -0
- package/lib/esm/plugins/superset/host.js +1 -1
- package/lib/esm/plugins/superset/host.js.map +1 -0
- package/lib/esm/plugins/superset/index.js +1 -1
- package/lib/esm/plugins/superset/index.js.map +1 -0
- package/lib/esm/plugins/superset/installer.js +1 -1
- package/lib/esm/plugins/superset/installer.js.map +1 -0
- package/lib/esm/plugins/superset/manifest.js +1 -1
- package/lib/esm/plugins/superset/manifest.js.map +1 -0
- package/lib/esm/plugins/superset/templates.js +1 -1
- package/lib/esm/plugins/superset/templates.js.map +1 -0
- package/lib/esm/plugins/superset/types.js +1 -1
- package/lib/esm/plugins/superset/types.js.map +1 -0
- package/lib/esm/redis/RedisContextLock.js +1 -1
- package/lib/esm/redis/RedisContextLock.js.map +1 -0
- package/lib/esm/redis/RedisDispatch.js +1 -1
- package/lib/esm/redis/RedisDispatch.js.map +1 -0
- package/lib/esm/redis/RedisPaginator.js +1 -1
- package/lib/esm/redis/RedisPaginator.js.map +1 -0
- package/lib/esm/redis/RedisStatement.js +1 -1
- package/lib/esm/redis/RedisStatement.js.map +1 -0
- package/lib/esm/redis/adapter.js +1 -1
- package/lib/esm/redis/adapter.js.map +1 -0
- package/lib/esm/redis/constants.js +1 -1
- package/lib/esm/redis/constants.js.map +1 -0
- package/lib/esm/redis/handlers.js +1 -1
- package/lib/esm/redis/handlers.js.map +1 -0
- package/lib/esm/redis/index.js +1 -1
- package/lib/esm/redis/index.js.map +1 -0
- package/lib/esm/redis/serialization.js +1 -1
- package/lib/esm/redis/serialization.js.map +1 -0
- package/lib/esm/redis/types.js +1 -1
- package/lib/esm/redis/types.js.map +1 -0
- package/lib/esm/secrets/InfraCredentialBootstrap.js +1 -1
- package/lib/esm/secrets/InfraCredentialBootstrap.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/aws/index.js +1 -1
- package/lib/esm/secrets/aws/index.js.map +1 -0
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -0
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js +1 -1
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/azure/index.js +1 -1
- package/lib/esm/secrets/azure/index.js.map +1 -0
- package/lib/esm/secrets/core/ClientBasedSecretService.js +1 -1
- package/lib/esm/secrets/core/ClientBasedSecretService.js.map +1 -0
- package/lib/esm/secrets/core/SecretEnvironment.js +1 -1
- package/lib/esm/secrets/core/SecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/core/SecretErrors.js +1 -1
- package/lib/esm/secrets/core/SecretErrors.js.map +1 -0
- package/lib/esm/secrets/core/SecretName.js +1 -1
- package/lib/esm/secrets/core/SecretName.js.map +1 -0
- package/lib/esm/secrets/core/SecretReference.js +1 -1
- package/lib/esm/secrets/core/SecretReference.js.map +1 -0
- package/lib/esm/secrets/core/SecretSerialization.js +1 -1
- package/lib/esm/secrets/core/SecretSerialization.js.map +1 -0
- package/lib/esm/secrets/core/SecretService.js +1 -1
- package/lib/esm/secrets/core/SecretService.js.map +1 -0
- package/lib/esm/secrets/core/SecretTypes.js +1 -1
- package/lib/esm/secrets/core/SecretTypes.js.map +1 -0
- package/lib/esm/secrets/core/index.js +1 -1
- package/lib/esm/secrets/core/index.js.map +1 -0
- package/lib/esm/secrets/fs/FsSecretEnvironment.js +1 -1
- package/lib/esm/secrets/fs/FsSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/fs/FsSecretService.js +1 -1
- package/lib/esm/secrets/fs/FsSecretService.js.map +1 -0
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/fs/index.js +1 -1
- package/lib/esm/secrets/fs/index.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +1 -0
- package/lib/esm/secrets/gcp/index.js +1 -1
- package/lib/esm/secrets/gcp/index.js.map +1 -0
- package/lib/esm/secrets/index.js +1 -1
- package/lib/esm/secrets/index.js.map +1 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretEnvironment.js +1 -1
- package/lib/esm/secrets/kubernetes/KubernetesSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretService.js +1 -1
- package/lib/esm/secrets/kubernetes/KubernetesSecretService.js.map +1 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/kubernetes/KubernetesSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/kubernetes/index.js +1 -1
- package/lib/esm/secrets/kubernetes/index.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
- package/lib/esm/secrets/model/ModelSecretCrypto.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretEnvironment.js +1 -1
- package/lib/esm/secrets/model/ModelSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretService.js +1 -1
- package/lib/esm/secrets/model/ModelSecretService.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/model/Secret.js +1 -1
- package/lib/esm/secrets/model/Secret.js.map +1 -0
- package/lib/esm/secrets/model/index.js +1 -1
- package/lib/esm/secrets/model/index.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/onepassword/index.js +1 -1
- package/lib/esm/secrets/onepassword/index.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/vault/index.js +1 -1
- package/lib/esm/secrets/vault/index.js.map +1 -0
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js +1 -1
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js.map +1 -0
- package/lib/esm/sftp/aws/AwsSftpService.js +1 -1
- package/lib/esm/sftp/aws/AwsSftpService.js.map +1 -0
- package/lib/esm/sftp/aws/index.js +1 -1
- package/lib/esm/sftp/aws/index.js.map +1 -0
- package/lib/esm/sftp/core/SftpEnvironment.js +1 -1
- package/lib/esm/sftp/core/SftpEnvironment.js.map +1 -0
- package/lib/esm/sftp/core/SftpSource.js +1 -1
- package/lib/esm/sftp/core/SftpSource.js.map +1 -0
- package/lib/esm/sftp/core/index.js +1 -1
- package/lib/esm/sftp/core/index.js.map +1 -0
- package/lib/esm/sftp/index.js +1 -1
- package/lib/esm/sftp/index.js.map +1 -0
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js +1 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js.map +1 -0
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js +1 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js.map +1 -0
- package/lib/esm/sftp/ssh2/index.js +1 -1
- package/lib/esm/sftp/ssh2/index.js.map +1 -0
- package/lib/esm/shared/environmentValue.js +1 -1
- package/lib/esm/shared/environmentValue.js.map +1 -0
- package/lib/esm/shared/http/HttpApiService.js +1 -1
- package/lib/esm/shared/http/HttpApiService.js.map +1 -0
- package/lib/esm/shared/http/hermeticBoot.js +1 -1
- package/lib/esm/shared/http/hermeticBoot.js.map +1 -0
- package/lib/esm/shared/http/index.js +1 -1
- package/lib/esm/shared/http/index.js.map +1 -0
- package/lib/esm/shared/runtime.js +1 -1
- package/lib/esm/shared/runtime.js.map +1 -0
- package/lib/esm/user-requests/index.js +1 -1
- package/lib/esm/user-requests/index.js.map +1 -0
- package/lib/esm/utils.js +1 -1
- package/lib/esm/utils.js.map +1 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/package.json +74 -50
package/lib/esm/redis/adapter.js
CHANGED
|
@@ -707,4 +707,4 @@ export class RedisAdapter extends Adapter {
|
|
|
707
707
|
}
|
|
708
708
|
Adapter.setCurrent(RedisFlavour);
|
|
709
709
|
RedisAdapter.decoration();
|
|
710
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9yZWRpcy9hZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUNMLE9BQU8sRUFFUCxlQUFlLEVBSWYsZUFBZSxFQUVmLFFBQVEsR0FDVCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQXdCLE1BQU0sT0FBTyxDQUFDO0FBQzNELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQ0wsU0FBUyxFQUNULGFBQWEsRUFDYixNQUFNLEVBQ04sU0FBUyxFQUNULGFBQWEsRUFDYixhQUFhLEVBQ2IsUUFBUSxFQUNSLGNBQWMsR0FHZixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RCxPQUFPLEVBRUwsVUFBVSxFQUNWLFFBQVEsRUFDUixZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLHVCQUFvQjtBQUMvRCxPQUFPLEVBQUUsY0FBYyxFQUFFLDRCQUF5QjtBQUNsRCxPQUFPLEVBQUUsY0FBYyxFQUFFLDRCQUF5QjtBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLDJCQUF3QjtBQUNoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsOEJBQTJCO0FBQ3RELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxzQkFBbUI7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsMkJBQXdCO0FBRXpEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBbUJHO0FBQ0gsTUFBTSxPQUFPLFlBQWEsU0FBUSxPQUtqQztJQUdDLFlBQVksT0FBb0IsRUFBRSxFQUFFLEtBQWM7UUFDaEQsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNNLEtBQUssQ0FBQyxLQUFLLENBQ2xCLFNBQXdCLEVBQ3hCLEtBQXFCLEVBQ3JCLEtBQTBCO1FBRTFCLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FDbEIsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUNmLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxDQUFDLE1BQU0sQ0FDWDtZQUNFLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFO1NBQ3hELEVBQ0QsS0FBSyxDQUNOLENBQ0YsQ0FDWSxDQUFDO0lBQ2xCLENBQUM7SUFFRDs7O09BR0c7SUFDZ0IsUUFBUTtRQUN6QixPQUFPLElBQUksYUFBYSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNNLGVBQWUsQ0FBQyxHQUFHLElBQVc7UUFDckMsT0FBTyxJQUFJLGdCQUFnQixDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7OztPQUlHO0lBQ00sS0FBSyxDQUFDLFVBQVUsQ0FDdkIsR0FBRyxJQUFzQztRQUV6QyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FDZCxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQzlELENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN2QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTTtnQkFBRSxNQUFNLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM3QyxDQUFDO1FBQUMsT0FBTyxDQUFVLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBVSxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDO1FBQzNCLE1BQU0sS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2hDLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLGNBQWMsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7OztPQUlHO0lBQ00sS0FBSyxDQUFDLFFBQVEsQ0FDckIsR0FBRyxJQUFzQztRQUV6QyxNQUFNLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUM5QixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDakQsSUFBSSxDQUFDLFlBQVksR0FBRyxTQUFTLENBQUM7UUFDOUIsSUFBSSxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUM7UUFDekIsSUFBSSxDQUFDLE1BQU07WUFBRSxPQUFPO1FBQ3BCLElBQUksQ0FBQztZQUNILE1BQU0sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUCxJQUFJLENBQUM7Z0JBQ0gsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLENBQUM7WUFBQyxNQUFNLENBQUM7Z0JBQ1AsNERBQTREO1lBQzlELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsS0FBYTtRQUNyQixPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksa0JBQWtCLElBQUksS0FBSyxFQUFFLENBQUM7SUFDaEUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDTyxVQUFVLENBQUMsR0FBa0I7UUFDckMsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLGNBQWMsQ0FBQyxpQkFBaUIsQ0FFckMsQ0FBQztRQUNkLE9BQU8sSUFBSSxZQUFZLGdCQUFnQixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQzVFLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ00sT0FBTyxDQUNkLEtBQVEsRUFDUixHQUFHLElBQThCO1FBTWpDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN2QixPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDTSxNQUFNLENBQ2IsR0FBd0IsRUFDeEIsS0FBcUIsRUFDckIsRUFBa0IsRUFDbEIsU0FBK0IsRUFDL0IsR0FBRyxJQUE4QjtRQUVqQyxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUNWLEtBQXFCLEVBQ3JCLEVBQWtCLEVBQ2xCLEtBQTBCLEVBQzFCLEdBQUcsSUFBa0M7UUFFckMsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEQsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQyxHQUFHLENBQUMsS0FBSyxDQUFDLDRCQUE0QixLQUFLLFlBQVksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ1QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDOUMsTUFBTSxNQUFNLEdBQ1YsUUFBUSxDQUFDLEtBQUssSUFBSSxRQUFRLENBQUMsS0FBSyxLQUFLLElBQUk7Z0JBQ3ZDLENBQUMsQ0FBQyxJQUFJO2dCQUNOLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM1QyxJQUFJLE1BQU07Z0JBQ1IsTUFBTSxJQUFJLGFBQWEsQ0FDckIsa0JBQWtCLEVBQUUsNEJBQTRCLEtBQUssRUFBRSxDQUN4RCxDQUFDO1lBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQztRQUNqRSxJQUFJLE9BQU8sS0FBSyxDQUFDO1lBQ2YsTUFBTSxJQUFJLGFBQWEsQ0FDckIsa0JBQWtCLEVBQUUsNEJBQTRCLEtBQUssRUFBRSxDQUN4RCxDQUFDO1FBQ0osT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FDUixLQUFxQixFQUNyQixFQUFrQixFQUNsQixHQUFHLElBQWtDO1FBRXJDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckMsR0FBRyxDQUFDLEtBQUssQ0FBQywyQkFBMkIsS0FBSyxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDNUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlDLElBQUksUUFBUSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNuQixJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssSUFBSTtvQkFDekIsTUFBTSxJQUFJLGFBQWEsQ0FDckIsa0JBQWtCLEVBQUUsdUJBQXVCLEtBQUssRUFBRSxDQUNuRCxDQUFDO2dCQUNKLE9BQU8sV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVM7WUFDbkMsTUFBTSxJQUFJLGFBQWEsQ0FDckIsa0JBQWtCLEVBQUUsdUJBQXVCLEtBQUssRUFBRSxDQUNuRCxDQUFDO1FBQ0osT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQ1YsS0FBcUIsRUFDckIsRUFBa0IsRUFDbEIsS0FBMEIsRUFDMUIsR0FBRyxJQUFrQztRQUVyQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLEdBQUcsQ0FBQyxLQUFLLENBQUMsNEJBQTRCLEtBQUssWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzdELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM5QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsS0FBSyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDO1lBQzFELE1BQU0sTUFBTSxHQUNWLE9BQU8sSUFBSSxRQUFRLENBQUMsS0FBSztnQkFDdkIsQ0FBQyxDQUFDLENBQUMsT0FBTztnQkFDVixDQUFDLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLE1BQU07Z0JBQ1QsTUFBTSxJQUFJLGFBQWEsQ0FDckIsa0JBQWtCLEVBQUUsdUJBQXVCLEtBQUssRUFBRSxDQUNuRCxDQUFDO1lBQ0osSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1lBQ3pDLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3JELElBQUksQ0FBQyxNQUFNO1lBQ1QsTUFBTSxJQUFJLGFBQWEsQ0FDckIsa0JBQWtCLEVBQUUsdUJBQXVCLEtBQUssRUFBRSxDQUNuRCxDQUFDO1FBQ0osTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILEtBQUssQ0FBQyxNQUFNLENBQ1YsS0FBcUIsRUFDckIsRUFBa0IsRUFDbEIsR0FBRyxJQUFrQztRQUVyQyxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLEdBQUcsQ0FBQyxLQUFLLENBQUMsOEJBQThCLEtBQUssWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQy9ELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNULE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzlDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLO2dCQUN4QixDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUs7Z0JBQ2hCLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN2QyxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVM7Z0JBQ25DLE1BQU0sSUFBSSxhQUFhLENBQ3JCLGtCQUFrQixFQUFFLHVCQUF1QixLQUFLLEVBQUUsQ0FDbkQsQ0FBQztZQUNKLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2hDLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvQyxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxLQUFLLFNBQVM7WUFDbkMsTUFBTSxJQUFJLGFBQWEsQ0FDckIsa0JBQWtCLEVBQUUsdUJBQXVCLEtBQUssRUFBRSxDQUNuRCxDQUFDO1FBQ0osTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkMsT0FBTyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDTyxLQUFLLENBQUMsU0FBUyxDQUN2QixLQUFhLEVBQ2IsR0FBa0I7UUFFbEIsTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDN0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQWlCLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFDLElBQUksUUFBUSxFQUFFLENBQUM7Z0JBQ2IsS0FBSyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUNuQyxJQUFJLEtBQUssS0FBSyxJQUFJO3dCQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7O3dCQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDN0IsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxLQUFLLENBQUMsR0FBRyxDQUNQLFFBQTRCLEVBQzVCLFdBQWMsSUFBUyxFQUN2QixHQUFHLElBQWtDO1FBRXJDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELEdBQUcsQ0FBQyxLQUFLLENBQUMseUJBQXlCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRS9ELE1BQU0sRUFDSixLQUFLLEVBQ0wsSUFBSSxFQUNKLEtBQUssRUFDTCxJQUFJLEVBQ0osSUFBSSxFQUNKLE9BQU8sRUFDUCxLQUFLLEVBQUUsVUFBVSxFQUNqQixhQUFhLEVBQUUsa0JBQWtCLEVBQ2pDLEdBQUcsRUFBRSxRQUFRLEVBQ2IsR0FBRyxFQUFFLFFBQVEsRUFDYixHQUFHLEVBQUUsUUFBUSxFQUNiLEdBQUcsRUFBRSxRQUFRLEVBQ2IsUUFBUSxFQUFFLGFBQWEsR0FDeEIsR0FBRyxRQUFRLENBQUM7UUFDYixJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDO1FBQzFCLE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNqRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbkIsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBWSxDQUFDLENBQUMsQ0FBQztRQUV4RSxJQUFJLE1BQU0sR0FBVSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUMxQyxJQUFJLENBQUMsTUFBTSxDQUNULFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFDZCxJQUFJLEVBQ0osUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBVyxFQUFFLEVBQVksQ0FBVyxFQUM5RCxTQUFTLEVBQ1QsR0FBRyxDQUNKLENBQ0YsQ0FBQztRQUNGLElBQUksSUFBSTtZQUFFLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRXJDLE1BQU0sR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUUvQyxJQUFJLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsVUFBVTtnQkFBRSxPQUFPLE1BQU0sQ0FBQyxNQUFvQyxDQUFDO1lBQ3BFLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ3pCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDSixDQUFDLENBQUMsVUFBb0IsQ0FBQyxLQUFLLFNBQVM7Z0JBQ3JDLENBQUMsQ0FBQyxVQUFvQixDQUFDLEtBQUssSUFBSSxDQUNuQyxDQUFDLE1BQU0sQ0FBQztZQUNULE9BQU8sS0FBbUMsQ0FBQztRQUM3QyxDQUFDO1FBRUQsSUFBSSxrQkFBa0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNyQyxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssTUFBTSxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQzFCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBNEIsQ0FBQyxDQUFDO2dCQUNqRCxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLElBQUk7b0JBQ3ZDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyxJQUFrQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxDQUNsQixLQUFLLEVBQ0wsUUFBa0IsRUFDbEIsZUFBZSxFQUNmLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxNQUFNLEVBQ3JELGlCQUFpQixDQUNsQixDQUFDO1lBQ0YsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsT0FBTyxJQUFrQyxDQUFDO1lBQ25FLE1BQU0sTUFBTSxHQUFHLE1BQU07aUJBQ2xCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQWtCLENBQUMsQ0FBQztpQkFDakMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUNoRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFBRSxPQUFPLElBQWtDLENBQUM7WUFDbkUsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sVUFBVSxHQUNkLENBQUMsWUFBWSxJQUFJO29CQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO29CQUNiLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRO3dCQUNyQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzt3QkFDWCxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsQixNQUFNLGFBQWEsR0FDakIsUUFBUSxZQUFZLElBQUk7b0JBQ3RCLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO29CQUNwQixDQUFDLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUTt3QkFDNUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7d0JBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3pCLElBQUksVUFBVSxHQUFHLGFBQWE7b0JBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBQ0QsT0FBTyxRQUFzQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxDQUNsQixLQUFLLEVBQ0wsUUFBa0IsRUFDbEIsZUFBZSxFQUNmLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksS0FBSyxNQUFNLEVBQ3JELGlCQUFpQixDQUNsQixDQUFDO1lBQ0YsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsT0FBTyxJQUFrQyxDQUFDO1lBQ25FLE1BQU0sTUFBTSxHQUFHLE1BQU07aUJBQ2xCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQWtCLENBQUMsQ0FBQztpQkFDakMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUNoRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFBRSxPQUFPLElBQWtDLENBQUM7WUFDbkUsSUFBSSxRQUFRLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sVUFBVSxHQUNkLENBQUMsWUFBWSxJQUFJO29CQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFO29CQUNiLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRO3dCQUNyQixDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzt3QkFDWCxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsQixNQUFNLGFBQWEsR0FDakIsUUFBUSxZQUFZLElBQUk7b0JBQ3RCLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO29CQUNwQixDQUFDLENBQUMsT0FBTyxRQUFRLEtBQUssUUFBUTt3QkFDNUIsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7d0JBQ2xCLENBQUMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3pCLElBQUksVUFBVSxHQUFHLGFBQWE7b0JBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBQ0QsT0FBTyxRQUFzQyxDQUFDO1FBQ2hELENBQUM7UUFFRCxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsZUFBZSxDQUNsQixLQUFLLEVBQ0wsUUFBa0IsRUFDbEIsZUFBZSxFQUNmLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUNsQyxTQUFTLENBQ1YsQ0FBQztZQUNGLElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUFFLE9BQU8sSUFBa0MsQ0FBQztZQUNuRSxNQUFNLE1BQU0sR0FBRyxNQUFNO2lCQUNsQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFrQixDQUFDLENBQUM7aUJBQ2pDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUM7WUFDaEQsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsT0FBTyxJQUFrQyxDQUFDO1lBQ25FLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ3ZCLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ1QsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLFFBQWtCLEVBQUUsZUFBZSxDQUFDLEVBQ25FLENBQUMsQ0FDRixDQUFDO1lBQ0YsT0FBTyxHQUFpQyxDQUFDO1FBQzNDLENBQUM7UUFFRCxJQUFJLFFBQVEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMzQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLFFBQWtCLENBQUMsQ0FBQztZQUNuRSxNQUFNLFdBQVcsR0FBRyxTQUFTLEtBQUssTUFBTSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxlQUFlLENBQ2xCLEtBQUssRUFDTCxRQUFrQixFQUNsQixlQUFlLEVBQ2YsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLE1BQU0sRUFDckQsaUJBQWlCLENBQ2xCLENBQUM7WUFDRixJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQztnQkFBRSxPQUFPLElBQWtDLENBQUM7WUFDbkUsTUFBTSxNQUFNLEdBQUcsTUFBTTtpQkFDbEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBa0IsQ0FBQyxDQUFDO2lCQUNqQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1lBQ2hELElBQUksTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUFFLE9BQU8sSUFBa0MsQ0FBQztZQUNuRSxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDbEMsQ0FBQyxZQUFZLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FDeEQsQ0FBQztnQkFDRixNQUFNLFlBQVksR0FDaEIsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFDaEUsT0FBTyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQStCLENBQUM7WUFDOUQsQ0FBQztZQUNELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQ3pCLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQ1QsR0FBRyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFLFFBQWtCLEVBQUUsZUFBZSxDQUFDLEVBQ25FLENBQUMsQ0FDRixDQUFDO1lBQ0YsT0FBTyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUErQixDQUFDO1FBQy9ELENBQUM7UUFFRCxJQUFJLGFBQWEsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNoQyxNQUFNLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sZUFBZSxHQUFVLEVBQUUsQ0FBQztZQUNsQyxLQUFLLE1BQU0sSUFBSSxJQUFJLE1BQU0sRUFBRSxDQUFDO2dCQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsYUFBdUIsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNkLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzlCLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxlQUE2QyxDQUFDO1FBQ3ZELENBQUM7UUFFRCxJQUFJLEtBQWEsQ0FBQztRQUNsQixJQUFJLE1BQW1DLENBQUM7UUFDeEMsSUFBSSxPQUFPLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzlCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQTBCLENBQUMsQ0FBQztZQUN0RSxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2xDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3BCLE1BQU0sR0FBRyxJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMzRCxDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ3RCLElBQUksS0FBSyxHQUFHLE1BQU0sQ0FBQztZQUNuQixJQUFJLElBQUk7Z0JBQUUsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsSUFBSSxLQUFLO2dCQUFFLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUN6QyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLENBQUM7UUFFRCxJQUFJLE1BQU0sSUFBSSxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQzNDLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDbkQsTUFBTSxHQUFJLE1BQWdCLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDckMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUF3QixFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2xFLElBQUssTUFBbUIsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO29CQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7Z0JBQ3ZELE9BQU8sR0FBRyxDQUFDO1lBQ2IsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUNQLENBQUM7UUFDSixDQUFDO1FBRUQsSUFBSSxRQUFRO1lBQUUsT0FBTyxNQUFvQyxDQUFDO1FBQzFELE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBcUIsQ0FBQztJQUNwRCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNLLFlBQVksQ0FDbEIsT0FBYyxFQUNkLFNBQTBCO1FBRTFCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTTtZQUFFLE9BQU8sT0FBOEIsQ0FBQztRQUM3RCxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDO1FBQ3JDLE1BQU0sT0FBTyxHQUEwQixFQUFFLENBQUM7UUFDMUMsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLE9BQWlCLENBQUMsQ0FBQyxDQUFDO1lBQzlELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDO2dCQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDckMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxPQUFPLENBQUM7UUFDakMsTUFBTSxNQUFNLEdBQXdCLEVBQUUsQ0FBQztRQUN2QyxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3BELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRCxDQUFDO1FBQ0QsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNLLGlCQUFpQixDQUFDLEtBQVU7UUFDbEMsSUFBSSxLQUFLLEtBQUssU0FBUztZQUFFLE9BQU8sV0FBVyxDQUFDO1FBQzVDLElBQUksS0FBSyxLQUFLLElBQUk7WUFBRSxPQUFPLE1BQU0sQ0FBQztRQUNsQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFBRSxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN2RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLElBQUksQ0FBQztnQkFDSCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0IsQ0FBQztZQUFDLE1BQU0sQ0FBQztnQkFDUCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssb0JBQW9CLENBQzFCLE9BQTRCLEVBQzVCLElBQWEsRUFDYixLQUFjO1FBRWQsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLElBQUksT0FBTyxLQUFLLEtBQUssV0FBVztZQUM3RCxPQUFPLE9BQU8sQ0FBQztRQUNqQixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLENBQUM7UUFDeEIsTUFBTSxHQUFHLEdBQUcsT0FBTyxLQUFLLEtBQUssV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDckUsTUFBTSxLQUFLLEdBQXdCLEVBQUUsQ0FBQztRQUN0QyxLQUFLLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDekMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxVQUFVLENBQXNCLEdBQVU7UUFDeEMsSUFBSSxHQUFHLFlBQVksU0FBUztZQUFFLE9BQU8sR0FBUSxDQUFDO1FBQzlDLE1BQU0sT0FBTyxHQUFJLEdBQVcsRUFBRSxPQUFPLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3JELElBQ0UsdUZBQXVGLENBQUMsSUFBSSxDQUMxRixPQUFPLENBQ1I7WUFFRCxPQUFPLElBQUksZUFBZSxDQUFDLEdBQUcsQ0FBTSxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFNLENBQUM7SUFDckMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUNQLFNBQWlDO1FBRWpDLE9BQU8sSUFBSSxjQUFjLENBSXZCLElBQVcsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILFNBQVMsQ0FDUCxLQUFvQixFQUNwQixJQUFZLEVBQ1osS0FBcUI7UUFFckIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNLLGVBQWUsQ0FDckIsS0FBeUIsRUFDekIsS0FBYSxFQUNiLE9BQWUsRUFDZixTQUFvQyxFQUNwQyxXQUFtQjtRQUVuQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUM5QixNQUFNLElBQUksVUFBVSxDQUNsQixHQUFHLE9BQU8sYUFBYSxXQUFXLG9CQUFvQixLQUFLLFFBQ3pELElBQUksSUFBSSxTQUNWLEVBQUUsQ0FDSCxDQUFDO1FBQ0osQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssZ0JBQWdCLENBQ3RCLEtBQXlCLEVBQ3pCLEtBQWE7UUFFYixNQUFNLE9BQU8sR0FBRyxLQUEyQixDQUFDO1FBQzVDLE1BQU0sUUFBUSxHQUNaLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUM3QixRQUFRLENBQUMsa0JBQWtCLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFLFVBQVUsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLGlCQUFpQixDQUFDLFFBQWE7UUFDckMsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUNoQyxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVE7WUFBRSxPQUFPLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoRSxJQUFJLE9BQU8sUUFBUSxLQUFLLFVBQVUsSUFBSSxRQUFRLENBQUMsSUFBSTtZQUNqRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckMsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxhQUFhLENBQUMsSUFBYTtRQUNqQyxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxLQUFLLFFBQVEsQ0FBQztJQUNoRCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSyxjQUFjLENBQUMsS0FBVSxFQUFFLEtBQWEsRUFBRSxPQUFlO1FBQy9ELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtZQUFFLE9BQU8sS0FBSyxDQUFDO1FBQzVDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtZQUFFLE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELE1BQU0sSUFBSSxVQUFVLENBQ2xCLEdBQUcsT0FBTyxRQUFRLEtBQUssc0NBQXNDLE9BQU8sS0FBSyxFQUFFLENBQzVFLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNPLFNBQVM7UUFDakIsSUFBSSxJQUFJLENBQUMsWUFBWTtZQUFFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNoRCxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzRSxNQUFNLE9BQU8sR0FBd0IsR0FBRztZQUN0QyxDQUFDLENBQUMsRUFBRSxHQUFHLEVBQUU7WUFDVCxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLENBQUM7UUFDbEUsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNSLE1BQU0sVUFBVSxHQUFHLE9BQU8sR0FBRyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdEQsT0FBTyxDQUFDLE1BQU0sR0FBRyxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxVQUFVLEVBQUUsQ0FBQztRQUMzRSxDQUFDO1FBQ0QsSUFBSSxRQUFRO1lBQUUsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDMUMsSUFBSSxRQUFRO1lBQUUsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDMUMsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRO1lBQUUsT0FBTyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDOUQsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUErQixDQUFDO0lBQzdELENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBVSxVQUFVO1FBQ3hCLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNuQixNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsVUFBVSxDQUFDO1FBQ2hELE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxVQUFVLENBQUM7UUFDaEQsVUFBVSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7YUFDakMsR0FBRyxDQUFDLFlBQVksQ0FBQzthQUNqQixNQUFNLENBQ0wsUUFBUSxDQUFDLDRCQUE0QixDQUFDLEVBQ3RDLFlBQVksQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLEVBQzlCLFNBQVMsQ0FBQyxZQUFZLENBQUMsQ0FDeEI7YUFDQSxLQUFLLEVBQUUsQ0FBQztRQUNYLFVBQVUsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDO2FBQ2pDLEdBQUcsQ0FBQyxZQUFZLENBQUM7YUFDakIsTUFBTSxDQUNMLGNBQWMsQ0FBQyw0QkFBNEIsQ0FBQyxFQUM1QyxZQUFZLENBQUMsWUFBWSxFQUFFLEVBQUUsQ0FBQyxFQUM5QixTQUFTLENBQUMsWUFBWSxDQUFDLENBQ3hCO2FBQ0EsS0FBSyxFQUFFLENBQUM7SUFDYixDQUFDO0NBQ0Y7QUFFRCxPQUFPLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDO0FBQ2pDLFlBQVksQ0FBQyxVQUFVLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBcInJlZmxlY3QtbWV0YWRhdGFcIjtcbmltcG9ydCB7XG4gIEFkYXB0ZXIsXG4gIEFkYXB0ZXJGbGFncyxcbiAgQ29ubmVjdGlvbkVycm9yLFxuICBDb250ZXh0TG9jayxcbiAgQ29udGV4dHVhbEFyZ3MsXG4gIE1heWJlQ29udGV4dHVhbEFyZyxcbiAgUGVyc2lzdGVuY2VLZXlzLFxuICBSYXdSZXN1bHQsXG4gIFNlcXVlbmNlLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7IGNyZWF0ZUNsaWVudCwgdHlwZSBSZWRpc0NsaWVudFR5cGUgfSBmcm9tIFwicmVkaXNcIjtcbmltcG9ydCB7IFF1ZXJ5RXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7XG4gIEJhc2VFcnJvcixcbiAgQ29uZmxpY3RFcnJvcixcbiAgREJLZXlzLFxuICBnZW5lcmF0ZWQsXG4gIEludGVybmFsRXJyb3IsXG4gIE5vdEZvdW5kRXJyb3IsXG4gIG9uQ3JlYXRlLFxuICBvbkNyZWF0ZVVwZGF0ZSxcbiAgT3BlcmF0aW9uS2V5cyxcbiAgUHJpbWFyeUtleVR5cGUsXG59IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQge1xuICBDb25zdHJ1Y3RvcixcbiAgRGVjb3JhdGlvbixcbiAgTWV0YWRhdGEsXG4gIHByb3BNZXRhZGF0YSxcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBSYXdSZWRpc1F1ZXJ5LCBSZWRpc0NvbmZpZywgUmVkaXNDb250ZXh0LCBSZWRpc0ZsYWdzIH0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IFJlZGlzRGVmYXVsdFByZWZpeCwgUmVkaXNGbGF2b3VyIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBSZWRpc1N0YXRlbWVudCB9IGZyb20gXCIuL1JlZGlzU3RhdGVtZW50XCI7XG5pbXBvcnQgeyBSZWRpc1BhZ2luYXRvciB9IGZyb20gXCIuL1JlZGlzUGFnaW5hdG9yXCI7XG5pbXBvcnQgeyBSZWRpc0Rpc3BhdGNoIH0gZnJvbSBcIi4vUmVkaXNEaXNwYXRjaFwiO1xuaW1wb3J0IHsgUmVkaXNDb250ZXh0TG9jayB9IGZyb20gXCIuL1JlZGlzQ29udGV4dExvY2tcIjtcbmltcG9ydCB7IGNyZWF0ZWRCeU9uUmVkaXNDcmVhdGVVcGRhdGUgfSBmcm9tIFwiLi9oYW5kbGVyc1wiO1xuaW1wb3J0IHsgZGVzZXJpYWxpemUsIHNlcmlhbGl6ZSB9IGZyb20gXCIuL3NlcmlhbGl6YXRpb25cIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gUmVkaXMgYWRhcHRlciBmb3IgZGF0YSBwZXJzaXN0ZW5jZVxuICogQHN1bW1hcnkgVGhlIFJlZGlzQWRhcHRlciBpbXBsZW1lbnRzIHRoZSBwZXJzaXN0ZW5jZSBsYXllciBvbiB0b3Agb2YgUmVkaXNcbiAqIChvciBhbnkgUmVkaXMtY29tcGF0aWJsZSBzZXJ2ZXIgc3VjaCBhcyBEcmFnb25mbHlEQikuIEVhY2ggbW9kZWwgdGFibGUgaXNcbiAqIHN0b3JlZCBhcyBhIHNpbmdsZSBSZWRpcyBoYXNoIHdob3NlIGZpZWxkcyBhcmUgcmVjb3JkIGlkcyBhbmQgd2hvc2UgdmFsdWVzIGFyZVxuICogc2VyaWFsaXplZCByZWNvcmRzLiBUaGUgYWRhcHRlciBpcyBtb2RlbGxlZCBvbiB0aGUgY29yZSBSQU0gYWRhcHRlcjogcmF3IHF1ZXJpZXNcbiAqIGxvYWQgdGhlIG1hdGNoaW5nIHRhYmxlLCByZXZlcnQgZXZlcnkgcmVjb3JkIHRvIGEgbW9kZWwgYW5kIHRoZW4gYXBwbHkgdGhlIHNhbWVcbiAqIGZpbHRlcmluZywgc29ydGluZywgYWdncmVnYXRpb24gYW5kIHBhZ2luYXRpb24gbG9naWMgaW4gSmF2YVNjcmlwdC5cbiAqIGBAdHJhbnNhY3Rpb25hbCgpYCBpcyBiYWNrZWQgYnkge0BsaW5rIFJlZGlzQ29udGV4dExvY2t9LCB3aGljaCBidWZmZXJzIHdyaXRlc1xuICogb24gYSBkZWRpY2F0ZWQgY29ubmVjdGlvbiBhbmQgZmx1c2hlcyB0aGVtIGF0b21pY2FsbHkgd2l0aCBgTVVMVElgL2BFWEVDYC5cbiAqIEBjbGFzcyBSZWRpc0FkYXB0ZXJcbiAqIEBjYXRlZ29yeSBSZWRpc1xuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IGFkYXB0ZXIgPSBuZXcgUmVkaXNBZGFwdGVyKHsgdXJsOiBcInJlZGlzOi8vbG9jYWxob3N0OjYzNzlcIiB9KTtcbiAqIGF3YWl0IGFkYXB0ZXIuaW5pdGlhbGl6ZSgpO1xuICogY29uc3QgcmVwbyA9IG5ldyAoYWRhcHRlci5yZXBvc2l0b3J5PFVzZXI+KCkpKFVzZXIsIGFkYXB0ZXIpO1xuICogYXdhaXQgcmVwby5jcmVhdGUobmV3IFVzZXIoeyBuYW1lOiBcIkpvaG5cIiB9KSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIFJlZGlzQWRhcHRlciBleHRlbmRzIEFkYXB0ZXI8XG4gIFJlZGlzQ29uZmlnLFxuICBSZWRpc0NsaWVudFR5cGUsXG4gIFJhd1JlZGlzUXVlcnksXG4gIFJlZGlzQ29udGV4dFxuPiB7XG4gIHByaXZhdGUgX3JlZGlzQ2xpZW50PzogUmVkaXNDbGllbnRUeXBlO1xuXG4gIGNvbnN0cnVjdG9yKGNvbmY6IFJlZGlzQ29uZmlnID0ge30sIGFsaWFzPzogc3RyaW5nKSB7XG4gICAgc3VwZXIoY29uZiwgUmVkaXNGbGF2b3VyLCBhbGlhcyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgb3BlcmF0aW9uIGZsYWdzIHdpdGggYSB1c2VyIGlkZW50aXR5XG4gICAqIEBzdW1tYXJ5IEV4dGVuZHMgdGhlIGJhc2UgZmxhZ3Mgd2l0aCBhIGBVVUlEYCB1c2VkIGJ5IHRoZSBgY3JlYXRlZEJ5YCBhbmRcbiAgICogYHVwZGF0ZWRCeWAgaGFuZGxlcnMuIERlZmF1bHRzIHRvIHRoZSBjb25maWd1cmVkIGB1c2VyYCBvciB0aGUgY3VycmVudCB0aW1lLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIGZvciB0aGUgb3BlcmF0aW9uXG4gICAqIEBwYXJhbSB7T3BlcmF0aW9uS2V5c30gb3BlcmF0aW9uIC0gVGhlIG9wZXJhdGlvbiBiZWluZyBwZXJmb3JtZWRcbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNPn0gbW9kZWwgLSBUaGUgbW9kZWwgY29uc3RydWN0b3JcbiAgICogQHBhcmFtIHtQYXJ0aWFsPFJlZGlzRmxhZ3M+fSBmbGFncyAtIFBhcnRpYWwgZmxhZ3MgdG8gZXh0ZW5kXG4gICAqIEByZXR1cm4ge1Byb21pc2U8UmVkaXNGbGFncz59IFRoZSBjb21wbGV0ZSBmbGFncyB3aXRoIGEgVVVJRFxuICAgKi9cbiAgb3ZlcnJpZGUgYXN5bmMgZmxhZ3M8TSBleHRlbmRzIE1vZGVsPGJvb2xlYW4+PihcbiAgICBvcGVyYXRpb246IE9wZXJhdGlvbktleXMsXG4gICAgbW9kZWw6IENvbnN0cnVjdG9yPE0+LFxuICAgIGZsYWdzOiBQYXJ0aWFsPFJlZGlzRmxhZ3M+XG4gICk6IFByb21pc2U8UmVkaXNGbGFncz4ge1xuICAgIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgICAgYXdhaXQgc3VwZXIuZmxhZ3MoXG4gICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgbW9kZWwsXG4gICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgVVVJRDogZmxhZ3MuVVVJRCB8fCB0aGlzLmNvbmZpZy51c2VyIHx8IFwiXCIgKyBEYXRlLm5vdygpLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgZmxhZ3NcbiAgICAgICAgKVxuICAgICAgKVxuICAgICkgYXMgUmVkaXNGbGFncztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyB0aGUgUmVkaXMgZXZlbnQgZGlzcGF0Y2hlclxuICAgKiBAcmV0dXJuIHtSZWRpc0Rpc3BhdGNofSBBIFJlZGlzLWF3YXJlIGRpc3BhdGNoIGluc3RhbmNlXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgRGlzcGF0Y2goKTogUmVkaXNEaXNwYXRjaCB7XG4gICAgcmV0dXJuIG5ldyBSZWRpc0Rpc3BhdGNoKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIHRoZSBSZWRpcyB0cmFuc2FjdGlvbiBsb2NrIGltcGxlbWVudGF0aW9uXG4gICAqIEBzdW1tYXJ5IFJldHVybnMgYSBmcmVzaCB7QGxpbmsgUmVkaXNDb250ZXh0TG9ja30gcGVyIHRvcC1sZXZlbCB0cmFuc2FjdGlvblxuICAgKiBzbyBgQHRyYW5zYWN0aW9uYWwoKWAgY2FuIGJ1ZmZlciB3cml0ZXMgb24gYSBkZWRpY2F0ZWQgY29ubmVjdGlvbi5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIE9wdGlvbmFsIGFyZ3VtZW50cyBmb3J3YXJkZWQgdG8gdGhlIGxvY2tcbiAgICogQHJldHVybiB7UmVkaXNDb250ZXh0TG9ja30gQSBmcmVzaCBSZWRpcyB0cmFuc2FjdGlvbiBsb2NrXG4gICAqL1xuICBvdmVycmlkZSB0cmFuc2FjdGlvbkxvY2soLi4uYXJnczogYW55W10pOiBSZWRpc0NvbnRleHRMb2NrPHRoaXM+IHtcbiAgICByZXR1cm4gbmV3IFJlZGlzQ29udGV4dExvY2sodGhpcywgLi4uYXJncyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIHRoZSBhZGFwdGVyIGFuZCBvcGVucyB0aGUgUmVkaXMgY29ubmVjdGlvblxuICAgKiBAcGFyYW0gey4uLk1heWJlQ29udGV4dHVhbEFyZ30gYXJncyAtIEluaXRpYWxpemF0aW9uIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBvbmNlIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlXG4gICAqL1xuICBvdmVycmlkZSBhc3luYyBpbml0aWFsaXplKFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxSZWRpc0NvbnRleHQ+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoXG4gICAgICBhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBQZXJzaXN0ZW5jZUtleXMuSU5JVElBTElaQVRJT04sIHRydWUpXG4gICAgKS5mb3IodGhpcy5pbml0aWFsaXplKTtcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLmNsaWVudDtcbiAgICB0cnkge1xuICAgICAgaWYgKCFjbGllbnQuaXNPcGVuKSBhd2FpdCBjbGllbnQuY29ubmVjdCgpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlIGFzIEVycm9yKTtcbiAgICB9XG4gICAgdGhpcy5fcmVkaXNDbGllbnQgPSBjbGllbnQ7XG4gICAgYXdhaXQgc3VwZXIuaW5pdGlhbGl6ZSguLi5hcmdzKTtcbiAgICBsb2cudmVyYm9zZShgJHt0aGlzLnRvU3RyaW5nKCl9IGluaXRpYWxpemVkYCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNodXRzIGRvd24gdGhlIGFkYXB0ZXIgYW5kIGNsb3NlcyB0aGUgUmVkaXMgY29ubmVjdGlvblxuICAgKiBAcGFyYW0gey4uLk1heWJlQ29udGV4dHVhbEFyZ30gYXJncyAtIFNodXRkb3duIGFyZ3VtZW50c1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBvbmNlIHNodXRkb3duIGlzIGNvbXBsZXRlXG4gICAqL1xuICBvdmVycmlkZSBhc3luYyBzaHV0ZG93bihcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8UmVkaXNDb250ZXh0PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5zaHV0ZG93biguLi5hcmdzKTtcbiAgICBjb25zdCBjbGllbnQgPSB0aGlzLl9yZWRpc0NsaWVudCA/PyB0aGlzLl9jbGllbnQ7XG4gICAgdGhpcy5fcmVkaXNDbGllbnQgPSB1bmRlZmluZWQ7XG4gICAgdGhpcy5fY2xpZW50ID0gdW5kZWZpbmVkO1xuICAgIGlmICghY2xpZW50KSByZXR1cm47XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGNsaWVudC5xdWl0KCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0cnkge1xuICAgICAgICBjbGllbnQuZGVzdHJveSgpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIC8vIHRoZSBjb25uZWN0aW9uIGlzIGFscmVhZHkgY2xvc2VkOyBub3RoaW5nIGxlZnQgdG8gcmVsZWFzZVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBuYW1lc3BhY2VkIFJlZGlzIGtleSBmb3IgYSB0YWJsZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgdGFibGUgKG1vZGVsKSBuYW1lXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIG5hbWVzcGFjZWQgUmVkaXMgaGFzaCBrZXlcbiAgICovXG4gIHJlY29yZEtleSh0YWJsZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5jb25maWcucHJlZml4ID8/IFJlZGlzRGVmYXVsdFByZWZpeH06JHt0YWJsZX1gO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXNvbHZlcyB0aGUgYWN0aXZlIHRyYW5zYWN0aW9uIGxvY2sgZnJvbSBhIGNvbnRleHQsIHdoZW4gcHJlc2VudFxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSB7QGxpbmsgUmVkaXNDb250ZXh0TG9ja30gb25seSB3aGlsZSBhIHRyYW5zYWN0aW9uIGlzXG4gICAqIGFjdHVhbGx5IG9wZW4sIHNvIENSVUQgb3BlcmF0aW9ucyBidWZmZXIgdGhlaXIgd3JpdGVzIGR1cmluZyBhIHRyYW5zYWN0aW9uIGFuZFxuICAgKiBnbyBzdHJhaWdodCB0byBSZWRpcyBvdGhlcndpc2UuXG4gICAqIEBwYXJhbSB7UmVkaXNDb250ZXh0fSBbY3R4XSAtIFRoZSBvcGVyYXRpb24gY29udGV4dFxuICAgKiBAcmV0dXJuIHtSZWRpc0NvbnRleHRMb2NrIHwgdW5kZWZpbmVkfSBUaGUgYWN0aXZlIGxvY2ssIHdoZW4gb25lIGV4aXN0c1xuICAgKi9cbiAgcHJvdGVjdGVkIGFjdGl2ZUxvY2soY3R4PzogUmVkaXNDb250ZXh0KTogUmVkaXNDb250ZXh0TG9jayB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgbG9jayA9IGN0eD8uZ2V0T3JVbmRlZmluZWQoXCJ0cmFuc2FjdGlvbkxvY2tcIikgYXNcbiAgICAgIHwgQ29udGV4dExvY2tcbiAgICAgIHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiBsb2NrIGluc3RhbmNlb2YgUmVkaXNDb250ZXh0TG9jayAmJiBsb2NrLmFjdGl2ZSA/IGxvY2sgOiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByZXBhcmVzIGEgbW9kZWwgZm9yIHN0b3JhZ2VcbiAgICogQHN1bW1hcnkgRGVsZWdhdGVzIHRvIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uLCB3aGljaCBleHRyYWN0cyB0aGUgcHJpbWFyeVxuICAgKiBrZXkgZnJvbSB0aGUgcmVjb3JkIGJlZm9yZSBpdCBpcyBoYW5kZWQgdG8ge0BsaW5rIGNyZWF0ZX0uXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUgYmVpbmcgcHJlcGFyZWRcbiAgICogQHBhcmFtIHtNfSBtb2RlbCAtIFRoZSBtb2RlbCBpbnN0YW5jZSB0byBwcmVwYXJlXG4gICAqIEByZXR1cm4gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIHJlY29yZCwgaWQgYW5kIHRyYW5zaWVudCBkYXRhXG4gICAqL1xuICBvdmVycmlkZSBwcmVwYXJlPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgbW9kZWw6IE0sXG4gICAgLi4uYXJnczogWy4uLmFueVtdLCBSZWRpc0NvbnRleHRdXG4gICk6IHtcbiAgICByZWNvcmQ6IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgaWQ6IHN0cmluZztcbiAgICB0cmFuc2llbnQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICB9IHtcbiAgICBjb25zdCBjdHggPSBhcmdzLnBvcCgpO1xuICAgIHJldHVybiBzdXBlci5wcmVwYXJlKG1vZGVsLCAuLi5hcmdzLCBjdHgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDb252ZXJ0cyBhIHN0b3JlZCByZWNvcmQgYmFjayB0byBhIG1vZGVsIGluc3RhbmNlXG4gICAqIEBzdW1tYXJ5IERlbGVnYXRlcyB0byB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiwgcmVhdHRhY2hpbmcgdGhlIHByaW1hcnkga2V5XG4gICAqIGV4dHJhY3RlZCBmcm9tIHRoZSByZWNvcmQncyBSZWRpcyBoYXNoIGZpZWxkLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIHRvIHJldmVydCB0b1xuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IG9iaiAtIFRoZSBzdG9yZWQgcmVjb3JkXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7UHJpbWFyeUtleVR5cGV9IGlkIC0gVGhlIHByaW1hcnkga2V5IHZhbHVlXG4gICAqIEByZXR1cm4ge019IFRoZSByZWNvbnN0cnVjdGVkIG1vZGVsIGluc3RhbmNlXG4gICAqL1xuICBvdmVycmlkZSByZXZlcnQ8TSBleHRlbmRzIE1vZGVsPihcbiAgICBvYmo6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE0+LFxuICAgIGlkOiBQcmltYXJ5S2V5VHlwZSxcbiAgICB0cmFuc2llbnQ/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IFsuLi5hbnlbXSwgUmVkaXNDb250ZXh0XVxuICApOiBNIHtcbiAgICByZXR1cm4gc3VwZXIucmV2ZXJ0KG9iaiwgY2xhenosIGlkLCB0cmFuc2llbnQsIC4uLmFyZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IHJlY29yZCBpbiBSZWRpc1xuICAgKiBAc3VtbWFyeSBXcml0ZXMgdGhlIHNlcmlhbGl6ZWQgcmVjb3JkIHRvIHRoZSB0YWJsZSBoYXNoLiBJbnNpZGUgYVxuICAgKiB0cmFuc2FjdGlvbiB0aGUgd3JpdGUgaXMgYnVmZmVyZWQgKHJlYWQteW91ci13cml0ZXMpIGluc3RlYWQgb2YgaGl0dGluZ1xuICAgKiBSZWRpczsgb3RoZXJ3aXNlIGBIU0VUTlhgIGd1YXJhbnRlZXMgdGhlIHJlY29yZCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7UHJpbWFyeUtleVR5cGV9IGlkIC0gVGhlIHVuaXF1ZSByZWNvcmQgaWRlbnRpZmllclxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IG1vZGVsIC0gVGhlIHJlY29yZCB0byBzdG9yZVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBUaGUgc3RvcmVkIHJlY29yZFxuICAgKi9cbiAgYXN5bmMgY3JlYXRlPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE0+LFxuICAgIGlkOiBQcmltYXJ5S2V5VHlwZSxcbiAgICBtb2RlbDogUmVjb3JkPHN0cmluZywgYW55PixcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxSZWRpc0NvbnRleHQ+XG4gICk6IFByb21pc2U8UmVjb3JkPHN0cmluZywgYW55Pj4ge1xuICAgIGNvbnN0IHsgbG9nLCBjdHggfSA9IHRoaXMubG9nQ3R4KGFyZ3MsIHRoaXMuY3JlYXRlKTtcbiAgICBjb25zdCB0YWJsZSA9IE1vZGVsLnRhYmxlTmFtZShjbGF6eik7XG4gICAgbG9nLmRlYnVnKGBjcmVhdGluZyByZWNvcmQgaW4gdGFibGUgJHt0YWJsZX0gd2l0aCBpZCAke2lkfWApO1xuICAgIGNvbnN0IGZpZWxkID0gU3RyaW5nKGlkKTtcbiAgICBjb25zdCBrZXkgPSB0aGlzLnJlY29yZEtleSh0YWJsZSk7XG4gICAgY29uc3QgbG9jayA9IHRoaXMuYWN0aXZlTG9jayhjdHgpO1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBzZXJpYWxpemUobW9kZWwpO1xuICAgIGlmIChsb2NrKSB7XG4gICAgICBjb25zdCBidWZmZXJlZCA9IGxvY2suZ2V0UmVjb3JkKHRhYmxlLCBmaWVsZCk7XG4gICAgICBjb25zdCBleGlzdHMgPVxuICAgICAgICBidWZmZXJlZC5mb3VuZCAmJiBidWZmZXJlZC52YWx1ZSAhPT0gbnVsbFxuICAgICAgICAgID8gdHJ1ZVxuICAgICAgICAgIDogYXdhaXQgdGhpcy5jbGllbnQuaEV4aXN0cyhrZXksIGZpZWxkKTtcbiAgICAgIGlmIChleGlzdHMpXG4gICAgICAgIHRocm93IG5ldyBDb25mbGljdEVycm9yKFxuICAgICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBhbHJlYWR5IGV4aXN0cyBpbiB0YWJsZSAke3RhYmxlfWBcbiAgICAgICAgKTtcbiAgICAgIGxvY2suc2V0UmVjb3JkKHRhYmxlLCBmaWVsZCwgc2VyaWFsaXplZCk7XG4gICAgICByZXR1cm4gbW9kZWw7XG4gICAgfVxuICAgIGNvbnN0IGNyZWF0ZWQgPSBhd2FpdCB0aGlzLmNsaWVudC5oU2V0Tlgoa2V5LCBmaWVsZCwgc2VyaWFsaXplZCk7XG4gICAgaWYgKGNyZWF0ZWQgPT09IDApXG4gICAgICB0aHJvdyBuZXcgQ29uZmxpY3RFcnJvcihcbiAgICAgICAgYFJlY29yZCB3aXRoIGlkICR7aWR9IGFscmVhZHkgZXhpc3RzIGluIHRhYmxlICR7dGFibGV9YFxuICAgICAgKTtcbiAgICByZXR1cm4gbW9kZWw7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlYWRzIGEgcmVjb3JkIGZyb20gUmVkaXNcbiAgICogQHN1bW1hcnkgUmVhZHMgdGhlIHJlY29yZCBmcm9tIHRoZSB0YWJsZSBoYXNoLiBJbnNpZGUgYSB0cmFuc2FjdGlvbiB0aGVcbiAgICogYnVmZmVyZWQgdmFsdWUgd2lucyAocmVhZC15b3VyLXdyaXRlcyk7IGEgYnVmZmVyZWQgZGVsZXRlIGlzIHRyZWF0ZWQgYXMgYVxuICAgKiBtaXNzaW5nIHJlY29yZC5cbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZVxuICAgKiBAcGFyYW0ge0NvbnN0cnVjdG9yPE0+fSBjbGF6eiAtIFRoZSBtb2RlbCBjb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0ge1ByaW1hcnlLZXlUeXBlfSBpZCAtIFRoZSB1bmlxdWUgcmVjb3JkIGlkZW50aWZpZXJcbiAgICogQHJldHVybiB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gVGhlIHN0b3JlZCByZWNvcmRcbiAgICovXG4gIGFzeW5jIHJlYWQ8TSBleHRlbmRzIE1vZGVsPihcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPFJlZGlzQ29udGV4dD5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3QgeyBsb2csIGN0eCB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy5yZWFkKTtcbiAgICBjb25zdCB0YWJsZSA9IE1vZGVsLnRhYmxlTmFtZShjbGF6eik7XG4gICAgbG9nLmRlYnVnKGByZWFkaW5nIHJlY29yZCBpbiB0YWJsZSAke3RhYmxlfSB3aXRoIGlkICR7aWR9YCk7XG4gICAgY29uc3QgZmllbGQgPSBTdHJpbmcoaWQpO1xuICAgIGNvbnN0IGxvY2sgPSB0aGlzLmFjdGl2ZUxvY2soY3R4KTtcbiAgICBpZiAobG9jaykge1xuICAgICAgY29uc3QgYnVmZmVyZWQgPSBsb2NrLmdldFJlY29yZCh0YWJsZSwgZmllbGQpO1xuICAgICAgaWYgKGJ1ZmZlcmVkLmZvdW5kKSB7XG4gICAgICAgIGlmIChidWZmZXJlZC52YWx1ZSA9PT0gbnVsbClcbiAgICAgICAgICB0aHJvdyBuZXcgTm90Rm91bmRFcnJvcihcbiAgICAgICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBub3QgZm91bmQgaW4gdGFibGUgJHt0YWJsZX1gXG4gICAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGRlc2VyaWFsaXplKGJ1ZmZlcmVkLnZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcmF3ID0gYXdhaXQgdGhpcy5jbGllbnQuaEdldCh0aGlzLnJlY29yZEtleSh0YWJsZSksIGZpZWxkKTtcbiAgICBpZiAocmF3ID09PSBudWxsIHx8IHJhdyA9PT0gdW5kZWZpbmVkKVxuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoXG4gICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBub3QgZm91bmQgaW4gdGFibGUgJHt0YWJsZX1gXG4gICAgICApO1xuICAgIHJldHVybiBkZXNlcmlhbGl6ZShyYXcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGVzIGFuIGV4aXN0aW5nIHJlY29yZCBpbiBSZWRpc1xuICAgKiBAc3VtbWFyeSBJbnNpZGUgYSB0cmFuc2FjdGlvbiB0aGUgd3JpdGUgaXMgYnVmZmVyZWQ7IG90aGVyd2lzZSB0aGUgcmVjb3JkXG4gICAqIGlzIG92ZXJ3cml0dGVuIGluIHBsYWNlLiBBIG1pc3NpbmcgcmVjb3JkIHJhaXNlcyBhIGBOb3RGb3VuZEVycm9yYC5cbiAgICogQHRlbXBsYXRlIE0gLSBUaGUgbW9kZWwgdHlwZVxuICAgKiBAcGFyYW0ge0NvbnN0cnVjdG9yPE0+fSBjbGF6eiAtIFRoZSBtb2RlbCBjb25zdHJ1Y3RvclxuICAgKiBAcGFyYW0ge1ByaW1hcnlLZXlUeXBlfSBpZCAtIFRoZSB1bmlxdWUgcmVjb3JkIGlkZW50aWZpZXJcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBtb2RlbCAtIFRoZSBuZXcgcmVjb3JkIGRhdGFcbiAgICogQHJldHVybiB7UHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+Pn0gVGhlIHVwZGF0ZWQgcmVjb3JkXG4gICAqL1xuICBhc3luYyB1cGRhdGU8TSBleHRlbmRzIE1vZGVsPihcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TT4sXG4gICAgaWQ6IFByaW1hcnlLZXlUeXBlLFxuICAgIG1vZGVsOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPFJlZGlzQ29udGV4dD5cbiAgKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PiB7XG4gICAgY29uc3QgeyBsb2csIGN0eCB9ID0gdGhpcy5sb2dDdHgoYXJncywgdGhpcy51cGRhdGUpO1xuICAgIGNvbnN0IHRhYmxlID0gTW9kZWwudGFibGVOYW1lKGNsYXp6KTtcbiAgICBsb2cuZGVidWcoYHVwZGF0aW5nIHJlY29yZCBpbiB0YWJsZSAke3RhYmxlfSB3aXRoIGlkICR7aWR9YCk7XG4gICAgY29uc3QgZmllbGQgPSBTdHJpbmcoaWQpO1xuICAgIGNvbnN0IGtleSA9IHRoaXMucmVjb3JkS2V5KHRhYmxlKTtcbiAgICBjb25zdCBsb2NrID0gdGhpcy5hY3RpdmVMb2NrKGN0eCk7XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHNlcmlhbGl6ZShtb2RlbCk7XG4gICAgaWYgKGxvY2spIHtcbiAgICAgIGNvbnN0IGJ1ZmZlcmVkID0gbG9jay5nZXRSZWNvcmQodGFibGUsIGZpZWxkKTtcbiAgICAgIGNvbnN0IGRlbGV0ZWQgPSBidWZmZXJlZC5mb3VuZCAmJiBidWZmZXJlZC52YWx1ZSA9PT0gbnVsbDtcbiAgICAgIGNvbnN0IGV4aXN0cyA9XG4gICAgICAgIGRlbGV0ZWQgfHwgYnVmZmVyZWQuZm91bmRcbiAgICAgICAgICA/ICFkZWxldGVkXG4gICAgICAgICAgOiBhd2FpdCB0aGlzLmNsaWVudC5oRXhpc3RzKGtleSwgZmllbGQpO1xuICAgICAgaWYgKCFleGlzdHMpXG4gICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFxuICAgICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBub3QgZm91bmQgaW4gdGFibGUgJHt0YWJsZX1gXG4gICAgICAgICk7XG4gICAgICBsb2NrLnNldFJlY29yZCh0YWJsZSwgZmllbGQsIHNlcmlhbGl6ZWQpO1xuICAgICAgcmV0dXJuIG1vZGVsO1xuICAgIH1cbiAgICBjb25zdCBleGlzdHMgPSBhd2FpdCB0aGlzLmNsaWVudC5oRXhpc3RzKGtleSwgZmllbGQpO1xuICAgIGlmICghZXhpc3RzKVxuICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoXG4gICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBub3QgZm91bmQgaW4gdGFibGUgJHt0YWJsZX1gXG4gICAgICApO1xuICAgIGF3YWl0IHRoaXMuY2xpZW50LmhTZXQoa2V5LCBmaWVsZCwgc2VyaWFsaXplZCk7XG4gICAgcmV0dXJuIG1vZGVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZWxldGVzIGEgcmVjb3JkIGZyb20gUmVkaXNcbiAgICogQHN1bW1hcnkgSW5zaWRlIGEgdHJhbnNhY3Rpb24gdGhlIGRlbGV0ZSBpcyBidWZmZXJlZDsgb3RoZXJ3aXNlIHRoZSBmaWVsZFxuICAgKiBpcyByZW1vdmVkIGZyb20gdGhlIHRhYmxlIGhhc2ggaW1tZWRpYXRlbHkuIEEgbWlzc2luZyByZWNvcmQgcmFpc2VzIGFcbiAgICogYE5vdEZvdW5kRXJyb3JgLlxuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlXG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7UHJpbWFyeUtleVR5cGV9IGlkIC0gVGhlIHVuaXF1ZSByZWNvcmQgaWRlbnRpZmllclxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBUaGUgZGVsZXRlZCByZWNvcmRcbiAgICovXG4gIGFzeW5jIGRlbGV0ZTxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIGNsYXp6OiBDb25zdHJ1Y3RvcjxNPixcbiAgICBpZDogUHJpbWFyeUtleVR5cGUsXG4gICAgLi4uYXJnczogQ29udGV4dHVhbEFyZ3M8UmVkaXNDb250ZXh0PlxuICApOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+IHtcbiAgICBjb25zdCB7IGxvZywgY3R4IH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLmRlbGV0ZSk7XG4gICAgY29uc3QgdGFibGUgPSBNb2RlbC50YWJsZU5hbWUoY2xhenopO1xuICAgIGxvZy5kZWJ1ZyhgZGVsZXRpbmcgcmVjb3JkIGZyb20gdGFibGUgJHt0YWJsZX0gd2l0aCBpZCAke2lkfWApO1xuICAgIGNvbnN0IGZpZWxkID0gU3RyaW5nKGlkKTtcbiAgICBjb25zdCBrZXkgPSB0aGlzLnJlY29yZEtleSh0YWJsZSk7XG4gICAgY29uc3QgbG9jayA9IHRoaXMuYWN0aXZlTG9jayhjdHgpO1xuICAgIGlmIChsb2NrKSB7XG4gICAgICBjb25zdCBidWZmZXJlZCA9IGxvY2suZ2V0UmVjb3JkKHRhYmxlLCBmaWVsZCk7XG4gICAgICBjb25zdCByYXcgPSBidWZmZXJlZC5mb3VuZFxuICAgICAgICA/IGJ1ZmZlcmVkLnZhbHVlXG4gICAgICAgIDogYXdhaXQgdGhpcy5jbGllbnQuaEdldChrZXksIGZpZWxkKTtcbiAgICAgIGlmIChyYXcgPT09IG51bGwgfHwgcmF3ID09PSB1bmRlZmluZWQpXG4gICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFxuICAgICAgICAgIGBSZWNvcmQgd2l0aCBpZCAke2lkfSBub3QgZm91bmQgaW4gdGFibGUgJHt0YWJsZX1gXG4gICAgICAgICk7XG4gICAgICBsb2NrLmRlbGV0ZVJlY29yZCh0YWJsZSwgZmllbGQpO1xuICAgICAgcmV0dXJuIGRlc2VyaWFsaXplKHJhdyk7XG4gICAgfVxuICAgIGNvbnN0IHJhdyA9IGF3YWl0IHRoaXMuY2xpZW50LmhHZXQoa2V5LCBmaWVsZCk7XG4gICAgaWYgKHJhdyA9PT0gbnVsbCB8fCByYXcgPT09IHVuZGVmaW5lZClcbiAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKFxuICAgICAgICBgUmVjb3JkIHdpdGggaWQgJHtpZH0gbm90IGZvdW5kIGluIHRhYmxlICR7dGFibGV9YFxuICAgICAgKTtcbiAgICBhd2FpdCB0aGlzLmNsaWVudC5oRGVsKGtleSwgZmllbGQpO1xuICAgIHJldHVybiBkZXNlcmlhbGl6ZShyYXcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMb2FkcyBldmVyeSByZWNvcmQgb2YgYSB0YWJsZSwgYXBwbHlpbmcgYnVmZmVyZWQgd3JpdGVzXG4gICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSB0YWJsZSBoYXNoIGFuZCBtZXJnZXMgdGhlIHRyYW5zYWN0aW9uIGJ1ZmZlciBvbiB0b3Agc28gYVxuICAgKiBxdWVyeSBpbnNpZGUgYSB0cmFuc2FjdGlvbiBvYnNlcnZlcyB0aGUgdHJhbnNhY3Rpb24ncyBvd24gd3JpdGVzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdGFibGUgLSBUaGUgdGFibGUgKG1vZGVsKSBuYW1lXG4gICAqIEBwYXJhbSB7UmVkaXNDb250ZXh0fSBbY3R4XSAtIFRoZSBvcGVyYXRpb24gY29udGV4dFxuICAgKiBAcmV0dXJuIHtQcm9taXNlPFtzdHJpbmcsIHN0cmluZ11bXT59IFRoZSByZWNvcmQgaWQvc2VyaWFsaXplZCBwYWlyc1xuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGxvYWRUYWJsZShcbiAgICB0YWJsZTogc3RyaW5nLFxuICAgIGN0eD86IFJlZGlzQ29udGV4dFxuICApOiBQcm9taXNlPFtzdHJpbmcsIHN0cmluZ11bXT4ge1xuICAgIGNvbnN0IHJhdyA9IGF3YWl0IHRoaXMuY2xpZW50LmhHZXRBbGwodGhpcy5yZWNvcmRLZXkodGFibGUpKTtcbiAgICBjb25zdCBtZXJnZWQgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPihPYmplY3QuZW50cmllcyhyYXcpKTtcbiAgICBjb25zdCBsb2NrID0gdGhpcy5hY3RpdmVMb2NrKGN0eCk7XG4gICAgaWYgKGxvY2spIHtcbiAgICAgIGNvbnN0IGJ1ZmZlcmVkID0gbG9jay50YWJsZUVudHJpZXModGFibGUpO1xuICAgICAgaWYgKGJ1ZmZlcmVkKSB7XG4gICAgICAgIGZvciAoY29uc3QgW2lkLCB2YWx1ZV0gb2YgYnVmZmVyZWQpIHtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IG51bGwpIG1lcmdlZC5kZWxldGUoaWQpO1xuICAgICAgICAgIGVsc2UgbWVyZ2VkLnNldChpZCwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBbLi4ubWVyZ2VkLmVudHJpZXMoKV07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEV4ZWN1dGVzIGEgcmF3IHF1ZXJ5IGFnYWluc3QgUmVkaXNcbiAgICogQHN1bW1hcnkgTG9hZHMgdGhlIG1hdGNoaW5nIHRhYmxlLCByZXZlcnRzIGV2ZXJ5IHJlY29yZCB0byBhIG1vZGVsIGFuZFxuICAgKiBhcHBsaWVzIHRoZSBpbi1tZW1vcnkgZmlsdGVyaW5nLCBzb3J0aW5nLCBhZ2dyZWdhdGlvbiBhbmQgcGFnaW5hdGlvbiBsb2dpYy5cbiAgICogVGhpcyBtaXJyb3JzIHRoZSBjb3JlIFJBTSBhZGFwdGVyLCBzaW5jZSBSZWRpcyBoYXNoZXMgYXJlIG5vdCBxdWVyeWFibGUuXG4gICAqIEB0ZW1wbGF0ZSBSIC0gVGhlIHF1ZXJ5IHJldHVybiB0eXBlXG4gICAqIEB0ZW1wbGF0ZSBEIC0gV2hldGhlciBvbmx5IGRvY3VtZW50cyBhcmUgcmV0dXJuZWRcbiAgICogQHBhcmFtIHtSYXdSZWRpc1F1ZXJ5PGFueT59IHJhd0lucHV0IC0gVGhlIHF1ZXJ5IHNwZWNpZmljYXRpb25cbiAgICogQHBhcmFtIHtEfSBkb2NzT25seSAtIFdoZXRoZXIgdG8gcmV0dXJuIG9ubHkgZG9jdW1lbnRzIChkZWZhdWx0IHRydWUpXG4gICAqIEByZXR1cm4ge1Byb21pc2U8UmF3UmVzdWx0PFIsIEQ+Pn0gVGhlIHF1ZXJ5IHJlc3VsdFxuICAgKi9cbiAgYXN5bmMgcmF3PFIsIEQgZXh0ZW5kcyBib29sZWFuPihcbiAgICByYXdJbnB1dDogUmF3UmVkaXNRdWVyeTxhbnk+LFxuICAgIGRvY3NPbmx5OiBEID0gdHJ1ZSBhcyBELFxuICAgIC4uLmFyZ3M6IENvbnRleHR1YWxBcmdzPFJlZGlzQ29udGV4dD5cbiAgKTogUHJvbWlzZTxSYXdSZXN1bHQ8UiwgRD4+IHtcbiAgICBjb25zdCB7IGxvZywgY3R4IH0gPSB0aGlzLmxvZ0N0eChhcmdzLCB0aGlzLnJhdyk7XG4gICAgbG9nLmRlYnVnKGBwZXJmb3JtaW5nIHJhdyBxdWVyeTogJHtKU09OLnN0cmluZ2lmeShyYXdJbnB1dCl9YCk7XG5cbiAgICBjb25zdCB7XG4gICAgICB3aGVyZSxcbiAgICAgIHNvcnQsXG4gICAgICBsaW1pdCxcbiAgICAgIHNraXAsXG4gICAgICBmcm9tLFxuICAgICAgZ3JvdXBCeSxcbiAgICAgIGNvdW50OiBjb3VudEZpZWxkLFxuICAgICAgY291bnREaXN0aW5jdDogY291bnREaXN0aW5jdEZpZWxkLFxuICAgICAgbWluOiBtaW5GaWVsZCxcbiAgICAgIG1heDogbWF4RmllbGQsXG4gICAgICBzdW06IHN1bUZpZWxkLFxuICAgICAgYXZnOiBhdmdGaWVsZCxcbiAgICAgIGRpc3RpbmN0OiBkaXN0aW5jdEZpZWxkLFxuICAgIH0gPSByYXdJbnB1dDtcbiAgICBsZXQgeyBzZWxlY3QgfSA9IHJhd0lucHV0O1xuICAgIGNvbnN0IHRhYmxlID0gTW9kZWwudGFibGVOYW1lKGZyb20pO1xuICAgIGNvbnN0IGVudHJpZXMgPSBhd2FpdCB0aGlzLmxvYWRUYWJsZSh0YWJsZSwgY3R4KTtcbiAgICBjb25zdCBjbGF6eiA9IGZyb207XG4gICAgY29uc3QgaWQgPSBNb2RlbC5wayhmcm9tKTtcbiAgICBjb25zdCBwcm9wcyA9IE1ldGFkYXRhLmdldChmcm9tLCBNZXRhZGF0YS5rZXkoREJLZXlzLklELCBpZCBhcyBzdHJpbmcpKTtcblxuICAgIGxldCByZXN1bHQ6IGFueVtdID0gZW50cmllcy5tYXAoKFtwaywgcl0pID0+XG4gICAgICB0aGlzLnJldmVydChcbiAgICAgICAgZGVzZXJpYWxpemUociksXG4gICAgICAgIGZyb20sXG4gICAgICAgIFNlcXVlbmNlLnBhcnNlVmFsdWUocHJvcHMudHlwZSBhcyBhbnksIHBrIGFzIHN0cmluZykgYXMgc3RyaW5nLFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIGN0eFxuICAgICAgKVxuICAgICk7XG4gICAgaWYgKHNvcnQpIHJlc3VsdCA9IHJlc3VsdC5zb3J0KHNvcnQpO1xuXG4gICAgcmVzdWx0ID0gd2hlcmUgPyByZXN1bHQuZmlsdGVyKHdoZXJlKSA6IHJlc3VsdDtcblxuICAgIGlmIChcImNvdW50XCIgaW4gcmF3SW5wdXQpIHtcbiAgICAgIGlmICghY291bnRGaWVsZCkgcmV0dXJuIHJlc3VsdC5sZW5ndGggYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBjb25zdCBjb3VudCA9IHJlc3VsdC5maWx0ZXIoXG4gICAgICAgIChyKSA9PlxuICAgICAgICAgIHJbY291bnRGaWVsZCBhcyBzdHJpbmddICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICByW2NvdW50RmllbGQgYXMgc3RyaW5nXSAhPT0gbnVsbFxuICAgICAgKS5sZW5ndGg7XG4gICAgICByZXR1cm4gY291bnQgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgfVxuXG4gICAgaWYgKGNvdW50RGlzdGluY3RGaWVsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBzZWVuID0gbmV3IFNldCgpO1xuICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHJlc3VsdCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGl0ZW1bY291bnREaXN0aW5jdEZpZWxkIGFzIHN0cmluZ107XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHZhbHVlICE9PSBudWxsKVxuICAgICAgICAgIHNlZW4uYWRkKEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc2Vlbi5zaXplIGFzIHVua25vd24gYXMgUmF3UmVzdWx0PFIsIEQ+O1xuICAgIH1cblxuICAgIGlmIChtaW5GaWVsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmVuc3VyZUZpZWxkVHlwZShcbiAgICAgICAgY2xhenosXG4gICAgICAgIG1pbkZpZWxkIGFzIHN0cmluZyxcbiAgICAgICAgXCJNSU4gb3BlcmF0aW9uXCIsXG4gICAgICAgICh0eXBlKSA9PiB0aGlzLmlzTnVtZXJpY1R5cGUodHlwZSkgfHwgdHlwZSA9PT0gXCJkYXRlXCIsXG4gICAgICAgIFwibnVtZXJpYyBvciBkYXRlXCJcbiAgICAgICk7XG4gICAgICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBjb25zdCB2YWx1ZXMgPSByZXN1bHRcbiAgICAgICAgLm1hcCgocikgPT4gclttaW5GaWVsZCBhcyBzdHJpbmddKVxuICAgICAgICAuZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQgJiYgdiAhPT0gbnVsbCk7XG4gICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBsZXQgbWluVmFsdWUgPSB2YWx1ZXNbMF07XG4gICAgICBmb3IgKGNvbnN0IHYgb2YgdmFsdWVzKSB7XG4gICAgICAgIGNvbnN0IGNvbXBhcmlzb24gPVxuICAgICAgICAgIHYgaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgICAgICA/IHYuZ2V0VGltZSgpXG4gICAgICAgICAgICA6IHR5cGVvZiB2ID09PSBcImJpZ2ludFwiXG4gICAgICAgICAgICAgID8gTnVtYmVyKHYpXG4gICAgICAgICAgICAgIDogTnVtYmVyKHYpO1xuICAgICAgICBjb25zdCBtaW5Db21wYXJpc29uID1cbiAgICAgICAgICBtaW5WYWx1ZSBpbnN0YW5jZW9mIERhdGVcbiAgICAgICAgICAgID8gbWluVmFsdWUuZ2V0VGltZSgpXG4gICAgICAgICAgICA6IHR5cGVvZiBtaW5WYWx1ZSA9PT0gXCJiaWdpbnRcIlxuICAgICAgICAgICAgICA/IE51bWJlcihtaW5WYWx1ZSlcbiAgICAgICAgICAgICAgOiBOdW1iZXIobWluVmFsdWUpO1xuICAgICAgICBpZiAoY29tcGFyaXNvbiA8IG1pbkNvbXBhcmlzb24pIG1pblZhbHVlID0gdjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtaW5WYWx1ZSBhcyB1bmtub3duIGFzIFJhd1Jlc3VsdDxSLCBEPjtcbiAgICB9XG5cbiAgICBpZiAobWF4RmllbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5lbnN1cmVGaWVsZFR5cGUoXG4gICAgICAgIGNsYXp6LFxuICAgICAgICBtYXhGaWVsZCBhcyBzdHJpbmcsXG4gICAgICAgIFwiTUFYIG9wZXJhdGlvblwiLFxuICAgICAgICAodHlwZSkgPT4gdGhpcy5pc051bWVyaWNUeXBlKHR5cGUpIHx8IHR5cGUgPT09IFwiZGF0ZVwiLFxuICAgICAgICBcIm51bWVyaWMgb3IgZGF0ZVwiXG4gICAgICApO1xuICAgICAgaWYgKHJlc3VsdC5sZW5ndGggPT09IDApIHJldHVybiBudWxsIGFzIHVua25vd24gYXMgUmF3UmVzdWx0PFIsIEQ+O1xuICAgICAgY29uc3QgdmFsdWVzID0gcmVzdWx0XG4gICAgICAgIC5tYXAoKHIpID0+IHJbbWF4RmllbGQgYXMgc3RyaW5nXSlcbiAgICAgICAgLmZpbHRlcigodikgPT4gdiAhPT0gdW5kZWZpbmVkICYmIHYgIT09IG51bGwpO1xuICAgICAgaWYgKHZhbHVlcy5sZW5ndGggPT09IDApIHJldHVybiBudWxsIGFzIHVua25vd24gYXMgUmF3UmVzdWx0PFIsIEQ+O1xuICAgICAgbGV0IG1heFZhbHVlID0gdmFsdWVzWzBdO1xuICAgICAgZm9yIChjb25zdCB2IG9mIHZhbHVlcykge1xuICAgICAgICBjb25zdCBjb21wYXJpc29uID1cbiAgICAgICAgICB2IGluc3RhbmNlb2YgRGF0ZVxuICAgICAgICAgICAgPyB2LmdldFRpbWUoKVxuICAgICAgICAgICAgOiB0eXBlb2YgdiA9PT0gXCJiaWdpbnRcIlxuICAgICAgICAgICAgICA/IE51bWJlcih2KVxuICAgICAgICAgICAgICA6IE51bWJlcih2KTtcbiAgICAgICAgY29uc3QgbWF4Q29tcGFyaXNvbiA9XG4gICAgICAgICAgbWF4VmFsdWUgaW5zdGFuY2VvZiBEYXRlXG4gICAgICAgICAgICA/IG1heFZhbHVlLmdldFRpbWUoKVxuICAgICAgICAgICAgOiB0eXBlb2YgbWF4VmFsdWUgPT09IFwiYmlnaW50XCJcbiAgICAgICAgICAgICAgPyBOdW1iZXIobWF4VmFsdWUpXG4gICAgICAgICAgICAgIDogTnVtYmVyKG1heFZhbHVlKTtcbiAgICAgICAgaWYgKGNvbXBhcmlzb24gPiBtYXhDb21wYXJpc29uKSBtYXhWYWx1ZSA9IHY7XG4gICAgICB9XG4gICAgICByZXR1cm4gbWF4VmFsdWUgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgfVxuXG4gICAgaWYgKHN1bUZpZWxkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZW5zdXJlRmllbGRUeXBlKFxuICAgICAgICBjbGF6eixcbiAgICAgICAgc3VtRmllbGQgYXMgc3RyaW5nLFxuICAgICAgICBcIlNVTSBvcGVyYXRpb25cIixcbiAgICAgICAgKHR5cGUpID0+IHRoaXMuaXNOdW1lcmljVHlwZSh0eXBlKSxcbiAgICAgICAgXCJudW1lcmljXCJcbiAgICAgICk7XG4gICAgICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBjb25zdCB2YWx1ZXMgPSByZXN1bHRcbiAgICAgICAgLm1hcCgocikgPT4gcltzdW1GaWVsZCBhcyBzdHJpbmddKVxuICAgICAgICAuZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQgJiYgdiAhPT0gbnVsbCk7XG4gICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBjb25zdCBzdW0gPSB2YWx1ZXMucmVkdWNlKFxuICAgICAgICAoYWNjLCB2KSA9PlxuICAgICAgICAgIGFjYyArIHRoaXMudG9OdW1lcmljVmFsdWUodiwgc3VtRmllbGQgYXMgc3RyaW5nLCBcIlNVTSBvcGVyYXRpb25cIiksXG4gICAgICAgIDBcbiAgICAgICk7XG4gICAgICByZXR1cm4gc3VtIGFzIHVua25vd24gYXMgUmF3UmVzdWx0PFIsIEQ+O1xuICAgIH1cblxuICAgIGlmIChhdmdGaWVsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCBmaWVsZFR5cGUgPSB0aGlzLnJlc29sdmVGaWVsZFR5cGUoY2xhenosIGF2Z0ZpZWxkIGFzIHN0cmluZyk7XG4gICAgICBjb25zdCBpc0RhdGVGaWVsZCA9IGZpZWxkVHlwZSA9PT0gXCJkYXRlXCI7XG4gICAgICB0aGlzLmVuc3VyZUZpZWxkVHlwZShcbiAgICAgICAgY2xhenosXG4gICAgICAgIGF2Z0ZpZWxkIGFzIHN0cmluZyxcbiAgICAgICAgXCJBVkcgb3BlcmF0aW9uXCIsXG4gICAgICAgICh0eXBlKSA9PiB0aGlzLmlzTnVtZXJpY1R5cGUodHlwZSkgfHwgdHlwZSA9PT0gXCJkYXRlXCIsXG4gICAgICAgIFwibnVtZXJpYyBvciBkYXRlXCJcbiAgICAgICk7XG4gICAgICBpZiAocmVzdWx0Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBjb25zdCB2YWx1ZXMgPSByZXN1bHRcbiAgICAgICAgLm1hcCgocikgPT4gclthdmdGaWVsZCBhcyBzdHJpbmddKVxuICAgICAgICAuZmlsdGVyKCh2KSA9PiB2ICE9PSB1bmRlZmluZWQgJiYgdiAhPT0gbnVsbCk7XG4gICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGwgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgICBpZiAoaXNEYXRlRmllbGQpIHtcbiAgICAgICAgY29uc3QgdGltZXN0YW1wcyA9IHZhbHVlcy5tYXAoKHYpID0+XG4gICAgICAgICAgdiBpbnN0YW5jZW9mIERhdGUgPyB2LmdldFRpbWUoKSA6IG5ldyBEYXRlKHYpLmdldFRpbWUoKVxuICAgICAgICApO1xuICAgICAgICBjb25zdCBhdmdUaW1lc3RhbXAgPVxuICAgICAgICAgIHRpbWVzdGFtcHMucmVkdWNlKChhY2MsIHQpID0+IGFjYyArIHQsIDApIC8gdGltZXN0YW1wcy5sZW5ndGg7XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShhdmdUaW1lc3RhbXApIGFzIHVua25vd24gYXMgUmF3UmVzdWx0PFIsIEQ+O1xuICAgICAgfVxuICAgICAgY29uc3QgdG90YWwgPSB2YWx1ZXMucmVkdWNlKFxuICAgICAgICAoYWNjLCB2KSA9PlxuICAgICAgICAgIGFjYyArIHRoaXMudG9OdW1lcmljVmFsdWUodiwgYXZnRmllbGQgYXMgc3RyaW5nLCBcIkFWRyBvcGVyYXRpb25cIiksXG4gICAgICAgIDBcbiAgICAgICk7XG4gICAgICByZXR1cm4gKHRvdGFsIC8gdmFsdWVzLmxlbmd0aCkgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgfVxuXG4gICAgaWYgKGRpc3RpbmN0RmllbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3Qgc2VlbiA9IG5ldyBTZXQoKTtcbiAgICAgIGNvbnN0IGRpc3RpbmN0UmVzdWx0czogYW55W10gPSBbXTtcbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiByZXN1bHQpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBpdGVtW2Rpc3RpbmN0RmllbGQgYXMgc3RyaW5nXTtcbiAgICAgICAgY29uc3Qga2V5ID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICBpZiAoIXNlZW4uaGFzKGtleSkpIHtcbiAgICAgICAgICBzZWVuLmFkZChrZXkpO1xuICAgICAgICAgIGRpc3RpbmN0UmVzdWx0cy5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGRpc3RpbmN0UmVzdWx0cyBhcyB1bmtub3duIGFzIFJhd1Jlc3VsdDxSLCBEPjtcbiAgICB9XG5cbiAgICBsZXQgY291bnQ6IG51bWJlcjtcbiAgICBsZXQgb3V0cHV0OiBhbnlbXSB8IFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgaWYgKGdyb3VwQnkgJiYgZ3JvdXBCeS5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGdyb3VwZWQgPSB0aGlzLmdyb3VwUmVjb3JkcyhyZXN1bHQsIGdyb3VwQnkgYXMgKGtleW9mIE1vZGVsKVtdKTtcbiAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhncm91cGVkKTtcbiAgICAgIGNvdW50ID0ga2V5cy5sZW5ndGg7XG4gICAgICBvdXRwdXQgPSB0aGlzLmFwcGx5R3JvdXBQYWdpbmF0aW9uKGdyb3VwZWQsIHNraXAsIGxpbWl0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY291bnQgPSByZXN1bHQubGVuZ3RoO1xuICAgICAgbGV0IHBhZ2VkID0gcmVzdWx0O1xuICAgICAgaWYgKHNraXApIHBhZ2VkID0gcGFnZWQuc2xpY2Uoc2tpcCk7XG4gICAgICBpZiAobGltaXQpIHBhZ2VkID0gcGFnZWQuc2xpY2UoMCwgbGltaXQpO1xuICAgICAgb3V0cHV0ID0gcGFnZWQ7XG4gICAgfVxuXG4gICAgaWYgKHNlbGVjdCAmJiAhKGdyb3VwQnkgJiYgZ3JvdXBCeS5sZW5ndGgpKSB7XG4gICAgICBzZWxlY3QgPSBBcnJheS5pc0FycmF5KHNlbGVjdCkgPyBzZWxlY3QgOiBbc2VsZWN0XTtcbiAgICAgIG91dHB1dCA9IChvdXRwdXQgYXMgYW55W10pLm1hcCgocm93KSA9PlxuICAgICAgICBPYmplY3QuZW50cmllcyhyb3cpLnJlZHVjZSgoYWNjOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBba2V5LCB2YWxdKSA9PiB7XG4gICAgICAgICAgaWYgKChzZWxlY3QgYXMgc3RyaW5nW10pLmluY2x1ZGVzKGtleSkpIGFjY1trZXldID0gdmFsO1xuICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH0sIHt9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAoZG9jc09ubHkpIHJldHVybiBvdXRwdXQgYXMgdW5rbm93biBhcyBSYXdSZXN1bHQ8UiwgRD47XG4gICAgcmV0dXJuIHsgZGF0YTogb3V0cHV0LCBjb3VudCB9IGFzIFJhd1Jlc3VsdDxSLCBEPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gR3JvdXBzIHJlY29yZHMgYnkgb25lIG9yIG1vcmUgYXR0cmlidXRlc1xuICAgKiBAc3VtbWFyeSBSZWN1cnNpdmVseSBuZXN0cyBncm91cHMgd2hlbiBtdWx0aXBsZSBzZWxlY3RvcnMgYXJlIHByb3ZpZGVkOyB0aGVcbiAgICogdG9wLWxldmVsIHJlc3VsdCBtYXBzIGVhY2ggZ3JvdXAga2V5IHRvIHRoZSBtYXRjaGluZyByZWNvcmRzIChvciBuZXN0ZWQgZ3JvdXBzKS5cbiAgICogQHBhcmFtIHthbnlbXX0gcmVjb3JkcyAtIFRoZSByZWNvcmRzIHRvIGdyb3VwXG4gICAqIEBwYXJhbSB7KGtleW9mIE1vZGVsKVtdfSBzZWxlY3RvcnMgLSBUaGUgYXR0cmlidXRlcyB0byBncm91cCBieVxuICAgKiBAcmV0dXJuIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBUaGUgZ3JvdXBlZCByZWNvcmRzIGtleWVkIGJ5IG5vcm1hbGl6ZWQgZ3JvdXAga2V5c1xuICAgKi9cbiAgcHJpdmF0ZSBncm91cFJlY29yZHMoXG4gICAgcmVjb3JkczogYW55W10sXG4gICAgc2VsZWN0b3JzOiAoa2V5b2YgTW9kZWwpW11cbiAgKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgaWYgKCFzZWxlY3RvcnMubGVuZ3RoKSByZXR1cm4gcmVjb3JkcyBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIGNvbnN0IFtjdXJyZW50LCAuLi5yZXN0XSA9IHNlbGVjdG9ycztcbiAgICBjb25zdCBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBhbnlbXT4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IHJlY29yZCBvZiByZWNvcmRzKSB7XG4gICAgICBjb25zdCBrZXkgPSB0aGlzLm5vcm1hbGl6ZUdyb3VwS2V5KHJlY29yZFtjdXJyZW50IGFzIHN0cmluZ10pO1xuICAgICAgaWYgKCFncm91cGVkW2tleV0pIGdyb3VwZWRba2V5XSA9IFtdO1xuICAgICAgZ3JvdXBlZFtrZXldLnB1c2gocmVjb3JkKTtcbiAgICB9XG4gICAgaWYgKCFyZXN0Lmxlbmd0aCkgcmV0dXJuIGdyb3VwZWQ7XG4gICAgY29uc3QgbmVzdGVkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZXNdIG9mIE9iamVjdC5lbnRyaWVzKGdyb3VwZWQpKSB7XG4gICAgICBuZXN0ZWRba2V5XSA9IHRoaXMuZ3JvdXBSZWNvcmRzKHZhbHVlcywgcmVzdCk7XG4gICAgfVxuICAgIHJldHVybiBuZXN0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE5vcm1hbGl6ZXMgYSBncm91cCBrZXkgdG8gYSBzdHJpbmdcbiAgICogQHN1bW1hcnkgUHJvZHVjZXMgYSBzdGFibGUgc3RyaW5nIGtleSBmb3IgYHVuZGVmaW5lZGAsIGBudWxsYCwgc3ltYm9scyxcbiAgICogb2JqZWN0cyAodmlhIEpTT04pIGFuZCBwcmltaXRpdmVzLlxuICAgKiBAcGFyYW0ge2FueX0gdmFsdWUgLSBUaGUgcmF3IGdyb3VwIGtleSB2YWx1ZVxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBub3JtYWxpemVkIGtleVxuICAgKi9cbiAgcHJpdmF0ZSBub3JtYWxpemVHcm91cEtleSh2YWx1ZTogYW55KTogc3RyaW5nIHtcbiAgICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuIFwidW5kZWZpbmVkXCI7XG4gICAgaWYgKHZhbHVlID09PSBudWxsKSByZXR1cm4gXCJudWxsXCI7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzeW1ib2xcIikgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFwcGxpZXMgc2tpcC9saW1pdCBwYWdpbmF0aW9uIG92ZXIgZ3JvdXBlZCByZXN1bHRzXG4gICAqIEBzdW1tYXJ5IFBhZ2VzIHRoZSBncm91cCBrZXlzIHdoaWxlIHByZXNlcnZpbmcgdGhlaXIgYXNzb2NpYXRlZCByZWNvcmRzLlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IGdyb3VwZWQgLSBUaGUgZ3JvdXBlZCByZWNvcmRzXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbc2tpcF0gLSBUaGUgbnVtYmVyIG9mIGdyb3VwcyB0byBza2lwXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbbGltaXRdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIGdyb3VwcyB0byByZXR1cm5cbiAgICogQHJldHVybiB7UmVjb3JkPHN0cmluZywgYW55Pn0gVGhlIHBhZ2VkIGdyb3Vwc1xuICAgKi9cbiAgcHJpdmF0ZSBhcHBseUdyb3VwUGFnaW5hdGlvbihcbiAgICBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICAgIHNraXA/OiBudW1iZXIsXG4gICAgbGltaXQ/OiBudW1iZXJcbiAgKTogUmVjb3JkPHN0cmluZywgYW55PiB7XG4gICAgaWYgKHR5cGVvZiBza2lwID09PSBcInVuZGVmaW5lZFwiICYmIHR5cGVvZiBsaW1pdCA9PT0gXCJ1bmRlZmluZWRcIilcbiAgICAgIHJldHVybiBncm91cGVkO1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhncm91cGVkKTtcbiAgICBjb25zdCBzdGFydCA9IHNraXAgPz8gMDtcbiAgICBjb25zdCBlbmQgPSB0eXBlb2YgbGltaXQgPT09IFwidW5kZWZpbmVkXCIgPyB1bmRlZmluZWQgOiBzdGFydCArIGxpbWl0O1xuICAgIGNvbnN0IHBhZ2VkOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cy5zbGljZShzdGFydCwgZW5kKSkge1xuICAgICAgcGFnZWRba2V5XSA9IGdyb3VwZWRba2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHBhZ2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQYXJzZXMgYW5kIGNvbnZlcnRzIGVycm9ycyB0byBhcHByb3ByaWF0ZSB0eXBlc1xuICAgKiBAc3VtbWFyeSBSZXR1cm5zIGBCYXNlRXJyb3JgIGluc3RhbmNlcyB1bmNoYW5nZWQsIG1hcHMgY29ubmVjdGlvblxuICAgKiBmYWlsdXJlcyB0byBgQ29ubmVjdGlvbkVycm9yYCBhbmQgd3JhcHMgZXZlcnl0aGluZyBlbHNlIGluIGFuXG4gICAqIGBJbnRlcm5hbEVycm9yYC5cbiAgICogQHRlbXBsYXRlIFYgLSBUaGUgZXhwZWN0ZWQgZXJyb3IgdHlwZVxuICAgKiBAcGFyYW0ge0Vycm9yfSBlcnIgLSBUaGUgZXJyb3IgdG8gcGFyc2VcbiAgICogQHJldHVybiB7Vn0gVGhlIHBhcnNlZCBlcnJvclxuICAgKi9cbiAgcGFyc2VFcnJvcjxWIGV4dGVuZHMgQmFzZUVycm9yPihlcnI6IEVycm9yKTogViB7XG4gICAgaWYgKGVyciBpbnN0YW5jZW9mIEJhc2VFcnJvcikgcmV0dXJuIGVyciBhcyBWO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSAoZXJyIGFzIGFueSk/Lm1lc3NhZ2UgPz8gU3RyaW5nKGVycik7XG4gICAgaWYgKFxuICAgICAgL0VDT05OUkVGVVNFRHxFTk9URk9VTkR8RVRJTUVET1VUfENvbm5lY3Rpb24gaXMgY2xvc2VkfFNvY2tldCBjbG9zZWR8V1JPTkdQQVNTfE5PQVVUSC9pLnRlc3QoXG4gICAgICAgIG1lc3NhZ2VcbiAgICAgIClcbiAgICApXG4gICAgICByZXR1cm4gbmV3IENvbm5lY3Rpb25FcnJvcihlcnIpIGFzIFY7XG4gICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKGVycikgYXMgVjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIG5ldyBzdGF0ZW1lbnQgYnVpbGRlciBmb3IgcXVlcmllc1xuICAgKiBAdGVtcGxhdGUgTSAtIFRoZSBtb2RlbCB0eXBlIGZvciB0aGUgc3RhdGVtZW50XG4gICAqIEBwYXJhbSB7UGFydGlhbDxBZGFwdGVyRmxhZ3M+fSBbb3ZlcnJpZGVzXSAtIE9wdGlvbmFsIGFkYXB0ZXIgZmxhZyBvdmVycmlkZXNcbiAgICogQHJldHVybiB7UmVkaXNTdGF0ZW1lbnQ8TSwgYW55LCBBZGFwdGVyPC4uLj4+fSBBIG5ldyBzdGF0ZW1lbnQgYnVpbGRlclxuICAgKi9cbiAgU3RhdGVtZW50PE0gZXh0ZW5kcyBNb2RlbDxib29sZWFuPj4oXG4gICAgb3ZlcnJpZGVzPzogUGFydGlhbDxBZGFwdGVyRmxhZ3M+XG4gICk6IFJlZGlzU3RhdGVtZW50PE0sIGFueSwgQWRhcHRlcjxhbnksIGFueSwgUmF3UmVkaXNRdWVyeTxNPiwgUmVkaXNDb250ZXh0Pj4ge1xuICAgIHJldHVybiBuZXcgUmVkaXNTdGF0ZW1lbnQ8XG4gICAgICBNLFxuICAgICAgYW55LFxuICAgICAgQWRhcHRlcjxhbnksIGFueSwgUmF3UmVkaXNRdWVyeTxNPiwgUmVkaXNDb250ZXh0PlxuICAgID4odGhpcyBhcyBhbnksIG92ZXJyaWRlcyk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBuZXcgcGFnaW5hdG9yIGZvciBxdWVyaWVzXG4gICAqIEB0ZW1wbGF0ZSBNIC0gVGhlIG1vZGVsIHR5cGUgZm9yIHRoZSBwYWdpbmF0b3JcbiAgICogQHBhcmFtIHtSYXdSZWRpc1F1ZXJ5fSBxdWVyeSAtIFRoZSBxdWVyeSB0byBwYWdpbmF0ZVxuICAgKiBAcGFyYW0ge251bWJlcn0gc2l6ZSAtIFRoZSBwYWdlIHNpemVcbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNPn0gY2xhenogLSBUaGUgbW9kZWwgY29uc3RydWN0b3JcbiAgICogQHJldHVybiB7UmVkaXNQYWdpbmF0b3I8TT59IEEgbmV3IHBhZ2luYXRvclxuICAgKi9cbiAgUGFnaW5hdG9yPE0gZXh0ZW5kcyBNb2RlbDxib29sZWFuPj4oXG4gICAgcXVlcnk6IFJhd1JlZGlzUXVlcnksXG4gICAgc2l6ZTogbnVtYmVyLFxuICAgIGNsYXp6OiBDb25zdHJ1Y3RvcjxNPlxuICApOiBSZWRpc1BhZ2luYXRvcjxNPiB7XG4gICAgcmV0dXJuIG5ldyBSZWRpc1BhZ2luYXRvcih0aGlzLCBxdWVyeSwgc2l6ZSwgY2xhenopO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBWYWxpZGF0ZXMgdGhhdCBhbiBhZ2dyZWdhdGlvbiB0YXJnZXRzIGFuIGF0dHJpYnV0ZSBvZiB0aGUgZXhwZWN0ZWQga2luZFxuICAgKiBAc3VtbWFyeSBSZXNvbHZlcyB0aGUgYXR0cmlidXRlIHR5cGUgZnJvbSB0aGUgbW9kZWwgbWV0YWRhdGEgYW5kIHJhaXNlcyBhXG4gICAqIGBRdWVyeUVycm9yYCB3aGVuIHRoZSB0eXBlIGRvZXMgbm90IHNhdGlzZnkgdGhlIGdpdmVuIHByZWRpY2F0ZS5cbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNb2RlbD59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWVsZCAtIFRoZSBhdHRyaWJ1dGUgbmFtZSB0byB2YWxpZGF0ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29udGV4dCAtIFRoZSBhZ2dyZWdhdGlvbiBjb250ZXh0IHVzZWQgaW4gZXJyb3IgbWVzc2FnZXNcbiAgICogQHBhcmFtIHtmdW5jdGlvbihzdHJpbmcpOiBib29sZWFufSBwcmVkaWNhdGUgLSBUeXBlIGFjY2VwdGFuY2UgcHJlZGljYXRlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiAtIEh1bWFuIHJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBhY2NlcHRlZCB0eXBlc1xuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgcHJpdmF0ZSBlbnN1cmVGaWVsZFR5cGUoXG4gICAgY2xheno6IENvbnN0cnVjdG9yPE1vZGVsPixcbiAgICBmaWVsZDogc3RyaW5nLFxuICAgIGNvbnRleHQ6IHN0cmluZyxcbiAgICBwcmVkaWNhdGU6ICh0eXBlOiBzdHJpbmcpID0+IGJvb2xlYW4sXG4gICAgZGVzY3JpcHRpb246IHN0cmluZ1xuICApOiB2b2lkIHtcbiAgICBjb25zdCB0eXBlID0gdGhpcy5yZXNvbHZlRmllbGRUeXBlKGNsYXp6LCBmaWVsZCk7XG4gICAgaWYgKCF0eXBlIHx8ICFwcmVkaWNhdGUodHlwZSkpIHtcbiAgICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFxuICAgICAgICBgJHtjb250ZXh0fSByZXF1aXJlcyAke2Rlc2NyaXB0aW9ufSBhdHRyaWJ1dGUsIGJ1dCBcIiR7ZmllbGR9XCIgaXMgJHtcbiAgICAgICAgICB0eXBlIHx8IFwidW5rbm93blwiXG4gICAgICAgIH1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzb2x2ZXMgdGhlIGF0dHJpYnV0ZSB0eXBlIGZyb20gdGhlIG1vZGVsIG1ldGFkYXRhXG4gICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBtZXRhZGF0YSBvciBkZXNpZ24gdHlwZSBvZiB0aGUgYXR0cmlidXRlIGFuZCBub3JtYWxpemVzIGl0XG4gICAqIHRvIGEgbG93ZXJjYXNlIHR5cGUgbmFtZS5cbiAgICogQHBhcmFtIHtDb25zdHJ1Y3RvcjxNb2RlbD59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWVsZCAtIFRoZSBhdHRyaWJ1dGUgbmFtZVxuICAgKiBAcmV0dXJuIHtzdHJpbmcgfCB1bmRlZmluZWR9IFRoZSBub3JtYWxpemVkIGF0dHJpYnV0ZSB0eXBlLCB3aGVuIHJlc29sdmFibGVcbiAgICovXG4gIHByaXZhdGUgcmVzb2x2ZUZpZWxkVHlwZShcbiAgICBjbGF6ejogQ29uc3RydWN0b3I8TW9kZWw+LFxuICAgIGZpZWxkOiBzdHJpbmdcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBwcm9wS2V5ID0gZmllbGQgYXMga2V5b2YgTW9kZWw8ZmFsc2U+O1xuICAgIGNvbnN0IG1ldGFUeXBlID1cbiAgICAgIE1ldGFkYXRhLnR5cGUoY2xhenosIHByb3BLZXkpID8/XG4gICAgICBNZXRhZGF0YS5nZXRQcm9wRGVzaWduVHlwZXMoY2xhenosIHByb3BLZXkpPy5kZXNpZ25UeXBlO1xuICAgIHJldHVybiB0aGlzLm5vcm1hbGl6ZU1ldGFUeXBlKG1ldGFUeXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTm9ybWFsaXplcyBhIHJhdyBtZXRhZGF0YSB0eXBlIHRvIGEgbG93ZXJjYXNlIHR5cGUgbmFtZVxuICAgKiBAcGFyYW0ge2FueX0gbWV0YVR5cGUgLSBUaGUgcmF3IG1ldGFkYXRhIHR5cGUgdmFsdWVcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfSBUaGUgbm9ybWFsaXplZCB0eXBlIG5hbWUsIHdoZW4gcmVzb2x2YWJsZVxuICAgKi9cbiAgcHJpdmF0ZSBub3JtYWxpemVNZXRhVHlwZShtZXRhVHlwZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIW1ldGFUeXBlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgbWV0YVR5cGUgPT09IFwic3RyaW5nXCIpIHJldHVybiBtZXRhVHlwZS50b0xvd2VyQ2FzZSgpO1xuICAgIGlmICh0eXBlb2YgbWV0YVR5cGUgPT09IFwiZnVuY3Rpb25cIiAmJiBtZXRhVHlwZS5uYW1lKVxuICAgICAgcmV0dXJuIG1ldGFUeXBlLm5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIHRoZSBnaXZlbiB0eXBlIG5hbWUgaXMgYSBudW1lcmljIHR5cGVcbiAgICogQHBhcmFtIHtzdHJpbmd9IFt0eXBlXSAtIFRoZSBub3JtYWxpemVkIHR5cGUgbmFtZVxuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGZvciBcIm51bWJlclwiIGFuZCBcImJpZ2ludFwiXG4gICAqL1xuICBwcml2YXRlIGlzTnVtZXJpY1R5cGUodHlwZT86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlID09PSBcIm51bWJlclwiIHx8IHR5cGUgPT09IFwiYmlnaW50XCI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbnZlcnRzIGEgdmFsdWUgdG8gYSBudW1lcmljIHZhbHVlIGZvciBhZ2dyZWdhdGlvblxuICAgKiBAc3VtbWFyeSBBY2NlcHRzIG51bWJlcnMgYW5kIGJpZ2ludHMgKGNvbnZlcnRlZCB0byBgTnVtYmVyYCkgYW5kIHJhaXNlcyBhXG4gICAqIGBRdWVyeUVycm9yYCBmb3IgYW55IG90aGVyIHZhbHVlIGtpbmQuXG4gICAqIEBwYXJhbSB7YW55fSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjb252ZXJ0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmaWVsZCAtIFRoZSBhdHRyaWJ1dGUgbmFtZSB1c2VkIGluIGVycm9yIG1lc3NhZ2VzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZXh0IC0gVGhlIGFnZ3JlZ2F0aW9uIGNvbnRleHQgdXNlZCBpbiBlcnJvciBtZXNzYWdlc1xuICAgKiBAcmV0dXJuIHtudW1iZXJ9IFRoZSBudW1lcmljIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIHRvTnVtZXJpY1ZhbHVlKHZhbHVlOiBhbnksIGZpZWxkOiBzdHJpbmcsIGNvbnRleHQ6IHN0cmluZyk6IG51bWJlciB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIikgcmV0dXJuIHZhbHVlO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYmlnaW50XCIpIHJldHVybiBOdW1iZXIodmFsdWUpO1xuICAgIHRocm93IG5ldyBRdWVyeUVycm9yKFxuICAgICAgYCR7Y29udGV4dH0gb24gXCIke2ZpZWxkfVwiIHJlcXVpcmVzIG51bWVyaWMgdmFsdWVzLCBidXQgZ290ICR7dHlwZW9mIHZhbHVlfWBcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIHRoZSB1bmRlcmx5aW5nIFJlZGlzIGNsaWVudFxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBhbHJlYWR5IGNvbm5lY3RlZCBjbGllbnQgd2hlbiBvbmUgZXhpc3RzIChpbmNsdWRpbmdcbiAgICogdGhyb3VnaCBhIGBmb3IoKWAgY29uZmlndXJhdGlvbi1zY29wZWQgcHJveHksIHdob3NlIG93biBgX2NsaWVudGAgc2xvdCB3b3VsZFxuICAgKiBvdGhlcndpc2UgYmUgZW1wdHkgYW5kIGJ1aWxkIGEgZnJlc2ggdW5jb25uZWN0ZWQgY2xpZW50KS4gT3RoZXJ3aXNlIGJ1aWxkcyBhXG4gICAqIG5vZGUtcmVkaXMgY2xpZW50IGZyb20gdGhlIGNvbmZpZ3VyZWQgVVJMIG9yIGRpc2NyZXRlIGhvc3QvcG9ydC9jcmVkZW50aWFscy5cbiAgICogV2hlbiBgdGxzYCBpcyBzZXQsIGB0bHM6IHRydWVgIHBsdXMgYW55IHN1cHBsaWVkIGB0bHMuY29ubmVjdGAgb3B0aW9ucyBhcmVcbiAgICogbWVyZ2VkIGludG8gdGhlIHNvY2tldCBvcHRpb25zIChhIGByZWRpc3M6Ly9gIFVSTCBpcyBwYXNzZWQgdGhyb3VnaCBhcy1pcykuXG4gICAqIFRoZSBjbGllbnQgaXMgY3JlYXRlZCBsYXppbHkgYW5kIGNvbm5lY3RlZCBieSB7QGxpbmsgaW5pdGlhbGl6ZX0uXG4gICAqIEByZXR1cm4ge1JlZGlzQ2xpZW50VHlwZX0gVGhlIFJlZGlzIGNsaWVudFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldENsaWVudCgpOiBSZWRpc0NsaWVudFR5cGUge1xuICAgIGlmICh0aGlzLl9yZWRpc0NsaWVudCkgcmV0dXJuIHRoaXMuX3JlZGlzQ2xpZW50O1xuICAgIGNvbnN0IHsgdXJsLCBob3N0LCBwb3J0LCB1c2VybmFtZSwgcGFzc3dvcmQsIGRhdGFiYXNlLCB0bHMgfSA9IHRoaXMuY29uZmlnO1xuICAgIGNvbnN0IG9wdGlvbnM6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB1cmxcbiAgICAgID8geyB1cmwgfVxuICAgICAgOiB7IHNvY2tldDogeyBob3N0OiBob3N0ID8/IFwibG9jYWxob3N0XCIsIHBvcnQ6IHBvcnQgPz8gNjM3OSB9IH07XG4gICAgaWYgKHRscykge1xuICAgICAgY29uc3QgdGxzT3B0aW9ucyA9IHR5cGVvZiB0bHMgPT09IFwib2JqZWN0XCIgPyB0bHMgOiB7fTtcbiAgICAgIG9wdGlvbnMuc29ja2V0ID0geyAuLi4ob3B0aW9ucy5zb2NrZXQgPz8ge30pLCB0bHM6IHRydWUsIC4uLnRsc09wdGlvbnMgfTtcbiAgICB9XG4gICAgaWYgKHVzZXJuYW1lKSBvcHRpb25zLnVzZXJuYW1lID0gdXNlcm5hbWU7XG4gICAgaWYgKHBhc3N3b3JkKSBvcHRpb25zLnBhc3N3b3JkID0gcGFzc3dvcmQ7XG4gICAgaWYgKHR5cGVvZiBkYXRhYmFzZSA9PT0gXCJudW1iZXJcIikgb3B0aW9ucy5kYXRhYmFzZSA9IGRhdGFiYXNlO1xuICAgIHJldHVybiBjcmVhdGVDbGllbnQob3B0aW9ucykgYXMgdW5rbm93biBhcyBSZWRpc0NsaWVudFR5cGU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVycyBSZWRpcy1zcGVjaWZpYyBkZWNvcmF0aW9ucyBmb3IgbW9kZWwgcHJvcGVydGllc1xuICAgKiBAc3VtbWFyeSBDb25maWd1cmVzIGBjcmVhdGVkQnlgIGFuZCBgdXBkYXRlZEJ5YCBoYW5kbGVycyBmb3IgdGhlIFJlZGlzXG4gICAqIGZsYXZvdXIgc28gdGhvc2UgZmllbGRzIGFyZSBwb3B1bGF0ZWQgZnJvbSB0aGUgY29udGV4dCBVVUlELlxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgc3RhdGljIG92ZXJyaWRlIGRlY29yYXRpb24oKTogdm9pZCB7XG4gICAgc3VwZXIuZGVjb3JhdGlvbigpO1xuICAgIGNvbnN0IGNyZWF0ZWRCeUtleSA9IFBlcnNpc3RlbmNlS2V5cy5DUkVBVEVEX0JZO1xuICAgIGNvbnN0IHVwZGF0ZWRCeUtleSA9IFBlcnNpc3RlbmNlS2V5cy5VUERBVEVEX0JZO1xuICAgIERlY29yYXRpb24uZmxhdm91cmVkQXMoUmVkaXNGbGF2b3VyKVxuICAgICAgLmZvcihjcmVhdGVkQnlLZXkpXG4gICAgICAuZGVmaW5lKFxuICAgICAgICBvbkNyZWF0ZShjcmVhdGVkQnlPblJlZGlzQ3JlYXRlVXBkYXRlKSxcbiAgICAgICAgcHJvcE1ldGFkYXRhKGNyZWF0ZWRCeUtleSwge30pLFxuICAgICAgICBnZW5lcmF0ZWQoY3JlYXRlZEJ5S2V5KVxuICAgICAgKVxuICAgICAgLmFwcGx5KCk7XG4gICAgRGVjb3JhdGlvbi5mbGF2b3VyZWRBcyhSZWRpc0ZsYXZvdXIpXG4gICAgICAuZm9yKHVwZGF0ZWRCeUtleSlcbiAgICAgIC5kZWZpbmUoXG4gICAgICAgIG9uQ3JlYXRlVXBkYXRlKGNyZWF0ZWRCeU9uUmVkaXNDcmVhdGVVcGRhdGUpLFxuICAgICAgICBwcm9wTWV0YWRhdGEodXBkYXRlZEJ5S2V5LCB7fSksXG4gICAgICAgIGdlbmVyYXRlZCh1cGRhdGVkQnlLZXkpXG4gICAgICApXG4gICAgICAuYXBwbHkoKTtcbiAgfVxufVxuXG5BZGFwdGVyLnNldEN1cnJlbnQoUmVkaXNGbGF2b3VyKTtcblJlZGlzQWRhcHRlci5kZWNvcmF0aW9uKCk7XG4iXX0=
|
|
710
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/redis/adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,4 +24,4 @@ export const RedisDefaultPrefix = "decaf:redis";
|
|
|
24
24
|
* @memberOf module:redis
|
|
25
25
|
*/
|
|
26
26
|
export const RedisEventsChannel = "decaf:redis:events";
|
|
27
|
-
//# sourceMappingURL=
|
|
27
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/redis/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,oBAAoB,CAAC"}
|
|
@@ -20,4 +20,4 @@ export async function createdByOnRedisCreateUpdate(context, data, key, model) {
|
|
|
20
20
|
throw new UnsupportedError("This adapter does not support user identification");
|
|
21
21
|
model[key] = uuid;
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=handlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlers.js","sourceRoot":"","sources":["../../../src/redis/handlers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAyB,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAGzE;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAKhD,OAAqB,EACrB,IAAuB,EACvB,GAAY,EACZ,KAAQ;IAER,MAAM,IAAI,GAAW,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,IAAI;QACP,MAAM,IAAI,gBAAgB,CACxB,mDAAmD,CACpD,CAAC;IACJ,KAAK,CAAC,GAAG,CAAC,GAAG,IAAkB,CAAC;AAClC,CAAC"}
|
package/lib/esm/redis/index.js
CHANGED
|
@@ -16,4 +16,4 @@ export * from "./RedisPaginator.js";
|
|
|
16
16
|
export * from "./handlers.js";
|
|
17
17
|
// Left to the end on purpose: importing the adapter registers the flavour
|
|
18
18
|
export * from "./adapter.js";
|
|
19
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/redis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,+BAA4B;AAC5B,2BAAwB;AACxB,mCAAgC;AAChC,sCAAmC;AACnC,mCAAgC;AAChC,oCAAiC;AACjC,oCAAiC;AACjC,8BAA2B;AAC3B,0EAA0E;AAC1E,6BAA0B"}
|
|
@@ -54,4 +54,4 @@ export function deserialize(raw) {
|
|
|
54
54
|
return val;
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
-
//# sourceMappingURL=
|
|
57
|
+
//# sourceMappingURL=serialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serialization.js","sourceRoot":"","sources":["../../../src/redis/serialization.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAEtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC;AAE1D;;;;;;;;;;GAUG;AACH,MAAM,UAAU,SAAS,CAAC,KAAU;IAClC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAqB,GAAG,EAAE,GAAG;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACxC,IAAI,QAAQ,YAAY,IAAI;YAC1B,OAAO;gBACL,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC7D,CAAC;QACJ,IAAI,OAAO,GAAG,KAAK,QAAQ;YACzB,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC;QACjD,OAAO,GAAG,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAAU,GAAW;IAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;QACnC,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,eAAe,IAAI,GAAG;gBAAE,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC;YAClE,IAAI,iBAAiB,IAAI,GAAG;gBAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAW,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,CAAM,CAAC;AACV,CAAC"}
|
package/lib/esm/redis/types.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/redis/types.ts"],"names":[],"mappings":""}
|
|
@@ -71,4 +71,4 @@ export async function createInfraCredentialBootstrap(...args) {
|
|
|
71
71
|
await service.boot(...args);
|
|
72
72
|
return new InfraCredentialBootstrap(service);
|
|
73
73
|
}
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5mcmFDcmVkZW50aWFsQm9vdHN0cmFwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlY3JldHMvSW5mcmFDcmVkZW50aWFsQm9vdHN0cmFwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1CQSxPQUFPLEVBQUUsZUFBZSxFQUFFLHNCQUFhO0FBc0R2Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0JHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQzs7O09BR0c7SUFDSCxZQUFxQixPQUF5QjtRQUF6QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtJQUFHLENBQUM7SUFFbEQ7Ozs7Ozs7O09BUUc7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUNWLEtBQXFDLEVBQ3JDLEdBQUcsSUFBVztRQUVkLE1BQU0sVUFBVSxHQUFzQixFQUFFLENBQUM7UUFDekMsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN6QixNQUFNLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDakUsSUFBSSxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztnQkFBRSxTQUFTO1lBQ3hDLFVBQVUsQ0FBQyxJQUFJLENBQ2IsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FDdEIsSUFBSSxDQUFDLElBQUksRUFDVCxJQUFJLENBQUMsS0FBSyxFQUNWLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFDbEQsR0FBRyxJQUFJLENBQ1IsQ0FDRixDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxRQUFRLENBQ1osSUFBZ0IsRUFDaEIsR0FBRyxJQUFXO1FBRWQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBSSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNGO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxLQUFLLFVBQVUsOEJBQThCLENBQ2xELEdBQUcsSUFBVztJQUVkLE1BQU0sT0FBTyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFDdEMsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDNUIsT0FBTyxJQUFJLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL3NlY3JldHMvaW5mcmEtY3JlZGVudGlhbC1ib290c3RyYXBcbiAqIEBzdW1tYXJ5IElkZW1wb3RlbnQgc2VlZGluZyBvZiBpbmZyYXN0cnVjdHVyZSBjcmVkZW50aWFscyBpbnRvIGEgc2VjcmV0IHN0b3JlLlxuICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIHRoZSBtaW5pbWFsIHtAbGluayBJbmZyYVNlY3JldFN0b3JlfSBjb250cmFjdCBjb25zdW1lZFxuICogYnkge0BsaW5rIEluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcH0sIHRoZSB7QGxpbmsgSW5mcmFDcmVkZW50aWFsU2VlZH0gaW5wdXRcbiAqIHNoYXBlLCBhbmQgdGhlIGBjcmVhdGVJbmZyYUNyZWRlbnRpYWxCb290c3RyYXBgIGZhY3RvcnkgdGhhdCB3aXJlcyB0aGVcbiAqIGJvb3RzdHJhcCB0byBhIGJvb3RlZCBge0BsaW5rIEZzU2VjcmV0U2VydmljZX1gLiBJbnRlbmRlZCBmb3Igc3RhcnR1cFxuICogcm91dGluZXMgdGhhdCBtdXN0IGd1YXJhbnRlZSBhIGtub3duIHNldCBvZiBjcmVkZW50aWFscyAoZm9yIGV4YW1wbGUgdGhlXG4gKiBNYWlscGl0IFNNVFAgY3JlZGVudGlhbHMpIGV4aXN0cyBiZWZvcmUgc2VydmljZXMgYm9vdCBhZ2FpbnN0IHRoZW0uXG4gKi9cbmltcG9ydCB0eXBlIHtcbiAgRGVsZXRlU2VjcmV0T3B0aW9ucyxcbiAgRXhpc3RzU2VjcmV0T3B0aW9ucyxcbiAgUmV0cmlldmVTZWNyZXRPcHRpb25zLFxuICBTZWNyZXROYW1lLFxuICBTZWNyZXRQYXlsb2FkLFxuICBTZWNyZXRSZWZlcmVuY2UsXG4gIFN0b3JlU2VjcmV0T3B0aW9ucyxcbn0gZnJvbSBcIi4vY29yZVwiO1xuaW1wb3J0IHsgRnNTZWNyZXRTZXJ2aWNlIH0gZnJvbSBcIi4vZnNcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWluaW1hbCBzZWNyZXQtc3RvcmUgY29udHJhY3QgcmVxdWlyZWQgYnkgdGhlIGNyZWRlbnRpYWwgYm9vdHN0cmFwXG4gKiBAc3VtbWFyeSBTdHJ1Y3R1cmFsIHN1YnNldCBvZiB0aGUgc2VjcmV0IHNlcnZpY2UgQVBJIChgc3RvcmVgLCBgcmV0cmlldmVgLFxuICogYGRlbGV0ZWAsIGBleGlzdHNgKSBzbyBhbnkgYmFja2VuZCDigJQgaW5jbHVkaW5nIHRlc3QgZG91YmxlcyDigJQgY2FuIGJhY2sgdGhlXG4gKiBib290c3RyYXAgd2l0aG91dCBpbXBvcnRpbmcgdGhlIGZ1bGwgc2VydmljZSBoaWVyYXJjaHkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5mcmFTZWNyZXRTdG9yZSB7XG4gIC8qKiBAZGVzY3JpcHRpb24gU3RvcmVzIChvciBvdmVyd3JpdGVzKSBhIG5hbWVkIHNlY3JldCBwYXlsb2FkLiAqL1xuICBzdG9yZTxUIGV4dGVuZHMgU2VjcmV0UGF5bG9hZCA9IFNlY3JldFBheWxvYWQ+KFxuICAgIG5hbWU6IFNlY3JldE5hbWUsXG4gICAgdmFsdWU6IFQsXG4gICAgb3B0aW9ucz86IFN0b3JlU2VjcmV0T3B0aW9ucyxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFNlY3JldFJlZmVyZW5jZT47XG4gIC8qKiBAZGVzY3JpcHRpb24gUmVhZHMgYW5kIGRlY3J5cHRzIGEgc3RvcmVkIHNlY3JldCBwYXlsb2FkLiAqL1xuICByZXRyaWV2ZTxUIGV4dGVuZHMgU2VjcmV0UGF5bG9hZCA9IFNlY3JldFBheWxvYWQ+KFxuICAgIG5hbWVPclJlZjogU2VjcmV0TmFtZSB8IFNlY3JldFJlZmVyZW5jZSxcbiAgICBvcHRpb25zPzogUmV0cmlldmVTZWNyZXRPcHRpb25zLFxuICAgIC4uLmFyZ3M6IGFueVtdXG4gICk6IFByb21pc2U8VD47XG4gIC8qKiBAZGVzY3JpcHRpb24gRGVsZXRlcyBhIHN0b3JlZCBzZWNyZXQuICovXG4gIGRlbGV0ZShcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgb3B0aW9ucz86IERlbGV0ZVNlY3JldE9wdGlvbnMsXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTx2b2lkPjtcbiAgLyoqIEBkZXNjcmlwdGlvbiBDaGVja3Mgd2hldGhlciBhIHNlY3JldCBleGlzdHMuICovXG4gIGV4aXN0cyhcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgb3B0aW9ucz86IEV4aXN0c1NlY3JldE9wdGlvbnMsXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxib29sZWFuPjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gT25lIGNyZWRlbnRpYWwgdG8gZ3VhcmFudGVlIGV4aXN0ZW5jZSBvZiBpbiB0aGUgc2VjcmV0IHN0b3JlXG4gKiBAc3VtbWFyeSBgb3ZlcndyaXRlOiBmYWxzZWAgKHRoZSBkZWZhdWx0KSBtYWtlcyBgZW5zdXJlYCBza2lwIHNlZWRzIHdob3NlXG4gKiBuYW1lIGFscmVhZHkgZXhpc3RzLCBrZWVwaW5nIHN0b3JlZCB2YWx1ZXMgc3RhYmxlIGFjcm9zcyByZXN0YXJ0cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbmZyYUNyZWRlbnRpYWxTZWVkIHtcbiAgLyoqIEBkZXNjcmlwdGlvbiBTZWNyZXQgbmFtZSB0byBzZWVkIChub3JtYWxpemVkIGJ5IHRoZSBiYWNraW5nIHN0b3JlKS4gKi9cbiAgbmFtZTogU2VjcmV0TmFtZTtcbiAgLyoqIEBkZXNjcmlwdGlvbiBQYXlsb2FkIHRvIHN0b3JlLiAqL1xuICB2YWx1ZTogU2VjcmV0UGF5bG9hZDtcbiAgLyoqIEBkZXNjcmlwdGlvbiBPcHRpb25hbCBjb250ZW50IHR5cGUgcmVjb3JkZWQgd2l0aCB0aGUgc2VjcmV0LiAqL1xuICBjb250ZW50VHlwZT86IHN0cmluZztcbiAgLyoqIEBkZXNjcmlwdGlvbiBPcHRpb25hbCB0YWdzIHJlY29yZGVkIHdpdGggdGhlIHNlY3JldC4gKi9cbiAgdGFncz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIC8qKiBAZGVzY3JpcHRpb24gV2hlbiBgdHJ1ZWAsIHJlLXN0b3JlIChvdmVyd3JpdGUpIGV2ZW4gaWYgdGhlIHNlY3JldCBhbHJlYWR5IGV4aXN0cy4gKi9cbiAgb3ZlcndyaXRlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSWRlbXBvdGVudCBpbmZyYXN0cnVjdHVyZSBjcmVkZW50aWFsIHNlZWRlclxuICogQHN1bW1hcnkgV3JhcHMgYW4ge0BsaW5rIEluZnJhU2VjcmV0U3RvcmV9IGFuZCBndWFyYW50ZWVzIGEgc2V0IG9mIG5hbWVkXG4gKiBjcmVkZW50aWFscyBleGlzdHM6IGBlbnN1cmVgIHN0b3JlcyBlYWNoIG1pc3Npbmcgc2VlZCAoc2tpcHBpbmcgZXhpc3RpbmdcbiAqIG9uZXMgdW5sZXNzIGBvdmVyd3JpdGVgIGlzIHNldCksIGByZXRyaWV2ZWAgcmVhZHMgb25lIGJhY2suIFJlZmVyZW5jZXNcbiAqIHJldHVybmVkIGJ5IGBlbnN1cmVgIGlkZW50aWZ5IHRoZSBzdG9yZWQgc2VjcmV0cyBmb3IgbGF0ZXIgY2xlYW51cC5cbiAqIEBjYXRlZ29yeSBTZWNyZXRzXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IGNyZWF0ZUluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcCB9IGZyb20gXCJAZGVjYWYtdHMvaW50ZWdyYXRpb25zL3NlY3JldHNcIjtcbiAqXG4gKiBjb25zdCBib290c3RyYXAgPSBhd2FpdCBjcmVhdGVJbmZyYUNyZWRlbnRpYWxCb290c3RyYXAoe1xuICogICBrZXlTZWNyZXQ6IFwibWFzdGVyLWtleVwiLFxuICogfSk7XG4gKiBhd2FpdCBib290c3RyYXAuZW5zdXJlKFtcbiAqICAgeyBuYW1lOiBcInNtdHAtdXNlclwiLCB2YWx1ZTogeyB2YWx1ZTogXCJtYWlscGl0XCIgfSB9LFxuICogXSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcCB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIGJvb3RzdHJhcCBib3VuZCB0byB0aGUgZ2l2ZW4gc2VjcmV0IHN0b3JlXG4gICAqIEBwYXJhbSB7SW5mcmFTZWNyZXRTdG9yZX0gc2VydmljZSAtIFRoZSBiYWNraW5nIHNlY3JldCBzdG9yZSAodHlwaWNhbGx5IGFuIGBGc1NlY3JldFNlcnZpY2VgKS5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IHNlcnZpY2U6IEluZnJhU2VjcmV0U3RvcmUpIHt9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBFbnN1cmVzIGV2ZXJ5IHNlZWQgZXhpc3RzIGluIHRoZSBiYWNraW5nIHN0b3JlXG4gICAqIEBzdW1tYXJ5IEZvciBlYWNoIHNlZWQsIHNraXBzIHdoZW4gdGhlIHNlY3JldCBhbHJlYWR5IGV4aXN0cyBhbmRcbiAgICogYG92ZXJ3cml0ZWAgaXMgbm90IHNldDsgb3RoZXJ3aXNlIHN0b3JlcyBpdCBhbmQgY29sbGVjdHMgdGhlIHJldHVybmVkXG4gICAqIHJlZmVyZW5jZXMuIEV4aXN0aW5nLWJ1dC1za2lwcGVkIHNlZWRzIGNvbnRyaWJ1dGUgbm8gcmVmZXJlbmNlLlxuICAgKiBAcGFyYW0ge3JlYWRvbmx5IEluZnJhQ3JlZGVudGlhbFNlZWRbXX0gc2VlZHMgLSBUaGUgY3JlZGVudGlhbHMgdG8gZ3VhcmFudGVlLlxuICAgKiBAcGFyYW0ge2FueVtdfSBhcmdzIC0gT3B0aW9uYWwgdHJhaWxpbmcgZGVjYWYgYENvbnRleHRgIGZvcndhcmRlZCB0byB0aGUgc3RvcmUuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFNlY3JldFJlZmVyZW5jZVtdPn0gUmVmZXJlbmNlcyBmb3IgdGhlIHNlZWRzIGFjdHVhbGx5IHN0b3JlZCBkdXJpbmcgdGhpcyBjYWxsLlxuICAgKi9cbiAgYXN5bmMgZW5zdXJlKFxuICAgIHNlZWRzOiByZWFkb25seSBJbmZyYUNyZWRlbnRpYWxTZWVkW10sXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxTZWNyZXRSZWZlcmVuY2VbXT4ge1xuICAgIGNvbnN0IHJlZmVyZW5jZXM6IFNlY3JldFJlZmVyZW5jZVtdID0gW107XG4gICAgZm9yIChjb25zdCBzZWVkIG9mIHNlZWRzKSB7XG4gICAgICBjb25zdCBleGlzdHMgPSBhd2FpdCB0aGlzLnNlcnZpY2UuZXhpc3RzKHNlZWQubmFtZSwge30sIC4uLmFyZ3MpO1xuICAgICAgaWYgKGV4aXN0cyAmJiAhc2VlZC5vdmVyd3JpdGUpIGNvbnRpbnVlO1xuICAgICAgcmVmZXJlbmNlcy5wdXNoKFxuICAgICAgICBhd2FpdCB0aGlzLnNlcnZpY2Uuc3RvcmUoXG4gICAgICAgICAgc2VlZC5uYW1lLFxuICAgICAgICAgIHNlZWQudmFsdWUsXG4gICAgICAgICAgeyBjb250ZW50VHlwZTogc2VlZC5jb250ZW50VHlwZSwgdGFnczogc2VlZC50YWdzIH0sXG4gICAgICAgICAgLi4uYXJnc1xuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gcmVmZXJlbmNlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIGEgcHJldmlvdXNseSBzZWVkZWQgY3JlZGVudGlhbCBwYXlsb2FkXG4gICAqIEBzdW1tYXJ5IFRoaW4gd3JhcHBlciBvdmVyIHRoZSBiYWNraW5nIHN0b3JlJ3MgYHJldHJpZXZlYCwgcmVzb2x2aW5nXG4gICAqIHRocm91Z2ggdGhlIGJvb3RzdHJhcCdzIHN0b3JlIHNvIGNhbGxlcnMgZG8gbm90IG5lZWQgdGhlIHNlcnZpY2UgaW5zdGFuY2UuXG4gICAqIEB0ZW1wbGF0ZSBUIC0gVGhlIGV4cGVjdGVkIHBheWxvYWQgdHlwZS5cbiAgICogQHBhcmFtIHtTZWNyZXROYW1lfSBuYW1lIC0gVGhlIHNlY3JldCBuYW1lIHRvIHJlYWQuXG4gICAqIEBwYXJhbSB7YW55W119IGFyZ3MgLSBPcHRpb25hbCB0cmFpbGluZyBkZWNhZiBgQ29udGV4dGAgZm9yd2FyZGVkIHRvIHRoZSBzdG9yZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8VD59IFRoZSBkZWNyeXB0ZWQgcGF5bG9hZC5cbiAgICovXG4gIGFzeW5jIHJldHJpZXZlPFQgZXh0ZW5kcyBTZWNyZXRQYXlsb2FkID0gU2VjcmV0UGF5bG9hZD4oXG4gICAgbmFtZTogU2VjcmV0TmFtZSxcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLnJldHJpZXZlPFQ+KG5hbWUsIHt9LCAuLi5hcmdzKTtcbiAgfVxufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgYm9vdHN0cmFwIHdpcmVkIHRvIGEgZnJlc2hseSBib290ZWQgZmlsZXN5c3RlbSBzZWNyZXQgc2VydmljZVxuICogQHN1bW1hcnkgQ29uc3RydWN0cyBhbiBge0BsaW5rIEZzU2VjcmV0U2VydmljZX1gLCBib290cyBpdCB3aXRoIHRoZSBzdXBwbGllZFxuICogYXJndW1lbnRzIChleHBsaWNpdCBjb25maWcgb3IgdGhlIGBzZWNyZXRzLmZzYCBFbnZpcm9ubWVudCBzbGljZSksIGFuZCB3cmFwc1xuICogaXQgaW4gYW4ge0BsaW5rIEluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcH0uXG4gKiBAcGFyYW0ge2FueVtdfSBhcmdzIC0gYGJvb3QoKWAgYXJndW1lbnRzIGZvcndhcmRlZCB0byB0aGUgYEZzU2VjcmV0U2VydmljZWAgKGNvbmZpZyBhbmQgb3B0aW9uYWwgYENvbnRleHRgKS5cbiAqIEByZXR1cm5zIHtQcm9taXNlPEluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcD59IFRoZSBib290c3RyYXAgYmFja2VkIGJ5IHRoZSBib290ZWQgc2VydmljZS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZUluZnJhQ3JlZGVudGlhbEJvb3RzdHJhcChcbiAgLi4uYXJnczogYW55W11cbik6IFByb21pc2U8SW5mcmFDcmVkZW50aWFsQm9vdHN0cmFwPiB7XG4gIGNvbnN0IHNlcnZpY2UgPSBuZXcgRnNTZWNyZXRTZXJ2aWNlKCk7XG4gIGF3YWl0IHNlcnZpY2UuYm9vdCguLi5hcmdzKTtcbiAgcmV0dXJuIG5ldyBJbmZyYUNyZWRlbnRpYWxCb290c3RyYXAoc2VydmljZSk7XG59XG4iXX0=
|
|
74
|
+
//# sourceMappingURL=InfraCredentialBootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InfraCredentialBootstrap.js","sourceRoot":"","sources":["../../../src/secrets/InfraCredentialBootstrap.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,eAAe,EAAE,sBAAa;AAsDvC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,wBAAwB;IACnC;;;OAGG;IACH,YAAqB,OAAyB;QAAzB,YAAO,GAAP,OAAO,CAAkB;IAAG,CAAC;IAElD;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CACV,KAAqC,EACrC,GAAG,IAAW;QAEd,MAAM,UAAU,GAAsB,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;YACjE,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,SAAS;gBAAE,SAAS;YACxC,UAAU,CAAC,IAAI,CACb,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CACtB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,KAAK,EACV,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAClD,GAAG,IAAI,CACR,CACF,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAgB,EAChB,GAAG,IAAW;QAEd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAI,IAAI,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACrD,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,GAAG,IAAW;IAEd,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;IACtC,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAC/C,CAAC"}
|
|
@@ -20,4 +20,4 @@ export const AwsSecretEnvironment = SecretEnvironment.accumulate({
|
|
|
20
20
|
},
|
|
21
21
|
},
|
|
22
22
|
});
|
|
23
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=AwsSecretEnvironment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsSecretEnvironment.js","sourceRoot":"","sources":["../../../../src/secrets/aws/AwsSecretEnvironment.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,iBAAiB,EAAE,uCAAkC;AAqB9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,UAAU,CAAC;IAC/D,OAAO,EAAE;QACP,GAAG,EAAE;YACH,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,WAAW,EAAE;gBACX,WAAW,EAAE,EAAE;gBACf,eAAe,EAAE,EAAE;gBACnB,YAAY,EAAE,EAAE;aACjB;SACF;KACF;CAC2B,CAAC,CAAC"}
|
|
@@ -320,4 +320,4 @@ export class AwsSecretService extends ClientBasedSecretService {
|
|
|
320
320
|
return new InternalError(err);
|
|
321
321
|
}
|
|
322
322
|
}
|
|
323
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXdzU2VjcmV0U2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZWNyZXRzL2F3cy9Bd3NTZWNyZXRTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsbUJBQW1CLEVBQ25CLHFCQUFxQixFQUVyQixxQkFBcUIsRUFFckIsbUJBQW1CLEVBRW5CLGtCQUFrQixFQUVsQixxQkFBcUIsR0FFdEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsa0JBQWtCLEdBRW5CLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLHdCQUF3QixHQU16QiwyQkFBMkI7QUFPNUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQjtBQUM3RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHdCQUF3QixHQUV6QiwyQkFBMkI7QUFFNUIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtDQUErQjtBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLDJDQUFzQztBQUMxRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLFNBQVMsRUFDVCxhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsR0FDZCxNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx3QkFHckM7SUFDQyxJQUFJLFFBQVE7UUFDVixPQUFPLHFCQUFxQixDQUFDO0lBQy9CLENBQUM7SUFFUyxxQkFBcUI7UUFDN0IsTUFBTSxHQUFHLEdBQUcsb0JBQW9CLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUM3QyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDOUIsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFD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UUFDbEMsQ0FBQztRQUVELElBQ0UsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDakMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDcEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDbkMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDaEMsQ0FBQztZQUNELE9BQU8sSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDaEMsQ0FBQztRQUVELE9BQU8sSUFBSSxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDaEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2VjcmV0c01hbmFnZXJDbGllbnQsXG4gIENyZWF0ZVNlY3JldENvbW1hbmQsXG4gIEdldFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgR2V0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIFB1dFNlY3JldFZhbHVlQ29tbWFuZCxcbiAgUHV0U2VjcmV0VmFsdWVDb21tYW5kSW5wdXQsXG4gIERlbGV0ZVNlY3JldENvbW1hbmQsXG4gIERlbGV0ZVNlY3JldENvbW1hbmRJbnB1dCxcbiAgTGlzdFNlY3JldHNDb21tYW5kLFxuICBMaXN0U2VjcmV0c0NvbW1hbmRJbnB1dCxcbiAgRGVzY3JpYmVTZWNyZXRDb21tYW5kLFxuICBEZXNjcmliZVNlY3JldENvbW1hbmRJbnB1dCxcbn0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1zZWNyZXRzLW1hbmFnZXJcIjtcbmltcG9ydCB7XG4gIEF1dGhvcml6YXRpb25FcnJvcixcbiAgdHlwZSBNYXliZUNvbnRleHR1YWxBcmcsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgQ2xpZW50QmFzZWRTZWNyZXRTZXJ2aWNlLFxuICBTZWNyZXRQcm92aWRlcixcbiAgU2VjcmV0TmFtZSxcbiAgU2VjcmV0UGF5bG9hZCxcbiAgU2VjcmV0UmVmZXJlbmNlLFxuICBTZWNyZXRNZXRhZGF0YSxcbn0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgU3RvcmVTZWNyZXRPcHRpb25zLFxuICBSZXRyaWV2ZVNlY3JldE9wdGlvbnMsXG4gIERlbGV0ZVNlY3JldE9wdGlvbnMsXG4gIExpc3RTZWNyZXRzT3B0aW9ucyxcbn0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHsgdmFsaWRhdGVTZWNyZXROYW1lLCBub3JtYWxpemVTZWNyZXROYW1lIH0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHtcbiAgc2VyaWFsaXplU2VjcmV0UGF5bG9hZCxcbiAgZGVzZXJpYWxpemVTZWNyZXRQYXlsb2FkLFxuICB0eXBlIFNlcmlhbGl6ZWRTZWNyZXRQYXlsb2FkLFxufSBmcm9tIFwiLi4vLi4vc2VjcmV0cy9jb3JlXCI7XG5pbXBvcnQgeyBBd3NTZWNyZXRTZXJ2aWNlQ29uZmlnIH0gZnJvbSBcIi4vQXdzU2VjcmV0U2VydmljZUNvbmZpZ1wiO1xuaW1wb3J0IHsgQXdzU2VjcmV0RW52aXJvbm1lbnQgfSBmcm9tIFwiLi9Bd3NTZWNyZXRFbnZpcm9ubWVudFwiO1xuaW1wb3J0IHsgZW52U3RyaW5nIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9lbnZpcm9ubWVudFZhbHVlXCI7XG5pbXBvcnQge1xuICBCYWRSZXF1ZXN0RXJyb3IsXG4gIEJhc2VFcnJvcixcbiAgQ29uZmxpY3RFcnJvcixcbiAgSW50ZXJuYWxFcnJvcixcbiAgTm90Rm91bmRFcnJvcixcbn0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbmV4cG9ydCBjbGFzcyBBd3NTZWNyZXRTZXJ2aWNlIGV4dGVuZHMgQ2xpZW50QmFzZWRTZWNyZXRTZXJ2aWNlPFxuICBTZWNyZXRzTWFuYWdlckNsaWVudCxcbiAgQXdzU2VjcmV0U2VydmljZUNvbmZpZ1xuPiB7XG4gIGdldCBwcm92aWRlcigpOiBTZWNyZXRQcm92aWRlciB7XG4gICAgcmV0dXJuIFwiYXdzLXNlY3JldHMtbWFuYWdlclwiO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNvbmZpZ0Zyb21FbnZpcm9ubWVudCgpOiBBd3NTZWNyZXRTZXJ2aWNlQ29uZmlnIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBlbnYgPSBBd3NTZWNyZXRFbnZpcm9ubWVudC5zZWNyZXRzLmF3cztcbiAgICBjb25zdCByZWdpb24gPSBlbnZTdHJpbmcoZW52Py5yZWdpb24pO1xuICAgIGlmICghcmVnaW9uKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IGFjY2Vzc0tleUlkID0gZW52U3RyaW5nKGVudi5jcmVkZW50aWFscz8uYWNjZXNzS2V5SWQpO1xuICAgIHJldHVybiB7XG4gICAgICBwcm92aWRlcjogXCJhd3Mtc2VjcmV0cy1tYW5hZ2VyXCIsXG4gICAgICByZWdpb24sXG4gICAgICBlbmRwb2ludDogZW52U3RyaW5nKGVudi5lbmRwb2ludCksXG4gICAgICBrZXlJZDogZW52U3RyaW5nKGVudi5rZXlJZCksXG4gICAgICBjcmVkZW50aWFsczogYWNjZXNzS2V5SWRcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBhY2Nlc3NLZXlJZCxcbiAgICAgICAgICAgIHNlY3JldEFjY2Vzc0tleTogZW52U3RyaW5nKGVudi5jcmVkZW50aWFscz8uc2VjcmV0QWNjZXNzS2V5KSBhcyBzdHJpbmcsXG4gICAgICAgICAgICBzZXNzaW9uVG9rZW46IGVudlN0cmluZyhlbnYuY3JlZGVudGlhbHM/LnNlc3Npb25Ub2tlbiksXG4gICAgICAgICAgfVxuICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZShcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHsgY29uZmlnOiBBd3NTZWNyZXRTZXJ2aWNlQ29uZmlnOyBjbGllbnQ6IFNlY3JldHNNYW5hZ2VyQ2xpZW50IH0+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiaW5pdGlhbGl6ZVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5pbml0aWFsaXplXG4gICAgKTtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmdldENvbmZpZ0Zyb21BcmdzPEF3c1NlY3JldFNlcnZpY2VDb25maWc+KC4uLmFyZ3MpO1xuICAgIGNvbnN0IGNsaWVudCA9IG5ldyBTZWNyZXRzTWFuYWdlckNsaWVudCh7XG4gICAgICByZWdpb246IGNvbmZpZy5yZWdpb24sXG4gICAgICBjcmVkZW50aWFsczogY29uZmlnLmNyZWRlbnRpYWxzLFxuICAgICAgZW5kcG9pbnQ6IGNvbmZpZy5lbmRwb2ludCxcbiAgICB9KTtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuICAgIGxvZy52ZXJib3NlKFwiSW5pdGlhbGl6ZWQgQVdTIFNlY3JldHMgTWFuYWdlciBjbGllbnRcIik7XG4gICAgcmV0dXJuIHsgY29uZmlnLCBjbGllbnQgfTtcbiAgfVxuXG4gIGFzeW5jIHN0b3JlPFQgZXh0ZW5kcyBTZWNyZXRQYXlsb2FkID0gU2VjcmV0UGF5bG9hZD4oXG4gICAgbmFtZTogU2VjcmV0TmFtZSxcbiAgICB2YWx1ZTogVCxcbiAgICBvcHRpb25zOiBTdG9yZVNlY3JldE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPFNlY3JldFJlZmVyZW5jZT4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzdG9yZVwiLCB0cnVlKSkuZm9yKHRoaXMuc3RvcmUpO1xuICAgIGxvZy52ZXJib3NlKGBTdG9yaW5nIHNlY3JldCAke25hbWV9YCk7XG5cbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcbiAgICBjb25zdCBzZXJpYWxpemVkID0gc2VyaWFsaXplU2VjcmV0UGF5bG9hZCh2YWx1ZSk7XG4gICAgY29uc3Qgc2VjcmV0U3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoc2VyaWFsaXplZCk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChcbiAgICAgICAgbmV3IENyZWF0ZVNlY3JldENvbW1hbmQoe1xuICAgICAgICAgIE5hbWU6IG5vcm1hbGl6ZWROYW1lLFxuICAgICAgICAgIFNlY3JldFN0cmluZzogc2VjcmV0U3RyaW5nLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9IGNhdGNoIChlcnJvcjogYW55KSB7XG4gICAgICBpZiAoZXJyb3I/Lm5hbWUgPT09IFwiUmVzb3VyY2VFeGlzdHNFeGNlcHRpb25cIikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGlucHV0OiBQdXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCA9IHtcbiAgICAgICAgICAgIFNlY3JldElkOiBub3JtYWxpemVkTmFtZSxcbiAgICAgICAgICAgIFNlY3JldFN0cmluZzogc2VjcmV0U3RyaW5nLFxuICAgICAgICAgIH07XG4gICAgICAgICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChuZXcgUHV0U2VjcmV0VmFsdWVDb21tYW5kKGlucHV0KSk7XG4gICAgICAgIH0gY2F0Y2ggKHB1dEVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKHB1dEVycm9yIGFzIEVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICBuYW1lOiBub3JtYWxpemVkTmFtZSxcbiAgICAgIHZlcnNpb246IG9wdGlvbnMudmVyc2lvbixcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgcmV0cmlldmU8VCBleHRlbmRzIFNlY3JldFBheWxvYWQgPSBTZWNyZXRQYXlsb2FkPihcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgb3B0aW9uczogUmV0cmlldmVTZWNyZXRPcHRpb25zID0ge30sXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcInJldHJpZXZlXCIsIHRydWUpKS5mb3IoXG4gICAgICB0aGlzLnJldHJpZXZlXG4gICAgKTtcbiAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgIGxvZy52ZXJib3NlKGBSZXRyaWV2aW5nIHNlY3JldCAke25hbWVTdHJ9YCk7XG5cbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuICAgIGxldCB2ZXJzaW9uU3RhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGlmICh0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmO1xuICAgICAgdmVyc2lvblN0YWdlID0gb3B0aW9ucy52ZXJzaW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmLm5hbWU7XG4gICAgICB2ZXJzaW9uU3RhZ2UgPSBuYW1lT3JSZWYudmVyc2lvbjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcblxuICAgIGNvbnN0IGlucHV0OiBHZXRTZWNyZXRWYWx1ZUNvbW1hbmRJbnB1dCA9IHtcbiAgICAgIFNlY3JldElkOiBub3JtYWxpemVkTmFtZSxcbiAgICB9O1xuXG4gICAgaWYgKHZlcnNpb25TdGFnZSkge1xuICAgICAgaW5wdXQuVmVyc2lvblN0YWdlID0gdmVyc2lvblN0YWdlO1xuICAgIH1cblxuICAgIGxldCBwYXlsb2FkOiBTZXJpYWxpemVkU2VjcmV0UGF5bG9hZDtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKG5ldyBHZXRTZWNyZXRWYWx1ZUNvbW1hbmQoaW5wdXQpKTtcbiAgICAgIGlmIChyZXNwb25zZS5TZWNyZXRTdHJpbmcgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBwYXlsb2FkID0gSlNPTi5wYXJzZShyZXNwb25zZS5TZWNyZXRTdHJpbmcpIGFzIFNlcmlhbGl6ZWRTZWNyZXRQYXlsb2FkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoXG4gICAgICAgICAgYE5vIHNlY3JldCB2YWx1ZSBmb3VuZCBmb3IgXCIke25vcm1hbGl6ZWROYW1lfVwiYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIHJldHVybiBkZXNlcmlhbGl6ZVNlY3JldFBheWxvYWQocGF5bG9hZCkgYXMgVDtcbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgb3B0aW9uczogRGVsZXRlU2VjcmV0T3B0aW9ucyA9IHt9LFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJkZWxldGVcIiwgdHJ1ZSkpLmZvcih0aGlzLmRlbGV0ZSk7XG4gICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICBsb2cudmVyYm9zZShgRGVsZXRpbmcgc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuXG4gICAgY29uc3QgaW5wdXQ6IERlbGV0ZVNlY3JldENvbW1hbmRJbnB1dCA9IHtcbiAgICAgIFNlY3JldElkOiBub3JtYWxpemVkTmFtZSxcbiAgICAgIEZvcmNlRGVsZXRlV2l0aG91dFJlY292ZXJ5OiBvcHRpb25zLmZvcmNlID8/IGZhbHNlLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChuZXcgRGVsZXRlU2VjcmV0Q29tbWFuZChpbnB1dCkpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGV4aXN0cyhcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImV4aXN0c1wiLCB0cnVlKSkuZm9yKHRoaXMuZXhpc3RzKTtcbiAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgIGxvZy52ZXJib3NlKGBDaGVja2luZyBpZiBzZWNyZXQgJHtuYW1lU3RyfSBleGlzdHNgKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuXG4gICAgY29uc3QgaW5wdXQ6IERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0ID0ge1xuICAgICAgU2VjcmV0SWQ6IG5vcm1hbGl6ZWROYW1lLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQuc2VuZChuZXcgRGVzY3JpYmVTZWNyZXRDb21tYW5kKGlucHV0KSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgICBpZiAoXG4gICAgICAgIGVyci5uYW1lID09PSBcIlJlc291cmNlTm90Rm91bmRFeGNlcHRpb25cIiB8fFxuICAgICAgICBlcnIubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8XG4gICAgICAgIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbGlzdChcbiAgICBvcHRpb25zOiBMaXN0U2VjcmV0c09wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPFNlY3JldE1ldGFkYXRhW10+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibGlzdFwiLCB0cnVlKSkuZm9yKHRoaXMubGlzdCk7XG4gICAgbG9nLnZlcmJvc2UoXCJMaXN0aW5nIHNlY3JldHNcIik7XG5cbiAgICBjb25zdCByZXN1bHQ6IFNlY3JldE1ldGFkYXRhW10gPSBbXTtcblxuICAgIGxldCBuZXh0VG9rZW46IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAgIGRvIHtcbiAgICAgIGNvbnN0IGlucHV0OiBMaXN0U2VjcmV0c0NvbW1hbmRJbnB1dCA9IHtcbiAgICAgICAgTmV4dFRva2VuOiBuZXh0VG9rZW4sXG4gICAgICAgIE1heFJlc3VsdHM6IG9wdGlvbnMubGltaXQgPz8gNTAsXG4gICAgICB9O1xuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnNlbmQobmV3IExpc3RTZWNyZXRzQ29tbWFuZChpbnB1dCkpO1xuICAgICAgICBuZXh0VG9rZW4gPSByZXNwb25zZS5OZXh0VG9rZW47XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLlNlY3JldExpc3QpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHNlY3JldCBvZiByZXNwb25zZS5TZWNyZXRMaXN0KSB7XG4gICAgICAgICAgICBpZiAoc2VjcmV0Lk5hbWUpIHtcbiAgICAgICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICAgICAgICAgIG5hbWU6IHNlY3JldC5OYW1lLFxuICAgICAgICAgICAgICAgIHZlcnNpb246IHNlY3JldC5MYXN0Q2hhbmdlZERhdGUgPyB1bmRlZmluZWQgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0OiBzZWNyZXQuQ3JlYXRlZERhdGUsXG4gICAgICAgICAgICAgICAgdXBkYXRlZEF0OiBzZWNyZXQuTGFzdENoYW5nZWREYXRlLFxuICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdGFnczogc2VjcmV0LlRhZ3M/LnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihcbiAgICAgICAgICAgICAgICAgIChcbiAgICAgICAgICAgICAgICAgICAgYWNjOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LFxuICAgICAgICAgICAgICAgICAgICB0YWc6IHsgS2V5Pzogc3RyaW5nOyBWYWx1ZT86IHN0cmluZyB9XG4gICAgICAgICAgICAgICAgICApID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRhZy5LZXkgJiYgdGFnLlZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgYWNjW3RhZy5LZXldID0gdGFnLlZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge31cbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgICB9XG4gICAgfSB3aGlsZSAobmV4dFRva2VuKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBhc3luYyBtZXRhZGF0YShcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxTZWNyZXRNZXRhZGF0YSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJtZXRhZGF0YVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5tZXRhZGF0YVxuICAgICk7XG4gICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICBsb2cudmVyYm9zZShgR2V0dGluZyBtZXRhZGF0YSBmb3Igc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuXG4gICAgY29uc3QgaW5wdXQ6IERlc2NyaWJlU2VjcmV0Q29tbWFuZElucHV0ID0ge1xuICAgICAgU2VjcmV0SWQ6IG5vcm1hbGl6ZWROYW1lLFxuICAgIH07XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKG5ldyBEZXNjcmliZVNlY3JldENvbW1hbmQoaW5wdXQpKTtcblxuICAgICAgaWYgKCFyZXNwb25zZS5OYW1lKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG1ldGE6IFNlY3JldE1ldGFkYXRhID0ge1xuICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgbmFtZTogcmVzcG9uc2UuTmFtZSxcbiAgICAgICAgY3JlYXRlZEF0OiByZXNwb25zZS5DcmVhdGVkRGF0ZSxcbiAgICAgICAgdXBkYXRlZEF0OiByZXNwb25zZS5MYXN0Q2hhbmdlZERhdGUsXG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIHRhZ3M6IHJlc3BvbnNlLlRhZ3M/LnJlZHVjZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PihcbiAgICAgICAgICAoXG4gICAgICAgICAgICBhY2M6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gICAgICAgICAgICB0YWc6IHsgS2V5Pzogc3RyaW5nOyBWYWx1ZT86IHN0cmluZyB9XG4gICAgICAgICAgKSA9PiB7XG4gICAgICAgICAgICBpZiAodGFnLktleSAmJiB0YWcuVmFsdWUpIHtcbiAgICAgICAgICAgICAgYWNjW3RhZy5LZXldID0gdGFnLlZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9LFxuICAgICAgICAgIHt9XG4gICAgICAgICksXG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gbWV0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgICBpZiAoXG4gICAgICAgIGVyci5uYW1lID09PSBcIlJlc291cmNlTm90Rm91bmRFeGNlcHRpb25cIiB8fFxuICAgICAgICBlcnIubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8XG4gICAgICAgIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUVycm9yKGVycm9yOiB1bmtub3duKTogRXJyb3Ige1xuICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yO1xuICAgIGlmIChlcnIgaW5zdGFuY2VvZiBCYXNlRXJyb3IpIHJldHVybiBlcnI7XG4gICAgY29uc3QgbWVzc2FnZSA9IGVyci5tZXNzYWdlIHx8IGVyci5uYW1lIHx8IFwiVW5rbm93biBlcnJvclwiO1xuICAgIGNvbnN0IGxvd2VyTWVzc2FnZSA9IG1lc3NhZ2UudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChcbiAgICAgIGVyci5uYW1lID09PSBcIlJlc291cmNlTm90Rm91bmRFeGNlcHRpb25cIiB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJjYW4ndCBmaW5kXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIilcbiAgICApIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGVyci5uYW1lID09PSBcIlJlc291cmNlRXhpc3RzRXhjZXB0aW9uXCIgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImFscmVhZHkgZXhpc3RzXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJjb25mbGljdFwiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDA5XCIpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3IENvbmZsaWN0RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiZGlzYWJsZWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAzXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdXRob3JpemVkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMVwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBOb3RGb3VuZEVycm9yKGVycik7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInBlcm1pc3Npb25cIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAzXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IEF1dGhvcml6YXRpb25FcnJvcihlcnIpO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJyYXRlIGxpbWl0XCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQyOVwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBCYWRSZXF1ZXN0RXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJwcm92aWRlclwiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdmFpbGFibGVcIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImNvbm5lY3Rpb25cIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInRpbWVvdXRcIilcbiAgICApIHtcbiAgICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihlcnIpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihlcnIpO1xuICB9XG59XG4iXX0=
|
|
323
|
+
//# sourceMappingURL=AwsSecretService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsSecretService.js","sourceRoot":"","sources":["../../../../src/secrets/aws/AwsSecretService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=AwsSecretServiceConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AwsSecretServiceConfig.js","sourceRoot":"","sources":["../../../../src/secrets/aws/AwsSecretServiceConfig.ts"],"names":[],"mappings":""}
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
export * from "./AwsSecretService.js";
|
|
7
7
|
export * from "./AwsSecretServiceConfig.js";
|
|
8
8
|
export * from "./AwsSecretEnvironment.js";
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/secrets/aws/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,sCAAmC;AACnC,4CAAyC;AACzC,0CAAuC"}
|
|
@@ -252,4 +252,4 @@ export class AzureKeyVaultSecretService extends ClientBasedSecretService {
|
|
|
252
252
|
return new InternalError(message);
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXp1cmVLZXlWYXVsdFNlY3JldFNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VjcmV0cy9henVyZS9BenVyZUtleVZhdWx0U2VjcmV0U2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLHdCQUF3QixFQUFrQiwyQkFBMkI7QUFZOUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQjtBQUM3RSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLHdCQUF3QixHQUV6QiwyQkFBMkI7QUFFNUIsT0FBTyxFQUFFLHNCQUFzQixFQUFFLG9DQUFpQztBQUNsRSxPQUFPLEVBQUUsU0FBUyxFQUFFLDJDQUFzQztBQUMxRCxPQUFPLEVBQ0wsZUFBZSxFQUNmLGFBQWEsRUFDYixhQUFhLEVBQ2IsYUFBYSxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFFakMsTUFBTSxPQUFPLDBCQUEyQixTQUFRLHdCQUcvQztJQUhEOztRQUlXLGFBQVEsR0FBbUIsaUJBQWlCLENBQUM7SUFnVXhELENBQUM7SUE5VFcscUJBQXFCO1FBRzdCLE1BQU0sR0FBRyxHQUFHLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFDakQsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsUUFBUTtZQUFFLE9BQU8sU0FBUyxDQUFDO1FBQ2hDLE9BQU87WUFDTCxRQUFRLEVBQUUsaUJBQWlCO1lBQzNCLFFBQVE7WUFDUixLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7U0FDNUIsQ0FBQztJQUNKLENBQUM7SUFFRCxLQUFLLENBQUMsVUFBVSxD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QVksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RFLE9BQU8sSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDMUUsT0FBTyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBRUQsSUFBSSxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN4RSxPQUFPLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3hFLE9BQU8sSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQ0UsWUFBWSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDakMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDcEMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUM7WUFDbkMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDaEMsQ0FBQztZQUNELE9BQU8sSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELE9BQU8sSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VjcmV0Q2xpZW50IH0gZnJvbSBcIkBhenVyZS9rZXl2YXVsdC1zZWNyZXRzXCI7XG5pbXBvcnQgeyBEZWZhdWx0QXp1cmVDcmVkZW50aWFsIH0gZnJvbSBcIkBhenVyZS9pZGVudGl0eVwiO1xuaW1wb3J0IHsgQ2xpZW50QmFzZWRTZWNyZXRTZXJ2aWNlLCBTZWNyZXRQcm92aWRlciB9IGZyb20gXCIuLi8uLi9zZWNyZXRzL2NvcmVcIjtcbmltcG9ydCB7XG4gIHR5cGUgQ29udGV4dHVhbEFyZ3MsXG4gIHR5cGUgTWF5YmVDb250ZXh0dWFsQXJnLFxufSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCB7XG4gIFNlY3JldE5hbWUsXG4gIFNlY3JldFBheWxvYWQsXG4gIFNlY3JldFJlZmVyZW5jZSxcbiAgU2VjcmV0TWV0YWRhdGEsXG59IGZyb20gXCIuLi8uLi9zZWNyZXRzL2NvcmVcIjtcbmltcG9ydCB7IERlbGV0ZVNlY3JldE9wdGlvbnMsIExpc3RTZWNyZXRzT3B0aW9ucyB9IGZyb20gXCIuLi8uLi9zZWNyZXRzL2NvcmVcIjtcbmltcG9ydCB7IHZhbGlkYXRlU2VjcmV0TmFtZSwgbm9ybWFsaXplU2VjcmV0TmFtZSB9IGZyb20gXCIuLi8uLi9zZWNyZXRzL2NvcmVcIjtcbmltcG9ydCB7XG4gIHNlcmlhbGl6ZVNlY3JldFBheWxvYWQsXG4gIGRlc2VyaWFsaXplU2VjcmV0UGF5bG9hZCxcbiAgdHlwZSBTZXJpYWxpemVkU2VjcmV0UGF5bG9hZCxcbn0gZnJvbSBcIi4uLy4uL3NlY3JldHMvY29yZVwiO1xuaW1wb3J0IHsgQXp1cmVLZXlWYXVsdFNlY3JldFNlcnZpY2VDb25maWcgfSBmcm9tIFwiLi9BenVyZUtleVZhdWx0U2VjcmV0U2VydmljZUNvbmZpZ1wiO1xuaW1wb3J0IHsgQXp1cmVTZWNyZXRFbnZpcm9ubWVudCB9IGZyb20gXCIuL0F6dXJlU2VjcmV0RW52aXJvbm1lbnRcIjtcbmltcG9ydCB7IGVudlN0cmluZyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvZW52aXJvbm1lbnRWYWx1ZVwiO1xuaW1wb3J0IHtcbiAgQmFkUmVxdWVzdEVycm9yLFxuICBDb25mbGljdEVycm9yLFxuICBJbnRlcm5hbEVycm9yLFxuICBOb3RGb3VuZEVycm9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxuZXhwb3J0IGNsYXNzIEF6dXJlS2V5VmF1bHRTZWNyZXRTZXJ2aWNlIGV4dGVuZHMgQ2xpZW50QmFzZWRTZWNyZXRTZXJ2aWNlPFxuICBTZWNyZXRDbGllbnQsXG4gIEF6dXJlS2V5VmF1bHRTZWNyZXRTZXJ2aWNlQ29uZmlnXG4+IHtcbiAgcmVhZG9ubHkgcHJvdmlkZXI6IFNlY3JldFByb3ZpZGVyID0gXCJhenVyZS1rZXktdmF1bHRcIjtcblxuICBwcm90ZWN0ZWQgY29uZmlnRnJvbUVudmlyb25tZW50KCk6XG4gICAgfCBBenVyZUtleVZhdWx0U2VjcmV0U2VydmljZUNvbmZpZ1xuICAgIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBlbnYgPSBBenVyZVNlY3JldEVudmlyb25tZW50LnNlY3JldHMuYXp1cmU7XG4gICAgY29uc3QgdmF1bHRVcmwgPSBlbnZTdHJpbmcoZW52Py52YXVsdFVybCk7XG4gICAgaWYgKCF2YXVsdFVybCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4ge1xuICAgICAgcHJvdmlkZXI6IFwiYXp1cmUta2V5LXZhdWx0XCIsXG4gICAgICB2YXVsdFVybCxcbiAgICAgIGtleUlkOiBlbnZTdHJpbmcoZW52LmtleUlkKSxcbiAgICB9O1xuICB9XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZShcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxhbnk+XG4gICk6IFByb21pc2U8e1xuICAgIGNvbmZpZzogQXp1cmVLZXlWYXVsdFNlY3JldFNlcnZpY2VDb25maWc7XG4gICAgY2xpZW50OiBTZWNyZXRDbGllbnQ7XG4gIH0+IHtcbiAgICBjb25zdCBjb25maWcgPVxuICAgICAgdGhpcy5nZXRDb25maWdGcm9tQXJnczxBenVyZUtleVZhdWx0U2VjcmV0U2VydmljZUNvbmZpZz4oLi4uYXJncyk7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IFNlY3JldENsaWVudChcbiAgICAgIGNvbmZpZy52YXVsdFVybCxcbiAgICAgIGNvbmZpZy5jcmVkZW50aWFscyB8fCBuZXcgRGVmYXVsdEF6dXJlQ3JlZGVudGlhbCgpXG4gICAgKTtcbiAgICB0aGlzLl9jb25maWcgPSBjb25maWc7XG4gICAgdGhpcy5fY2xpZW50ID0gY2xpZW50O1xuICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50IH07XG4gIH1cblxuICBhc3luYyBzdG9yZTxUIGV4dGVuZHMgU2VjcmV0UGF5bG9hZCA9IFNlY3JldFBheWxvYWQ+KFxuICAgIG5hbWU6IFNlY3JldE5hbWUsXG4gICAgdmFsdWU6IFQsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxTZWNyZXRSZWZlcmVuY2U+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic3RvcmVcIiwgdHJ1ZSkpLmZvcih0aGlzLnN0b3JlKTtcbiAgICBsb2cudmVyYm9zZShgU3RvcmluZyBzZWNyZXQgJHtuYW1lfWApO1xuXG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlU2VjcmV0TmFtZShuYW1lKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG5cbiAgICBjb25zdCBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHNlcmlhbGl6ZVNlY3JldFBheWxvYWQodmFsdWUpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LnNldFNlY3JldChcbiAgICAgICAgbm9ybWFsaXplZE5hbWUsXG4gICAgICAgIHNlcmlhbGl6ZWQudmFsdWVcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICBuYW1lOiBub3JtYWxpemVkTmFtZSxcbiAgICAgICAgdmVyc2lvbjogcmVzdWx0LnByb3BlcnRpZXMudmVyc2lvbixcbiAgICAgICAgbWV0YWRhdGE6IHt9LFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyByZXRyaWV2ZTxUIGV4dGVuZHMgU2VjcmV0UGF5bG9hZCA9IFNlY3JldFBheWxvYWQ+KFxuICAgIG5hbWVPclJlZjogU2VjcmV0TmFtZSB8IFNlY3JldFJlZmVyZW5jZSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicmV0cmlldmVcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMucmV0cmlldmVcbiAgICApO1xuICAgIGNvbnN0IG5hbWVTdHIgPSB0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiID8gbmFtZU9yUmVmIDogbmFtZU9yUmVmLm5hbWU7XG4gICAgbG9nLnZlcmJvc2UoYFJldHJpZXZpbmcgc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LmdldFNlY3JldChub3JtYWxpemVkTmFtZSk7XG4gICAgICBpZiAocmVzdWx0LnZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoYFNlY3JldCBcIiR7bm9ybWFsaXplZE5hbWV9XCIgaGFzIG5vIHZhbHVlYCk7XG4gICAgICB9XG4gICAgICBjb25zdCBwYXlsb2FkOiBTZXJpYWxpemVkU2VjcmV0UGF5bG9hZCA9IHtcbiAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICB2YWx1ZTogcmVzdWx0LnZhbHVlLFxuICAgICAgfTtcbiAgICAgIHJldHVybiBkZXNlcmlhbGl6ZVNlY3JldFBheWxvYWQocGF5bG9hZCkgYXMgVDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBkZWxldGUoXG4gICAgbmFtZU9yUmVmOiBTZWNyZXROYW1lIHwgU2VjcmV0UmVmZXJlbmNlLFxuICAgIG9wdGlvbnM6IERlbGV0ZVNlY3JldE9wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZGVsZXRlXCIsIHRydWUpKS5mb3IodGhpcy5kZWxldGUpO1xuICAgIGNvbnN0IG5hbWVTdHIgPSB0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiID8gbmFtZU9yUmVmIDogbmFtZU9yUmVmLm5hbWU7XG4gICAgbG9nLnZlcmJvc2UoYERlbGV0aW5nIHNlY3JldCAke25hbWVTdHJ9YCk7XG5cbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuXG4gICAgaWYgKHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWY7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWYubmFtZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcblxuICAgIHRyeSB7XG4gICAgICBpZiAob3B0aW9ucy5mb3JjZSkge1xuICAgICAgICBhd2FpdCB0aGlzLmNsaWVudC5iZWdpbkRlbGV0ZVNlY3JldChub3JtYWxpemVkTmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBGb3Igc29mdC1kZWxldGUsIGp1c3QgYmVnaW5EZWxldGUgd2hpY2ggYWxsb3dzIHJlY292ZXJ5XG4gICAgICAgIGF3YWl0IHRoaXMuY2xpZW50LmJlZ2luRGVsZXRlU2VjcmV0KG5vcm1hbGl6ZWROYW1lKTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBleGlzdHMoXG4gICAgbmFtZU9yUmVmOiBTZWNyZXROYW1lIHwgU2VjcmV0UmVmZXJlbmNlLFxuICAgIC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+XG4gICk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJleGlzdHNcIiwgdHJ1ZSkpLmZvcih0aGlzLmV4aXN0cyk7XG4gICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICBsb2cudmVyYm9zZShgQ2hlY2tpbmcgaWYgc2VjcmV0ICR7bmFtZVN0cn0gZXhpc3RzYCk7XG5cbiAgICBsZXQgbmFtZTogc3RyaW5nO1xuXG4gICAgaWYgKHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWY7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5hbWUgPSBuYW1lT3JSZWYubmFtZTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCB0aGlzLmNsaWVudC5nZXRTZWNyZXQobm9ybWFsaXplZE5hbWUpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yO1xuICAgICAgaWYgKFxuICAgICAgICBlcnIubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8XG4gICAgICAgIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbGlzdChcbiAgICBvcHRpb25zOiBMaXN0U2VjcmV0c09wdGlvbnMgPSB7fSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPFNlY3JldE1ldGFkYXRhW10+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibGlzdFwiLCB0cnVlKSkuZm9yKHRoaXMubGlzdCk7XG4gICAgbG9nLnZlcmJvc2UoXCJMaXN0aW5nIHNlY3JldHNcIik7XG5cbiAgICBjb25zdCByZXN1bHQ6IFNlY3JldE1ldGFkYXRhW10gPSBbXTtcbiAgICBjb25zdCBzZWFyY2ggPSB0aGlzLmNsaWVudC5saXN0UHJvcGVydGllc09mU2VjcmV0cygpO1xuXG4gICAgbGV0IGNvdW50ID0gMDtcbiAgICBjb25zdCBsaW1pdCA9IG9wdGlvbnMubGltaXQgPz8gSW5maW5pdHk7XG4gICAgY29uc3Qgb2Zmc2V0ID0gb3B0aW9ucy5vZmZzZXQgPz8gMDtcblxuICAgIGZvciBhd2FpdCAoY29uc3Qgc2VjcmV0UHJvcGVydGllcyBvZiBzZWFyY2gpIHtcbiAgICAgIGlmICghc2VjcmV0UHJvcGVydGllcy5uYW1lKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAoY291bnQgPCBvZmZzZXQpIHtcbiAgICAgICAgY291bnQrKztcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXN1bHQubGVuZ3RoID49IGxpbWl0KSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgIHByb3ZpZGVyOiB0aGlzLnByb3ZpZGVyLFxuICAgICAgICBuYW1lOiBzZWNyZXRQcm9wZXJ0aWVzLm5hbWUsXG4gICAgICAgIHZlcnNpb246IHNlY3JldFByb3BlcnRpZXMudmVyc2lvbixcbiAgICAgICAgY3JlYXRlZEF0OiBzZWNyZXRQcm9wZXJ0aWVzLm5vdEJlZm9yZSxcbiAgICAgICAgdXBkYXRlZEF0OiBzZWNyZXRQcm9wZXJ0aWVzLmV4cGlyZXNPbixcbiAgICAgICAgZW5hYmxlZDogc2VjcmV0UHJvcGVydGllcy5lbmFibGVkID8/IHRydWUsXG4gICAgICAgIHVyaTogc2VjcmV0UHJvcGVydGllcy5pZCxcbiAgICAgIH0pO1xuXG4gICAgICBjb3VudCsrO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBhc3luYyBtZXRhZGF0YShcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxTZWNyZXRNZXRhZGF0YSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJtZXRhZGF0YVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5tZXRhZGF0YVxuICAgICk7XG4gICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICBsb2cudmVyYm9zZShgR2V0dGluZyBtZXRhZGF0YSBmb3Igc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LmdldFNlY3JldChub3JtYWxpemVkTmFtZSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgbmFtZTogcmVzdWx0Lm5hbWUsXG4gICAgICAgIHZlcnNpb246IHJlc3VsdC5wcm9wZXJ0aWVzLnZlcnNpb24sXG4gICAgICAgIGNyZWF0ZWRBdDogcmVzdWx0LnByb3BlcnRpZXMubm90QmVmb3JlLFxuICAgICAgICB1cGRhdGVkQXQ6IHJlc3VsdC5wcm9wZXJ0aWVzLmV4cGlyZXNPbixcbiAgICAgICAgZW5hYmxlZDogcmVzdWx0LnByb3BlcnRpZXMuZW5hYmxlZCA/PyB0cnVlLFxuICAgICAgICB1cmk6IHJlc3VsdC5wcm9wZXJ0aWVzLmlkLFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgICBpZiAoXG4gICAgICAgIGVyci5tZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHxcbiAgICAgICAgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIilcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHBhcnNlRXJyb3IoZXJyb3I6IHVua25vd24pOiBFcnJvciB7XG4gICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgY29uc3QgbWVzc2FnZSA9IGVyci5tZXNzYWdlIHx8IGVyci5uYW1lIHx8IFwiVW5rbm93biBlcnJvclwiO1xuICAgIGNvbnN0IGxvd2VyTWVzc2FnZSA9IG1lc3NhZ2UudG9Mb3dlckNhc2UoKTtcblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiYWxyZWFkeSBleGlzdHNcIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImNvbmZsaWN0XCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDlcIilcbiAgICApIHtcbiAgICAgIHJldHVybiBuZXcgQ29uZmxpY3RFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiZGlzYWJsZWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAzXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuXG4gICAgaWYgKGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInVuYXV0aG9yaXplZFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDFcIikpIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwicGVybWlzc2lvblwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDNcIikpIHtcbiAgICAgIHJldHVybiBuZXcgTm90Rm91bmRFcnJvcihtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwicmF0ZSBsaW1pdFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MjlcIikpIHtcbiAgICAgIHJldHVybiBuZXcgQmFkUmVxdWVzdEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInByb3ZpZGVyXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJ1bmF2YWlsYWJsZVwiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiY29ubmVjdGlvblwiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidGltZW91dFwiKVxuICAgICkge1xuICAgICAgcmV0dXJuIG5ldyBJbnRlcm5hbEVycm9yKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgSW50ZXJuYWxFcnJvcihtZXNzYWdlKTtcbiAgfVxufVxuIl19
|
|
255
|
+
//# sourceMappingURL=AzureKeyVaultSecretService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AzureKeyVaultSecretService.js","sourceRoot":"","sources":["../../../../src/secrets/azure/AzureKeyVaultSecretService.ts"],"names":[],"mappings":"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"}
|