@decaf-ts/integrations 0.14.2 → 0.14.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/README.md +11 -1
- package/dist/integrations.cjs +3317 -2
- package/dist/integrations.js +3665 -2
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/azure/index.cjs +2 -2
- package/lib/cjs/blob/core/BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
- package/lib/cjs/blob/core/BlobKey.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
- package/lib/cjs/blob/core/BlobValue.cjs +2 -2
- package/lib/cjs/blob/core/index.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/gcp/index.cjs +2 -2
- package/lib/cjs/blob/index.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/local/index.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/memory/index.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/index.cjs +2 -2
- package/lib/cjs/calendar/CalendarService.cjs +2 -2
- package/lib/cjs/calendar/environment.cjs +2 -2
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs +2 -2
- package/lib/cjs/calendar/google-calendar/index.cjs +2 -2
- package/lib/cjs/calendar/index.cjs +2 -2
- package/lib/cjs/calendar/types.cjs +2 -2
- package/lib/cjs/calendar/validators/cron.cjs +2 -2
- package/lib/cjs/calendar/writers/CalendarFsWriter.cjs +2 -2
- package/lib/cjs/calendar/writers/CalenderDownloader.cjs +2 -2
- package/lib/cjs/calendar/writers/ICalendarWriter.cjs +2 -2
- package/lib/cjs/comms/discord/DiscordService.cjs +2 -2
- package/lib/cjs/comms/discord/index.cjs +2 -2
- package/lib/cjs/comms/email/EmailService.cjs +2 -2
- package/lib/cjs/comms/email/index.cjs +2 -2
- package/lib/cjs/comms/email/mime.cjs +2 -2
- package/lib/cjs/comms/email/smtp.cjs +2 -2
- package/lib/cjs/comms/environment.cjs +2 -2
- package/lib/cjs/comms/gmail/GmailService.cjs +2 -2
- package/lib/cjs/comms/gmail/index.cjs +2 -2
- package/lib/cjs/comms/index.cjs +2 -2
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs +2 -2
- package/lib/cjs/comms/outlook/index.cjs +2 -2
- package/lib/cjs/comms/slack/SlackService.cjs +2 -2
- package/lib/cjs/comms/slack/index.cjs +2 -2
- package/lib/cjs/comms/teams/TeamsService.cjs +2 -2
- package/lib/cjs/comms/teams/index.cjs +2 -2
- package/lib/cjs/comms/telegram/TelegramService.cjs +2 -2
- package/lib/cjs/comms/telegram/index.cjs +2 -2
- package/lib/cjs/comms/whatsapp/WhatsAppService.cjs +2 -2
- package/lib/cjs/comms/whatsapp/index.cjs +2 -2
- package/lib/cjs/devops/environment.cjs +2 -2
- package/lib/cjs/devops/github/GithubService.cjs +2 -2
- package/lib/cjs/devops/github/index.cjs +2 -2
- package/lib/cjs/devops/gitlab/GitlabService.cjs +2 -2
- package/lib/cjs/devops/gitlab/index.cjs +2 -2
- package/lib/cjs/devops/index.cjs +2 -2
- package/lib/cjs/docker/DockerComposeService.cjs +2 -2
- package/lib/cjs/docker/index.cjs +2 -2
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs +2 -2
- package/lib/cjs/feature-flags/constants.cjs +2 -2
- package/lib/cjs/feature-flags/decorators.cjs +2 -2
- package/lib/cjs/feature-flags/environment.cjs +2 -2
- package/lib/cjs/feature-flags/index.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs +2 -2
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs +2 -2
- package/lib/cjs/feature-flags/readers/index.cjs +2 -2
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs +2 -2
- package/lib/cjs/feature-flags/types.cjs +2 -2
- package/lib/cjs/feature-flags/utils.cjs +2 -2
- package/lib/cjs/index.cjs +5 -5
- package/lib/cjs/io/airtable/AirtableService.cjs +2 -2
- package/lib/cjs/io/airtable/index.cjs +2 -2
- package/lib/cjs/io/confluence/ConfluenceService.cjs +2 -2
- package/lib/cjs/io/confluence/index.cjs +2 -2
- package/lib/cjs/io/environment.cjs +2 -2
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs +2 -2
- package/lib/cjs/io/google-docs/index.cjs +2 -2
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs +2 -2
- package/lib/cjs/io/google-sheets/index.cjs +2 -2
- package/lib/cjs/io/graphql/GraphqlService.cjs +2 -2
- package/lib/cjs/io/graphql/index.cjs +2 -2
- package/lib/cjs/io/index.cjs +2 -2
- package/lib/cjs/io/jira/JiraService.cjs +2 -2
- package/lib/cjs/io/jira/index.cjs +2 -2
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs +2 -2
- package/lib/cjs/io/microsoft-excel/index.cjs +2 -2
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs +2 -2
- package/lib/cjs/io/microsoft-sharepoint/index.cjs +2 -2
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs +2 -2
- package/lib/cjs/io/spreadsheet/index.cjs +2 -2
- package/lib/cjs/keycloak/broker.cjs +2 -2
- package/lib/cjs/keycloak/index.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
- package/lib/cjs/keycloak/services/index.cjs +2 -2
- package/lib/cjs/keycloak/services/runtime.cjs +2 -2
- package/lib/cjs/keycloak/types.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs +2 -2
- package/lib/cjs/kibana/builders/index.cjs +2 -2
- package/lib/cjs/kibana/helpers.cjs +2 -2
- package/lib/cjs/kibana/index.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
- package/lib/cjs/kibana/services/index.cjs +2 -2
- package/lib/cjs/kibana/services/runtime.cjs +2 -2
- package/lib/cjs/kibana/types.cjs +2 -2
- package/lib/cjs/loader/ObjectLoader.cjs +2 -2
- package/lib/cjs/loader/assets.cjs +2 -2
- package/lib/cjs/loader/config.cjs +2 -2
- package/lib/cjs/loader/families.cjs +2 -2
- package/lib/cjs/loader/index.cjs +2 -2
- package/lib/cjs/loader/nest.cjs +2 -2
- package/lib/cjs/loader/types.cjs +2 -2
- package/lib/cjs/namespaces/index.cjs +2 -2
- package/lib/cjs/namespaces/models/authorization-model.cjs +2 -2
- package/lib/cjs/namespaces/models/credential.model.cjs +2 -2
- package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group.model.cjs +2 -2
- package/lib/cjs/namespaces/models/index.cjs +2 -2
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -2
- package/lib/cjs/namespaces/models/permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/principal.model.cjs +2 -2
- package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -2
- package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role.model.cjs +2 -2
- package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/user.model.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +2 -2
- package/lib/cjs/namespaces/rls/index.cjs +2 -2
- package/lib/cjs/namespaces/rls/principal-resolver.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.constants.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.template.cjs +2 -2
- package/lib/cjs/namespaces/rls/rls.types.cjs +2 -2
- package/lib/cjs/namespaces/rls/session-binding.cjs +2 -2
- package/lib/cjs/namespaces/services/authz.service.cjs +2 -2
- package/lib/cjs/namespaces/services/bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/services/credential.service.cjs +2 -2
- package/lib/cjs/namespaces/services/effective-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group.service.cjs +2 -2
- package/lib/cjs/namespaces/services/index.cjs +2 -2
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit.service.cjs +2 -2
- package/lib/cjs/namespaces/services/permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/principal.service.cjs +2 -2
- package/lib/cjs/namespaces/services/protected-resource.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-grant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-assignment.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role.service.cjs +2 -2
- package/lib/cjs/namespaces/services/storage-binding.service.cjs +2 -2
- package/lib/cjs/namespaces/services/system-management.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/user.service.cjs +2 -2
- package/lib/cjs/namespaces/types.cjs +2 -2
- package/lib/cjs/namespaces/utils.cjs +2 -2
- package/lib/cjs/nest/decorators.cjs +2 -2
- package/lib/cjs/nest/index.cjs +2 -2
- package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
- package/lib/cjs/nest/keycloakModule.cjs +2 -2
- package/lib/cjs/nest/logging.cjs +2 -2
- package/lib/cjs/nest/types.cjs +2 -2
- package/lib/cjs/nest/utils.cjs +2 -2
- package/lib/cjs/plugins/contract.cjs +2 -2
- package/lib/cjs/plugins/index.cjs +2 -2
- package/lib/cjs/plugins/kibana/host.cjs +2 -2
- package/lib/cjs/plugins/kibana/index.cjs +2 -2
- package/lib/cjs/plugins/kibana/installer.cjs +2 -2
- package/lib/cjs/plugins/kibana/manifest.cjs +2 -2
- package/lib/cjs/plugins/kibana/templates.cjs +2 -2
- package/lib/cjs/plugins/kibana/types.cjs +2 -2
- package/lib/cjs/plugins/superset/host.cjs +2 -2
- package/lib/cjs/plugins/superset/index.cjs +2 -2
- package/lib/cjs/plugins/superset/installer.cjs +2 -2
- package/lib/cjs/plugins/superset/manifest.cjs +2 -2
- package/lib/cjs/plugins/superset/templates.cjs +2 -2
- package/lib/cjs/plugins/superset/types.cjs +2 -2
- package/lib/cjs/redis/RedisContextLock.cjs +2 -2
- package/lib/cjs/redis/RedisDispatch.cjs +2 -2
- package/lib/cjs/redis/RedisPaginator.cjs +2 -2
- package/lib/cjs/redis/RedisStatement.cjs +2 -2
- package/lib/cjs/redis/adapter.cjs +2 -2
- package/lib/cjs/redis/constants.cjs +2 -2
- package/lib/cjs/redis/handlers.cjs +2 -2
- package/lib/cjs/redis/index.cjs +2 -2
- package/lib/cjs/redis/serialization.cjs +2 -2
- package/lib/cjs/redis/types.cjs +2 -2
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/aws/index.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/azure/index.cjs +2 -2
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
- package/lib/cjs/secrets/core/SecretName.cjs +2 -2
- package/lib/cjs/secrets/core/SecretReference.cjs +3 -2
- package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
- package/lib/cjs/secrets/core/SecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
- package/lib/cjs/secrets/core/index.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretService.cjs +2 -2
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/fs/index.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/gcp/index.cjs +2 -2
- package/lib/cjs/secrets/index.cjs +2 -2
- package/lib/cjs/secrets/kubernetes/KubernetesSecretEnvironment.cjs +34 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretService.cjs +479 -0
- package/lib/cjs/secrets/kubernetes/KubernetesSecretServiceConfig.cjs +4 -0
- package/lib/cjs/secrets/kubernetes/index.cjs +27 -0
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/model/Secret.cjs +2 -2
- package/lib/cjs/secrets/model/index.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/onepassword/index.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/vault/index.cjs +2 -2
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/aws/AwsSftpService.cjs +2 -2
- package/lib/cjs/sftp/aws/index.cjs +2 -2
- package/lib/cjs/sftp/core/SftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/core/SftpSource.cjs +2 -2
- package/lib/cjs/sftp/core/index.cjs +2 -2
- package/lib/cjs/sftp/index.cjs +2 -2
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs +2 -2
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs +2 -2
- package/lib/cjs/sftp/ssh2/index.cjs +2 -2
- package/lib/cjs/shared/environmentValue.cjs +2 -2
- package/lib/cjs/shared/http/HttpApiService.cjs +2 -2
- package/lib/cjs/shared/http/hermeticBoot.cjs +2 -2
- package/lib/cjs/shared/http/index.cjs +2 -2
- package/lib/cjs/shared/runtime.cjs +2 -2
- package/lib/cjs/user-requests/index.cjs +2 -2
- package/lib/cjs/utils.cjs +2 -2
- package/lib/esm/blob/azure/AzureBlobEnvironment.js +1 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
- package/lib/esm/blob/azure/index.js +1 -1
- package/lib/esm/blob/core/BlobEnvironment.js +1 -1
- package/lib/esm/blob/core/BlobErrors.js +1 -1
- package/lib/esm/blob/core/BlobKey.js +1 -1
- package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
- package/lib/esm/blob/core/BlobStoreService.js +1 -1
- package/lib/esm/blob/core/BlobTypes.js +1 -1
- package/lib/esm/blob/core/BlobValue.js +1 -1
- package/lib/esm/blob/core/index.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
- package/lib/esm/blob/gcp/index.js +1 -1
- package/lib/esm/blob/index.js +1 -1
- package/lib/esm/blob/local/LocalBlobEnvironment.js +1 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
- package/lib/esm/blob/local/index.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
- package/lib/esm/blob/memory/index.js +1 -1
- package/lib/esm/blob/s3/MinioBlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/R2BlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3BlobEnvironment.js +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/index.js +1 -1
- package/lib/esm/calendar/CalendarService.js +1 -1
- package/lib/esm/calendar/environment.js +1 -1
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js +1 -1
- package/lib/esm/calendar/google-calendar/index.js +1 -1
- package/lib/esm/calendar/index.js +1 -1
- package/lib/esm/calendar/types.js +1 -1
- package/lib/esm/calendar/validators/cron.js +1 -1
- package/lib/esm/calendar/writers/CalendarFsWriter.js +1 -1
- package/lib/esm/calendar/writers/CalenderDownloader.js +1 -1
- package/lib/esm/calendar/writers/ICalendarWriter.js +1 -1
- package/lib/esm/comms/discord/DiscordService.js +1 -1
- package/lib/esm/comms/discord/index.js +1 -1
- package/lib/esm/comms/email/EmailService.js +1 -1
- package/lib/esm/comms/email/index.js +1 -1
- package/lib/esm/comms/email/mime.js +1 -1
- package/lib/esm/comms/email/smtp.js +1 -1
- package/lib/esm/comms/environment.js +1 -1
- package/lib/esm/comms/gmail/GmailService.js +1 -1
- package/lib/esm/comms/gmail/index.js +1 -1
- package/lib/esm/comms/index.js +1 -1
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js +1 -1
- package/lib/esm/comms/outlook/index.js +1 -1
- package/lib/esm/comms/slack/SlackService.js +1 -1
- package/lib/esm/comms/slack/index.js +1 -1
- package/lib/esm/comms/teams/TeamsService.js +1 -1
- package/lib/esm/comms/teams/index.js +1 -1
- package/lib/esm/comms/telegram/TelegramService.js +1 -1
- package/lib/esm/comms/telegram/index.js +1 -1
- package/lib/esm/comms/whatsapp/WhatsAppService.js +1 -1
- package/lib/esm/comms/whatsapp/index.js +1 -1
- package/lib/esm/devops/environment.js +1 -1
- package/lib/esm/devops/github/GithubService.js +1 -1
- package/lib/esm/devops/github/index.js +1 -1
- package/lib/esm/devops/gitlab/GitlabService.js +1 -1
- package/lib/esm/devops/gitlab/index.js +1 -1
- package/lib/esm/devops/index.js +1 -1
- package/lib/esm/docker/DockerComposeService.js +1 -1
- package/lib/esm/docker/index.js +1 -1
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js +1 -1
- package/lib/esm/feature-flags/constants.js +1 -1
- package/lib/esm/feature-flags/decorators.js +1 -1
- package/lib/esm/feature-flags/environment.js +1 -1
- package/lib/esm/feature-flags/index.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlag.model.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js +1 -1
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js +1 -1
- package/lib/esm/feature-flags/readers/index.js +1 -1
- package/lib/esm/feature-flags/services/FeatureFlag.service.js +1 -1
- package/lib/esm/feature-flags/types.js +1 -1
- package/lib/esm/feature-flags/utils.js +1 -1
- package/lib/esm/index.js +4 -4
- package/lib/esm/io/airtable/AirtableService.js +1 -1
- package/lib/esm/io/airtable/index.js +1 -1
- package/lib/esm/io/confluence/ConfluenceService.js +1 -1
- package/lib/esm/io/confluence/index.js +1 -1
- package/lib/esm/io/environment.js +1 -1
- package/lib/esm/io/google-docs/GoogleDocsService.js +1 -1
- package/lib/esm/io/google-docs/index.js +1 -1
- package/lib/esm/io/google-sheets/GoogleSheetsService.js +1 -1
- package/lib/esm/io/google-sheets/index.js +1 -1
- package/lib/esm/io/graphql/GraphqlService.js +1 -1
- package/lib/esm/io/graphql/index.js +1 -1
- package/lib/esm/io/index.js +1 -1
- package/lib/esm/io/jira/JiraService.js +1 -1
- package/lib/esm/io/jira/index.js +1 -1
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js +1 -1
- package/lib/esm/io/microsoft-excel/index.js +1 -1
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js +1 -1
- package/lib/esm/io/microsoft-sharepoint/index.js +1 -1
- package/lib/esm/io/spreadsheet/SpreadsheetService.js +1 -1
- package/lib/esm/io/spreadsheet/index.js +1 -1
- package/lib/esm/keycloak/broker.js +1 -1
- package/lib/esm/keycloak/index.js +1 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
- package/lib/esm/keycloak/services/index.js +1 -1
- package/lib/esm/keycloak/services/runtime.js +1 -1
- package/lib/esm/keycloak/types.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js +1 -1
- package/lib/esm/kibana/builders/index.js +1 -1
- package/lib/esm/kibana/helpers.js +1 -1
- package/lib/esm/kibana/index.js +1 -1
- package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
- package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
- package/lib/esm/kibana/services/KibanaService.js +1 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
- package/lib/esm/kibana/services/KibanaUserService.js +1 -1
- package/lib/esm/kibana/services/index.js +1 -1
- package/lib/esm/kibana/services/runtime.js +1 -1
- package/lib/esm/kibana/types.js +1 -1
- package/lib/esm/loader/ObjectLoader.js +1 -1
- package/lib/esm/loader/assets.js +1 -1
- package/lib/esm/loader/config.js +1 -1
- package/lib/esm/loader/families.js +1 -1
- package/lib/esm/loader/index.js +1 -1
- package/lib/esm/loader/nest.js +1 -1
- package/lib/esm/loader/types.js +1 -1
- package/lib/esm/namespaces/index.js +1 -1
- package/lib/esm/namespaces/models/authorization-model.js +1 -1
- package/lib/esm/namespaces/models/credential.model.js +1 -1
- package/lib/esm/namespaces/models/effective-permission.model.js +1 -1
- package/lib/esm/namespaces/models/group-membership.model.js +1 -1
- package/lib/esm/namespaces/models/group.model.js +1 -1
- package/lib/esm/namespaces/models/index.js +1 -1
- package/lib/esm/namespaces/models/inheritance-block.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-closure.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-membership.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-profile.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit.model.js +1 -1
- package/lib/esm/namespaces/models/permission.model.js +1 -1
- package/lib/esm/namespaces/models/principal.model.js +1 -1
- package/lib/esm/namespaces/models/protected-resource.model.js +1 -1
- package/lib/esm/namespaces/models/resource-grant.model.js +1 -1
- package/lib/esm/namespaces/models/role-assignment.model.js +1 -1
- package/lib/esm/namespaces/models/role-permission.model.js +1 -1
- package/lib/esm/namespaces/models/role.model.js +1 -1
- package/lib/esm/namespaces/models/storage-binding.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-membership.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-profile.model.js +1 -1
- package/lib/esm/namespaces/models/tenant.model.js +1 -1
- package/lib/esm/namespaces/models/user.model.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.models.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.services.js +1 -1
- package/lib/esm/namespaces/rls/index.js +1 -1
- package/lib/esm/namespaces/rls/principal-resolver.js +1 -1
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js +1 -1
- package/lib/esm/namespaces/rls/rls.constants.js +1 -1
- package/lib/esm/namespaces/rls/rls.template.js +1 -1
- package/lib/esm/namespaces/rls/rls.types.js +1 -1
- package/lib/esm/namespaces/rls/session-binding.js +1 -1
- package/lib/esm/namespaces/services/authz.service.js +1 -1
- package/lib/esm/namespaces/services/bootstrap.service.js +1 -1
- package/lib/esm/namespaces/services/credential.service.js +1 -1
- package/lib/esm/namespaces/services/effective-permission.service.js +1 -1
- package/lib/esm/namespaces/services/group-membership.service.js +1 -1
- package/lib/esm/namespaces/services/group.service.js +1 -1
- package/lib/esm/namespaces/services/index.js +1 -1
- package/lib/esm/namespaces/services/inheritance-block.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-closure.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-membership.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-profile.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit.service.js +1 -1
- package/lib/esm/namespaces/services/permission.service.js +1 -1
- package/lib/esm/namespaces/services/principal.service.js +1 -1
- package/lib/esm/namespaces/services/protected-resource.service.js +1 -1
- package/lib/esm/namespaces/services/resource-grant.service.js +1 -1
- package/lib/esm/namespaces/services/resource-lifecycle.service.js +1 -1
- package/lib/esm/namespaces/services/role-assignment.service.js +1 -1
- package/lib/esm/namespaces/services/role-permission.service.js +1 -1
- package/lib/esm/namespaces/services/role.service.js +1 -1
- package/lib/esm/namespaces/services/storage-binding.service.js +1 -1
- package/lib/esm/namespaces/services/system-management.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-membership.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-profile.service.js +1 -1
- package/lib/esm/namespaces/services/tenant.service.js +1 -1
- package/lib/esm/namespaces/services/user.service.js +1 -1
- package/lib/esm/namespaces/types.js +1 -1
- package/lib/esm/namespaces/utils.js +1 -1
- package/lib/esm/nest/decorators.js +1 -1
- package/lib/esm/nest/index.js +1 -1
- package/lib/esm/nest/keycloakAuthHandler.js +1 -1
- package/lib/esm/nest/keycloakModule.js +1 -1
- package/lib/esm/nest/logging.js +1 -1
- package/lib/esm/nest/types.js +1 -1
- package/lib/esm/nest/utils.js +1 -1
- package/lib/esm/plugins/contract.js +1 -1
- package/lib/esm/plugins/index.js +1 -1
- package/lib/esm/plugins/kibana/host.js +1 -1
- package/lib/esm/plugins/kibana/index.js +1 -1
- package/lib/esm/plugins/kibana/installer.js +1 -1
- package/lib/esm/plugins/kibana/manifest.js +1 -1
- package/lib/esm/plugins/kibana/templates.js +1 -1
- package/lib/esm/plugins/kibana/types.js +1 -1
- package/lib/esm/plugins/superset/host.js +1 -1
- package/lib/esm/plugins/superset/index.js +1 -1
- package/lib/esm/plugins/superset/installer.js +1 -1
- package/lib/esm/plugins/superset/manifest.js +1 -1
- package/lib/esm/plugins/superset/templates.js +1 -1
- package/lib/esm/plugins/superset/types.js +1 -1
- package/lib/esm/redis/RedisContextLock.js +1 -1
- package/lib/esm/redis/RedisDispatch.js +1 -1
- package/lib/esm/redis/RedisPaginator.js +1 -1
- package/lib/esm/redis/RedisStatement.js +1 -1
- package/lib/esm/redis/adapter.js +1 -1
- package/lib/esm/redis/constants.js +1 -1
- package/lib/esm/redis/handlers.js +1 -1
- package/lib/esm/redis/index.js +1 -1
- package/lib/esm/redis/serialization.js +1 -1
- package/lib/esm/redis/types.js +1 -1
- package/lib/esm/secrets/InfraCredentialBootstrap.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/aws/index.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js +1 -1
- package/lib/esm/secrets/azure/index.js +1 -1
- package/lib/esm/secrets/core/ClientBasedSecretService.js +1 -1
- package/lib/esm/secrets/core/SecretEnvironment.js +1 -1
- package/lib/esm/secrets/core/SecretErrors.js +1 -1
- package/lib/esm/secrets/core/SecretName.js +1 -1
- package/lib/esm/secrets/core/SecretReference.js +2 -1
- package/lib/esm/secrets/core/SecretSerialization.js +1 -1
- package/lib/esm/secrets/core/SecretService.js +1 -1
- package/lib/esm/secrets/core/SecretTypes.js +1 -1
- package/lib/esm/secrets/core/index.js +1 -1
- package/lib/esm/secrets/fs/FsSecretEnvironment.js +1 -1
- package/lib/esm/secrets/fs/FsSecretService.js +1 -1
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/fs/index.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
- package/lib/esm/secrets/gcp/index.js +1 -1
- package/lib/esm/secrets/index.js +1 -1
- package/lib/esm/secrets/kubernetes/KubernetesSecretEnvironment.js +30 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretService.js +474 -0
- package/lib/esm/secrets/kubernetes/KubernetesSecretServiceConfig.js +9 -0
- package/lib/esm/secrets/kubernetes/index.js +10 -0
- package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
- package/lib/esm/secrets/model/ModelSecretEnvironment.js +1 -1
- package/lib/esm/secrets/model/ModelSecretService.js +1 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/model/Secret.js +1 -1
- package/lib/esm/secrets/model/index.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/onepassword/index.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/vault/index.js +1 -1
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js +1 -1
- package/lib/esm/sftp/aws/AwsSftpService.js +1 -1
- package/lib/esm/sftp/aws/index.js +1 -1
- package/lib/esm/sftp/core/SftpEnvironment.js +1 -1
- package/lib/esm/sftp/core/SftpSource.js +1 -1
- package/lib/esm/sftp/core/index.js +1 -1
- package/lib/esm/sftp/index.js +1 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js +1 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js +1 -1
- package/lib/esm/sftp/ssh2/index.js +1 -1
- package/lib/esm/shared/environmentValue.js +1 -1
- package/lib/esm/shared/http/HttpApiService.js +1 -1
- package/lib/esm/shared/http/hermeticBoot.js +1 -1
- package/lib/esm/shared/http/index.js +1 -1
- package/lib/esm/shared/runtime.js +1 -1
- package/lib/esm/user-requests/index.js +1 -1
- package/lib/esm/utils.js +1 -1
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/secrets/core/SecretTypes.d.cts +13 -1
- package/lib/types/secrets/core/SecretTypes.d.mts +13 -1
- package/lib/types/secrets/kubernetes/KubernetesSecretEnvironment.d.cts +34 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretEnvironment.d.mts +34 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretService.d.cts +45 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretService.d.mts +45 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretServiceConfig.d.cts +49 -0
- package/lib/types/secrets/kubernetes/KubernetesSecretServiceConfig.d.mts +49 -0
- package/lib/types/secrets/kubernetes/index.d.cts +9 -0
- package/lib/types/secrets/kubernetes/index.d.mts +9 -0
- package/package.json +18 -1
- package/dist/integrations.cjs.map +0 -1
- package/dist/integrations.js.map +0 -1
- package/lib/cjs/blob/azure/AzureBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/azure/index.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobErrors.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobKey.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobTypes.cjs.map +0 -1
- package/lib/cjs/blob/core/BlobValue.cjs.map +0 -1
- package/lib/cjs/blob/core/index.cjs.map +0 -1
- package/lib/cjs/blob/gcp/GcsBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/gcp/index.cjs.map +0 -1
- package/lib/cjs/blob/index.cjs.map +0 -1
- package/lib/cjs/blob/local/LocalBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/local/index.cjs.map +0 -1
- package/lib/cjs/blob/memory/MemoryBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/memory/index.cjs.map +0 -1
- package/lib/cjs/blob/s3/MinioBlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/R2BlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/S3BlobEnvironment.cjs.map +0 -1
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/S3CompatibleBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/index.cjs.map +0 -1
- package/lib/cjs/calendar/CalendarService.cjs.map +0 -1
- package/lib/cjs/calendar/environment.cjs.map +0 -1
- package/lib/cjs/calendar/google-calendar/GoogleCalendarService.cjs.map +0 -1
- package/lib/cjs/calendar/google-calendar/index.cjs.map +0 -1
- package/lib/cjs/calendar/index.cjs.map +0 -1
- package/lib/cjs/calendar/types.cjs.map +0 -1
- package/lib/cjs/calendar/validators/cron.cjs.map +0 -1
- package/lib/cjs/calendar/writers/CalendarFsWriter.cjs.map +0 -1
- package/lib/cjs/calendar/writers/CalenderDownloader.cjs.map +0 -1
- package/lib/cjs/calendar/writers/ICalendarWriter.cjs.map +0 -1
- package/lib/cjs/comms/discord/DiscordService.cjs.map +0 -1
- package/lib/cjs/comms/discord/index.cjs.map +0 -1
- package/lib/cjs/comms/email/EmailService.cjs.map +0 -1
- package/lib/cjs/comms/email/index.cjs.map +0 -1
- package/lib/cjs/comms/email/mime.cjs.map +0 -1
- package/lib/cjs/comms/email/smtp.cjs.map +0 -1
- package/lib/cjs/comms/environment.cjs.map +0 -1
- package/lib/cjs/comms/gmail/GmailService.cjs.map +0 -1
- package/lib/cjs/comms/gmail/index.cjs.map +0 -1
- package/lib/cjs/comms/index.cjs.map +0 -1
- package/lib/cjs/comms/outlook/MicrosoftOutlookService.cjs.map +0 -1
- package/lib/cjs/comms/outlook/index.cjs.map +0 -1
- package/lib/cjs/comms/slack/SlackService.cjs.map +0 -1
- package/lib/cjs/comms/slack/index.cjs.map +0 -1
- package/lib/cjs/comms/teams/TeamsService.cjs.map +0 -1
- package/lib/cjs/comms/teams/index.cjs.map +0 -1
- package/lib/cjs/comms/telegram/TelegramService.cjs.map +0 -1
- package/lib/cjs/comms/telegram/index.cjs.map +0 -1
- package/lib/cjs/comms/whatsapp/WhatsAppService.cjs.map +0 -1
- package/lib/cjs/comms/whatsapp/index.cjs.map +0 -1
- package/lib/cjs/devops/environment.cjs.map +0 -1
- package/lib/cjs/devops/github/GithubService.cjs.map +0 -1
- package/lib/cjs/devops/github/index.cjs.map +0 -1
- package/lib/cjs/devops/gitlab/GitlabService.cjs.map +0 -1
- package/lib/cjs/devops/gitlab/index.cjs.map +0 -1
- package/lib/cjs/devops/index.cjs.map +0 -1
- package/lib/cjs/docker/DockerComposeService.cjs.map +0 -1
- package/lib/cjs/docker/index.cjs.map +0 -1
- package/lib/cjs/feature-flags/EngineCapabilityFeatureFlag.service.cjs.map +0 -1
- package/lib/cjs/feature-flags/constants.cjs.map +0 -1
- package/lib/cjs/feature-flags/decorators.cjs.map +0 -1
- package/lib/cjs/feature-flags/environment.cjs.map +0 -1
- package/lib/cjs/feature-flags/index.cjs.map +0 -1
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs.map +0 -1
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs.map +0 -1
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs.map +0 -1
- package/lib/cjs/feature-flags/readers/index.cjs.map +0 -1
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs.map +0 -1
- package/lib/cjs/feature-flags/types.cjs.map +0 -1
- package/lib/cjs/feature-flags/utils.cjs.map +0 -1
- package/lib/cjs/index.cjs.map +0 -1
- package/lib/cjs/io/airtable/AirtableService.cjs.map +0 -1
- package/lib/cjs/io/airtable/index.cjs.map +0 -1
- package/lib/cjs/io/confluence/ConfluenceService.cjs.map +0 -1
- package/lib/cjs/io/confluence/index.cjs.map +0 -1
- package/lib/cjs/io/environment.cjs.map +0 -1
- package/lib/cjs/io/google-docs/GoogleDocsService.cjs.map +0 -1
- package/lib/cjs/io/google-docs/index.cjs.map +0 -1
- package/lib/cjs/io/google-sheets/GoogleSheetsService.cjs.map +0 -1
- package/lib/cjs/io/google-sheets/index.cjs.map +0 -1
- package/lib/cjs/io/graphql/GraphqlService.cjs.map +0 -1
- package/lib/cjs/io/graphql/index.cjs.map +0 -1
- package/lib/cjs/io/index.cjs.map +0 -1
- package/lib/cjs/io/jira/JiraService.cjs.map +0 -1
- package/lib/cjs/io/jira/index.cjs.map +0 -1
- package/lib/cjs/io/microsoft-excel/MicrosoftExcelService.cjs.map +0 -1
- package/lib/cjs/io/microsoft-excel/index.cjs.map +0 -1
- package/lib/cjs/io/microsoft-sharepoint/MicrosoftSharePointService.cjs.map +0 -1
- package/lib/cjs/io/microsoft-sharepoint/index.cjs.map +0 -1
- package/lib/cjs/io/spreadsheet/SpreadsheetService.cjs.map +0 -1
- package/lib/cjs/io/spreadsheet/index.cjs.map +0 -1
- package/lib/cjs/keycloak/broker.cjs.map +0 -1
- package/lib/cjs/keycloak/index.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +0 -1
- package/lib/cjs/keycloak/services/index.cjs.map +0 -1
- package/lib/cjs/keycloak/services/runtime.cjs.map +0 -1
- package/lib/cjs/keycloak/types.cjs.map +0 -1
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs.map +0 -1
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs.map +0 -1
- package/lib/cjs/kibana/builders/index.cjs.map +0 -1
- package/lib/cjs/kibana/helpers.cjs.map +0 -1
- package/lib/cjs/kibana/index.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +0 -1
- package/lib/cjs/kibana/services/KibanaUserService.cjs.map +0 -1
- package/lib/cjs/kibana/services/index.cjs.map +0 -1
- package/lib/cjs/kibana/services/runtime.cjs.map +0 -1
- package/lib/cjs/kibana/types.cjs.map +0 -1
- package/lib/cjs/loader/ObjectLoader.cjs.map +0 -1
- package/lib/cjs/loader/assets.cjs.map +0 -1
- package/lib/cjs/loader/config.cjs.map +0 -1
- package/lib/cjs/loader/families.cjs.map +0 -1
- package/lib/cjs/loader/index.cjs.map +0 -1
- package/lib/cjs/loader/nest.cjs.map +0 -1
- package/lib/cjs/loader/types.cjs.map +0 -1
- package/lib/cjs/namespaces/index.cjs.map +0 -1
- package/lib/cjs/namespaces/models/authorization-model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/credential.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/group-membership.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/group.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/index.cjs.map +0 -1
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/org-unit.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/permission.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/principal.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/role-permission.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/role.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/tenant.model.cjs.map +0 -1
- package/lib/cjs/namespaces/models/user.model.cjs.map +0 -1
- package/lib/cjs/namespaces/org-based-authorization-system.cjs.map +0 -1
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs.map +0 -1
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/index.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/principal-resolver.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls-bootstrap.service.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls.constants.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls.template.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/rls.types.cjs.map +0 -1
- package/lib/cjs/namespaces/rls/session-binding.cjs.map +0 -1
- package/lib/cjs/namespaces/services/authz.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/bootstrap.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/credential.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/effective-permission.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/group-membership.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/group.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/index.cjs.map +0 -1
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/org-unit.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/permission.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/principal.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/protected-resource.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/resource-grant.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/role-assignment.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/role-permission.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/role.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/storage-binding.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/system-management.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/tenant.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/user.service.cjs.map +0 -1
- package/lib/cjs/namespaces/types.cjs.map +0 -1
- package/lib/cjs/namespaces/utils.cjs.map +0 -1
- package/lib/cjs/nest/decorators.cjs.map +0 -1
- package/lib/cjs/nest/index.cjs.map +0 -1
- package/lib/cjs/nest/keycloakAuthHandler.cjs.map +0 -1
- package/lib/cjs/nest/keycloakModule.cjs.map +0 -1
- package/lib/cjs/nest/logging.cjs.map +0 -1
- package/lib/cjs/nest/types.cjs.map +0 -1
- package/lib/cjs/nest/utils.cjs.map +0 -1
- package/lib/cjs/plugins/contract.cjs.map +0 -1
- package/lib/cjs/plugins/index.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/host.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/index.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/installer.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/manifest.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/templates.cjs.map +0 -1
- package/lib/cjs/plugins/kibana/types.cjs.map +0 -1
- package/lib/cjs/plugins/superset/host.cjs.map +0 -1
- package/lib/cjs/plugins/superset/index.cjs.map +0 -1
- package/lib/cjs/plugins/superset/installer.cjs.map +0 -1
- package/lib/cjs/plugins/superset/manifest.cjs.map +0 -1
- package/lib/cjs/plugins/superset/templates.cjs.map +0 -1
- package/lib/cjs/plugins/superset/types.cjs.map +0 -1
- package/lib/cjs/redis/RedisContextLock.cjs.map +0 -1
- package/lib/cjs/redis/RedisDispatch.cjs.map +0 -1
- package/lib/cjs/redis/RedisPaginator.cjs.map +0 -1
- package/lib/cjs/redis/RedisStatement.cjs.map +0 -1
- package/lib/cjs/redis/adapter.cjs.map +0 -1
- package/lib/cjs/redis/constants.cjs.map +0 -1
- package/lib/cjs/redis/handlers.cjs.map +0 -1
- package/lib/cjs/redis/index.cjs.map +0 -1
- package/lib/cjs/redis/serialization.cjs.map +0 -1
- package/lib/cjs/redis/types.cjs.map +0 -1
- package/lib/cjs/secrets/InfraCredentialBootstrap.cjs.map +0 -1
- package/lib/cjs/secrets/aws/AwsSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/aws/index.cjs.map +0 -1
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/azure/AzureSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/azure/index.cjs.map +0 -1
- package/lib/cjs/secrets/core/ClientBasedSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretErrors.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretName.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretReference.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretSerialization.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretService.cjs.map +0 -1
- package/lib/cjs/secrets/core/SecretTypes.cjs.map +0 -1
- package/lib/cjs/secrets/core/index.cjs.map +0 -1
- package/lib/cjs/secrets/fs/FsSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/fs/FsSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/fs/FsSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/fs/index.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/GcpSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/gcp/index.cjs.map +0 -1
- package/lib/cjs/secrets/index.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/model/Secret.cjs.map +0 -1
- package/lib/cjs/secrets/model/index.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/onepassword/index.cjs.map +0 -1
- package/lib/cjs/secrets/vault/VaultSecretEnvironment.cjs.map +0 -1
- package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +0 -1
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +0 -1
- package/lib/cjs/secrets/vault/index.cjs.map +0 -1
- package/lib/cjs/sftp/aws/AwsSftpEnvironment.cjs.map +0 -1
- package/lib/cjs/sftp/aws/AwsSftpService.cjs.map +0 -1
- package/lib/cjs/sftp/aws/index.cjs.map +0 -1
- package/lib/cjs/sftp/core/SftpEnvironment.cjs.map +0 -1
- package/lib/cjs/sftp/core/SftpSource.cjs.map +0 -1
- package/lib/cjs/sftp/core/index.cjs.map +0 -1
- package/lib/cjs/sftp/index.cjs.map +0 -1
- package/lib/cjs/sftp/ssh2/Ssh2SftpEnvironment.cjs.map +0 -1
- package/lib/cjs/sftp/ssh2/Ssh2SftpService.cjs.map +0 -1
- package/lib/cjs/sftp/ssh2/index.cjs.map +0 -1
- package/lib/cjs/shared/environmentValue.cjs.map +0 -1
- package/lib/cjs/shared/http/HttpApiService.cjs.map +0 -1
- package/lib/cjs/shared/http/hermeticBoot.cjs.map +0 -1
- package/lib/cjs/shared/http/index.cjs.map +0 -1
- package/lib/cjs/shared/runtime.cjs.map +0 -1
- package/lib/cjs/user-requests/index.cjs.map +0 -1
- package/lib/cjs/utils.cjs.map +0 -1
- package/lib/esm/blob/azure/AzureBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js.map +0 -1
- package/lib/esm/blob/azure/index.js.map +0 -1
- package/lib/esm/blob/core/BlobEnvironment.js.map +0 -1
- package/lib/esm/blob/core/BlobErrors.js.map +0 -1
- package/lib/esm/blob/core/BlobKey.js.map +0 -1
- package/lib/esm/blob/core/BlobStoreFactory.js.map +0 -1
- package/lib/esm/blob/core/BlobStoreService.js.map +0 -1
- package/lib/esm/blob/core/BlobTypes.js.map +0 -1
- package/lib/esm/blob/core/BlobValue.js.map +0 -1
- package/lib/esm/blob/core/index.js.map +0 -1
- package/lib/esm/blob/gcp/GcsBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +0 -1
- package/lib/esm/blob/gcp/index.js.map +0 -1
- package/lib/esm/blob/index.js.map +0 -1
- package/lib/esm/blob/local/LocalBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js.map +0 -1
- package/lib/esm/blob/local/index.js.map +0 -1
- package/lib/esm/blob/memory/MemoryBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +0 -1
- package/lib/esm/blob/memory/index.js.map +0 -1
- package/lib/esm/blob/s3/MinioBlobEnvironment.js.map +0 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/R2BlobEnvironment.js.map +0 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/S3BlobEnvironment.js.map +0 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/S3CompatibleBlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/index.js.map +0 -1
- package/lib/esm/calendar/CalendarService.js.map +0 -1
- package/lib/esm/calendar/environment.js.map +0 -1
- package/lib/esm/calendar/google-calendar/GoogleCalendarService.js.map +0 -1
- package/lib/esm/calendar/google-calendar/index.js.map +0 -1
- package/lib/esm/calendar/index.js.map +0 -1
- package/lib/esm/calendar/types.js.map +0 -1
- package/lib/esm/calendar/validators/cron.js.map +0 -1
- package/lib/esm/calendar/writers/CalendarFsWriter.js.map +0 -1
- package/lib/esm/calendar/writers/CalenderDownloader.js.map +0 -1
- package/lib/esm/calendar/writers/ICalendarWriter.js.map +0 -1
- package/lib/esm/comms/discord/DiscordService.js.map +0 -1
- package/lib/esm/comms/discord/index.js.map +0 -1
- package/lib/esm/comms/email/EmailService.js.map +0 -1
- package/lib/esm/comms/email/index.js.map +0 -1
- package/lib/esm/comms/email/mime.js.map +0 -1
- package/lib/esm/comms/email/smtp.js.map +0 -1
- package/lib/esm/comms/environment.js.map +0 -1
- package/lib/esm/comms/gmail/GmailService.js.map +0 -1
- package/lib/esm/comms/gmail/index.js.map +0 -1
- package/lib/esm/comms/index.js.map +0 -1
- package/lib/esm/comms/outlook/MicrosoftOutlookService.js.map +0 -1
- package/lib/esm/comms/outlook/index.js.map +0 -1
- package/lib/esm/comms/slack/SlackService.js.map +0 -1
- package/lib/esm/comms/slack/index.js.map +0 -1
- package/lib/esm/comms/teams/TeamsService.js.map +0 -1
- package/lib/esm/comms/teams/index.js.map +0 -1
- package/lib/esm/comms/telegram/TelegramService.js.map +0 -1
- package/lib/esm/comms/telegram/index.js.map +0 -1
- package/lib/esm/comms/whatsapp/WhatsAppService.js.map +0 -1
- package/lib/esm/comms/whatsapp/index.js.map +0 -1
- package/lib/esm/devops/environment.js.map +0 -1
- package/lib/esm/devops/github/GithubService.js.map +0 -1
- package/lib/esm/devops/github/index.js.map +0 -1
- package/lib/esm/devops/gitlab/GitlabService.js.map +0 -1
- package/lib/esm/devops/gitlab/index.js.map +0 -1
- package/lib/esm/devops/index.js.map +0 -1
- package/lib/esm/docker/DockerComposeService.js.map +0 -1
- package/lib/esm/docker/index.js.map +0 -1
- package/lib/esm/feature-flags/EngineCapabilityFeatureFlag.service.js.map +0 -1
- package/lib/esm/feature-flags/constants.js.map +0 -1
- package/lib/esm/feature-flags/decorators.js.map +0 -1
- package/lib/esm/feature-flags/environment.js.map +0 -1
- package/lib/esm/feature-flags/index.js.map +0 -1
- package/lib/esm/feature-flags/models/FeatureFlag.model.js.map +0 -1
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js.map +0 -1
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js.map +0 -1
- package/lib/esm/feature-flags/readers/index.js.map +0 -1
- package/lib/esm/feature-flags/services/FeatureFlag.service.js.map +0 -1
- package/lib/esm/feature-flags/types.js.map +0 -1
- package/lib/esm/feature-flags/utils.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/io/airtable/AirtableService.js.map +0 -1
- package/lib/esm/io/airtable/index.js.map +0 -1
- package/lib/esm/io/confluence/ConfluenceService.js.map +0 -1
- package/lib/esm/io/confluence/index.js.map +0 -1
- package/lib/esm/io/environment.js.map +0 -1
- package/lib/esm/io/google-docs/GoogleDocsService.js.map +0 -1
- package/lib/esm/io/google-docs/index.js.map +0 -1
- package/lib/esm/io/google-sheets/GoogleSheetsService.js.map +0 -1
- package/lib/esm/io/google-sheets/index.js.map +0 -1
- package/lib/esm/io/graphql/GraphqlService.js.map +0 -1
- package/lib/esm/io/graphql/index.js.map +0 -1
- package/lib/esm/io/index.js.map +0 -1
- package/lib/esm/io/jira/JiraService.js.map +0 -1
- package/lib/esm/io/jira/index.js.map +0 -1
- package/lib/esm/io/microsoft-excel/MicrosoftExcelService.js.map +0 -1
- package/lib/esm/io/microsoft-excel/index.js.map +0 -1
- package/lib/esm/io/microsoft-sharepoint/MicrosoftSharePointService.js.map +0 -1
- package/lib/esm/io/microsoft-sharepoint/index.js.map +0 -1
- package/lib/esm/io/spreadsheet/SpreadsheetService.js.map +0 -1
- package/lib/esm/io/spreadsheet/index.js.map +0 -1
- package/lib/esm/keycloak/broker.js.map +0 -1
- package/lib/esm/keycloak/index.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakService.js.map +0 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js.map +0 -1
- package/lib/esm/keycloak/services/index.js.map +0 -1
- package/lib/esm/keycloak/services/runtime.js.map +0 -1
- package/lib/esm/keycloak/types.js.map +0 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js.map +0 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js.map +0 -1
- package/lib/esm/kibana/builders/index.js.map +0 -1
- package/lib/esm/kibana/helpers.js.map +0 -1
- package/lib/esm/kibana/index.js.map +0 -1
- package/lib/esm/kibana/services/KibanaAuthService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaRoleService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js.map +0 -1
- package/lib/esm/kibana/services/KibanaUserService.js.map +0 -1
- package/lib/esm/kibana/services/index.js.map +0 -1
- package/lib/esm/kibana/services/runtime.js.map +0 -1
- package/lib/esm/kibana/types.js.map +0 -1
- package/lib/esm/loader/ObjectLoader.js.map +0 -1
- package/lib/esm/loader/assets.js.map +0 -1
- package/lib/esm/loader/config.js.map +0 -1
- package/lib/esm/loader/families.js.map +0 -1
- package/lib/esm/loader/index.js.map +0 -1
- package/lib/esm/loader/nest.js.map +0 -1
- package/lib/esm/loader/types.js.map +0 -1
- package/lib/esm/namespaces/index.js.map +0 -1
- package/lib/esm/namespaces/models/authorization-model.js.map +0 -1
- package/lib/esm/namespaces/models/credential.model.js.map +0 -1
- package/lib/esm/namespaces/models/effective-permission.model.js.map +0 -1
- package/lib/esm/namespaces/models/group-membership.model.js.map +0 -1
- package/lib/esm/namespaces/models/group.model.js.map +0 -1
- package/lib/esm/namespaces/models/index.js.map +0 -1
- package/lib/esm/namespaces/models/inheritance-block.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit-closure.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit-membership.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit-profile.model.js.map +0 -1
- package/lib/esm/namespaces/models/org-unit.model.js.map +0 -1
- package/lib/esm/namespaces/models/permission.model.js.map +0 -1
- package/lib/esm/namespaces/models/principal.model.js.map +0 -1
- package/lib/esm/namespaces/models/protected-resource.model.js.map +0 -1
- package/lib/esm/namespaces/models/resource-grant.model.js.map +0 -1
- package/lib/esm/namespaces/models/role-assignment.model.js.map +0 -1
- package/lib/esm/namespaces/models/role-permission.model.js.map +0 -1
- package/lib/esm/namespaces/models/role.model.js.map +0 -1
- package/lib/esm/namespaces/models/storage-binding.model.js.map +0 -1
- package/lib/esm/namespaces/models/tenant-membership.model.js.map +0 -1
- package/lib/esm/namespaces/models/tenant-profile.model.js.map +0 -1
- package/lib/esm/namespaces/models/tenant.model.js.map +0 -1
- package/lib/esm/namespaces/models/user.model.js.map +0 -1
- package/lib/esm/namespaces/org-based-authorization-system.js.map +0 -1
- package/lib/esm/namespaces/org-based-authorization-system.models.js.map +0 -1
- package/lib/esm/namespaces/org-based-authorization-system.services.js.map +0 -1
- package/lib/esm/namespaces/rls/index.js.map +0 -1
- package/lib/esm/namespaces/rls/principal-resolver.js.map +0 -1
- package/lib/esm/namespaces/rls/rls-bootstrap.service.js.map +0 -1
- package/lib/esm/namespaces/rls/rls.constants.js.map +0 -1
- package/lib/esm/namespaces/rls/rls.template.js.map +0 -1
- package/lib/esm/namespaces/rls/rls.types.js.map +0 -1
- package/lib/esm/namespaces/rls/session-binding.js.map +0 -1
- package/lib/esm/namespaces/services/authz.service.js.map +0 -1
- package/lib/esm/namespaces/services/bootstrap.service.js.map +0 -1
- package/lib/esm/namespaces/services/credential.service.js.map +0 -1
- package/lib/esm/namespaces/services/effective-permission.service.js.map +0 -1
- package/lib/esm/namespaces/services/group-membership.service.js.map +0 -1
- package/lib/esm/namespaces/services/group.service.js.map +0 -1
- package/lib/esm/namespaces/services/index.js.map +0 -1
- package/lib/esm/namespaces/services/inheritance-block.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit-closure.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit-membership.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit-profile.service.js.map +0 -1
- package/lib/esm/namespaces/services/org-unit.service.js.map +0 -1
- package/lib/esm/namespaces/services/permission.service.js.map +0 -1
- package/lib/esm/namespaces/services/principal.service.js.map +0 -1
- package/lib/esm/namespaces/services/protected-resource.service.js.map +0 -1
- package/lib/esm/namespaces/services/resource-grant.service.js.map +0 -1
- package/lib/esm/namespaces/services/resource-lifecycle.service.js.map +0 -1
- package/lib/esm/namespaces/services/role-assignment.service.js.map +0 -1
- package/lib/esm/namespaces/services/role-permission.service.js.map +0 -1
- package/lib/esm/namespaces/services/role.service.js.map +0 -1
- package/lib/esm/namespaces/services/storage-binding.service.js.map +0 -1
- package/lib/esm/namespaces/services/system-management.service.js.map +0 -1
- package/lib/esm/namespaces/services/tenant-membership.service.js.map +0 -1
- package/lib/esm/namespaces/services/tenant-profile.service.js.map +0 -1
- package/lib/esm/namespaces/services/tenant.service.js.map +0 -1
- package/lib/esm/namespaces/services/user.service.js.map +0 -1
- package/lib/esm/namespaces/types.js.map +0 -1
- package/lib/esm/namespaces/utils.js.map +0 -1
- package/lib/esm/nest/decorators.js.map +0 -1
- package/lib/esm/nest/index.js.map +0 -1
- package/lib/esm/nest/keycloakAuthHandler.js.map +0 -1
- package/lib/esm/nest/keycloakModule.js.map +0 -1
- package/lib/esm/nest/logging.js.map +0 -1
- package/lib/esm/nest/types.js.map +0 -1
- package/lib/esm/nest/utils.js.map +0 -1
- package/lib/esm/plugins/contract.js.map +0 -1
- package/lib/esm/plugins/index.js.map +0 -1
- package/lib/esm/plugins/kibana/host.js.map +0 -1
- package/lib/esm/plugins/kibana/index.js.map +0 -1
- package/lib/esm/plugins/kibana/installer.js.map +0 -1
- package/lib/esm/plugins/kibana/manifest.js.map +0 -1
- package/lib/esm/plugins/kibana/templates.js.map +0 -1
- package/lib/esm/plugins/kibana/types.js.map +0 -1
- package/lib/esm/plugins/superset/host.js.map +0 -1
- package/lib/esm/plugins/superset/index.js.map +0 -1
- package/lib/esm/plugins/superset/installer.js.map +0 -1
- package/lib/esm/plugins/superset/manifest.js.map +0 -1
- package/lib/esm/plugins/superset/templates.js.map +0 -1
- package/lib/esm/plugins/superset/types.js.map +0 -1
- package/lib/esm/redis/RedisContextLock.js.map +0 -1
- package/lib/esm/redis/RedisDispatch.js.map +0 -1
- package/lib/esm/redis/RedisPaginator.js.map +0 -1
- package/lib/esm/redis/RedisStatement.js.map +0 -1
- package/lib/esm/redis/adapter.js.map +0 -1
- package/lib/esm/redis/constants.js.map +0 -1
- package/lib/esm/redis/handlers.js.map +0 -1
- package/lib/esm/redis/index.js.map +0 -1
- package/lib/esm/redis/serialization.js.map +0 -1
- package/lib/esm/redis/types.js.map +0 -1
- package/lib/esm/secrets/InfraCredentialBootstrap.js.map +0 -1
- package/lib/esm/secrets/aws/AwsSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/aws/AwsSecretService.js.map +0 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/aws/index.js.map +0 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +0 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/azure/AzureSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/azure/index.js.map +0 -1
- package/lib/esm/secrets/core/ClientBasedSecretService.js.map +0 -1
- package/lib/esm/secrets/core/SecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/core/SecretErrors.js.map +0 -1
- package/lib/esm/secrets/core/SecretName.js.map +0 -1
- package/lib/esm/secrets/core/SecretReference.js.map +0 -1
- package/lib/esm/secrets/core/SecretSerialization.js.map +0 -1
- package/lib/esm/secrets/core/SecretService.js.map +0 -1
- package/lib/esm/secrets/core/SecretTypes.js.map +0 -1
- package/lib/esm/secrets/core/index.js.map +0 -1
- package/lib/esm/secrets/fs/FsSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/fs/FsSecretService.js.map +0 -1
- package/lib/esm/secrets/fs/FsSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/fs/index.js.map +0 -1
- package/lib/esm/secrets/gcp/GcpSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +0 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +0 -1
- package/lib/esm/secrets/gcp/index.js.map +0 -1
- package/lib/esm/secrets/index.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretCrypto.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretService.js.map +0 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/model/Secret.js.map +0 -1
- package/lib/esm/secrets/model/index.js.map +0 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +0 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/onepassword/index.js.map +0 -1
- package/lib/esm/secrets/vault/VaultSecretEnvironment.js.map +0 -1
- package/lib/esm/secrets/vault/VaultSecretService.js.map +0 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +0 -1
- package/lib/esm/secrets/vault/index.js.map +0 -1
- package/lib/esm/sftp/aws/AwsSftpEnvironment.js.map +0 -1
- package/lib/esm/sftp/aws/AwsSftpService.js.map +0 -1
- package/lib/esm/sftp/aws/index.js.map +0 -1
- package/lib/esm/sftp/core/SftpEnvironment.js.map +0 -1
- package/lib/esm/sftp/core/SftpSource.js.map +0 -1
- package/lib/esm/sftp/core/index.js.map +0 -1
- package/lib/esm/sftp/index.js.map +0 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpEnvironment.js.map +0 -1
- package/lib/esm/sftp/ssh2/Ssh2SftpService.js.map +0 -1
- package/lib/esm/sftp/ssh2/index.js.map +0 -1
- package/lib/esm/shared/environmentValue.js.map +0 -1
- package/lib/esm/shared/http/HttpApiService.js.map +0 -1
- package/lib/esm/shared/http/hermeticBoot.js.map +0 -1
- package/lib/esm/shared/http/index.js.map +0 -1
- package/lib/esm/shared/runtime.js.map +0 -1
- package/lib/esm/user-requests/index.js.map +0 -1
- package/lib/esm/utils.js.map +0 -1
|
@@ -313,5 +313,5 @@ class ConfluenceService extends index_js_1.HttpApiService {
|
|
|
313
313
|
}
|
|
314
314
|
}
|
|
315
315
|
exports.ConfluenceService = ConfluenceService;
|
|
316
|
-
//# sourceMappingURL=ConfluenceService.js.map
|
|
317
|
-
//# sourceMappingURL=ConfluenceService.cjs.map
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmx1ZW5jZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW8vY29uZmx1ZW5jZS9Db25mbHVlbmNlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsNEJBQXVCO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLDJDQUFzQztBQUNyRSxPQUFPLEVBQ0wsY0FBYyxFQUVkLFNBQVMsR0FDVixxQ0FBMEI7QUF1RzNCLHlFQUF5RTtBQUN6RSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUVqQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q0c7QUFDSCxNQUFNLE9BQU8saUJBQWtCLFNBQVEsY0FBdUM7SUFBOUU7O1FBQ0U7O1dBRUc7UUFDZ0IsZ0JBQVcsR0FBRyxZQUFZLENBQUM7SUF3UWhELENBQUM7SUF0UUM7Ozs7O09BS0c7SUFDTyxjQUFjO1FBQ3RCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDTyxXQUFXLENBQ25CLE1BQStCO1FBRS9CLElBQUksTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDcEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FDekIsR0FBRyxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFDcEMsTUFBTSxDQUNQLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JCLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQy9DLENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FB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aW50ZWdyYXRpb25zL2lvL2NvbmZsdWVuY2Uvc2VydmljZVxuICogQHN1bW1hcnkgQ29uZmx1ZW5jZSBSRVNUIEFQSSBpbnRlZ3JhdGlvbiBzZXJ2aWNlIGZvciBzcGFjZXMgYW5kIHBhZ2VzLlxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgQ29uZmx1ZW5jZSBjb250ZW50IG9wZXJhdGlvbnMgKHNwYWNlcywgcGFnZXMsIGFuZCBDUUxcbiAqIHNlYXJjaCkgYXMgYW4gdW5kZWNvcmF0ZWQgY2xpZW50LWJhc2VkIHNlcnZpY2UgYnVpbHQgb25cbiAqIHtAbGluayBIdHRwQXBpU2VydmljZX0uIENvbmZpZ3VyYXRpb24gY29tZXMgZnJvbSBhbiBleHBsaWNpdFxuICogYENvbmZsdWVuY2VTZXJ2aWNlQ29uZmlnYCBvciB0aGUgYGlvLmNvbmZsdWVuY2VgIGVudmlyb25tZW50IHNsaWNlLiBXaGVuIGJvdGhcbiAqIGB1c2VybmFtZWAgYW5kIGB0b2tlbmAgYXJlIGNvbmZpZ3VyZWQgdGhlIHNlcnZpY2Ugc2VuZHMgSFRUUCBCYXNpY1xuICogYXV0aGVudGljYXRpb24gKEFQSSB0b2tlbiBhcyB0aGUgcGFzc3dvcmQpOyBvdGhlcndpc2UgdGhlIHRva2VuIGlzIHNlbnQgYXMgYVxuICogYmVhcmVyIHRva2VuLiBUaGUgc2l0ZSBgYmFzZVVybGAgaXMgcmVxdWlyZWQuIENyZWRlbnRpYWxzIGFyZSByZWZlcmVuY2VkIGZyb21cbiAqIGNvbmZpZ3VyYXRpb24gKGFuZCwgZnJvbSBhcy1ncmFwaCBub2RlcywgZnJvbSB0aGUgcmVzb2x2ZWQgYGNvbmZsdWVuY2VgXG4gKiBjcmVkZW50aWFsIHNlY3JldCkgYW5kIGFyZSBuZXZlciBlbWJlZGRlZCBpbiBzb3VyY2UuIEZhaWx1cmVzIGFyZSBtYXBwZWQgdG9cbiAqIGRlY2FmIGVycm9ycyB2aWEge0BsaW5rIGh0dHBFcnJvcn0uXG4gKi9cbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IElvRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vZW52aXJvbm1lbnRcIjtcbmltcG9ydCB7IGVudk51bWJlciwgZW52U3RyaW5nIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9lbnZpcm9ubWVudFZhbHVlXCI7XG5pbXBvcnQge1xuICBIdHRwQXBpU2VydmljZSxcbiAgdHlwZSBIdHRwQXBpU2VydmljZUNvbmZpZyxcbiAgaHR0cEVycm9yLFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL2h0dHBcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uZmlndXJhdGlvbiBmb3IgdGhlIENvbmZsdWVuY2Ugc2VydmljZVxuICogQHN1bW1hcnkgRXh0ZW5kcyB7QGxpbmsgSHR0cEFwaVNlcnZpY2VDb25maWd9IHdpdGggdGhlIEFQSSBgdG9rZW5gLCB0aGVcbiAqIG9wdGlvbmFsIGB1c2VybmFtZWAgdGhhdCBlbmFibGVzIEJhc2ljIGF1dGhlbnRpY2F0aW9uLCBhbmQgdGhlIHJlcXVpcmVkXG4gKiBzaXRlIGBiYXNlVXJsYC4gV2hlbiBvbWl0dGVkLCB0aGUgYGlvLmNvbmZsdWVuY2VgIGVudmlyb25tZW50IHNsaWNlIHN1cHBsaWVzXG4gKiB0aGUgc2FtZSB2YWx1ZXMgKHBsdXMgb3B0aW9uYWwgYHRpbWVvdXRgKS5cbiAqIEBjYXRlZ29yeSBJT1xuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vY29uZmx1ZW5jZS9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmx1ZW5jZVNlcnZpY2VDb25maWcgZXh0ZW5kcyBIdHRwQXBpU2VydmljZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ29uZmx1ZW5jZSBBUEkgdG9rZW5cbiAgICogQHN1bW1hcnkgVXNlZCBhcyB0aGUgQmFzaWMtYXV0aCBwYXNzd29yZCB3aGVuIGB1c2VybmFtZWAgaXMgc2V0LCBvdGhlcndpc2UgYXMgYSBiZWFyZXIgdG9rZW4uXG4gICAqL1xuICB0b2tlbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDb25mbHVlbmNlIGFjY291bnQgdXNlcm5hbWUgZm9yIEJhc2ljIGF1dGhlbnRpY2F0aW9uXG4gICAqL1xuICB1c2VybmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW5wdXQgZm9yIGNyZWF0aW5nIGEgQ29uZmx1ZW5jZSBwYWdlXG4gKiBAc3VtbWFyeSBDYXJyaWVzIHRoZSB0YXJnZXQgYHNwYWNlS2V5YCwgcGFnZSBgdGl0bGVgLCBzdG9yYWdlLWZvcm1hdCBib2R5LFxuICogYW5kIG9wdGlvbmFsIGBwYXJlbnRJZGAgb2YgdGhlIGFuY2VzdG9yIHBhZ2UuXG4gKiBAY2F0ZWdvcnkgSU9cbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2lvL2NvbmZsdWVuY2Uvc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZsdWVuY2VQYWdlSW5wdXQge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNwYWNlIGtleSB0aGF0IG93bnMgdGhlIG5ldyBwYWdlXG4gICAqL1xuICBzcGFjZUtleTogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBhZ2UgdGl0bGUgKHVuaXF1ZSB3aXRoaW4gdGhlIHNwYWNlKVxuICAgKi9cbiAgdGl0bGU6IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQYWdlIGJvZHkgaW4gQ29uZmx1ZW5jZSBzdG9yYWdlIGZvcm1hdFxuICAgKi9cbiAgYm9keTogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE9wdGlvbmFsIHBhcmVudCBwYWdlIElEXG4gICAqL1xuICBwYXJlbnRJZD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW5wdXQgZm9yIHVwZGF0aW5nIGEgQ29uZmx1ZW5jZSBwYWdlXG4gKiBAc3VtbWFyeSBDYXJyaWVzIHRoZSBgcGFnZUlkYCwgbmV3IGB0aXRsZWAgYW5kIHN0b3JhZ2UtZm9ybWF0IGJvZHksIGFuZCBhblxuICogb3B0aW9uYWwgYHZlcnNpb25gLiBXaGVuIGB2ZXJzaW9uYCBpcyBvbWl0dGVkIHRoZSBzZXJ2aWNlIGZldGNoZXMgdGhlXG4gKiBjdXJyZW50IHZlcnNpb24gYW5kIHN1Ym1pdHMgdGhlIG5leHQgb25lLlxuICogQGNhdGVnb3J5IElPXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9pby9jb25mbHVlbmNlL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25mbHVlbmNlUGFnZVVwZGF0ZSB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSUQgb2YgdGhlIHBhZ2UgdG8gdXBkYXRlXG4gICAqL1xuICBwYWdlSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBOZXcgcGFnZSB0aXRsZVxuICAgKi9cbiAgdGl0bGU6IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBOZXcgcGFnZSBib2R5IGluIENvbmZsdWVuY2Ugc3RvcmFnZSBmb3JtYXRcbiAgICovXG4gIGJvZHk6IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBFeHBsaWNpdCBuZXcgdmVyc2lvbiBudW1iZXIgKGF1dG8taW5jcmVtZW50ZWQgd2hlbiBvbWl0dGVkKVxuICAgKi9cbiAgdmVyc2lvbj86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW5wdXQgZm9yIGEgQ29uZmx1ZW5jZSBDUUwgc2VhcmNoXG4gKiBAc3VtbWFyeSBDYXJyaWVzIHRoZSBgY3FsYCBxdWVyeSBhbmQgYW4gb3B0aW9uYWwgcmVzdWx0IGBsaW1pdGAuXG4gKiBAY2F0ZWdvcnkgSU9cbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2lvL2NvbmZsdWVuY2Uvc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbmZsdWVuY2VTZWFyY2hJbnB1dCB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ29uZmx1ZW5jZSBRdWVyeSBMYW5ndWFnZSBleHByZXNzaW9uXG4gICAqL1xuICBjcWw6IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBNYXhpbXVtIG51bWJlciBvZiByZXN1bHRzXG4gICAqL1xuICBsaW1pdD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWluaW1hbCBDb25mbHVlbmNlIGNvbnRlbnQgZGVzY3JpcHRvciB1c2VkIGZvciB2ZXJzaW9uIGxvb2t1cFxuICogQHN1bW1hcnkgQ2FwdHVyZXMgdGhlIGlkZW50aXR5IGFuZCB2ZXJzaW9uIG51bWJlciByZWFkIGJlZm9yZSBhbiB1cGRhdGUuXG4gKi9cbmludGVyZmFjZSBDb25mbHVlbmNlUGFnZSB7XG4gIGlkPzogc3RyaW5nO1xuICB0aXRsZT86IHN0cmluZztcbiAgdmVyc2lvbj86IHsgbnVtYmVyPzogbnVtYmVyIH07XG59XG5cbi8qKiBEZWZhdWx0IENvbmZsdWVuY2UgY29udGVudCB0eXBlIHdyaXR0ZW4gYnkgdGhlIHNlcnZpY2UgKGBcInBhZ2VcImApLiAqL1xuY29uc3QgREVGQVVMVF9QQUdFX1RZUEUgPSBcInBhZ2VcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uZmx1ZW5jZSBSRVNUIEFQSSBpbnRlZ3JhdGlvbiBzZXJ2aWNlXG4gKiBAc3VtbWFyeSBBbiB1bmRlY29yYXRlZCBIVFRQIHNlcnZpY2UgZm9yIHJlYWRpbmcsIGNyZWF0aW5nLCB1cGRhdGluZywgYW5kXG4gKiBkZWxldGluZyBwYWdlcywgbGlzdGluZyBzcGFjZXMsIGFuZCBydW5uaW5nIENRTCBzZWFyY2hlcy4gVGhlIHNpdGUgYmFzZSBVUkxcbiAqIGFuZCBBUEkgdG9rZW4gYXJlIHJlcXVpcmVkOyBzdXBwbHlpbmcgYSBgdXNlcm5hbWVgIHN3aXRjaGVzIGF1dGhlbnRpY2F0aW9uIHRvXG4gKiBCYXNpYywgYW5kIHRyYW5zcG9ydCBmYWlsdXJlcyBhcmUgbWFwcGVkIHRvIGRlY2FmIGVycm9ycyB2aWFcbiAqIHtAbGluayBodHRwRXJyb3J9LlxuICogQGNsYXNzIENvbmZsdWVuY2VTZXJ2aWNlXG4gKiBAZXh0ZW5kcyBIdHRwQXBpU2VydmljZVxuICogQGNhdGVnb3J5IElPXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IENvbmZsdWVuY2VTZXJ2aWNlIH0gZnJvbSBcIkBkZWNhZi10cy9pbnRlZ3JhdGlvbnMvaW8vY29uZmx1ZW5jZVwiO1xuICpcbiAqIGNvbnN0IGNvbmZsdWVuY2UgPSBuZXcgQ29uZmx1ZW5jZVNlcnZpY2UoKTtcbiAqIGF3YWl0IGNvbmZsdWVuY2UuaW5pdGlhbGl6ZSh7XG4gKiAgIGJhc2VVcmw6IFwiaHR0cHM6Ly9leGFtcGxlLmF0bGFzc2lhbi5uZXQvd2lraVwiLFxuICogICB1c2VybmFtZTogcHJvY2Vzcy5lbnYuQ09ORkxVRU5DRV9VU0VSTkFNRSxcbiAqICAgdG9rZW46IHByb2Nlc3MuZW52LkdSQVBIX0NSRURFTlRJQUxfQ09ORkxVRU5DRV9UT0tFTixcbiAqIH0pO1xuICogY29uc3QgcGFnZSA9IGF3YWl0IGNvbmZsdWVuY2UuZ2V0UGFnZShcIjEyMzQ1NlwiKTtcbiAqIGBgYFxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBhdXRvbnVtYmVyXG4gKiAgIHBhcnRpY2lwYW50IENhbGxlclxuICogICBwYXJ0aWNpcGFudCBTZXJ2aWNlIGFzIENvbmZsdWVuY2VTZXJ2aWNlXG4gKiAgIHBhcnRpY2lwYW50IEFQSSBhcyBDb25mbHVlbmNlIFJFU1QgQVBJXG4gKiAgIENhbGxlci0+PlNlcnZpY2U6IHVwZGF0ZVBhZ2UoaW5wdXQpXG4gKiAgIGFjdGl2YXRlIFNlcnZpY2VcbiAqICAgU2VydmljZS0+PlNlcnZpY2U6IHJlcXVpcmVDcmVkZW50aWFscygpXG4gKiAgIG9wdCB2ZXJzaW9uIG9taXR0ZWRcbiAqICAgICBTZXJ2aWNlLT4+QVBJOiBHRVQgL3Jlc3QvYXBpL2NvbnRlbnQve2lkfT9leHBhbmQ9dmVyc2lvblxuICogICAgIGFjdGl2YXRlIEFQSVxuICogICAgIEFQSS0tPj5TZXJ2aWNlOiBjdXJyZW50IHZlcnNpb25cbiAqICAgICBkZWFjdGl2YXRlIEFQSVxuICogICBlbmRcbiAqICAgU2VydmljZS0+PkFQSTogUFVUIC9yZXN0L2FwaS9jb250ZW50L3tpZH1cbiAqICAgYWN0aXZhdGUgQVBJXG4gKiAgIEFQSS0tPj5TZXJ2aWNlOiB1cGRhdGVkIHBhZ2VcbiAqICAgZGVhY3RpdmF0ZSBBUElcbiAqICAgU2VydmljZS0tPj5DYWxsZXI6IHVwZGF0ZWQgcGFnZVxuICogICBkZWFjdGl2YXRlIFNlcnZpY2VcbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2lvL2NvbmZsdWVuY2Uvc2VydmljZVxuICovXG5leHBvcnQgY2xhc3MgQ29uZmx1ZW5jZVNlcnZpY2UgZXh0ZW5kcyBIdHRwQXBpU2VydmljZTxDb25mbHVlbmNlU2VydmljZUNvbmZpZz4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBwcm92aWRlciBuYW1lIHVzZWQgaW4gZXJyb3IgbWVzc2FnZXNcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBzZXJ2aWNlTmFtZSA9IFwiQ29uZmx1ZW5jZVwiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIGRlZmF1bHQgYmFzZSBVUkwgZm9yIENvbmZsdWVuY2VcbiAgICogQHN1bW1hcnkgUmV0dXJucyBhbiBlbXB0eSBzdHJpbmc7IENvbmZsdWVuY2UgaXMgc2l0ZS1ob3N0ZWQsIHNvIHRoZVxuICAgKiByZXNvbHZlZCBgYmFzZVVybGAgKGZyb20gY29uZmlnIG9yIGBpby5jb25mbHVlbmNlLmJhc2VVcmxgKSBpcyByZXF1aXJlZC5cbiAgICogQHJldHVybnMge3N0cmluZ30gQW4gZW1wdHkgc3RyaW5nLlxuICAgKi9cbiAgcHJvdGVjdGVkIGRlZmF1bHRCYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEJ1aWxkcyB0aGUgQ29uZmx1ZW5jZSBhdXRoZW50aWNhdGlvbiBoZWFkZXJzXG4gICAqIEBzdW1tYXJ5IFVzZXMgSFRUUCBCYXNpYyAoYHVzZXJuYW1lOnRva2VuYCkgd2hlbiBib3RoIHZhbHVlcyBhcmUgcHJlc2VudCxcbiAgICogb3RoZXJ3aXNlIGEgYmVhcmVyIHRva2VuIHdoZW4gb25seSBgdG9rZW5gIGlzIHByZXNlbnQsIG90aGVyd2lzZSBub1xuICAgKiBoZWFkZXJzLlxuICAgKiBAcGFyYW0ge0NvbmZsdWVuY2VTZXJ2aWNlQ29uZmlnfSBjb25maWcgLSBUaGUgcmVzb2x2ZWQgc2VydmljZSBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gVGhlIGF1dGhvcml6YXRpb24gaGVhZGVycy5cbiAgICovXG4gIHByb3RlY3RlZCBhdXRoSGVhZGVycyhcbiAgICBjb25maWc6IENvbmZsdWVuY2VTZXJ2aWNlQ29uZmlnXG4gICk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIGlmIChjb25maWcudXNlcm5hbWUgJiYgY29uZmlnLnRva2VuKSB7XG4gICAgICBjb25zdCBlbmNvZGVkID0gQnVmZmVyLmZyb20oXG4gICAgICAgIGAke2NvbmZpZy51c2VybmFtZX06JHtjb25maWcudG9rZW59YCxcbiAgICAgICAgXCJ1dGY4XCJcbiAgICAgICkudG9TdHJpbmcoXCJiYXNlNjRcIik7XG4gICAgICByZXR1cm4geyBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHtlbmNvZGVkfWAgfTtcbiAgICB9XG4gICAgcmV0dXJuIGNvbmZpZy50b2tlbiA/IHsgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2NvbmZpZy50b2tlbn1gIH0gOiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVhZHMgdGhlIENvbmZsdWVuY2UgY3JlZGVudGlhbHMgYW5kIGRlZmF1bHRzIGZyb20gdGhlIGVudmlyb25tZW50XG4gICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBgaW8uY29uZmx1ZW5jZWAgc2xpY2UgYW5kIHJldHVybnMgYSBwYXJ0aWFsIGNvbmZpZyB3aGVuXG4gICAqIGFuIEFQSSB0b2tlbiBpcyBjb25maWd1cmVkLCBgdW5kZWZpbmVkYCBvdGhlcndpc2UuIFZhbHVlcyBwYXNzIHRocm91Z2hcbiAgICogYGVudlN0cmluZ2AvYGVudk51bWJlcmAgdG8gcmVqZWN0IHVuc2V0LWxlYWYgcHJveGllcy5cbiAgICogQHJldHVybnMge1BhcnRpYWw8Q29uZmx1ZW5jZVNlcnZpY2VDb25maWc+IHwgdW5kZWZpbmVkfSBBIHBhcnRpYWwgY29uZmlnLCBvciBgdW5kZWZpbmVkYCB3aGVuIG5vIENvbmZsdWVuY2UgdG9rZW4gaXMgY29uZmlndXJlZC5cbiAgICovXG4gIHByb3RlY3RlZCBjb25maWdGcm9tRW52aXJvbm1lbnQoKTpcbiAgICB8IFBhcnRpYWw8Q29uZmx1ZW5jZVNlcnZpY2VDb25maWc+XG4gICAgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGVudiA9IElvRW52aXJvbm1lbnQuaW8uY29uZmx1ZW5jZTtcbiAgICBjb25zdCB0b2tlbiA9IGVudlN0cmluZyhlbnY/LnRva2VuKTtcbiAgICBpZiAoIXRva2VuKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiB7XG4gICAgICB0b2tlbixcbiAgICAgIHVzZXJuYW1lOiBlbnZTdHJpbmcoZW52LnVzZXJuYW1lKSxcbiAgICAgIGJhc2VVcmw6IGVudlN0cmluZyhlbnYuYmFzZVVybCksXG4gICAgICB0aW1lb3V0OiBlbnZOdW1iZXIoZW52LnRpbWVvdXQpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFzc2VydHMgdGhhdCB0aGUgQ29uZmx1ZW5jZSB0b2tlbiBhbmQgc2l0ZSBiYXNlIFVSTCBhcmUgY29uZmlndXJlZFxuICAgKiBAc3VtbWFyeSBDYWxsZWQgYnkgZXZlcnkgb3BlcmF0aW9uIGJlZm9yZSBpdCB0b3VjaGVzIHRoZSBuZXR3b3JrLlxuICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBubyBBUEkgdG9rZW4gb3IgYmFzZSBVUkwgaXMgY29uZmlndXJlZC5cbiAgICovXG4gIHByb3RlY3RlZCByZXF1aXJlQ3JlZGVudGlhbHMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbmZpZy50b2tlbikge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJDb25mbHVlbmNlIHJlcXVpcmVzIGFuIEFQSSB0b2tlblwiKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmNvbmZpZy5iYXNlVXJsKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkNvbmZsdWVuY2UgcmVxdWlyZXMgYSBiYXNlIFVSTFwiKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFdyYXBzIGEgYm9keSBpbiB0aGUgQ29uZmx1ZW5jZSBzdG9yYWdlIHJlcHJlc2VudGF0aW9uXG4gICAqIEBzdW1tYXJ5IFByb2R1Y2VzIHRoZSBgeyBzdG9yYWdlOiB7IHZhbHVlLCByZXByZXNlbnRhdGlvbiB9IH1gIGVudmVsb3BlXG4gICAqIHRoZSBjb250ZW50IEFQSSBleHBlY3RzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYm9keSAtIFRoZSBDb25mbHVlbmNlIHN0b3JhZ2UtZm9ybWF0IGJvZHkuXG4gICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gVGhlIHN0b3JhZ2UgYm9keSBlbnZlbG9wZS5cbiAgICovXG4gIHByaXZhdGUgc3RvcmFnZUJvZHkoYm9keTogc3RyaW5nKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiB7XG4gICAgICBzdG9yYWdlOiB7XG4gICAgICAgIHZhbHVlOiBib2R5LFxuICAgICAgICByZXByZXNlbnRhdGlvbjogXCJzdG9yYWdlXCIsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZldGNoZXMgYSBDb25mbHVlbmNlIHBhZ2VcbiAgICogQHN1bW1hcnkgYEdFVGBzIGAvcmVzdC9hcGkvY29udGVudC88aWQ+YCB3aXRoIHRoZSByZXF1ZXN0ZWQgYGV4cGFuZGBcbiAgICogZmllbGRzIChkZWZhdWx0IGBib2R5LnN0b3JhZ2UsdmVyc2lvbmApLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFnZUlkIC0gVGhlIHBhZ2UgSUQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZXhwYW5kXSAtIENvbW1hLXNlcGFyYXRlZCBmaWVsZHMgdG8gZXhwYW5kOyBkZWZhdWx0cyB0byBgXCJib2R5LnN0b3JhZ2UsdmVyc2lvblwiYC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBwYWdlIHBheWxvYWQuXG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gY3JlZGVudGlhbHMgYXJlIG1pc3Npbmcgb3IgdGhlIHBhZ2UgSUQgaXMgZW1wdHkuXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIHBhZ2UgZG9lcyBub3QgZXhpc3QgKEhUVFAgNDA0KS5cbiAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIHRoZSBBUEkgcmVqZWN0cyB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGFzeW5jIGdldFBhZ2UocGFnZUlkOiBzdHJpbmcsIGV4cGFuZCA9IFwiYm9keS5zdG9yYWdlLHZlcnNpb25cIik6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMucmVxdWlyZUNyZWRlbnRpYWxzKCk7XG4gICAgaWYgKCFwYWdlSWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiQ29uZmx1ZW5jZSByZXF1aXJlcyBhIHBhZ2UgaWRcIik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldChcbiAgICAgICAgYC9yZXN0L2FwaS9jb250ZW50LyR7ZW5jb2RlVVJJQ29tcG9uZW50KHBhZ2VJZCl9YCxcbiAgICAgICAgeyBwYXJhbXM6IHsgZXhwYW5kIH0gfVxuICAgICAgKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBodHRwRXJyb3IoXCJDb25mbHVlbmNlXCIsIFwiZ2V0IHBhZ2VcIiwgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTGlzdHMgQ29uZmx1ZW5jZSBzcGFjZXNcbiAgICogQHN1bW1hcnkgYEdFVGBzIGAvcmVzdC9hcGkvc3BhY2VgIHdpdGggYSByZXN1bHQgYGxpbWl0YCAoZGVmYXVsdCBgMjVgKS5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtsaW1pdF0gLSBNYXhpbXVtIG51bWJlciBvZiBzcGFjZXMgdG8gcmV0dXJuOyBkZWZhdWx0cyB0byBgMjVgLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gVGhlIHNwYWNlIGNvbGxlY3Rpb24gcGF5bG9hZC5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBhcmUgbWlzc2luZy5cbiAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIHRoZSBBUEkgcmVqZWN0cyB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGFzeW5jIGxpc3RTcGFjZXMobGltaXQgPSAyNSk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMucmVxdWlyZUNyZWRlbnRpYWxzKCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0KFwiL3Jlc3QvYXBpL3NwYWNlXCIsIHtcbiAgICAgICAgcGFyYW1zOiB7IGxpbWl0IH0sXG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBodHRwRXJyb3IoXCJDb25mbHVlbmNlXCIsIFwibGlzdCBzcGFjZXNcIiwgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIENvbmZsdWVuY2UgcGFnZVxuICAgKiBAc3VtbWFyeSBgUE9TVGBzIGEgYHBhZ2VgIGNvbnRlbnQgZW50cnkgaW4gdGhlIHRhcmdldCBzcGFjZSwgb3B0aW9uYWxseVxuICAgKiB1bmRlciBhIHBhcmVudCwgd2l0aCB0aGUgYm9keSBpbiBzdG9yYWdlIGZvcm1hdC5cbiAgICogQHBhcmFtIHtDb25mbHVlbmNlUGFnZUlucHV0fSBpbnB1dCAtIFRoZSBzcGFjZSwgdGl0bGUsIGJvZHksIGFuZCBvcHRpb25hbCBwYXJlbnQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBUaGUgY3JlYXRlZCBwYWdlIHBheWxvYWQuXG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gY3JlZGVudGlhbHMgYXJlIG1pc3NpbmcsIG9yIHRoZSBzcGFjZSBrZXkgb3IgdGl0bGUgaXMgZW1wdHkuXG4gICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiB0aGUgQVBJIHJlamVjdHMgdGhlIHBhZ2UuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIGF3YWl0IGNvbmZsdWVuY2UuY3JlYXRlUGFnZSh7XG4gICAqICAgc3BhY2VLZXk6IFwiT1BTXCIsXG4gICAqICAgdGl0bGU6IFwiUmVsZWFzZSAxLjIuMFwiLFxuICAgKiAgIGJvZHk6IFwiPHA+RGV0YWlsc+KApjwvcD5cIixcbiAgICogfSk7XG4gICAqIGBgYFxuICAgKi9cbiAgYXN5bmMgY3JlYXRlUGFnZShpbnB1dDogQ29uZmx1ZW5jZVBhZ2VJbnB1dCk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMucmVxdWlyZUNyZWRlbnRpYWxzKCk7XG4gICAgaWYgKCFpbnB1dC5zcGFjZUtleSB8fCAhaW5wdXQudGl0bGUpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIkNvbmZsdWVuY2UgY3JlYXRlUGFnZSByZXF1aXJlcyBhIHNwYWNlIGtleSBhbmQgdGl0bGVcIlxuICAgICAgKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdChcIi9yZXN0L2FwaS9jb250ZW50XCIsIHtcbiAgICAgICAgdHlwZTogREVGQVVMVF9QQUdFX1RZUEUsXG4gICAgICAgIHRpdGxlOiBpbnB1dC50aXRsZSxcbiAgICAgICAgc3BhY2U6IHsga2V5OiBpbnB1dC5zcGFjZUtleSB9LFxuICAgICAgICAuLi4oaW5wdXQucGFyZW50SWQgPyB7IGFuY2VzdG9yczogW3sgaWQ6IGlucHV0LnBhcmVudElkIH1dIH0gOiB7fSksXG4gICAgICAgIGJvZHk6IHRoaXMuc3RvcmFnZUJvZHkoaW5wdXQuYm9keSA/PyBcIlwiKSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIkNvbmZsdWVuY2VcIiwgXCJjcmVhdGUgcGFnZVwiLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGVzIGEgQ29uZmx1ZW5jZSBwYWdlXG4gICAqIEBzdW1tYXJ5IGBQVVRgcyB0aGUgbmV3IHRpdGxlIGFuZCBzdG9yYWdlIGJvZHkuIFdoZW4gYHZlcnNpb25gIGlzIG9taXR0ZWRcbiAgICogdGhlIGN1cnJlbnQgdmVyc2lvbiBpcyByZWFkIGZpcnN0IGFuZCB0aGUgbmV4dCBudW1iZXIgaXMgc3VibWl0dGVkLCBhc1xuICAgKiBDb25mbHVlbmNlIHJlcXVpcmVzIG9wdGltaXN0aWMgdmVyc2lvbmluZy5cbiAgICogQHBhcmFtIHtDb25mbHVlbmNlUGFnZVVwZGF0ZX0gaW5wdXQgLSBUaGUgcGFnZSwgbmV3IHRpdGxlL2JvZHksIGFuZCBvcHRpb25hbCB2ZXJzaW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gVGhlIHVwZGF0ZWQgcGFnZSBwYXlsb2FkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIGNyZWRlbnRpYWxzIGFyZSBtaXNzaW5nLCBvciB0aGUgcGFnZSBJRCBvciB0aXRsZSBpcyBlbXB0eS5cbiAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgcGFnZSBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIHRoZSBzdWJtaXR0ZWQgdmVyc2lvbiBpcyBzdGFsZSAoSFRUUCA0MDkpLlxuICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gdGhlIEFQSSByZWplY3RzIHRoZSB1cGRhdGUuXG4gICAqL1xuICBhc3luYyB1cGRhdGVQYWdlKGlucHV0OiBDb25mbHVlbmNlUGFnZVVwZGF0ZSk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMucmVxdWlyZUNyZWRlbnRpYWxzKCk7XG4gICAgaWYgKCFpbnB1dC5wYWdlSWQgfHwgIWlucHV0LnRpdGxlKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCJDb25mbHVlbmNlIHVwZGF0ZVBhZ2UgcmVxdWlyZXMgYSBwYWdlIGlkIGFuZCB0aXRsZVwiXG4gICAgICApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgbGV0IHZlcnNpb24gPSBpbnB1dC52ZXJzaW9uO1xuICAgICAgaWYgKHZlcnNpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0PENvbmZsdWVuY2VQYWdlPihcbiAgICAgICAgICBgL3Jlc3QvYXBpL2NvbnRlbnQvJHtlbmNvZGVVUklDb21wb25lbnQoaW5wdXQucGFnZUlkKX1gLFxuICAgICAgICAgIHsgcGFyYW1zOiB7IGV4cGFuZDogXCJ2ZXJzaW9uXCIgfSB9XG4gICAgICAgICk7XG4gICAgICAgIHZlcnNpb24gPSAoY3VycmVudC5kYXRhLnZlcnNpb24/Lm51bWJlciA/PyAwKSArIDE7XG4gICAgICB9XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnB1dChcbiAgICAgICAgYC9yZXN0L2FwaS9jb250ZW50LyR7ZW5jb2RlVVJJQ29tcG9uZW50KGlucHV0LnBhZ2VJZCl9YCxcbiAgICAgICAge1xuICAgICAgICAgIGlkOiBpbnB1dC5wYWdlSWQsXG4gICAgICAgICAgdHlwZTogREVGQVVMVF9QQUdFX1RZUEUsXG4gICAgICAgICAgdGl0bGU6IGlucHV0LnRpdGxlLFxuICAgICAgICAgIHZlcnNpb246IHsgbnVtYmVyOiB2ZXJzaW9uIH0sXG4gICAgICAgICAgYm9keTogdGhpcy5zdG9yYWdlQm9keShpbnB1dC5ib2R5ID8/IFwiXCIpLFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIkNvbmZsdWVuY2VcIiwgXCJ1cGRhdGUgcGFnZVwiLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZWxldGVzIGEgQ29uZmx1ZW5jZSBwYWdlXG4gICAqIEBzdW1tYXJ5IGBERUxFVEVgcyB0aGUgY29udGVudCBlbnRyeSBhbmQgcmV0dXJucyBgeyBkZWxldGVkOiB0cnVlLCBwYWdlSWQgfWAuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYWdlSWQgLSBUaGUgcGFnZSBJRCB0byBkZWxldGUuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBgeyBkZWxldGVkOiB0cnVlLCBwYWdlSWQgfWAgb24gc3VjY2Vzcy5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBhcmUgbWlzc2luZyBvciB0aGUgcGFnZSBJRCBpcyBlbXB0eS5cbiAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgcGFnZSBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gdGhlIEFQSSByZWplY3RzIHRoZSBkZWxldGlvbi5cbiAgICovXG4gIGFzeW5jIGRlbGV0ZVBhZ2UocGFnZUlkOiBzdHJpbmcpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICB0aGlzLnJlcXVpcmVDcmVkZW50aWFscygpO1xuICAgIGlmICghcGFnZUlkKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkNvbmZsdWVuY2UgcmVxdWlyZXMgYSBwYWdlIGlkXCIpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5jbGllbnQuZGVsZXRlKFxuICAgICAgICBgL3Jlc3QvYXBpL2NvbnRlbnQvJHtlbmNvZGVVUklDb21wb25lbnQocGFnZUlkKX1gXG4gICAgICApO1xuICAgICAgcmV0dXJuIHsgZGVsZXRlZDogdHJ1ZSwgcGFnZUlkIH07XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIkNvbmZsdWVuY2VcIiwgXCJkZWxldGUgcGFnZVwiLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZWFyY2hlcyBDb25mbHVlbmNlIGNvbnRlbnQgd2l0aCBDUUxcbiAgICogQHN1bW1hcnkgYEdFVGBzIGAvcmVzdC9hcGkvY29udGVudC9zZWFyY2hgIHdpdGggdGhlIENRTCBleHByZXNzaW9uIGFuZCBhblxuICAgKiBvcHRpb25hbCBgbGltaXRgLlxuICAgKiBAcGFyYW0ge0NvbmZsdWVuY2VTZWFyY2hJbnB1dH0gaW5wdXQgLSBUaGUgQ1FMIHF1ZXJ5IGFuZCByZXN1bHQgbGltaXQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBUaGUgc2VhcmNoIHJlc3VsdCBwYXlsb2FkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIGNyZWRlbnRpYWxzIGFyZSBtaXNzaW5nIG9yIHRoZSBDUUwgcXVlcnkgaXMgZW1wdHkuXG4gICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiB0aGUgQ1FMIHF1ZXJ5IGlzIGludmFsaWQuXG4gICAqL1xuICBhc3luYyBzZWFyY2goaW5wdXQ6IENvbmZsdWVuY2VTZWFyY2hJbnB1dCk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMucmVxdWlyZUNyZWRlbnRpYWxzKCk7XG4gICAgaWYgKCFpbnB1dC5jcWwpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiQ29uZmx1ZW5jZSBzZWFyY2ggcmVxdWlyZXMgYSBDUUwgcXVlcnlcIik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldChcIi9yZXN0L2FwaS9jb250ZW50L3NlYXJjaFwiLCB7XG4gICAgICAgIHBhcmFtczoge1xuICAgICAgICAgIGNxbDogaW5wdXQuY3FsLFxuICAgICAgICAgIC4uLihpbnB1dC5saW1pdCAhPT0gdW5kZWZpbmVkID8geyBsaW1pdDogaW5wdXQubGltaXQgfSA6IHt9KSxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIkNvbmZsdWVuY2VcIiwgXCJzZWFyY2ggY29udGVudFwiLCBlcnJvcik7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmx1ZW5jZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJDb25mbHVlbmNlU2VydmljZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsMkRBQXdEO0FBQ3hELHdEQUFvRDtBQUNwRCw0RUFBMEU7QUFDMUUsMkRBQTBFO0FBQzFFLHlFQUF5RTtBQUN6RSxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQztBQUNqQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q0c7QUFDSCxNQUFhLGlCQUFrQixTQUFRLHlCQUFjO0lBQ2pEO1FBQ0ksS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDcEI7O1dBRUc7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLFlBQVksQ0FBQztJQUNwQyxDQUFDO0lBQ0Q7Ozs7O09BS0c7SUFDSCxjQUFjO1FBQ1YsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0Q7Ozs7Ozs7T0FPRztJQUNILFdBQVcsQ0FBQyxNQUFNO1FBQ2QsSUFBSSxNQUFNLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzdGLE9BQU8sRUFBRSxhQUFhLEVBQUUsU0FBUyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ2pELENBQUM7UUFDRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLFVBQVUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0gs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ZS9zZXJ2aWNlXG4gKiBAc3VtbWFyeSBDb25mbHVlbmNlIFJFU1QgQVBJIGludGVncmF0aW9uIHNlcnZpY2UgZm9yIHNwYWNlcyBhbmQgcGFnZXMuXG4gKiBAZGVzY3JpcHRpb24gRXhwb3NlcyBDb25mbHVlbmNlIGNvbnRlbnQgb3BlcmF0aW9ucyAoc3BhY2VzLCBwYWdlcywgYW5kIENRTFxuICogc2VhcmNoKSBhcyBhbiB1bmRlY29yYXRlZCBjbGllbnQtYmFzZWQgc2VydmljZSBidWlsdCBvblxuICoge0BsaW5rIEh0dHBBcGlTZXJ2aWNlfS4gQ29uZmlndXJhdGlvbiBjb21lcyBmcm9tIGFuIGV4cGxpY2l0XG4gKiBgQ29uZmx1ZW5jZVNlcnZpY2VDb25maWdgIG9yIHRoZSBgaW8uY29uZmx1ZW5jZWAgZW52aXJvbm1lbnQgc2xpY2UuIFdoZW4gYm90aFxuICogYHVzZXJuYW1lYCBhbmQgYHRva2VuYCBhcmUgY29uZmlndXJlZCB0aGUgc2VydmljZSBzZW5kcyBIVFRQIEJhc2ljXG4gKiBhdXRoZW50aWNhdGlvbiAoQVBJIHRva2VuIGFzIHRoZSBwYXNzd29yZCk7IG90aGVyd2lzZSB0aGUgdG9rZW4gaXMgc2VudCBhcyBhXG4gKiBiZWFyZXIgdG9rZW4uIFRoZSBzaXRlIGBiYXNlVXJsYCBpcyByZXF1aXJlZC4gQ3JlZGVudGlhbHMgYXJlIHJlZmVyZW5jZWQgZnJvbVxuICogY29uZmlndXJhdGlvbiAoYW5kLCBmcm9tIGFzLWdyYXBoIG5vZGVzLCBmcm9tIHRoZSByZXNvbHZlZCBgY29uZmx1ZW5jZWBcbiAqIGNyZWRlbnRpYWwgc2VjcmV0KSBhbmQgYXJlIG5ldmVyIGVtYmVkZGVkIGluIHNvdXJjZS4gRmFpbHVyZXMgYXJlIG1hcHBlZCB0b1xuICogZGVjYWYgZXJyb3JzIHZpYSB7QGxpbmsgaHR0cEVycm9yfS5cbiAqL1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgSW9FbnZpcm9ubWVudCB9IGZyb20gXCIuLy4uL2Vudmlyb25tZW50LmpzXCI7XG5pbXBvcnQgeyBlbnZOdW1iZXIsIGVudlN0cmluZyB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9lbnZpcm9ubWVudFZhbHVlLmpzXCI7XG5pbXBvcnQgeyBIdHRwQXBpU2VydmljZSwgaHR0cEVycm9yLCB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9odHRwL2luZGV4LmpzXCI7XG4vKiogRGVmYXVsdCBDb25mbHVlbmNlIGNvbnRlbnQgdHlwZSB3cml0dGVuIGJ5IHRoZSBzZXJ2aWNlIChgXCJwYWdlXCJgKS4gKi9cbmNvbnN0IERFRkFVTFRfUEFHRV9UWVBFID0gXCJwYWdlXCI7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDb25mbHVlbmNlIFJFU1QgQVBJIGludGVncmF0aW9uIHNlcnZpY2VcbiAqIEBzdW1tYXJ5IEFuIHVuZGVjb3JhdGVkIEhUVFAgc2VydmljZSBmb3IgcmVhZGluZywgY3JlYXRpbmcsIHVwZGF0aW5nLCBhbmRcbiAqIGRlbGV0aW5nIHBhZ2VzLCBsaXN0aW5nIHNwYWNlcywgYW5kIHJ1bm5pbmcgQ1FMIHNlYXJjaGVzLiBUaGUgc2l0ZSBiYXNlIFVSTFxuICogYW5kIEFQSSB0b2tlbiBhcmUgcmVxdWlyZWQ7IHN1cHBseWluZyBhIGB1c2VybmFtZWAgc3dpdGNoZXMgYXV0aGVudGljYXRpb24gdG9cbiAqIEJhc2ljLCBhbmQgdHJhbnNwb3J0IGZhaWx1cmVzIGFyZSBtYXBwZWQgdG8gZGVjYWYgZXJyb3JzIHZpYVxuICoge0BsaW5rIGh0dHBFcnJvcn0uXG4gKiBAY2xhc3MgQ29uZmx1ZW5jZVNlcnZpY2VcbiAqIEBleHRlbmRzIEh0dHBBcGlTZXJ2aWNlXG4gKiBAY2F0ZWdvcnkgSU9cbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQ29uZmx1ZW5jZVNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2ludGVncmF0aW9ucy9pby9jb25mbHVlbmNlXCI7XG4gKlxuICogY29uc3QgY29uZmx1ZW5jZSA9IG5ldyBDb25mbHVlbmNlU2VydmljZSgpO1xuICogYXdhaXQgY29uZmx1ZW5jZS5pbml0aWFsaXplKHtcbiAqICAgYmFzZVVybDogXCJodHRwczovL2V4YW1wbGUuYXRsYXNzaWFuLm5ldC93aWtpXCIsXG4gKiAgIHVzZXJuYW1lOiBwcm9jZXNzLmVudi5DT05GTFVFTkNFX1VTRVJOQU1FLFxuICogICB0b2tlbjogcHJvY2Vzcy5lbnYuR1JBUEhfQ1JFREVOVElBTF9DT05GTFVFTkNFX1RPS0VOLFxuICogfSk7XG4gKiBjb25zdCBwYWdlID0gYXdhaXQgY29uZmx1ZW5jZS5nZXRQYWdlKFwiMTIzNDU2XCIpO1xuICogYGBgXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIGF1dG9udW1iZXJcbiAqICAgcGFydGljaXBhbnQgQ2FsbGVyXG4gKiAgIHBhcnRpY2lwYW50IFNlcnZpY2UgYXMgQ29uZmx1ZW5jZVNlcnZpY2VcbiAqICAgcGFydGljaXBhbnQgQVBJIGFzIENvbmZsdWVuY2UgUkVTVCBBUElcbiAqICAgQ2FsbGVyLT4+U2VydmljZTogdXBkYXRlUGFnZShpbnB1dClcbiAqICAgYWN0aXZhdGUgU2VydmljZVxuICogICBTZXJ2aWNlLT4+U2VydmljZTogcmVxdWlyZUNyZWRlbnRpYWxzKClcbiAqICAgb3B0IHZlcnNpb24gb21pdHRlZFxuICogICAgIFNlcnZpY2UtPj5BUEk6IEdFVCAvcmVzdC9hcGkvY29udGVudC97aWR9P2V4cGFuZD12ZXJzaW9uXG4gKiAgICAgYWN0aXZhdGUgQVBJXG4gKiAgICAgQVBJLS0+PlNlcnZpY2U6IGN1cnJlbnQgdmVyc2lvblxuICogICAgIGRlYWN0aXZhdGUgQVBJXG4gKiAgIGVuZFxuICogICBTZXJ2aWNlLT4+QVBJOiBQVVQgL3Jlc3QvYXBpL2NvbnRlbnQve2lkfVxuICogICBhY3RpdmF0ZSBBUElcbiAqICAgQVBJLS0+PlNlcnZpY2U6IHVwZGF0ZWQgcGFnZVxuICogICBkZWFjdGl2YXRlIEFQSVxuICogICBTZXJ2aWNlLS0+PkNhbGxlcjogdXBkYXRlZCBwYWdlXG4gKiAgIGRlYWN0aXZhdGUgU2VydmljZVxuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vY29uZmx1ZW5jZS9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25mbHVlbmNlU2VydmljZSBleHRlbmRzIEh0dHBBcGlTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXNjcmlwdGlvbiBUaGUgcHJvdmlkZXIgbmFtZSB1c2VkIGluIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLnNlcnZpY2VOYW1lID0gXCJDb25mbHVlbmNlXCI7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUaGUgZGVmYXVsdCBiYXNlIFVSTCBmb3IgQ29uZmx1ZW5jZVxuICAgICAqIEBzdW1tYXJ5IFJldHVybnMgYW4gZW1wdHkgc3RyaW5nOyBDb25mbHVlbmNlIGlzIHNpdGUtaG9zdGVkLCBzbyB0aGVcbiAgICAgKiByZXNvbHZlZCBgYmFzZVVybGAgKGZyb20gY29uZmlnIG9yIGBpby5jb25mbHVlbmNlLmJhc2VVcmxgKSBpcyByZXF1aXJlZC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBBbiBlbXB0eSBzdHJpbmcuXG4gICAgICovXG4gICAgZGVmYXVsdEJhc2VVcmwoKSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBDb25mbHVlbmNlIGF1dGhlbnRpY2F0aW9uIGhlYWRlcnNcbiAgICAgKiBAc3VtbWFyeSBVc2VzIEhUVFAgQmFzaWMgKGB1c2VybmFtZTp0b2tlbmApIHdoZW4gYm90aCB2YWx1ZXMgYXJlIHByZXNlbnQsXG4gICAgICogb3RoZXJ3aXNlIGEgYmVhcmVyIHRva2VuIHdoZW4gb25seSBgdG9rZW5gIGlzIHByZXNlbnQsIG90aGVyd2lzZSBub1xuICAgICAqIGhlYWRlcnMuXG4gICAgICogQHBhcmFtIHtDb25mbHVlbmNlU2VydmljZUNvbmZpZ30gY29uZmlnIC0gVGhlIHJlc29sdmVkIHNlcnZpY2UgY29uZmlndXJhdGlvbi5cbiAgICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gVGhlIGF1dGhvcml6YXRpb24gaGVhZGVycy5cbiAgICAgKi9cbiAgICBhdXRoSGVhZGVycyhjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZy51c2VybmFtZSAmJiBjb25maWcudG9rZW4pIHtcbiAgICAgICAgICAgIGNvbnN0IGVuY29kZWQgPSBCdWZmZXIuZnJvbShgJHtjb25maWcudXNlcm5hbWV9OiR7Y29uZmlnLnRva2VufWAsIFwidXRmOFwiKS50b1N0cmluZyhcImJhc2U2NFwiKTtcbiAgICAgICAgICAgIHJldHVybiB7IEF1dGhvcml6YXRpb246IGBCYXNpYyAke2VuY29kZWR9YCB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjb25maWcudG9rZW4gPyB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtjb25maWcudG9rZW59YCB9IDoge307XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWFkcyB0aGUgQ29uZmx1ZW5jZSBjcmVkZW50aWFscyBhbmQgZGVmYXVsdHMgZnJvbSB0aGUgZW52aXJvbm1lbnRcbiAgICAgKiBAc3VtbWFyeSBSZWFkcyB0aGUgYGlvLmNvbmZsdWVuY2VgIHNsaWNlIGFuZCByZXR1cm5zIGEgcGFydGlhbCBjb25maWcgd2hlblxuICAgICAqIGFuIEFQSSB0b2tlbiBpcyBjb25maWd1cmVkLCBgdW5kZWZpbmVkYCBvdGhlcndpc2UuIFZhbHVlcyBwYXNzIHRocm91Z2hcbiAgICAgKiBgZW52U3RyaW5nYC9gZW52TnVtYmVyYCB0byByZWplY3QgdW5zZXQtbGVhZiBwcm94aWVzLlxuICAgICAqIEByZXR1cm5zIHtQYXJ0aWFsPENvbmZsdWVuY2VTZXJ2aWNlQ29uZmlnPiB8IHVuZGVmaW5lZH0gQSBwYXJ0aWFsIGNvbmZpZywgb3IgYHVuZGVmaW5lZGAgd2hlbiBubyBDb25mbHVlbmNlIHRva2VuIGlzIGNvbmZpZ3VyZWQuXG4gICAgICovXG4gICAgY29uZmlnRnJvbUVudmlyb25tZW50KCkge1xuICAgICAgICBjb25zdCBlbnYgPSBJb0Vudmlyb25tZW50LmlvLmNvbmZsdWVuY2U7XG4gICAgICAgIGNvbnN0IHRva2VuID0gZW52U3RyaW5nKGVudj8udG9rZW4pO1xuICAgICAgICBpZiAoIXRva2VuKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgdXNlcm5hbWU6IGVudlN0cmluZyhlbnYudXNlcm5hbWUpLFxuICAgICAgICAgICAgYmFzZVVybDogZW52U3RyaW5nKGVudi5iYXNlVXJsKSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IGVudk51bWJlcihlbnYudGltZW91dCksXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBBc3NlcnRzIHRoYXQgdGhlIENvbmZsdWVuY2UgdG9rZW4gYW5kIHNpdGUgYmFzZSBVUkwgYXJlIGNvbmZpZ3VyZWRcbiAgICAgKiBAc3VtbWFyeSBDYWxsZWQgYnkgZXZlcnkgb3BlcmF0aW9uIGJlZm9yZSBpdCB0b3VjaGVzIHRoZSBuZXR3b3JrLlxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbm8gQVBJIHRva2VuIG9yIGJhc2UgVVJMIGlzIGNvbmZpZ3VyZWQuXG4gICAgICovXG4gICAgcmVxdWlyZUNyZWRlbnRpYWxzKCkge1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLnRva2VuKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkNvbmZsdWVuY2UgcmVxdWlyZXMgYW4gQVBJIHRva2VuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5jb25maWcuYmFzZVVybCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJDb25mbHVlbmNlIHJlcXVpcmVzIGEgYmFzZSBVUkxcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFdyYXBzIGEgYm9keSBpbiB0aGUgQ29uZmx1ZW5jZSBzdG9yYWdlIHJlcHJlc2VudGF0aW9uXG4gICAgICogQHN1bW1hcnkgUHJvZHVjZXMgdGhlIGB7IHN0b3JhZ2U6IHsgdmFsdWUsIHJlcHJlc2VudGF0aW9uIH0gfWAgZW52ZWxvcGVcbiAgICAgKiB0aGUgY29udGVudCBBUEkgZXhwZWN0cy5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gYm9keSAtIFRoZSBDb25mbHVlbmNlIHN0b3JhZ2UtZm9ybWF0IGJvZHkuXG4gICAgICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSBUaGUgc3RvcmFnZSBib2R5IGVudmVsb3BlLlxuICAgICAqL1xuICAgIHN0b3JhZ2VCb2R5KGJvZHkpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHN0b3JhZ2U6IHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogYm9keSxcbiAgICAgICAgICAgICAgICByZXByZXNlbnRhdGlvbjogXCJzdG9yYWdlXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRmV0Y2hlcyBhIENvbmZsdWVuY2UgcGFnZVxuICAgICAqIEBzdW1tYXJ5IGBHRVRgcyBgL3Jlc3QvYXBpL2NvbnRlbnQvPGlkPmAgd2l0aCB0aGUgcmVxdWVzdGVkIGBleHBhbmRgXG4gICAgICogZmllbGRzIChkZWZhdWx0IGBib2R5LnN0b3JhZ2UsdmVyc2lvbmApLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYWdlSWQgLSBUaGUgcGFnZSBJRC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2V4cGFuZF0gLSBDb21tYS1zZXBhcmF0ZWQgZmllbGRzIHRvIGV4cGFuZDsgZGVmYXVsdHMgdG8gYFwiYm9keS5zdG9yYWdlLHZlcnNpb25cImAuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBwYWdlIHBheWxvYWQuXG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBhcmUgbWlzc2luZyBvciB0aGUgcGFnZSBJRCBpcyBlbXB0eS5cbiAgICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBwYWdlIGRvZXMgbm90IGV4aXN0IChIVFRQIDQwNCkuXG4gICAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIHRoZSBBUEkgcmVqZWN0cyB0aGUgcmVxdWVzdC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRQYWdlKHBhZ2VJZCwgZXhwYW5kID0gXCJib2R5LnN0b3JhZ2UsdmVyc2lvblwiKSB7XG4gICAgICAgIHRoaXMucmVxdWlyZUNyZWRlbnRpYWxzKCk7XG4gICAgICAgIGlmICghcGFnZUlkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkNvbmZsdWVuY2UgcmVxdWlyZXMgYSBwYWdlIGlkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldChgL3Jlc3QvYXBpL2NvbnRlbnQvJHtlbmNvZGVVUklDb21wb25lbnQocGFnZUlkKX1gLCB7IHBhcmFtczogeyBleHBhbmQgfSB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgaHR0cEVycm9yKFwiQ29uZmx1ZW5jZVwiLCBcImdldCBwYWdlXCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gTGlzdHMgQ29uZmx1ZW5jZSBzcGFjZXNcbiAgICAgKiBAc3VtbWFyeSBgR0VUYHMgYC9yZXN0L2FwaS9zcGFjZWAgd2l0aCBhIHJlc3VsdCBgbGltaXRgIChkZWZhdWx0IGAyNWApLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGltaXRdIC0gTWF4aW11bSBudW1iZXIgb2Ygc3BhY2VzIHRvIHJldHVybjsgZGVmYXVsdHMgdG8gYDI1YC5cbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gVGhlIHNwYWNlIGNvbGxlY3Rpb24gcGF5bG9hZC5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIGNyZWRlbnRpYWxzIGFyZSBtaXNzaW5nLlxuICAgICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiB0aGUgQVBJIHJlamVjdHMgdGhlIHJlcXVlc3QuXG4gICAgICovXG4gICAgYXN5bmMgbGlzdFNwYWNlcyhsaW1pdCA9IDI1KSB7XG4gICAgICAgIHRoaXMucmVxdWlyZUNyZWRlbnRpYWxzKCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldChcIi9yZXN0L2FwaS9zcGFjZVwiLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7IGxpbWl0IH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgaHR0cEVycm9yKFwiQ29uZmx1ZW5jZVwiLCBcImxpc3Qgc3BhY2VzXCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQ3JlYXRlcyBhIENvbmZsdWVuY2UgcGFnZVxuICAgICAqIEBzdW1tYXJ5IGBQT1NUYHMgYSBgcGFnZWAgY29udGVudCBlbnRyeSBpbiB0aGUgdGFyZ2V0IHNwYWNlLCBvcHRpb25hbGx5XG4gICAgICogdW5kZXIgYSBwYXJlbnQsIHdpdGggdGhlIGJvZHkgaW4gc3RvcmFnZSBmb3JtYXQuXG4gICAgICogQHBhcmFtIHtDb25mbHVlbmNlUGFnZUlucHV0fSBpbnB1dCAtIFRoZSBzcGFjZSwgdGl0bGUsIGJvZHksIGFuZCBvcHRpb25hbCBwYXJlbnQuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBjcmVhdGVkIHBhZ2UgcGF5bG9hZC5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIGNyZWRlbnRpYWxzIGFyZSBtaXNzaW5nLCBvciB0aGUgc3BhY2Uga2V5IG9yIHRpdGxlIGlzIGVtcHR5LlxuICAgICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiB0aGUgQVBJIHJlamVjdHMgdGhlIHBhZ2UuXG4gICAgICogQGV4YW1wbGVcbiAgICAgKiBgYGB0c1xuICAgICAqIGF3YWl0IGNvbmZsdWVuY2UuY3JlYXRlUGFnZSh7XG4gICAgICogICBzcGFjZUtleTogXCJPUFNcIixcbiAgICAgKiAgIHRpdGxlOiBcIlJlbGVhc2UgMS4yLjBcIixcbiAgICAgKiAgIGJvZHk6IFwiPHA+RGV0YWlsc+KApjwvcD5cIixcbiAgICAgKiB9KTtcbiAgICAgKiBgYGBcbiAgICAgKi9cbiAgICBhc3luYyBjcmVhdGVQYWdlKGlucHV0KSB7XG4gICAgICAgIHRoaXMucmVxdWlyZUNyZWRlbnRpYWxzKCk7XG4gICAgICAgIGlmICghaW5wdXQuc3BhY2VLZXkgfHwgIWlucHV0LnRpdGxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkNvbmZsdWVuY2UgY3JlYXRlUGFnZSByZXF1aXJlcyBhIHNwYWNlIGtleSBhbmQgdGl0bGVcIik7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdChcIi9yZXN0L2FwaS9jb250ZW50XCIsIHtcbiAgICAgICAgICAgICAgICB0eXBlOiBERUZBVUxUX1BBR0VfVFlQRSxcbiAgICAgICAgICAgICAgICB0aXRsZTogaW5wdXQudGl0bGUsXG4gICAgICAgICAgICAgICAgc3BhY2U6IHsga2V5OiBpbnB1dC5zcGFjZUtleSB9LFxuICAgICAgICAgICAgICAgIC4uLihpbnB1dC5wYXJlbnRJZCA/IHsgYW5jZXN0b3JzOiBbeyBpZDogaW5wdXQucGFyZW50SWQgfV0gfSA6IHt9KSxcbiAgICAgICAgICAgICAgICBib2R5OiB0aGlzLnN0b3JhZ2VCb2R5KGlucHV0LmJvZHkgPz8gXCJcIiksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgaHR0cEVycm9yKFwiQ29uZmx1ZW5jZVwiLCBcImNyZWF0ZSBwYWdlXCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gVXBkYXRlcyBhIENvbmZsdWVuY2UgcGFnZVxuICAgICAqIEBzdW1tYXJ5IGBQVVRgcyB0aGUgbmV3IHRpdGxlIGFuZCBzdG9yYWdlIGJvZHkuIFdoZW4gYHZlcnNpb25gIGlzIG9taXR0ZWRcbiAgICAgKiB0aGUgY3VycmVudCB2ZXJzaW9uIGlzIHJlYWQgZmlyc3QgYW5kIHRoZSBuZXh0IG51bWJlciBpcyBzdWJtaXR0ZWQsIGFzXG4gICAgICogQ29uZmx1ZW5jZSByZXF1aXJlcyBvcHRpbWlzdGljIHZlcnNpb25pbmcuXG4gICAgICogQHBhcmFtIHtDb25mbHVlbmNlUGFnZVVwZGF0ZX0gaW5wdXQgLSBUaGUgcGFnZSwgbmV3IHRpdGxlL2JvZHksIGFuZCBvcHRpb25hbCB2ZXJzaW9uLlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBUaGUgdXBkYXRlZCBwYWdlIHBheWxvYWQuXG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBhcmUgbWlzc2luZywgb3IgdGhlIHBhZ2UgSUQgb3IgdGl0bGUgaXMgZW1wdHkuXG4gICAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgcGFnZSBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgICAqIEB0aHJvd3Mge0NvbmZsaWN0RXJyb3J9IFdoZW4gdGhlIHN1Ym1pdHRlZCB2ZXJzaW9uIGlzIHN0YWxlIChIVFRQIDQwOSkuXG4gICAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIHRoZSBBUEkgcmVqZWN0cyB0aGUgdXBkYXRlLlxuICAgICAqL1xuICAgIGFzeW5jIHVwZGF0ZVBhZ2UoaW5wdXQpIHtcbiAgICAgICAgdGhpcy5yZXF1aXJlQ3JlZGVudGlhbHMoKTtcbiAgICAgICAgaWYgKCFpbnB1dC5wYWdlSWQgfHwgIWlucHV0LnRpdGxlKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkNvbmZsdWVuY2UgdXBkYXRlUGFnZSByZXF1aXJlcyBhIHBhZ2UgaWQgYW5kIHRpdGxlXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBsZXQgdmVyc2lvbiA9IGlucHV0LnZlcnNpb247XG4gICAgICAgICAgICBpZiAodmVyc2lvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3VycmVudCA9IGF3YWl0IHRoaXMuY2xpZW50LmdldChgL3Jlc3QvYXBpL2NvbnRlbnQvJHtlbmNvZGVVUklDb21wb25lbnQoaW5wdXQucGFnZUlkKX1gLCB7IHBhcmFtczogeyBleHBhbmQ6IFwidmVyc2lvblwiIH0gfSk7XG4gICAgICAgICAgICAgICAgdmVyc2lvbiA9IChjdXJyZW50LmRhdGEudmVyc2lvbj8ubnVtYmVyID8/IDApICsgMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucHV0KGAvcmVzdC9hcGkvY29udGVudC8ke2VuY29kZVVSSUNvbXBvbmVudChpbnB1dC5wYWdlSWQpfWAsIHtcbiAgICAgICAgICAgICAgICBpZDogaW5wdXQucGFnZUlkLFxuICAgICAgICAgICAgICAgIHR5cGU6IERFRkFVTFRfUEFHRV9UWVBFLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpbnB1dC50aXRsZSxcbiAgICAgICAgICAgICAgICB2ZXJzaW9uOiB7IG51bWJlcjogdmVyc2lvbiB9LFxuICAgICAgICAgICAgICAgIGJvZHk6IHRoaXMuc3RvcmFnZUJvZHkoaW5wdXQuYm9keSA/PyBcIlwiKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBodHRwRXJyb3IoXCJDb25mbHVlbmNlXCIsIFwidXBkYXRlIHBhZ2VcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBEZWxldGVzIGEgQ29uZmx1ZW5jZSBwYWdlXG4gICAgICogQHN1bW1hcnkgYERFTEVURWBzIHRoZSBjb250ZW50IGVudHJ5IGFuZCByZXR1cm5zIGB7IGRlbGV0ZWQ6IHRydWUsIHBhZ2VJZCB9YC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGFnZUlkIC0gVGhlIHBhZ2UgSUQgdG8gZGVsZXRlLlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBgeyBkZWxldGVkOiB0cnVlLCBwYWdlSWQgfWAgb24gc3VjY2Vzcy5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIGNyZWRlbnRpYWxzIGFyZSBtaXNzaW5nIG9yIHRoZSBwYWdlIElEIGlzIGVtcHR5LlxuICAgICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIHBhZ2UgZG9lcyBub3QgZXhpc3QgKEhUVFAgNDA0KS5cbiAgICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gdGhlIEFQSSByZWplY3RzIHRoZSBkZWxldGlvbi5cbiAgICAgKi9cbiAgICBhc3luYyBkZWxldGVQYWdlKHBhZ2VJZCkge1xuICAgICAgICB0aGlzLnJlcXVpcmVDcmVkZW50aWFscygpO1xuICAgICAgICBpZiAoIXBhZ2VJZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJDb25mbHVlbmNlIHJlcXVpcmVzIGEgcGFnZSBpZFwiKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5jbGllbnQuZGVsZXRlKGAvcmVzdC9hcGkvY29udGVudC8ke2VuY29kZVVSSUNvbXBvbmVudChwYWdlSWQpfWApO1xuICAgICAgICAgICAgcmV0dXJuIHsgZGVsZXRlZDogdHJ1ZSwgcGFnZUlkIH07XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBodHRwRXJyb3IoXCJDb25mbHVlbmNlXCIsIFwiZGVsZXRlIHBhZ2VcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBTZWFyY2hlcyBDb25mbHVlbmNlIGNvbnRlbnQgd2l0aCBDUUxcbiAgICAgKiBAc3VtbWFyeSBgR0VUYHMgYC9yZXN0L2FwaS9jb250ZW50L3NlYXJjaGAgd2l0aCB0aGUgQ1FMIGV4cHJlc3Npb24gYW5kIGFuXG4gICAgICogb3B0aW9uYWwgYGxpbWl0YC5cbiAgICAgKiBAcGFyYW0ge0NvbmZsdWVuY2VTZWFyY2hJbnB1dH0gaW5wdXQgLSBUaGUgQ1FMIHF1ZXJ5IGFuZCByZXN1bHQgbGltaXQuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBzZWFyY2ggcmVzdWx0IHBheWxvYWQuXG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBhcmUgbWlzc2luZyBvciB0aGUgQ1FMIHF1ZXJ5IGlzIGVtcHR5LlxuICAgICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiB0aGUgQ1FMIHF1ZXJ5IGlzIGludmFsaWQuXG4gICAgICovXG4gICAgYXN5bmMgc2VhcmNoKGlucHV0KSB7XG4gICAgICAgIHRoaXMucmVxdWlyZUNyZWRlbnRpYWxzKCk7XG4gICAgICAgIGlmICghaW5wdXQuY3FsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkNvbmZsdWVuY2Ugc2VhcmNoIHJlcXVpcmVzIGEgQ1FMIHF1ZXJ5XCIpO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldChcIi9yZXN0L2FwaS9jb250ZW50L3NlYXJjaFwiLCB7XG4gICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgIGNxbDogaW5wdXQuY3FsLFxuICAgICAgICAgICAgICAgICAgICAuLi4oaW5wdXQubGltaXQgIT09IHVuZGVmaW5lZCA/IHsgbGltaXQ6IGlucHV0LmxpbWl0IH0gOiB7fSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBodHRwRXJyb3IoXCJDb25mbHVlbmNlXCIsIFwic2VhcmNoIGNvbnRlbnRcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUTI5dVpteDFaVzVqWlZObGNuWnBZMlV1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdmFXOHZZMjl1Wm14MVpXNWpaUzlEYjI1bWJIVmxibU5sVTJWeWRtbGpaUzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFUczdPenM3T3pzN096czdPenRIUVdGSE8wRkJRMGdzVDBGQlR5eEZRVUZGTEdGQlFXRXNSVUZCUlN4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlEzaEVMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRVVVzTkVKQlFYVkNPMEZCUXk5RExFOUJRVThzUlVGQlJTeFRRVUZUTEVWQlFVVXNVMEZCVXl4RlFVRkZMREpEUVVGelF6dEJRVU55UlN4UFFVRlBMRVZCUTB3c1kwRkJZeXhGUVVWa0xGTkJRVk1zUjBGRFZpeHhRMEZCTUVJN1FVRjFSek5DTEhsRlFVRjVSVHRCUVVONlJTeE5RVUZOTEdsQ1FVRnBRaXhIUVVGSExFMUJRVTBzUTBGQlF6dEJRVVZxUXpzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3UjBFMFEwYzdRVUZEU0N4TlFVRk5MRTlCUVU4c2FVSkJRV3RDTEZOQlFWRXNZMEZCZFVNN1NVRkJPVVU3TzFGQlEwVTdPMWRCUlVjN1VVRkRaMElzWjBKQlFWY3NSMEZCUnl4WlFVRlpMRU5CUVVNN1NVRjNVV2hFTEVOQlFVTTdTVUYwVVVNN096czdPMDlCUzBjN1NVRkRUeXhqUVVGak8xRkJRM1JDTEU5QlFVOHNSVUZCUlN4RFFVRkRPMGxCUTFvc1EwRkJRenRKUVVWRU96czdPenM3TzA5QlQwYzdTVUZEVHl4WFFVRlhMRU5CUTI1Q0xFMUJRU3RDTzFGQlJTOUNMRWxCUVVrc1RVRkJUU3hEUVVGRExGRkJRVkVzU1VGQlNTeE5RVUZOTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRjRU1zVFVGQlRTeFBRVUZQTEVkQlFVY3NUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkRla0lzUjBGQlJ5eE5RVUZOTEVOQlFVTXNVVUZCVVN4SlFVRkpMRTFCUVUwc1EwRkJReXhMUVVGTExFVkJRVVVzUlVGRGNFTXNUVUZCVFN4RFFVTlFMRU5CUVVNc1VVRkJVU3hEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETzFsQlEzSkNMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRVVVzVTBGQlV5eFBRVUZQTEVWQlFVVXNSVUZCUlN4RFFVRkRPMUZCUXk5RExFTkJRVU03VVVGRFJDeFBRVUZQTEUxQlFVMHNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzWVVGQllTeEZRVUZGTEZWQlFWVXNUVUZCVFN4RFFVRkRMRXRCUVVzc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXp0SlFVTjZSU3hEUVVGRE8wbEJSVVE3T3pzN096dFBRVTFITzBsQlEwOHNjVUpCUVhGQ08xRkJSemRDTEUxQlFVMHNSMEZCUnl4SFFVRkhMR0ZCUVdFc1EwRkJReXhGUVVGRkxFTkJRVU1zVlVGQlZTeERRVUZETzFGQlEzaERMRTFCUVUwc1MwRkJTeXhIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRjRU1zU1VGQlNTeERRVUZETEV0QlFVczdXVUZCUlN4UFFVRlBMRk5CUVZNc1EwRkJRenRSUVVNM1FpeFBRVUZQTzFsQlEwd3NTMEZCU3p0WlFVTk1MRkZCUVZFc1JVRkJSU3hUUVVGVExFTkJRVU1zUjBGQlJ5eERRVUZETEZGQlFWRXNRMEZCUXp0WlFVTnFReXhQUVVGUExFVkJRVVVzVTBGQlV5eERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNN1dVRkRMMElzVDBGQlR5eEZRVUZGTEZOQlFWTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRE8xTkJRMmhETEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRN096czdPMDlCUzBjN1NVRkRUeXhyUWtGQmEwSTdVVUZETVVJc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRka0lzVFVGQlRTeEpRVUZKTEdGQlFXRXNRMEZCUXl4clEwRkJhME1zUTBGQlF5eERRVUZETzFGQlF6bEVMRU5CUVVNN1VVRkRSQ3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4UFFVRlBMRVZCUVVVc1EwRkJRenRaUVVONlFpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVRkRMR2REUVVGblF5eERRVUZETEVOQlFVTTdVVUZETlVRc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlJEczdPenM3TzA5QlRVYzdTVUZEU3l4WFFVRlhMRU5CUVVNc1NVRkJXVHRSUVVNNVFpeFBRVUZQTzFsQlEwd3NUMEZCVHl4RlFVRkZPMmRDUVVOUUxFdEJRVXNzUlVGQlJTeEpRVUZKTzJkQ1FVTllMR05CUVdNc1JVRkJSU3hUUVVGVE8yRkJRekZDTzFOQlEwWXNRMEZCUXp0SlFVTktMRU5CUVVNN1NVRkZSRHM3T3pzN096czdPenRQUVZWSE8wbEJRMGdzUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4TlFVRmpMRVZCUVVVc1RVRkJUU3hIUVVGSExITkNRVUZ6UWp0UlFVTXpSQ3hKUVVGSkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVc1EwRkJRenRSUVVNeFFpeEpRVUZKTEVOQlFVTXNUVUZCVFN4RlFVRkZMRU5CUVVNN1dVRkRXaXhOUVVGTkxFbEJRVWtzWVVGQllTeERRVUZETEN0Q1FVRXJRaXhEUVVGRExFTkJRVU03VVVGRE0wUXNRMEZCUXp0UlFVTkVMRWxCUVVrc1EwRkJRenRaUVVOSUxFMUJRVTBzVVVGQlVTeEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRM0JETEhGQ1FVRnhRaXhyUWtGQmEwSXNRMEZCUXl4TlFVRk5MRU5CUVVNc1JVRkJSU3hGUVVOcVJDeEZRVUZGTEUxQlFVMHNSVUZCUlN4RlFVRkZMRTFCUVUwc1JVRkJSU3hGUVVGRkxFTkJRM1pDTEVOQlFVTTdXVUZEUml4UFFVRlBMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGRrSXNRMEZCUXp0UlFVRkRMRTlCUVU4c1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFppeE5RVUZOTEZOQlFWTXNRMEZCUXl4WlFVRlpMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlEyNUVMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSVVE3T3pzN096czdUMEZQUnp0SlFVTklMRXRCUVVzc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQlN5eEhRVUZITEVWQlFVVTdVVUZEZWtJc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RlFVRkZMRU5CUVVNN1VVRkRNVUlzU1VGQlNTeERRVUZETzFsQlEwZ3NUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVkQlFVY3NRMEZCUXl4cFFrRkJhVUlzUlVGQlJUdG5Ra0ZEZUVRc1RVRkJUU3hGUVVGRkxFVkJRVVVzUzBGQlN5eEZRVUZGTzJGQlEyeENMRU5CUVVNc1EwRkJRenRaUVVOSUxFOUJRVThzVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXp0UlFVTjJRaXhEUVVGRE8xRkJRVU1zVDBGQlR5eExRVUZMTEVWQlFVVXNRMEZCUXp0WlFVTm1MRTFCUVUwc1UwRkJVeXhEUVVGRExGbEJRVmtzUlVGQlJTeGhRVUZoTEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRkRVFzUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGUkRzN096czdPenM3T3pzN096czdPenRQUVdkQ1J6dEpRVU5JTEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1MwRkJNRUk3VVVGRGVrTXNTVUZCU1N4RFFVRkRMR3RDUVVGclFpeEZRVUZGTEVOQlFVTTdVVUZETVVJc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eFJRVUZSTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRGNFTXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzYzBSQlFYTkVMRU5CUTNaRUxFTkJRVU03VVVGRFNpeERRVUZETzFGQlEwUXNTVUZCU1N4RFFVRkRPMWxCUTBnc1RVRkJUU3hSUVVGUkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJReXh0UWtGQmJVSXNSVUZCUlR0blFrRkRNMFFzU1VGQlNTeEZRVUZGTEdsQ1FVRnBRanRuUWtGRGRrSXNTMEZCU3l4RlFVRkZMRXRCUVVzc1EwRkJReXhMUVVGTE8yZENRVU5zUWl4TFFVRkxMRVZCUVVVc1JVRkJSU3hIUVVGSExFVkJRVVVzUzBGQlN5eERRVUZETEZGQlFWRXNSVUZCUlR0blFrRkRPVUlzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzVTBGQlV5eEZRVUZGTEVOQlFVTXNSVUZCUlN4RlFVRkZMRVZCUVVVc1MwRkJTeXhEUVVGRExGRkJRVkVzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRE8yZENRVU5zUlN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4SlFVRkpMRVZCUVVVc1EwRkJRenRoUVVONlF5eERRVUZETEVOQlFVTTdXVUZEU0N4UFFVRlBMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGRrSXNRMEZCUXp0UlFVRkRMRTlCUVU4c1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFppeE5RVUZOTEZOQlFWTXNRMEZCUXl4WlFVRlpMRVZCUVVVc1lVRkJZU3hGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlEzUkVMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSVVE3T3pzN096czdPenM3TzA5QlYwYzdTVUZEU0N4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRVEpDTzFGQlF6RkRMRWxCUVVrc1EwRkJReXhyUWtGQmEwSXNSVUZCUlN4RFFVRkRPMUZCUXpGQ0xFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUVUZCVFN4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzFsQlEyeERMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRM0pDTEc5RVFVRnZSQ3hEUVVOeVJDeERRVUZETzFGQlEwb3NRMEZCUXp0UlFVTkVMRWxCUVVrc1EwRkJRenRaUVVOSUxFbEJRVWtzVDBGQlR5eEhRVUZITEV0QlFVc3NRMEZCUXl4UFFVRlBMRU5CUVVNN1dVRkROVUlzU1VGQlNTeFBRVUZQTEV0QlFVc3NVMEZCVXl4RlFVRkZMRU5CUVVNN1owSkJRekZDTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlEyNURMSEZDUVVGeFFpeHJRa0ZCYTBJc1EwRkJReXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNSVUZEZGtRc1JVRkJSU3hOUVVGTkxFVkJRVVVzUlVGQlJTeE5RVUZOTEVWQlFVVXNVMEZCVXl4RlFVRkZMRVZCUVVVc1EwRkRiRU1zUTBGQlF6dG5Ra0ZEUml4UFFVRlBMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlN4TlFVRk5MRWxCUVVrc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eERRVUZETzFsQlEzQkVMRU5CUVVNN1dVRkRSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1IwRkJSeXhEUVVOd1F5eHhRa0ZCY1VJc2EwSkJRV3RDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhGUVVGRkxFVkJRM1pFTzJkQ1FVTkZMRVZCUVVVc1JVRkJSU3hMUVVGTExFTkJRVU1zVFVGQlRUdG5Ra0ZEYUVJc1NVRkJTU3hGUVVGRkxHbENRVUZwUWp0blFrRkRka0lzUzBGQlN5eEZRVUZGTEV0QlFVc3NRMEZCUXl4TFFVRkxPMmRDUVVOc1FpeFBRVUZQTEVWQlFVVXNSVUZCUlN4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRk8yZENRVU0xUWl4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExGZEJRVmNzUTBGQlF5eExRVUZMTEVOQlFVTXNTVUZCU1N4SlFVRkpMRVZCUVVVc1EwRkJRenRoUVVONlF5eERRVU5HTEVOQlFVTTdXVUZEUml4UFFVRlBMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGRrSXNRMEZCUXp0UlFVRkRMRTlCUVU4c1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFppeE5RVUZOTEZOQlFWTXNRMEZCUXl4WlFVRlpMRVZCUVVVc1lVRkJZU3hGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlEzUkVMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSVVE3T3pzN096czdPMDlCVVVjN1NVRkRTQ3hMUVVGTExFTkJRVU1zVlVGQlZTeERRVUZETEUxQlFXTTdVVUZETjBJc1NVRkJTU3hEUVVGRExHdENRVUZyUWl4RlFVRkZMRU5CUVVNN1VVRkRNVUlzU1VGQlNTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMWxCUTFvc1RVRkJUU3hKUVVGSkxHRkJRV0VzUTBGQlF5d3JRa0ZCSzBJc1EwRkJReXhEUVVGRE8xRkJRek5FTEVOQlFVTTdVVUZEUkN4SlFVRkpMRU5CUVVNN1dVRkRTQ3hOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNUVUZCVFN4RFFVTjBRaXh4UWtGQmNVSXNhMEpCUVd0Q0xFTkJRVU1zVFVGQlRTeERRVUZETEVWQlFVVXNRMEZEYkVRc1EwRkJRenRaUVVOR0xFOUJRVThzUlVGQlJTeFBRVUZQTEVWQlFVVXNTVUZCU1N4RlFVRkZMRTFCUVUwc1JVRkJSU3hEUVVGRE8xRkJRMjVETEVOQlFVTTdVVUZCUXl4UFFVRlBMRXRCUVVzc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeFRRVUZUTEVOQlFVTXNXVUZCV1N4RlFVRkZMR0ZCUVdFc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU4wUkN4RFFVRkRPMGxCUTBnc1EwRkJRenRKUVVWRU96czdPenM3T3p0UFFWRkhPMGxCUTBnc1MwRkJTeXhEUVVGRExFMUJRVTBzUTBGQlF5eExRVUUwUWp0UlFVTjJReXhKUVVGSkxFTkJRVU1zYTBKQlFXdENMRVZCUVVVc1EwRkJRenRSUVVNeFFpeEpRVUZKTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeEpRVUZKTEdGQlFXRXNRMEZCUXl4M1EwRkJkME1zUTBGQlF5eERRVUZETzFGQlEzQkZMRU5CUVVNN1VVRkRSQ3hKUVVGSkxFTkJRVU03V1VGRFNDeE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETERCQ1FVRXdRaXhGUVVGRk8yZENRVU5xUlN4TlFVRk5MRVZCUVVVN2IwSkJRMDRzUjBGQlJ5eEZRVUZGTEV0QlFVc3NRMEZCUXl4SFFVRkhPMjlDUVVOa0xFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNTMEZCU3l4TFFVRkxMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeExRVUZMTEVWQlFVVXNTMEZCU3l4RFFVRkRMRXRCUVVzc1JVRkJSU3hEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEVOQlFVTTdhVUpCUXpkRU8yRkJRMFlzUTBGQlF5eERRVUZETzFsQlEwZ3NUMEZCVHl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRE8xRkJRM1pDTEVOQlFVTTdVVUZCUXl4UFFVRlBMRXRCUVVzc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeFRRVUZUTEVOQlFVTXNXVUZCV1N4RlFVRkZMR2RDUVVGblFpeEZRVUZGTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUTNwRUxFTkJRVU03U1VGRFNDeERRVUZETzBOQlEwWWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUl2S2lwY2JpQXFJRUJ0YjJSMWJHVWdhVzUwWldkeVlYUnBiMjV6TDJsdkwyTnZibVpzZFdWdVkyVXZjMlZ5ZG1salpWeHVJQ29nUUhOMWJXMWhjbmtnUTI5dVpteDFaVzVqWlNCU1JWTlVJRUZRU1NCcGJuUmxaM0poZEdsdmJpQnpaWEoyYVdObElHWnZjaUJ6Y0dGalpYTWdZVzVrSUhCaFoyVnpMbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRVY0Y0c5elpYTWdRMjl1Wm14MVpXNWpaU0JqYjI1MFpXNTBJRzl3WlhKaGRHbHZibk1nS0hOd1lXTmxjeXdnY0dGblpYTXNJR0Z1WkNCRFVVeGNiaUFxSUhObFlYSmphQ2tnWVhNZ1lXNGdkVzVrWldOdmNtRjBaV1FnWTJ4cFpXNTBMV0poYzJWa0lITmxjblpwWTJVZ1luVnBiSFFnYjI1Y2JpQXFJSHRBYkdsdWF5QklkSFJ3UVhCcFUyVnlkbWxqWlgwdUlFTnZibVpwWjNWeVlYUnBiMjRnWTI5dFpYTWdabkp2YlNCaGJpQmxlSEJzYVdOcGRGeHVJQ29nWUVOdmJtWnNkV1Z1WTJWVFpYSjJhV05sUTI5dVptbG5ZQ0J2Y2lCMGFHVWdZR2x2TG1OdmJtWnNkV1Z1WTJWZ0lHVnVkbWx5YjI1dFpXNTBJSE5zYVdObExpQlhhR1Z1SUdKdmRHaGNiaUFxSUdCMWMyVnlibUZ0WldBZ1lXNWtJR0IwYjJ0bGJtQWdZWEpsSUdOdmJtWnBaM1Z5WldRZ2RHaGxJSE5sY25acFkyVWdjMlZ1WkhNZ1NGUlVVQ0JDWVhOcFkxeHVJQ29nWVhWMGFHVnVkR2xqWVhScGIyNGdLRUZRU1NCMGIydGxiaUJoY3lCMGFHVWdjR0Z6YzNkdmNtUXBPeUJ2ZEdobGNuZHBjMlVnZEdobElIUnZhMlZ1SUdseklITmxiblFnWVhNZ1lWeHVJQ29nWW1WaGNtVnlJSFJ2YTJWdUxpQlVhR1VnYzJsMFpTQmdZbUZ6WlZWeWJHQWdhWE1nY21WeGRXbHlaV1F1SUVOeVpXUmxiblJwWVd4eklHRnlaU0J5WldabGNtVnVZMlZrSUdaeWIyMWNiaUFxSUdOdmJtWnBaM1Z5WVhScGIyNGdLR0Z1WkN3Z1puSnZiU0JoY3kxbmNtRndhQ0J1YjJSbGN5d2dabkp2YlNCMGFHVWdjbVZ6YjJ4MlpXUWdZR052Ym1ac2RXVnVZMlZnWEc0Z0tpQmpjbVZrWlc1MGFXRnNJSE5sWTNKbGRDa2dZVzVrSUdGeVpTQnVaWFpsY2lCbGJXSmxaR1JsWkNCcGJpQnpiM1Z5WTJVdUlFWmhhV3gxY21WeklHRnlaU0J0WVhCd1pXUWdkRzljYmlBcUlHUmxZMkZtSUdWeWNtOXljeUIyYVdFZ2UwQnNhVzVySUdoMGRIQkZjbkp2Y24wdVhHNGdLaTljYm1sdGNHOXlkQ0I3SUVsdWRHVnlibUZzUlhKeWIzSWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibWx0Y0c5eWRDQjdJRWx2Ulc1MmFYSnZibTFsYm5RZ2ZTQm1jbTl0SUZ3aUxpNHZaVzUyYVhKdmJtMWxiblJjSWp0Y2JtbHRjRzl5ZENCN0lHVnVkazUxYldKbGNpd2daVzUyVTNSeWFXNW5JSDBnWm5KdmJTQmNJaTR1THk0dUwzTm9ZWEpsWkM5bGJuWnBjbTl1YldWdWRGWmhiSFZsWENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JJZEhSd1FYQnBVMlZ5ZG1salpTeGNiaUFnZEhsd1pTQklkSFJ3UVhCcFUyVnlkbWxqWlVOdmJtWnBaeXhjYmlBZ2FIUjBjRVZ5Y205eUxGeHVmU0JtY205dElGd2lMaTR2TGk0dmMyaGhjbVZrTDJoMGRIQmNJanRjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdRMjl1Wm1sbmRYSmhkR2x2YmlCbWIzSWdkR2hsSUVOdmJtWnNkV1Z1WTJVZ2MyVnlkbWxqWlZ4dUlDb2dRSE4xYlcxaGNua2dSWGgwWlc1a2N5QjdRR3hwYm1zZ1NIUjBjRUZ3YVZObGNuWnBZMlZEYjI1bWFXZDlJSGRwZEdnZ2RHaGxJRUZRU1NCZ2RHOXJaVzVnTENCMGFHVmNiaUFxSUc5d2RHbHZibUZzSUdCMWMyVnlibUZ0WldBZ2RHaGhkQ0JsYm1GaWJHVnpJRUpoYzJsaklHRjFkR2hsYm5ScFkyRjBhVzl1TENCaGJtUWdkR2hsSUhKbGNYVnBjbVZrWEc0Z0tpQnphWFJsSUdCaVlYTmxWWEpzWUM0Z1YyaGxiaUJ2YldsMGRHVmtMQ0IwYUdVZ1lHbHZMbU52Ym1ac2RXVnVZMlZnSUdWdWRtbHliMjV0Wlc1MElITnNhV05sSUhOMWNIQnNhV1Z6WEc0Z0tpQjBhR1VnYzJGdFpTQjJZV3gxWlhNZ0tIQnNkWE1nYjNCMGFXOXVZV3dnWUhScGJXVnZkWFJnS1M1Y2JpQXFJRUJqWVhSbFoyOXllU0JKVDF4dUlDb2dRRzFsYldKbGNrOW1JRzF2WkhWc1pUcHBiblJsWjNKaGRHbHZibk12YVc4dlkyOXVabXgxWlc1alpTOXpaWEoyYVdObFhHNGdLaTljYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUTI5dVpteDFaVzVqWlZObGNuWnBZMlZEYjI1bWFXY2daWGgwWlc1a2N5QklkSFJ3UVhCcFUyVnlkbWxqWlVOdmJtWnBaeUI3WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnUTI5dVpteDFaVzVqWlNCQlVFa2dkRzlyWlc1Y2JpQWdJQ29nUUhOMWJXMWhjbmtnVlhObFpDQmhjeUIwYUdVZ1FtRnphV010WVhWMGFDQndZWE56ZDI5eVpDQjNhR1Z1SUdCMWMyVnlibUZ0WldBZ2FYTWdjMlYwTENCdmRHaGxjbmRwYzJVZ1lYTWdZU0JpWldGeVpYSWdkRzlyWlc0dVhHNGdJQ0FxTDF4dUlDQjBiMnRsYmo4NklITjBjbWx1Wnp0Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCRGIyNW1iSFZsYm1ObElHRmpZMjkxYm5RZ2RYTmxjbTVoYldVZ1ptOXlJRUpoYzJsaklHRjFkR2hsYm5ScFkyRjBhVzl1WEc0Z0lDQXFMMXh1SUNCMWMyVnlibUZ0WlQ4NklITjBjbWx1Wnp0Y2JuMWNibHh1THlvcVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1NXNXdkWFFnWm05eUlHTnlaV0YwYVc1bklHRWdRMjl1Wm14MVpXNWpaU0J3WVdkbFhHNGdLaUJBYzNWdGJXRnllU0JEWVhKeWFXVnpJSFJvWlNCMFlYSm5aWFFnWUhOd1lXTmxTMlY1WUN3Z2NHRm5aU0JnZEdsMGJHVmdMQ0J6ZEc5eVlXZGxMV1p2Y20xaGRDQmliMlI1TEZ4dUlDb2dZVzVrSUc5d2RHbHZibUZzSUdCd1lYSmxiblJKWkdBZ2IyWWdkR2hsSUdGdVkyVnpkRzl5SUhCaFoyVXVYRzRnS2lCQVkyRjBaV2R2Y25rZ1NVOWNiaUFxSUVCdFpXMWlaWEpQWmlCdGIyUjFiR1U2YVc1MFpXZHlZWFJwYjI1ekwybHZMMk52Ym1ac2RXVnVZMlV2YzJWeWRtbGpaVnh1SUNvdlhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFTnZibVpzZFdWdVkyVlFZV2RsU1c1d2RYUWdlMXh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRk53WVdObElHdGxlU0IwYUdGMElHOTNibk1nZEdobElHNWxkeUJ3WVdkbFhHNGdJQ0FxTDF4dUlDQnpjR0ZqWlV0bGVUb2djM1J5YVc1bk8xeHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlGQmhaMlVnZEdsMGJHVWdLSFZ1YVhGMVpTQjNhWFJvYVc0Z2RHaGxJSE53WVdObEtWeHVJQ0FnS2k5Y2JpQWdkR2wwYkdVNklITjBjbWx1Wnp0Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCUVlXZGxJR0p2WkhrZ2FXNGdRMjl1Wm14MVpXNWpaU0J6ZEc5eVlXZGxJR1p2Y20xaGRGeHVJQ0FnS2k5Y2JpQWdZbTlrZVRvZ2MzUnlhVzVuTzF4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUU5d2RHbHZibUZzSUhCaGNtVnVkQ0J3WVdkbElFbEVYRzRnSUNBcUwxeHVJQ0J3WVhKbGJuUkpaRDg2SUhOMGNtbHVaenRjYm4xY2JseHVMeW9xWEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnU1c1d2RYUWdabTl5SUhWd1pHRjBhVzVuSUdFZ1EyOXVabXgxWlc1alpTQndZV2RsWEc0Z0tpQkFjM1Z0YldGeWVTQkRZWEp5YVdWeklIUm9aU0JnY0dGblpVbGtZQ3dnYm1WM0lHQjBhWFJzWldBZ1lXNWtJSE4wYjNKaFoyVXRabTl5YldGMElHSnZaSGtzSUdGdVpDQmhibHh1SUNvZ2IzQjBhVzl1WVd3Z1lIWmxjbk5wYjI1Z0xpQlhhR1Z1SUdCMlpYSnphVzl1WUNCcGN5QnZiV2wwZEdWa0lIUm9aU0J6WlhKMmFXTmxJR1psZEdOb1pYTWdkR2hsWEc0Z0tpQmpkWEp5Wlc1MElIWmxjbk5wYjI0Z1lXNWtJSE4xWW0xcGRITWdkR2hsSUc1bGVIUWdiMjVsTGx4dUlDb2dRR05oZEdWbmIzSjVJRWxQWEc0Z0tpQkFiV1Z0WW1WeVQyWWdiVzlrZFd4bE9tbHVkR1ZuY21GMGFXOXVjeTlwYnk5amIyNW1iSFZsYm1ObEwzTmxjblpwWTJWY2JpQXFMMXh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JEYjI1bWJIVmxibU5sVUdGblpWVndaR0YwWlNCN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1NVUWdiMllnZEdobElIQmhaMlVnZEc4Z2RYQmtZWFJsWEc0Z0lDQXFMMXh1SUNCd1lXZGxTV1E2SUhOMGNtbHVaenRjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJPWlhjZ2NHRm5aU0IwYVhSc1pWeHVJQ0FnS2k5Y2JpQWdkR2wwYkdVNklITjBjbWx1Wnp0Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCT1pYY2djR0ZuWlNCaWIyUjVJR2x1SUVOdmJtWnNkV1Z1WTJVZ2MzUnZjbUZuWlNCbWIzSnRZWFJjYmlBZ0lDb3ZYRzRnSUdKdlpIazZJSE4wY21sdVp6dGNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQkZlSEJzYVdOcGRDQnVaWGNnZG1WeWMybHZiaUJ1ZFcxaVpYSWdLR0YxZEc4dGFXNWpjbVZ0Wlc1MFpXUWdkMmhsYmlCdmJXbDBkR1ZrS1Z4dUlDQWdLaTljYmlBZ2RtVnljMmx2Ymo4NklHNTFiV0psY2p0Y2JuMWNibHh1THlvcVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1NXNXdkWFFnWm05eUlHRWdRMjl1Wm14MVpXNWpaU0JEVVV3Z2MyVmhjbU5vWEc0Z0tpQkFjM1Z0YldGeWVTQkRZWEp5YVdWeklIUm9aU0JnWTNGc1lDQnhkV1Z5ZVNCaGJtUWdZVzRnYjNCMGFXOXVZV3dnY21WemRXeDBJR0JzYVcxcGRHQXVYRzRnS2lCQVkyRjBaV2R2Y25rZ1NVOWNiaUFxSUVCdFpXMWlaWEpQWmlCdGIyUjFiR1U2YVc1MFpXZHlZWFJwYjI1ekwybHZMMk52Ym1ac2RXVnVZMlV2YzJWeWRtbGpaVnh1SUNvdlhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFTnZibVpzZFdWdVkyVlRaV0Z5WTJoSmJuQjFkQ0I3WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnUTI5dVpteDFaVzVqWlNCUmRXVnllU0JNWVc1bmRXRm5aU0JsZUhCeVpYTnphVzl1WEc0Z0lDQXFMMXh1SUNCamNXdzZJSE4wY21sdVp6dGNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQk5ZWGhwYlhWdElHNTFiV0psY2lCdlppQnlaWE4xYkhSelhHNGdJQ0FxTDF4dUlDQnNhVzFwZEQ4NklHNTFiV0psY2p0Y2JuMWNibHh1THlvcVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1RXbHVhVzFoYkNCRGIyNW1iSFZsYm1ObElHTnZiblJsYm5RZ1pHVnpZM0pwY0hSdmNpQjFjMlZrSUdadmNpQjJaWEp6YVc5dUlHeHZiMnQxY0Z4dUlDb2dRSE4xYlcxaGNua2dRMkZ3ZEhWeVpYTWdkR2hsSUdsa1pXNTBhWFI1SUdGdVpDQjJaWEp6YVc5dUlHNTFiV0psY2lCeVpXRmtJR0psWm05eVpTQmhiaUIxY0dSaGRHVXVYRzRnS2k5Y2JtbHVkR1Z5Wm1GalpTQkRiMjVtYkhWbGJtTmxVR0ZuWlNCN1hHNGdJR2xrUHpvZ2MzUnlhVzVuTzF4dUlDQjBhWFJzWlQ4NklITjBjbWx1Wnp0Y2JpQWdkbVZ5YzJsdmJqODZJSHNnYm5WdFltVnlQem9nYm5WdFltVnlJSDA3WEc1OVhHNWNiaThxS2lCRVpXWmhkV3gwSUVOdmJtWnNkV1Z1WTJVZ1kyOXVkR1Z1ZENCMGVYQmxJSGR5YVhSMFpXNGdZbmtnZEdobElITmxjblpwWTJVZ0tHQmNJbkJoWjJWY0ltQXBMaUFxTDF4dVkyOXVjM1FnUkVWR1FWVk1WRjlRUVVkRlgxUlpVRVVnUFNCY0luQmhaMlZjSWp0Y2JseHVMeW9xWEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnUTI5dVpteDFaVzVqWlNCU1JWTlVJRUZRU1NCcGJuUmxaM0poZEdsdmJpQnpaWEoyYVdObFhHNGdLaUJBYzNWdGJXRnllU0JCYmlCMWJtUmxZMjl5WVhSbFpDQklWRlJRSUhObGNuWnBZMlVnWm05eUlISmxZV1JwYm1jc0lHTnlaV0YwYVc1bkxDQjFjR1JoZEdsdVp5d2dZVzVrWEc0Z0tpQmtaV3hsZEdsdVp5QndZV2RsY3l3Z2JHbHpkR2x1WnlCemNHRmpaWE1zSUdGdVpDQnlkVzV1YVc1bklFTlJUQ0J6WldGeVkyaGxjeTRnVkdobElITnBkR1VnWW1GelpTQlZVa3hjYmlBcUlHRnVaQ0JCVUVrZ2RHOXJaVzRnWVhKbElISmxjWFZwY21Wa095QnpkWEJ3YkhscGJtY2dZU0JnZFhObGNtNWhiV1ZnSUhOM2FYUmphR1Z6SUdGMWRHaGxiblJwWTJGMGFXOXVJSFJ2WEc0Z0tpQkNZWE5wWXl3Z1lXNWtJSFJ5WVc1emNHOXlkQ0JtWVdsc2RYSmxjeUJoY21VZ2JXRndjR1ZrSUhSdklHUmxZMkZtSUdWeWNtOXljeUIyYVdGY2JpQXFJSHRBYkdsdWF5Qm9kSFJ3UlhKeWIzSjlMbHh1SUNvZ1FHTnNZWE56SUVOdmJtWnNkV1Z1WTJWVFpYSjJhV05sWEc0Z0tpQkFaWGgwWlc1a2N5QklkSFJ3UVhCcFUyVnlkbWxqWlZ4dUlDb2dRR05oZEdWbmIzSjVJRWxQWEc0Z0tpQkFaWGhoYlhCc1pWeHVJQ29nWUdCZ2RITmNiaUFxSUdsdGNHOXlkQ0I3SUVOdmJtWnNkV1Z1WTJWVFpYSjJhV05sSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5cGJuUmxaM0poZEdsdmJuTXZhVzh2WTI5dVpteDFaVzVqWlZ3aU8xeHVJQ3BjYmlBcUlHTnZibk4wSUdOdmJtWnNkV1Z1WTJVZ1BTQnVaWGNnUTI5dVpteDFaVzVqWlZObGNuWnBZMlVvS1R0Y2JpQXFJR0YzWVdsMElHTnZibVpzZFdWdVkyVXVhVzVwZEdsaGJHbDZaU2g3WEc0Z0tpQWdJR0poYzJWVmNtdzZJRndpYUhSMGNITTZMeTlsZUdGdGNHeGxMbUYwYkdGemMybGhiaTV1WlhRdmQybHJhVndpTEZ4dUlDb2dJQ0IxYzJWeWJtRnRaVG9nY0hKdlkyVnpjeTVsYm5ZdVEwOU9Sa3hWUlU1RFJWOVZVMFZTVGtGTlJTeGNiaUFxSUNBZ2RHOXJaVzQ2SUhCeWIyTmxjM011Wlc1MkxrZFNRVkJJWDBOU1JVUkZUbFJKUVV4ZlEwOU9Sa3hWUlU1RFJWOVVUMHRGVGl4Y2JpQXFJSDBwTzF4dUlDb2dZMjl1YzNRZ2NHRm5aU0E5SUdGM1lXbDBJR052Ym1ac2RXVnVZMlV1WjJWMFVHRm5aU2hjSWpFeU16UTFObHdpS1R0Y2JpQXFJR0JnWUZ4dUlDb2dRRzFsY20xaGFXUmNiaUFxSUhObGNYVmxibU5sUkdsaFozSmhiVnh1SUNvZ0lDQmhkWFJ2Ym5WdFltVnlYRzRnS2lBZ0lIQmhjblJwWTJsd1lXNTBJRU5oYkd4bGNseHVJQ29nSUNCd1lYSjBhV05wY0dGdWRDQlRaWEoyYVdObElHRnpJRU52Ym1ac2RXVnVZMlZUWlhKMmFXTmxYRzRnS2lBZ0lIQmhjblJwWTJsd1lXNTBJRUZRU1NCaGN5QkRiMjVtYkhWbGJtTmxJRkpGVTFRZ1FWQkpYRzRnS2lBZ0lFTmhiR3hsY2kwK1BsTmxjblpwWTJVNklIVndaR0YwWlZCaFoyVW9hVzV3ZFhRcFhHNGdLaUFnSUdGamRHbDJZWFJsSUZObGNuWnBZMlZjYmlBcUlDQWdVMlZ5ZG1salpTMCtQbE5sY25acFkyVTZJSEpsY1hWcGNtVkRjbVZrWlc1MGFXRnNjeWdwWEc0Z0tpQWdJRzl3ZENCMlpYSnphVzl1SUc5dGFYUjBaV1JjYmlBcUlDQWdJQ0JUWlhKMmFXTmxMVDQrUVZCSk9pQkhSVlFnTDNKbGMzUXZZWEJwTDJOdmJuUmxiblF2ZTJsa2ZUOWxlSEJoYm1ROWRtVnljMmx2Ymx4dUlDb2dJQ0FnSUdGamRHbDJZWFJsSUVGUVNWeHVJQ29nSUNBZ0lFRlFTUzB0UGo1VFpYSjJhV05sT2lCamRYSnlaVzUwSUhabGNuTnBiMjVjYmlBcUlDQWdJQ0JrWldGamRHbDJZWFJsSUVGUVNWeHVJQ29nSUNCbGJtUmNiaUFxSUNBZ1UyVnlkbWxqWlMwK1BrRlFTVG9nVUZWVUlDOXlaWE4wTDJGd2FTOWpiMjUwWlc1MEwzdHBaSDFjYmlBcUlDQWdZV04wYVhaaGRHVWdRVkJKWEc0Z0tpQWdJRUZRU1MwdFBqNVRaWEoyYVdObE9pQjFjR1JoZEdWa0lIQmhaMlZjYmlBcUlDQWdaR1ZoWTNScGRtRjBaU0JCVUVsY2JpQXFJQ0FnVTJWeWRtbGpaUzB0UGo1RFlXeHNaWEk2SUhWd1pHRjBaV1FnY0dGblpWeHVJQ29nSUNCa1pXRmpkR2wyWVhSbElGTmxjblpwWTJWY2JpQXFJRUJ0WlcxaVpYSlBaaUJ0YjJSMWJHVTZhVzUwWldkeVlYUnBiMjV6TDJsdkwyTnZibVpzZFdWdVkyVXZjMlZ5ZG1salpWeHVJQ292WEc1bGVIQnZjblFnWTJ4aGMzTWdRMjl1Wm14MVpXNWpaVk5sY25acFkyVWdaWGgwWlc1a2N5QklkSFJ3UVhCcFUyVnlkbWxqWlR4RGIyNW1iSFZsYm1ObFUyVnlkbWxqWlVOdmJtWnBaejRnZTF4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUZSb1pTQndjbTkyYVdSbGNpQnVZVzFsSUhWelpXUWdhVzRnWlhKeWIzSWdiV1Z6YzJGblpYTmNiaUFnSUNvdlhHNGdJSEJ5YjNSbFkzUmxaQ0J5WldGa2IyNXNlU0J6WlhKMmFXTmxUbUZ0WlNBOUlGd2lRMjl1Wm14MVpXNWpaVndpTzF4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1ZHaGxJR1JsWm1GMWJIUWdZbUZ6WlNCVlVrd2dabTl5SUVOdmJtWnNkV1Z1WTJWY2JpQWdJQ29nUUhOMWJXMWhjbmtnVW1WMGRYSnVjeUJoYmlCbGJYQjBlU0J6ZEhKcGJtYzdJRU52Ym1ac2RXVnVZMlVnYVhNZ2MybDBaUzFvYjNOMFpXUXNJSE52SUhSb1pWeHVJQ0FnS2lCeVpYTnZiSFpsWkNCZ1ltRnpaVlZ5YkdBZ0tHWnliMjBnWTI5dVptbG5JRzl5SUdCcGJ5NWpiMjVtYkhWbGJtTmxMbUpoYzJWVmNteGdLU0JwY3lCeVpYRjFhWEpsWkM1Y2JpQWdJQ29nUUhKbGRIVnlibk1nZTNOMGNtbHVaMzBnUVc0Z1pXMXdkSGtnYzNSeWFXNW5MbHh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUdSbFptRjFiSFJDWVhObFZYSnNLQ2s2SUhOMGNtbHVaeUI3WEc0Z0lDQWdjbVYwZFhKdUlGd2lYQ0k3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRUoxYVd4a2N5QjBhR1VnUTI5dVpteDFaVzVqWlNCaGRYUm9aVzUwYVdOaGRHbHZiaUJvWldGa1pYSnpYRzRnSUNBcUlFQnpkVzF0WVhKNUlGVnpaWE1nU0ZSVVVDQkNZWE5wWXlBb1lIVnpaWEp1WVcxbE9uUnZhMlZ1WUNrZ2QyaGxiaUJpYjNSb0lIWmhiSFZsY3lCaGNtVWdjSEpsYzJWdWRDeGNiaUFnSUNvZ2IzUm9aWEozYVhObElHRWdZbVZoY21WeUlIUnZhMlZ1SUhkb1pXNGdiMjVzZVNCZ2RHOXJaVzVnSUdseklIQnlaWE5sYm5Rc0lHOTBhR1Z5ZDJselpTQnViMXh1SUNBZ0tpQm9aV0ZrWlhKekxseHVJQ0FnS2lCQWNHRnlZVzBnZTBOdmJtWnNkV1Z1WTJWVFpYSjJhV05sUTI5dVptbG5mU0JqYjI1bWFXY2dMU0JVYUdVZ2NtVnpiMngyWldRZ2MyVnlkbWxqWlNCamIyNW1hV2QxY21GMGFXOXVMbHh1SUNBZ0tpQkFjbVYwZFhKdWN5QjdVbVZqYjNKa1BITjBjbWx1Wnl3Z2MzUnlhVzVuUG4wZ1ZHaGxJR0YxZEdodmNtbDZZWFJwYjI0Z2FHVmhaR1Z5Y3k1Y2JpQWdJQ292WEc0Z0lIQnliM1JsWTNSbFpDQmhkWFJvU0dWaFpHVnljeWhjYmlBZ0lDQmpiMjVtYVdjNklFTnZibVpzZFdWdVkyVlRaWEoyYVdObFEyOXVabWxuWEc0Z0lDazZJRkpsWTI5eVpEeHpkSEpwYm1jc0lITjBjbWx1Wno0Z2UxeHVJQ0FnSUdsbUlDaGpiMjVtYVdjdWRYTmxjbTVoYldVZ0ppWWdZMjl1Wm1sbkxuUnZhMlZ1S1NCN1hHNGdJQ0FnSUNCamIyNXpkQ0JsYm1OdlpHVmtJRDBnUW5WbVptVnlMbVp5YjIwb1hHNGdJQ0FnSUNBZ0lHQWtlMk52Ym1acFp5NTFjMlZ5Ym1GdFpYMDZKSHRqYjI1bWFXY3VkRzlyWlc1OVlDeGNiaUFnSUNBZ0lDQWdYQ0oxZEdZNFhDSmNiaUFnSUNBZ0lDa3VkRzlUZEhKcGJtY29YQ0ppWVhObE5qUmNJaWs3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdleUJCZFhSb2IzSnBlbUYwYVc5dU9pQmdRbUZ6YVdNZ0pIdGxibU52WkdWa2ZXQWdmVHRjYmlBZ0lDQjlYRzRnSUNBZ2NtVjBkWEp1SUdOdmJtWnBaeTUwYjJ0bGJpQS9JSHNnUVhWMGFHOXlhWHBoZEdsdmJqb2dZRUpsWVhKbGNpQWtlMk52Ym1acFp5NTBiMnRsYm4xZ0lIMGdPaUI3ZlR0Y2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnVW1WaFpITWdkR2hsSUVOdmJtWnNkV1Z1WTJVZ1kzSmxaR1Z1ZEdsaGJITWdZVzVrSUdSbFptRjFiSFJ6SUdaeWIyMGdkR2hsSUdWdWRtbHliMjV0Wlc1MFhHNGdJQ0FxSUVCemRXMXRZWEo1SUZKbFlXUnpJSFJvWlNCZ2FXOHVZMjl1Wm14MVpXNWpaV0FnYzJ4cFkyVWdZVzVrSUhKbGRIVnlibk1nWVNCd1lYSjBhV0ZzSUdOdmJtWnBaeUIzYUdWdVhHNGdJQ0FxSUdGdUlFRlFTU0IwYjJ0bGJpQnBjeUJqYjI1bWFXZDFjbVZrTENCZ2RXNWtaV1pwYm1Wa1lDQnZkR2hsY25kcGMyVXVJRlpoYkhWbGN5QndZWE56SUhSb2NtOTFaMmhjYmlBZ0lDb2dZR1Z1ZGxOMGNtbHVaMkF2WUdWdWRrNTFiV0psY21BZ2RHOGdjbVZxWldOMElIVnVjMlYwTFd4bFlXWWdjSEp2ZUdsbGN5NWNiaUFnSUNvZ1FISmxkSFZ5Ym5NZ2UxQmhjblJwWVd3OFEyOXVabXgxWlc1alpWTmxjblpwWTJWRGIyNW1hV2MrSUh3Z2RXNWtaV1pwYm1Wa2ZTQkJJSEJoY25ScFlXd2dZMjl1Wm1sbkxDQnZjaUJnZFc1a1pXWnBibVZrWUNCM2FHVnVJRzV2SUVOdmJtWnNkV1Z1WTJVZ2RHOXJaVzRnYVhNZ1kyOXVabWxuZFhKbFpDNWNiaUFnSUNvdlhHNGdJSEJ5YjNSbFkzUmxaQ0JqYjI1bWFXZEdjbTl0Ulc1MmFYSnZibTFsYm5Rb0tUcGNiaUFnSUNCOElGQmhjblJwWVd3OFEyOXVabXgxWlc1alpWTmxjblpwWTJWRGIyNW1hV2MrWEc0Z0lDQWdmQ0IxYm1SbFptbHVaV1FnZTF4dUlDQWdJR052Ym5OMElHVnVkaUE5SUVsdlJXNTJhWEp2Ym0xbGJuUXVhVzh1WTI5dVpteDFaVzVqWlR0Y2JpQWdJQ0JqYjI1emRDQjBiMnRsYmlBOUlHVnVkbE4wY21sdVp5aGxiblkvTG5SdmEyVnVLVHRjYmlBZ0lDQnBaaUFvSVhSdmEyVnVLU0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNCMGIydGxiaXhjYmlBZ0lDQWdJSFZ6WlhKdVlXMWxPaUJsYm5aVGRISnBibWNvWlc1MkxuVnpaWEp1WVcxbEtTeGNiaUFnSUNBZ0lHSmhjMlZWY213NklHVnVkbE4wY21sdVp5aGxibll1WW1GelpWVnliQ2tzWEc0Z0lDQWdJQ0IwYVcxbGIzVjBPaUJsYm5aT2RXMWlaWElvWlc1MkxuUnBiV1Z2ZFhRcExGeHVJQ0FnSUgwN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVGemMyVnlkSE1nZEdoaGRDQjBhR1VnUTI5dVpteDFaVzVqWlNCMGIydGxiaUJoYm1RZ2MybDBaU0JpWVhObElGVlNUQ0JoY21VZ1kyOXVabWxuZFhKbFpGeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCRFlXeHNaV1FnWW5rZ1pYWmxjbmtnYjNCbGNtRjBhVzl1SUdKbFptOXlaU0JwZENCMGIzVmphR1Z6SUhSb1pTQnVaWFIzYjNKckxseHVJQ0FnS2lCQWNtVjBkWEp1Y3lCN2RtOXBaSDFjYmlBZ0lDb2dRSFJvY205M2N5QjdTVzUwWlhKdVlXeEZjbkp2Y24wZ1YyaGxiaUJ1YnlCQlVFa2dkRzlyWlc0Z2IzSWdZbUZ6WlNCVlVrd2dhWE1nWTI5dVptbG5kWEpsWkM1Y2JpQWdJQ292WEc0Z0lIQnliM1JsWTNSbFpDQnlaWEYxYVhKbFEzSmxaR1Z1ZEdsaGJITW9LVG9nZG05cFpDQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtTnZibVpwWnk1MGIydGxiaWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YQ0pEYjI1bWJIVmxibU5sSUhKbGNYVnBjbVZ6SUdGdUlFRlFTU0IwYjJ0bGJsd2lLVHRjYmlBZ0lDQjlYRzRnSUNBZ2FXWWdLQ0YwYUdsekxtTnZibVpwWnk1aVlYTmxWWEpzS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWhjSWtOdmJtWnNkV1Z1WTJVZ2NtVnhkV2x5WlhNZ1lTQmlZWE5sSUZWU1RGd2lLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlGZHlZWEJ6SUdFZ1ltOWtlU0JwYmlCMGFHVWdRMjl1Wm14MVpXNWpaU0J6ZEc5eVlXZGxJSEpsY0hKbGMyVnVkR0YwYVc5dVhHNGdJQ0FxSUVCemRXMXRZWEo1SUZCeWIyUjFZMlZ6SUhSb1pTQmdleUJ6ZEc5eVlXZGxPaUI3SUhaaGJIVmxMQ0J5WlhCeVpYTmxiblJoZEdsdmJpQjlJSDFnSUdWdWRtVnNiM0JsWEc0Z0lDQXFJSFJvWlNCamIyNTBaVzUwSUVGUVNTQmxlSEJsWTNSekxseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnWW05a2VTQXRJRlJvWlNCRGIyNW1iSFZsYm1ObElITjBiM0poWjJVdFptOXliV0YwSUdKdlpIa3VYRzRnSUNBcUlFQnlaWFIxY201eklIdFNaV052Y21ROGMzUnlhVzVuTENCMWJtdHViM2R1UG4wZ1ZHaGxJSE4wYjNKaFoyVWdZbTlrZVNCbGJuWmxiRzl3WlM1Y2JpQWdJQ292WEc0Z0lIQnlhWFpoZEdVZ2MzUnZjbUZuWlVKdlpIa29ZbTlrZVRvZ2MzUnlhVzVuS1RvZ1VtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajRnZTF4dUlDQWdJSEpsZEhWeWJpQjdYRzRnSUNBZ0lDQnpkRzl5WVdkbE9pQjdYRzRnSUNBZ0lDQWdJSFpoYkhWbE9pQmliMlI1TEZ4dUlDQWdJQ0FnSUNCeVpYQnlaWE5sYm5SaGRHbHZiam9nWENKemRHOXlZV2RsWENJc1hHNGdJQ0FnSUNCOUxGeHVJQ0FnSUgwN1hHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVabGRHTm9aWE1nWVNCRGIyNW1iSFZsYm1ObElIQmhaMlZjYmlBZ0lDb2dRSE4xYlcxaGNua2dZRWRGVkdCeklHQXZjbVZ6ZEM5aGNHa3ZZMjl1ZEdWdWRDODhhV1ErWUNCM2FYUm9JSFJvWlNCeVpYRjFaWE4wWldRZ1lHVjRjR0Z1WkdCY2JpQWdJQ29nWm1sbGJHUnpJQ2hrWldaaGRXeDBJR0JpYjJSNUxuTjBiM0poWjJVc2RtVnljMmx2Ym1BcExseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnY0dGblpVbGtJQzBnVkdobElIQmhaMlVnU1VRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0JiWlhod1lXNWtYU0F0SUVOdmJXMWhMWE5sY0dGeVlYUmxaQ0JtYVdWc1pITWdkRzhnWlhod1lXNWtPeUJrWldaaGRXeDBjeUIwYnlCZ1hDSmliMlI1TG5OMGIzSmhaMlVzZG1WeWMybHZibHdpWUM1Y2JpQWdJQ29nUUhKbGRIVnlibk1nZTFCeWIyMXBjMlU4ZFc1cmJtOTNiajU5SUZSb1pTQndZV2RsSUhCaGVXeHZZV1F1WEc0Z0lDQXFJRUIwYUhKdmQzTWdlMGx1ZEdWeWJtRnNSWEp5YjNKOUlGZG9aVzRnWTNKbFpHVnVkR2xoYkhNZ1lYSmxJRzFwYzNOcGJtY2diM0lnZEdobElIQmhaMlVnU1VRZ2FYTWdaVzF3ZEhrdVhHNGdJQ0FxSUVCMGFISnZkM01nZTA1dmRFWnZkVzVrUlhKeWIzSjlJRmRvWlc0Z2RHaGxJSEJoWjJVZ1pHOWxjeUJ1YjNRZ1pYaHBjM1FnS0VoVVZGQWdOREEwS1M1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3UW1Ga1VtVnhkV1Z6ZEVWeWNtOXlmU0JYYUdWdUlIUm9aU0JCVUVrZ2NtVnFaV04wY3lCMGFHVWdjbVZ4ZFdWemRDNWNiaUFnSUNvdlhHNGdJR0Z6ZVc1aklHZGxkRkJoWjJVb2NHRm5aVWxrT2lCemRISnBibWNzSUdWNGNHRnVaQ0E5SUZ3aVltOWtlUzV6ZEc5eVlXZGxMSFpsY25OcGIyNWNJaWs2SUZCeWIyMXBjMlU4ZFc1cmJtOTNiajRnZTF4dUlDQWdJSFJvYVhNdWNtVnhkV2x5WlVOeVpXUmxiblJwWVd4ektDazdYRzRnSUNBZ2FXWWdLQ0Z3WVdkbFNXUXBJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtGd2lRMjl1Wm14MVpXNWpaU0J5WlhGMWFYSmxjeUJoSUhCaFoyVWdhV1JjSWlrN1hHNGdJQ0FnZlZ4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJSFJvYVhNdVkyeHBaVzUwTG1kbGRDaGNiaUFnSUNBZ0lDQWdZQzl5WlhOMEwyRndhUzlqYjI1MFpXNTBMeVI3Wlc1amIyUmxWVkpKUTI5dGNHOXVaVzUwS0hCaFoyVkpaQ2w5WUN4Y2JpQWdJQ0FnSUNBZ2V5QndZWEpoYlhNNklIc2daWGh3WVc1a0lIMGdmVnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE53YjI1elpTNWtZWFJoTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1Z5Y205eUtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCb2RIUndSWEp5YjNJb1hDSkRiMjVtYkhWbGJtTmxYQ0lzSUZ3aVoyVjBJSEJoWjJWY0lpd2daWEp5YjNJcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnVEdsemRITWdRMjl1Wm14MVpXNWpaU0J6Y0dGalpYTmNiaUFnSUNvZ1FITjFiVzFoY25rZ1lFZEZWR0J6SUdBdmNtVnpkQzloY0drdmMzQmhZMlZnSUhkcGRHZ2dZU0J5WlhOMWJIUWdZR3hwYldsMFlDQW9aR1ZtWVhWc2RDQmdNalZnS1M1Y2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRnRzYVcxcGRGMGdMU0JOWVhocGJYVnRJRzUxYldKbGNpQnZaaUJ6Y0dGalpYTWdkRzhnY21WMGRYSnVPeUJrWldaaGRXeDBjeUIwYnlCZ01qVmdMbHh1SUNBZ0tpQkFjbVYwZFhKdWN5QjdVSEp2YldselpUeDFibXR1YjNkdVBuMGdWR2hsSUhOd1lXTmxJR052Ykd4bFkzUnBiMjRnY0dGNWJHOWhaQzVjYmlBZ0lDb2dRSFJvY205M2N5QjdTVzUwWlhKdVlXeEZjbkp2Y24wZ1YyaGxiaUJqY21Wa1pXNTBhV0ZzY3lCaGNtVWdiV2x6YzJsdVp5NWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1FtRmtVbVZ4ZFdWemRFVnljbTl5ZlNCWGFHVnVJSFJvWlNCQlVFa2djbVZxWldOMGN5QjBhR1VnY21WeGRXVnpkQzVjYmlBZ0lDb3ZYRzRnSUdGemVXNWpJR3hwYzNSVGNHRmpaWE1vYkdsdGFYUWdQU0F5TlNrNklGQnliMjFwYzJVOGRXNXJibTkzYmo0Z2UxeHVJQ0FnSUhSb2FYTXVjbVZ4ZFdseVpVTnlaV1JsYm5ScFlXeHpLQ2s3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSEpsYzNCdmJuTmxJRDBnWVhkaGFYUWdkR2hwY3k1amJHbGxiblF1WjJWMEtGd2lMM0psYzNRdllYQnBMM053WVdObFhDSXNJSHRjYmlBZ0lDQWdJQ0FnY0dGeVlXMXpPaUI3SUd4cGJXbDBJSDBzWEc0Z0lDQWdJQ0I5S1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhOd2IyNXpaUzVrWVhSaE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5Qm9kSFJ3UlhKeWIzSW9YQ0pEYjI1bWJIVmxibU5sWENJc0lGd2liR2x6ZENCemNHRmpaWE5jSWl3Z1pYSnliM0lwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdRM0psWVhSbGN5QmhJRU52Ym1ac2RXVnVZMlVnY0dGblpWeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCZ1VFOVRWR0J6SUdFZ1lIQmhaMlZnSUdOdmJuUmxiblFnWlc1MGNua2dhVzRnZEdobElIUmhjbWRsZENCemNHRmpaU3dnYjNCMGFXOXVZV3hzZVZ4dUlDQWdLaUIxYm1SbGNpQmhJSEJoY21WdWRDd2dkMmwwYUNCMGFHVWdZbTlrZVNCcGJpQnpkRzl5WVdkbElHWnZjbTFoZEM1Y2JpQWdJQ29nUUhCaGNtRnRJSHREYjI1bWJIVmxibU5sVUdGblpVbHVjSFYwZlNCcGJuQjFkQ0F0SUZSb1pTQnpjR0ZqWlN3Z2RHbDBiR1VzSUdKdlpIa3NJR0Z1WkNCdmNIUnBiMjVoYkNCd1lYSmxiblF1WEc0Z0lDQXFJRUJ5WlhSMWNtNXpJSHRRY205dGFYTmxQSFZ1YTI1dmQyNCtmU0JVYUdVZ1kzSmxZWFJsWkNCd1lXZGxJSEJoZVd4dllXUXVYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwbHVkR1Z5Ym1Gc1JYSnliM0o5SUZkb1pXNGdZM0psWkdWdWRHbGhiSE1nWVhKbElHMXBjM05wYm1jc0lHOXlJSFJvWlNCemNHRmpaU0JyWlhrZ2IzSWdkR2wwYkdVZ2FYTWdaVzF3ZEhrdVhHNGdJQ0FxSUVCMGFISnZkM01nZTBKaFpGSmxjWFZsYzNSRmNuSnZjbjBnVjJobGJpQjBhR1VnUVZCSklISmxhbVZqZEhNZ2RHaGxJSEJoWjJVdVhHNGdJQ0FxSUVCbGVHRnRjR3hsWEc0Z0lDQXFJR0JnWUhSelhHNGdJQ0FxSUdGM1lXbDBJR052Ym1ac2RXVnVZMlV1WTNKbFlYUmxVR0ZuWlNoN1hHNGdJQ0FxSUNBZ2MzQmhZMlZMWlhrNklGd2lUMUJUWENJc1hHNGdJQ0FxSUNBZ2RHbDBiR1U2SUZ3aVVtVnNaV0Z6WlNBeExqSXVNRndpTEZ4dUlDQWdLaUFnSUdKdlpIazZJRndpUEhBK1JHVjBZV2xzYytLQXBqd3ZjRDVjSWl4Y2JpQWdJQ29nZlNrN1hHNGdJQ0FxSUdCZ1lGeHVJQ0FnS2k5Y2JpQWdZWE41Ym1NZ1kzSmxZWFJsVUdGblpTaHBibkIxZERvZ1EyOXVabXgxWlc1alpWQmhaMlZKYm5CMWRDazZJRkJ5YjIxcGMyVThkVzVyYm05M2JqNGdlMXh1SUNBZ0lIUm9hWE11Y21WeGRXbHlaVU55WldSbGJuUnBZV3h6S0NrN1hHNGdJQ0FnYVdZZ0tDRnBibkIxZEM1emNHRmpaVXRsZVNCOGZDQWhhVzV3ZFhRdWRHbDBiR1VwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuUmxjbTVoYkVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JjSWtOdmJtWnNkV1Z1WTJVZ1kzSmxZWFJsVUdGblpTQnlaWEYxYVhKbGN5QmhJSE53WVdObElHdGxlU0JoYm1RZ2RHbDBiR1ZjSWx4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSEpsYzNCdmJuTmxJRDBnWVhkaGFYUWdkR2hwY3k1amJHbGxiblF1Y0c5emRDaGNJaTl5WlhOMEwyRndhUzlqYjI1MFpXNTBYQ0lzSUh0Y2JpQWdJQ0FnSUNBZ2RIbHdaVG9nUkVWR1FWVk1WRjlRUVVkRlgxUlpVRVVzWEc0Z0lDQWdJQ0FnSUhScGRHeGxPaUJwYm5CMWRDNTBhWFJzWlN4Y2JpQWdJQ0FnSUNBZ2MzQmhZMlU2SUhzZ2EyVjVPaUJwYm5CMWRDNXpjR0ZqWlV0bGVTQjlMRnh1SUNBZ0lDQWdJQ0F1TGk0b2FXNXdkWFF1Y0dGeVpXNTBTV1FnUHlCN0lHRnVZMlZ6ZEc5eWN6b2dXM3NnYVdRNklHbHVjSFYwTG5CaGNtVnVkRWxrSUgxZElIMGdPaUI3ZlNrc1hHNGdJQ0FnSUNBZ0lHSnZaSGs2SUhSb2FYTXVjM1J2Y21GblpVSnZaSGtvYVc1d2RYUXVZbTlrZVNBL1B5QmNJbHdpS1N4Y2JpQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzQnZibk5sTG1SaGRHRTdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJR2gwZEhCRmNuSnZjaWhjSWtOdmJtWnNkV1Z1WTJWY0lpd2dYQ0pqY21WaGRHVWdjR0ZuWlZ3aUxDQmxjbkp2Y2lrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJWY0dSaGRHVnpJR0VnUTI5dVpteDFaVzVqWlNCd1lXZGxYRzRnSUNBcUlFQnpkVzF0WVhKNUlHQlFWVlJnY3lCMGFHVWdibVYzSUhScGRHeGxJR0Z1WkNCemRHOXlZV2RsSUdKdlpIa3VJRmRvWlc0Z1lIWmxjbk5wYjI1Z0lHbHpJRzl0YVhSMFpXUmNiaUFnSUNvZ2RHaGxJR04xY25KbGJuUWdkbVZ5YzJsdmJpQnBjeUJ5WldGa0lHWnBjbk4wSUdGdVpDQjBhR1VnYm1WNGRDQnVkVzFpWlhJZ2FYTWdjM1ZpYldsMGRHVmtMQ0JoYzF4dUlDQWdLaUJEYjI1bWJIVmxibU5sSUhKbGNYVnBjbVZ6SUc5d2RHbHRhWE4wYVdNZ2RtVnljMmx2Ym1sdVp5NWNiaUFnSUNvZ1FIQmhjbUZ0SUh0RGIyNW1iSFZsYm1ObFVHRm5aVlZ3WkdGMFpYMGdhVzV3ZFhRZ0xTQlVhR1VnY0dGblpTd2dibVYzSUhScGRHeGxMMkp2Wkhrc0lHRnVaQ0J2Y0hScGIyNWhiQ0IyWlhKemFXOXVMbHh1SUNBZ0tpQkFjbVYwZFhKdWN5QjdVSEp2YldselpUeDFibXR1YjNkdVBuMGdWR2hsSUhWd1pHRjBaV1FnY0dGblpTQndZWGxzYjJGa0xseHVJQ0FnS2lCQWRHaHliM2R6SUh0SmJuUmxjbTVoYkVWeWNtOXlmU0JYYUdWdUlHTnlaV1JsYm5ScFlXeHpJR0Z5WlNCdGFYTnphVzVuTENCdmNpQjBhR1VnY0dGblpTQkpSQ0J2Y2lCMGFYUnNaU0JwY3lCbGJYQjBlUzVjYmlBZ0lDb2dRSFJvY205M2N5QjdUbTkwUm05MWJtUkZjbkp2Y24wZ1YyaGxiaUIwYUdVZ2NHRm5aU0JrYjJWeklHNXZkQ0JsZUdsemRDQW9TRlJVVUNBME1EUXBMbHh1SUNBZ0tpQkFkR2h5YjNkeklIdERiMjVtYkdsamRFVnljbTl5ZlNCWGFHVnVJSFJvWlNCemRXSnRhWFIwWldRZ2RtVnljMmx2YmlCcGN5QnpkR0ZzWlNBb1NGUlVVQ0EwTURrcExseHVJQ0FnS2lCQWRHaHliM2R6SUh0Q1lXUlNaWEYxWlhOMFJYSnliM0o5SUZkb1pXNGdkR2hsSUVGUVNTQnlaV3BsWTNSeklIUm9aU0IxY0dSaGRHVXVYRzRnSUNBcUwxeHVJQ0JoYzNsdVl5QjFjR1JoZEdWUVlXZGxLR2x1Y0hWME9pQkRiMjVtYkhWbGJtTmxVR0ZuWlZWd1pHRjBaU2s2SUZCeWIyMXBjMlU4ZFc1cmJtOTNiajRnZTF4dUlDQWdJSFJvYVhNdWNtVnhkV2x5WlVOeVpXUmxiblJwWVd4ektDazdYRzRnSUNBZ2FXWWdLQ0ZwYm5CMWRDNXdZV2RsU1dRZ2ZId2dJV2x1Y0hWMExuUnBkR3hsS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWENKRGIyNW1iSFZsYm1ObElIVndaR0YwWlZCaFoyVWdjbVZ4ZFdseVpYTWdZU0J3WVdkbElHbGtJR0Z1WkNCMGFYUnNaVndpWEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnYkdWMElIWmxjbk5wYjI0Z1BTQnBibkIxZEM1MlpYSnphVzl1TzF4dUlDQWdJQ0FnYVdZZ0tIWmxjbk5wYjI0Z1BUMDlJSFZ1WkdWbWFXNWxaQ2tnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JqZFhKeVpXNTBJRDBnWVhkaGFYUWdkR2hwY3k1amJHbGxiblF1WjJWMFBFTnZibVpzZFdWdVkyVlFZV2RsUGloY2JpQWdJQ0FnSUNBZ0lDQmdMM0psYzNRdllYQnBMMk52Ym5SbGJuUXZKSHRsYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFvYVc1d2RYUXVjR0ZuWlVsa0tYMWdMRnh1SUNBZ0lDQWdJQ0FnSUhzZ2NHRnlZVzF6T2lCN0lHVjRjR0Z1WkRvZ1hDSjJaWEp6YVc5dVhDSWdmU0I5WEc0Z0lDQWdJQ0FnSUNrN1hHNGdJQ0FnSUNBZ0lIWmxjbk5wYjI0Z1BTQW9ZM1Z5Y21WdWRDNWtZWFJoTG5abGNuTnBiMjQvTG01MWJXSmxjaUEvUHlBd0tTQXJJREU3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0JqYjI1emRDQnlaWE53YjI1elpTQTlJR0YzWVdsMElIUm9hWE11WTJ4cFpXNTBMbkIxZENoY2JpQWdJQ0FnSUNBZ1lDOXlaWE4wTDJGd2FTOWpiMjUwWlc1MEx5UjdaVzVqYjJSbFZWSkpRMjl0Y0c5dVpXNTBLR2x1Y0hWMExuQmhaMlZKWkNsOVlDeGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUdsa09pQnBibkIxZEM1d1lXZGxTV1FzWEc0Z0lDQWdJQ0FnSUNBZ2RIbHdaVG9nUkVWR1FWVk1WRjlRUVVkRlgxUlpVRVVzWEc0Z0lDQWdJQ0FnSUNBZ2RHbDBiR1U2SUdsdWNIVjBMblJwZEd4bExGeHVJQ0FnSUNBZ0lDQWdJSFpsY25OcGIyNDZJSHNnYm5WdFltVnlPaUIyWlhKemFXOXVJSDBzWEc0Z0lDQWdJQ0FnSUNBZ1ltOWtlVG9nZEdocGN5NXpkRzl5WVdkbFFtOWtlU2hwYm5CMWRDNWliMlI1SUQ4L0lGd2lYQ0lwTEZ4dUlDQWdJQ0FnSUNCOVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzQnZibk5sTG1SaGRHRTdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJR2gwZEhCRmNuSnZjaWhjSWtOdmJtWnNkV1Z1WTJWY0lpd2dYQ0oxY0dSaGRHVWdjR0ZuWlZ3aUxDQmxjbkp2Y2lrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJFWld4bGRHVnpJR0VnUTI5dVpteDFaVzVqWlNCd1lXZGxYRzRnSUNBcUlFQnpkVzF0WVhKNUlHQkVSVXhGVkVWZ2N5QjBhR1VnWTI5dWRHVnVkQ0JsYm5SeWVTQmhibVFnY21WMGRYSnVjeUJnZXlCa1pXeGxkR1ZrT2lCMGNuVmxMQ0J3WVdkbFNXUWdmV0F1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQndZV2RsU1dRZ0xTQlVhR1VnY0dGblpTQkpSQ0IwYnlCa1pXeGxkR1V1WEc0Z0lDQXFJRUJ5WlhSMWNtNXpJSHRRY205dGFYTmxQSFZ1YTI1dmQyNCtmU0JnZXlCa1pXeGxkR1ZrT2lCMGNuVmxMQ0J3WVdkbFNXUWdmV0FnYjI0Z2MzVmpZMlZ6Y3k1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3U1c1MFpYSnVZV3hGY25KdmNuMGdWMmhsYmlCamNtVmtaVzUwYVdGc2N5QmhjbVVnYldsemMybHVaeUJ2Y2lCMGFHVWdjR0ZuWlNCSlJDQnBjeUJsYlhCMGVTNWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1RtOTBSbTkxYm1SRmNuSnZjbjBnVjJobGJpQjBhR1VnY0dGblpTQmtiMlZ6SUc1dmRDQmxlR2x6ZENBb1NGUlVVQ0EwTURRcExseHVJQ0FnS2lCQWRHaHliM2R6SUh0Q1lXUlNaWEYxWlhOMFJYSnliM0o5SUZkb1pXNGdkR2hsSUVGUVNTQnlaV3BsWTNSeklIUm9aU0JrWld4bGRHbHZiaTVjYmlBZ0lDb3ZYRzRnSUdGemVXNWpJR1JsYkdWMFpWQmhaMlVvY0dGblpVbGtPaUJ6ZEhKcGJtY3BPaUJRY205dGFYTmxQSFZ1YTI1dmQyNCtJSHRjYmlBZ0lDQjBhR2x6TG5KbGNYVnBjbVZEY21Wa1pXNTBhV0ZzY3lncE8xeHVJQ0FnSUdsbUlDZ2hjR0ZuWlVsa0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY0lrTnZibVpzZFdWdVkyVWdjbVZ4ZFdseVpYTWdZU0J3WVdkbElHbGtYQ0lwTzF4dUlDQWdJSDFjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1amJHbGxiblF1WkdWc1pYUmxLRnh1SUNBZ0lDQWdJQ0JnTDNKbGMzUXZZWEJwTDJOdmJuUmxiblF2Skh0bGJtTnZaR1ZWVWtsRGIyMXdiMjVsYm5Rb2NHRm5aVWxrS1gxZ1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhzZ1pHVnNaWFJsWkRvZ2RISjFaU3dnY0dGblpVbGtJSDA3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUdoMGRIQkZjbkp2Y2loY0lrTnZibVpzZFdWdVkyVmNJaXdnWENKa1pXeGxkR1VnY0dGblpWd2lMQ0JsY25KdmNpazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCVFpXRnlZMmhsY3lCRGIyNW1iSFZsYm1ObElHTnZiblJsYm5RZ2QybDBhQ0JEVVV4Y2JpQWdJQ29nUUhOMWJXMWhjbmtnWUVkRlZHQnpJR0F2Y21WemRDOWhjR2t2WTI5dWRHVnVkQzl6WldGeVkyaGdJSGRwZEdnZ2RHaGxJRU5SVENCbGVIQnlaWE56YVc5dUlHRnVaQ0JoYmx4dUlDQWdLaUJ2Y0hScGIyNWhiQ0JnYkdsdGFYUmdMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwTnZibVpzZFdWdVkyVlRaV0Z5WTJoSmJuQjFkSDBnYVc1d2RYUWdMU0JVYUdVZ1ExRk1JSEYxWlhKNUlHRnVaQ0J5WlhOMWJIUWdiR2x0YVhRdVhHNGdJQ0FxSUVCeVpYUjFjbTV6SUh0UWNtOXRhWE5sUEhWdWEyNXZkMjQrZlNCVWFHVWdjMlZoY21Ob0lISmxjM1ZzZENCd1lYbHNiMkZrTGx4dUlDQWdLaUJBZEdoeWIzZHpJSHRKYm5SbGNtNWhiRVZ5Y205eWZTQlhhR1Z1SUdOeVpXUmxiblJwWVd4eklHRnlaU0J0YVhOemFXNW5JRzl5SUhSb1pTQkRVVXdnY1hWbGNua2dhWE1nWlcxd2RIa3VYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwSmhaRkpsY1hWbGMzUkZjbkp2Y24wZ1YyaGxiaUIwYUdVZ1ExRk1JSEYxWlhKNUlHbHpJR2x1ZG1Gc2FXUXVYRzRnSUNBcUwxeHVJQ0JoYzNsdVl5QnpaV0Z5WTJnb2FXNXdkWFE2SUVOdmJtWnNkV1Z1WTJWVFpXRnlZMmhKYm5CMWRDazZJRkJ5YjIxcGMyVThkVzVyYm05M2JqNGdlMXh1SUNBZ0lIUm9hWE11Y21WeGRXbHlaVU55WldSbGJuUnBZV3h6S0NrN1hHNGdJQ0FnYVdZZ0tDRnBibkIxZEM1amNXd3BJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtGd2lRMjl1Wm14MVpXNWpaU0J6WldGeVkyZ2djbVZ4ZFdseVpYTWdZU0JEVVV3Z2NYVmxjbmxjSWlrN1hHNGdJQ0FnZlZ4dUlDQWdJSFJ5ZVNCN1hHNGdJQ0FnSUNCamIyNXpkQ0J5WlhOd2IyNXpaU0E5SUdGM1lXbDBJSFJvYVhNdVkyeHBaVzUwTG1kbGRDaGNJaTl5WlhOMEwyRndhUzlqYjI1MFpXNTBMM05sWVhKamFGd2lMQ0I3WEc0Z0lDQWdJQ0FnSUhCaGNtRnRjem9nZTF4dUlDQWdJQ0FnSUNBZ0lHTnhiRG9nYVc1d2RYUXVZM0ZzTEZ4dUlDQWdJQ0FnSUNBZ0lDNHVMaWhwYm5CMWRDNXNhVzFwZENBaFBUMGdkVzVrWldacGJtVmtJRDhnZXlCc2FXMXBkRG9nYVc1d2RYUXViR2x0YVhRZ2ZTQTZJSHQ5S1N4Y2JpQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lIMHBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxjM0J2Ym5ObExtUmhkR0U3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUdoMGRIQkZjbkp2Y2loY0lrTnZibVpzZFdWdVkyVmNJaXdnWENKelpXRnlZMmdnWTI5dWRHVnVkRndpTENCbGNuSnZjaWs3WEc0Z0lDQWdmVnh1SUNCOVhHNTlYRzRpWFgwPSJdfQ==
|
|
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./ConfluenceService.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW8vY29uZmx1ZW5jZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1Q0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9Db25mbHVlbmNlU2VydmljZVwiO1xuIl19
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseURBQXVDO0FBQ3ZDLDBUQUEwVCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0NvbmZsdWVuY2VTZXJ2aWNlLmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTh1TGk5emNtTXZhVzh2WTI5dVpteDFaVzVqWlM5cGJtUmxlQzUwY3lKZExDSnVZVzFsY3lJNlcxMHNJbTFoY0hCcGJtZHpJam9pUVVGQlFTeDFRMEZCYjBNaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SmxlSEJ2Y25RZ0tpQm1jbTl0SUZ3aUxpOURiMjVtYkhWbGJtTmxVMlZ5ZG1salpWd2lPMXh1SWwxOSJdfQ==
|
|
@@ -70,5 +70,5 @@ exports.IoEnvironment = logging_1.LoggedEnvironment.accumulate({
|
|
|
70
70
|
},
|
|
71
71
|
},
|
|
72
72
|
});
|
|
73
|
-
//# sourceMappingURL=
|
|
74
|
-
//# sourceMappingURL=environment.cjs.map
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaW8vZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFzRnREOzs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FrQkc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxDQUFDO0lBQ3hELEVBQUUsRUFBRTtRQUNGLFFBQVEsRUFBRTtZQUNSLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLEVBQUU7WUFDWCxNQUFNLEVBQUUsRUFBRTtZQUNWLE9BQU8sRUFBRSxTQUE4QjtTQUN4QztRQUNELFlBQVksRUFBRTtZQUNaLEtBQUssRUFBRSxFQUFFO1lBQ1QsTUFBTSxFQUFFLEVBQUU7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxTQUE4QjtTQUN4QztRQUNELE9BQU8sRUFBRTtZQUNQLFFBQVEsRUFBRSxFQUFFO1lBQ1osS0FBSyxFQUFFLEVBQUU7WUFDVCxPQUFPLEVBQUUsU0FBOEI7U0FDeEM7UUFDRCxjQUFjLEVBQUU7WUFDZCxLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsT0FBTyxFQUFFLFNBQThCO1NBQ3hDO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsUUFBUSxFQUFFLEVBQUU7WUFDWixLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsT0FBTyxFQUFFLFNBQThCO1NBQ3hDO1FBQ0QsSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUFFLEVBQUU7WUFDWixLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsT0FBTyxFQUFFLFNBQThCO1NBQ3hDO1FBQ0QsVUFBVSxFQUFFO1lBQ1YsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsRUFBRTtZQUNWLE9BQU8sRUFBRSxFQUFFO1lBQ1gsT0FBTyxFQUFFLFNBQThCO1NBQ3hDO1FBQ0QsbUJBQW1CLEVBQUU7WUFDbkIsS0FBSyxFQUFFLEVBQUU7WUFDVCxPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxTQUE4QjtTQUN4QztLQUNGO0NBQ29CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dlZEVudmlyb25tZW50IH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5cbi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvaW8vZW52aXJvbm1lbnRcbiAqIEBzdW1tYXJ5IEVudmlyb25tZW50IGNvbnRyYWN0IGFuZCBhY2N1bXVsYXRlZCBlbnZpcm9ubWVudCBmb3IgdGhlIGlvIGludGVncmF0aW9uIHNlcnZpY2VzLlxuICogQGRlc2NyaXB0aW9uIERlY2xhcmVzIHRoZSBgSW9FbnZpcm9ubWVudFNoYXBlYCBjb25zdW1lZCBieSB0aGUgQWlydGFibGUsXG4gKiBHb29nbGUgU2hlZXRzLCBHcmFwaFFMLCBNaWNyb3NvZnQgRXhjZWwsIENvbmZsdWVuY2UsIEppcmEsIEdvb2dsZSBEb2NzLCBhbmRcbiAqIE1pY3Jvc29mdCBTaGFyZVBvaW50IHNlcnZpY2VzJyBgY29uZmlnRnJvbUVudmlyb25tZW50KClgIGltcGxlbWVudGF0aW9ucyBhbmRcbiAqIHRoZSBgSW9FbnZpcm9ubWVudGAgc2luZ2xldG9uIGNyZWF0ZWQgdmlhIGBMb2dnZWRFbnZpcm9ubWVudC5hY2N1bXVsYXRlYC5cbiAqIFNlcnZpY2VzIHJlYWQgdGhlaXIgY3JlZGVudGlhbHMgYW5kIGRlZmF1bHRzIGZyb20gdGhlIG1hdGNoaW5nXG4gKiBgaW8uPHByb3ZpZGVyPmAgc2xpY2UsIHVzaW5nIHRoZSBgZW52U3RyaW5nYC9gZW52TnVtYmVyYCBoZWxwZXJzIGZyb21cbiAqIGBzaGFyZWQvZW52aXJvbm1lbnRWYWx1ZWAgdG8gcmVqZWN0IHVuc2V0LWxlYWYgcHJveGllcy4gVGhlIG1hdGNoaW5nIHB1YmxpY1xuICogc3VicGF0aCBleHBvcnRzIGFyZSBgQGRlY2FmLXRzL2ludGVncmF0aW9ucy9pby9taWNyb3NvZnQtZXhjZWxgLFxuICogYEBkZWNhZi10cy9pbnRlZ3JhdGlvbnMvaW8vY29uZmx1ZW5jZWAsXG4gKiBgQGRlY2FmLXRzL2ludGVncmF0aW9ucy9pby9qaXJhYCxcbiAqIGBAZGVjYWYtdHMvaW50ZWdyYXRpb25zL2lvL2dvb2dsZS1kb2NzYCwgYW5kXG4gKiBgQGRlY2FmLXRzL2ludGVncmF0aW9ucy9pby9taWNyb3NvZnQtc2hhcmVwb2ludGAuXG4gKi9cbi8qKlxuICogQGRlc2NyaXB0aW9uIEVudmlyb25tZW50IHNoYXBlIGZvciB0aGUgaW8gaW50ZWdyYXRpb24gc2VydmljZXNcbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGBpb2Agcm9vdCB3aXRoIG9uZSBzbGljZSBwZXIgcHJvdmlkZXIgKGBhaXJ0YWJsZWAsXG4gKiBgZ29vZ2xlU2hlZXRzYCwgYGdyYXBocWxgLCBgbWljcm9zb2Z0RXhjZWxgLCBgY29uZmx1ZW5jZWAsIGBqaXJhYCxcbiAqIGBnb29nbGVEb2NzYCwgYG1pY3Jvc29mdFNoYXJlUG9pbnRgKS4gRWFjaCBzbGljZSBjYXJyaWVzIHRoZSBwcm92aWRlcidzXG4gKiByZXF1aXJlZCBjcmVkZW50aWFscyAoYHRva2VuYCwgcGx1cyBgYmFzZUlkYC9gYXBpS2V5YC9gZW5kcG9pbnRgL2B1c2VybmFtZWBcbiAqIHdoZXJlIGFwcGxpY2FibGUpIHBsdXMgYW4gb3B0aW9uYWwgYGJhc2VVcmxgIG92ZXJyaWRlIGFuZCBgdGltZW91dGAuIEZpZWxkc1xuICogYXJlIHR5cGVkIGFzIHJlcXVpcmVkIGhlcmUgc28gYExvZ2dlZEVudmlyb25tZW50LmFjY3VtdWxhdGVgIHJlZ2lzdGVycyB0aGVtO1xuICogYWJzZW50IHZhbHVlcyByZXNvbHZlIHRvIHByb3h5IHBsYWNlaG9sZGVycyBhdCBydW50aW1lIGFuZCBtdXN0IHBhc3MgdGhyb3VnaFxuICogYGVudlN0cmluZ2AvYGVudk51bWJlcmAuIFZhbHVlcyBhcmUgY3JlZGVudGlhbCByZWZlcmVuY2VzIHN1cHBsaWVkIGJ5IHRoZVxuICogZW52aXJvbm1lbnQsIG5ldmVyIGxpdGVyYWxzIGVtYmVkZGVkIGluIHNvdXJjZS5cbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2lvL2Vudmlyb25tZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW9FbnZpcm9ubWVudFNoYXBlIHtcbiAgaW86IHtcbiAgICBhaXJ0YWJsZToge1xuICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICAgIGJhc2VJZDogc3RyaW5nO1xuICAgICAgdGltZW91dD86IG51bWJlcjtcbiAgICB9O1xuICAgIGdvb2dsZVNoZWV0czoge1xuICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgIGFwaUtleTogc3RyaW5nO1xuICAgICAgYmFzZVVybDogc3RyaW5nO1xuICAgICAgdGltZW91dD86IG51bWJlcjtcbiAgICB9O1xuICAgIGdyYXBocWw6IHtcbiAgICAgIGVuZHBvaW50OiBzdHJpbmc7XG4gICAgICB0b2tlbjogc3RyaW5nO1xuICAgICAgdGltZW91dD86IG51bWJlcjtcbiAgICB9O1xuICAgIC8qKiBNaWNyb3NvZnQgR3JhcGggYWNjZXNzIHRva2VuIGZvciBFeGNlbCB3b3JrYm9va3MgKGBpby9taWNyb3NvZnQtZXhjZWxgKS4gKi9cbiAgICBtaWNyb3NvZnRFeGNlbDoge1xuICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICAgIHRpbWVvdXQ/OiBudW1iZXI7XG4gICAgfTtcbiAgICAvKiogQ29uZmx1ZW5jZSBBUEkgdG9rZW4sIG9wdGlvbmFsIEJhc2ljLWF1dGggdXNlcm5hbWUsIGFuZCBzaXRlIGJhc2UgVVJMIChgaW8vY29uZmx1ZW5jZWApLiAqL1xuICAgIGNvbmZsdWVuY2U6IHtcbiAgICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgICB0b2tlbjogc3RyaW5nO1xuICAgICAgYmFzZVVybDogc3RyaW5nO1xuICAgICAgdGltZW91dD86IG51bWJlcjtcbiAgICB9O1xuICAgIC8qKiBKaXJhIEFQSSB0b2tlbiwgb3B0aW9uYWwgQmFzaWMtYXV0aCB1c2VybmFtZSwgYW5kIHNpdGUgYmFzZSBVUkwgKGBpby9qaXJhYCkuICovXG4gICAgamlyYToge1xuICAgICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICAgIHRva2VuOiBzdHJpbmc7XG4gICAgICBiYXNlVXJsOiBzdHJpbmc7XG4gICAgICB0aW1lb3V0PzogbnVtYmVyO1xuICAgIH07XG4gICAgLyoqIEdvb2dsZSBEb2NzIE9BdXRoIHRva2VuIG9yIEFQSSBrZXkgKGBpby9nb29nbGUtZG9jc2ApLiAqL1xuICAgIGdvb2dsZURvY3M6IHtcbiAgICAgIHRva2VuOiBzdHJpbmc7XG4gICAgICBhcGlLZXk6IHN0cmluZztcbiAgICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICAgIHRpbWVvdXQ/OiBudW1iZXI7XG4gICAgfTtcbiAgICAvKiogTWljcm9zb2Z0IEdyYXBoIGFjY2VzcyB0b2tlbiBmb3IgU2hhcmVQb2ludCAoYGlvL21pY3Jvc29mdC1zaGFyZXBvaW50YCkuICovXG4gICAgbWljcm9zb2Z0U2hhcmVQb2ludDoge1xuICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICAgIHRpbWVvdXQ/OiBudW1iZXI7XG4gICAgfTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQWNjdW11bGF0ZWQgaW8gZW52aXJvbm1lbnQgc2luZ2xldG9uXG4gKiBAc3VtbWFyeSBUaGUgYExvZ2dlZEVudmlyb25tZW50LmFjY3VtdWxhdGVgLXJlZ2lzdGVyZWQgaW5zdGFuY2UgYmFja2luZyB0aGVcbiAqIGBJb0Vudmlyb25tZW50U2hhcGVgIGNvbnRyYWN0LiBJTyBzZXJ2aWNlcyByZWFkIHRoZWlyIHByb3ZpZGVyIHNsaWNlXG4gKiAoZS5nLiBgSW9FbnZpcm9ubWVudC5pby5haXJ0YWJsZWApIGluc2lkZSBgY29uZmlnRnJvbUVudmlyb25tZW50KClgIGFuZFxuICogdHJhbnNsYXRlIGl0IGludG8gYW4gYEh0dHBBcGlTZXJ2aWNlQ29uZmlnYC1kZXJpdmVkIGNvbmZpZy4gQ3JlZGVudGlhbHNcbiAqIGNvbWUgZnJvbSBlbnZpcm9ubWVudCB2YXJpYWJsZXM7IGZvciBhcy1ncmFwaCBub2RlIHVzYWdlIHRob3NlIGFyZSBwcm92aWRlZFxuICogYXMgYEdSQVBIX0NSRURFTlRJQUxfKmAgdmFsdWVzIChwbGFjZWhvbGRlcnMgaW4gdGhpcyBleGFtcGxlKS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgQWlydGFibGVTZXJ2aWNlIH0gZnJvbSBcIkBkZWNhZi10cy9pbnRlZ3JhdGlvbnMvaW8vYWlydGFibGVcIjtcbiAqXG4gKiAvLyB3aXRoIGlvLmFpcnRhYmxlLnRva2VuIC8gaW8uYWlydGFibGUuYmFzZUlkIGNvbmZpZ3VyZWQgaW4gdGhlIGVudmlyb25tZW50XG4gKiBjb25zdCBhaXJ0YWJsZSA9IG5ldyBBaXJ0YWJsZVNlcnZpY2UoKTtcbiAqIGF3YWl0IGFpcnRhYmxlLmluaXRpYWxpemUoKTtcbiAqIGBgYFxuICogQGNvbnN0YW50IHtMb2dnZWRFbnZpcm9ubWVudH0gSW9FbnZpcm9ubWVudFxuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vZW52aXJvbm1lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IElvRW52aXJvbm1lbnQgPSBMb2dnZWRFbnZpcm9ubWVudC5hY2N1bXVsYXRlKHtcbiAgaW86IHtcbiAgICBhaXJ0YWJsZToge1xuICAgICAgdG9rZW46IFwiXCIsXG4gICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgYmFzZUlkOiBcIlwiLFxuICAgICAgdGltZW91dDogdW5kZWZpbmVkIGFzIHVua25vd24gYXMgbnVtYmVyLFxuICAgIH0sXG4gICAgZ29vZ2xlU2hlZXRzOiB7XG4gICAgICB0b2tlbjogXCJcIixcbiAgICAgIGFwaUtleTogXCJcIixcbiAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICB0aW1lb3V0OiB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBudW1iZXIsXG4gICAgfSxcbiAgICBncmFwaHFsOiB7XG4gICAgICBlbmRwb2ludDogXCJcIixcbiAgICAgIHRva2VuOiBcIlwiLFxuICAgICAgdGltZW91dDogdW5kZWZpbmVkIGFzIHVua25vd24gYXMgbnVtYmVyLFxuICAgIH0sXG4gICAgbWljcm9zb2Z0RXhjZWw6IHtcbiAgICAgIHRva2VuOiBcIlwiLFxuICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgIHRpbWVvdXQ6IHVuZGVmaW5lZCBhcyB1bmtub3duIGFzIG51bWJlcixcbiAgICB9LFxuICAgIGNvbmZsdWVuY2U6IHtcbiAgICAgIHVzZXJuYW1lOiBcIlwiLFxuICAgICAgdG9rZW46IFwiXCIsXG4gICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgdGltZW91dDogdW5kZWZpbmVkIGFzIHVua25vd24gYXMgbnVtYmVyLFxuICAgIH0sXG4gICAgamlyYToge1xuICAgICAgdXNlcm5hbWU6IFwiXCIsXG4gICAgICB0b2tlbjogXCJcIixcbiAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICB0aW1lb3V0OiB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBudW1iZXIsXG4gICAgfSxcbiAgICBnb29nbGVEb2NzOiB7XG4gICAgICB0b2tlbjogXCJcIixcbiAgICAgIGFwaUtleTogXCJcIixcbiAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICB0aW1lb3V0OiB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBudW1iZXIsXG4gICAgfSxcbiAgICBtaWNyb3NvZnRTaGFyZVBvaW50OiB7XG4gICAgICB0b2tlbjogXCJcIixcbiAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICB0aW1lb3V0OiB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBudW1iZXIsXG4gICAgfSxcbiAgfSxcbn0gYXMgSW9FbnZpcm9ubWVudFNoYXBlKTtcbiJdfQ==
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbnZpcm9ubWVudC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBc0Q7QUFDdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNVLFFBQUEsYUFBYSxHQUFHLDJCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUN0RCxFQUFFLEVBQUU7UUFDQSxRQUFRLEVBQUU7WUFDTixLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsTUFBTSxFQUFFLEVBQUU7WUFDVixPQUFPLEVBQUUsU0FBUztTQUNyQjtRQUNELFlBQVksRUFBRTtZQUNWLEtBQUssRUFBRSxFQUFFO1lBQ1QsTUFBTSxFQUFFLEVBQUU7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxTQUFTO1NBQ3JCO1FBQ0QsT0FBTyxFQUFFO1lBQ0wsUUFBUSxFQUFFLEVBQUU7WUFDWixLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxTQUFTO1NBQ3JCO1FBQ0QsY0FBYyxFQUFFO1lBQ1osS0FBSyxFQUFFLEVBQUU7WUFDVCxPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxTQUFTO1NBQ3JCO1FBQ0QsVUFBVSxFQUFFO1lBQ1IsUUFBUSxFQUFFLEVBQUU7WUFDWixLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsT0FBTyxFQUFFLFNBQVM7U0FDckI7UUFDRCxJQUFJLEVBQUU7WUFDRixRQUFRLEVBQUUsRUFBRTtZQUNaLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLEVBQUU7WUFDWCxPQUFPLEVBQUUsU0FBUztTQUNyQjtRQUNELFVBQVUsRUFBRTtZQUNSLEtBQUssRUFBRSxFQUFFO1lBQ1QsTUFBTSxFQUFFLEVBQUU7WUFDVixPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxTQUFTO1NBQ3JCO1FBQ0QsbUJBQW1CLEVBQUU7WUFDakIsS0FBSyxFQUFFLEVBQUU7WUFDVCxPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxTQUFTO1NBQ3JCO0tBQ0o7Q0FDSixDQUFDLENBQUM7QUFDSCwwdlFBQTB2USIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dlZEVudmlyb25tZW50IH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBY2N1bXVsYXRlZCBpbyBlbnZpcm9ubWVudCBzaW5nbGV0b25cbiAqIEBzdW1tYXJ5IFRoZSBgTG9nZ2VkRW52aXJvbm1lbnQuYWNjdW11bGF0ZWAtcmVnaXN0ZXJlZCBpbnN0YW5jZSBiYWNraW5nIHRoZVxuICogYElvRW52aXJvbm1lbnRTaGFwZWAgY29udHJhY3QuIElPIHNlcnZpY2VzIHJlYWQgdGhlaXIgcHJvdmlkZXIgc2xpY2VcbiAqIChlLmcuIGBJb0Vudmlyb25tZW50LmlvLmFpcnRhYmxlYCkgaW5zaWRlIGBjb25maWdGcm9tRW52aXJvbm1lbnQoKWAgYW5kXG4gKiB0cmFuc2xhdGUgaXQgaW50byBhbiBgSHR0cEFwaVNlcnZpY2VDb25maWdgLWRlcml2ZWQgY29uZmlnLiBDcmVkZW50aWFsc1xuICogY29tZSBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlczsgZm9yIGFzLWdyYXBoIG5vZGUgdXNhZ2UgdGhvc2UgYXJlIHByb3ZpZGVkXG4gKiBhcyBgR1JBUEhfQ1JFREVOVElBTF8qYCB2YWx1ZXMgKHBsYWNlaG9sZGVycyBpbiB0aGlzIGV4YW1wbGUpLlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBBaXJ0YWJsZVNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2ludGVncmF0aW9ucy9pby9haXJ0YWJsZVwiO1xuICpcbiAqIC8vIHdpdGggaW8uYWlydGFibGUudG9rZW4gLyBpby5haXJ0YWJsZS5iYXNlSWQgY29uZmlndXJlZCBpbiB0aGUgZW52aXJvbm1lbnRcbiAqIGNvbnN0IGFpcnRhYmxlID0gbmV3IEFpcnRhYmxlU2VydmljZSgpO1xuICogYXdhaXQgYWlydGFibGUuaW5pdGlhbGl6ZSgpO1xuICogYGBgXG4gKiBAY29uc3RhbnQge0xvZ2dlZEVudmlyb25tZW50fSBJb0Vudmlyb25tZW50XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9pby9lbnZpcm9ubWVudFxuICovXG5leHBvcnQgY29uc3QgSW9FbnZpcm9ubWVudCA9IExvZ2dlZEVudmlyb25tZW50LmFjY3VtdWxhdGUoe1xuICAgIGlvOiB7XG4gICAgICAgIGFpcnRhYmxlOiB7XG4gICAgICAgICAgICB0b2tlbjogXCJcIixcbiAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICBiYXNlSWQ6IFwiXCIsXG4gICAgICAgICAgICB0aW1lb3V0OiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICAgIGdvb2dsZVNoZWV0czoge1xuICAgICAgICAgICAgdG9rZW46IFwiXCIsXG4gICAgICAgICAgICBhcGlLZXk6IFwiXCIsXG4gICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgdGltZW91dDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgICBncmFwaHFsOiB7XG4gICAgICAgICAgICBlbmRwb2ludDogXCJcIixcbiAgICAgICAgICAgIHRva2VuOiBcIlwiLFxuICAgICAgICAgICAgdGltZW91dDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgICBtaWNyb3NvZnRFeGNlbDoge1xuICAgICAgICAgICAgdG9rZW46IFwiXCIsXG4gICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgdGltZW91dDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgICBjb25mbHVlbmNlOiB7XG4gICAgICAgICAgICB1c2VybmFtZTogXCJcIixcbiAgICAgICAgICAgIHRva2VuOiBcIlwiLFxuICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIHRpbWVvdXQ6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgICAgamlyYToge1xuICAgICAgICAgICAgdXNlcm5hbWU6IFwiXCIsXG4gICAgICAgICAgICB0b2tlbjogXCJcIixcbiAgICAgICAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICAgICAgICB0aW1lb3V0OiB1bmRlZmluZWQsXG4gICAgICAgIH0sXG4gICAgICAgIGdvb2dsZURvY3M6IHtcbiAgICAgICAgICAgIHRva2VuOiBcIlwiLFxuICAgICAgICAgICAgYXBpS2V5OiBcIlwiLFxuICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIHRpbWVvdXQ6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICAgICAgbWljcm9zb2Z0U2hhcmVQb2ludDoge1xuICAgICAgICAgICAgdG9rZW46IFwiXCIsXG4gICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgdGltZW91dDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgIH0sXG59KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVpXNTJhWEp2Ym0xbGJuUXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk5emNtTXZhVzh2Wlc1MmFYSnZibTFsYm5RdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzVDBGQlR5eEZRVUZGTEdsQ1FVRnBRaXhGUVVGRkxFMUJRVTBzYlVKQlFXMUNMRU5CUVVNN1FVRnpSblJFT3pzN096czdPenM3T3pzN096czdPenM3UjBGclFrYzdRVUZEU0N4TlFVRk5MRU5CUVVNc1RVRkJUU3hoUVVGaExFZEJRVWNzYVVKQlFXbENMRU5CUVVNc1ZVRkJWU3hEUVVGRE8wbEJRM2hFTEVWQlFVVXNSVUZCUlR0UlFVTkdMRkZCUVZFc1JVRkJSVHRaUVVOU0xFdEJRVXNzUlVGQlJTeEZRVUZGTzFsQlExUXNUMEZCVHl4RlFVRkZMRVZCUVVVN1dVRkRXQ3hOUVVGTkxFVkJRVVVzUlVGQlJUdFpRVU5XTEU5QlFVOHNSVUZCUlN4VFFVRTRRanRUUVVONFF6dFJRVU5FTEZsQlFWa3NSVUZCUlR0WlFVTmFMRXRCUVVzc1JVRkJSU3hGUVVGRk8xbEJRMVFzVFVGQlRTeEZRVUZGTEVWQlFVVTdXVUZEVml4UFFVRlBMRVZCUVVVc1JVRkJSVHRaUVVOWUxFOUJRVThzUlVGQlJTeFRRVUU0UWp0VFFVTjRRenRSUVVORUxFOUJRVThzUlVGQlJUdFpRVU5RTEZGQlFWRXNSVUZCUlN4RlFVRkZPMWxCUTFvc1MwRkJTeXhGUVVGRkxFVkJRVVU3V1VGRFZDeFBRVUZQTEVWQlFVVXNVMEZCT0VJN1UwRkRlRU03VVVGRFJDeGpRVUZqTEVWQlFVVTdXVUZEWkN4TFFVRkxMRVZCUVVVc1JVRkJSVHRaUVVOVUxFOUJRVThzUlVGQlJTeEZRVUZGTzFsQlExZ3NUMEZCVHl4RlFVRkZMRk5CUVRoQ08xTkJRM2hETzFGQlEwUXNWVUZCVlN4RlFVRkZPMWxCUTFZc1VVRkJVU3hGUVVGRkxFVkJRVVU3V1VGRFdpeExRVUZMTEVWQlFVVXNSVUZCUlR0WlFVTlVMRTlCUVU4c1JVRkJSU3hGUVVGRk8xbEJRMWdzVDBGQlR5eEZRVUZGTEZOQlFUaENPMU5CUTNoRE8xRkJRMFFzU1VGQlNTeEZRVUZGTzFsQlEwb3NVVUZCVVN4RlFVRkZMRVZCUVVVN1dVRkRXaXhMUVVGTExFVkJRVVVzUlVGQlJUdFpRVU5VTEU5QlFVOHNSVUZCUlN4RlFVRkZPMWxCUTFnc1QwRkJUeXhGUVVGRkxGTkJRVGhDTzFOQlEzaERPMUZCUTBRc1ZVRkJWU3hGUVVGRk8xbEJRMVlzUzBGQlN5eEZRVUZGTEVWQlFVVTdXVUZEVkN4TlFVRk5MRVZCUVVVc1JVRkJSVHRaUVVOV0xFOUJRVThzUlVGQlJTeEZRVUZGTzFsQlExZ3NUMEZCVHl4RlFVRkZMRk5CUVRoQ08xTkJRM2hETzFGQlEwUXNiVUpCUVcxQ0xFVkJRVVU3V1VGRGJrSXNTMEZCU3l4RlFVRkZMRVZCUVVVN1dVRkRWQ3hQUVVGUExFVkJRVVVzUlVGQlJUdFpRVU5ZTEU5QlFVOHNSVUZCUlN4VFFVRTRRanRUUVVONFF6dExRVU5HTzBOQlEyOUNMRU5CUVVNc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUV4dloyZGxaRVZ1ZG1seWIyNXRaVzUwSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5c2IyZG5hVzVuWENJN1hHNWNiaThxS2x4dUlDb2dRRzF2WkhWc1pTQnBiblJsWjNKaGRHbHZibk12YVc4dlpXNTJhWEp2Ym0xbGJuUmNiaUFxSUVCemRXMXRZWEo1SUVWdWRtbHliMjV0Wlc1MElHTnZiblJ5WVdOMElHRnVaQ0JoWTJOMWJYVnNZWFJsWkNCbGJuWnBjbTl1YldWdWRDQm1iM0lnZEdobElHbHZJR2x1ZEdWbmNtRjBhVzl1SUhObGNuWnBZMlZ6TGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVSbFkyeGhjbVZ6SUhSb1pTQmdTVzlGYm5acGNtOXViV1Z1ZEZOb1lYQmxZQ0JqYjI1emRXMWxaQ0JpZVNCMGFHVWdRV2x5ZEdGaWJHVXNYRzRnS2lCSGIyOW5iR1VnVTJobFpYUnpMQ0JIY21Gd2FGRk1MQ0JOYVdOeWIzTnZablFnUlhoalpXd3NJRU52Ym1ac2RXVnVZMlVzSUVwcGNtRXNJRWR2YjJkc1pTQkViMk56TENCaGJtUmNiaUFxSUUxcFkzSnZjMjltZENCVGFHRnlaVkJ2YVc1MElITmxjblpwWTJWekp5QmdZMjl1Wm1sblJuSnZiVVZ1ZG1seWIyNXRaVzUwS0NsZ0lHbHRjR3hsYldWdWRHRjBhVzl1Y3lCaGJtUmNiaUFxSUhSb1pTQmdTVzlGYm5acGNtOXViV1Z1ZEdBZ2MybHVaMnhsZEc5dUlHTnlaV0YwWldRZ2RtbGhJR0JNYjJkblpXUkZiblpwY205dWJXVnVkQzVoWTJOMWJYVnNZWFJsWUM1Y2JpQXFJRk5sY25acFkyVnpJSEpsWVdRZ2RHaGxhWElnWTNKbFpHVnVkR2xoYkhNZ1lXNWtJR1JsWm1GMWJIUnpJR1p5YjIwZ2RHaGxJRzFoZEdOb2FXNW5YRzRnS2lCZ2FXOHVQSEJ5YjNacFpHVnlQbUFnYzJ4cFkyVXNJSFZ6YVc1bklIUm9aU0JnWlc1MlUzUnlhVzVuWUM5Z1pXNTJUblZ0WW1WeVlDQm9aV3h3WlhKeklHWnliMjFjYmlBcUlHQnphR0Z5WldRdlpXNTJhWEp2Ym0xbGJuUldZV3gxWldBZ2RHOGdjbVZxWldOMElIVnVjMlYwTFd4bFlXWWdjSEp2ZUdsbGN5NGdWR2hsSUcxaGRHTm9hVzVuSUhCMVlteHBZMXh1SUNvZ2MzVmljR0YwYUNCbGVIQnZjblJ6SUdGeVpTQmdRR1JsWTJGbUxYUnpMMmx1ZEdWbmNtRjBhVzl1Y3k5cGJ5OXRhV055YjNOdlpuUXRaWGhqWld4Z0xGeHVJQ29nWUVCa1pXTmhaaTEwY3k5cGJuUmxaM0poZEdsdmJuTXZhVzh2WTI5dVpteDFaVzVqWldBc1hHNGdLaUJnUUdSbFkyRm1MWFJ6TDJsdWRHVm5jbUYwYVc5dWN5OXBieTlxYVhKaFlDeGNiaUFxSUdCQVpHVmpZV1l0ZEhNdmFXNTBaV2R5WVhScGIyNXpMMmx2TDJkdmIyZHNaUzFrYjJOellDd2dZVzVrWEc0Z0tpQmdRR1JsWTJGbUxYUnpMMmx1ZEdWbmNtRjBhVzl1Y3k5cGJ5OXRhV055YjNOdlpuUXRjMmhoY21Wd2IybHVkR0F1WEc0Z0tpOWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVWdWRtbHliMjV0Wlc1MElITm9ZWEJsSUdadmNpQjBhR1VnYVc4Z2FXNTBaV2R5WVhScGIyNGdjMlZ5ZG1salpYTmNiaUFxSUVCemRXMXRZWEo1SUVSbFptbHVaWE1nZEdobElHQnBiMkFnY205dmRDQjNhWFJvSUc5dVpTQnpiR2xqWlNCd1pYSWdjSEp2ZG1sa1pYSWdLR0JoYVhKMFlXSnNaV0FzWEc0Z0tpQmdaMjl2WjJ4bFUyaGxaWFJ6WUN3Z1lHZHlZWEJvY1d4Z0xDQmdiV2xqY205emIyWjBSWGhqWld4Z0xDQmdZMjl1Wm14MVpXNWpaV0FzSUdCcWFYSmhZQ3hjYmlBcUlHQm5iMjluYkdWRWIyTnpZQ3dnWUcxcFkzSnZjMjltZEZOb1lYSmxVRzlwYm5SZ0tTNGdSV0ZqYUNCemJHbGpaU0JqWVhKeWFXVnpJSFJvWlNCd2NtOTJhV1JsY2lkelhHNGdLaUJ5WlhGMWFYSmxaQ0JqY21Wa1pXNTBhV0ZzY3lBb1lIUnZhMlZ1WUN3Z2NHeDFjeUJnWW1GelpVbGtZQzlnWVhCcFMyVjVZQzlnWlc1a2NHOXBiblJnTDJCMWMyVnlibUZ0WldCY2JpQXFJSGRvWlhKbElHRndjR3hwWTJGaWJHVXBJSEJzZFhNZ1lXNGdiM0IwYVc5dVlXd2dZR0poYzJWVmNteGdJRzkyWlhKeWFXUmxJR0Z1WkNCZ2RHbHRaVzkxZEdBdUlFWnBaV3hrYzF4dUlDb2dZWEpsSUhSNWNHVmtJR0Z6SUhKbGNYVnBjbVZrSUdobGNtVWdjMjhnWUV4dloyZGxaRVZ1ZG1seWIyNXRaVzUwTG1GalkzVnRkV3hoZEdWZ0lISmxaMmx6ZEdWeWN5QjBhR1Z0TzF4dUlDb2dZV0p6Wlc1MElIWmhiSFZsY3lCeVpYTnZiSFpsSUhSdklIQnliM2g1SUhCc1lXTmxhRzlzWkdWeWN5QmhkQ0J5ZFc1MGFXMWxJR0Z1WkNCdGRYTjBJSEJoYzNNZ2RHaHliM1ZuYUZ4dUlDb2dZR1Z1ZGxOMGNtbHVaMkF2WUdWdWRrNTFiV0psY21BdUlGWmhiSFZsY3lCaGNtVWdZM0psWkdWdWRHbGhiQ0J5WldabGNtVnVZMlZ6SUhOMWNIQnNhV1ZrSUdKNUlIUm9aVnh1SUNvZ1pXNTJhWEp2Ym0xbGJuUXNJRzVsZG1WeUlHeHBkR1Z5WVd4eklHVnRZbVZrWkdWa0lHbHVJSE52ZFhKalpTNWNiaUFxSUVCdFpXMWlaWEpQWmlCdGIyUjFiR1U2YVc1MFpXZHlZWFJwYjI1ekwybHZMMlZ1ZG1seWIyNXRaVzUwWEc0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTVzlGYm5acGNtOXViV1Z1ZEZOb1lYQmxJSHRjYmlBZ2FXODZJSHRjYmlBZ0lDQmhhWEowWVdKc1pUb2dlMXh1SUNBZ0lDQWdkRzlyWlc0NklITjBjbWx1Wnp0Y2JpQWdJQ0FnSUdKaGMyVlZjbXc2SUhOMGNtbHVaenRjYmlBZ0lDQWdJR0poYzJWSlpEb2djM1J5YVc1bk8xeHVJQ0FnSUNBZ2RHbHRaVzkxZEQ4NklHNTFiV0psY2p0Y2JpQWdJQ0I5TzF4dUlDQWdJR2R2YjJkc1pWTm9aV1YwY3pvZ2UxeHVJQ0FnSUNBZ2RHOXJaVzQ2SUhOMGNtbHVaenRjYmlBZ0lDQWdJR0Z3YVV0bGVUb2djM1J5YVc1bk8xeHVJQ0FnSUNBZ1ltRnpaVlZ5YkRvZ2MzUnlhVzVuTzF4dUlDQWdJQ0FnZEdsdFpXOTFkRDg2SUc1MWJXSmxjanRjYmlBZ0lDQjlPMXh1SUNBZ0lHZHlZWEJvY1d3NklIdGNiaUFnSUNBZ0lHVnVaSEJ2YVc1ME9pQnpkSEpwYm1jN1hHNGdJQ0FnSUNCMGIydGxiam9nYzNSeWFXNW5PMXh1SUNBZ0lDQWdkR2x0Wlc5MWREODZJRzUxYldKbGNqdGNiaUFnSUNCOU8xeHVJQ0FnSUM4cUtpQk5hV055YjNOdlpuUWdSM0poY0dnZ1lXTmpaWE56SUhSdmEyVnVJR1p2Y2lCRmVHTmxiQ0IzYjNKclltOXZhM01nS0dCcGJ5OXRhV055YjNOdlpuUXRaWGhqWld4Z0tTNGdLaTljYmlBZ0lDQnRhV055YjNOdlpuUkZlR05sYkRvZ2UxeHVJQ0FnSUNBZ2RHOXJaVzQ2SUhOMGNtbHVaenRjYmlBZ0lDQWdJR0poYzJWVmNtdzZJSE4wY21sdVp6dGNiaUFnSUNBZ0lIUnBiV1Z2ZFhRL09pQnVkVzFpWlhJN1hHNGdJQ0FnZlR0Y2JpQWdJQ0F2S2lvZ1EyOXVabXgxWlc1alpTQkJVRWtnZEc5clpXNHNJRzl3ZEdsdmJtRnNJRUpoYzJsakxXRjFkR2dnZFhObGNtNWhiV1VzSUdGdVpDQnphWFJsSUdKaGMyVWdWVkpNSUNoZ2FXOHZZMjl1Wm14MVpXNWpaV0FwTGlBcUwxeHVJQ0FnSUdOdmJtWnNkV1Z1WTJVNklIdGNiaUFnSUNBZ0lIVnpaWEp1WVcxbE9pQnpkSEpwYm1jN1hHNGdJQ0FnSUNCMGIydGxiam9nYzNSeWFXNW5PMXh1SUNBZ0lDQWdZbUZ6WlZWeWJEb2djM1J5YVc1bk8xeHVJQ0FnSUNBZ2RHbHRaVzkxZEQ4NklHNTFiV0psY2p0Y2JpQWdJQ0I5TzF4dUlDQWdJQzhxS2lCS2FYSmhJRUZRU1NCMGIydGxiaXdnYjNCMGFXOXVZV3dnUW1GemFXTXRZWFYwYUNCMWMyVnlibUZ0WlN3Z1lXNWtJSE5wZEdVZ1ltRnpaU0JWVWt3Z0tHQnBieTlxYVhKaFlDa3VJQ292WEc0Z0lDQWdhbWx5WVRvZ2UxeHVJQ0FnSUNBZ2RYTmxjbTVoYldVNklITjBjbWx1Wnp0Y2JpQWdJQ0FnSUhSdmEyVnVPaUJ6ZEhKcGJtYzdYRzRnSUNBZ0lDQmlZWE5sVlhKc09pQnpkSEpwYm1jN1hHNGdJQ0FnSUNCMGFXMWxiM1YwUHpvZ2JuVnRZbVZ5TzF4dUlDQWdJSDA3WEc0Z0lDQWdMeW9xSUVkdmIyZHNaU0JFYjJOeklFOUJkWFJvSUhSdmEyVnVJRzl5SUVGUVNTQnJaWGtnS0dCcGJ5OW5iMjluYkdVdFpHOWpjMkFwTGlBcUwxeHVJQ0FnSUdkdmIyZHNaVVJ2WTNNNklIdGNiaUFnSUNBZ0lIUnZhMlZ1T2lCemRISnBibWM3WEc0Z0lDQWdJQ0JoY0dsTFpYazZJSE4wY21sdVp6dGNiaUFnSUNBZ0lHSmhjMlZWY213NklITjBjbWx1Wnp0Y2JpQWdJQ0FnSUhScGJXVnZkWFEvT2lCdWRXMWlaWEk3WEc0Z0lDQWdmVHRjYmlBZ0lDQXZLaW9nVFdsamNtOXpiMlowSUVkeVlYQm9JR0ZqWTJWemN5QjBiMnRsYmlCbWIzSWdVMmhoY21WUWIybHVkQ0FvWUdsdkwyMXBZM0p2YzI5bWRDMXphR0Z5WlhCdmFXNTBZQ2t1SUNvdlhHNGdJQ0FnYldsamNtOXpiMlowVTJoaGNtVlFiMmx1ZERvZ2UxeHVJQ0FnSUNBZ2RHOXJaVzQ2SUhOMGNtbHVaenRjYmlBZ0lDQWdJR0poYzJWVmNtdzZJSE4wY21sdVp6dGNiaUFnSUNBZ0lIUnBiV1Z2ZFhRL09pQnVkVzFpWlhJN1hHNGdJQ0FnZlR0Y2JpQWdmVHRjYm4xY2JseHVMeW9xWEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnUVdOamRXMTFiR0YwWldRZ2FXOGdaVzUyYVhKdmJtMWxiblFnYzJsdVoyeGxkRzl1WEc0Z0tpQkFjM1Z0YldGeWVTQlVhR1VnWUV4dloyZGxaRVZ1ZG1seWIyNXRaVzUwTG1GalkzVnRkV3hoZEdWZ0xYSmxaMmx6ZEdWeVpXUWdhVzV6ZEdGdVkyVWdZbUZqYTJsdVp5QjBhR1ZjYmlBcUlHQkpiMFZ1ZG1seWIyNXRaVzUwVTJoaGNHVmdJR052Ym5SeVlXTjBMaUJKVHlCelpYSjJhV05sY3lCeVpXRmtJSFJvWldseUlIQnliM1pwWkdWeUlITnNhV05sWEc0Z0tpQW9aUzVuTGlCZ1NXOUZiblpwY205dWJXVnVkQzVwYnk1aGFYSjBZV0pzWldBcElHbHVjMmxrWlNCZ1kyOXVabWxuUm5KdmJVVnVkbWx5YjI1dFpXNTBLQ2xnSUdGdVpGeHVJQ29nZEhKaGJuTnNZWFJsSUdsMElHbHVkRzhnWVc0Z1lFaDBkSEJCY0dsVFpYSjJhV05sUTI5dVptbG5ZQzFrWlhKcGRtVmtJR052Ym1acFp5NGdRM0psWkdWdWRHbGhiSE5jYmlBcUlHTnZiV1VnWm5KdmJTQmxiblpwY205dWJXVnVkQ0IyWVhKcFlXSnNaWE03SUdadmNpQmhjeTFuY21Gd2FDQnViMlJsSUhWellXZGxJSFJvYjNObElHRnlaU0J3Y205MmFXUmxaRnh1SUNvZ1lYTWdZRWRTUVZCSVgwTlNSVVJGVGxSSlFVeGZLbUFnZG1Gc2RXVnpJQ2h3YkdGalpXaHZiR1JsY25NZ2FXNGdkR2hwY3lCbGVHRnRjR3hsS1M1Y2JpQXFJRUJsZUdGdGNHeGxYRzRnS2lCZ1lHQjBjMXh1SUNvZ2FXMXdiM0owSUhzZ1FXbHlkR0ZpYkdWVFpYSjJhV05sSUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5cGJuUmxaM0poZEdsdmJuTXZhVzh2WVdseWRHRmliR1ZjSWp0Y2JpQXFYRzRnS2lBdkx5QjNhWFJvSUdsdkxtRnBjblJoWW14bExuUnZhMlZ1SUM4Z2FXOHVZV2x5ZEdGaWJHVXVZbUZ6WlVsa0lHTnZibVpwWjNWeVpXUWdhVzRnZEdobElHVnVkbWx5YjI1dFpXNTBYRzRnS2lCamIyNXpkQ0JoYVhKMFlXSnNaU0E5SUc1bGR5QkJhWEowWVdKc1pWTmxjblpwWTJVb0tUdGNiaUFxSUdGM1lXbDBJR0ZwY25SaFlteGxMbWx1YVhScFlXeHBlbVVvS1R0Y2JpQXFJR0JnWUZ4dUlDb2dRR052Ym5OMFlXNTBJSHRNYjJkblpXUkZiblpwY205dWJXVnVkSDBnU1c5RmJuWnBjbTl1YldWdWRGeHVJQ29nUUcxbGJXSmxjazltSUcxdlpIVnNaVHBwYm5SbFozSmhkR2x2Ym5NdmFXOHZaVzUyYVhKdmJtMWxiblJjYmlBcUwxeHVaWGh3YjNKMElHTnZibk4wSUVsdlJXNTJhWEp2Ym0xbGJuUWdQU0JNYjJkblpXUkZiblpwY205dWJXVnVkQzVoWTJOMWJYVnNZWFJsS0h0Y2JpQWdhVzg2SUh0Y2JpQWdJQ0JoYVhKMFlXSnNaVG9nZTF4dUlDQWdJQ0FnZEc5clpXNDZJRndpWENJc1hHNGdJQ0FnSUNCaVlYTmxWWEpzT2lCY0lsd2lMRnh1SUNBZ0lDQWdZbUZ6WlVsa09pQmNJbHdpTEZ4dUlDQWdJQ0FnZEdsdFpXOTFkRG9nZFc1a1pXWnBibVZrSUdGeklIVnVhMjV2ZDI0Z1lYTWdiblZ0WW1WeUxGeHVJQ0FnSUgwc1hHNGdJQ0FnWjI5dloyeGxVMmhsWlhSek9pQjdYRzRnSUNBZ0lDQjBiMnRsYmpvZ1hDSmNJaXhjYmlBZ0lDQWdJR0Z3YVV0bGVUb2dYQ0pjSWl4Y2JpQWdJQ0FnSUdKaGMyVlZjbXc2SUZ3aVhDSXNYRzRnSUNBZ0lDQjBhVzFsYjNWME9pQjFibVJsWm1sdVpXUWdZWE1nZFc1cmJtOTNiaUJoY3lCdWRXMWlaWElzWEc0Z0lDQWdmU3hjYmlBZ0lDQm5jbUZ3YUhGc09pQjdYRzRnSUNBZ0lDQmxibVJ3YjJsdWREb2dYQ0pjSWl4Y2JpQWdJQ0FnSUhSdmEyVnVPaUJjSWx3aUxGeHVJQ0FnSUNBZ2RHbHRaVzkxZERvZ2RXNWtaV1pwYm1Wa0lHRnpJSFZ1YTI1dmQyNGdZWE1nYm5WdFltVnlMRnh1SUNBZ0lIMHNYRzRnSUNBZ2JXbGpjbTl6YjJaMFJYaGpaV3c2SUh0Y2JpQWdJQ0FnSUhSdmEyVnVPaUJjSWx3aUxGeHVJQ0FnSUNBZ1ltRnpaVlZ5YkRvZ1hDSmNJaXhjYmlBZ0lDQWdJSFJwYldWdmRYUTZJSFZ1WkdWbWFXNWxaQ0JoY3lCMWJtdHViM2R1SUdGeklHNTFiV0psY2l4Y2JpQWdJQ0I5TEZ4dUlDQWdJR052Ym1ac2RXVnVZMlU2SUh0Y2JpQWdJQ0FnSUhWelpYSnVZVzFsT2lCY0lsd2lMRnh1SUNBZ0lDQWdkRzlyWlc0NklGd2lYQ0lzWEc0Z0lDQWdJQ0JpWVhObFZYSnNPaUJjSWx3aUxGeHVJQ0FnSUNBZ2RHbHRaVzkxZERvZ2RXNWtaV1pwYm1Wa0lHRnpJSFZ1YTI1dmQyNGdZWE1nYm5WdFltVnlMRnh1SUNBZ0lIMHNYRzRnSUNBZ2FtbHlZVG9nZTF4dUlDQWdJQ0FnZFhObGNtNWhiV1U2SUZ3aVhDSXNYRzRnSUNBZ0lDQjBiMnRsYmpvZ1hDSmNJaXhjYmlBZ0lDQWdJR0poYzJWVmNtdzZJRndpWENJc1hHNGdJQ0FnSUNCMGFXMWxiM1YwT2lCMWJtUmxabWx1WldRZ1lYTWdkVzVyYm05M2JpQmhjeUJ1ZFcxaVpYSXNYRzRnSUNBZ2ZTeGNiaUFnSUNCbmIyOW5iR1ZFYjJOek9pQjdYRzRnSUNBZ0lDQjBiMnRsYmpvZ1hDSmNJaXhjYmlBZ0lDQWdJR0Z3YVV0bGVUb2dYQ0pjSWl4Y2JpQWdJQ0FnSUdKaGMyVlZjbXc2SUZ3aVhDSXNYRzRnSUNBZ0lDQjBhVzFsYjNWME9pQjFibVJsWm1sdVpXUWdZWE1nZFc1cmJtOTNiaUJoY3lCdWRXMWlaWElzWEc0Z0lDQWdmU3hjYmlBZ0lDQnRhV055YjNOdlpuUlRhR0Z5WlZCdmFXNTBPaUI3WEc0Z0lDQWdJQ0IwYjJ0bGJqb2dYQ0pjSWl4Y2JpQWdJQ0FnSUdKaGMyVlZjbXc2SUZ3aVhDSXNYRzRnSUNBZ0lDQjBhVzFsYjNWME9pQjFibVJsWm1sdVpXUWdZWE1nZFc1cmJtOTNiaUJoY3lCdWRXMWlaWElzWEc0Z0lDQWdmU3hjYmlBZ2ZTeGNibjBnWVhNZ1NXOUZiblpwY205dWJXVnVkRk5vWVhCbEtUdGNiaUpkZlE9PSJdfQ==
|
|
@@ -271,5 +271,5 @@ class GoogleDocsService extends index_js_1.HttpApiService {
|
|
|
271
271
|
}
|
|
272
272
|
}
|
|
273
273
|
exports.GoogleDocsService = GoogleDocsService;
|
|
274
|
-
//# sourceMappingURL=GoogleDocsService.js.map
|
|
275
|
-
//# sourceMappingURL=GoogleDocsService.cjs.map
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR29vZ2xlRG9jc1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW8vZ29vZ2xlLWRvY3MvR29vZ2xlRG9jc1NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsNEJBQXVCO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLDJDQUFzQztBQUNyRSxPQUFPLEVBQ0wsY0FBYyxFQUVkLFNBQVMsR0FDVixxQ0FBMEI7QUE4RDNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0NHO0FBQ0gsTUFBTSxPQUFPLGlCQUFrQixTQUFRLGNBQXVDO0lBQTlFOztRQUNFOztXQUVHO1FBQ2dCLGdCQUFXLEdBQUcsYUFBYSxDQUFDO0lBd09qRCxDQUFDO0lBdE9DOzs7O09BSUc7SUFDTyxjQUFjO1FBQ3RCLE9BQU8sZ0NBQWdDLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNPLFdBQVcsQ0FDbkIsTUFBK0I7UUFFL0IsSUFBSSxNQUFNLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUNyRSxJQUFJLE1BQU0sQ0FBQyxNQUFNO1lBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM5RCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxxQkFBcUI7UUFHN0IsTUFBTSxHQUFHLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUM7UUFDeEMsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNw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QWtCRztJQUNILEtBQUssQ0FBQyxjQUFjLENBQUMsS0FBNkI7UUFDaEQsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3JDLE1BQU0sSUFBSSxhQUFhLENBQ3JCLGlFQUFpRSxDQUNsRSxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3JDLGNBQWMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQ2hFO2dCQUNFLFFBQVEsRUFBRTtvQkFDUjt3QkFDRSxjQUFjLEVBQUU7NEJBQ2QsWUFBWSxFQUFFO2dDQUNaLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQ0FDaEIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLElBQUksS0FBSzs2QkFDcEM7NEJBQ0QsV0FBVyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksRUFBRTt5QkFDakM7cUJBQ0Y7aUJBQ0Y7YUFDRixDQUNGLENBQUM7WUFDRixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLFNBQVMsQ0FBQyxhQUFhLEVBQUUsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvaW8vZ29vZ2xlLWRvY3Mvc2VydmljZVxuICogQHN1bW1hcnkgR29vZ2xlIERvY3MgQVBJIGludGVncmF0aW9uIHNlcnZpY2UgZm9yIGRvY3VtZW50IGNvbnRlbnQgb3BlcmF0aW9ucy5cbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIEdvb2dsZSBEb2NzIGRvY3VtZW50IG9wZXJhdGlvbnMgKGdldCwgY3JlYXRlLCBiYXRjaFxuICogdXBkYXRlLCBhcHBlbmQgdGV4dCwgYW5kIHJlcGxhY2UtYWxsKSBhcyBhbiB1bmRlY29yYXRlZCBjbGllbnQtYmFzZWQgc2VydmljZVxuICogYnVpbHQgb24ge0BsaW5rIEh0dHBBcGlTZXJ2aWNlfS4gQ29uZmlndXJhdGlvbiBjb21lcyBmcm9tIGFuIGV4cGxpY2l0XG4gKiBgR29vZ2xlRG9jc1NlcnZpY2VDb25maWdgIG9yIHRoZSBgaW8uZ29vZ2xlRG9jc2AgZW52aXJvbm1lbnQgc2xpY2UuIEFuIE9BdXRoXG4gKiBhY2Nlc3MgdG9rZW4gaXMgc2VudCBhcyBhIGJlYXJlciB0b2tlbiB3aGVuIHByZXNlbnQ7IG90aGVyd2lzZSBhbiBBUEkga2V5IGlzXG4gKiBzZW50IGFzIGBYLUdvb2ctQXBpLUtleWAgKHdyaXRlcyBnZW5lcmFsbHkgcmVxdWlyZSBPQXV0aCkuIENyZWRlbnRpYWxzIGFyZVxuICogcmVmZXJlbmNlZCBmcm9tIGNvbmZpZ3VyYXRpb24gKGFuZCwgZnJvbSBhcy1ncmFwaCBub2RlcywgZnJvbSB0aGUgcmVzb2x2ZWRcbiAqIGBnb29nbGUtZG9jc2AgY3JlZGVudGlhbCBzZWNyZXQpIGFuZCBhcmUgbmV2ZXIgZW1iZWRkZWQgaW4gc291cmNlLiBGYWlsdXJlc1xuICogYXJlIG1hcHBlZCB0byBkZWNhZiBlcnJvcnMgdmlhIHtAbGluayBodHRwRXJyb3J9LlxuICovXG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBJb0Vudmlyb25tZW50IH0gZnJvbSBcIi4uL2Vudmlyb25tZW50XCI7XG5pbXBvcnQgeyBlbnZOdW1iZXIsIGVudlN0cmluZyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvZW52aXJvbm1lbnRWYWx1ZVwiO1xuaW1wb3J0IHtcbiAgSHR0cEFwaVNlcnZpY2UsXG4gIHR5cGUgSHR0cEFwaVNlcnZpY2VDb25maWcsXG4gIGh0dHBFcnJvcixcbn0gZnJvbSBcIi4uLy4uL3NoYXJlZC9odHRwXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBHb29nbGUgRG9jcyBzZXJ2aWNlXG4gKiBAc3VtbWFyeSBFeHRlbmRzIHtAbGluayBIdHRwQXBpU2VydmljZUNvbmZpZ30gd2l0aCBhbiBvcHRpb25hbCBPQXV0aFxuICogYHRva2VuYCAocHJlZmVycmVkKSBhbmQgYW4gb3B0aW9uYWwgYGFwaUtleWAuIFdoZW4gb21pdHRlZCwgdGhlXG4gKiBgaW8uZ29vZ2xlRG9jc2AgZW52aXJvbm1lbnQgc2xpY2Ugc3VwcGxpZXMgdGhlIHNhbWUgdmFsdWVzIChwbHVzIG9wdGlvbmFsXG4gKiBgYmFzZVVybGAvYHRpbWVvdXRgKS4gQXQgbGVhc3Qgb25lIGNyZWRlbnRpYWwgaXMgcmVxdWlyZWQ7IHRoZSB0b2tlbiB3aW5zXG4gKiB3aGVuIGJvdGggYXJlIHNldC5cbiAqIEBjYXRlZ29yeSBJT1xuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vZ29vZ2xlLWRvY3Mvc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdvb2dsZURvY3NTZXJ2aWNlQ29uZmlnIGV4dGVuZHMgSHR0cEFwaVNlcnZpY2VDb25maWcge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdvb2dsZSBPQXV0aCBhY2Nlc3MgdG9rZW5cbiAgICogQHN1bW1hcnkgU2VudCBhcyBgQXV0aG9yaXphdGlvbjogQmVhcmVyIDx0b2tlbj5gIHdoZW4gcHJlc2VudC5cbiAgICovXG4gIHRva2VuPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdvb2dsZSBBUEkga2V5XG4gICAqIEBzdW1tYXJ5IFNlbnQgYXMgYFgtR29vZy1BcGktS2V5YCBvbmx5IHdoZW4gbm8gT0F1dGggdG9rZW4gaXMgY29uZmlndXJlZC5cbiAgICovXG4gIGFwaUtleT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW5wdXQgZm9yIHJlcGxhY2luZyBhbGwgbWF0Y2hpbmcgdGV4dCBpbiBhIGRvY3VtZW50XG4gKiBAc3VtbWFyeSBDYXJyaWVzIHRoZSBgZG9jdW1lbnRJZGAsIHRoZSBgZmluZGAgdGV4dCwgaXRzIGByZXBsYWNlYG1lbnQsIGFuZFxuICogd2hldGhlciBtYXRjaGluZyBpcyBjYXNlLXNlbnNpdGl2ZS5cbiAqIEBjYXRlZ29yeSBJT1xuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vZ29vZ2xlLWRvY3Mvc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdvb2dsZURvY3NSZXBsYWNlSW5wdXQge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERvY3VtZW50IElEIHRvIHVwZGF0ZVxuICAgKi9cbiAgZG9jdW1lbnRJZDogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRleHQgdG8gc2VhcmNoIGZvclxuICAgKi9cbiAgZmluZDogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlcGxhY2VtZW50IHRleHQgKGRlZmF1bHRzIHRvIHRoZSBlbXB0eSBzdHJpbmcpXG4gICAqL1xuICByZXBsYWNlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciBtYXRjaGluZyBpcyBjYXNlLXNlbnNpdGl2ZSAoZGVmYXVsdCBgZmFsc2VgKVxuICAgKi9cbiAgbWF0Y2hDYXNlPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWluaW1hbCBHb29nbGUgRG9jcyBib2R5IGRlc2NyaXB0b3IgdXNlZCBmb3IgYXBwZW5kIHBvc2l0aW9uaW5nXG4gKiBAc3VtbWFyeSBDYXB0dXJlcyB0aGUgYm9keSBjb250ZW50IGVudHJpZXMgd2hvc2UgYGVuZEluZGV4YCBsb2NhdGVzIHRoZSBlbmRcbiAqIG9mIHRoZSBkb2N1bWVudC5cbiAqL1xuaW50ZXJmYWNlIEdvb2dsZURvY0JvZHkge1xuICBib2R5Pzoge1xuICAgIGNvbnRlbnQ/OiBBcnJheTx7IGVuZEluZGV4PzogbnVtYmVyIH0+O1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBHb29nbGUgRG9jcyBBUEkgaW50ZWdyYXRpb24gc2VydmljZVxuICogQHN1bW1hcnkgQW4gdW5kZWNvcmF0ZWQgSFRUUCBzZXJ2aWNlIGZvciByZWFkaW5nIGFuZCBjcmVhdGluZyBkb2N1bWVudHMsXG4gKiBydW5uaW5nIHJhdyBiYXRjaCB1cGRhdGVzLCBhcHBlbmRpbmcgdGV4dCwgYW5kIHJlcGxhY2luZyBhbGwgbWF0Y2hpbmcgdGV4dC5cbiAqIEV2ZXJ5IG9wZXJhdGlvbiBuZWVkcyBlaXRoZXIgYW4gT0F1dGggdG9rZW4gb3IgYW4gQVBJIGtleTsgbWlzc2luZ1xuICogY3JlZGVudGlhbHMgb3IgaWRlbnRpZmllcnMgcmFpc2UgYEludGVybmFsRXJyb3JgLCBhbmQgdHJhbnNwb3J0IGZhaWx1cmVzIGFyZVxuICogbWFwcGVkIHRvIGRlY2FmIGVycm9ycyB2aWEge0BsaW5rIGh0dHBFcnJvcn0uXG4gKiBAY2xhc3MgR29vZ2xlRG9jc1NlcnZpY2VcbiAqIEBleHRlbmRzIEh0dHBBcGlTZXJ2aWNlXG4gKiBAY2F0ZWdvcnkgSU9cbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgR29vZ2xlRG9jc1NlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2ludGVncmF0aW9ucy9pby9nb29nbGUtZG9jc1wiO1xuICpcbiAqIGNvbnN0IGRvY3MgPSBuZXcgR29vZ2xlRG9jc1NlcnZpY2UoKTtcbiAqIGF3YWl0IGRvY3MuaW5pdGlhbGl6ZSh7XG4gKiAgIHRva2VuOiBwcm9jZXNzLmVudi5HUkFQSF9DUkVERU5USUFMX0dPT0dMRV9ET0NTX1RPS0VOLFxuICogfSk7XG4gKiBhd2FpdCBkb2NzLmFwcGVuZFRleHQocHJvY2Vzcy5lbnYuR09PR0xFX0RPQ19JRCA/PyBcIlwiLCBcIk5ldyBwYXJhZ3JhcGhcIik7XG4gKiBgYGBcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgYXV0b251bWJlclxuICogICBwYXJ0aWNpcGFudCBDYWxsZXJcbiAqICAgcGFydGljaXBhbnQgU2VydmljZSBhcyBHb29nbGVEb2NzU2VydmljZVxuICogICBwYXJ0aWNpcGFudCBBUEkgYXMgR29vZ2xlIERvY3MgQVBJXG4gKiAgIENhbGxlci0+PlNlcnZpY2U6IGFwcGVuZFRleHQoZG9jdW1lbnRJZCwgdGV4dClcbiAqICAgYWN0aXZhdGUgU2VydmljZVxuICogICBTZXJ2aWNlLT4+U2VydmljZTogcmVxdWlyZUF1dGgoKVxuICogICBTZXJ2aWNlLT4+QVBJOiBHRVQgL2RvY3VtZW50cy97aWR9XG4gKiAgIGFjdGl2YXRlIEFQSVxuICogICBBUEktLT4+U2VydmljZTogYm9keSBjb250ZW50IGVuZEluZGV4XG4gKiAgIGRlYWN0aXZhdGUgQVBJXG4gKiAgIFNlcnZpY2UtPj5BUEk6IFBPU1QgL2RvY3VtZW50cy97aWR9OmJhdGNoVXBkYXRlXG4gKiAgIGFjdGl2YXRlIEFQSVxuICogICBBUEktLT4+U2VydmljZTogYmF0Y2ggdXBkYXRlIHJlc3VsdFxuICogICBkZWFjdGl2YXRlIEFQSVxuICogICBTZXJ2aWNlLS0+PkNhbGxlcjogYmF0Y2ggdXBkYXRlIHJlc3VsdFxuICogICBkZWFjdGl2YXRlIFNlcnZpY2VcbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2lvL2dvb2dsZS1kb2NzL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIEdvb2dsZURvY3NTZXJ2aWNlIGV4dGVuZHMgSHR0cEFwaVNlcnZpY2U8R29vZ2xlRG9jc1NlcnZpY2VDb25maWc+IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgcHJvdmlkZXIgbmFtZSB1c2VkIGluIGVycm9yIG1lc3NhZ2VzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VydmljZU5hbWUgPSBcIkdvb2dsZSBEb2NzXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgR29vZ2xlIERvY3MgQVBJIGJhc2UgVVJMXG4gICAqIEBzdW1tYXJ5IFVzZWQgd2hlbiB0aGUgcmVzb2x2ZWQgY29uZmlnIGNhcnJpZXMgbm8gYGJhc2VVcmxgLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBgXCJodHRwczovL2RvY3MuZ29vZ2xlYXBpcy5jb20vdjFcImAuXG4gICAqL1xuICBwcm90ZWN0ZWQgZGVmYXVsdEJhc2VVcmwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gXCJodHRwczovL2RvY3MuZ29vZ2xlYXBpcy5jb20vdjFcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBHb29nbGUgRG9jcyBhdXRoZW50aWNhdGlvbiBoZWFkZXJzXG4gICAqIEBzdW1tYXJ5IFByZWZlcnMgYEF1dGhvcml6YXRpb246IEJlYXJlciA8dG9rZW4+YCwgZmFsbHMgYmFjayB0b1xuICAgKiBgWC1Hb29nLUFwaS1LZXk6IDxhcGlLZXk+YCwgYW5kIHJldHVybnMgbm8gaGVhZGVycyB3aGVuIG5laXRoZXIgaXMgc2V0LlxuICAgKiBAcGFyYW0ge0dvb2dsZURvY3NTZXJ2aWNlQ29uZmlnfSBjb25maWcgLSBUaGUgcmVzb2x2ZWQgc2VydmljZSBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gVGhlIGF1dGhlbnRpY2F0aW9uIGhlYWRlcnMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXV0aEhlYWRlcnMoXG4gICAgY29uZmlnOiBHb29nbGVEb2NzU2VydmljZUNvbmZpZ1xuICApOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICBpZiAoY29uZmlnLnRva2VuKSByZXR1cm4geyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7Y29uZmlnLnRva2VufWAgfTtcbiAgICBpZiAoY29uZmlnLmFwaUtleSkgcmV0dXJuIHsgXCJYLUdvb2ctQXBpLUtleVwiOiBjb25maWcuYXBpS2V5IH07XG4gICAgcmV0dXJuIHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZWFkcyB0aGUgR29vZ2xlIERvY3MgY3JlZGVudGlhbHMgYW5kIGRlZmF1bHRzIGZyb20gdGhlIGVudmlyb25tZW50XG4gICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBgaW8uZ29vZ2xlRG9jc2Agc2xpY2UgYW5kIHJldHVybnMgYSBwYXJ0aWFsIGNvbmZpZyB3aGVuXG4gICAqIGEgdG9rZW4gb3IgQVBJIGtleSBpcyBjb25maWd1cmVkLCBgdW5kZWZpbmVkYCBvdGhlcndpc2UuIFZhbHVlcyBwYXNzXG4gICAqIHRocm91Z2ggYGVudlN0cmluZ2AvYGVudk51bWJlcmAgdG8gcmVqZWN0IHVuc2V0LWxlYWYgcHJveGllcy5cbiAgICogQHJldHVybnMge1BhcnRpYWw8R29vZ2xlRG9jc1NlcnZpY2VDb25maWc+IHwgdW5kZWZpbmVkfSBBIHBhcnRpYWwgY29uZmlnLCBvciBgdW5kZWZpbmVkYCB3aGVuIG5vIGNyZWRlbnRpYWwgaXMgY29uZmlndXJlZC5cbiAgICovXG4gIHByb3RlY3RlZCBjb25maWdGcm9tRW52aXJvbm1lbnQoKTpcbiAgICB8IFBhcnRpYWw8R29vZ2xlRG9jc1NlcnZpY2VDb25maWc+XG4gICAgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGVudiA9IElvRW52aXJvbm1lbnQuaW8uZ29vZ2xlRG9jcztcbiAgICBjb25zdCB0b2tlbiA9IGVudlN0cmluZyhlbnY/LnRva2VuKTtcbiAgICBjb25zdCBhcGlLZXkgPSBlbnZTdHJpbmcoZW52Py5hcGlLZXkpO1xuICAgIGlmICghdG9rZW4gJiYgIWFwaUtleSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICByZXR1cm4ge1xuICAgICAgdG9rZW4sXG4gICAgICBhcGlLZXksXG4gICAgICBiYXNlVXJsOiBlbnZTdHJpbmcoZW52LmJhc2VVcmwpLFxuICAgICAgdGltZW91dDogZW52TnVtYmVyKGVudi50aW1lb3V0KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBBc3NlcnRzIHRoYXQgYW4gT0F1dGggdG9rZW4gb3IgQVBJIGtleSBpcyBjb25maWd1cmVkXG4gICAqIEBzdW1tYXJ5IENhbGxlZCBieSBldmVyeSBvcGVyYXRpb24gYmVmb3JlIGl0IHRvdWNoZXMgdGhlIG5ldHdvcmsuXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5laXRoZXIgYSB0b2tlbiBub3IgYW4gQVBJIGtleSBpcyBjb25maWd1cmVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlcXVpcmVBdXRoKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb25maWcudG9rZW4gJiYgIXRoaXMuY29uZmlnLmFwaUtleSkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiR29vZ2xlIERvY3MgcmVxdWlyZXMgYW4gT0F1dGggdG9rZW4gb3IgYW4gQVBJIGtleVwiXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmV0Y2hlcyBhIEdvb2dsZSBEb2NzIGRvY3VtZW50XG4gICAqIEBzdW1tYXJ5IGBHRVRgcyBgL2RvY3VtZW50cy88aWQ+YCBhbmQgcmV0dXJucyB0aGUgZnVsbCBkb2N1bWVudCBwYXlsb2FkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZG9jdW1lbnRJZCAtIFRoZSBkb2N1bWVudCBJRC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBkb2N1bWVudCBwYXlsb2FkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIGNyZWRlbnRpYWwgaXMgY29uZmlndXJlZCBvciB0aGUgZG9jdW1lbnQgSUQgaXMgZW1wdHkuXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIGRvY3VtZW50IGRvZXMgbm90IGV4aXN0IChIVFRQIDQwNCkuXG4gICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBHb29nbGUgcmVqZWN0cyB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGFzeW5jIGdldERvY3VtZW50KGRvY3VtZW50SWQ6IHN0cmluZyk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMucmVxdWlyZUF1dGgoKTtcbiAgICBpZiAoIWRvY3VtZW50SWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiR29vZ2xlIERvY3MgcmVxdWlyZXMgYSBkb2N1bWVudCBpZFwiKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0PEdvb2dsZURvY0JvZHk+KFxuICAgICAgICBgL2RvY3VtZW50cy8ke2VuY29kZVVSSUNvbXBvbmVudChkb2N1bWVudElkKX1gXG4gICAgICApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIkdvb2dsZSBEb2NzXCIsIFwiZ2V0IGRvY3VtZW50XCIsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBHb29nbGUgRG9jcyBkb2N1bWVudFxuICAgKiBAc3VtbWFyeSBgUE9TVGBzIGEgbmV3IGRvY3VtZW50IHdpdGggdGhlIGdpdmVuIHRpdGxlIGFuZCByZXR1cm5zIGl0c1xuICAgKiBwYXlsb2FkIChpbmNsdWRpbmcgYGRvY3VtZW50SWRgKS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlIC0gVGhlIG5ldyBkb2N1bWVudCB0aXRsZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBjcmVhdGVkIGRvY3VtZW50IHBheWxvYWQuXG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbm8gY3JlZGVudGlhbCBpcyBjb25maWd1cmVkIG9yIHRoZSB0aXRsZSBpcyBlbXB0eS5cbiAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIEdvb2dsZSByZWplY3RzIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgYXN5bmMgY3JlYXRlRG9jdW1lbnQodGl0bGU6IHN0cmluZyk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMucmVxdWlyZUF1dGgoKTtcbiAgICBpZiAoIXRpdGxlKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkdvb2dsZSBEb2NzIHJlcXVpcmVzIGEgZG9jdW1lbnQgdGl0bGVcIik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3QoXCIvZG9jdW1lbnRzXCIsIHsgdGl0bGUgfSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgaHR0cEVycm9yKFwiR29vZ2xlIERvY3NcIiwgXCJjcmVhdGUgZG9jdW1lbnRcIiwgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQXBwbGllcyBhIHJhdyBHb29nbGUgRG9jcyBiYXRjaCB1cGRhdGVcbiAgICogQHN1bW1hcnkgYFBPU1RgcyB0aGUgYHJlcXVlc3RzYCBhcnJheSB0byBgL2RvY3VtZW50cy88aWQ+OmJhdGNoVXBkYXRlYFxuICAgKiB1bmNoYW5nZWQsIGFsbG93aW5nIGFueSBEb2NzIEFQSSByZXF1ZXN0IHR5cGUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBkb2N1bWVudElkIC0gVGhlIGRvY3VtZW50IElELlxuICAgKiBAcGFyYW0ge3Vua25vd25bXX0gcmVxdWVzdHMgLSBUaGUgRG9jcyBBUEkgcmVxdWVzdCBvYmplY3RzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gVGhlIGJhdGNoIHVwZGF0ZSByZXNwb25zZSBwYXlsb2FkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIGNyZWRlbnRpYWwgaXMgY29uZmlndXJlZCwgb3IgdGhlIGRvY3VtZW50IElEIG9yIHJlcXVlc3RzIGFyZSBtaXNzaW5nLlxuICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBkb2N1bWVudCBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gR29vZ2xlIHJlamVjdHMgYSByZXF1ZXN0LlxuICAgKi9cbiAgYXN5bmMgYmF0Y2hVcGRhdGUoXG4gICAgZG9jdW1lbnRJZDogc3RyaW5nLFxuICAgIHJlcXVlc3RzOiB1bmtub3duW11cbiAgKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgdGhpcy5yZXF1aXJlQXV0aCgpO1xuICAgIGlmICghZG9jdW1lbnRJZCB8fCAhQXJyYXkuaXNBcnJheShyZXF1ZXN0cykgfHwgIXJlcXVlc3RzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiR29vZ2xlIERvY3MgYmF0Y2hVcGRhdGUgcmVxdWlyZXMgYSBkb2N1bWVudCBpZCBhbmQgcmVxdWVzdHNcIlxuICAgICAgKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdChcbiAgICAgICAgYC9kb2N1bWVudHMvJHtlbmNvZGVVUklDb21wb25lbnQoZG9jdW1lbnRJZCl9OmJhdGNoVXBkYXRlYCxcbiAgICAgICAgeyByZXF1ZXN0cyB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIkdvb2dsZSBEb2NzXCIsIFwiYmF0Y2ggdXBkYXRlXCIsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFwcGVuZHMgdGV4dCB0byB0aGUgZW5kIG9mIGEgR29vZ2xlIERvY3MgZG9jdW1lbnRcbiAgICogQHN1bW1hcnkgUmVhZHMgdGhlIGRvY3VtZW50IHRvIGZpbmQgdGhlIGZpbmFsIGBlbmRJbmRleGAsIHRoZW4gaW5zZXJ0cyB0aGVcbiAgICogdGV4dCBqdXN0IGJlZm9yZSBpdCB0aHJvdWdoIGEgYGJhdGNoVXBkYXRlYC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGRvY3VtZW50SWQgLSBUaGUgZG9jdW1lbnQgSUQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZXh0IC0gVGhlIHRleHQgdG8gYXBwZW5kLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gVGhlIGJhdGNoIHVwZGF0ZSByZXNwb25zZSBwYXlsb2FkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIGNyZWRlbnRpYWwgaXMgY29uZmlndXJlZCwgb3IgdGhlIGRvY3VtZW50IElEIG9yIHRleHQgaXMgZW1wdHkuXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIGRvY3VtZW50IGRvZXMgbm90IGV4aXN0IChIVFRQIDQwNCkuXG4gICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBHb29nbGUgcmVqZWN0cyB0aGUgdXBkYXRlLlxuICAgKi9cbiAgYXN5bmMgYXBwZW5kVGV4dChkb2N1bWVudElkOiBzdHJpbmcsIHRleHQ6IHN0cmluZyk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMucmVxdWlyZUF1dGgoKTtcbiAgICBpZiAoIWRvY3VtZW50SWQgfHwgIXRleHQpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIkdvb2dsZSBEb2NzIGFwcGVuZFRleHQgcmVxdWlyZXMgYSBkb2N1bWVudCBpZCBhbmQgdGV4dFwiXG4gICAgICApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgZG9jdW1lbnQgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXQ8R29vZ2xlRG9jQm9keT4oXG4gICAgICAgIGAvZG9jdW1lbnRzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50SWQpfWBcbiAgICAgICk7XG4gICAgICBjb25zdCBjb250ZW50ID0gZG9jdW1lbnQuZGF0YS5ib2R5Py5jb250ZW50ID8/IFtdO1xuICAgICAgY29uc3QgbGFzdCA9IGNvbnRlbnRbY29udGVudC5sZW5ndGggLSAxXTtcbiAgICAgIGNvbnN0IGVuZEluZGV4ID0gbGFzdD8uZW5kSW5kZXggPz8gMTtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdChcbiAgICAgICAgYC9kb2N1bWVudHMvJHtlbmNvZGVVUklDb21wb25lbnQoZG9jdW1lbnRJZCl9OmJhdGNoVXBkYXRlYCxcbiAgICAgICAge1xuICAgICAgICAgIHJlcXVlc3RzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGluc2VydFRleHQ6IHtcbiAgICAgICAgICAgICAgICBsb2NhdGlvbjogeyBpbmRleDogTWF0aC5tYXgoZW5kSW5kZXggLSAxLCAxKSB9LFxuICAgICAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgaHR0cEVycm9yKFwiR29vZ2xlIERvY3NcIiwgXCJhcHBlbmQgdGV4dFwiLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXBsYWNlcyBhbGwgbWF0Y2hpbmcgdGV4dCBpbiBhIEdvb2dsZSBEb2NzIGRvY3VtZW50XG4gICAqIEBzdW1tYXJ5IFNlbmRzIGEgYHJlcGxhY2VBbGxUZXh0YCByZXF1ZXN0IGhvbm9yaW5nIHRoZSBgbWF0Y2hDYXNlYCBvcHRpb25cbiAgICogYW5kIHJldHVybnMgdGhlIGJhdGNoIHVwZGF0ZSByZXNwb25zZSBwYXlsb2FkLlxuICAgKiBAcGFyYW0ge0dvb2dsZURvY3NSZXBsYWNlSW5wdXR9IGlucHV0IC0gVGhlIGRvY3VtZW50LCBmaW5kL3JlcGxhY2UgdGV4dCwgYW5kIGNhc2Ugb3B0aW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gVGhlIGJhdGNoIHVwZGF0ZSByZXNwb25zZSBwYXlsb2FkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIGNyZWRlbnRpYWwgaXMgY29uZmlndXJlZCwgb3IgdGhlIGRvY3VtZW50IElEIG9yIGZpbmQgdGV4dCBpcyBlbXB0eS5cbiAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgZG9jdW1lbnQgZG9lcyBub3QgZXhpc3QgKEhUVFAgNDA0KS5cbiAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIEdvb2dsZSByZWplY3RzIHRoZSB1cGRhdGUuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIGF3YWl0IGRvY3MucmVwbGFjZUFsbFRleHQoe1xuICAgKiAgIGRvY3VtZW50SWQ6IFwiYWJjMTIzXCIsXG4gICAqICAgZmluZDogXCJUT0RPXCIsXG4gICAqICAgcmVwbGFjZTogXCJET05FXCIsXG4gICAqICAgbWF0Y2hDYXNlOiB0cnVlLFxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyByZXBsYWNlQWxsVGV4dChpbnB1dDogR29vZ2xlRG9jc1JlcGxhY2VJbnB1dCk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMucmVxdWlyZUF1dGgoKTtcbiAgICBpZiAoIWlucHV0LmRvY3VtZW50SWQgfHwgIWlucHV0LmZpbmQpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIkdvb2dsZSBEb2NzIHJlcGxhY2VBbGxUZXh0IHJlcXVpcmVzIGEgZG9jdW1lbnQgaWQgYW5kIGZpbmQgdGV4dFwiXG4gICAgICApO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0KFxuICAgICAgICBgL2RvY3VtZW50cy8ke2VuY29kZVVSSUNvbXBvbmVudChpbnB1dC5kb2N1bWVudElkKX06YmF0Y2hVcGRhdGVgLFxuICAgICAgICB7XG4gICAgICAgICAgcmVxdWVzdHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcmVwbGFjZUFsbFRleHQ6IHtcbiAgICAgICAgICAgICAgICBjb250YWluc1RleHQ6IHtcbiAgICAgICAgICAgICAgICAgIHRleHQ6IGlucHV0LmZpbmQsXG4gICAgICAgICAgICAgICAgICBtYXRjaENhc2U6IGlucHV0Lm1hdGNoQ2FzZSA/PyBmYWxzZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHJlcGxhY2VUZXh0OiBpbnB1dC5yZXBsYWNlID8/IFwiXCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgaHR0cEVycm9yKFwiR29vZ2xlIERvY3NcIiwgXCJyZXBsYWNlIGFsbCB0ZXh0XCIsIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR29vZ2xlRG9jc1NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJHb29nbGVEb2NzU2VydmljZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCwyREFBd0Q7QUFDeEQsd0RBQW9EO0FBQ3BELDRFQUEwRTtBQUMxRSwyREFBMEU7QUFDMUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F3Q0c7QUFDSCxNQUFhLGlCQUFrQixTQUFRLHlCQUFjO0lBQ2pEO1FBQ0ksS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDcEI7O1dBRUc7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0lBQ0Q7Ozs7T0FJRztJQUNILGNBQWM7UUFDVixPQUFPLGdDQUFnQyxDQUFDO0lBQzVDLENBQUM7SUFDRDs7Ozs7O09BTUc7SUFDSCxXQUFXLENBQUMsTUFBTTtRQUNkLElBQUksTUFBTSxDQUFDLEtBQUs7WUFDWixPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUM7UUFDdkQsSUFBSSxNQUFNLENBQUMsTUFBTTtZQUNiLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDL0MsT0FBTyxFQUFFLENBQUM7SUFDZCxDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0gscUJBQXFCO1FBQ2pCLE1BQU0sR0FBRyxHQUFHLDhCQUFhLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxJQUFBLCtCQUFTLEVBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sTUFBTSxHQUFHLElBQUEsK0JBQVMsRUFBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLE1BQU07WUFDakIs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UUFDbkIsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbkMsTUFBTSxJQUFJLDZCQUFhLENBQUMsaUVBQWlFLENBQUMsQ0FBQztRQUMvRixDQUFDO1FBQ0QsSUFBSSxDQUFDO1lBQ0QsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFO2dCQUN0RyxRQUFRLEVBQUU7b0JBQ047d0JBQ0ksY0FBYyxFQUFFOzRCQUNaLFlBQVksRUFBRTtnQ0FDVixJQUFJLEVBQUUsS0FBSyxDQUFDLElBQUk7Z0NBQ2hCLFNBQVMsRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLEtBQUs7NkJBQ3RDOzRCQUNELFdBQVcsRUFBRSxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUU7eUJBQ25DO3FCQUNKO2lCQUNKO2FBQ0osQ0FBQyxDQUFDO1lBQ0gsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFBLG9CQUFTLEVBQUMsYUFBYSxFQUFFLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFsTkQsOENBa05DO0FBQ0QsODd0QkFBODd0QiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvaW8vZ29vZ2xlLWRvY3Mvc2VydmljZVxuICogQHN1bW1hcnkgR29vZ2xlIERvY3MgQVBJIGludGVncmF0aW9uIHNlcnZpY2UgZm9yIGRvY3VtZW50IGNvbnRlbnQgb3BlcmF0aW9ucy5cbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIEdvb2dsZSBEb2NzIGRvY3VtZW50IG9wZXJhdGlvbnMgKGdldCwgY3JlYXRlLCBiYXRjaFxuICogdXBkYXRlLCBhcHBlbmQgdGV4dCwgYW5kIHJlcGxhY2UtYWxsKSBhcyBhbiB1bmRlY29yYXRlZCBjbGllbnQtYmFzZWQgc2VydmljZVxuICogYnVpbHQgb24ge0BsaW5rIEh0dHBBcGlTZXJ2aWNlfS4gQ29uZmlndXJhdGlvbiBjb21lcyBmcm9tIGFuIGV4cGxpY2l0XG4gKiBgR29vZ2xlRG9jc1NlcnZpY2VDb25maWdgIG9yIHRoZSBgaW8uZ29vZ2xlRG9jc2AgZW52aXJvbm1lbnQgc2xpY2UuIEFuIE9BdXRoXG4gKiBhY2Nlc3MgdG9rZW4gaXMgc2VudCBhcyBhIGJlYXJlciB0b2tlbiB3aGVuIHByZXNlbnQ7IG90aGVyd2lzZSBhbiBBUEkga2V5IGlzXG4gKiBzZW50IGFzIGBYLUdvb2ctQXBpLUtleWAgKHdyaXRlcyBnZW5lcmFsbHkgcmVxdWlyZSBPQXV0aCkuIENyZWRlbnRpYWxzIGFyZVxuICogcmVmZXJlbmNlZCBmcm9tIGNvbmZpZ3VyYXRpb24gKGFuZCwgZnJvbSBhcy1ncmFwaCBub2RlcywgZnJvbSB0aGUgcmVzb2x2ZWRcbiAqIGBnb29nbGUtZG9jc2AgY3JlZGVudGlhbCBzZWNyZXQpIGFuZCBhcmUgbmV2ZXIgZW1iZWRkZWQgaW4gc291cmNlLiBGYWlsdXJlc1xuICogYXJlIG1hcHBlZCB0byBkZWNhZiBlcnJvcnMgdmlhIHtAbGluayBodHRwRXJyb3J9LlxuICovXG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBJb0Vudmlyb25tZW50IH0gZnJvbSBcIi4vLi4vZW52aXJvbm1lbnQuanNcIjtcbmltcG9ydCB7IGVudk51bWJlciwgZW52U3RyaW5nIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2Vudmlyb25tZW50VmFsdWUuanNcIjtcbmltcG9ydCB7IEh0dHBBcGlTZXJ2aWNlLCBodHRwRXJyb3IsIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2h0dHAvaW5kZXguanNcIjtcbi8qKlxuICogQGRlc2NyaXB0aW9uIEdvb2dsZSBEb2NzIEFQSSBpbnRlZ3JhdGlvbiBzZXJ2aWNlXG4gKiBAc3VtbWFyeSBBbiB1bmRlY29yYXRlZCBIVFRQIHNlcnZpY2UgZm9yIHJlYWRpbmcgYW5kIGNyZWF0aW5nIGRvY3VtZW50cyxcbiAqIHJ1bm5pbmcgcmF3IGJhdGNoIHVwZGF0ZXMsIGFwcGVuZGluZyB0ZXh0LCBhbmQgcmVwbGFjaW5nIGFsbCBtYXRjaGluZyB0ZXh0LlxuICogRXZlcnkgb3BlcmF0aW9uIG5lZWRzIGVpdGhlciBhbiBPQXV0aCB0b2tlbiBvciBhbiBBUEkga2V5OyBtaXNzaW5nXG4gKiBjcmVkZW50aWFscyBvciBpZGVudGlmaWVycyByYWlzZSBgSW50ZXJuYWxFcnJvcmAsIGFuZCB0cmFuc3BvcnQgZmFpbHVyZXMgYXJlXG4gKiBtYXBwZWQgdG8gZGVjYWYgZXJyb3JzIHZpYSB7QGxpbmsgaHR0cEVycm9yfS5cbiAqIEBjbGFzcyBHb29nbGVEb2NzU2VydmljZVxuICogQGV4dGVuZHMgSHR0cEFwaVNlcnZpY2VcbiAqIEBjYXRlZ29yeSBJT1xuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBHb29nbGVEb2NzU2VydmljZSB9IGZyb20gXCJAZGVjYWYtdHMvaW50ZWdyYXRpb25zL2lvL2dvb2dsZS1kb2NzXCI7XG4gKlxuICogY29uc3QgZG9jcyA9IG5ldyBHb29nbGVEb2NzU2VydmljZSgpO1xuICogYXdhaXQgZG9jcy5pbml0aWFsaXplKHtcbiAqICAgdG9rZW46IHByb2Nlc3MuZW52LkdSQVBIX0NSRURFTlRJQUxfR09PR0xFX0RPQ1NfVE9LRU4sXG4gKiB9KTtcbiAqIGF3YWl0IGRvY3MuYXBwZW5kVGV4dChwcm9jZXNzLmVudi5HT09HTEVfRE9DX0lEID8/IFwiXCIsIFwiTmV3IHBhcmFncmFwaFwiKTtcbiAqIGBgYFxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBhdXRvbnVtYmVyXG4gKiAgIHBhcnRpY2lwYW50IENhbGxlclxuICogICBwYXJ0aWNpcGFudCBTZXJ2aWNlIGFzIEdvb2dsZURvY3NTZXJ2aWNlXG4gKiAgIHBhcnRpY2lwYW50IEFQSSBhcyBHb29nbGUgRG9jcyBBUElcbiAqICAgQ2FsbGVyLT4+U2VydmljZTogYXBwZW5kVGV4dChkb2N1bWVudElkLCB0ZXh0KVxuICogICBhY3RpdmF0ZSBTZXJ2aWNlXG4gKiAgIFNlcnZpY2UtPj5TZXJ2aWNlOiByZXF1aXJlQXV0aCgpXG4gKiAgIFNlcnZpY2UtPj5BUEk6IEdFVCAvZG9jdW1lbnRzL3tpZH1cbiAqICAgYWN0aXZhdGUgQVBJXG4gKiAgIEFQSS0tPj5TZXJ2aWNlOiBib2R5IGNvbnRlbnQgZW5kSW5kZXhcbiAqICAgZGVhY3RpdmF0ZSBBUElcbiAqICAgU2VydmljZS0+PkFQSTogUE9TVCAvZG9jdW1lbnRzL3tpZH06YmF0Y2hVcGRhdGVcbiAqICAgYWN0aXZhdGUgQVBJXG4gKiAgIEFQSS0tPj5TZXJ2aWNlOiBiYXRjaCB1cGRhdGUgcmVzdWx0XG4gKiAgIGRlYWN0aXZhdGUgQVBJXG4gKiAgIFNlcnZpY2UtLT4+Q2FsbGVyOiBiYXRjaCB1cGRhdGUgcmVzdWx0XG4gKiAgIGRlYWN0aXZhdGUgU2VydmljZVxuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvaW8vZ29vZ2xlLWRvY3Mvc2VydmljZVxuICovXG5leHBvcnQgY2xhc3MgR29vZ2xlRG9jc1NlcnZpY2UgZXh0ZW5kcyBIdHRwQXBpU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVzY3JpcHRpb24gVGhlIHByb3ZpZGVyIG5hbWUgdXNlZCBpbiBlcnJvciBtZXNzYWdlc1xuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5zZXJ2aWNlTmFtZSA9IFwiR29vZ2xlIERvY3NcIjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSBHb29nbGUgRG9jcyBBUEkgYmFzZSBVUkxcbiAgICAgKiBAc3VtbWFyeSBVc2VkIHdoZW4gdGhlIHJlc29sdmVkIGNvbmZpZyBjYXJyaWVzIG5vIGBiYXNlVXJsYC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBgXCJodHRwczovL2RvY3MuZ29vZ2xlYXBpcy5jb20vdjFcImAuXG4gICAgICovXG4gICAgZGVmYXVsdEJhc2VVcmwoKSB7XG4gICAgICAgIHJldHVybiBcImh0dHBzOi8vZG9jcy5nb29nbGVhcGlzLmNvbS92MVwiO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBHb29nbGUgRG9jcyBhdXRoZW50aWNhdGlvbiBoZWFkZXJzXG4gICAgICogQHN1bW1hcnkgUHJlZmVycyBgQXV0aG9yaXphdGlvbjogQmVhcmVyIDx0b2tlbj5gLCBmYWxscyBiYWNrIHRvXG4gICAgICogYFgtR29vZy1BcGktS2V5OiA8YXBpS2V5PmAsIGFuZCByZXR1cm5zIG5vIGhlYWRlcnMgd2hlbiBuZWl0aGVyIGlzIHNldC5cbiAgICAgKiBAcGFyYW0ge0dvb2dsZURvY3NTZXJ2aWNlQ29uZmlnfSBjb25maWcgLSBUaGUgcmVzb2x2ZWQgc2VydmljZSBjb25maWd1cmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBUaGUgYXV0aGVudGljYXRpb24gaGVhZGVycy5cbiAgICAgKi9cbiAgICBhdXRoSGVhZGVycyhjb25maWcpIHtcbiAgICAgICAgaWYgKGNvbmZpZy50b2tlbilcbiAgICAgICAgICAgIHJldHVybiB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtjb25maWcudG9rZW59YCB9O1xuICAgICAgICBpZiAoY29uZmlnLmFwaUtleSlcbiAgICAgICAgICAgIHJldHVybiB7IFwiWC1Hb29nLUFwaS1LZXlcIjogY29uZmlnLmFwaUtleSB9O1xuICAgICAgICByZXR1cm4ge307XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWFkcyB0aGUgR29vZ2xlIERvY3MgY3JlZGVudGlhbHMgYW5kIGRlZmF1bHRzIGZyb20gdGhlIGVudmlyb25tZW50XG4gICAgICogQHN1bW1hcnkgUmVhZHMgdGhlIGBpby5nb29nbGVEb2NzYCBzbGljZSBhbmQgcmV0dXJucyBhIHBhcnRpYWwgY29uZmlnIHdoZW5cbiAgICAgKiBhIHRva2VuIG9yIEFQSSBrZXkgaXMgY29uZmlndXJlZCwgYHVuZGVmaW5lZGAgb3RoZXJ3aXNlLiBWYWx1ZXMgcGFzc1xuICAgICAqIHRocm91Z2ggYGVudlN0cmluZ2AvYGVudk51bWJlcmAgdG8gcmVqZWN0IHVuc2V0LWxlYWYgcHJveGllcy5cbiAgICAgKiBAcmV0dXJucyB7UGFydGlhbDxHb29nbGVEb2NzU2VydmljZUNvbmZpZz4gfCB1bmRlZmluZWR9IEEgcGFydGlhbCBjb25maWcsIG9yIGB1bmRlZmluZWRgIHdoZW4gbm8gY3JlZGVudGlhbCBpcyBjb25maWd1cmVkLlxuICAgICAqL1xuICAgIGNvbmZpZ0Zyb21FbnZpcm9ubWVudCgpIHtcbiAgICAgICAgY29uc3QgZW52ID0gSW9FbnZpcm9ubWVudC5pby5nb29nbGVEb2NzO1xuICAgICAgICBjb25zdCB0b2tlbiA9IGVudlN0cmluZyhlbnY/LnRva2VuKTtcbiAgICAgICAgY29uc3QgYXBpS2V5ID0gZW52U3RyaW5nKGVudj8uYXBpS2V5KTtcbiAgICAgICAgaWYgKCF0b2tlbiAmJiAhYXBpS2V5KVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgYXBpS2V5LFxuICAgICAgICAgICAgYmFzZVVybDogZW52U3RyaW5nKGVudi5iYXNlVXJsKSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IGVudk51bWJlcihlbnYudGltZW91dCksXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBBc3NlcnRzIHRoYXQgYW4gT0F1dGggdG9rZW4gb3IgQVBJIGtleSBpcyBjb25maWd1cmVkXG4gICAgICogQHN1bW1hcnkgQ2FsbGVkIGJ5IGV2ZXJ5IG9wZXJhdGlvbiBiZWZvcmUgaXQgdG91Y2hlcyB0aGUgbmV0d29yay5cbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5laXRoZXIgYSB0b2tlbiBub3IgYW4gQVBJIGtleSBpcyBjb25maWd1cmVkLlxuICAgICAqL1xuICAgIHJlcXVpcmVBdXRoKCkge1xuICAgICAgICBpZiAoIXRoaXMuY29uZmlnLnRva2VuICYmICF0aGlzLmNvbmZpZy5hcGlLZXkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiR29vZ2xlIERvY3MgcmVxdWlyZXMgYW4gT0F1dGggdG9rZW4gb3IgYW4gQVBJIGtleVwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRmV0Y2hlcyBhIEdvb2dsZSBEb2NzIGRvY3VtZW50XG4gICAgICogQHN1bW1hcnkgYEdFVGBzIGAvZG9jdW1lbnRzLzxpZD5gIGFuZCByZXR1cm5zIHRoZSBmdWxsIGRvY3VtZW50IHBheWxvYWQuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGRvY3VtZW50SWQgLSBUaGUgZG9jdW1lbnQgSUQuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBkb2N1bWVudCBwYXlsb2FkLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbm8gY3JlZGVudGlhbCBpcyBjb25maWd1cmVkIG9yIHRoZSBkb2N1bWVudCBJRCBpcyBlbXB0eS5cbiAgICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBkb2N1bWVudCBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBHb29nbGUgcmVqZWN0cyB0aGUgcmVxdWVzdC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXREb2N1bWVudChkb2N1bWVudElkKSB7XG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGgoKTtcbiAgICAgICAgaWYgKCFkb2N1bWVudElkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkdvb2dsZSBEb2NzIHJlcXVpcmVzIGEgZG9jdW1lbnQgaWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0KGAvZG9jdW1lbnRzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50SWQpfWApO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBodHRwRXJyb3IoXCJHb29nbGUgRG9jc1wiLCBcImdldCBkb2N1bWVudFwiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBHb29nbGUgRG9jcyBkb2N1bWVudFxuICAgICAqIEBzdW1tYXJ5IGBQT1NUYHMgYSBuZXcgZG9jdW1lbnQgd2l0aCB0aGUgZ2l2ZW4gdGl0bGUgYW5kIHJldHVybnMgaXRzXG4gICAgICogcGF5bG9hZCAoaW5jbHVkaW5nIGBkb2N1bWVudElkYCkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlIC0gVGhlIG5ldyBkb2N1bWVudCB0aXRsZS5cbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gVGhlIGNyZWF0ZWQgZG9jdW1lbnQgcGF5bG9hZC5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIGNyZWRlbnRpYWwgaXMgY29uZmlndXJlZCBvciB0aGUgdGl0bGUgaXMgZW1wdHkuXG4gICAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIEdvb2dsZSByZWplY3RzIHRoZSByZXF1ZXN0LlxuICAgICAqL1xuICAgIGFzeW5jIGNyZWF0ZURvY3VtZW50KHRpdGxlKSB7XG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGgoKTtcbiAgICAgICAgaWYgKCF0aXRsZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJHb29nbGUgRG9jcyByZXF1aXJlcyBhIGRvY3VtZW50IHRpdGxlXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3QoXCIvZG9jdW1lbnRzXCIsIHsgdGl0bGUgfSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGh0dHBFcnJvcihcIkdvb2dsZSBEb2NzXCIsIFwiY3JlYXRlIGRvY3VtZW50XCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQXBwbGllcyBhIHJhdyBHb29nbGUgRG9jcyBiYXRjaCB1cGRhdGVcbiAgICAgKiBAc3VtbWFyeSBgUE9TVGBzIHRoZSBgcmVxdWVzdHNgIGFycmF5IHRvIGAvZG9jdW1lbnRzLzxpZD46YmF0Y2hVcGRhdGVgXG4gICAgICogdW5jaGFuZ2VkLCBhbGxvd2luZyBhbnkgRG9jcyBBUEkgcmVxdWVzdCB0eXBlLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBkb2N1bWVudElkIC0gVGhlIGRvY3VtZW50IElELlxuICAgICAqIEBwYXJhbSB7dW5rbm93bltdfSByZXF1ZXN0cyAtIFRoZSBEb2NzIEFQSSByZXF1ZXN0IG9iamVjdHMuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBiYXRjaCB1cGRhdGUgcmVzcG9uc2UgcGF5bG9hZC5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIGNyZWRlbnRpYWwgaXMgY29uZmlndXJlZCwgb3IgdGhlIGRvY3VtZW50IElEIG9yIHJlcXVlc3RzIGFyZSBtaXNzaW5nLlxuICAgICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIGRvY3VtZW50IGRvZXMgbm90IGV4aXN0IChIVFRQIDQwNCkuXG4gICAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIEdvb2dsZSByZWplY3RzIGEgcmVxdWVzdC5cbiAgICAgKi9cbiAgICBhc3luYyBiYXRjaFVwZGF0ZShkb2N1bWVudElkLCByZXF1ZXN0cykge1xuICAgICAgICB0aGlzLnJlcXVpcmVBdXRoKCk7XG4gICAgICAgIGlmICghZG9jdW1lbnRJZCB8fCAhQXJyYXkuaXNBcnJheShyZXF1ZXN0cykgfHwgIXJlcXVlc3RzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJHb29nbGUgRG9jcyBiYXRjaFVwZGF0ZSByZXF1aXJlcyBhIGRvY3VtZW50IGlkIGFuZCByZXF1ZXN0c1wiKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0KGAvZG9jdW1lbnRzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50SWQpfTpiYXRjaFVwZGF0ZWAsIHsgcmVxdWVzdHMgfSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGh0dHBFcnJvcihcIkdvb2dsZSBEb2NzXCIsIFwiYmF0Y2ggdXBkYXRlXCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQXBwZW5kcyB0ZXh0IHRvIHRoZSBlbmQgb2YgYSBHb29nbGUgRG9jcyBkb2N1bWVudFxuICAgICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBkb2N1bWVudCB0byBmaW5kIHRoZSBmaW5hbCBgZW5kSW5kZXhgLCB0aGVuIGluc2VydHMgdGhlXG4gICAgICogdGV4dCBqdXN0IGJlZm9yZSBpdCB0aHJvdWdoIGEgYGJhdGNoVXBkYXRlYC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZG9jdW1lbnRJZCAtIFRoZSBkb2N1bWVudCBJRC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGV4dCAtIFRoZSB0ZXh0IHRvIGFwcGVuZC5cbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gVGhlIGJhdGNoIHVwZGF0ZSByZXNwb25zZSBwYXlsb2FkLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbm8gY3JlZGVudGlhbCBpcyBjb25maWd1cmVkLCBvciB0aGUgZG9jdW1lbnQgSUQgb3IgdGV4dCBpcyBlbXB0eS5cbiAgICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBkb2N1bWVudCBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBHb29nbGUgcmVqZWN0cyB0aGUgdXBkYXRlLlxuICAgICAqL1xuICAgIGFzeW5jIGFwcGVuZFRleHQoZG9jdW1lbnRJZCwgdGV4dCkge1xuICAgICAgICB0aGlzLnJlcXVpcmVBdXRoKCk7XG4gICAgICAgIGlmICghZG9jdW1lbnRJZCB8fCAhdGV4dCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJHb29nbGUgRG9jcyBhcHBlbmRUZXh0IHJlcXVpcmVzIGEgZG9jdW1lbnQgaWQgYW5kIHRleHRcIik7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGRvY3VtZW50ID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0KGAvZG9jdW1lbnRzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGRvY3VtZW50SWQpfWApO1xuICAgICAgICAgICAgY29uc3QgY29udGVudCA9IGRvY3VtZW50LmRhdGEuYm9keT8uY29udGVudCA/PyBbXTtcbiAgICAgICAgICAgIGNvbnN0IGxhc3QgPSBjb250ZW50W2NvbnRlbnQubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICBjb25zdCBlbmRJbmRleCA9IGxhc3Q/LmVuZEluZGV4ID8/IDE7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3QoYC9kb2N1bWVudHMvJHtlbmNvZGVVUklDb21wb25lbnQoZG9jdW1lbnRJZCl9OmJhdGNoVXBkYXRlYCwge1xuICAgICAgICAgICAgICAgIHJlcXVlc3RzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydFRleHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbjogeyBpbmRleDogTWF0aC5tYXgoZW5kSW5kZXggLSAxLCAxKSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgaHR0cEVycm9yKFwiR29vZ2xlIERvY3NcIiwgXCJhcHBlbmQgdGV4dFwiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFJlcGxhY2VzIGFsbCBtYXRjaGluZyB0ZXh0IGluIGEgR29vZ2xlIERvY3MgZG9jdW1lbnRcbiAgICAgKiBAc3VtbWFyeSBTZW5kcyBhIGByZXBsYWNlQWxsVGV4dGAgcmVxdWVzdCBob25vcmluZyB0aGUgYG1hdGNoQ2FzZWAgb3B0aW9uXG4gICAgICogYW5kIHJldHVybnMgdGhlIGJhdGNoIHVwZGF0ZSByZXNwb25zZSBwYXlsb2FkLlxuICAgICAqIEBwYXJhbSB7R29vZ2xlRG9jc1JlcGxhY2VJbnB1dH0gaW5wdXQgLSBUaGUgZG9jdW1lbnQsIGZpbmQvcmVwbGFjZSB0ZXh0LCBhbmQgY2FzZSBvcHRpb24uXG4gICAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBiYXRjaCB1cGRhdGUgcmVzcG9uc2UgcGF5bG9hZC5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIGNyZWRlbnRpYWwgaXMgY29uZmlndXJlZCwgb3IgdGhlIGRvY3VtZW50IElEIG9yIGZpbmQgdGV4dCBpcyBlbXB0eS5cbiAgICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBkb2N1bWVudCBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBHb29nbGUgcmVqZWN0cyB0aGUgdXBkYXRlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHNcbiAgICAgKiBhd2FpdCBkb2NzLnJlcGxhY2VBbGxUZXh0KHtcbiAgICAgKiAgIGRvY3VtZW50SWQ6IFwiYWJjMTIzXCIsXG4gICAgICogICBmaW5kOiBcIlRPRE9cIixcbiAgICAgKiAgIHJlcGxhY2U6IFwiRE9ORVwiLFxuICAgICAqICAgbWF0Y2hDYXNlOiB0cnVlLFxuICAgICAqIH0pO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIGFzeW5jIHJlcGxhY2VBbGxUZXh0KGlucHV0KSB7XG4gICAgICAgIHRoaXMucmVxdWlyZUF1dGgoKTtcbiAgICAgICAgaWYgKCFpbnB1dC5kb2N1bWVudElkIHx8ICFpbnB1dC5maW5kKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIkdvb2dsZSBEb2NzIHJlcGxhY2VBbGxUZXh0IHJlcXVpcmVzIGEgZG9jdW1lbnQgaWQgYW5kIGZpbmQgdGV4dFwiKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0KGAvZG9jdW1lbnRzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGlucHV0LmRvY3VtZW50SWQpfTpiYXRjaFVwZGF0ZWAsIHtcbiAgICAgICAgICAgICAgICByZXF1ZXN0czogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXBsYWNlQWxsVGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5zVGV4dDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBpbnB1dC5maW5kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaENhc2U6IGlucHV0Lm1hdGNoQ2FzZSA/PyBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcGxhY2VUZXh0OiBpbnB1dC5yZXBsYWNlID8/IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgaHR0cEVycm9yKFwiR29vZ2xlIERvY3NcIiwgXCJyZXBsYWNlIGFsbCB0ZXh0XCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVIyOXZaMnhsUkc5amMxTmxjblpwWTJVdWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTh1TGk5emNtTXZhVzh2WjI5dloyeGxMV1J2WTNNdlIyOXZaMnhsUkc5amMxTmxjblpwWTJVdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN096czdPenM3T3p0SFFWbEhPMEZCUTBnc1QwRkJUeXhGUVVGRkxHRkJRV0VzUlVGQlJTeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJRM2hFTEU5QlFVOHNSVUZCUlN4aFFVRmhMRVZCUVVVc05FSkJRWFZDTzBGQlF5OURMRTlCUVU4c1JVRkJSU3hUUVVGVExFVkJRVVVzVTBGQlV5eEZRVUZGTERKRFFVRnpRenRCUVVOeVJTeFBRVUZQTEVWQlEwd3NZMEZCWXl4RlFVVmtMRk5CUVZNc1IwRkRWaXh4UTBGQk1FSTdRVUU0UkROQ096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPMGRCZDBOSE8wRkJRMGdzVFVGQlRTeFBRVUZQTEdsQ1FVRnJRaXhUUVVGUkxHTkJRWFZETzBsQlFUbEZPenRSUVVORk96dFhRVVZITzFGQlEyZENMR2RDUVVGWExFZEJRVWNzWVVGQllTeERRVUZETzBsQmQwOXFSQ3hEUVVGRE8wbEJkRTlET3pzN08wOUJTVWM3U1VGRFR5eGpRVUZqTzFGQlEzUkNMRTlCUVU4c1owTkJRV2RETEVOQlFVTTdTVUZETVVNc1EwRkJRenRKUVVWRU96czdPenM3VDBGTlJ6dEpRVU5QTEZkQlFWY3NRMEZEYmtJc1RVRkJLMEk3VVVGRkwwSXNTVUZCU1N4TlFVRk5MRU5CUVVNc1MwRkJTenRaUVVGRkxFOUJRVThzUlVGQlJTeGhRVUZoTEVWQlFVVXNWVUZCVlN4TlFVRk5MRU5CUVVNc1MwRkJTeXhGUVVGRkxFVkJRVVVzUTBGQlF6dFJRVU55UlN4SlFVRkpMRTFCUVUwc1EwRkJReXhOUVVGTk8xbEJRVVVzVDBGQlR5eEZRVUZGTEdkQ1FVRm5RaXhGUVVGRkxFMUJRVTBzUTBGQlF5eE5RVUZOTEVWQlFVVXNRMEZCUXp0UlFVTTVSQ3hQUVVGUExFVkJRVVVzUTBGQlF6dEpRVU5hTEVOQlFVTTdTVUZGUkRzN096czdPMDlCVFVjN1NVRkRUeXh4UWtGQmNVSTdVVUZITjBJc1RVRkJUU3hIUVVGSExFZEJRVWNzWVVGQllTeERRVUZETEVWQlFVVXNRMEZCUXl4VlFVRlZMRU5CUVVNN1VVRkRlRU1zVFVGQlRTeExRVUZMTEVkQlFVY3NVMEZCVXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU53UXl4TlFVRk5MRTFCUVUwc1IwRkJSeXhUUVVGVExFTkJRVU1zUjBGQlJ5eEZRVUZGTEUxQlFVMHNRMEZCUXl4RFFVRkRPMUZCUTNSRExFbEJRVWtzUTBGQlF5eExRVUZMTEVsQlFVa3NRMEZCUXl4TlFVRk5PMWxCUVVVc1QwRkJUeXhUUVVGVExFTkJRVU03VVVGRGVFTXNUMEZCVHp0WlFVTk1MRXRCUVVzN1dVRkRUQ3hOUVVGTk8xbEJRMDRzVDBGQlR5eEZRVUZGTEZOQlFWTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1QwRkJUeXhEUVVGRE8xbEJReTlDTEU5QlFVOHNSVUZCUlN4VFFVRlRMRU5CUVVNc1IwRkJSeXhEUVVGRExFOUJRVThzUTBGQlF6dFRRVU5vUXl4RFFVRkRPMGxCUTBvc1EwRkJRenRKUVVWRU96czdPenRQUVV0SE8wbEJRMDhzVjBGQlZ6dFJRVU51UWl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eExRVUZMTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFMUJRVTBzUlVGQlJTeERRVUZETzFsQlF6bERMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRM0pDTEcxRVFVRnRSQ3hEUVVOd1JDeERRVUZETzFGQlEwb3NRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkZSRHM3T3pzN096czdUMEZSUnp0SlFVTklMRXRCUVVzc1EwRkJReXhYUVVGWExFTkJRVU1zVlVGQmEwSTdVVUZEYkVNc1NVRkJTU3hEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETzFGQlEyNUNMRWxCUVVrc1EwRkJReXhWUVVGVkxFVkJRVVVzUTBGQlF6dFpRVU5vUWl4TlFVRk5MRWxCUVVrc1lVRkJZU3hEUVVGRExHOURRVUZ2UXl4RFFVRkRMRU5CUVVNN1VVRkRhRVVzUTBGQlF6dFJRVU5FTEVsQlFVa3NRMEZCUXp0WlFVTklMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUTNCRExHTkJRV01zYTBKQlFXdENMRU5CUVVNc1ZVRkJWU3hEUVVGRExFVkJRVVVzUTBGREwwTXNRMEZCUXp0WlFVTkdMRTlCUVU4c1VVRkJVU3hEUVVGRExFbEJRVWtzUTBGQlF6dFJRVU4yUWl4RFFVRkRPMUZCUVVNc1QwRkJUeXhMUVVGTExFVkJRVVVzUTBGQlF6dFpRVU5tTEUxQlFVMHNVMEZCVXl4RFFVRkRMR0ZCUVdFc1JVRkJSU3hqUVVGakxFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdVVUZEZUVRc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlJEczdPenM3T3pzN1QwRlJSenRKUVVOSUxFdEJRVXNzUTBGQlF5eGpRVUZqTEVOQlFVTXNTMEZCWVR0UlFVTm9ReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdVVUZEYmtJc1NVRkJTU3hEUVVGRExFdEJRVXNzUlVGQlJTeERRVUZETzFsQlExZ3NUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkJReXgxUTBGQmRVTXNRMEZCUXl4RFFVRkRPMUZCUTI1RkxFTkJRVU03VVVGRFJDeEpRVUZKTEVOQlFVTTdXVUZEU0N4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeERRVUZETEVOQlFVTTdXVUZEYWtVc1QwRkJUeXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETzFGQlEzWkNMRU5CUVVNN1VVRkJReXhQUVVGUExFdEJRVXNzUlVGQlJTeERRVUZETzFsQlEyWXNUVUZCVFN4VFFVRlRMRU5CUVVNc1lVRkJZU3hGUVVGRkxHbENRVUZwUWl4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJRek5FTEVOQlFVTTdTVUZEU0N4RFFVRkRPMGxCUlVRN096czdPenM3T3pzN1QwRlZSenRKUVVOSUxFdEJRVXNzUTBGQlF5eFhRVUZYTEVOQlEyWXNWVUZCYTBJc1JVRkRiRUlzVVVGQmJVSTdVVUZGYmtJc1NVRkJTU3hEUVVGRExGZEJRVmNzUlVGQlJTeERRVUZETzFGQlEyNUNMRWxCUVVrc1EwRkJReXhWUVVGVkxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMWxCUTJoRkxFMUJRVTBzU1VGQlNTeGhRVUZoTEVOQlEzSkNMRFpFUVVFMlJDeERRVU01UkN4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVORUxFbEJRVWtzUTBGQlF6dFpRVU5JTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlEzSkRMR05CUVdNc2EwSkJRV3RDTEVOQlFVTXNWVUZCVlN4RFFVRkRMR05CUVdNc1JVRkRNVVFzUlVGQlJTeFJRVUZSTEVWQlFVVXNRMEZEWWl4RFFVRkRPMWxCUTBZc1QwRkJUeXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETzFGQlEzWkNMRU5CUVVNN1VVRkJReXhQUVVGUExFdEJRVXNzUlVGQlJTeERRVUZETzFsQlEyWXNUVUZCVFN4VFFVRlRMRU5CUVVNc1lVRkJZU3hGUVVGRkxHTkJRV01zUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTjRSQ3hEUVVGRE8wbEJRMGdzUTBGQlF6dEpRVVZFT3pzN096czdPenM3TzA5QlZVYzdTVUZEU0N4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVGRExGVkJRV3RDTEVWQlFVVXNTVUZCV1R0UlFVTXZReXhKUVVGSkxFTkJRVU1zVjBGQlZ5eEZRVUZGTEVOQlFVTTdVVUZEYmtJc1NVRkJTU3hEUVVGRExGVkJRVlVzU1VGQlNTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMWxCUTNwQ0xFMUJRVTBzU1VGQlNTeGhRVUZoTEVOQlEzSkNMSGRFUVVGM1JDeERRVU42UkN4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVORUxFbEJRVWtzUTBGQlF6dFpRVU5JTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlEzQkRMR05CUVdNc2EwSkJRV3RDTEVOQlFVTXNWVUZCVlN4RFFVRkRMRVZCUVVVc1EwRkRMME1zUTBGQlF6dFpRVU5HTEUxQlFVMHNUMEZCVHl4SFFVRkhMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU1zU1VGQlNTeEZRVUZGTEU5QlFVOHNTVUZCU1N4RlFVRkZMRU5CUVVNN1dVRkRiRVFzVFVGQlRTeEpRVUZKTEVkQlFVY3NUMEZCVHl4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTkxFZEJRVWNzUTBGQlF5eERRVUZETEVOQlFVTTdXVUZEZWtNc1RVRkJUU3hSUVVGUkxFZEJRVWNzU1VGQlNTeEZRVUZGTEZGQlFWRXNTVUZCU1N4RFFVRkRMRU5CUVVNN1dVRkRja01zVFVGQlRTeFJRVUZSTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGRGNrTXNZMEZCWXl4clFrRkJhMElzUTBGQlF5eFZRVUZWTEVOQlFVTXNZMEZCWXl4RlFVTXhSRHRuUWtGRFJTeFJRVUZSTEVWQlFVVTdiMEpCUTFJN2QwSkJRMFVzVlVGQlZTeEZRVUZGT3pSQ1FVTldMRkZCUVZFc1JVRkJSU3hGUVVGRkxFdEJRVXNzUlVGQlJTeEpRVUZKTEVOQlFVTXNSMEZCUnl4RFFVRkRMRkZCUVZFc1IwRkJSeXhEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETEVWQlFVVTdORUpCUXpsRExFbEJRVWs3ZVVKQlEwdzdjVUpCUTBZN2FVSkJRMFk3WVVGRFJpeERRVU5HTEVOQlFVTTdXVUZEUml4UFFVRlBMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGRrSXNRMEZCUXp0UlFVRkRMRTlCUVU4c1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFppeE5RVUZOTEZOQlFWTXNRMEZCUXl4aFFVRmhMRVZCUVVVc1lVRkJZU3hGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlEzWkVMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSVVE3T3pzN096czdPenM3T3pzN096czdPenRQUVd0Q1J6dEpRVU5JTEV0QlFVc3NRMEZCUXl4alFVRmpMRU5CUVVNc1MwRkJOa0k3VVVGRGFFUXNTVUZCU1N4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRE8xRkJRMjVDTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMWxCUTNKRExFMUJRVTBzU1VGQlNTeGhRVUZoTEVOQlEzSkNMR2xGUVVGcFJTeERRVU5zUlN4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVORUxFbEJRVWtzUTBGQlF6dFpRVU5JTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlEzSkRMR05CUVdNc2EwSkJRV3RDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRlZCUVZVc1EwRkJReXhqUVVGakxFVkJRMmhGTzJkQ1FVTkZMRkZCUVZFc1JVRkJSVHR2UWtGRFVqdDNRa0ZEUlN4alFVRmpMRVZCUVVVN05FSkJRMlFzV1VGQldTeEZRVUZGTzJkRFFVTmFMRWxCUVVrc1JVRkJSU3hMUVVGTExFTkJRVU1zU1VGQlNUdG5RMEZEYUVJc1UwRkJVeXhGUVVGRkxFdEJRVXNzUTBGQlF5eFRRVUZUTEVsQlFVa3NTMEZCU3pzMlFrRkRjRU03TkVKQlEwUXNWMEZCVnl4RlFVRkZMRXRCUVVzc1EwRkJReXhQUVVGUExFbEJRVWtzUlVGQlJUdDVRa0ZEYWtNN2NVSkJRMFk3YVVKQlEwWTdZVUZEUml4RFFVTkdMRU5CUVVNN1dVRkRSaXhQUVVGUExGRkJRVkVzUTBGQlF5eEpRVUZKTEVOQlFVTTdVVUZEZGtJc1EwRkJRenRSUVVGRExFOUJRVThzUzBGQlN5eEZRVUZGTEVOQlFVTTdXVUZEWml4TlFVRk5MRk5CUVZNc1EwRkJReXhoUVVGaExFVkJRVVVzYTBKQlFXdENMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRE5VUXNRMEZCUXp0SlFVTklMRU5CUVVNN1EwRkRSaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUcxdlpIVnNaU0JwYm5SbFozSmhkR2x2Ym5NdmFXOHZaMjl2WjJ4bExXUnZZM012YzJWeWRtbGpaVnh1SUNvZ1FITjFiVzFoY25rZ1IyOXZaMnhsSUVSdlkzTWdRVkJKSUdsdWRHVm5jbUYwYVc5dUlITmxjblpwWTJVZ1ptOXlJR1J2WTNWdFpXNTBJR052Ym5SbGJuUWdiM0JsY21GMGFXOXVjeTVjYmlBcUlFQmtaWE5qY21sd2RHbHZiaUJGZUhCdmMyVnpJRWR2YjJkc1pTQkViMk56SUdSdlkzVnRaVzUwSUc5d1pYSmhkR2x2Ym5NZ0tHZGxkQ3dnWTNKbFlYUmxMQ0JpWVhSamFGeHVJQ29nZFhCa1lYUmxMQ0JoY0hCbGJtUWdkR1Y0ZEN3Z1lXNWtJSEpsY0d4aFkyVXRZV3hzS1NCaGN5QmhiaUIxYm1SbFkyOXlZWFJsWkNCamJHbGxiblF0WW1GelpXUWdjMlZ5ZG1salpWeHVJQ29nWW5WcGJIUWdiMjRnZTBCc2FXNXJJRWgwZEhCQmNHbFRaWEoyYVdObGZTNGdRMjl1Wm1sbmRYSmhkR2x2YmlCamIyMWxjeUJtY205dElHRnVJR1Y0Y0d4cFkybDBYRzRnS2lCZ1IyOXZaMnhsUkc5amMxTmxjblpwWTJWRGIyNW1hV2RnSUc5eUlIUm9aU0JnYVc4dVoyOXZaMnhsUkc5amMyQWdaVzUyYVhKdmJtMWxiblFnYzJ4cFkyVXVJRUZ1SUU5QmRYUm9YRzRnS2lCaFkyTmxjM01nZEc5clpXNGdhWE1nYzJWdWRDQmhjeUJoSUdKbFlYSmxjaUIwYjJ0bGJpQjNhR1Z1SUhCeVpYTmxiblE3SUc5MGFHVnlkMmx6WlNCaGJpQkJVRWtnYTJWNUlHbHpYRzRnS2lCelpXNTBJR0Z6SUdCWUxVZHZiMmN0UVhCcExVdGxlV0FnS0hkeWFYUmxjeUJuWlc1bGNtRnNiSGtnY21WeGRXbHlaU0JQUVhWMGFDa3VJRU55WldSbGJuUnBZV3h6SUdGeVpWeHVJQ29nY21WbVpYSmxibU5sWkNCbWNtOXRJR052Ym1acFozVnlZWFJwYjI0Z0tHRnVaQ3dnWm5KdmJTQmhjeTFuY21Gd2FDQnViMlJsY3l3Z1puSnZiU0IwYUdVZ2NtVnpiMngyWldSY2JpQXFJR0JuYjI5bmJHVXRaRzlqYzJBZ1kzSmxaR1Z1ZEdsaGJDQnpaV055WlhRcElHRnVaQ0JoY21VZ2JtVjJaWElnWlcxaVpXUmtaV1FnYVc0Z2MyOTFjbU5sTGlCR1lXbHNkWEpsYzF4dUlDb2dZWEpsSUcxaGNIQmxaQ0IwYnlCa1pXTmhaaUJsY25KdmNuTWdkbWxoSUh0QWJHbHVheUJvZEhSd1JYSnliM0o5TGx4dUlDb3ZYRzVwYlhCdmNuUWdleUJKYm5SbGNtNWhiRVZ5Y205eUlIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtZaTFrWldOdmNtRjBiM0p6WENJN1hHNXBiWEJ2Y25RZ2V5QkpiMFZ1ZG1seWIyNXRaVzUwSUgwZ1puSnZiU0JjSWk0dUwyVnVkbWx5YjI1dFpXNTBYQ0k3WEc1cGJYQnZjblFnZXlCbGJuWk9kVzFpWlhJc0lHVnVkbE4wY21sdVp5QjlJR1p5YjIwZ1hDSXVMaTh1TGk5emFHRnlaV1F2Wlc1MmFYSnZibTFsYm5SV1lXeDFaVndpTzF4dWFXMXdiM0owSUh0Y2JpQWdTSFIwY0VGd2FWTmxjblpwWTJVc1hHNGdJSFI1Y0dVZ1NIUjBjRUZ3YVZObGNuWnBZMlZEYjI1bWFXY3NYRzRnSUdoMGRIQkZjbkp2Y2l4Y2JuMGdabkp2YlNCY0lpNHVMeTR1TDNOb1lYSmxaQzlvZEhSd1hDSTdYRzVjYmk4cUtseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlFTnZibVpwWjNWeVlYUnBiMjRnWm05eUlIUm9aU0JIYjI5bmJHVWdSRzlqY3lCelpYSjJhV05sWEc0Z0tpQkFjM1Z0YldGeWVTQkZlSFJsYm1SeklIdEFiR2x1YXlCSWRIUndRWEJwVTJWeWRtbGpaVU52Ym1acFozMGdkMmwwYUNCaGJpQnZjSFJwYjI1aGJDQlBRWFYwYUZ4dUlDb2dZSFJ2YTJWdVlDQW9jSEpsWm1WeWNtVmtLU0JoYm1RZ1lXNGdiM0IwYVc5dVlXd2dZR0Z3YVV0bGVXQXVJRmRvWlc0Z2IyMXBkSFJsWkN3Z2RHaGxYRzRnS2lCZ2FXOHVaMjl2WjJ4bFJHOWpjMkFnWlc1MmFYSnZibTFsYm5RZ2MyeHBZMlVnYzNWd2NHeHBaWE1nZEdobElITmhiV1VnZG1Gc2RXVnpJQ2h3YkhWeklHOXdkR2x2Ym1Gc1hHNGdLaUJnWW1GelpWVnliR0F2WUhScGJXVnZkWFJnS1M0Z1FYUWdiR1ZoYzNRZ2IyNWxJR055WldSbGJuUnBZV3dnYVhNZ2NtVnhkV2x5WldRN0lIUm9aU0IwYjJ0bGJpQjNhVzV6WEc0Z0tpQjNhR1Z1SUdKdmRHZ2dZWEpsSUhObGRDNWNiaUFxSUVCallYUmxaMjl5ZVNCSlQxeHVJQ29nUUcxbGJXSmxjazltSUcxdlpIVnNaVHBwYm5SbFozSmhkR2x2Ym5NdmFXOHZaMjl2WjJ4bExXUnZZM012YzJWeWRtbGpaVnh1SUNvdlhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElFZHZiMmRzWlVSdlkzTlRaWEoyYVdObFEyOXVabWxuSUdWNGRHVnVaSE1nU0hSMGNFRndhVk5sY25acFkyVkRiMjVtYVdjZ2UxeHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlFZHZiMmRzWlNCUFFYVjBhQ0JoWTJObGMzTWdkRzlyWlc1Y2JpQWdJQ29nUUhOMWJXMWhjbmtnVTJWdWRDQmhjeUJnUVhWMGFHOXlhWHBoZEdsdmJqb2dRbVZoY21WeUlEeDBiMnRsYmo1Z0lIZG9aVzRnY0hKbGMyVnVkQzVjYmlBZ0lDb3ZYRzRnSUhSdmEyVnVQem9nYzNSeWFXNW5PMXh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRWR2YjJkc1pTQkJVRWtnYTJWNVhHNGdJQ0FxSUVCemRXMXRZWEo1SUZObGJuUWdZWE1nWUZndFIyOXZaeTFCY0drdFMyVjVZQ0J2Ym14NUlIZG9aVzRnYm04Z1QwRjFkR2dnZEc5clpXNGdhWE1nWTI5dVptbG5kWEpsWkM1Y2JpQWdJQ292WEc0Z0lHRndhVXRsZVQ4NklITjBjbWx1Wnp0Y2JuMWNibHh1THlvcVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1NXNXdkWFFnWm05eUlISmxjR3hoWTJsdVp5QmhiR3dnYldGMFkyaHBibWNnZEdWNGRDQnBiaUJoSUdSdlkzVnRaVzUwWEc0Z0tpQkFjM1Z0YldGeWVTQkRZWEp5YVdWeklIUm9aU0JnWkc5amRXMWxiblJKWkdBc0lIUm9aU0JnWm1sdVpHQWdkR1Y0ZEN3Z2FYUnpJR0J5WlhCc1lXTmxZRzFsYm5Rc0lHRnVaRnh1SUNvZ2QyaGxkR2hsY2lCdFlYUmphR2x1WnlCcGN5QmpZWE5sTFhObGJuTnBkR2wyWlM1Y2JpQXFJRUJqWVhSbFoyOXllU0JKVDF4dUlDb2dRRzFsYldKbGNrOW1JRzF2WkhWc1pUcHBiblJsWjNKaGRHbHZibk12YVc4dloyOXZaMnhsTFdSdlkzTXZjMlZ5ZG1salpWeHVJQ292WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUVkdmIyZHNaVVJ2WTNOU1pYQnNZV05sU1c1d2RYUWdlMXh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRVJ2WTNWdFpXNTBJRWxFSUhSdklIVndaR0YwWlZ4dUlDQWdLaTljYmlBZ1pHOWpkVzFsYm5SSlpEb2djM1J5YVc1bk8xeHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlGUmxlSFFnZEc4Z2MyVmhjbU5vSUdadmNseHVJQ0FnS2k5Y2JpQWdabWx1WkRvZ2MzUnlhVzVuTzF4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUZKbGNHeGhZMlZ0Wlc1MElIUmxlSFFnS0dSbFptRjFiSFJ6SUhSdklIUm9aU0JsYlhCMGVTQnpkSEpwYm1jcFhHNGdJQ0FxTDF4dUlDQnlaWEJzWVdObE9pQnpkSEpwYm1jN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1YyaGxkR2hsY2lCdFlYUmphR2x1WnlCcGN5QmpZWE5sTFhObGJuTnBkR2wyWlNBb1pHVm1ZWFZzZENCZ1ptRnNjMlZnS1Z4dUlDQWdLaTljYmlBZ2JXRjBZMmhEWVhObFB6b2dZbTl2YkdWaGJqdGNibjFjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdUV2x1YVcxaGJDQkhiMjluYkdVZ1JHOWpjeUJpYjJSNUlHUmxjMk55YVhCMGIzSWdkWE5sWkNCbWIzSWdZWEJ3Wlc1a0lIQnZjMmwwYVc5dWFXNW5YRzRnS2lCQWMzVnRiV0Z5ZVNCRFlYQjBkWEpsY3lCMGFHVWdZbTlrZVNCamIyNTBaVzUwSUdWdWRISnBaWE1nZDJodmMyVWdZR1Z1WkVsdVpHVjRZQ0JzYjJOaGRHVnpJSFJvWlNCbGJtUmNiaUFxSUc5bUlIUm9aU0JrYjJOMWJXVnVkQzVjYmlBcUwxeHVhVzUwWlhKbVlXTmxJRWR2YjJkc1pVUnZZMEp2WkhrZ2UxeHVJQ0JpYjJSNVB6b2dlMXh1SUNBZ0lHTnZiblJsYm5RL09pQkJjbkpoZVR4N0lHVnVaRWx1WkdWNFB6b2diblZ0WW1WeUlIMCtPMXh1SUNCOU8xeHVmVnh1WEc0dktpcGNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQkhiMjluYkdVZ1JHOWpjeUJCVUVrZ2FXNTBaV2R5WVhScGIyNGdjMlZ5ZG1salpWeHVJQ29nUUhOMWJXMWhjbmtnUVc0Z2RXNWtaV052Y21GMFpXUWdTRlJVVUNCelpYSjJhV05sSUdadmNpQnlaV0ZrYVc1bklHRnVaQ0JqY21WaGRHbHVaeUJrYjJOMWJXVnVkSE1zWEc0Z0tpQnlkVzV1YVc1bklISmhkeUJpWVhSamFDQjFjR1JoZEdWekxDQmhjSEJsYm1ScGJtY2dkR1Y0ZEN3Z1lXNWtJSEpsY0d4aFkybHVaeUJoYkd3Z2JXRjBZMmhwYm1jZ2RHVjRkQzVjYmlBcUlFVjJaWEo1SUc5d1pYSmhkR2x2YmlCdVpXVmtjeUJsYVhSb1pYSWdZVzRnVDBGMWRHZ2dkRzlyWlc0Z2IzSWdZVzRnUVZCSklHdGxlVHNnYldsemMybHVaMXh1SUNvZ1kzSmxaR1Z1ZEdsaGJITWdiM0lnYVdSbGJuUnBabWxsY25NZ2NtRnBjMlVnWUVsdWRHVnlibUZzUlhKeWIzSmdMQ0JoYm1RZ2RISmhibk53YjNKMElHWmhhV3gxY21WeklHRnlaVnh1SUNvZ2JXRndjR1ZrSUhSdklHUmxZMkZtSUdWeWNtOXljeUIyYVdFZ2UwQnNhVzVySUdoMGRIQkZjbkp2Y24wdVhHNGdLaUJBWTJ4aGMzTWdSMjl2WjJ4bFJHOWpjMU5sY25acFkyVmNiaUFxSUVCbGVIUmxibVJ6SUVoMGRIQkJjR2xUWlhKMmFXTmxYRzRnS2lCQVkyRjBaV2R2Y25rZ1NVOWNiaUFxSUVCbGVHRnRjR3hsWEc0Z0tpQmdZR0IwYzF4dUlDb2dhVzF3YjNKMElIc2dSMjl2WjJ4bFJHOWpjMU5sY25acFkyVWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMmx1ZEdWbmNtRjBhVzl1Y3k5cGJ5OW5iMjluYkdVdFpHOWpjMXdpTzF4dUlDcGNiaUFxSUdOdmJuTjBJR1J2WTNNZ1BTQnVaWGNnUjI5dloyeGxSRzlqYzFObGNuWnBZMlVvS1R0Y2JpQXFJR0YzWVdsMElHUnZZM011YVc1cGRHbGhiR2w2WlNoN1hHNGdLaUFnSUhSdmEyVnVPaUJ3Y205alpYTnpMbVZ1ZGk1SFVrRlFTRjlEVWtWRVJVNVVTVUZNWDBkUFQwZE1SVjlFVDBOVFgxUlBTMFZPTEZ4dUlDb2dmU2s3WEc0Z0tpQmhkMkZwZENCa2IyTnpMbUZ3Y0dWdVpGUmxlSFFvY0hKdlkyVnpjeTVsYm5ZdVIwOVBSMHhGWDBSUFExOUpSQ0EvUHlCY0lsd2lMQ0JjSWs1bGR5QndZWEpoWjNKaGNHaGNJaWs3WEc0Z0tpQmdZR0JjYmlBcUlFQnRaWEp0WVdsa1hHNGdLaUJ6WlhGMVpXNWpaVVJwWVdkeVlXMWNiaUFxSUNBZ1lYVjBiMjUxYldKbGNseHVJQ29nSUNCd1lYSjBhV05wY0dGdWRDQkRZV3hzWlhKY2JpQXFJQ0FnY0dGeWRHbGphWEJoYm5RZ1UyVnlkbWxqWlNCaGN5QkhiMjluYkdWRWIyTnpVMlZ5ZG1salpWeHVJQ29nSUNCd1lYSjBhV05wY0dGdWRDQkJVRWtnWVhNZ1IyOXZaMnhsSUVSdlkzTWdRVkJKWEc0Z0tpQWdJRU5oYkd4bGNpMCtQbE5sY25acFkyVTZJR0Z3Y0dWdVpGUmxlSFFvWkc5amRXMWxiblJKWkN3Z2RHVjRkQ2xjYmlBcUlDQWdZV04wYVhaaGRHVWdVMlZ5ZG1salpWeHVJQ29nSUNCVFpYSjJhV05sTFQ0K1UyVnlkbWxqWlRvZ2NtVnhkV2x5WlVGMWRHZ29LVnh1SUNvZ0lDQlRaWEoyYVdObExUNCtRVkJKT2lCSFJWUWdMMlJ2WTNWdFpXNTBjeTk3YVdSOVhHNGdLaUFnSUdGamRHbDJZWFJsSUVGUVNWeHVJQ29nSUNCQlVFa3RMVDQrVTJWeWRtbGpaVG9nWW05a2VTQmpiMjUwWlc1MElHVnVaRWx1WkdWNFhHNGdLaUFnSUdSbFlXTjBhWFpoZEdVZ1FWQkpYRzRnS2lBZ0lGTmxjblpwWTJVdFBqNUJVRWs2SUZCUFUxUWdMMlJ2WTNWdFpXNTBjeTk3YVdSOU9tSmhkR05vVlhCa1lYUmxYRzRnS2lBZ0lHRmpkR2wyWVhSbElFRlFTVnh1SUNvZ0lDQkJVRWt0TFQ0K1UyVnlkbWxqWlRvZ1ltRjBZMmdnZFhCa1lYUmxJSEpsYzNWc2RGeHVJQ29nSUNCa1pXRmpkR2wyWVhSbElFRlFTVnh1SUNvZ0lDQlRaWEoyYVdObExTMCtQa05oYkd4bGNqb2dZbUYwWTJnZ2RYQmtZWFJsSUhKbGMzVnNkRnh1SUNvZ0lDQmtaV0ZqZEdsMllYUmxJRk5sY25acFkyVmNiaUFxSUVCdFpXMWlaWEpQWmlCdGIyUjFiR1U2YVc1MFpXZHlZWFJwYjI1ekwybHZMMmR2YjJkc1pTMWtiMk56TDNObGNuWnBZMlZjYmlBcUwxeHVaWGh3YjNKMElHTnNZWE56SUVkdmIyZHNaVVJ2WTNOVFpYSjJhV05sSUdWNGRHVnVaSE1nU0hSMGNFRndhVk5sY25acFkyVThSMjl2WjJ4bFJHOWpjMU5sY25acFkyVkRiMjVtYVdjK0lIdGNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQlVhR1VnY0hKdmRtbGtaWElnYm1GdFpTQjFjMlZrSUdsdUlHVnljbTl5SUcxbGMzTmhaMlZ6WEc0Z0lDQXFMMXh1SUNCd2NtOTBaV04wWldRZ2NtVmhaRzl1YkhrZ2MyVnlkbWxqWlU1aGJXVWdQU0JjSWtkdmIyZHNaU0JFYjJOelhDSTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJVYUdVZ1IyOXZaMnhsSUVSdlkzTWdRVkJKSUdKaGMyVWdWVkpNWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRlZ6WldRZ2QyaGxiaUIwYUdVZ2NtVnpiMngyWldRZ1kyOXVabWxuSUdOaGNuSnBaWE1nYm04Z1lHSmhjMlZWY214Z0xseHVJQ0FnS2lCQWNtVjBkWEp1Y3lCN2MzUnlhVzVuZlNCZ1hDSm9kSFJ3Y3pvdkwyUnZZM011WjI5dloyeGxZWEJwY3k1amIyMHZkakZjSW1BdVhHNGdJQ0FxTDF4dUlDQndjbTkwWldOMFpXUWdaR1ZtWVhWc2RFSmhjMlZWY213b0tUb2djM1J5YVc1bklIdGNiaUFnSUNCeVpYUjFjbTRnWENKb2RIUndjem92TDJSdlkzTXVaMjl2WjJ4bFlYQnBjeTVqYjIwdmRqRmNJanRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdRblZwYkdSeklIUm9aU0JIYjI5bmJHVWdSRzlqY3lCaGRYUm9aVzUwYVdOaGRHbHZiaUJvWldGa1pYSnpYRzRnSUNBcUlFQnpkVzF0WVhKNUlGQnlaV1psY25NZ1lFRjFkR2h2Y21sNllYUnBiMjQ2SUVKbFlYSmxjaUE4ZEc5clpXNCtZQ3dnWm1Gc2JITWdZbUZqYXlCMGIxeHVJQ0FnS2lCZ1dDMUhiMjluTFVGd2FTMUxaWGs2SUR4aGNHbExaWGsrWUN3Z1lXNWtJSEpsZEhWeWJuTWdibThnYUdWaFpHVnljeUIzYUdWdUlHNWxhWFJvWlhJZ2FYTWdjMlYwTGx4dUlDQWdLaUJBY0dGeVlXMGdlMGR2YjJkc1pVUnZZM05UWlhKMmFXTmxRMjl1Wm1sbmZTQmpiMjVtYVdjZ0xTQlVhR1VnY21WemIyeDJaV1FnYzJWeWRtbGpaU0JqYjI1bWFXZDFjbUYwYVc5dUxseHVJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VtVmpiM0prUEhOMGNtbHVaeXdnYzNSeWFXNW5QbjBnVkdobElHRjFkR2hsYm5ScFkyRjBhVzl1SUdobFlXUmxjbk11WEc0Z0lDQXFMMXh1SUNCd2NtOTBaV04wWldRZ1lYVjBhRWhsWVdSbGNuTW9YRzRnSUNBZ1kyOXVabWxuT2lCSGIyOW5iR1ZFYjJOelUyVnlkbWxqWlVOdmJtWnBaMXh1SUNBcE9pQlNaV052Y21ROGMzUnlhVzVuTENCemRISnBibWMrSUh0Y2JpQWdJQ0JwWmlBb1kyOXVabWxuTG5SdmEyVnVLU0J5WlhSMWNtNGdleUJCZFhSb2IzSnBlbUYwYVc5dU9pQmdRbVZoY21WeUlDUjdZMjl1Wm1sbkxuUnZhMlZ1ZldBZ2ZUdGNiaUFnSUNCcFppQW9ZMjl1Wm1sbkxtRndhVXRsZVNrZ2NtVjBkWEp1SUhzZ1hDSllMVWR2YjJjdFFYQnBMVXRsZVZ3aU9pQmpiMjVtYVdjdVlYQnBTMlY1SUgwN1hHNGdJQ0FnY21WMGRYSnVJSHQ5TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJTWldGa2N5QjBhR1VnUjI5dloyeGxJRVJ2WTNNZ1kzSmxaR1Z1ZEdsaGJITWdZVzVrSUdSbFptRjFiSFJ6SUdaeWIyMGdkR2hsSUdWdWRtbHliMjV0Wlc1MFhHNGdJQ0FxSUVCemRXMXRZWEo1SUZKbFlXUnpJSFJvWlNCZ2FXOHVaMjl2WjJ4bFJHOWpjMkFnYzJ4cFkyVWdZVzVrSUhKbGRIVnlibk1nWVNCd1lYSjBhV0ZzSUdOdmJtWnBaeUIzYUdWdVhHNGdJQ0FxSUdFZ2RHOXJaVzRnYjNJZ1FWQkpJR3RsZVNCcGN5QmpiMjVtYVdkMWNtVmtMQ0JnZFc1a1pXWnBibVZrWUNCdmRHaGxjbmRwYzJVdUlGWmhiSFZsY3lCd1lYTnpYRzRnSUNBcUlIUm9jbTkxWjJnZ1lHVnVkbE4wY21sdVoyQXZZR1Z1ZGs1MWJXSmxjbUFnZEc4Z2NtVnFaV04wSUhWdWMyVjBMV3hsWVdZZ2NISnZlR2xsY3k1Y2JpQWdJQ29nUUhKbGRIVnlibk1nZTFCaGNuUnBZV3c4UjI5dloyeGxSRzlqYzFObGNuWnBZMlZEYjI1bWFXYytJSHdnZFc1a1pXWnBibVZrZlNCQklIQmhjblJwWVd3Z1kyOXVabWxuTENCdmNpQmdkVzVrWldacGJtVmtZQ0IzYUdWdUlHNXZJR055WldSbGJuUnBZV3dnYVhNZ1kyOXVabWxuZFhKbFpDNWNiaUFnSUNvdlhHNGdJSEJ5YjNSbFkzUmxaQ0JqYjI1bWFXZEdjbTl0Ulc1MmFYSnZibTFsYm5Rb0tUcGNiaUFnSUNCOElGQmhjblJwWVd3OFIyOXZaMnhsUkc5amMxTmxjblpwWTJWRGIyNW1hV2MrWEc0Z0lDQWdmQ0IxYm1SbFptbHVaV1FnZTF4dUlDQWdJR052Ym5OMElHVnVkaUE5SUVsdlJXNTJhWEp2Ym0xbGJuUXVhVzh1WjI5dloyeGxSRzlqY3p0Y2JpQWdJQ0JqYjI1emRDQjBiMnRsYmlBOUlHVnVkbE4wY21sdVp5aGxiblkvTG5SdmEyVnVLVHRjYmlBZ0lDQmpiMjV6ZENCaGNHbExaWGtnUFNCbGJuWlRkSEpwYm1jb1pXNTJQeTVoY0dsTFpYa3BPMXh1SUNBZ0lHbG1JQ2doZEc5clpXNGdKaVlnSVdGd2FVdGxlU2tnY21WMGRYSnVJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQnlaWFIxY200Z2UxeHVJQ0FnSUNBZ2RHOXJaVzRzWEc0Z0lDQWdJQ0JoY0dsTFpYa3NYRzRnSUNBZ0lDQmlZWE5sVlhKc09pQmxiblpUZEhKcGJtY29aVzUyTG1KaGMyVlZjbXdwTEZ4dUlDQWdJQ0FnZEdsdFpXOTFkRG9nWlc1MlRuVnRZbVZ5S0dWdWRpNTBhVzFsYjNWMEtTeGNiaUFnSUNCOU8xeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCQmMzTmxjblJ6SUhSb1lYUWdZVzRnVDBGMWRHZ2dkRzlyWlc0Z2IzSWdRVkJKSUd0bGVTQnBjeUJqYjI1bWFXZDFjbVZrWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRU5oYkd4bFpDQmllU0JsZG1WeWVTQnZjR1Z5WVhScGIyNGdZbVZtYjNKbElHbDBJSFJ2ZFdOb1pYTWdkR2hsSUc1bGRIZHZjbXN1WEc0Z0lDQXFJRUJ5WlhSMWNtNXpJSHQyYjJsa2ZWeHVJQ0FnS2lCQWRHaHliM2R6SUh0SmJuUmxjbTVoYkVWeWNtOXlmU0JYYUdWdUlHNWxhWFJvWlhJZ1lTQjBiMnRsYmlCdWIzSWdZVzRnUVZCSklHdGxlU0JwY3lCamIyNW1hV2QxY21Wa0xseHVJQ0FnS2k5Y2JpQWdjSEp2ZEdWamRHVmtJSEpsY1hWcGNtVkJkWFJvS0NrNklIWnZhV1FnZTF4dUlDQWdJR2xtSUNnaGRHaHBjeTVqYjI1bWFXY3VkRzlyWlc0Z0ppWWdJWFJvYVhNdVkyOXVabWxuTG1Gd2FVdGxlU2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YRzRnSUNBZ0lDQWdJRndpUjI5dloyeGxJRVJ2WTNNZ2NtVnhkV2x5WlhNZ1lXNGdUMEYxZEdnZ2RHOXJaVzRnYjNJZ1lXNGdRVkJKSUd0bGVWd2lYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1JtVjBZMmhsY3lCaElFZHZiMmRzWlNCRWIyTnpJR1J2WTNWdFpXNTBYRzRnSUNBcUlFQnpkVzF0WVhKNUlHQkhSVlJnY3lCZ0wyUnZZM1Z0Wlc1MGN5ODhhV1ErWUNCaGJtUWdjbVYwZFhKdWN5QjBhR1VnWm5Wc2JDQmtiMk4xYldWdWRDQndZWGxzYjJGa0xseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnWkc5amRXMWxiblJKWkNBdElGUm9aU0JrYjJOMWJXVnVkQ0JKUkM1Y2JpQWdJQ29nUUhKbGRIVnlibk1nZTFCeWIyMXBjMlU4ZFc1cmJtOTNiajU5SUZSb1pTQmtiMk4xYldWdWRDQndZWGxzYjJGa0xseHVJQ0FnS2lCQWRHaHliM2R6SUh0SmJuUmxjbTVoYkVWeWNtOXlmU0JYYUdWdUlHNXZJR055WldSbGJuUnBZV3dnYVhNZ1kyOXVabWxuZFhKbFpDQnZjaUIwYUdVZ1pHOWpkVzFsYm5RZ1NVUWdhWE1nWlcxd2RIa3VYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwNXZkRVp2ZFc1a1JYSnliM0o5SUZkb1pXNGdkR2hsSUdSdlkzVnRaVzUwSUdSdlpYTWdibTkwSUdWNGFYTjBJQ2hJVkZSUUlEUXdOQ2t1WEc0Z0lDQXFJRUIwYUhKdmQzTWdlMEpoWkZKbGNYVmxjM1JGY25KdmNuMGdWMmhsYmlCSGIyOW5iR1VnY21WcVpXTjBjeUIwYUdVZ2NtVnhkV1Z6ZEM1Y2JpQWdJQ292WEc0Z0lHRnplVzVqSUdkbGRFUnZZM1Z0Wlc1MEtHUnZZM1Z0Wlc1MFNXUTZJSE4wY21sdVp5azZJRkJ5YjIxcGMyVThkVzVyYm05M2JqNGdlMXh1SUNBZ0lIUm9hWE11Y21WeGRXbHlaVUYxZEdnb0tUdGNiaUFnSUNCcFppQW9JV1J2WTNWdFpXNTBTV1FwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuUmxjbTVoYkVWeWNtOXlLRndpUjI5dloyeGxJRVJ2WTNNZ2NtVnhkV2x5WlhNZ1lTQmtiMk4xYldWdWRDQnBaRndpS1R0Y2JpQWdJQ0I5WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSEpsYzNCdmJuTmxJRDBnWVhkaGFYUWdkR2hwY3k1amJHbGxiblF1WjJWMFBFZHZiMmRzWlVSdlkwSnZaSGsrS0Z4dUlDQWdJQ0FnSUNCZ0wyUnZZM1Z0Wlc1MGN5OGtlMlZ1WTI5a1pWVlNTVU52YlhCdmJtVnVkQ2hrYjJOMWJXVnVkRWxrS1gxZ1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzQnZibk5sTG1SaGRHRTdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJR2gwZEhCRmNuSnZjaWhjSWtkdmIyZHNaU0JFYjJOelhDSXNJRndpWjJWMElHUnZZM1Z0Wlc1MFhDSXNJR1Z5Y205eUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVOeVpXRjBaWE1nWVNCSGIyOW5iR1VnUkc5amN5QmtiMk4xYldWdWRGeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCZ1VFOVRWR0J6SUdFZ2JtVjNJR1J2WTNWdFpXNTBJSGRwZEdnZ2RHaGxJR2RwZG1WdUlIUnBkR3hsSUdGdVpDQnlaWFIxY201eklHbDBjMXh1SUNBZ0tpQndZWGxzYjJGa0lDaHBibU5zZFdScGJtY2dZR1J2WTNWdFpXNTBTV1JnS1M1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJSFJwZEd4bElDMGdWR2hsSUc1bGR5QmtiMk4xYldWdWRDQjBhWFJzWlM1Y2JpQWdJQ29nUUhKbGRIVnlibk1nZTFCeWIyMXBjMlU4ZFc1cmJtOTNiajU5SUZSb1pTQmpjbVZoZEdWa0lHUnZZM1Z0Wlc1MElIQmhlV3h2WVdRdVhHNGdJQ0FxSUVCMGFISnZkM01nZTBsdWRHVnlibUZzUlhKeWIzSjlJRmRvWlc0Z2JtOGdZM0psWkdWdWRHbGhiQ0JwY3lCamIyNW1hV2QxY21Wa0lHOXlJSFJvWlNCMGFYUnNaU0JwY3lCbGJYQjBlUzVjYmlBZ0lDb2dRSFJvY205M2N5QjdRbUZrVW1WeGRXVnpkRVZ5Y205eWZTQlhhR1Z1SUVkdmIyZHNaU0J5WldwbFkzUnpJSFJvWlNCeVpYRjFaWE4wTGx4dUlDQWdLaTljYmlBZ1lYTjVibU1nWTNKbFlYUmxSRzlqZFcxbGJuUW9kR2wwYkdVNklITjBjbWx1WnlrNklGQnliMjFwYzJVOGRXNXJibTkzYmo0Z2UxeHVJQ0FnSUhSb2FYTXVjbVZ4ZFdseVpVRjFkR2dvS1R0Y2JpQWdJQ0JwWmlBb0lYUnBkR3hsS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWhjSWtkdmIyZHNaU0JFYjJOeklISmxjWFZwY21WeklHRWdaRzlqZFcxbGJuUWdkR2wwYkdWY0lpazdYRzRnSUNBZ2ZWeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTndiMjV6WlNBOUlHRjNZV2wwSUhSb2FYTXVZMnhwWlc1MExuQnZjM1FvWENJdlpHOWpkVzFsYm5SelhDSXNJSHNnZEdsMGJHVWdmU2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZ6Y0c5dWMyVXVaR0YwWVR0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2FIUjBjRVZ5Y205eUtGd2lSMjl2WjJ4bElFUnZZM05jSWl3Z1hDSmpjbVZoZEdVZ1pHOWpkVzFsYm5SY0lpd2daWEp5YjNJcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnUVhCd2JHbGxjeUJoSUhKaGR5QkhiMjluYkdVZ1JHOWpjeUJpWVhSamFDQjFjR1JoZEdWY2JpQWdJQ29nUUhOMWJXMWhjbmtnWUZCUFUxUmdjeUIwYUdVZ1lISmxjWFZsYzNSellDQmhjbkpoZVNCMGJ5QmdMMlJ2WTNWdFpXNTBjeTg4YVdRK09tSmhkR05vVlhCa1lYUmxZRnh1SUNBZ0tpQjFibU5vWVc1blpXUXNJR0ZzYkc5M2FXNW5JR0Z1ZVNCRWIyTnpJRUZRU1NCeVpYRjFaWE4wSUhSNWNHVXVYRzRnSUNBcUlFQndZWEpoYlNCN2MzUnlhVzVuZlNCa2IyTjFiV1Z1ZEVsa0lDMGdWR2hsSUdSdlkzVnRaVzUwSUVsRUxseHVJQ0FnS2lCQWNHRnlZVzBnZTNWdWEyNXZkMjViWFgwZ2NtVnhkV1Z6ZEhNZ0xTQlVhR1VnUkc5amN5QkJVRWtnY21WeGRXVnpkQ0J2WW1wbFkzUnpMbHh1SUNBZ0tpQkFjbVYwZFhKdWN5QjdVSEp2YldselpUeDFibXR1YjNkdVBuMGdWR2hsSUdKaGRHTm9JSFZ3WkdGMFpTQnlaWE53YjI1elpTQndZWGxzYjJGa0xseHVJQ0FnS2lCQWRHaHliM2R6SUh0SmJuUmxjbTVoYkVWeWNtOXlmU0JYYUdWdUlHNXZJR055WldSbGJuUnBZV3dnYVhNZ1kyOXVabWxuZFhKbFpDd2diM0lnZEdobElHUnZZM1Z0Wlc1MElFbEVJRzl5SUhKbGNYVmxjM1J6SUdGeVpTQnRhWE56YVc1bkxseHVJQ0FnS2lCQWRHaHliM2R6SUh0T2IzUkdiM1Z1WkVWeWNtOXlmU0JYYUdWdUlIUm9aU0JrYjJOMWJXVnVkQ0JrYjJWeklHNXZkQ0JsZUdsemRDQW9TRlJVVUNBME1EUXBMbHh1SUNBZ0tpQkFkR2h5YjNkeklIdENZV1JTWlhGMVpYTjBSWEp5YjNKOUlGZG9aVzRnUjI5dloyeGxJSEpsYW1WamRITWdZU0J5WlhGMVpYTjBMbHh1SUNBZ0tpOWNiaUFnWVhONWJtTWdZbUYwWTJoVmNHUmhkR1VvWEc0Z0lDQWdaRzlqZFcxbGJuUkpaRG9nYzNSeWFXNW5MRnh1SUNBZ0lISmxjWFZsYzNSek9pQjFibXR1YjNkdVcxMWNiaUFnS1RvZ1VISnZiV2x6WlR4MWJtdHViM2R1UGlCN1hHNGdJQ0FnZEdocGN5NXlaWEYxYVhKbFFYVjBhQ2dwTzF4dUlDQWdJR2xtSUNnaFpHOWpkVzFsYm5SSlpDQjhmQ0FoUVhKeVlYa3VhWE5CY25KaGVTaHlaWEYxWlhOMGN5a2dmSHdnSVhKbGNYVmxjM1J6TG14bGJtZDBhQ2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YRzRnSUNBZ0lDQWdJRndpUjI5dloyeGxJRVJ2WTNNZ1ltRjBZMmhWY0dSaGRHVWdjbVZ4ZFdseVpYTWdZU0JrYjJOMWJXVnVkQ0JwWkNCaGJtUWdjbVZ4ZFdWemRITmNJbHh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR052Ym5OMElISmxjM0J2Ym5ObElEMGdZWGRoYVhRZ2RHaHBjeTVqYkdsbGJuUXVjRzl6ZENoY2JpQWdJQ0FnSUNBZ1lDOWtiMk4xYldWdWRITXZKSHRsYm1OdlpHVlZVa2xEYjIxd2IyNWxiblFvWkc5amRXMWxiblJKWkNsOU9tSmhkR05vVlhCa1lYUmxZQ3hjYmlBZ0lDQWdJQ0FnZXlCeVpYRjFaWE4wY3lCOVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzQnZibk5sTG1SaGRHRTdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJR2gwZEhCRmNuSnZjaWhjSWtkdmIyZHNaU0JFYjJOelhDSXNJRndpWW1GMFkyZ2dkWEJrWVhSbFhDSXNJR1Z5Y205eUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVGd2NHVnVaSE1nZEdWNGRDQjBieUIwYUdVZ1pXNWtJRzltSUdFZ1IyOXZaMnhsSUVSdlkzTWdaRzlqZFcxbGJuUmNiaUFnSUNvZ1FITjFiVzFoY25rZ1VtVmhaSE1nZEdobElHUnZZM1Z0Wlc1MElIUnZJR1pwYm1RZ2RHaGxJR1pwYm1Gc0lHQmxibVJKYm1SbGVHQXNJSFJvWlc0Z2FXNXpaWEowY3lCMGFHVmNiaUFnSUNvZ2RHVjRkQ0JxZFhOMElHSmxabTl5WlNCcGRDQjBhSEp2ZFdkb0lHRWdZR0poZEdOb1ZYQmtZWFJsWUM1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJR1J2WTNWdFpXNTBTV1FnTFNCVWFHVWdaRzlqZFcxbGJuUWdTVVF1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQjBaWGgwSUMwZ1ZHaGxJSFJsZUhRZ2RHOGdZWEJ3Wlc1a0xseHVJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VISnZiV2x6WlR4MWJtdHViM2R1UG4wZ1ZHaGxJR0poZEdOb0lIVndaR0YwWlNCeVpYTndiMjV6WlNCd1lYbHNiMkZrTGx4dUlDQWdLaUJBZEdoeWIzZHpJSHRKYm5SbGNtNWhiRVZ5Y205eWZTQlhhR1Z1SUc1dklHTnlaV1JsYm5ScFlXd2dhWE1nWTI5dVptbG5kWEpsWkN3Z2IzSWdkR2hsSUdSdlkzVnRaVzUwSUVsRUlHOXlJSFJsZUhRZ2FYTWdaVzF3ZEhrdVhHNGdJQ0FxSUVCMGFISnZkM01nZTA1dmRFWnZkVzVrUlhKeWIzSjlJRmRvWlc0Z2RHaGxJR1J2WTNWdFpXNTBJR1J2WlhNZ2JtOTBJR1Y0YVhOMElDaElWRlJRSURRd05Da3VYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwSmhaRkpsY1hWbGMzUkZjbkp2Y24wZ1YyaGxiaUJIYjI5bmJHVWdjbVZxWldOMGN5QjBhR1VnZFhCa1lYUmxMbHh1SUNBZ0tpOWNiaUFnWVhONWJtTWdZWEJ3Wlc1a1ZHVjRkQ2hrYjJOMWJXVnVkRWxrT2lCemRISnBibWNzSUhSbGVIUTZJSE4wY21sdVp5azZJRkJ5YjIxcGMyVThkVzVyYm05M2JqNGdlMXh1SUNBZ0lIUm9hWE11Y21WeGRXbHlaVUYxZEdnb0tUdGNiaUFnSUNCcFppQW9JV1J2WTNWdFpXNTBTV1FnZkh3Z0lYUmxlSFFwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuUmxjbTVoYkVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JjSWtkdmIyZHNaU0JFYjJOeklHRndjR1Z1WkZSbGVIUWdjbVZ4ZFdseVpYTWdZU0JrYjJOMWJXVnVkQ0JwWkNCaGJtUWdkR1Y0ZEZ3aVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWkc5amRXMWxiblFnUFNCaGQyRnBkQ0IwYUdsekxtTnNhV1Z1ZEM1blpYUThSMjl2WjJ4bFJHOWpRbTlrZVQ0b1hHNGdJQ0FnSUNBZ0lHQXZaRzlqZFcxbGJuUnpMeVI3Wlc1amIyUmxWVkpKUTI5dGNHOXVaVzUwS0dSdlkzVnRaVzUwU1dRcGZXQmNiaUFnSUNBZ0lDazdYRzRnSUNBZ0lDQmpiMjV6ZENCamIyNTBaVzUwSUQwZ1pHOWpkVzFsYm5RdVpHRjBZUzVpYjJSNVB5NWpiMjUwWlc1MElEOC9JRnRkTzF4dUlDQWdJQ0FnWTI5dWMzUWdiR0Z6ZENBOUlHTnZiblJsYm5SYlkyOXVkR1Z1ZEM1c1pXNW5kR2dnTFNBeFhUdGNiaUFnSUNBZ0lHTnZibk4wSUdWdVpFbHVaR1Y0SUQwZ2JHRnpkRDh1Wlc1a1NXNWtaWGdnUHo4Z01UdGNiaUFnSUNBZ0lHTnZibk4wSUhKbGMzQnZibk5sSUQwZ1lYZGhhWFFnZEdocGN5NWpiR2xsYm5RdWNHOXpkQ2hjYmlBZ0lDQWdJQ0FnWUM5a2IyTjFiV1Z1ZEhNdkpIdGxibU52WkdWVlVrbERiMjF3YjI1bGJuUW9aRzlqZFcxbGJuUkpaQ2w5T21KaGRHTm9WWEJrWVhSbFlDeGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUhKbGNYVmxjM1J6T2lCYlhHNGdJQ0FnSUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR2x1YzJWeWRGUmxlSFE2SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCc2IyTmhkR2x2YmpvZ2V5QnBibVJsZURvZ1RXRjBhQzV0WVhnb1pXNWtTVzVrWlhnZ0xTQXhMQ0F4S1NCOUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lIUmxlSFFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdJQ0FnSUYwc1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDazdYRzRnSUNBZ0lDQnlaWFIxY200Z2NtVnpjRzl1YzJVdVpHRjBZVHRjYmlBZ0lDQjlJR05oZEdOb0lDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnYUhSMGNFVnljbTl5S0Z3aVIyOXZaMnhsSUVSdlkzTmNJaXdnWENKaGNIQmxibVFnZEdWNGRGd2lMQ0JsY25KdmNpazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCU1pYQnNZV05sY3lCaGJHd2diV0YwWTJocGJtY2dkR1Y0ZENCcGJpQmhJRWR2YjJkc1pTQkViMk56SUdSdlkzVnRaVzUwWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRk5sYm1SeklHRWdZSEpsY0d4aFkyVkJiR3hVWlhoMFlDQnlaWEYxWlhOMElHaHZibTl5YVc1bklIUm9aU0JnYldGMFkyaERZWE5sWUNCdmNIUnBiMjVjYmlBZ0lDb2dZVzVrSUhKbGRIVnlibk1nZEdobElHSmhkR05vSUhWd1pHRjBaU0J5WlhOd2IyNXpaU0J3WVhsc2IyRmtMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UwZHZiMmRzWlVSdlkzTlNaWEJzWVdObFNXNXdkWFI5SUdsdWNIVjBJQzBnVkdobElHUnZZM1Z0Wlc1MExDQm1hVzVrTDNKbGNHeGhZMlVnZEdWNGRDd2dZVzVrSUdOaGMyVWdiM0IwYVc5dUxseHVJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VISnZiV2x6WlR4MWJtdHViM2R1UG4wZ1ZHaGxJR0poZEdOb0lIVndaR0YwWlNCeVpYTndiMjV6WlNCd1lYbHNiMkZrTGx4dUlDQWdLaUJBZEdoeWIzZHpJSHRKYm5SbGNtNWhiRVZ5Y205eWZTQlhhR1Z1SUc1dklHTnlaV1JsYm5ScFlXd2dhWE1nWTI5dVptbG5kWEpsWkN3Z2IzSWdkR2hsSUdSdlkzVnRaVzUwSUVsRUlHOXlJR1pwYm1RZ2RHVjRkQ0JwY3lCbGJYQjBlUzVjYmlBZ0lDb2dRSFJvY205M2N5QjdUbTkwUm05MWJtUkZjbkp2Y24wZ1YyaGxiaUIwYUdVZ1pHOWpkVzFsYm5RZ1pHOWxjeUJ1YjNRZ1pYaHBjM1FnS0VoVVZGQWdOREEwS1M1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3UW1Ga1VtVnhkV1Z6ZEVWeWNtOXlmU0JYYUdWdUlFZHZiMmRzWlNCeVpXcGxZM1J6SUhSb1pTQjFjR1JoZEdVdVhHNGdJQ0FxSUVCbGVHRnRjR3hsWEc0Z0lDQXFJR0JnWUhSelhHNGdJQ0FxSUdGM1lXbDBJR1J2WTNNdWNtVndiR0ZqWlVGc2JGUmxlSFFvZTF4dUlDQWdLaUFnSUdSdlkzVnRaVzUwU1dRNklGd2lZV0pqTVRJelhDSXNYRzRnSUNBcUlDQWdabWx1WkRvZ1hDSlVUMFJQWENJc1hHNGdJQ0FxSUNBZ2NtVndiR0ZqWlRvZ1hDSkVUMDVGWENJc1hHNGdJQ0FxSUNBZ2JXRjBZMmhEWVhObE9pQjBjblZsTEZ4dUlDQWdLaUI5S1R0Y2JpQWdJQ29nWUdCZ1hHNGdJQ0FxTDF4dUlDQmhjM2x1WXlCeVpYQnNZV05sUVd4c1ZHVjRkQ2hwYm5CMWREb2dSMjl2WjJ4bFJHOWpjMUpsY0d4aFkyVkpibkIxZENrNklGQnliMjFwYzJVOGRXNXJibTkzYmo0Z2UxeHVJQ0FnSUhSb2FYTXVjbVZ4ZFdseVpVRjFkR2dvS1R0Y2JpQWdJQ0JwWmlBb0lXbHVjSFYwTG1SdlkzVnRaVzUwU1dRZ2ZId2dJV2x1Y0hWMExtWnBibVFwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJRzVsZHlCSmJuUmxjbTVoYkVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JjSWtkdmIyZHNaU0JFYjJOeklISmxjR3hoWTJWQmJHeFVaWGgwSUhKbGNYVnBjbVZ6SUdFZ1pHOWpkVzFsYm5RZ2FXUWdZVzVrSUdacGJtUWdkR1Y0ZEZ3aVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnY21WemNHOXVjMlVnUFNCaGQyRnBkQ0IwYUdsekxtTnNhV1Z1ZEM1d2IzTjBLRnh1SUNBZ0lDQWdJQ0JnTDJSdlkzVnRaVzUwY3k4a2UyVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDaHBibkIxZEM1a2IyTjFiV1Z1ZEVsa0tYMDZZbUYwWTJoVmNHUmhkR1ZnTEZ4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdjbVZ4ZFdWemRITTZJRnRjYmlBZ0lDQWdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0FnSUNBZ2NtVndiR0ZqWlVGc2JGUmxlSFE2SUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCamIyNTBZV2x1YzFSbGVIUTZJSHRjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhSbGVIUTZJR2x1Y0hWMExtWnBibVFzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCdFlYUmphRU5oYzJVNklHbHVjSFYwTG0xaGRHTm9RMkZ6WlNBL1B5Qm1ZV3h6WlN4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lISmxjR3hoWTJWVVpYaDBPaUJwYm5CMWRDNXlaWEJzWVdObElEOC9JRndpWENJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNBZ0lGMHNYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZ6Y0c5dWMyVXVaR0YwWVR0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2FIUjBjRVZ5Y205eUtGd2lSMjl2WjJ4bElFUnZZM05jSWl3Z1hDSnlaWEJzWVdObElHRnNiQ0IwWlhoMFhDSXNJR1Z5Y205eUtUdGNiaUFnSUNCOVhHNGdJSDFjYm4xY2JpSmRmUT09Il19
|
|
@@ -15,5 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./GoogleDocsService.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaW8vZ29vZ2xlLWRvY3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdUNBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vR29vZ2xlRG9jc1NlcnZpY2VcIjtcbiJdfQ==
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseURBQXVDO0FBQ3ZDLDhUQUE4VCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL0dvb2dsZURvY3NTZXJ2aWNlLmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTh1TGk5emNtTXZhVzh2WjI5dloyeGxMV1J2WTNNdmFXNWtaWGd1ZEhNaVhTd2libUZ0WlhNaU9sdGRMQ0p0WVhCd2FXNW5jeUk2SWtGQlFVRXNkVU5CUVc5RElpd2ljMjkxY21ObGMwTnZiblJsYm5RaU9sc2laWGh3YjNKMElDb2dabkp2YlNCY0lpNHZSMjl2WjJ4bFJHOWpjMU5sY25acFkyVmNJanRjYmlKZGZRPT0iXX0=
|