@decaf-ts/integrations 0.14.0 → 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 +24 -0
- 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 +24 -0
- 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 +7 -0
- 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 +7 -0
- 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/lib/types/sftp/aws/index.d.cts +6 -0
- package/lib/types/sftp/aws/index.d.mts +6 -0
- package/lib/types/sftp/ssh2/index.d.cts +6 -0
- package/lib/types/sftp/ssh2/index.d.mts +6 -0
- package/package.json +180 -55
- 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/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/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/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/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
|
@@ -208,5 +208,5 @@ class TeamsService extends index_js_1.HttpApiService {
|
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
210
|
exports.TeamsService = TeamsService;
|
|
211
|
-
//# sourceMappingURL=TeamsService.js.map
|
|
212
|
-
//# sourceMappingURL=TeamsService.cjs.map
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVhbXNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1zL3RlYW1zL1RlYW1zU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsNEJBQXVCO0FBQ2xELE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLDJDQUFzQztBQUNyRSxPQUFPLEVBQ0wsY0FBYyxFQUVkLFNBQVMsR0FDVixxQ0FBMEI7QUE4RDNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQU0sT0FBTyxZQUFhLFNBQVEsY0FBa0M7SUFBcEU7O1FBQ0U7O1dBRUc7UUFDZ0IsZ0JBQVcsR0FBRyxpQkFBaUIsQ0FBQztJQWdMckQsQ0FBQztJQTlLQzs7OztPQUlHO0lBQ08sY0FBYztRQUN0QixPQUFPLGtDQUFrQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDTyxXQUFXLENBQUMsTUFBMEI7UUFDOUMsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxVQUFVLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDTyxxQkFBcUI7UUFDN0IsTUFBTSxHQUFHLEdBQUcsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVU7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUM1QyxPQUFPO1lBQ0wsS0FBSztZQUNMLFVBQVU7WUFDVixPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUM7WUFDaEMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDO1NBQ2pDLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7Ozs7Ozs7OztPQVlHO0lBQ0gsS0FBSyxDQUFDLFdBQVcsQ0FBQyxLQUEwQjtRQUMxQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEIsTUFBTSxJQUFJLGFBQWEsQ0FBQyx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3BFLENBQUM7UUFDRCxJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQy9CLFVBQVUsRUFDVjtnQkFDRSxPQUFPLEVBQUUsYUFBYTtnQkFDdEIsVUFBVSxFQUFFLCtCQUErQjtnQkFDM0MsT0FBTyxFQUFFLEtBQUssQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUk7Z0JBQ2xDLEtBQUssRUFBRSxLQUFLLENBQUMsS0FBSztnQkFDbEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNoQixRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVEsSUFBSSxJQUFJO2FBQ2pDLEVBQ0QsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksS0FBSyxFQUFFLENBQzFDLENBQUM7WUFDRixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FxQkc7SUFDSCxLQUFLLENBQUMsa0JBQWtCLENBQUMsS0FBMEI7UUFDakQsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3RDLE1BQU0sSUFBSSxhQUFhLENBQ3JCLDZEQUE2RCxDQUM5RCxDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksQ0FBQztZQUNILE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3JDLFVBQVUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxhQUFhLGtCQUFrQixDQUN2RSxLQUFLLENBQUMsU0FBUyxDQUNoQixXQUFXLEVBQ1o7Z0JBQ0UsSUFBSSxFQUFFO29CQUNKLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVyxJQUFJLE1BQU07b0JBQ3hDLE9BQU8sRUFBRSxLQUFLLENBQUMsT0FBTztpQkFDdkI7YUFDRixDQUNGLENBQUM7WUFDRixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDdkIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7O09BVUc7SUFDSCxLQUFLLENBQUMsU0FBUyxDQUNiLEtBQUssR0FBRyxFQUFFO1FBRVYsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQztZQUNILE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBRW5DLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUMsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDbkMsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDMUQsQ0FBQztJQUNILENBQUM7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsS0FBSyxDQUFDLFlBQVksQ0FDaEIsTUFBYztRQUVkLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUVuQyxVQUFVLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUNwRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sU0FBUyxDQUFDLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9jb21tcy90ZWFtcy9zZXJ2aWNlXG4gKiBAc3VtbWFyeSBNaWNyb3NvZnQgVGVhbXMgaW50ZWdyYXRpb24gc2VydmljZSBmb3Igd2ViaG9vayBhbmQgTWljcm9zb2Z0IEdyYXBoIGNoYW5uZWwgbWVzc2FnaW5nLlxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgdHdvIGRlbGl2ZXJ5IHBhdGhzIGFzIGFuIHVuZGVjb3JhdGVkIGNsaWVudC1iYXNlZFxuICogc2VydmljZSBidWlsdCBvbiB7QGxpbmsgSHR0cEFwaVNlcnZpY2V9OiBpbmNvbWluZy13ZWJob29rXG4gKiBgTWVzc2FnZUNhcmRgIGRlbGl2ZXJ5IChubyBHcmFwaCB0b2tlbiByZXF1aXJlZCkgYW5kIE1pY3Jvc29mdCBHcmFwaFxuICogY2hhbm5lbCBtZXNzYWdpbmcsIHRlYW0gbGlzdGluZywgYW5kIGNoYW5uZWwgbGlzdGluZyAocmVxdWlyZXMgYSBHcmFwaFxuICogYWNjZXNzIHRva2VuKS4gQ29uZmlndXJhdGlvbiBjb21lcyBmcm9tIGFuIGV4cGxpY2l0IGBUZWFtc1NlcnZpY2VDb25maWdgXG4gKiBvciB0aGUgYGNvbW1zLnRlYW1zYCBlbnZpcm9ubWVudCBzbGljZSwgYW5kIGZhaWx1cmVzIGFyZSBtYXBwZWQgdG8gZGVjYWZcbiAqIGVycm9ycyB2aWEge0BsaW5rIGh0dHBFcnJvcn0uXG4gKi9cbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCBBeGlvcyBmcm9tIFwiYXhpb3NcIjtcbmltcG9ydCB7IENvbW1zRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vZW52aXJvbm1lbnRcIjtcbmltcG9ydCB7IGVudk51bWJlciwgZW52U3RyaW5nIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9lbnZpcm9ubWVudFZhbHVlXCI7XG5pbXBvcnQge1xuICBIdHRwQXBpU2VydmljZSxcbiAgdHlwZSBIdHRwQXBpU2VydmljZUNvbmZpZyxcbiAgaHR0cEVycm9yLFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL2h0dHBcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uZmlndXJhdGlvbiBmb3IgdGhlIFRlYW1zIHNlcnZpY2VcbiAqIEBzdW1tYXJ5IEV4dGVuZHMge0BsaW5rIEh0dHBBcGlTZXJ2aWNlQ29uZmlnfSB3aXRoIHRoZSBNaWNyb3NvZnQgR3JhcGhcbiAqIGFjY2VzcyB0b2tlbiAocmVxdWlyZWQgZm9yIGNoYW5uZWwgbWVzc2FnaW5nIGFuZCBsaXN0aW5ncywgb3B0aW9uYWwgd2hlblxuICogb25seSB3ZWJob29rcyBhcmUgdXNlZCkgYW5kIHRoZSBpbmNvbWluZy13ZWJob29rIFVSTC4gV2hlbiBvbWl0dGVkLCB0aGVcbiAqIGBjb21tcy50ZWFtc2AgZW52aXJvbm1lbnQgc2xpY2Ugc3VwcGxpZXMgYm90aCAoYW5kIG9wdGlvbmFsXG4gKiBgYmFzZVVybGAvYHRpbWVvdXRgKS5cbiAqIEBjYXRlZ29yeSBDb21tc1xuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvY29tbXMvdGVhbXMvc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlYW1zU2VydmljZUNvbmZpZyBleHRlbmRzIEh0dHBBcGlTZXJ2aWNlQ29uZmlnIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBNaWNyb3NvZnQgR3JhcGggYWNjZXNzIHRva2VuXG4gICAqIEBzdW1tYXJ5IFNlbnQgYXMgYEF1dGhvcml6YXRpb246IEJlYXJlciA8dG9rZW4+YCBmb3IgR3JhcGggcmVxdWVzdHMuXG4gICAqL1xuICB0b2tlbj86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBJbmNvbWluZyB3ZWJob29rIFVSTCBmb3IgYHNlbmRXZWJob29rYFxuICAgKiBAc3VtbWFyeSBUeXBpY2FsbHkgYW4gT2ZmaWNlIDM2NSBjb25uZWN0b3IgVVJMOyByZXF1aXJlZCBvbmx5IGZvciB3ZWJob29rIGRlbGl2ZXJ5LlxuICAgKi9cbiAgd2ViaG9va1VybD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW5wdXQgZm9yIFRlYW1zIGluY29taW5nLXdlYmhvb2sgZGVsaXZlcnlcbiAqIEBzdW1tYXJ5IENhcnJpZXMgdGhlIHBsYWluLXRleHQgYHRleHRgLCBhbiBvcHRpb25hbCBjYXJkIGB0aXRsZWAsIGFuZFxuICogd2hldGhlciB0aGUgdGV4dCBpcyByZW5kZXJlZCBhcyBtYXJrZG93biAoZGVmYXVsdCBgdHJ1ZWApLiBEZWxpdmVyZWQgYXMgYW5cbiAqIE9mZmljZSAzNjUgYE1lc3NhZ2VDYXJkYCB0byB0aGUgY29uZmlndXJlZCB3ZWJob29rIFVSTC5cbiAqIEBjYXRlZ29yeSBDb21tc1xuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvY29tbXMvdGVhbXMvc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRlYW1zV2ViaG9va01lc3NhZ2Uge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE1lc3NhZ2UgYm9keSB0ZXh0XG4gICAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gT3B0aW9uYWwgY2FyZCB0aXRsZVxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciBgdGV4dGAgaXMgcmVuZGVyZWQgYXMgbWFya2Rvd247IGRlZmF1bHRzIHRvIGB0cnVlYFxuICAgKi9cbiAgbWFya2Rvd24/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnB1dCBmb3Igc2VuZGluZyBhIG1lc3NhZ2UgaW50byBhIFRlYW1zIGNoYW5uZWwgdmlhIE1pY3Jvc29mdCBHcmFwaFxuICogQHN1bW1hcnkgQ2FycmllcyB0aGUgdGFyZ2V0IGB0ZWFtSWRgIGFuZCBgY2hhbm5lbElkYCwgdGhlIG1lc3NhZ2VcbiAqIGBjb250ZW50YCwgYW5kIGl0cyBjb250ZW50IHR5cGUgKGB0ZXh0YCBieSBkZWZhdWx0LCBvciBgaHRtbGApLlxuICogQGNhdGVnb3J5IENvbW1zXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9jb21tcy90ZWFtcy9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVhbXNDaGFubmVsTWVzc2FnZSB7XG4gIHRlYW1JZDogc3RyaW5nO1xuICBjaGFubmVsSWQ6IHN0cmluZztcbiAgY29udGVudDogc3RyaW5nO1xuICBjb250ZW50VHlwZT86IFwidGV4dFwiIHwgXCJodG1sXCI7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIE1pY3Jvc29mdCBUZWFtcyBpbnRlZ3JhdGlvbiBzZXJ2aWNlXG4gKiBAc3VtbWFyeSBBbiB1bmRlY29yYXRlZCBIVFRQIHNlcnZpY2UgY29tYmluaW5nIGluY29taW5nLXdlYmhvb2tcbiAqIGRlbGl2ZXJ5IChuZWVkcyBvbmx5IGB3ZWJob29rVXJsYCkgd2l0aCBNaWNyb3NvZnQgR3JhcGggb3BlcmF0aW9ucyDigJQgY2hhbm5lbFxuICogbWVzc2FnaW5nLCB0ZWFtIGxpc3RpbmcsIGFuZCBjaGFubmVsIGxpc3RpbmcgKG5lZWQgYSBHcmFwaCBgdG9rZW5gKS5cbiAqIFdlYmhvb2sgZGVsaXZlcnkgcG9zdHMgYW4gT2ZmaWNlIDM2NSBgTWVzc2FnZUNhcmRgIGRpcmVjdGx5IHRvIHRoZVxuICogY29uZmlndXJlZCBVUkw7IEdyYXBoIG9wZXJhdGlvbnMgZ28gdGhyb3VnaCB0aGUgc2VydmljZSBjbGllbnQgd2l0aCBiZWFyZXJcbiAqIGF1dGgsIHJlcXVpcmUgYSB0b2tlbiAoYHJlcXVpcmVUb2tlbigpYCksIGFuZCBtYXAgdHJhbnNwb3J0IGZhaWx1cmVzIHRvXG4gKiBkZWNhZiBlcnJvcnMgdmlhIHtAbGluayBodHRwRXJyb3J9LlxuICogQGNsYXNzIFRlYW1zU2VydmljZVxuICogQGNhdGVnb3J5IENvbW1zXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IFRlYW1zU2VydmljZSB9IGZyb20gXCJAZGVjYWYtdHMvaW50ZWdyYXRpb25zL2NvbW1zL3RlYW1zXCI7XG4gKlxuICogY29uc3QgdGVhbXMgPSBuZXcgVGVhbXNTZXJ2aWNlKCk7XG4gKiBhd2FpdCB0ZWFtcy5pbml0aWFsaXplKHtcbiAqICAgd2ViaG9va1VybDogcHJvY2Vzcy5lbnYuR1JBUEhfQ1JFREVOVElBTF9URUFNU19XRUJIT09LX1VSTCxcbiAqICAgdG9rZW46IHByb2Nlc3MuZW52LkdSQVBIX0NSRURFTlRJQUxfVEVBTVNfVE9LRU4sXG4gKiB9KTtcbiAqIGF3YWl0IHRlYW1zLnNlbmRXZWJob29rKHsgdGl0bGU6IFwiRGVwbG95XCIsIHRleHQ6IFwiUmVsZWFzZSAxLjIuMCBpcyBsaXZlXCIgfSk7XG4gKiBgYGBcbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2NvbW1zL3RlYW1zL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIFRlYW1zU2VydmljZSBleHRlbmRzIEh0dHBBcGlTZXJ2aWNlPFRlYW1zU2VydmljZUNvbmZpZz4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBwcm92aWRlciBuYW1lIHVzZWQgaW4gZXJyb3IgbWVzc2FnZXNcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBzZXJ2aWNlTmFtZSA9IFwiTWljcm9zb2Z0IFRlYW1zXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgTWljcm9zb2Z0IEdyYXBoIHYxLjAgYmFzZSBVUkxcbiAgICogQHN1bW1hcnkgVXNlZCB3aGVuIHRoZSByZXNvbHZlZCBjb25maWcgY2FycmllcyBubyBgYmFzZVVybGAuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IGBcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92MS4wXCJgLlxuICAgKi9cbiAgcHJvdGVjdGVkIGRlZmF1bHRCYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiaHR0cHM6Ly9ncmFwaC5taWNyb3NvZnQuY29tL3YxLjBcIjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBNaWNyb3NvZnQgR3JhcGggYmVhcmVyIGF1dGhvcml6YXRpb24gaGVhZGVyc1xuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBgQXV0aG9yaXphdGlvbjogQmVhcmVyIDx0b2tlbj5gIGhlYWRlciB3aGVuIHRoZVxuICAgKiBjb25maWcgY2FycmllcyBhIHRva2VuLCBhbmQgbm8gaGVhZGVycyBvdGhlcndpc2UuXG4gICAqIEBwYXJhbSB7VGVhbXNTZXJ2aWNlQ29uZmlnfSBjb25maWcgLSBUaGUgcmVzb2x2ZWQgc2VydmljZSBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gVGhlIGF1dGhvcml6YXRpb24gaGVhZGVycyAoZW1wdHkgd2l0aG91dCBhIHRva2VuKS5cbiAgICovXG4gIHByb3RlY3RlZCBhdXRoSGVhZGVycyhjb25maWc6IFRlYW1zU2VydmljZUNvbmZpZyk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiBjb25maWcudG9rZW4gPyB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHtjb25maWcudG9rZW59YCB9IDoge307XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlYWRzIHRoZSBUZWFtcyBjcmVkZW50aWFscyBhbmQgZGVmYXVsdHMgZnJvbSB0aGUgZW52aXJvbm1lbnRcbiAgICogQHN1bW1hcnkgUmVhZHMgdGhlIGBjb21tcy50ZWFtc2AgZW52aXJvbm1lbnQgc2xpY2UgYW5kIHJldHVybnMgYSBwYXJ0aWFsXG4gICAqIGNvbmZpZyB3aGVuIGEgR3JhcGggdG9rZW4gb3Igd2ViaG9vayBVUkwgaXMgY29uZmlndXJlZCwgYHVuZGVmaW5lZGBcbiAgICogb3RoZXJ3aXNlLiBWYWx1ZXMgcGFzcyB0aHJvdWdoIGBlbnZTdHJpbmdgL2BlbnZOdW1iZXJgIHRvIHJlamVjdFxuICAgKiB1bnNldC1sZWFmIHByb3hpZXMuXG4gICAqIEByZXR1cm5zIHtQYXJ0aWFsPFRlYW1zU2VydmljZUNvbmZpZz4gfCB1bmRlZmluZWR9IEEgcGFydGlhbCBjb25maWcsIG9yIGB1bmRlZmluZWRgIHdoZW4gbmVpdGhlciB0b2tlbiBub3Igd2ViaG9vayBVUkwgaXMgY29uZmlndXJlZC5cbiAgICovXG4gIHByb3RlY3RlZCBjb25maWdGcm9tRW52aXJvbm1lbnQoKTogUGFydGlhbDxUZWFtc1NlcnZpY2VDb25maWc+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBlbnYgPSBDb21tc0Vudmlyb25tZW50LmNvbW1zLnRlYW1zO1xuICAgIGNvbnN0IHRva2VuID0gZW52U3RyaW5nKGVudj8udG9rZW4pO1xuICAgIGNvbnN0IHdlYmhvb2tVcmwgPSBlbnZTdHJpbmcoZW52Py53ZWJob29rVXJsKTtcbiAgICBpZiAoIXRva2VuICYmICF3ZWJob29rVXJsKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiB7XG4gICAgICB0b2tlbixcbiAgICAgIHdlYmhvb2tVcmwsXG4gICAgICBiYXNlVXJsOiBlbnZTdHJpbmcoZW52Py5iYXNlVXJsKSxcbiAgICAgIHRpbWVvdXQ6IGVudk51bWJlcihlbnY/LnRpbWVvdXQpLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERlbGl2ZXJzIGEgTWVzc2FnZUNhcmQgdGhyb3VnaCB0aGUgY29uZmlndXJlZCBpbmNvbWluZyB3ZWJob29rXG4gICAqIEBzdW1tYXJ5IFBvc3RzIGFuIE9mZmljZSAzNjUgYE1lc3NhZ2VDYXJkYCAoYEB0eXBlOiBcIk1lc3NhZ2VDYXJkXCJgKSB3aXRoXG4gICAqIHRoZSB0aXRsZSwgdGV4dCwgYW5kIG1hcmtkb3duIGZsYWcgZGlyZWN0bHkgdG8gYGNvbmZpZy53ZWJob29rVXJsYCB1c2luZ1xuICAgKiBhIHN0YW5kYWxvbmUgQXhpb3MgY2FsbCAobm8gR3JhcGggdG9rZW4gaW52b2x2ZWQpLiBSZXF1aXJlcyBhIGNvbmZpZ3VyZWRcbiAgICogd2ViaG9vayBVUkwuXG4gICAqIEBwYXJhbSB7VGVhbXNXZWJob29rTWVzc2FnZX0gaW5wdXQgLSBUaGUgY2FyZCB0aXRsZSwgdGV4dCwgYW5kIG1hcmtkb3duIGZsYWcuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBUaGUgcmF3IHdlYmhvb2sgcmVzcG9uc2UgcGF5bG9hZC5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBubyB3ZWJob29rIFVSTCBpcyBjb25maWd1cmVkLlxuICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSB3ZWJob29rIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBIVFRQIDQwNC5cbiAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiB0aGUgd2ViaG9vayBlbmRwb2ludCBhbnN3ZXJzIHdpdGggSFRUUCA0MDkuXG4gICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiB0aGUgd2ViaG9vayBlbmRwb2ludCBhbnN3ZXJzIHdpdGggYW55IG90aGVyIEhUVFAgZXJyb3Igc3RhdHVzLlxuICAgKi9cbiAgYXN5bmMgc2VuZFdlYmhvb2soaW5wdXQ6IFRlYW1zV2ViaG9va01lc3NhZ2UpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICBjb25zdCB3ZWJob29rVXJsID0gdGhpcy5jb25maWcud2ViaG9va1VybDtcbiAgICBpZiAoIXdlYmhvb2tVcmwpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTWljcm9zb2Z0IFRlYW1zIHJlcXVpcmVzIGEgd2ViaG9vayBVUkxcIik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IEF4aW9zLnBvc3QoXG4gICAgICAgIHdlYmhvb2tVcmwsXG4gICAgICAgIHtcbiAgICAgICAgICBcIkB0eXBlXCI6IFwiTWVzc2FnZUNhcmRcIixcbiAgICAgICAgICBcIkBjb250ZXh0XCI6IFwiaHR0cHM6Ly9zY2hlbWEub3JnL2V4dGVuc2lvbnNcIixcbiAgICAgICAgICBzdW1tYXJ5OiBpbnB1dC50aXRsZSA/PyBpbnB1dC50ZXh0LFxuICAgICAgICAgIHRpdGxlOiBpbnB1dC50aXRsZSxcbiAgICAgICAgICB0ZXh0OiBpbnB1dC50ZXh0LFxuICAgICAgICAgIG1hcmtkb3duOiBpbnB1dC5tYXJrZG93biA/PyB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7IHRpbWVvdXQ6IHRoaXMuY29uZmlnLnRpbWVvdXQgPz8gMzAwMDAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBodHRwRXJyb3IoXCJNaWNyb3NvZnQgVGVhbXNcIiwgXCJ3ZWJob29rIGRlbGl2ZXJ5XCIsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNlbmRzIGEgbWVzc2FnZSBpbnRvIGEgVGVhbXMgY2hhbm5lbCB0aHJvdWdoIE1pY3Jvc29mdCBHcmFwaFxuICAgKiBAc3VtbWFyeSBgUE9TVGBzIGEgY2hhdCBtZXNzYWdlIHRvXG4gICAqIGAvdGVhbXMvPHRlYW1JZD4vY2hhbm5lbHMvPGNoYW5uZWxJZD4vbWVzc2FnZXNgIHdpdGggdGhlIGdpdmVuIGNvbnRlbnRcbiAgICogdHlwZSAoYHRleHRgIGJ5IGRlZmF1bHQsIG9yIGBodG1sYCkuIFJlcXVpcmVzIGEgR3JhcGggdG9rZW4gYW5kIGJvdGggYVxuICAgKiB0ZWFtIGFuZCBjaGFubmVsIElEOyBJRHMgYXJlIFVSTC1lbmNvZGVkLlxuICAgKiBAcGFyYW0ge1RlYW1zQ2hhbm5lbE1lc3NhZ2V9IGlucHV0IC0gVGhlIHRhcmdldCB0ZWFtL2NoYW5uZWwgYW5kIHRoZSBtZXNzYWdlIGNvbnRlbnQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBUaGUgcmF3IEdyYXBoIG1lc3NhZ2UgcGF5bG9hZC5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBubyB0b2tlbiBpcyBjb25maWd1cmVkIG9yIHRoZSB0ZWFtL2NoYW5uZWwgSURzIGFyZSBtaXNzaW5nLlxuICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSB0ZWFtIG9yIGNoYW5uZWwgZG9lcyBub3QgZXhpc3QgKEhUVFAgNDA0KS5cbiAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiBHcmFwaCBhbnN3ZXJzIHdpdGggSFRUUCA0MDkuXG4gICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBHcmFwaCBhbnN3ZXJzIHdpdGggYW55IG90aGVyIEhUVFAgZXJyb3Igc3RhdHVzLlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBhd2FpdCB0ZWFtcy5zZW5kQ2hhbm5lbE1lc3NhZ2Uoe1xuICAgKiAgIHRlYW1JZDogXCJ0ZWFtLWlkXCIsXG4gICAqICAgY2hhbm5lbElkOiBcImNoYW5uZWwtaWRcIixcbiAgICogICBjb250ZW50OiBcIjxiPlJlbGVhc2U8L2I+IDEuMi4wIGlzIGxpdmVcIixcbiAgICogICBjb250ZW50VHlwZTogXCJodG1sXCIsXG4gICAqIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIHNlbmRDaGFubmVsTWVzc2FnZShpbnB1dDogVGVhbXNDaGFubmVsTWVzc2FnZSk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMucmVxdWlyZVRva2VuKCk7XG4gICAgaWYgKCFpbnB1dC50ZWFtSWQgfHwgIWlucHV0LmNoYW5uZWxJZCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiTWljcm9zb2Z0IFRlYW1zIGNoYW5uZWwgbWVzc2FnZXMgcmVxdWlyZSBhIHRlYW0gYW5kIGNoYW5uZWxcIlxuICAgICAgKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdChcbiAgICAgICAgYC90ZWFtcy8ke2VuY29kZVVSSUNvbXBvbmVudChpbnB1dC50ZWFtSWQpfS9jaGFubmVscy8ke2VuY29kZVVSSUNvbXBvbmVudChcbiAgICAgICAgICBpbnB1dC5jaGFubmVsSWRcbiAgICAgICAgKX0vbWVzc2FnZXNgLFxuICAgICAgICB7XG4gICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgY29udGVudFR5cGU6IGlucHV0LmNvbnRlbnRUeXBlID8/IFwidGV4dFwiLFxuICAgICAgICAgICAgY29udGVudDogaW5wdXQuY29udGVudCxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG4gICAgICApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIk1pY3Jvc29mdCBUZWFtc1wiLCBcImNoYW5uZWwgbWVzc2FnZVwiLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMaXN0cyBUZWFtcyBhY2Nlc3NpYmxlIHRvIHRoZSBhdXRoZW50aWNhdGVkIGlkZW50aXR5XG4gICAqIEBzdW1tYXJ5IGBHRVRgcyBgL3RlYW1zYCB3aXRoIGEgYCR0b3BgIHBhZ2Ugc2l6ZSAoZGVmYXVsdCBgNTBgKSBhbmRcbiAgICogcmV0dXJucyB0aGUgcmF3IEdyYXBoIGB0ZWFtYCBwYXlsb2Fkcy5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFtsaW1pdF0gLSBNYXhpbXVtIG51bWJlciBvZiB0ZWFtcyB0byByZXR1cm47IGRlZmF1bHRzIHRvIGA1MGAuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj59IFRoZSByYXcgR3JhcGggYHRlYW1gIHBheWxvYWRzLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIHRva2VuIGlzIGNvbmZpZ3VyZWQuXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gR3JhcGggYW5zd2VycyB3aXRoIEhUVFAgNDA0LlxuICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIEdyYXBoIGFuc3dlcnMgd2l0aCBIVFRQIDQwOS5cbiAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIEdyYXBoIGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMuXG4gICAqL1xuICBhc3luYyBsaXN0VGVhbXMoXG4gICAgbGltaXQgPSA1MFxuICApOiBQcm9taXNlPEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4ge1xuICAgIHRoaXMucmVxdWlyZVRva2VuKCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQuZ2V0PHtcbiAgICAgICAgdmFsdWU/OiBBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG4gICAgICB9PihcIi90ZWFtc1wiLCB7IHBhcmFtczogeyAkdG9wOiBsaW1pdCB9IH0pO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEudmFsdWUgPz8gW107XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIk1pY3Jvc29mdCBUZWFtc1wiLCBcImxpc3QgdGVhbXNcIiwgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTGlzdHMgY2hhbm5lbHMgb2YgYSBUZWFtcyB0ZWFtXG4gICAqIEBzdW1tYXJ5IGBHRVRgcyBgL3RlYW1zLzx0ZWFtSWQ+L2NoYW5uZWxzYCBhbmQgcmV0dXJucyB0aGUgcmF3IEdyYXBoXG4gICAqIGBjaGFubmVsYCBwYXlsb2FkczsgdGhlIHRlYW0gSUQgaXMgVVJMLWVuY29kZWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSB0ZWFtSWQgLSBUaGUgSUQgb2YgdGhlIHRlYW0gd2hvc2UgY2hhbm5lbHMgYXJlIGxpc3RlZC5cbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pn0gVGhlIHJhdyBHcmFwaCBgY2hhbm5lbGAgcGF5bG9hZHMuXG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbm8gdG9rZW4gaXMgY29uZmlndXJlZC5cbiAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgdGVhbSBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIEdyYXBoIGFuc3dlcnMgd2l0aCBIVFRQIDQwOS5cbiAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIEdyYXBoIGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMuXG4gICAqL1xuICBhc3luYyBsaXN0Q2hhbm5lbHMoXG4gICAgdGVhbUlkOiBzdHJpbmdcbiAgKTogUHJvbWlzZTxBcnJheTxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+IHtcbiAgICB0aGlzLnJlcXVpcmVUb2tlbigpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldDx7XG4gICAgICAgIHZhbHVlPzogQXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuICAgICAgfT4oYC90ZWFtcy8ke2VuY29kZVVSSUNvbXBvbmVudCh0ZWFtSWQpfS9jaGFubmVsc2ApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEudmFsdWUgPz8gW107XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIk1pY3Jvc29mdCBUZWFtc1wiLCBcImxpc3QgY2hhbm5lbHNcIiwgZXJyb3IpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
212
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVhbXNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiVGVhbXNTZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFDSCwyREFBd0Q7QUFDeEQsa0RBQTBCO0FBQzFCLHdEQUF1RDtBQUN2RCw0RUFBMEU7QUFDMUUsMkRBQTBFO0FBQzFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQWEsWUFBYSxTQUFRLHlCQUFjO0lBQzVDO1FBQ0ksS0FBSyxDQUFDLEdBQUcsU0FBUyxDQUFDLENBQUM7UUFDcEI7O1dBRUc7UUFDSCxJQUFJLENBQUMsV0FBVyxHQUFHLGlCQUFpQixDQUFDO0lBQ3pDLENBQUM7SUFDRDs7OztPQUlHO0lBQ0gsY0FBYztRQUNWLE9BQU8sa0NBQWtDLENBQUM7SUFDOUMsQ0FBQztJQUNEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxNQUFNO1FBQ2QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxVQUFVLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDM0UsQ0FBQztJQUNEOzs7Ozs7O09BT0c7SUFDSCxxQkFBcUI7UUFDakIsTUFBTSxHQUFHLEdBQUcsaUNBQWdCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QyxNQUFNLEtBQUssR0FBRyxJQUFBLCtCQUFTLEVBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLElBQUEsK0JBQVMsRUFBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVU7WUFDckIsT0FBTyxTQUFTLENBQUM7UUFDckIsT0FBTztZQUNILEtBQUs7WUFDTCxVQUFVO1lBQ1YsT0FBTyxFQUFFLElBQUEsK0JBQVMsRUFBQyxHQUFHLEVB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LENBQUM7SUFDRDs7Ozs7Ozs7OztPQVVHO0lBQ0gsS0FBSyxDQUFDLFlBQVksQ0FBQyxNQUFNO1FBQ3JCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUM7WUFDRCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsa0JBQWtCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3hGLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3JDLENBQUM7UUFDRCxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ1gsTUFBTSxJQUFBLG9CQUFTLEVBQUMsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQy9ELENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFsS0Qsb0NBa0tDO0FBQ0Qsa29tQkFBa29tQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvY29tbXMvdGVhbXMvc2VydmljZVxuICogQHN1bW1hcnkgTWljcm9zb2Z0IFRlYW1zIGludGVncmF0aW9uIHNlcnZpY2UgZm9yIHdlYmhvb2sgYW5kIE1pY3Jvc29mdCBHcmFwaCBjaGFubmVsIG1lc3NhZ2luZy5cbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIHR3byBkZWxpdmVyeSBwYXRocyBhcyBhbiB1bmRlY29yYXRlZCBjbGllbnQtYmFzZWRcbiAqIHNlcnZpY2UgYnVpbHQgb24ge0BsaW5rIEh0dHBBcGlTZXJ2aWNlfTogaW5jb21pbmctd2ViaG9va1xuICogYE1lc3NhZ2VDYXJkYCBkZWxpdmVyeSAobm8gR3JhcGggdG9rZW4gcmVxdWlyZWQpIGFuZCBNaWNyb3NvZnQgR3JhcGhcbiAqIGNoYW5uZWwgbWVzc2FnaW5nLCB0ZWFtIGxpc3RpbmcsIGFuZCBjaGFubmVsIGxpc3RpbmcgKHJlcXVpcmVzIGEgR3JhcGhcbiAqIGFjY2VzcyB0b2tlbikuIENvbmZpZ3VyYXRpb24gY29tZXMgZnJvbSBhbiBleHBsaWNpdCBgVGVhbXNTZXJ2aWNlQ29uZmlnYFxuICogb3IgdGhlIGBjb21tcy50ZWFtc2AgZW52aXJvbm1lbnQgc2xpY2UsIGFuZCBmYWlsdXJlcyBhcmUgbWFwcGVkIHRvIGRlY2FmXG4gKiBlcnJvcnMgdmlhIHtAbGluayBodHRwRXJyb3J9LlxuICovXG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgQXhpb3MgZnJvbSBcImF4aW9zXCI7XG5pbXBvcnQgeyBDb21tc0Vudmlyb25tZW50IH0gZnJvbSBcIi4vLi4vZW52aXJvbm1lbnQuanNcIjtcbmltcG9ydCB7IGVudk51bWJlciwgZW52U3RyaW5nIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2Vudmlyb25tZW50VmFsdWUuanNcIjtcbmltcG9ydCB7IEh0dHBBcGlTZXJ2aWNlLCBodHRwRXJyb3IsIH0gZnJvbSBcIi4vLi4vLi4vc2hhcmVkL2h0dHAvaW5kZXguanNcIjtcbi8qKlxuICogQGRlc2NyaXB0aW9uIE1pY3Jvc29mdCBUZWFtcyBpbnRlZ3JhdGlvbiBzZXJ2aWNlXG4gKiBAc3VtbWFyeSBBbiB1bmRlY29yYXRlZCBIVFRQIHNlcnZpY2UgY29tYmluaW5nIGluY29taW5nLXdlYmhvb2tcbiAqIGRlbGl2ZXJ5IChuZWVkcyBvbmx5IGB3ZWJob29rVXJsYCkgd2l0aCBNaWNyb3NvZnQgR3JhcGggb3BlcmF0aW9ucyDigJQgY2hhbm5lbFxuICogbWVzc2FnaW5nLCB0ZWFtIGxpc3RpbmcsIGFuZCBjaGFubmVsIGxpc3RpbmcgKG5lZWQgYSBHcmFwaCBgdG9rZW5gKS5cbiAqIFdlYmhvb2sgZGVsaXZlcnkgcG9zdHMgYW4gT2ZmaWNlIDM2NSBgTWVzc2FnZUNhcmRgIGRpcmVjdGx5IHRvIHRoZVxuICogY29uZmlndXJlZCBVUkw7IEdyYXBoIG9wZXJhdGlvbnMgZ28gdGhyb3VnaCB0aGUgc2VydmljZSBjbGllbnQgd2l0aCBiZWFyZXJcbiAqIGF1dGgsIHJlcXVpcmUgYSB0b2tlbiAoYHJlcXVpcmVUb2tlbigpYCksIGFuZCBtYXAgdHJhbnNwb3J0IGZhaWx1cmVzIHRvXG4gKiBkZWNhZiBlcnJvcnMgdmlhIHtAbGluayBodHRwRXJyb3J9LlxuICogQGNsYXNzIFRlYW1zU2VydmljZVxuICogQGNhdGVnb3J5IENvbW1zXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IFRlYW1zU2VydmljZSB9IGZyb20gXCJAZGVjYWYtdHMvaW50ZWdyYXRpb25zL2NvbW1zL3RlYW1zXCI7XG4gKlxuICogY29uc3QgdGVhbXMgPSBuZXcgVGVhbXNTZXJ2aWNlKCk7XG4gKiBhd2FpdCB0ZWFtcy5pbml0aWFsaXplKHtcbiAqICAgd2ViaG9va1VybDogcHJvY2Vzcy5lbnYuR1JBUEhfQ1JFREVOVElBTF9URUFNU19XRUJIT09LX1VSTCxcbiAqICAgdG9rZW46IHByb2Nlc3MuZW52LkdSQVBIX0NSRURFTlRJQUxfVEVBTVNfVE9LRU4sXG4gKiB9KTtcbiAqIGF3YWl0IHRlYW1zLnNlbmRXZWJob29rKHsgdGl0bGU6IFwiRGVwbG95XCIsIHRleHQ6IFwiUmVsZWFzZSAxLjIuMCBpcyBsaXZlXCIgfSk7XG4gKiBgYGBcbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2NvbW1zL3RlYW1zL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIFRlYW1zU2VydmljZSBleHRlbmRzIEh0dHBBcGlTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEBkZXNjcmlwdGlvbiBUaGUgcHJvdmlkZXIgbmFtZSB1c2VkIGluIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLnNlcnZpY2VOYW1lID0gXCJNaWNyb3NvZnQgVGVhbXNcIjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSBNaWNyb3NvZnQgR3JhcGggdjEuMCBiYXNlIFVSTFxuICAgICAqIEBzdW1tYXJ5IFVzZWQgd2hlbiB0aGUgcmVzb2x2ZWQgY29uZmlnIGNhcnJpZXMgbm8gYGJhc2VVcmxgLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IGBcImh0dHBzOi8vZ3JhcGgubWljcm9zb2Z0LmNvbS92MS4wXCJgLlxuICAgICAqL1xuICAgIGRlZmF1bHRCYXNlVXJsKCkge1xuICAgICAgICByZXR1cm4gXCJodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20vdjEuMFwiO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBNaWNyb3NvZnQgR3JhcGggYmVhcmVyIGF1dGhvcml6YXRpb24gaGVhZGVyc1xuICAgICAqIEBzdW1tYXJ5IFJldHVybnMgdGhlIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHRva2VuPmAgaGVhZGVyIHdoZW4gdGhlXG4gICAgICogY29uZmlnIGNhcnJpZXMgYSB0b2tlbiwgYW5kIG5vIGhlYWRlcnMgb3RoZXJ3aXNlLlxuICAgICAqIEBwYXJhbSB7VGVhbXNTZXJ2aWNlQ29uZmlnfSBjb25maWcgLSBUaGUgcmVzb2x2ZWQgc2VydmljZSBjb25maWd1cmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBUaGUgYXV0aG9yaXphdGlvbiBoZWFkZXJzIChlbXB0eSB3aXRob3V0IGEgdG9rZW4pLlxuICAgICAqL1xuICAgIGF1dGhIZWFkZXJzKGNvbmZpZykge1xuICAgICAgICByZXR1cm4gY29uZmlnLnRva2VuID8geyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7Y29uZmlnLnRva2VufWAgfSA6IHt9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVhZHMgdGhlIFRlYW1zIGNyZWRlbnRpYWxzIGFuZCBkZWZhdWx0cyBmcm9tIHRoZSBlbnZpcm9ubWVudFxuICAgICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBgY29tbXMudGVhbXNgIGVudmlyb25tZW50IHNsaWNlIGFuZCByZXR1cm5zIGEgcGFydGlhbFxuICAgICAqIGNvbmZpZyB3aGVuIGEgR3JhcGggdG9rZW4gb3Igd2ViaG9vayBVUkwgaXMgY29uZmlndXJlZCwgYHVuZGVmaW5lZGBcbiAgICAgKiBvdGhlcndpc2UuIFZhbHVlcyBwYXNzIHRocm91Z2ggYGVudlN0cmluZ2AvYGVudk51bWJlcmAgdG8gcmVqZWN0XG4gICAgICogdW5zZXQtbGVhZiBwcm94aWVzLlxuICAgICAqIEByZXR1cm5zIHtQYXJ0aWFsPFRlYW1zU2VydmljZUNvbmZpZz4gfCB1bmRlZmluZWR9IEEgcGFydGlhbCBjb25maWcsIG9yIGB1bmRlZmluZWRgIHdoZW4gbmVpdGhlciB0b2tlbiBub3Igd2ViaG9vayBVUkwgaXMgY29uZmlndXJlZC5cbiAgICAgKi9cbiAgICBjb25maWdGcm9tRW52aXJvbm1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGVudiA9IENvbW1zRW52aXJvbm1lbnQuY29tbXMudGVhbXM7XG4gICAgICAgIGNvbnN0IHRva2VuID0gZW52U3RyaW5nKGVudj8udG9rZW4pO1xuICAgICAgICBjb25zdCB3ZWJob29rVXJsID0gZW52U3RyaW5nKGVudj8ud2ViaG9va1VybCk7XG4gICAgICAgIGlmICghdG9rZW4gJiYgIXdlYmhvb2tVcmwpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICB3ZWJob29rVXJsLFxuICAgICAgICAgICAgYmFzZVVybDogZW52U3RyaW5nKGVudj8uYmFzZVVybCksXG4gICAgICAgICAgICB0aW1lb3V0OiBlbnZOdW1iZXIoZW52Py50aW1lb3V0KSxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIERlbGl2ZXJzIGEgTWVzc2FnZUNhcmQgdGhyb3VnaCB0aGUgY29uZmlndXJlZCBpbmNvbWluZyB3ZWJob29rXG4gICAgICogQHN1bW1hcnkgUG9zdHMgYW4gT2ZmaWNlIDM2NSBgTWVzc2FnZUNhcmRgIChgQHR5cGU6IFwiTWVzc2FnZUNhcmRcImApIHdpdGhcbiAgICAgKiB0aGUgdGl0bGUsIHRleHQsIGFuZCBtYXJrZG93biBmbGFnIGRpcmVjdGx5IHRvIGBjb25maWcud2ViaG9va1VybGAgdXNpbmdcbiAgICAgKiBhIHN0YW5kYWxvbmUgQXhpb3MgY2FsbCAobm8gR3JhcGggdG9rZW4gaW52b2x2ZWQpLiBSZXF1aXJlcyBhIGNvbmZpZ3VyZWRcbiAgICAgKiB3ZWJob29rIFVSTC5cbiAgICAgKiBAcGFyYW0ge1RlYW1zV2ViaG9va01lc3NhZ2V9IGlucHV0IC0gVGhlIGNhcmQgdGl0bGUsIHRleHQsIGFuZCBtYXJrZG93biBmbGFnLlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBUaGUgcmF3IHdlYmhvb2sgcmVzcG9uc2UgcGF5bG9hZC5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIHdlYmhvb2sgVVJMIGlzIGNvbmZpZ3VyZWQuXG4gICAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgd2ViaG9vayBlbmRwb2ludCBhbnN3ZXJzIHdpdGggSFRUUCA0MDQuXG4gICAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiB0aGUgd2ViaG9vayBlbmRwb2ludCBhbnN3ZXJzIHdpdGggSFRUUCA0MDkuXG4gICAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIHRoZSB3ZWJob29rIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMuXG4gICAgICovXG4gICAgYXN5bmMgc2VuZFdlYmhvb2soaW5wdXQpIHtcbiAgICAgICAgY29uc3Qgd2ViaG9va1VybCA9IHRoaXMuY29uZmlnLndlYmhvb2tVcmw7XG4gICAgICAgIGlmICghd2ViaG9va1VybCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJNaWNyb3NvZnQgVGVhbXMgcmVxdWlyZXMgYSB3ZWJob29rIFVSTFwiKTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBBeGlvcy5wb3N0KHdlYmhvb2tVcmwsIHtcbiAgICAgICAgICAgICAgICBcIkB0eXBlXCI6IFwiTWVzc2FnZUNhcmRcIixcbiAgICAgICAgICAgICAgICBcIkBjb250ZXh0XCI6IFwiaHR0cHM6Ly9zY2hlbWEub3JnL2V4dGVuc2lvbnNcIixcbiAgICAgICAgICAgICAgICBzdW1tYXJ5OiBpbnB1dC50aXRsZSA/PyBpbnB1dC50ZXh0LFxuICAgICAgICAgICAgICAgIHRpdGxlOiBpbnB1dC50aXRsZSxcbiAgICAgICAgICAgICAgICB0ZXh0OiBpbnB1dC50ZXh0LFxuICAgICAgICAgICAgICAgIG1hcmtkb3duOiBpbnB1dC5tYXJrZG93biA/PyB0cnVlLFxuICAgICAgICAgICAgfSwgeyB0aW1lb3V0OiB0aGlzLmNvbmZpZy50aW1lb3V0ID8/IDMwMDAwIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBodHRwRXJyb3IoXCJNaWNyb3NvZnQgVGVhbXNcIiwgXCJ3ZWJob29rIGRlbGl2ZXJ5XCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gU2VuZHMgYSBtZXNzYWdlIGludG8gYSBUZWFtcyBjaGFubmVsIHRocm91Z2ggTWljcm9zb2Z0IEdyYXBoXG4gICAgICogQHN1bW1hcnkgYFBPU1RgcyBhIGNoYXQgbWVzc2FnZSB0b1xuICAgICAqIGAvdGVhbXMvPHRlYW1JZD4vY2hhbm5lbHMvPGNoYW5uZWxJZD4vbWVzc2FnZXNgIHdpdGggdGhlIGdpdmVuIGNvbnRlbnRcbiAgICAgKiB0eXBlIChgdGV4dGAgYnkgZGVmYXVsdCwgb3IgYGh0bWxgKS4gUmVxdWlyZXMgYSBHcmFwaCB0b2tlbiBhbmQgYm90aCBhXG4gICAgICogdGVhbSBhbmQgY2hhbm5lbCBJRDsgSURzIGFyZSBVUkwtZW5jb2RlZC5cbiAgICAgKiBAcGFyYW0ge1RlYW1zQ2hhbm5lbE1lc3NhZ2V9IGlucHV0IC0gVGhlIHRhcmdldCB0ZWFtL2NoYW5uZWwgYW5kIHRoZSBtZXNzYWdlIGNvbnRlbnQuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSByYXcgR3JhcGggbWVzc2FnZSBwYXlsb2FkLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbm8gdG9rZW4gaXMgY29uZmlndXJlZCBvciB0aGUgdGVhbS9jaGFubmVsIElEcyBhcmUgbWlzc2luZy5cbiAgICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSB0ZWFtIG9yIGNoYW5uZWwgZG9lcyBub3QgZXhpc3QgKEhUVFAgNDA0KS5cbiAgICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIEdyYXBoIGFuc3dlcnMgd2l0aCBIVFRQIDQwOS5cbiAgICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gR3JhcGggYW5zd2VycyB3aXRoIGFueSBvdGhlciBIVFRQIGVycm9yIHN0YXR1cy5cbiAgICAgKiBAZXhhbXBsZVxuICAgICAqIGBgYHRzXG4gICAgICogYXdhaXQgdGVhbXMuc2VuZENoYW5uZWxNZXNzYWdlKHtcbiAgICAgKiAgIHRlYW1JZDogXCJ0ZWFtLWlkXCIsXG4gICAgICogICBjaGFubmVsSWQ6IFwiY2hhbm5lbC1pZFwiLFxuICAgICAqICAgY29udGVudDogXCI8Yj5SZWxlYXNlPC9iPiAxLjIuMCBpcyBsaXZlXCIsXG4gICAgICogICBjb250ZW50VHlwZTogXCJodG1sXCIsXG4gICAgICogfSk7XG4gICAgICogYGBgXG4gICAgICovXG4gICAgYXN5bmMgc2VuZENoYW5uZWxNZXNzYWdlKGlucHV0KSB7XG4gICAgICAgIHRoaXMucmVxdWlyZVRva2VuKCk7XG4gICAgICAgIGlmICghaW5wdXQudGVhbUlkIHx8ICFpbnB1dC5jaGFubmVsSWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiTWljcm9zb2Z0IFRlYW1zIGNoYW5uZWwgbWVzc2FnZXMgcmVxdWlyZSBhIHRlYW0gYW5kIGNoYW5uZWxcIik7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdChgL3RlYW1zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGlucHV0LnRlYW1JZCl9L2NoYW5uZWxzLyR7ZW5jb2RlVVJJQ29tcG9uZW50KGlucHV0LmNoYW5uZWxJZCl9L21lc3NhZ2VzYCwge1xuICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGU6IGlucHV0LmNvbnRlbnRUeXBlID8/IFwidGV4dFwiLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBpbnB1dC5jb250ZW50LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgaHR0cEVycm9yKFwiTWljcm9zb2Z0IFRlYW1zXCIsIFwiY2hhbm5lbCBtZXNzYWdlXCIsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gTGlzdHMgVGVhbXMgYWNjZXNzaWJsZSB0byB0aGUgYXV0aGVudGljYXRlZCBpZGVudGl0eVxuICAgICAqIEBzdW1tYXJ5IGBHRVRgcyBgL3RlYW1zYCB3aXRoIGEgYCR0b3BgIHBhZ2Ugc2l6ZSAoZGVmYXVsdCBgNTBgKSBhbmRcbiAgICAgKiByZXR1cm5zIHRoZSByYXcgR3JhcGggYHRlYW1gIHBheWxvYWRzLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbbGltaXRdIC0gTWF4aW11bSBudW1iZXIgb2YgdGVhbXMgdG8gcmV0dXJuOyBkZWZhdWx0cyB0byBgNTBgLlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj59IFRoZSByYXcgR3JhcGggYHRlYW1gIHBheWxvYWRzLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbm8gdG9rZW4gaXMgY29uZmlndXJlZC5cbiAgICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIEdyYXBoIGFuc3dlcnMgd2l0aCBIVFRQIDQwNC5cbiAgICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIEdyYXBoIGFuc3dlcnMgd2l0aCBIVFRQIDQwOS5cbiAgICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gR3JhcGggYW5zd2VycyB3aXRoIGFueSBvdGhlciBIVFRQIGVycm9yIHN0YXR1cy5cbiAgICAgKi9cbiAgICBhc3luYyBsaXN0VGVhbXMobGltaXQgPSA1MCkge1xuICAgICAgICB0aGlzLnJlcXVpcmVUb2tlbigpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5nZXQoXCIvdGVhbXNcIiwgeyBwYXJhbXM6IHsgJHRvcDogbGltaXQgfSB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhLnZhbHVlID8/IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgaHR0cEVycm9yKFwiTWljcm9zb2Z0IFRlYW1zXCIsIFwibGlzdCB0ZWFtc1wiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIExpc3RzIGNoYW5uZWxzIG9mIGEgVGVhbXMgdGVhbVxuICAgICAqIEBzdW1tYXJ5IGBHRVRgcyBgL3RlYW1zLzx0ZWFtSWQ+L2NoYW5uZWxzYCBhbmQgcmV0dXJucyB0aGUgcmF3IEdyYXBoXG4gICAgICogYGNoYW5uZWxgIHBheWxvYWRzOyB0aGUgdGVhbSBJRCBpcyBVUkwtZW5jb2RlZC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdGVhbUlkIC0gVGhlIElEIG9mIHRoZSB0ZWFtIHdob3NlIGNoYW5uZWxzIGFyZSBsaXN0ZWQuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pn0gVGhlIHJhdyBHcmFwaCBgY2hhbm5lbGAgcGF5bG9hZHMuXG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBubyB0b2tlbiBpcyBjb25maWd1cmVkLlxuICAgICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIHRlYW0gZG9lcyBub3QgZXhpc3QgKEhUVFAgNDA0KS5cbiAgICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIEdyYXBoIGFuc3dlcnMgd2l0aCBIVFRQIDQwOS5cbiAgICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gR3JhcGggYW5zd2VycyB3aXRoIGFueSBvdGhlciBIVFRQIGVycm9yIHN0YXR1cy5cbiAgICAgKi9cbiAgICBhc3luYyBsaXN0Q2hhbm5lbHModGVhbUlkKSB7XG4gICAgICAgIHRoaXMucmVxdWlyZVRva2VuKCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldChgL3RlYW1zLyR7ZW5jb2RlVVJJQ29tcG9uZW50KHRlYW1JZCl9L2NoYW5uZWxzYCk7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YS52YWx1ZSA/PyBbXTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGh0dHBFcnJvcihcIk1pY3Jvc29mdCBUZWFtc1wiLCBcImxpc3QgY2hhbm5lbHNcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVkdWaGJYTlRaWEoyYVdObExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMk52YlcxekwzUmxZVzF6TDFSbFlXMXpVMlZ5ZG1salpTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVRzN096czdPenM3T3p0SFFWVkhPMEZCUTBnc1QwRkJUeXhGUVVGRkxHRkJRV0VzUlVGQlJTeE5RVUZOTEhsQ1FVRjVRaXhEUVVGRE8wRkJRM2hFTEU5QlFVOHNTMEZCU3l4TlFVRk5MRTlCUVU4c1EwRkJRenRCUVVNeFFpeFBRVUZQTEVWQlFVVXNaMEpCUVdkQ0xFVkJRVVVzTkVKQlFYVkNPMEZCUTJ4RUxFOUJRVThzUlVGQlJTeFRRVUZUTEVWQlFVVXNVMEZCVXl4RlFVRkZMREpEUVVGelF6dEJRVU55UlN4UFFVRlBMRVZCUTB3c1kwRkJZeXhGUVVWa0xGTkJRVk1zUjBGRFZpeHhRMEZCTUVJN1FVRTRSRE5DT3pzN096czdPenM3T3pzN096czdPenM3T3pzN096dEhRWFZDUnp0QlFVTklMRTFCUVUwc1QwRkJUeXhaUVVGaExGTkJRVkVzWTBGQmEwTTdTVUZCY0VVN08xRkJRMFU3TzFkQlJVYzdVVUZEWjBJc1owSkJRVmNzUjBGQlJ5eHBRa0ZCYVVJc1EwRkJRenRKUVdkTWNrUXNRMEZCUXp0SlFUbExRenM3T3p0UFFVbEhPMGxCUTA4c1kwRkJZenRSUVVOMFFpeFBRVUZQTEd0RFFVRnJReXhEUVVGRE8wbEJRelZETEVOQlFVTTdTVUZGUkRzN096czdPMDlCVFVjN1NVRkRUeXhYUVVGWExFTkJRVU1zVFVGQk1FSTdVVUZET1VNc1QwRkJUeXhOUVVGTkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hWUVVGVkxFMUJRVTBzUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU03U1VGRGVrVXNRMEZCUXp0SlFVVkVPenM3T3pzN08wOUJUMGM3U1VGRFR5eHhRa0ZCY1VJN1VVRkROMElzVFVGQlRTeEhRVUZITEVkQlFVY3NaMEpCUVdkQ0xFTkJRVU1zUzBGQlN5eERRVUZETEV0QlFVc3NRMEZCUXp0UlFVTjZReXhOUVVGTkxFdEJRVXNzUjBGQlJ5eFRRVUZUTEVOQlFVTXNSMEZCUnl4RlFVRkZMRXRCUVVzc1EwRkJReXhEUVVGRE8xRkJRM0JETEUxQlFVMHNWVUZCVlN4SFFVRkhMRk5CUVZNc1EwRkJReXhIUVVGSExFVkJRVVVzVlVGQlZTeERRVUZETEVOQlFVTTdVVUZET1VNc1NVRkJTU3hEUVVGRExFdEJRVXNzU1VGQlNTeERRVUZETEZWQlFWVTdXVUZCUlN4UFFVRlBMRk5CUVZNc1EwRkJRenRSUVVNMVF5eFBRVUZQTzFsQlEwd3NTMEZCU3p0WlFVTk1MRlZCUVZVN1dVRkRWaXhQUVVGUExFVkJRVVVzVTBGQlV5eERRVUZETEVkQlFVY3NSVUZCUlN4UFFVRlBMRU5CUVVNN1dVRkRhRU1zVDBGQlR5eEZRVUZGTEZOQlFWTXNRMEZCUXl4SFFVRkhMRVZCUVVVc1QwRkJUeXhEUVVGRE8xTkJRMnBETEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRN096czdPenM3T3pzN096dFBRVmxITzBsQlEwZ3NTMEZCU3l4RFFVRkRMRmRCUVZjc1EwRkJReXhMUVVFd1FqdFJRVU14UXl4TlFVRk5MRlZCUVZVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZWQlFWVXNRMEZCUXp0UlFVTXhReXhKUVVGSkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlFVTTdXVUZEYUVJc1RVRkJUU3hKUVVGSkxHRkJRV0VzUTBGQlF5eDNRMEZCZDBNc1EwRkJReXhEUVVGRE8xRkJRM0JGTEVOQlFVTTdVVUZEUkN4SlFVRkpMRU5CUVVNN1dVRkRTQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eE5RVUZOTEV0QlFVc3NRMEZCUXl4SlFVRkpMRU5CUXk5Q0xGVkJRVlVzUlVGRFZqdG5Ra0ZEUlN4UFFVRlBMRVZCUVVVc1lVRkJZVHRuUWtGRGRFSXNWVUZCVlN4RlFVRkZMQ3RDUVVFclFqdG5Ra0ZETTBNc1QwRkJUeXhGUVVGRkxFdEJRVXNzUTBGQlF5eExRVUZMTEVsQlFVa3NTMEZCU3l4RFFVRkRMRWxCUVVrN1owSkJRMnhETEV0QlFVc3NSVUZCUlN4TFFVRkxMRU5CUVVNc1MwRkJTenRuUWtGRGJFSXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhKUVVGSk8yZENRVU5vUWl4UlFVRlJMRVZCUVVVc1MwRkJTeXhEUVVGRExGRkJRVkVzU1VGQlNTeEpRVUZKTzJGQlEycERMRVZCUTBRc1JVRkJSU3hQUVVGUExFVkJRVVVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4UFFVRlBMRWxCUVVrc1MwRkJTeXhGUVVGRkxFTkJRekZETEVOQlFVTTdXVUZEUml4UFFVRlBMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGRrSXNRMEZCUXp0UlFVRkRMRTlCUVU4c1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFppeE5RVUZOTEZOQlFWTXNRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeHJRa0ZCYTBJc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU5vUlN4RFFVRkRPMGxCUTBnc1EwRkJRenRKUVVWRU96czdPenM3T3pzN096czdPenM3T3pzN096czdUMEZ4UWtjN1NVRkRTQ3hMUVVGTExFTkJRVU1zYTBKQlFXdENMRU5CUVVNc1MwRkJNRUk3VVVGRGFrUXNTVUZCU1N4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRE8xRkJRM0JDTEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMWxCUTNSRExFMUJRVTBzU1VGQlNTeGhRVUZoTEVOQlEzSkNMRFpFUVVFMlJDeERRVU01UkN4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVORUxFbEJRVWtzUTBGQlF6dFpRVU5JTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVOQlEzSkRMRlZCUVZVc2EwSkJRV3RDTEVOQlFVTXNTMEZCU3l4RFFVRkRMRTFCUVUwc1EwRkJReXhoUVVGaExHdENRVUZyUWl4RFFVTjJSU3hMUVVGTExFTkJRVU1zVTBGQlV5eERRVU5vUWl4WFFVRlhMRVZCUTFvN1owSkJRMFVzU1VGQlNTeEZRVUZGTzI5Q1FVTktMRmRCUVZjc1JVRkJSU3hMUVVGTExFTkJRVU1zVjBGQlZ5eEpRVUZKTEUxQlFVMDdiMEpCUTNoRExFOUJRVThzUlVGQlJTeExRVUZMTEVOQlFVTXNUMEZCVHp0cFFrRkRka0k3WVVGRFJpeERRVU5HTEVOQlFVTTdXVUZEUml4UFFVRlBMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGRrSXNRMEZCUXp0UlFVRkRMRTlCUVU4c1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFppeE5RVUZOTEZOQlFWTXNRMEZCUXl4cFFrRkJhVUlzUlVGQlJTeHBRa0ZCYVVJc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU12UkN4RFFVRkRPMGxCUTBnc1EwRkJRenRKUVVWRU96czdPenM3T3pzN08wOUJWVWM3U1VGRFNDeExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVTmlMRXRCUVVzc1IwRkJSeXhGUVVGRk8xRkJSVllzU1VGQlNTeERRVUZETEZsQlFWa3NSVUZCUlN4RFFVRkRPMUZCUTNCQ0xFbEJRVWtzUTBGQlF6dFpRVU5JTEUxQlFVMHNVVUZCVVN4SFFVRkhMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEhRVUZITEVOQlJXNURMRkZCUVZFc1JVRkJSU3hGUVVGRkxFMUJRVTBzUlVGQlJTeEZRVUZGTEVsQlFVa3NSVUZCUlN4TFFVRkxMRVZCUVVVc1JVRkJSU3hEUVVGRExFTkJRVU03V1VGRE1VTXNUMEZCVHl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzU1VGQlNTeEZRVUZGTEVOQlFVTTdVVUZEYmtNc1EwRkJRenRSUVVGRExFOUJRVThzUzBGQlN5eEZRVUZGTEVOQlFVTTdXVUZEWml4TlFVRk5MRk5CUVZNc1EwRkJReXhwUWtGQmFVSXNSVUZCUlN4WlFVRlpMRVZCUVVVc1MwRkJTeXhEUVVGRExFTkJRVU03VVVGRE1VUXNRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkZSRHM3T3pzN096czdPenRQUVZWSE8wbEJRMGdzUzBGQlN5eERRVUZETEZsQlFWa3NRMEZEYUVJc1RVRkJZenRSUVVWa0xFbEJRVWtzUTBGQlF5eFpRVUZaTEVWQlFVVXNRMEZCUXp0UlFVTndRaXhKUVVGSkxFTkJRVU03V1VGRFNDeE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVVZ1UXl4VlFVRlZMR3RDUVVGclFpeERRVUZETEUxQlFVMHNRMEZCUXl4WFFVRlhMRU5CUVVNc1EwRkJRenRaUVVOd1JDeFBRVUZQTEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNc1MwRkJTeXhKUVVGSkxFVkJRVVVzUTBGQlF6dFJRVU51UXl4RFFVRkRPMUZCUVVNc1QwRkJUeXhMUVVGTExFVkJRVVVzUTBGQlF6dFpRVU5tTEUxQlFVMHNVMEZCVXl4RFFVRkRMR2xDUVVGcFFpeEZRVUZGTEdWQlFXVXNSVUZCUlN4TFFVRkxMRU5CUVVNc1EwRkJRenRSUVVNM1JDeERRVUZETzBsQlEwZ3NRMEZCUXp0RFFVTkdJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpTHlvcVhHNGdLaUJBYlc5a2RXeGxJR2x1ZEdWbmNtRjBhVzl1Y3k5amIyMXRjeTkwWldGdGN5OXpaWEoyYVdObFhHNGdLaUJBYzNWdGJXRnllU0JOYVdOeWIzTnZablFnVkdWaGJYTWdhVzUwWldkeVlYUnBiMjRnYzJWeWRtbGpaU0JtYjNJZ2QyVmlhRzl2YXlCaGJtUWdUV2xqY205emIyWjBJRWR5WVhCb0lHTm9ZVzV1Wld3Z2JXVnpjMkZuYVc1bkxseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlFVjRjRzl6WlhNZ2RIZHZJR1JsYkdsMlpYSjVJSEJoZEdoeklHRnpJR0Z1SUhWdVpHVmpiM0poZEdWa0lHTnNhV1Z1ZEMxaVlYTmxaRnh1SUNvZ2MyVnlkbWxqWlNCaWRXbHNkQ0J2YmlCN1FHeHBibXNnU0hSMGNFRndhVk5sY25acFkyVjlPaUJwYm1OdmJXbHVaeTEzWldKb2IyOXJYRzRnS2lCZ1RXVnpjMkZuWlVOaGNtUmdJR1JsYkdsMlpYSjVJQ2h1YnlCSGNtRndhQ0IwYjJ0bGJpQnlaWEYxYVhKbFpDa2dZVzVrSUUxcFkzSnZjMjltZENCSGNtRndhRnh1SUNvZ1kyaGhibTVsYkNCdFpYTnpZV2RwYm1jc0lIUmxZVzBnYkdsemRHbHVaeXdnWVc1a0lHTm9ZVzV1Wld3Z2JHbHpkR2x1WnlBb2NtVnhkV2x5WlhNZ1lTQkhjbUZ3YUZ4dUlDb2dZV05qWlhOeklIUnZhMlZ1S1M0Z1EyOXVabWxuZFhKaGRHbHZiaUJqYjIxbGN5Qm1jbTl0SUdGdUlHVjRjR3hwWTJsMElHQlVaV0Z0YzFObGNuWnBZMlZEYjI1bWFXZGdYRzRnS2lCdmNpQjBhR1VnWUdOdmJXMXpMblJsWVcxellDQmxiblpwY205dWJXVnVkQ0J6YkdsalpTd2dZVzVrSUdaaGFXeDFjbVZ6SUdGeVpTQnRZWEJ3WldRZ2RHOGdaR1ZqWVdaY2JpQXFJR1Z5Y205eWN5QjJhV0VnZTBCc2FXNXJJR2gwZEhCRmNuSnZjbjB1WEc0Z0tpOWNibWx0Y0c5eWRDQjdJRWx1ZEdWeWJtRnNSWEp5YjNJZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmlMV1JsWTI5eVlYUnZjbk5jSWp0Y2JtbHRjRzl5ZENCQmVHbHZjeUJtY205dElGd2lZWGhwYjNOY0lqdGNibWx0Y0c5eWRDQjdJRU52YlcxelJXNTJhWEp2Ym0xbGJuUWdmU0JtY205dElGd2lMaTR2Wlc1MmFYSnZibTFsYm5SY0lqdGNibWx0Y0c5eWRDQjdJR1Z1ZGs1MWJXSmxjaXdnWlc1MlUzUnlhVzVuSUgwZ1puSnZiU0JjSWk0dUx5NHVMM05vWVhKbFpDOWxiblpwY205dWJXVnVkRlpoYkhWbFhDSTdYRzVwYlhCdmNuUWdlMXh1SUNCSWRIUndRWEJwVTJWeWRtbGpaU3hjYmlBZ2RIbHdaU0JJZEhSd1FYQnBVMlZ5ZG1salpVTnZibVpwWnl4Y2JpQWdhSFIwY0VWeWNtOXlMRnh1ZlNCbWNtOXRJRndpTGk0dkxpNHZjMmhoY21Wa0wyaDBkSEJjSWp0Y2JseHVMeW9xWEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnUTI5dVptbG5kWEpoZEdsdmJpQm1iM0lnZEdobElGUmxZVzF6SUhObGNuWnBZMlZjYmlBcUlFQnpkVzF0WVhKNUlFVjRkR1Z1WkhNZ2UwQnNhVzVySUVoMGRIQkJjR2xUWlhKMmFXTmxRMjl1Wm1sbmZTQjNhWFJvSUhSb1pTQk5hV055YjNOdlpuUWdSM0poY0doY2JpQXFJR0ZqWTJWemN5QjBiMnRsYmlBb2NtVnhkV2x5WldRZ1ptOXlJR05vWVc1dVpXd2diV1Z6YzJGbmFXNW5JR0Z1WkNCc2FYTjBhVzVuY3l3Z2IzQjBhVzl1WVd3Z2QyaGxibHh1SUNvZ2IyNXNlU0IzWldKb2IyOXJjeUJoY21VZ2RYTmxaQ2tnWVc1a0lIUm9aU0JwYm1OdmJXbHVaeTEzWldKb2IyOXJJRlZTVEM0Z1YyaGxiaUJ2YldsMGRHVmtMQ0IwYUdWY2JpQXFJR0JqYjIxdGN5NTBaV0Z0YzJBZ1pXNTJhWEp2Ym0xbGJuUWdjMnhwWTJVZ2MzVndjR3hwWlhNZ1ltOTBhQ0FvWVc1a0lHOXdkR2x2Ym1Gc1hHNGdLaUJnWW1GelpWVnliR0F2WUhScGJXVnZkWFJnS1M1Y2JpQXFJRUJqWVhSbFoyOXllU0JEYjIxdGMxeHVJQ29nUUcxbGJXSmxjazltSUcxdlpIVnNaVHBwYm5SbFozSmhkR2x2Ym5NdlkyOXRiWE12ZEdWaGJYTXZjMlZ5ZG1salpWeHVJQ292WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUZSbFlXMXpVMlZ5ZG1salpVTnZibVpwWnlCbGVIUmxibVJ6SUVoMGRIQkJjR2xUWlhKMmFXTmxRMjl1Wm1sbklIdGNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQk5hV055YjNOdlpuUWdSM0poY0dnZ1lXTmpaWE56SUhSdmEyVnVYRzRnSUNBcUlFQnpkVzF0WVhKNUlGTmxiblFnWVhNZ1lFRjFkR2h2Y21sNllYUnBiMjQ2SUVKbFlYSmxjaUE4ZEc5clpXNCtZQ0JtYjNJZ1IzSmhjR2dnY21WeGRXVnpkSE11WEc0Z0lDQXFMMXh1SUNCMGIydGxiajg2SUhOMGNtbHVaenRjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJKYm1OdmJXbHVaeUIzWldKb2IyOXJJRlZTVENCbWIzSWdZSE5sYm1SWFpXSm9iMjlyWUZ4dUlDQWdLaUJBYzNWdGJXRnllU0JVZVhCcFkyRnNiSGtnWVc0Z1QyWm1hV05sSURNMk5TQmpiMjV1WldOMGIzSWdWVkpNT3lCeVpYRjFhWEpsWkNCdmJteDVJR1p2Y2lCM1pXSm9iMjlySUdSbGJHbDJaWEo1TGx4dUlDQWdLaTljYmlBZ2QyVmlhRzl2YTFWeWJEODZJSE4wY21sdVp6dGNibjFjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdTVzV3ZFhRZ1ptOXlJRlJsWVcxeklHbHVZMjl0YVc1bkxYZGxZbWh2YjJzZ1pHVnNhWFpsY25sY2JpQXFJRUJ6ZFcxdFlYSjVJRU5oY25KcFpYTWdkR2hsSUhCc1lXbHVMWFJsZUhRZ1lIUmxlSFJnTENCaGJpQnZjSFJwYjI1aGJDQmpZWEprSUdCMGFYUnNaV0FzSUdGdVpGeHVJQ29nZDJobGRHaGxjaUIwYUdVZ2RHVjRkQ0JwY3lCeVpXNWtaWEpsWkNCaGN5QnRZWEpyWkc5M2JpQW9aR1ZtWVhWc2RDQmdkSEoxWldBcExpQkVaV3hwZG1WeVpXUWdZWE1nWVc1Y2JpQXFJRTltWm1salpTQXpOalVnWUUxbGMzTmhaMlZEWVhKa1lDQjBieUIwYUdVZ1kyOXVabWxuZFhKbFpDQjNaV0pvYjI5cklGVlNUQzVjYmlBcUlFQmpZWFJsWjI5eWVTQkRiMjF0YzF4dUlDb2dRRzFsYldKbGNrOW1JRzF2WkhWc1pUcHBiblJsWjNKaGRHbHZibk12WTI5dGJYTXZkR1ZoYlhNdmMyVnlkbWxqWlZ4dUlDb3ZYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRlJsWVcxelYyVmlhRzl2YTAxbGMzTmhaMlVnZTF4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUUxbGMzTmhaMlVnWW05a2VTQjBaWGgwWEc0Z0lDQXFMMXh1SUNCMFpYaDBPaUJ6ZEhKcGJtYzdYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdUM0IwYVc5dVlXd2dZMkZ5WkNCMGFYUnNaVnh1SUNBZ0tpOWNiaUFnZEdsMGJHVS9PaUJ6ZEhKcGJtYzdYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdWMmhsZEdobGNpQmdkR1Y0ZEdBZ2FYTWdjbVZ1WkdWeVpXUWdZWE1nYldGeWEyUnZkMjQ3SUdSbFptRjFiSFJ6SUhSdklHQjBjblZsWUZ4dUlDQWdLaTljYmlBZ2JXRnlhMlJ2ZDI0L09pQmliMjlzWldGdU8xeHVmVnh1WEc0dktpcGNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQkpibkIxZENCbWIzSWdjMlZ1WkdsdVp5QmhJRzFsYzNOaFoyVWdhVzUwYnlCaElGUmxZVzF6SUdOb1lXNXVaV3dnZG1saElFMXBZM0p2YzI5bWRDQkhjbUZ3YUZ4dUlDb2dRSE4xYlcxaGNua2dRMkZ5Y21sbGN5QjBhR1VnZEdGeVoyVjBJR0IwWldGdFNXUmdJR0Z1WkNCZ1kyaGhibTVsYkVsa1lDd2dkR2hsSUcxbGMzTmhaMlZjYmlBcUlHQmpiMjUwWlc1MFlDd2dZVzVrSUdsMGN5QmpiMjUwWlc1MElIUjVjR1VnS0dCMFpYaDBZQ0JpZVNCa1pXWmhkV3gwTENCdmNpQmdhSFJ0YkdBcExseHVJQ29nUUdOaGRHVm5iM0o1SUVOdmJXMXpYRzRnS2lCQWJXVnRZbVZ5VDJZZ2JXOWtkV3hsT21sdWRHVm5jbUYwYVc5dWN5OWpiMjF0Y3k5MFpXRnRjeTl6WlhKMmFXTmxYRzRnS2k5Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1ZHVmhiWE5EYUdGdWJtVnNUV1Z6YzJGblpTQjdYRzRnSUhSbFlXMUpaRG9nYzNSeWFXNW5PMXh1SUNCamFHRnVibVZzU1dRNklITjBjbWx1Wnp0Y2JpQWdZMjl1ZEdWdWREb2djM1J5YVc1bk8xeHVJQ0JqYjI1MFpXNTBWSGx3WlQ4NklGd2lkR1Y0ZEZ3aUlId2dYQ0pvZEcxc1hDSTdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FHUmxjMk55YVhCMGFXOXVJRTFwWTNKdmMyOW1kQ0JVWldGdGN5QnBiblJsWjNKaGRHbHZiaUJ6WlhKMmFXTmxYRzRnS2lCQWMzVnRiV0Z5ZVNCQmJpQjFibVJsWTI5eVlYUmxaQ0JJVkZSUUlITmxjblpwWTJVZ1kyOXRZbWx1YVc1bklHbHVZMjl0YVc1bkxYZGxZbWh2YjJ0Y2JpQXFJR1JsYkdsMlpYSjVJQ2h1WldWa2N5QnZibXg1SUdCM1pXSm9iMjlyVlhKc1lDa2dkMmwwYUNCTmFXTnliM052Wm5RZ1IzSmhjR2dnYjNCbGNtRjBhVzl1Y3lEaWdKUWdZMmhoYm01bGJGeHVJQ29nYldWemMyRm5hVzVuTENCMFpXRnRJR3hwYzNScGJtY3NJR0Z1WkNCamFHRnVibVZzSUd4cGMzUnBibWNnS0c1bFpXUWdZU0JIY21Gd2FDQmdkRzlyWlc1Z0tTNWNiaUFxSUZkbFltaHZiMnNnWkdWc2FYWmxjbmtnY0c5emRITWdZVzRnVDJabWFXTmxJRE0yTlNCZ1RXVnpjMkZuWlVOaGNtUmdJR1JwY21WamRHeDVJSFJ2SUhSb1pWeHVJQ29nWTI5dVptbG5kWEpsWkNCVlVrdzdJRWR5WVhCb0lHOXdaWEpoZEdsdmJuTWdaMjhnZEdoeWIzVm5hQ0IwYUdVZ2MyVnlkbWxqWlNCamJHbGxiblFnZDJsMGFDQmlaV0Z5WlhKY2JpQXFJR0YxZEdnc0lISmxjWFZwY21VZ1lTQjBiMnRsYmlBb1lISmxjWFZwY21WVWIydGxiaWdwWUNrc0lHRnVaQ0J0WVhBZ2RISmhibk53YjNKMElHWmhhV3gxY21WeklIUnZYRzRnS2lCa1pXTmhaaUJsY25KdmNuTWdkbWxoSUh0QWJHbHVheUJvZEhSd1JYSnliM0o5TGx4dUlDb2dRR05zWVhOeklGUmxZVzF6VTJWeWRtbGpaVnh1SUNvZ1FHTmhkR1ZuYjNKNUlFTnZiVzF6WEc0Z0tpQkFaWGhoYlhCc1pWeHVJQ29nWUdCZ2RITmNiaUFxSUdsdGNHOXlkQ0I3SUZSbFlXMXpVMlZ5ZG1salpTQjlJR1p5YjIwZ1hDSkFaR1ZqWVdZdGRITXZhVzUwWldkeVlYUnBiMjV6TDJOdmJXMXpMM1JsWVcxelhDSTdYRzRnS2x4dUlDb2dZMjl1YzNRZ2RHVmhiWE1nUFNCdVpYY2dWR1ZoYlhOVFpYSjJhV05sS0NrN1hHNGdLaUJoZDJGcGRDQjBaV0Z0Y3k1cGJtbDBhV0ZzYVhwbEtIdGNiaUFxSUNBZ2QyVmlhRzl2YTFWeWJEb2djSEp2WTJWemN5NWxibll1UjFKQlVFaGZRMUpGUkVWT1ZFbEJURjlVUlVGTlUxOVhSVUpJVDA5TFgxVlNUQ3hjYmlBcUlDQWdkRzlyWlc0NklIQnliMk5sYzNNdVpXNTJMa2RTUVZCSVgwTlNSVVJGVGxSSlFVeGZWRVZCVFZOZlZFOUxSVTRzWEc0Z0tpQjlLVHRjYmlBcUlHRjNZV2wwSUhSbFlXMXpMbk5sYm1SWFpXSm9iMjlyS0hzZ2RHbDBiR1U2SUZ3aVJHVndiRzk1WENJc0lIUmxlSFE2SUZ3aVVtVnNaV0Z6WlNBeExqSXVNQ0JwY3lCc2FYWmxYQ0lnZlNrN1hHNGdLaUJnWUdCY2JpQXFJRUJ0WlcxaVpYSlBaaUJ0YjJSMWJHVTZhVzUwWldkeVlYUnBiMjV6TDJOdmJXMXpMM1JsWVcxekwzTmxjblpwWTJWY2JpQXFMMXh1Wlhod2IzSjBJR05zWVhOeklGUmxZVzF6VTJWeWRtbGpaU0JsZUhSbGJtUnpJRWgwZEhCQmNHbFRaWEoyYVdObFBGUmxZVzF6VTJWeWRtbGpaVU52Ym1acFp6NGdlMXh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRlJvWlNCd2NtOTJhV1JsY2lCdVlXMWxJSFZ6WldRZ2FXNGdaWEp5YjNJZ2JXVnpjMkZuWlhOY2JpQWdJQ292WEc0Z0lIQnliM1JsWTNSbFpDQnlaV0ZrYjI1c2VTQnpaWEoyYVdObFRtRnRaU0E5SUZ3aVRXbGpjbTl6YjJaMElGUmxZVzF6WENJN1hHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQlVhR1VnVFdsamNtOXpiMlowSUVkeVlYQm9JSFl4TGpBZ1ltRnpaU0JWVWt4Y2JpQWdJQ29nUUhOMWJXMWhjbmtnVlhObFpDQjNhR1Z1SUhSb1pTQnlaWE52YkhabFpDQmpiMjVtYVdjZ1kyRnljbWxsY3lCdWJ5QmdZbUZ6WlZWeWJHQXVYRzRnSUNBcUlFQnlaWFIxY201eklIdHpkSEpwYm1kOUlHQmNJbWgwZEhCek9pOHZaM0poY0dndWJXbGpjbTl6YjJaMExtTnZiUzkyTVM0d1hDSmdMbHh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUdSbFptRjFiSFJDWVhObFZYSnNLQ2s2SUhOMGNtbHVaeUI3WEc0Z0lDQWdjbVYwZFhKdUlGd2lhSFIwY0hNNkx5OW5jbUZ3YUM1dGFXTnliM052Wm5RdVkyOXRMM1l4TGpCY0lqdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1FuVnBiR1J6SUhSb1pTQk5hV055YjNOdlpuUWdSM0poY0dnZ1ltVmhjbVZ5SUdGMWRHaHZjbWw2WVhScGIyNGdhR1ZoWkdWeWMxeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCU1pYUjFjbTV6SUhSb1pTQmdRWFYwYUc5eWFYcGhkR2x2YmpvZ1FtVmhjbVZ5SUR4MGIydGxiajVnSUdobFlXUmxjaUIzYUdWdUlIUm9aVnh1SUNBZ0tpQmpiMjVtYVdjZ1kyRnljbWxsY3lCaElIUnZhMlZ1TENCaGJtUWdibThnYUdWaFpHVnljeUJ2ZEdobGNuZHBjMlV1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdWR1ZoYlhOVFpYSjJhV05sUTI5dVptbG5mU0JqYjI1bWFXY2dMU0JVYUdVZ2NtVnpiMngyWldRZ2MyVnlkbWxqWlNCamIyNW1hV2QxY21GMGFXOXVMbHh1SUNBZ0tpQkFjbVYwZFhKdWN5QjdVbVZqYjNKa1BITjBjbWx1Wnl3Z2MzUnlhVzVuUG4wZ1ZHaGxJR0YxZEdodmNtbDZZWFJwYjI0Z2FHVmhaR1Z5Y3lBb1pXMXdkSGtnZDJsMGFHOTFkQ0JoSUhSdmEyVnVLUzVjYmlBZ0lDb3ZYRzRnSUhCeWIzUmxZM1JsWkNCaGRYUm9TR1ZoWkdWeWN5aGpiMjVtYVdjNklGUmxZVzF6VTJWeWRtbGpaVU52Ym1acFp5azZJRkpsWTI5eVpEeHpkSEpwYm1jc0lITjBjbWx1Wno0Z2UxeHVJQ0FnSUhKbGRIVnliaUJqYjI1bWFXY3VkRzlyWlc0Z1B5QjdJRUYxZEdodmNtbDZZWFJwYjI0NklHQkNaV0Z5WlhJZ0pIdGpiMjVtYVdjdWRHOXJaVzU5WUNCOUlEb2dlMzA3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRkpsWVdSeklIUm9aU0JVWldGdGN5QmpjbVZrWlc1MGFXRnNjeUJoYm1RZ1pHVm1ZWFZzZEhNZ1puSnZiU0IwYUdVZ1pXNTJhWEp2Ym0xbGJuUmNiaUFnSUNvZ1FITjFiVzFoY25rZ1VtVmhaSE1nZEdobElHQmpiMjF0Y3k1MFpXRnRjMkFnWlc1MmFYSnZibTFsYm5RZ2MyeHBZMlVnWVc1a0lISmxkSFZ5Ym5NZ1lTQndZWEowYVdGc1hHNGdJQ0FxSUdOdmJtWnBaeUIzYUdWdUlHRWdSM0poY0dnZ2RHOXJaVzRnYjNJZ2QyVmlhRzl2YXlCVlVrd2dhWE1nWTI5dVptbG5kWEpsWkN3Z1lIVnVaR1ZtYVc1bFpHQmNiaUFnSUNvZ2IzUm9aWEozYVhObExpQldZV3gxWlhNZ2NHRnpjeUIwYUhKdmRXZG9JR0JsYm5aVGRISnBibWRnTDJCbGJuWk9kVzFpWlhKZ0lIUnZJSEpsYW1WamRGeHVJQ0FnS2lCMWJuTmxkQzFzWldGbUlIQnliM2hwWlhNdVhHNGdJQ0FxSUVCeVpYUjFjbTV6SUh0UVlYSjBhV0ZzUEZSbFlXMXpVMlZ5ZG1salpVTnZibVpwWno0Z2ZDQjFibVJsWm1sdVpXUjlJRUVnY0dGeWRHbGhiQ0JqYjI1bWFXY3NJRzl5SUdCMWJtUmxabWx1WldSZ0lIZG9aVzRnYm1WcGRHaGxjaUIwYjJ0bGJpQnViM0lnZDJWaWFHOXZheUJWVWt3Z2FYTWdZMjl1Wm1sbmRYSmxaQzVjYmlBZ0lDb3ZYRzRnSUhCeWIzUmxZM1JsWkNCamIyNW1hV2RHY205dFJXNTJhWEp2Ym0xbGJuUW9LVG9nVUdGeWRHbGhiRHhVWldGdGMxTmxjblpwWTJWRGIyNW1hV2MrSUh3Z2RXNWtaV1pwYm1Wa0lIdGNiaUFnSUNCamIyNXpkQ0JsYm5ZZ1BTQkRiMjF0YzBWdWRtbHliMjV0Wlc1MExtTnZiVzF6TG5SbFlXMXpPMXh1SUNBZ0lHTnZibk4wSUhSdmEyVnVJRDBnWlc1MlUzUnlhVzVuS0dWdWRqOHVkRzlyWlc0cE8xeHVJQ0FnSUdOdmJuTjBJSGRsWW1odmIydFZjbXdnUFNCbGJuWlRkSEpwYm1jb1pXNTJQeTUzWldKb2IyOXJWWEpzS1R0Y2JpQWdJQ0JwWmlBb0lYUnZhMlZ1SUNZbUlDRjNaV0pvYjI5clZYSnNLU0J5WlhSMWNtNGdkVzVrWldacGJtVmtPMXh1SUNBZ0lISmxkSFZ5YmlCN1hHNGdJQ0FnSUNCMGIydGxiaXhjYmlBZ0lDQWdJSGRsWW1odmIydFZjbXdzWEc0Z0lDQWdJQ0JpWVhObFZYSnNPaUJsYm5aVGRISnBibWNvWlc1MlB5NWlZWE5sVlhKc0tTeGNiaUFnSUNBZ0lIUnBiV1Z2ZFhRNklHVnVkazUxYldKbGNpaGxiblkvTG5ScGJXVnZkWFFwTEZ4dUlDQWdJSDA3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRVJsYkdsMlpYSnpJR0VnVFdWemMyRm5aVU5oY21RZ2RHaHliM1ZuYUNCMGFHVWdZMjl1Wm1sbmRYSmxaQ0JwYm1OdmJXbHVaeUIzWldKb2IyOXJYRzRnSUNBcUlFQnpkVzF0WVhKNUlGQnZjM1J6SUdGdUlFOW1abWxqWlNBek5qVWdZRTFsYzNOaFoyVkRZWEprWUNBb1lFQjBlWEJsT2lCY0lrMWxjM05oWjJWRFlYSmtYQ0pnS1NCM2FYUm9YRzRnSUNBcUlIUm9aU0IwYVhSc1pTd2dkR1Y0ZEN3Z1lXNWtJRzFoY210a2IzZHVJR1pzWVdjZ1pHbHlaV04wYkhrZ2RHOGdZR052Ym1acFp5NTNaV0pvYjI5clZYSnNZQ0IxYzJsdVoxeHVJQ0FnS2lCaElITjBZVzVrWVd4dmJtVWdRWGhwYjNNZ1kyRnNiQ0FvYm04Z1IzSmhjR2dnZEc5clpXNGdhVzUyYjJ4MlpXUXBMaUJTWlhGMWFYSmxjeUJoSUdOdmJtWnBaM1Z5WldSY2JpQWdJQ29nZDJWaWFHOXZheUJWVWt3dVhHNGdJQ0FxSUVCd1lYSmhiU0I3VkdWaGJYTlhaV0pvYjI5clRXVnpjMkZuWlgwZ2FXNXdkWFFnTFNCVWFHVWdZMkZ5WkNCMGFYUnNaU3dnZEdWNGRDd2dZVzVrSUcxaGNtdGtiM2R1SUdac1lXY3VYRzRnSUNBcUlFQnlaWFIxY201eklIdFFjbTl0YVhObFBIVnVhMjV2ZDI0K2ZTQlVhR1VnY21GM0lIZGxZbWh2YjJzZ2NtVnpjRzl1YzJVZ2NHRjViRzloWkM1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3U1c1MFpYSnVZV3hGY25KdmNuMGdWMmhsYmlCdWJ5QjNaV0pvYjI5cklGVlNUQ0JwY3lCamIyNW1hV2QxY21Wa0xseHVJQ0FnS2lCQWRHaHliM2R6SUh0T2IzUkdiM1Z1WkVWeWNtOXlmU0JYYUdWdUlIUm9aU0IzWldKb2IyOXJJR1Z1WkhCdmFXNTBJR0Z1YzNkbGNuTWdkMmwwYUNCSVZGUlFJRFF3TkM1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3UTI5dVpteHBZM1JGY25KdmNuMGdWMmhsYmlCMGFHVWdkMlZpYUc5dmF5QmxibVJ3YjJsdWRDQmhibk4zWlhKeklIZHBkR2dnU0ZSVVVDQTBNRGt1WEc0Z0lDQXFJRUIwYUhKdmQzTWdlMEpoWkZKbGNYVmxjM1JGY25KdmNuMGdWMmhsYmlCMGFHVWdkMlZpYUc5dmF5QmxibVJ3YjJsdWRDQmhibk4zWlhKeklIZHBkR2dnWVc1NUlHOTBhR1Z5SUVoVVZGQWdaWEp5YjNJZ2MzUmhkSFZ6TGx4dUlDQWdLaTljYmlBZ1lYTjVibU1nYzJWdVpGZGxZbWh2YjJzb2FXNXdkWFE2SUZSbFlXMXpWMlZpYUc5dmEwMWxjM05oWjJVcE9pQlFjbTl0YVhObFBIVnVhMjV2ZDI0K0lIdGNiaUFnSUNCamIyNXpkQ0IzWldKb2IyOXJWWEpzSUQwZ2RHaHBjeTVqYjI1bWFXY3VkMlZpYUc5dmExVnliRHRjYmlBZ0lDQnBaaUFvSVhkbFltaHZiMnRWY213cElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z3aVRXbGpjbTl6YjJaMElGUmxZVzF6SUhKbGNYVnBjbVZ6SUdFZ2QyVmlhRzl2YXlCVlVreGNJaWs3WEc0Z0lDQWdmVnh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnlaWE53YjI1elpTQTlJR0YzWVdsMElFRjRhVzl6TG5CdmMzUW9YRzRnSUNBZ0lDQWdJSGRsWW1odmIydFZjbXdzWEc0Z0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQmNJa0IwZVhCbFhDSTZJRndpVFdWemMyRm5aVU5oY21SY0lpeGNiaUFnSUNBZ0lDQWdJQ0JjSWtCamIyNTBaWGgwWENJNklGd2lhSFIwY0hNNkx5OXpZMmhsYldFdWIzSm5MMlY0ZEdWdWMybHZibk5jSWl4Y2JpQWdJQ0FnSUNBZ0lDQnpkVzF0WVhKNU9pQnBibkIxZEM1MGFYUnNaU0EvUHlCcGJuQjFkQzUwWlhoMExGeHVJQ0FnSUNBZ0lDQWdJSFJwZEd4bE9pQnBibkIxZEM1MGFYUnNaU3hjYmlBZ0lDQWdJQ0FnSUNCMFpYaDBPaUJwYm5CMWRDNTBaWGgwTEZ4dUlDQWdJQ0FnSUNBZ0lHMWhjbXRrYjNkdU9pQnBibkIxZEM1dFlYSnJaRzkzYmlBL1B5QjBjblZsTEZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0lDQjdJSFJwYldWdmRYUTZJSFJvYVhNdVkyOXVabWxuTG5ScGJXVnZkWFFnUHo4Z016QXdNREFnZlZ4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUhKbGRIVnliaUJ5WlhOd2IyNXpaUzVrWVhSaE8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5Qm9kSFJ3UlhKeWIzSW9YQ0pOYVdOeWIzTnZablFnVkdWaGJYTmNJaXdnWENKM1pXSm9iMjlySUdSbGJHbDJaWEo1WENJc0lHVnljbTl5S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRk5sYm1SeklHRWdiV1Z6YzJGblpTQnBiblJ2SUdFZ1ZHVmhiWE1nWTJoaGJtNWxiQ0IwYUhKdmRXZG9JRTFwWTNKdmMyOW1kQ0JIY21Gd2FGeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCZ1VFOVRWR0J6SUdFZ1kyaGhkQ0J0WlhOellXZGxJSFJ2WEc0Z0lDQXFJR0F2ZEdWaGJYTXZQSFJsWVcxSlpENHZZMmhoYm01bGJITXZQR05vWVc1dVpXeEpaRDR2YldWemMyRm5aWE5nSUhkcGRHZ2dkR2hsSUdkcGRtVnVJR052Ym5SbGJuUmNiaUFnSUNvZ2RIbHdaU0FvWUhSbGVIUmdJR0o1SUdSbFptRjFiSFFzSUc5eUlHQm9kRzFzWUNrdUlGSmxjWFZwY21WeklHRWdSM0poY0dnZ2RHOXJaVzRnWVc1a0lHSnZkR2dnWVZ4dUlDQWdLaUIwWldGdElHRnVaQ0JqYUdGdWJtVnNJRWxFT3lCSlJITWdZWEpsSUZWU1RDMWxibU52WkdWa0xseHVJQ0FnS2lCQWNHRnlZVzBnZTFSbFlXMXpRMmhoYm01bGJFMWxjM05oWjJWOUlHbHVjSFYwSUMwZ1ZHaGxJSFJoY21kbGRDQjBaV0Z0TDJOb1lXNXVaV3dnWVc1a0lIUm9aU0J0WlhOellXZGxJR052Ym5SbGJuUXVYRzRnSUNBcUlFQnlaWFIxY201eklIdFFjbTl0YVhObFBIVnVhMjV2ZDI0K2ZTQlVhR1VnY21GM0lFZHlZWEJvSUcxbGMzTmhaMlVnY0dGNWJHOWhaQzVjYmlBZ0lDb2dRSFJvY205M2N5QjdTVzUwWlhKdVlXeEZjbkp2Y24wZ1YyaGxiaUJ1YnlCMGIydGxiaUJwY3lCamIyNW1hV2QxY21Wa0lHOXlJSFJvWlNCMFpXRnRMMk5vWVc1dVpXd2dTVVJ6SUdGeVpTQnRhWE56YVc1bkxseHVJQ0FnS2lCQWRHaHliM2R6SUh0T2IzUkdiM1Z1WkVWeWNtOXlmU0JYYUdWdUlIUm9aU0IwWldGdElHOXlJR05vWVc1dVpXd2daRzlsY3lCdWIzUWdaWGhwYzNRZ0tFaFVWRkFnTkRBMEtTNWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1EyOXVabXhwWTNSRmNuSnZjbjBnVjJobGJpQkhjbUZ3YUNCaGJuTjNaWEp6SUhkcGRHZ2dTRlJVVUNBME1Ea3VYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwSmhaRkpsY1hWbGMzUkZjbkp2Y24wZ1YyaGxiaUJIY21Gd2FDQmhibk4zWlhKeklIZHBkR2dnWVc1NUlHOTBhR1Z5SUVoVVZGQWdaWEp5YjNJZ2MzUmhkSFZ6TGx4dUlDQWdLaUJBWlhoaGJYQnNaVnh1SUNBZ0tpQmdZR0IwYzF4dUlDQWdLaUJoZDJGcGRDQjBaV0Z0Y3k1elpXNWtRMmhoYm01bGJFMWxjM05oWjJVb2UxeHVJQ0FnS2lBZ0lIUmxZVzFKWkRvZ1hDSjBaV0Z0TFdsa1hDSXNYRzRnSUNBcUlDQWdZMmhoYm01bGJFbGtPaUJjSW1Ob1lXNXVaV3d0YVdSY0lpeGNiaUFnSUNvZ0lDQmpiMjUwWlc1ME9pQmNJanhpUGxKbGJHVmhjMlU4TDJJK0lERXVNaTR3SUdseklHeHBkbVZjSWl4Y2JpQWdJQ29nSUNCamIyNTBaVzUwVkhsd1pUb2dYQ0pvZEcxc1hDSXNYRzRnSUNBcUlIMHBPMXh1SUNBZ0tpQmdZR0JjYmlBZ0lDb3ZYRzRnSUdGemVXNWpJSE5sYm1SRGFHRnVibVZzVFdWemMyRm5aU2hwYm5CMWREb2dWR1ZoYlhORGFHRnVibVZzVFdWemMyRm5aU2s2SUZCeWIyMXBjMlU4ZFc1cmJtOTNiajRnZTF4dUlDQWdJSFJvYVhNdWNtVnhkV2x5WlZSdmEyVnVLQ2s3WEc0Z0lDQWdhV1lnS0NGcGJuQjFkQzUwWldGdFNXUWdmSHdnSVdsdWNIVjBMbU5vWVc1dVpXeEpaQ2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YRzRnSUNBZ0lDQWdJRndpVFdsamNtOXpiMlowSUZSbFlXMXpJR05vWVc1dVpXd2diV1Z6YzJGblpYTWdjbVZ4ZFdseVpTQmhJSFJsWVcwZ1lXNWtJR05vWVc1dVpXeGNJbHh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR052Ym5OMElISmxjM0J2Ym5ObElEMGdZWGRoYVhRZ2RHaHBjeTVqYkdsbGJuUXVjRzl6ZENoY2JpQWdJQ0FnSUNBZ1lDOTBaV0Z0Y3k4a2UyVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDaHBibkIxZEM1MFpXRnRTV1FwZlM5amFHRnVibVZzY3k4a2UyVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDaGNiaUFnSUNBZ0lDQWdJQ0JwYm5CMWRDNWphR0Z1Ym1Wc1NXUmNiaUFnSUNBZ0lDQWdLWDB2YldWemMyRm5aWE5nTEZ4dUlDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdZbTlrZVRvZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWRHVnVkRlI1Y0dVNklHbHVjSFYwTG1OdmJuUmxiblJVZVhCbElEOC9JRndpZEdWNGRGd2lMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1kyOXVkR1Z1ZERvZ2FXNXdkWFF1WTI5dWRHVnVkQ3hjYmlBZ0lDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ0lDQjlYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxjM0J2Ym5ObExtUmhkR0U3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUdoMGRIQkZjbkp2Y2loY0lrMXBZM0p2YzI5bWRDQlVaV0Z0YzF3aUxDQmNJbU5vWVc1dVpXd2diV1Z6YzJGblpWd2lMQ0JsY25KdmNpazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCTWFYTjBjeUJVWldGdGN5QmhZMk5sYzNOcFlteGxJSFJ2SUhSb1pTQmhkWFJvWlc1MGFXTmhkR1ZrSUdsa1pXNTBhWFI1WEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJR0JIUlZSZ2N5QmdMM1JsWVcxellDQjNhWFJvSUdFZ1lDUjBiM0JnSUhCaFoyVWdjMmw2WlNBb1pHVm1ZWFZzZENCZ05UQmdLU0JoYm1SY2JpQWdJQ29nY21WMGRYSnVjeUIwYUdVZ2NtRjNJRWR5WVhCb0lHQjBaV0Z0WUNCd1lYbHNiMkZrY3k1Y2JpQWdJQ29nUUhCaGNtRnRJSHR1ZFcxaVpYSjlJRnRzYVcxcGRGMGdMU0JOWVhocGJYVnRJRzUxYldKbGNpQnZaaUIwWldGdGN5QjBieUJ5WlhSMWNtNDdJR1JsWm1GMWJIUnpJSFJ2SUdBMU1HQXVYRzRnSUNBcUlFQnlaWFIxY201eklIdFFjbTl0YVhObFBFRnljbUY1UEZKbFkyOXlaRHh6ZEhKcGJtY3NJSFZ1YTI1dmQyNCtQajU5SUZSb1pTQnlZWGNnUjNKaGNHZ2dZSFJsWVcxZ0lIQmhlV3h2WVdSekxseHVJQ0FnS2lCQWRHaHliM2R6SUh0SmJuUmxjbTVoYkVWeWNtOXlmU0JYYUdWdUlHNXZJSFJ2YTJWdUlHbHpJR052Ym1acFozVnlaV1F1WEc0Z0lDQXFJRUIwYUhKdmQzTWdlMDV2ZEVadmRXNWtSWEp5YjNKOUlGZG9aVzRnUjNKaGNHZ2dZVzV6ZDJWeWN5QjNhWFJvSUVoVVZGQWdOREEwTGx4dUlDQWdLaUJBZEdoeWIzZHpJSHREYjI1bWJHbGpkRVZ5Y205eWZTQlhhR1Z1SUVkeVlYQm9JR0Z1YzNkbGNuTWdkMmwwYUNCSVZGUlFJRFF3T1M1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3UW1Ga1VtVnhkV1Z6ZEVWeWNtOXlmU0JYYUdWdUlFZHlZWEJvSUdGdWMzZGxjbk1nZDJsMGFDQmhibmtnYjNSb1pYSWdTRlJVVUNCbGNuSnZjaUJ6ZEdGMGRYTXVYRzRnSUNBcUwxeHVJQ0JoYzNsdVl5QnNhWE4wVkdWaGJYTW9YRzRnSUNBZ2JHbHRhWFFnUFNBMU1GeHVJQ0FwT2lCUWNtOXRhWE5sUEVGeWNtRjVQRkpsWTI5eVpEeHpkSEpwYm1jc0lIVnVhMjV2ZDI0K1BqNGdlMXh1SUNBZ0lIUm9hWE11Y21WeGRXbHlaVlJ2YTJWdUtDazdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJR052Ym5OMElISmxjM0J2Ym5ObElEMGdZWGRoYVhRZ2RHaHBjeTVqYkdsbGJuUXVaMlYwUEh0Y2JpQWdJQ0FnSUNBZ2RtRnNkV1UvT2lCQmNuSmhlVHhTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBqNDdYRzRnSUNBZ0lDQjlQaWhjSWk5MFpXRnRjMXdpTENCN0lIQmhjbUZ0Y3pvZ2V5QWtkRzl3T2lCc2FXMXBkQ0I5SUgwcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzQnZibk5sTG1SaGRHRXVkbUZzZFdVZ1B6OGdXMTA3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUdoMGRIQkZjbkp2Y2loY0lrMXBZM0p2YzI5bWRDQlVaV0Z0YzF3aUxDQmNJbXhwYzNRZ2RHVmhiWE5jSWl3Z1pYSnliM0lwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdUR2x6ZEhNZ1kyaGhibTVsYkhNZ2IyWWdZU0JVWldGdGN5QjBaV0Z0WEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJR0JIUlZSZ2N5QmdMM1JsWVcxekx6eDBaV0Z0U1dRK0wyTm9ZVzV1Wld4ellDQmhibVFnY21WMGRYSnVjeUIwYUdVZ2NtRjNJRWR5WVhCb1hHNGdJQ0FxSUdCamFHRnVibVZzWUNCd1lYbHNiMkZrY3pzZ2RHaGxJSFJsWVcwZ1NVUWdhWE1nVlZKTUxXVnVZMjlrWldRdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YzNSeWFXNW5mU0IwWldGdFNXUWdMU0JVYUdVZ1NVUWdiMllnZEdobElIUmxZVzBnZDJodmMyVWdZMmhoYm01bGJITWdZWEpsSUd4cGMzUmxaQzVjYmlBZ0lDb2dRSEpsZEhWeWJuTWdlMUJ5YjIxcGMyVThRWEp5WVhrOFVtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQrUG4wZ1ZHaGxJSEpoZHlCSGNtRndhQ0JnWTJoaGJtNWxiR0FnY0dGNWJHOWhaSE11WEc0Z0lDQXFJRUIwYUhKdmQzTWdlMGx1ZEdWeWJtRnNSWEp5YjNKOUlGZG9aVzRnYm04Z2RHOXJaVzRnYVhNZ1kyOXVabWxuZFhKbFpDNWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1RtOTBSbTkxYm1SRmNuSnZjbjBnVjJobGJpQjBhR1VnZEdWaGJTQmtiMlZ6SUc1dmRDQmxlR2x6ZENBb1NGUlVVQ0EwTURRcExseHVJQ0FnS2lCQWRHaHliM2R6SUh0RGIyNW1iR2xqZEVWeWNtOXlmU0JYYUdWdUlFZHlZWEJvSUdGdWMzZGxjbk1nZDJsMGFDQklWRlJRSURRd09TNWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1FtRmtVbVZ4ZFdWemRFVnljbTl5ZlNCWGFHVnVJRWR5WVhCb0lHRnVjM2RsY25NZ2QybDBhQ0JoYm5rZ2IzUm9aWElnU0ZSVVVDQmxjbkp2Y2lCemRHRjBkWE11WEc0Z0lDQXFMMXh1SUNCaGMzbHVZeUJzYVhOMFEyaGhibTVsYkhNb1hHNGdJQ0FnZEdWaGJVbGtPaUJ6ZEhKcGJtZGNiaUFnS1RvZ1VISnZiV2x6WlR4QmNuSmhlVHhTWldOdmNtUThjM1J5YVc1bkxDQjFibXR1YjNkdVBqNCtJSHRjYmlBZ0lDQjBhR2x6TG5KbGNYVnBjbVZVYjJ0bGJpZ3BPMXh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnlaWE53YjI1elpTQTlJR0YzWVdsMElIUm9hWE11WTJ4cFpXNTBMbWRsZER4N1hHNGdJQ0FnSUNBZ0lIWmhiSFZsUHpvZ1FYSnlZWGs4VW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNCtPMXh1SUNBZ0lDQWdmVDRvWUM5MFpXRnRjeThrZTJWdVkyOWtaVlZTU1VOdmJYQnZibVZ1ZENoMFpXRnRTV1FwZlM5amFHRnVibVZzYzJBcE8xeHVJQ0FnSUNBZ2NtVjBkWEp1SUhKbGMzQnZibk5sTG1SaGRHRXVkbUZzZFdVZ1B6OGdXMTA3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUdoMGRIQkZjbkp2Y2loY0lrMXBZM0p2YzI5bWRDQlVaV0Z0YzF3aUxDQmNJbXhwYzNRZ1kyaGhibTVsYkhOY0lpd2daWEp5YjNJcE8xeHVJQ0FnSUgxY2JpQWdmVnh1ZlZ4dUlsMTkiXX0=
|
|
@@ -20,5 +20,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
20
20
|
* @description Re-exports the Teams client-based service and its types.
|
|
21
21
|
*/
|
|
22
22
|
__exportStar(require("./TeamsService.cjs"), exports);
|
|
23
|
-
//# sourceMappingURL=
|
|
24
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbXMvdGVhbXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILGtDQUErQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvY29tbXMvdGVhbXNcbiAqIEBzdW1tYXJ5IE1pY3Jvc29mdCBUZWFtcyBzZXJ2aWNlICh3ZWJob29rIHBvc3RzIGFuZCBHcmFwaCBjaGFubmVsIG1lc3NhZ2luZykuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgVGVhbXMgY2xpZW50LWJhc2VkIHNlcnZpY2UgYW5kIGl0cyB0eXBlcy5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vVGVhbXNTZXJ2aWNlXCI7XG4iXX0=
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILG9EQUFrQztBQUNsQyxrbEJBQWtsQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvY29tbXMvdGVhbXNcbiAqIEBzdW1tYXJ5IE1pY3Jvc29mdCBUZWFtcyBzZXJ2aWNlICh3ZWJob29rIHBvc3RzIGFuZCBHcmFwaCBjaGFubmVsIG1lc3NhZ2luZykuXG4gKiBAZGVzY3JpcHRpb24gUmUtZXhwb3J0cyB0aGUgVGVhbXMgY2xpZW50LWJhc2VkIHNlcnZpY2UgYW5kIGl0cyB0eXBlcy5cbiAqL1xuZXhwb3J0ICogZnJvbSBcIi4vVGVhbXNTZXJ2aWNlLmpzXCI7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lhVzVrWlhndWFuTWlMQ0p6YjNWeVkyVlNiMjkwSWpvaUlpd2ljMjkxY21ObGN5STZXeUl1TGk4dUxpOHVMaTh1TGk5emNtTXZZMjl0YlhNdmRHVmhiWE12YVc1a1pYZ3VkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJa0ZCUVVFN096czdSMEZKUnp0QlFVTklMR3REUVVFclFpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4dUlDb2dRRzF2WkhWc1pTQnBiblJsWjNKaGRHbHZibk12WTI5dGJYTXZkR1ZoYlhOY2JpQXFJRUJ6ZFcxdFlYSjVJRTFwWTNKdmMyOW1kQ0JVWldGdGN5QnpaWEoyYVdObElDaDNaV0pvYjI5cklIQnZjM1J6SUdGdVpDQkhjbUZ3YUNCamFHRnVibVZzSUcxbGMzTmhaMmx1WnlrdVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1VtVXRaWGh3YjNKMGN5QjBhR1VnVkdWaGJYTWdZMnhwWlc1MExXSmhjMlZrSUhObGNuWnBZMlVnWVc1a0lHbDBjeUIwZVhCbGN5NWNiaUFxTDF4dVpYaHdiM0owSUNvZ1puSnZiU0JjSWk0dlZHVmhiWE5UWlhKMmFXTmxYQ0k3WEc0aVhYMD0iXX0=
|
|
@@ -192,5 +192,5 @@ class TelegramService extends index_js_1.HttpApiService {
|
|
|
192
192
|
}
|
|
193
193
|
}
|
|
194
194
|
exports.TelegramService = TelegramService;
|
|
195
|
-
//# sourceMappingURL=TelegramService.js.map
|
|
196
|
-
//# sourceMappingURL=TelegramService.cjs.map
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVsZWdyYW1TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1zL3RlbGVncmFtL1RlbGVncmFtU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7O0dBU0c7QUFDSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLDRCQUF1QjtBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSwyQ0FBc0M7QUFDckUsT0FBTyxFQUNMLGNBQWMsRUFFZCxTQUFTLEdBQ1YscUNBQTBCO0FBK0UzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQXFDO0lBQTFFOztRQUNFOztXQUVHO1FBQ2dCLGdCQUFXLEdBQUcsVUFBVSxDQUFDO0lBb0s5QyxDQUFDO0lBbEtDOzs7O09BSUc7SUFDTyxjQUFjO1FBQ3RCLE9BQU8sMEJBQTBCLENBQUM7SUFDcEMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNPLHFCQUFxQjtRQUM3QixNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUM3QixPQUFPO1lBQ0wsS0FBSztZQUNMLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztZQUMvQixPQUFPLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7U0FDaEMsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNPLEtBQUssQ0FBQyxJQUFJLENBQ2xCLE1BQWMsRUFDZCxVQUFtQyxFQUFFO1FBRXJDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUNyQyxPQUFPLEtBQUssSUFBSSxNQUFNLEVBQUUsRUFDeEIsT0FBTyxDQUNSLENBQUM7WUFDRixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDOUIsTUFBTSxJQUFJLGFBQWEsQ0FDckIsb0JBQW9CLE1BQU0sWUFDeEIsSUFBSSxFQUFFLFdBQVcsSUFBSSxlQUN2QixFQUFFLENBQ0gsQ0FBQztZQUNKLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyxNQUFXLENBQUM7UUFDMUIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLFNBQVMsQ0FBQyxVQUFVLEVBQUUsV0FBVyxNQUFNLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNILEtBQUssQ0FBQyxLQUFLO1FBQ1QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUEwQixPQUFPLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Bb0JHO0lBQ0gsS0FBSyxDQUFDLFdBQVcsQ0FDZixLQUErQjtRQUUvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQWtCLGFBQWEsRUFBRTtZQUMvQyxPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDckIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFVBQVUsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMzQixvQkFBb0IsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQy9DLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQzlDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDM0MsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGVBQWU7U0FDekMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNILEtBQUssQ0FBQyxVQUFVLENBQ2QsVUFBd0UsRUFBRTtRQUUxRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQWlDLFlBQVksRUFBRTtZQUM3RCxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1lBQ3BCLE9BQU8sRUFBRSxPQUFPLENBQUMsY0FBYztTQUNoQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUNsQixNQUF1QixFQUN2QixNQUFNLEdBQUcsUUFBUTtRQUVqQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQVUsZ0JBQWdCLEVBQUU7WUFDMUMsT0FBTyxFQUFFLE1BQU07WUFDZixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9jb21tcy90ZWxlZ3JhbS9zZXJ2aWNlXG4gKiBAc3VtbWFyeSBUZWxlZ3JhbSBCb3QgQVBJIGludGVncmF0aW9uIHNlcnZpY2UgZm9yIHNlbmRpbmcgbWVzc2FnZXMgYW5kIHJlYWRpbmcgdXBkYXRlcy5cbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIHRoZSBUZWxlZ3JhbSBCb3QgQVBJIChgZ2V0TWVgLCBgc2VuZE1lc3NhZ2VgLFxuICogYGdldFVwZGF0ZXNgLCBgc2VuZENoYXRBY3Rpb25gKSBhcyBhbiB1bmRlY29yYXRlZCBjbGllbnQtYmFzZWQgc2VydmljZSBidWlsdFxuICogb24ge0BsaW5rIEh0dHBBcGlTZXJ2aWNlfS4gVGhlIGJvdCB0b2tlbiBpcyBwYXJ0IG9mIHRoZSByZXF1ZXN0XG4gKiBwYXRoIChgL2JvdDx0b2tlbj4vPG1ldGhvZD5gKTsgY29uZmlndXJhdGlvbiBjb21lcyBmcm9tIGFuIGV4cGxpY2l0XG4gKiBgVGVsZWdyYW1TZXJ2aWNlQ29uZmlnYCBvciB0aGUgYGNvbW1zLnRlbGVncmFtYCBlbnZpcm9ubWVudCBzbGljZSwgYW5kXG4gKiBmYWlsdXJlcyBhcmUgbWFwcGVkIHRvIGRlY2FmIGVycm9ycyB2aWEge0BsaW5rIGh0dHBFcnJvcn0uXG4gKi9cbmltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IENvbW1zRW52aXJvbm1lbnQgfSBmcm9tIFwiLi4vZW52aXJvbm1lbnRcIjtcbmltcG9ydCB7IGVudk51bWJlciwgZW52U3RyaW5nIH0gZnJvbSBcIi4uLy4uL3NoYXJlZC9lbnZpcm9ubWVudFZhbHVlXCI7XG5pbXBvcnQge1xuICBIdHRwQXBpU2VydmljZSxcbiAgdHlwZSBIdHRwQXBpU2VydmljZUNvbmZpZyxcbiAgaHR0cEVycm9yLFxufSBmcm9tIFwiLi4vLi4vc2hhcmVkL2h0dHBcIjtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQ29uZmlndXJhdGlvbiBmb3IgdGhlIFRlbGVncmFtIHNlcnZpY2VcbiAqIEBzdW1tYXJ5IEV4dGVuZHMge0BsaW5rIEh0dHBBcGlTZXJ2aWNlQ29uZmlnfSB3aXRoIHRoZSBUZWxlZ3JhbSBib3QgdG9rZW5cbiAqIHVzZWQgdG8gYnVpbGQgdGhlIGAvYm90PHRva2VuPmAgcmVxdWVzdCBwYXRoLiBXaGVuIG9taXR0ZWQsIHRoZVxuICogYGNvbW1zLnRlbGVncmFtYCBlbnZpcm9ubWVudCBzbGljZSBzdXBwbGllcyB0aGUgdG9rZW4gKGFuZCBvcHRpb25hbFxuICogYGJhc2VVcmxgL2B0aW1lb3V0YCkuXG4gKiBAY2F0ZWdvcnkgQ29tbXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2NvbW1zL3RlbGVncmFtL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZWxlZ3JhbVNlcnZpY2VDb25maWcgZXh0ZW5kcyBIdHRwQXBpU2VydmljZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGVsZWdyYW0gYm90IHRva2VuXG4gICAqIEBzdW1tYXJ5IElzc3VlZCBieSBCb3RGYXRoZXI7IGVtYmVkZGVkIGluIHRoZSByZXF1ZXN0IHBhdGggZm9yIGV2ZXJ5IGNhbGwuXG4gICAqL1xuICB0b2tlbj86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW5wdXQgZm9yIHNlbmRpbmcgYSBUZWxlZ3JhbSBtZXNzYWdlXG4gKiBAc3VtbWFyeSBDYXJyaWVzIHRoZSBkZXN0aW5hdGlvbiBgY2hhdElkYCwgdGhlIG1lc3NhZ2UgYHRleHRgLCB0aGUgb3B0aW9uYWxcbiAqIHBhcnNlIG1vZGUgKGBNYXJrZG93bmAsIGBNYXJrZG93blYyYCwgb3IgYEhUTUxgKSwgYW5kIHRoZSBub3RpZmljYXRpb24sXG4gKiBwcmV2aWV3LCByZXBseSwgYW5kIGZvcnVtLXRocmVhZCBvcHRpb25zLlxuICogQGNhdGVnb3J5IENvbW1zXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9jb21tcy90ZWxlZ3JhbS9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGVsZWdyYW1TZW5kTWVzc2FnZUlucHV0IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZXN0aW5hdGlvbiBjaGF0IElEIG9yIGBAY2hhbm5lbHVzZXJuYW1lYFxuICAgKi9cbiAgY2hhdElkOiBzdHJpbmcgfCBudW1iZXI7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTWVzc2FnZSB0ZXh0ICh1cCB0byA0MDk2IGNoYXJhY3RlcnMpXG4gICAqL1xuICB0ZXh0OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUGFyc2UgbW9kZSBmb3IgZW50aXR5IHJlY29nbml0aW9uIGluIGB0ZXh0YFxuICAgKi9cbiAgcGFyc2VNb2RlPzogXCJNYXJrZG93blwiIHwgXCJNYXJrZG93blYyXCIgfCBcIkhUTUxcIjtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIHRoZSBtZXNzYWdlIGlzIHNlbnQgc2lsZW50bHlcbiAgICovXG4gIGRpc2FibGVOb3RpZmljYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFdoZXRoZXIgbGluayBwcmV2aWV3cyBhcmUgZGlzYWJsZWRcbiAgICovXG4gIGRpc2FibGVQcmV2aWV3PzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBNZXNzYWdlIHRvIHJlcGx5IHRvXG4gICAqL1xuICByZXBseVRvTWVzc2FnZUlkPzogbnVtYmVyO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZvcnVtIHRocmVhZCB0byBwb3N0IGludG9cbiAgICovXG4gIG1lc3NhZ2VUaHJlYWRJZD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTm9ybWFsaXplZCBUZWxlZ3JhbSBtZXNzYWdlIGRlc2NyaXB0b3JcbiAqIEBzdW1tYXJ5IFRoZSByZWxldmFudCBzdWJzZXQgb2YgdGhlIFRlbGVncmFtIGBNZXNzYWdlYCBvYmplY3Q6IGlkZW50aWZpZXJzXG4gKiAoYG1lc3NhZ2VfaWRgLCBgZGF0ZWApLCB0aGUgc2VuZGluZyBgY2hhdGAsIGFuZCB0aGUgbWVzc2FnZSBgdGV4dGAuXG4gKiBAY2F0ZWdvcnkgQ29tbXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2NvbW1zL3RlbGVncmFtL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUZWxlZ3JhbU1lc3NhZ2Uge1xuICBtZXNzYWdlX2lkOiBudW1iZXI7XG4gIGRhdGU6IG51bWJlcjtcbiAgY2hhdDogeyBpZDogbnVtYmVyOyB0eXBlPzogc3RyaW5nOyB0aXRsZT86IHN0cmluZzsgdXNlcm5hbWU/OiBzdHJpbmcgfTtcbiAgdGV4dD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFRlbGVncmFtQXBpUmVzcG9uc2U8VD4ge1xuICBvazogYm9vbGVhbjtcbiAgcmVzdWx0PzogVDtcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIGVycm9yX2NvZGU/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFRlbGVncmFtIEJvdCBBUEkgaW50ZWdyYXRpb24gc2VydmljZVxuICogQHN1bW1hcnkgQW4gdW5kZWNvcmF0ZWQgSFRUUCBzZXJ2aWNlIGZvciB2ZXJpZnlpbmcgdGhlIGJvdFxuICogaWRlbnRpdHksIHNlbmRpbmcgbWVzc2FnZXMgd2l0aCBwYXJzZSBtb2RlcyBhbmQgcmVwbHkvdGhyZWFkIG9wdGlvbnMsIGxvbmdcbiAqIG9yIHNob3J0IHBvbGxpbmcgYGdldFVwZGF0ZXNgLCBhbmQgcG9zdGluZyBjaGF0IGFjdGlvbnMuIFRoZSBib3QgdG9rZW4gaXNcbiAqIHJlcXVpcmVkIChgcmVxdWlyZVRva2VuKClgKSBhbmQgZW1iZWRkZWQgaW4gdGhlIHJlcXVlc3QgcGF0aDsgbm9uLWBva2AgQm90XG4gKiBBUEkgcmVzcG9uc2VzIHJhaXNlIGBJbnRlcm5hbEVycm9yYCwgYW5kIHRyYW5zcG9ydCBmYWlsdXJlcyBhcmUgbWFwcGVkIHRvXG4gKiBkZWNhZiBlcnJvcnMgdmlhIHtAbGluayBodHRwRXJyb3J9LlxuICogQGNsYXNzIFRlbGVncmFtU2VydmljZVxuICogQGNhdGVnb3J5IENvbW1zXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IFRlbGVncmFtU2VydmljZSB9IGZyb20gXCJAZGVjYWYtdHMvaW50ZWdyYXRpb25zL2NvbW1zL3RlbGVncmFtXCI7XG4gKlxuICogY29uc3QgdGVsZWdyYW0gPSBuZXcgVGVsZWdyYW1TZXJ2aWNlKCk7XG4gKiBhd2FpdCB0ZWxlZ3JhbS5pbml0aWFsaXplKHtcbiAqICAgdG9rZW46IHByb2Nlc3MuZW52LkdSQVBIX0NSRURFTlRJQUxfVEVMRUdSQU1fVE9LRU4sXG4gKiB9KTtcbiAqIGF3YWl0IHRlbGVncmFtLnNlbmRNZXNzYWdlKHtcbiAqICAgY2hhdElkOiBcIkBteWNoYW5uZWxcIixcbiAqICAgdGV4dDogXCJSZWxlYXNlIDEuMi4wIGlzIGxpdmVcIixcbiAqICAgcGFyc2VNb2RlOiBcIkhUTUxcIixcbiAqIH0pO1xuICogYGBgXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9jb21tcy90ZWxlZ3JhbS9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBUZWxlZ3JhbVNlcnZpY2UgZXh0ZW5kcyBIdHRwQXBpU2VydmljZTxUZWxlZ3JhbVNlcnZpY2VDb25maWc+IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgcHJvdmlkZXIgbmFtZSB1c2VkIGluIGVycm9yIG1lc3NhZ2VzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VydmljZU5hbWUgPSBcIlRlbGVncmFtXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgVGVsZWdyYW0gQm90IEFQSSBiYXNlIFVSTFxuICAgKiBAc3VtbWFyeSBVc2VkIHdoZW4gdGhlIHJlc29sdmVkIGNvbmZpZyBjYXJyaWVzIG5vIGBiYXNlVXJsYC5cbiAgICogQHJldHVybnMge3N0cmluZ30gYFwiaHR0cHM6Ly9hcGkudGVsZWdyYW0ub3JnXCJgLlxuICAgKi9cbiAgcHJvdGVjdGVkIGRlZmF1bHRCYXNlVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFwiaHR0cHM6Ly9hcGkudGVsZWdyYW0ub3JnXCI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlYWRzIHRoZSBUZWxlZ3JhbSBjcmVkZW50aWFscyBhbmQgZGVmYXVsdHMgZnJvbSB0aGUgZW52aXJvbm1lbnRcbiAgICogQHN1bW1hcnkgUmVhZHMgdGhlIGBjb21tcy50ZWxlZ3JhbWAgZW52aXJvbm1lbnQgc2xpY2UgYW5kIHJldHVybnMgYVxuICAgKiBwYXJ0aWFsIGNvbmZpZyB3aGVuIGEgdG9rZW4gaXMgY29uZmlndXJlZCwgYHVuZGVmaW5lZGAgb3RoZXJ3aXNlLiBWYWx1ZXNcbiAgICogcGFzcyB0aHJvdWdoIGBlbnZTdHJpbmdgL2BlbnZOdW1iZXJgIHRvIHJlamVjdCB1bnNldC1sZWFmIHByb3hpZXMuXG4gICAqIEByZXR1cm5zIHtQYXJ0aWFsPFRlbGVncmFtU2VydmljZUNvbmZpZz4gfCB1bmRlZmluZWR9IEEgcGFydGlhbCBjb25maWcsIG9yIGB1bmRlZmluZWRgIHdoZW4gbm8gVGVsZWdyYW0gdG9rZW4gaXMgY29uZmlndXJlZC5cbiAgICovXG4gIHByb3RlY3RlZCBjb25maWdGcm9tRW52aXJvbm1lbnQoKTogUGFydGlhbDxUZWxlZ3JhbVNlcnZpY2VDb25maWc+IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBlbnYgPSBDb21tc0Vudmlyb25tZW50LmNvbW1zLnRlbGVncmFtO1xuICAgIGNvbnN0IHRva2VuID0gZW52U3RyaW5nKGVudj8udG9rZW4pO1xuICAgIGlmICghdG9rZW4pIHJldHVybiB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRva2VuLFxuICAgICAgYmFzZVVybDogZW52U3RyaW5nKGVudi5iYXNlVXJsKSxcbiAgICAgIHRpbWVvdXQ6IGVudk51bWJlcihlbnYudGltZW91dCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ2FsbHMgYSBUZWxlZ3JhbSBCb3QgQVBJIG1ldGhvZCB3aXRoIHRoZSBjb25maWd1cmVkIGJvdCB0b2tlblxuICAgKiBAc3VtbWFyeSBTaGFyZWQgcmVxdWVzdCBwYXRoIGZvciBhbGwgVGVsZWdyYW0gb3BlcmF0aW9uczogcmVzb2x2ZXMgdGhlXG4gICAqIHRva2VuIChgcmVxdWlyZVRva2VuKClgKSwgYFBPU1RgcyB0aGUgcGF5bG9hZCB0b1xuICAgKiBgL2JvdDx0b2tlbj4vPG1ldGhvZD5gLCByZWplY3RzIG5vbi1gb2tgIEJvdCBBUEkgcmVzcG9uc2VzIHdpdGggYW5cbiAgICogYEludGVybmFsRXJyb3JgLCBhbmQgbWFwcyB0cmFuc3BvcnQgZmFpbHVyZXMgdGhyb3VnaCB7QGxpbmsgaHR0cEVycm9yfS5cbiAgICogQHRlbXBsYXRlIFQgLSBUaGUgZXhwZWN0ZWQgYHJlc3VsdGAgcGF5bG9hZCB0eXBlIG9mIHRoZSBCb3QgQVBJIHJlc3BvbnNlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWV0aG9kIC0gVGhlIEJvdCBBUEkgbWV0aG9kIG5hbWUgKGUuZy4gYFwic2VuZE1lc3NhZ2VcImApLlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSBbcGF5bG9hZF0gLSBUaGUgSlNPTiBib2R5IGZvciB0aGUgbWV0aG9kOyBkZWZhdWx0cyB0byBhbiBlbXB0eSBvYmplY3QuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFQ+fSBUaGUgYHJlc3VsdGAgcGF5bG9hZCBvZiB0aGUgQm90IEFQSSByZXNwb25zZS5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBubyB0b2tlbiBpcyBjb25maWd1cmVkIG9yIHRoZSBCb3QgQVBJIGFuc3dlcnMgd2l0aCBgb2s6IGZhbHNlYC5cbiAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIEhUVFAgNDA0LlxuICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggSFRUUCA0MDkuXG4gICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIGFueSBvdGhlciBIVFRQIGVycm9yIHN0YXR1cy5cbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBjYWxsPFQ+KFxuICAgIG1ldGhvZDogc3RyaW5nLFxuICAgIHBheWxvYWQ6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge31cbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnJlcXVpcmVUb2tlbigpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3Q8VGVsZWdyYW1BcGlSZXNwb25zZTxUPj4oXG4gICAgICAgIGAvYm90JHt0b2tlbn0vJHttZXRob2R9YCxcbiAgICAgICAgcGF5bG9hZFxuICAgICAgKTtcbiAgICAgIGNvbnN0IGRhdGEgPSByZXNwb25zZS5kYXRhO1xuICAgICAgaWYgKCFkYXRhIHx8IGRhdGEub2sgIT09IHRydWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgYFRlbGVncmFtIEJvdCBBUEkgJHttZXRob2R9IGZhaWxlZDogJHtcbiAgICAgICAgICAgIGRhdGE/LmRlc2NyaXB0aW9uID8/IFwidW5rbm93biBlcnJvclwiXG4gICAgICAgICAgfWBcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBkYXRhLnJlc3VsdCBhcyBUO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBodHRwRXJyb3IoXCJUZWxlZ3JhbVwiLCBgQm90IEFQSSAke21ldGhvZH1gLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBGZXRjaGVzIHRoZSBhdXRoZW50aWNhdGVkIGJvdCdzIGlkZW50aXR5XG4gICAqIEBzdW1tYXJ5IENhbGxzIHRoZSBgZ2V0TWVgIG1ldGhvZCBhbmQgcmV0dXJucyB0aGUgcmF3IGJvdCBkZXNjcmlwdG9yXG4gICAqIChpbmNsdWRpbmcgYGlkYCwgYHVzZXJuYW1lYCwgYW5kIGBjYW5fam9pbl9ncm91cHNgIGZsYWdzKS5cbiAgICogQHJldHVybnMge1Byb21pc2U8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+fSBUaGUgcmF3IGBVc2VyYCBwYXlsb2FkIGRlc2NyaWJpbmcgdGhlIGJvdC5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBubyB0b2tlbiBpcyBjb25maWd1cmVkIG9yIHRoZSBCb3QgQVBJIHJlamVjdHMgdGhlIGNhbGwuXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBIVFRQIDQwNC5cbiAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIEhUVFAgNDA5LlxuICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gdGhlIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMuXG4gICAqL1xuICBhc3luYyBnZXRNZSgpOiBQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+PiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsbDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oXCJnZXRNZVwiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2VuZHMgYSBtZXNzYWdlIHRvIGEgVGVsZWdyYW0gY2hhdFxuICAgKiBAc3VtbWFyeSBDYWxscyB0aGUgYHNlbmRNZXNzYWdlYCBtZXRob2Qgd2l0aCB0aGUgZGVzdGluYXRpb24gY2hhdCwgdGV4dCxcbiAgICogYW5kIHRoZSByZXF1ZXN0ZWQgcGFyc2Uvbm90aWZpY2F0aW9uL3JlcGx5L3RocmVhZCBvcHRpb25zLCByZXR1cm5pbmcgdGhlXG4gICAqIHNlbnQgbWVzc2FnZSBkZXNjcmlwdG9yLlxuICAgKiBAcGFyYW0ge1RlbGVncmFtU2VuZE1lc3NhZ2VJbnB1dH0gaW5wdXQgLSBUaGUgbWVzc2FnZSBkZXN0aW5hdGlvbiwgY29udGVudCwgYW5kIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFRlbGVncmFtTWVzc2FnZT59IFRoZSBzZW50IG1lc3NhZ2UgZGVzY3JpcHRvci5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBubyB0b2tlbiBpcyBjb25maWd1cmVkIG9yIHRoZSBCb3QgQVBJIHJlamVjdHMgdGhlIG1lc3NhZ2UuXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBIVFRQIDQwNC5cbiAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIEhUVFAgNDA5LlxuICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gdGhlIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHRzXG4gICAqIGF3YWl0IHRlbGVncmFtLnNlbmRNZXNzYWdlKHtcbiAgICogICBjaGF0SWQ6IFwiLTEwMDEyMzQ1Njc4OTBcIixcbiAgICogICB0ZXh0OiBcIipSZWxlYXNlKiAxLjIuMCBpcyBsaXZlXCIsXG4gICAqICAgcGFyc2VNb2RlOiBcIk1hcmtkb3duVjJcIixcbiAgICogICBkaXNhYmxlTm90aWZpY2F0aW9uOiB0cnVlLFxuICAgKiB9KTtcbiAgICogYGBgXG4gICAqL1xuICBhc3luYyBzZW5kTWVzc2FnZShcbiAgICBpbnB1dDogVGVsZWdyYW1TZW5kTWVzc2FnZUlucHV0XG4gICk6IFByb21pc2U8VGVsZWdyYW1NZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsbDxUZWxlZ3JhbU1lc3NhZ2U+KFwic2VuZE1lc3NhZ2VcIiwge1xuICAgICAgY2hhdF9pZDogaW5wdXQuY2hhdElkLFxuICAgICAgdGV4dDogaW5wdXQudGV4dCxcbiAgICAgIHBhcnNlX21vZGU6IGlucHV0LnBhcnNlTW9kZSxcbiAgICAgIGRpc2FibGVfbm90aWZpY2F0aW9uOiBpbnB1dC5kaXNhYmxlTm90aWZpY2F0aW9uLFxuICAgICAgZGlzYWJsZV93ZWJfcGFnZV9wcmV2aWV3OiBpbnB1dC5kaXNhYmxlUHJldmlldyxcbiAgICAgIHJlcGx5X3RvX21lc3NhZ2VfaWQ6IGlucHV0LnJlcGx5VG9NZXNzYWdlSWQsXG4gICAgICBtZXNzYWdlX3RocmVhZF9pZDogaW5wdXQubWVzc2FnZVRocmVhZElkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQb2xscyBwZW5kaW5nIGJvdCB1cGRhdGVzXG4gICAqIEBzdW1tYXJ5IENhbGxzIHRoZSBgZ2V0VXBkYXRlc2AgbWV0aG9kLCBvcHRpb25hbGx5IHdpdGggYW4gYG9mZnNldGBcbiAgICogKGNvbmZpcm1hdGlvbiBvZiBwcm9jZXNzZWQgdXBkYXRlcyksIGEgYGxpbWl0YCBvbiByZXR1cm5lZCB1cGRhdGVzLCBhbmQgYVxuICAgKiBsb25nLXBvbGxpbmcgYHRpbWVvdXRTZWNvbmRzYC4gQWR2YW5jZSBgb2Zmc2V0YCBwYXN0IGVhY2ggaGFuZGxlZFxuICAgKiB1cGRhdGUncyBgdXBkYXRlX2lkYCB0byBhdm9pZCByZS1yZWFkaW5nIHRoZW0uXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBbb3B0aW9uc10gLSBQb2xsaW5nIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5vZmZzZXRdIC0gVGhlIGZpcnN0IHVwZGF0ZSBJRCB0byByZXR1cm4gKHByZXZpb3VzIElEICsgMSkuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5saW1pdF0gLSBNYXhpbXVtIG51bWJlciBvZiB1cGRhdGVzIHRvIHJldHVybiAoMS0xMDApLlxuICAgKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMudGltZW91dFNlY29uZHNdIC0gTG9uZy1wb2xsaW5nIHRpbWVvdXQgaW4gc2Vjb25kcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8QXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+Pn0gVGhlIHJhdyBgVXBkYXRlYCBwYXlsb2Fkcy5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBubyB0b2tlbiBpcyBjb25maWd1cmVkIG9yIHRoZSBCb3QgQVBJIHJlamVjdHMgdGhlIGNhbGwuXG4gICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBIVFRQIDQwNC5cbiAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIEhUVFAgNDA5IChlLmcuIGFub3RoZXIgYGdldFVwZGF0ZXNgIGNhbGwgaXMgaW4gZmxpZ2h0KS5cbiAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggYW55IG90aGVyIEhUVFAgZXJyb3Igc3RhdHVzLlxuICAgKi9cbiAgYXN5bmMgZ2V0VXBkYXRlcyhcbiAgICBvcHRpb25zOiB7IG9mZnNldD86IG51bWJlcjsgbGltaXQ/OiBudW1iZXI7IHRpbWVvdXRTZWNvbmRzPzogbnVtYmVyIH0gPSB7fVxuICApOiBQcm9taXNlPEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4ge1xuICAgIHJldHVybiB0aGlzLmNhbGw8QXJyYXk8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+PihcImdldFVwZGF0ZXNcIiwge1xuICAgICAgb2Zmc2V0OiBvcHRpb25zLm9mZnNldCxcbiAgICAgIGxpbWl0OiBvcHRpb25zLmxpbWl0LFxuICAgICAgdGltZW91dDogb3B0aW9ucy50aW1lb3V0U2Vjb25kcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUG9zdHMgYSBjaGF0IGFjdGlvbiAodHlwaW5nIGluZGljYXRvcilcbiAgICogQHN1bW1hcnkgQ2FsbHMgdGhlIGBzZW5kQ2hhdEFjdGlvbmAgbWV0aG9kIHNvIGNsaWVudHMgZGlzcGxheSB0aGUgZ2l2ZW5cbiAgICogYWN0aW9uIChlLmcuIGBcInR5cGluZ1wiYCkgZm9yIHVwIHRvIGZpdmUgc2Vjb25kcy5cbiAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXJ9IGNoYXRJZCAtIFRoZSBkZXN0aW5hdGlvbiBjaGF0IElEIG9yIGBAY2hhbm5lbHVzZXJuYW1lYC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthY3Rpb25dIC0gVGhlIGFjdGlvbiB0byBkaXNwbGF5OyBkZWZhdWx0cyB0byBgXCJ0eXBpbmdcImAuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGJvb2xlYW4+fSBXaGV0aGVyIHRoZSBhY3Rpb24gd2FzIGFjY2VwdGVkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIHRva2VuIGlzIGNvbmZpZ3VyZWQgb3IgdGhlIEJvdCBBUEkgcmVqZWN0cyB0aGUgY2FsbC5cbiAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIEhUVFAgNDA0LlxuICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggSFRUUCA0MDkuXG4gICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIGFueSBvdGhlciBIVFRQIGVycm9yIHN0YXR1cy5cbiAgICovXG4gIGFzeW5jIHNlbmRDaGF0QWN0aW9uKFxuICAgIGNoYXRJZDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIGFjdGlvbiA9IFwidHlwaW5nXCJcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsbDxib29sZWFuPihcInNlbmRDaGF0QWN0aW9uXCIsIHtcbiAgICAgIGNoYXRfaWQ6IGNoYXRJZCxcbiAgICAgIGFjdGlvbixcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGVsZWdyYW1TZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiVGVsZWdyYW1TZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7R0FTRztBQUNILDJEQUF3RDtBQUN4RCx3REFBdUQ7QUFDdkQsNEVBQTBFO0FBQzFFLDJEQUEwRTtBQUMxRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQUNILE1BQWEsZUFBZ0IsU0FBUSx5QkFBYztJQUMvQztRQUNJLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO1FBQ3BCOztXQUVHO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDbEMsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxjQUFjO1FBQ1YsT0FBTywwQkFBMEIsQ0FBQztJQUN0QyxDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0gscUJBQXFCO1FBQ2pCLE1BQU0sR0FBRyxHQUFHLGlDQUFnQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDNUMsTUFBTSxLQUFLLEdBQUcsSUFBQSwrQkFBUyxFQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsS0FBSztZQUNOLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLE9BQU87WUFDSCxLQUFLO1lBQ0wsT0FBTyxFQUFFLElBQUEsK0JBQVMsRUFBQyxHQUFHLENBQUMsT0FBTyxDQUFDO1lBQy9CLE9BQU8sRUFBRSxJQUFBLCtCQUFTLEVBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQztTQUNsQyxDQUFDO0lBQ04sQ0FBQztJQUNEOzs7Ozs7Ozs7Ozs7OztPQWNHO0lBQ0gsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxHQUFHLEVBQUU7UUFDM0IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQztZQUNELE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksTUFBTSxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDM0UsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7Z0JBQzVCLE1BQU0sSUFBSSw2QkFBYSxDQUFDLG9CQUFvQixNQUFNLFlBQVksSUFBSSxFQUFFLFdBQVcsSUFBSSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1lBQzFHLENBQUM7WUFDRCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkIsQ0FBQztRQUNELE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDWCxNQUFNLElBQUEsb0JBQVMsRUFBQyxVQUFVLEVBQUUsV0FBVyxNQUFNLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0wsQ0FBQztJQUNEOzs7Ozs7Ozs7T0FTRztJQUNILEtBQUssQ0FBQyxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFDRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDSCxLQUFLLENBQUMsV0FBVyxDQUFDLEtBQUs7UUFDbkIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUM1QixPQUFPLEVBQUUsS0FBSyxDQUFDLE1BQU07WUFDckIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFVBQVUsRUFBRSxLQUFLLENBQUMsU0FBUztZQUMzQixvQkFBb0IsRUFBRSxLQUFLLENBQUMsbUJBQW1CO1lBQy9DLHdCQUF3QixFQUFFLEtBQUssQ0FBQyxjQUFjO1lBQzlDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxnQkFBZ0I7WUFDM0MsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLGVBQWU7U0FDM0MsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUNEOzs7Ozs7Ozs7Ozs7Ozs7T0FlRztJQUNILEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLEVBQUU7UUFDekIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMzQixNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1lBQ3BCLE9BQU8sRUFBRSxPQUFPLENBQUMsY0FBYztTQUNsQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBQ0Q7Ozs7Ozs7Ozs7O09BV0c7SUFDSCxLQUFLLENBQUMsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLEdBQUcsUUFBUTtRQUMxQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDL0IsT0FBTyxFQUFFLE1BQU07WUFDZixNQUFNO1NBQ1QsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNKO0FBckpELDBDQXFKQztBQUNELHMxa0JBQXMxa0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2NvbW1zL3RlbGVncmFtL3NlcnZpY2VcbiAqIEBzdW1tYXJ5IFRlbGVncmFtIEJvdCBBUEkgaW50ZWdyYXRpb24gc2VydmljZSBmb3Igc2VuZGluZyBtZXNzYWdlcyBhbmQgcmVhZGluZyB1cGRhdGVzLlxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgdGhlIFRlbGVncmFtIEJvdCBBUEkgKGBnZXRNZWAsIGBzZW5kTWVzc2FnZWAsXG4gKiBgZ2V0VXBkYXRlc2AsIGBzZW5kQ2hhdEFjdGlvbmApIGFzIGFuIHVuZGVjb3JhdGVkIGNsaWVudC1iYXNlZCBzZXJ2aWNlIGJ1aWx0XG4gKiBvbiB7QGxpbmsgSHR0cEFwaVNlcnZpY2V9LiBUaGUgYm90IHRva2VuIGlzIHBhcnQgb2YgdGhlIHJlcXVlc3RcbiAqIHBhdGggKGAvYm90PHRva2VuPi88bWV0aG9kPmApOyBjb25maWd1cmF0aW9uIGNvbWVzIGZyb20gYW4gZXhwbGljaXRcbiAqIGBUZWxlZ3JhbVNlcnZpY2VDb25maWdgIG9yIHRoZSBgY29tbXMudGVsZWdyYW1gIGVudmlyb25tZW50IHNsaWNlLCBhbmRcbiAqIGZhaWx1cmVzIGFyZSBtYXBwZWQgdG8gZGVjYWYgZXJyb3JzIHZpYSB7QGxpbmsgaHR0cEVycm9yfS5cbiAqL1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQ29tbXNFbnZpcm9ubWVudCB9IGZyb20gXCIuLy4uL2Vudmlyb25tZW50LmpzXCI7XG5pbXBvcnQgeyBlbnZOdW1iZXIsIGVudlN0cmluZyB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9lbnZpcm9ubWVudFZhbHVlLmpzXCI7XG5pbXBvcnQgeyBIdHRwQXBpU2VydmljZSwgaHR0cEVycm9yLCB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9odHRwL2luZGV4LmpzXCI7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBUZWxlZ3JhbSBCb3QgQVBJIGludGVncmF0aW9uIHNlcnZpY2VcbiAqIEBzdW1tYXJ5IEFuIHVuZGVjb3JhdGVkIEhUVFAgc2VydmljZSBmb3IgdmVyaWZ5aW5nIHRoZSBib3RcbiAqIGlkZW50aXR5LCBzZW5kaW5nIG1lc3NhZ2VzIHdpdGggcGFyc2UgbW9kZXMgYW5kIHJlcGx5L3RocmVhZCBvcHRpb25zLCBsb25nXG4gKiBvciBzaG9ydCBwb2xsaW5nIGBnZXRVcGRhdGVzYCwgYW5kIHBvc3RpbmcgY2hhdCBhY3Rpb25zLiBUaGUgYm90IHRva2VuIGlzXG4gKiByZXF1aXJlZCAoYHJlcXVpcmVUb2tlbigpYCkgYW5kIGVtYmVkZGVkIGluIHRoZSByZXF1ZXN0IHBhdGg7IG5vbi1gb2tgIEJvdFxuICogQVBJIHJlc3BvbnNlcyByYWlzZSBgSW50ZXJuYWxFcnJvcmAsIGFuZCB0cmFuc3BvcnQgZmFpbHVyZXMgYXJlIG1hcHBlZCB0b1xuICogZGVjYWYgZXJyb3JzIHZpYSB7QGxpbmsgaHR0cEVycm9yfS5cbiAqIEBjbGFzcyBUZWxlZ3JhbVNlcnZpY2VcbiAqIEBjYXRlZ29yeSBDb21tc1xuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBUZWxlZ3JhbVNlcnZpY2UgfSBmcm9tIFwiQGRlY2FmLXRzL2ludGVncmF0aW9ucy9jb21tcy90ZWxlZ3JhbVwiO1xuICpcbiAqIGNvbnN0IHRlbGVncmFtID0gbmV3IFRlbGVncmFtU2VydmljZSgpO1xuICogYXdhaXQgdGVsZWdyYW0uaW5pdGlhbGl6ZSh7XG4gKiAgIHRva2VuOiBwcm9jZXNzLmVudi5HUkFQSF9DUkVERU5USUFMX1RFTEVHUkFNX1RPS0VOLFxuICogfSk7XG4gKiBhd2FpdCB0ZWxlZ3JhbS5zZW5kTWVzc2FnZSh7XG4gKiAgIGNoYXRJZDogXCJAbXljaGFubmVsXCIsXG4gKiAgIHRleHQ6IFwiUmVsZWFzZSAxLjIuMCBpcyBsaXZlXCIsXG4gKiAgIHBhcnNlTW9kZTogXCJIVE1MXCIsXG4gKiB9KTtcbiAqIGBgYFxuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvY29tbXMvdGVsZWdyYW0vc2VydmljZVxuICovXG5leHBvcnQgY2xhc3MgVGVsZWdyYW1TZXJ2aWNlIGV4dGVuZHMgSHR0cEFwaVNlcnZpY2Uge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICAvKipcbiAgICAgICAgICogQGRlc2NyaXB0aW9uIFRoZSBwcm92aWRlciBuYW1lIHVzZWQgaW4gZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuc2VydmljZU5hbWUgPSBcIlRlbGVncmFtXCI7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBUaGUgVGVsZWdyYW0gQm90IEFQSSBiYXNlIFVSTFxuICAgICAqIEBzdW1tYXJ5IFVzZWQgd2hlbiB0aGUgcmVzb2x2ZWQgY29uZmlnIGNhcnJpZXMgbm8gYGJhc2VVcmxgLlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IGBcImh0dHBzOi8vYXBpLnRlbGVncmFtLm9yZ1wiYC5cbiAgICAgKi9cbiAgICBkZWZhdWx0QmFzZVVybCgpIHtcbiAgICAgICAgcmV0dXJuIFwiaHR0cHM6Ly9hcGkudGVsZWdyYW0ub3JnXCI7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBSZWFkcyB0aGUgVGVsZWdyYW0gY3JlZGVudGlhbHMgYW5kIGRlZmF1bHRzIGZyb20gdGhlIGVudmlyb25tZW50XG4gICAgICogQHN1bW1hcnkgUmVhZHMgdGhlIGBjb21tcy50ZWxlZ3JhbWAgZW52aXJvbm1lbnQgc2xpY2UgYW5kIHJldHVybnMgYVxuICAgICAqIHBhcnRpYWwgY29uZmlnIHdoZW4gYSB0b2tlbiBpcyBjb25maWd1cmVkLCBgdW5kZWZpbmVkYCBvdGhlcndpc2UuIFZhbHVlc1xuICAgICAqIHBhc3MgdGhyb3VnaCBgZW52U3RyaW5nYC9gZW52TnVtYmVyYCB0byByZWplY3QgdW5zZXQtbGVhZiBwcm94aWVzLlxuICAgICAqIEByZXR1cm5zIHtQYXJ0aWFsPFRlbGVncmFtU2VydmljZUNvbmZpZz4gfCB1bmRlZmluZWR9IEEgcGFydGlhbCBjb25maWcsIG9yIGB1bmRlZmluZWRgIHdoZW4gbm8gVGVsZWdyYW0gdG9rZW4gaXMgY29uZmlndXJlZC5cbiAgICAgKi9cbiAgICBjb25maWdGcm9tRW52aXJvbm1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGVudiA9IENvbW1zRW52aXJvbm1lbnQuY29tbXMudGVsZWdyYW07XG4gICAgICAgIGNvbnN0IHRva2VuID0gZW52U3RyaW5nKGVudj8udG9rZW4pO1xuICAgICAgICBpZiAoIXRva2VuKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRva2VuLFxuICAgICAgICAgICAgYmFzZVVybDogZW52U3RyaW5nKGVudi5iYXNlVXJsKSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IGVudk51bWJlcihlbnYudGltZW91dCksXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBDYWxscyBhIFRlbGVncmFtIEJvdCBBUEkgbWV0aG9kIHdpdGggdGhlIGNvbmZpZ3VyZWQgYm90IHRva2VuXG4gICAgICogQHN1bW1hcnkgU2hhcmVkIHJlcXVlc3QgcGF0aCBmb3IgYWxsIFRlbGVncmFtIG9wZXJhdGlvbnM6IHJlc29sdmVzIHRoZVxuICAgICAqIHRva2VuIChgcmVxdWlyZVRva2VuKClgKSwgYFBPU1RgcyB0aGUgcGF5bG9hZCB0b1xuICAgICAqIGAvYm90PHRva2VuPi88bWV0aG9kPmAsIHJlamVjdHMgbm9uLWBva2AgQm90IEFQSSByZXNwb25zZXMgd2l0aCBhblxuICAgICAqIGBJbnRlcm5hbEVycm9yYCwgYW5kIG1hcHMgdHJhbnNwb3J0IGZhaWx1cmVzIHRocm91Z2gge0BsaW5rIGh0dHBFcnJvcn0uXG4gICAgICogQHRlbXBsYXRlIFQgLSBUaGUgZXhwZWN0ZWQgYHJlc3VsdGAgcGF5bG9hZCB0eXBlIG9mIHRoZSBCb3QgQVBJIHJlc3BvbnNlLlxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBtZXRob2QgLSBUaGUgQm90IEFQSSBtZXRob2QgbmFtZSAoZS5nLiBgXCJzZW5kTWVzc2FnZVwiYCkuXG4gICAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gW3BheWxvYWRdIC0gVGhlIEpTT04gYm9keSBmb3IgdGhlIG1ldGhvZDsgZGVmYXVsdHMgdG8gYW4gZW1wdHkgb2JqZWN0LlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPFQ+fSBUaGUgYHJlc3VsdGAgcGF5bG9hZCBvZiB0aGUgQm90IEFQSSByZXNwb25zZS5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIHRva2VuIGlzIGNvbmZpZ3VyZWQgb3IgdGhlIEJvdCBBUEkgYW5zd2VycyB3aXRoIGBvazogZmFsc2VgLlxuICAgICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBIVFRQIDQwNC5cbiAgICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggSFRUUCA0MDkuXG4gICAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggYW55IG90aGVyIEhUVFAgZXJyb3Igc3RhdHVzLlxuICAgICAqL1xuICAgIGFzeW5jIGNhbGwobWV0aG9kLCBwYXlsb2FkID0ge30pIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnJlcXVpcmVUb2tlbigpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0KGAvYm90JHt0b2tlbn0vJHttZXRob2R9YCwgcGF5bG9hZCk7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgICAgIGlmICghZGF0YSB8fCBkYXRhLm9rICE9PSB0cnVlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYFRlbGVncmFtIEJvdCBBUEkgJHttZXRob2R9IGZhaWxlZDogJHtkYXRhPy5kZXNjcmlwdGlvbiA/PyBcInVua25vd24gZXJyb3JcIn1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBkYXRhLnJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGh0dHBFcnJvcihcIlRlbGVncmFtXCIsIGBCb3QgQVBJICR7bWV0aG9kfWAsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gRmV0Y2hlcyB0aGUgYXV0aGVudGljYXRlZCBib3QncyBpZGVudGl0eVxuICAgICAqIEBzdW1tYXJ5IENhbGxzIHRoZSBgZ2V0TWVgIG1ldGhvZCBhbmQgcmV0dXJucyB0aGUgcmF3IGJvdCBkZXNjcmlwdG9yXG4gICAgICogKGluY2x1ZGluZyBgaWRgLCBgdXNlcm5hbWVgLCBhbmQgYGNhbl9qb2luX2dyb3Vwc2AgZmxhZ3MpLlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pn0gVGhlIHJhdyBgVXNlcmAgcGF5bG9hZCBkZXNjcmliaW5nIHRoZSBib3QuXG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBubyB0b2tlbiBpcyBjb25maWd1cmVkIG9yIHRoZSBCb3QgQVBJIHJlamVjdHMgdGhlIGNhbGwuXG4gICAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIEhUVFAgNDA0LlxuICAgICAqIEB0aHJvd3Mge0NvbmZsaWN0RXJyb3J9IFdoZW4gdGhlIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBIVFRQIDQwOS5cbiAgICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gdGhlIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBhbnkgb3RoZXIgSFRUUCBlcnJvciBzdGF0dXMuXG4gICAgICovXG4gICAgYXN5bmMgZ2V0TWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGwoXCJnZXRNZVwiKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFNlbmRzIGEgbWVzc2FnZSB0byBhIFRlbGVncmFtIGNoYXRcbiAgICAgKiBAc3VtbWFyeSBDYWxscyB0aGUgYHNlbmRNZXNzYWdlYCBtZXRob2Qgd2l0aCB0aGUgZGVzdGluYXRpb24gY2hhdCwgdGV4dCxcbiAgICAgKiBhbmQgdGhlIHJlcXVlc3RlZCBwYXJzZS9ub3RpZmljYXRpb24vcmVwbHkvdGhyZWFkIG9wdGlvbnMsIHJldHVybmluZyB0aGVcbiAgICAgKiBzZW50IG1lc3NhZ2UgZGVzY3JpcHRvci5cbiAgICAgKiBAcGFyYW0ge1RlbGVncmFtU2VuZE1lc3NhZ2VJbnB1dH0gaW5wdXQgLSBUaGUgbWVzc2FnZSBkZXN0aW5hdGlvbiwgY29udGVudCwgYW5kIG9wdGlvbnMuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8VGVsZWdyYW1NZXNzYWdlPn0gVGhlIHNlbnQgbWVzc2FnZSBkZXNjcmlwdG9yLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbm8gdG9rZW4gaXMgY29uZmlndXJlZCBvciB0aGUgQm90IEFQSSByZWplY3RzIHRoZSBtZXNzYWdlLlxuICAgICAqIEB0aHJvd3Mge05vdEZvdW5kRXJyb3J9IFdoZW4gdGhlIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBIVFRQIDQwNC5cbiAgICAgKiBAdGhyb3dzIHtDb25mbGljdEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggSFRUUCA0MDkuXG4gICAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggYW55IG90aGVyIEhUVFAgZXJyb3Igc3RhdHVzLlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHNcbiAgICAgKiBhd2FpdCB0ZWxlZ3JhbS5zZW5kTWVzc2FnZSh7XG4gICAgICogICBjaGF0SWQ6IFwiLTEwMDEyMzQ1Njc4OTBcIixcbiAgICAgKiAgIHRleHQ6IFwiKlJlbGVhc2UqIDEuMi4wIGlzIGxpdmVcIixcbiAgICAgKiAgIHBhcnNlTW9kZTogXCJNYXJrZG93blYyXCIsXG4gICAgICogICBkaXNhYmxlTm90aWZpY2F0aW9uOiB0cnVlLFxuICAgICAqIH0pO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIGFzeW5jIHNlbmRNZXNzYWdlKGlucHV0KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGwoXCJzZW5kTWVzc2FnZVwiLCB7XG4gICAgICAgICAgICBjaGF0X2lkOiBpbnB1dC5jaGF0SWQsXG4gICAgICAgICAgICB0ZXh0OiBpbnB1dC50ZXh0LFxuICAgICAgICAgICAgcGFyc2VfbW9kZTogaW5wdXQucGFyc2VNb2RlLFxuICAgICAgICAgICAgZGlzYWJsZV9ub3RpZmljYXRpb246IGlucHV0LmRpc2FibGVOb3RpZmljYXRpb24sXG4gICAgICAgICAgICBkaXNhYmxlX3dlYl9wYWdlX3ByZXZpZXc6IGlucHV0LmRpc2FibGVQcmV2aWV3LFxuICAgICAgICAgICAgcmVwbHlfdG9fbWVzc2FnZV9pZDogaW5wdXQucmVwbHlUb01lc3NhZ2VJZCxcbiAgICAgICAgICAgIG1lc3NhZ2VfdGhyZWFkX2lkOiBpbnB1dC5tZXNzYWdlVGhyZWFkSWQsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUG9sbHMgcGVuZGluZyBib3QgdXBkYXRlc1xuICAgICAqIEBzdW1tYXJ5IENhbGxzIHRoZSBgZ2V0VXBkYXRlc2AgbWV0aG9kLCBvcHRpb25hbGx5IHdpdGggYW4gYG9mZnNldGBcbiAgICAgKiAoY29uZmlybWF0aW9uIG9mIHByb2Nlc3NlZCB1cGRhdGVzKSwgYSBgbGltaXRgIG9uIHJldHVybmVkIHVwZGF0ZXMsIGFuZCBhXG4gICAgICogbG9uZy1wb2xsaW5nIGB0aW1lb3V0U2Vjb25kc2AuIEFkdmFuY2UgYG9mZnNldGAgcGFzdCBlYWNoIGhhbmRsZWRcbiAgICAgKiB1cGRhdGUncyBgdXBkYXRlX2lkYCB0byBhdm9pZCByZS1yZWFkaW5nIHRoZW0uXG4gICAgICogQHBhcmFtIHtvYmplY3R9IFtvcHRpb25zXSAtIFBvbGxpbmcgb3B0aW9ucy5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW29wdGlvbnMub2Zmc2V0XSAtIFRoZSBmaXJzdCB1cGRhdGUgSUQgdG8gcmV0dXJuIChwcmV2aW91cyBJRCArIDEpLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy5saW1pdF0gLSBNYXhpbXVtIG51bWJlciBvZiB1cGRhdGVzIHRvIHJldHVybiAoMS0xMDApLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0aW9ucy50aW1lb3V0U2Vjb25kc10gLSBMb25nLXBvbGxpbmcgdGltZW91dCBpbiBzZWNvbmRzLlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj59IFRoZSByYXcgYFVwZGF0ZWAgcGF5bG9hZHMuXG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBubyB0b2tlbiBpcyBjb25maWd1cmVkIG9yIHRoZSBCb3QgQVBJIHJlamVjdHMgdGhlIGNhbGwuXG4gICAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIEhUVFAgNDA0LlxuICAgICAqIEB0aHJvd3Mge0NvbmZsaWN0RXJyb3J9IFdoZW4gdGhlIGVuZHBvaW50IGFuc3dlcnMgd2l0aCBIVFRQIDQwOSAoZS5nLiBhbm90aGVyIGBnZXRVcGRhdGVzYCBjYWxsIGlzIGluIGZsaWdodCkuXG4gICAgICogQHRocm93cyB7QmFkUmVxdWVzdEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggYW55IG90aGVyIEhUVFAgZXJyb3Igc3RhdHVzLlxuICAgICAqL1xuICAgIGFzeW5jIGdldFVwZGF0ZXMob3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhbGwoXCJnZXRVcGRhdGVzXCIsIHtcbiAgICAgICAgICAgIG9mZnNldDogb3B0aW9ucy5vZmZzZXQsXG4gICAgICAgICAgICBsaW1pdDogb3B0aW9ucy5saW1pdCxcbiAgICAgICAgICAgIHRpbWVvdXQ6IG9wdGlvbnMudGltZW91dFNlY29uZHMsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUG9zdHMgYSBjaGF0IGFjdGlvbiAodHlwaW5nIGluZGljYXRvcilcbiAgICAgKiBAc3VtbWFyeSBDYWxscyB0aGUgYHNlbmRDaGF0QWN0aW9uYCBtZXRob2Qgc28gY2xpZW50cyBkaXNwbGF5IHRoZSBnaXZlblxuICAgICAqIGFjdGlvbiAoZS5nLiBgXCJ0eXBpbmdcImApIGZvciB1cCB0byBmaXZlIHNlY29uZHMuXG4gICAgICogQHBhcmFtIHtzdHJpbmcgfCBudW1iZXJ9IGNoYXRJZCAtIFRoZSBkZXN0aW5hdGlvbiBjaGF0IElEIG9yIGBAY2hhbm5lbHVzZXJuYW1lYC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gW2FjdGlvbl0gLSBUaGUgYWN0aW9uIHRvIGRpc3BsYXk7IGRlZmF1bHRzIHRvIGBcInR5cGluZ1wiYC5cbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gV2hldGhlciB0aGUgYWN0aW9uIHdhcyBhY2NlcHRlZC5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIHRva2VuIGlzIGNvbmZpZ3VyZWQgb3IgdGhlIEJvdCBBUEkgcmVqZWN0cyB0aGUgY2FsbC5cbiAgICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBlbmRwb2ludCBhbnN3ZXJzIHdpdGggSFRUUCA0MDQuXG4gICAgICogQHRocm93cyB7Q29uZmxpY3RFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIEhUVFAgNDA5LlxuICAgICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiB0aGUgZW5kcG9pbnQgYW5zd2VycyB3aXRoIGFueSBvdGhlciBIVFRQIGVycm9yIHN0YXR1cy5cbiAgICAgKi9cbiAgICBhc3luYyBzZW5kQ2hhdEFjdGlvbihjaGF0SWQsIGFjdGlvbiA9IFwidHlwaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FsbChcInNlbmRDaGF0QWN0aW9uXCIsIHtcbiAgICAgICAgICAgIGNoYXRfaWQ6IGNoYXRJZCxcbiAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgfSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVkdWc1pXZHlZVzFUWlhKMmFXTmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDJOdmJXMXpMM1JsYkdWbmNtRnRMMVJsYkdWbmNtRnRVMlZ5ZG1salpTNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVRzN096czdPenM3TzBkQlUwYzdRVUZEU0N4UFFVRlBMRVZCUVVVc1lVRkJZU3hGUVVGRkxFMUJRVTBzZVVKQlFYbENMRU5CUVVNN1FVRkRlRVFzVDBGQlR5eEZRVUZGTEdkQ1FVRm5RaXhGUVVGRkxEUkNRVUYxUWp0QlFVTnNSQ3hQUVVGUExFVkJRVVVzVTBGQlV5eEZRVUZGTEZOQlFWTXNSVUZCUlN3eVEwRkJjME03UVVGRGNrVXNUMEZCVHl4RlFVTk1MR05CUVdNc1JVRkZaQ3hUUVVGVExFZEJRMVlzY1VOQlFUQkNPMEZCSzBVelFqczdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p0SFFYbENSenRCUVVOSUxFMUJRVTBzVDBGQlR5eGxRVUZuUWl4VFFVRlJMR05CUVhGRE8wbEJRVEZGT3p0UlFVTkZPenRYUVVWSE8xRkJRMmRDTEdkQ1FVRlhMRWRCUVVjc1ZVRkJWU3hEUVVGRE8wbEJiMHM1UXl4RFFVRkRPMGxCYkV0RE96czdPMDlCU1VjN1NVRkRUeXhqUVVGak8xRkJRM1JDTEU5QlFVOHNNRUpCUVRCQ0xFTkJRVU03U1VGRGNFTXNRMEZCUXp0SlFVVkVPenM3T3pzN1QwRk5SenRKUVVOUExIRkNRVUZ4UWp0UlFVTTNRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZETzFGQlF6VkRMRTFCUVUwc1MwRkJTeXhIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRjRU1zU1VGQlNTeERRVUZETEV0QlFVczdXVUZCUlN4UFFVRlBMRk5CUVZNc1EwRkJRenRSUVVNM1FpeFBRVUZQTzFsQlEwd3NTMEZCU3p0WlFVTk1MRTlCUVU4c1JVRkJSU3hUUVVGVExFTkJRVU1zUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXp0WlFVTXZRaXhQUVVGUExFVkJRVVVzVTBGQlV5eERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNN1UwRkRhRU1zUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZGUkRzN096czdPenM3T3pzN096czdUMEZqUnp0SlFVTlBMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRMnhDTEUxQlFXTXNSVUZEWkN4VlFVRnRReXhGUVVGRk8xRkJSWEpETEUxQlFVMHNTMEZCU3l4SFFVRkhMRWxCUVVrc1EwRkJReXhaUVVGWkxFVkJRVVVzUTBGQlF6dFJRVU5zUXl4SlFVRkpMRU5CUVVNN1dVRkRTQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eE5RVUZOTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1NVRkJTU3hEUVVOeVF5eFBRVUZQTEV0QlFVc3NTVUZCU1N4TlFVRk5MRVZCUVVVc1JVRkRlRUlzVDBGQlR5eERRVU5TTEVOQlFVTTdXVUZEUml4TlFVRk5MRWxCUVVrc1IwRkJSeXhSUVVGUkxFTkJRVU1zU1VGQlNTeERRVUZETzFsQlF6TkNMRWxCUVVrc1EwRkJReXhKUVVGSkxFbEJRVWtzU1VGQlNTeERRVUZETEVWQlFVVXNTMEZCU3l4SlFVRkpMRVZCUVVVc1EwRkJRenRuUWtGRE9VSXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzYjBKQlFXOUNMRTFCUVUwc1dVRkRlRUlzU1VGQlNTeEZRVUZGTEZkQlFWY3NTVUZCU1N4bFFVTjJRaXhGUVVGRkxFTkJRMGdzUTBGQlF6dFpRVU5LTEVOQlFVTTdXVUZEUkN4UFFVRlBMRWxCUVVrc1EwRkJReXhOUVVGWExFTkJRVU03VVVGRE1VSXNRMEZCUXp0UlFVRkRMRTlCUVU4c1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFppeE5RVUZOTEZOQlFWTXNRMEZCUXl4VlFVRlZMRVZCUVVVc1YwRkJWeXhOUVVGTkxFVkJRVVVzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTXhSQ3hEUVVGRE8wbEJRMGdzUTBGQlF6dEpRVVZFT3pzN096czdPenM3VDBGVFJ6dEpRVU5JTEV0QlFVc3NRMEZCUXl4TFFVRkxPMUZCUTFRc1QwRkJUeXhKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUV3UWl4UFFVRlBMRU5CUVVNc1EwRkJRenRKUVVOeVJDeERRVUZETzBsQlJVUTdPenM3T3pzN096czdPenM3T3pzN096czdPMDlCYjBKSE8wbEJRMGdzUzBGQlN5eERRVUZETEZkQlFWY3NRMEZEWml4TFFVRXJRanRSUVVVdlFpeFBRVUZQTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVd0Q0xHRkJRV0VzUlVGQlJUdFpRVU12UXl4UFFVRlBMRVZCUVVVc1MwRkJTeXhEUVVGRExFMUJRVTA3V1VGRGNrSXNTVUZCU1N4RlFVRkZMRXRCUVVzc1EwRkJReXhKUVVGSk8xbEJRMmhDTEZWQlFWVXNSVUZCUlN4TFFVRkxMRU5CUVVNc1UwRkJVenRaUVVNelFpeHZRa0ZCYjBJc1JVRkJSU3hMUVVGTExFTkJRVU1zYlVKQlFXMUNPMWxCUXk5RExIZENRVUYzUWl4RlFVRkZMRXRCUVVzc1EwRkJReXhqUVVGak8xbEJRemxETEcxQ1FVRnRRaXhGUVVGRkxFdEJRVXNzUTBGQlF5eG5Ra0ZCWjBJN1dVRkRNME1zYVVKQlFXbENMRVZCUVVVc1MwRkJTeXhEUVVGRExHVkJRV1U3VTBGRGVrTXNRMEZCUXl4RFFVRkRPMGxCUTB3c1EwRkJRenRKUVVWRU96czdPenM3T3pzN096czdPenM3VDBGbFJ6dEpRVU5JTEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUTJRc1ZVRkJkMFVzUlVGQlJUdFJRVVV4UlN4UFFVRlBMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRV2xETEZsQlFWa3NSVUZCUlR0WlFVTTNSQ3hOUVVGTkxFVkJRVVVzVDBGQlR5eERRVUZETEUxQlFVMDdXVUZEZEVJc1MwRkJTeXhGUVVGRkxFOUJRVThzUTBGQlF5eExRVUZMTzFsQlEzQkNMRTlCUVU4c1JVRkJSU3hQUVVGUExFTkJRVU1zWTBGQll6dFRRVU5vUXl4RFFVRkRMRU5CUVVNN1NVRkRUQ3hEUVVGRE8wbEJSVVE3T3pzN096czdPenM3TzA5QlYwYzdTVUZEU0N4TFFVRkxMRU5CUVVNc1kwRkJZeXhEUVVOc1FpeE5RVUYxUWl4RlFVTjJRaXhOUVVGTkxFZEJRVWNzVVVGQlVUdFJRVVZxUWl4UFFVRlBMRWxCUVVrc1EwRkJReXhKUVVGSkxFTkJRVlVzWjBKQlFXZENMRVZCUVVVN1dVRkRNVU1zVDBGQlR5eEZRVUZGTEUxQlFVMDdXVUZEWml4TlFVRk5PMU5CUTFBc1EwRkJReXhEUVVGRE8wbEJRMHdzUTBGQlF6dERRVU5HSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUdsdWRHVm5jbUYwYVc5dWN5OWpiMjF0Y3k5MFpXeGxaM0poYlM5elpYSjJhV05sWEc0Z0tpQkFjM1Z0YldGeWVTQlVaV3hsWjNKaGJTQkNiM1FnUVZCSklHbHVkR1ZuY21GMGFXOXVJSE5sY25acFkyVWdabTl5SUhObGJtUnBibWNnYldWemMyRm5aWE1nWVc1a0lISmxZV1JwYm1jZ2RYQmtZWFJsY3k1Y2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCRmVIQnZjMlZ6SUhSb1pTQlVaV3hsWjNKaGJTQkNiM1FnUVZCSklDaGdaMlYwVFdWZ0xDQmdjMlZ1WkUxbGMzTmhaMlZnTEZ4dUlDb2dZR2RsZEZWd1pHRjBaWE5nTENCZ2MyVnVaRU5vWVhSQlkzUnBiMjVnS1NCaGN5QmhiaUIxYm1SbFkyOXlZWFJsWkNCamJHbGxiblF0WW1GelpXUWdjMlZ5ZG1salpTQmlkV2xzZEZ4dUlDb2diMjRnZTBCc2FXNXJJRWgwZEhCQmNHbFRaWEoyYVdObGZTNGdWR2hsSUdKdmRDQjBiMnRsYmlCcGN5QndZWEowSUc5bUlIUm9aU0J5WlhGMVpYTjBYRzRnS2lCd1lYUm9JQ2hnTDJKdmREeDBiMnRsYmo0dlBHMWxkR2h2WkQ1Z0tUc2dZMjl1Wm1sbmRYSmhkR2x2YmlCamIyMWxjeUJtY205dElHRnVJR1Y0Y0d4cFkybDBYRzRnS2lCZ1ZHVnNaV2R5WVcxVFpYSjJhV05sUTI5dVptbG5ZQ0J2Y2lCMGFHVWdZR052YlcxekxuUmxiR1ZuY21GdFlDQmxiblpwY205dWJXVnVkQ0J6YkdsalpTd2dZVzVrWEc0Z0tpQm1ZV2xzZFhKbGN5QmhjbVVnYldGd2NHVmtJSFJ2SUdSbFkyRm1JR1Z5Y205eWN5QjJhV0VnZTBCc2FXNXJJR2gwZEhCRmNuSnZjbjB1WEc0Z0tpOWNibWx0Y0c5eWRDQjdJRWx1ZEdWeWJtRnNSWEp5YjNJZ2ZTQm1jbTl0SUZ3aVFHUmxZMkZtTFhSekwyUmlMV1JsWTI5eVlYUnZjbk5jSWp0Y2JtbHRjRzl5ZENCN0lFTnZiVzF6Ulc1MmFYSnZibTFsYm5RZ2ZTQm1jbTl0SUZ3aUxpNHZaVzUyYVhKdmJtMWxiblJjSWp0Y2JtbHRjRzl5ZENCN0lHVnVkazUxYldKbGNpd2daVzUyVTNSeWFXNW5JSDBnWm5KdmJTQmNJaTR1THk0dUwzTm9ZWEpsWkM5bGJuWnBjbTl1YldWdWRGWmhiSFZsWENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JJZEhSd1FYQnBVMlZ5ZG1salpTeGNiaUFnZEhsd1pTQklkSFJ3UVhCcFUyVnlkbWxqWlVOdmJtWnBaeXhjYmlBZ2FIUjBjRVZ5Y205eUxGeHVmU0JtY205dElGd2lMaTR2TGk0dmMyaGhjbVZrTDJoMGRIQmNJanRjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdRMjl1Wm1sbmRYSmhkR2x2YmlCbWIzSWdkR2hsSUZSbGJHVm5jbUZ0SUhObGNuWnBZMlZjYmlBcUlFQnpkVzF0WVhKNUlFVjRkR1Z1WkhNZ2UwQnNhVzVySUVoMGRIQkJjR2xUWlhKMmFXTmxRMjl1Wm1sbmZTQjNhWFJvSUhSb1pTQlVaV3hsWjNKaGJTQmliM1FnZEc5clpXNWNiaUFxSUhWelpXUWdkRzhnWW5WcGJHUWdkR2hsSUdBdlltOTBQSFJ2YTJWdVBtQWdjbVZ4ZFdWemRDQndZWFJvTGlCWGFHVnVJRzl0YVhSMFpXUXNJSFJvWlZ4dUlDb2dZR052YlcxekxuUmxiR1ZuY21GdFlDQmxiblpwY205dWJXVnVkQ0J6YkdsalpTQnpkWEJ3YkdsbGN5QjBhR1VnZEc5clpXNGdLR0Z1WkNCdmNIUnBiMjVoYkZ4dUlDb2dZR0poYzJWVmNteGdMMkIwYVcxbGIzVjBZQ2t1WEc0Z0tpQkFZMkYwWldkdmNua2dRMjl0YlhOY2JpQXFJRUJ0WlcxaVpYSlBaaUJ0YjJSMWJHVTZhVzUwWldkeVlYUnBiMjV6TDJOdmJXMXpMM1JsYkdWbmNtRnRMM05sY25acFkyVmNiaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCVVpXeGxaM0poYlZObGNuWnBZMlZEYjI1bWFXY2daWGgwWlc1a2N5QklkSFJ3UVhCcFUyVnlkbWxqWlVOdmJtWnBaeUI3WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnVkdWc1pXZHlZVzBnWW05MElIUnZhMlZ1WEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRWx6YzNWbFpDQmllU0JDYjNSR1lYUm9aWEk3SUdWdFltVmtaR1ZrSUdsdUlIUm9aU0J5WlhGMVpYTjBJSEJoZEdnZ1ptOXlJR1YyWlhKNUlHTmhiR3d1WEc0Z0lDQXFMMXh1SUNCMGIydGxiajg2SUhOMGNtbHVaenRjYm4xY2JseHVMeW9xWEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnU1c1d2RYUWdabTl5SUhObGJtUnBibWNnWVNCVVpXeGxaM0poYlNCdFpYTnpZV2RsWEc0Z0tpQkFjM1Z0YldGeWVTQkRZWEp5YVdWeklIUm9aU0JrWlhOMGFXNWhkR2x2YmlCZ1kyaGhkRWxrWUN3Z2RHaGxJRzFsYzNOaFoyVWdZSFJsZUhSZ0xDQjBhR1VnYjNCMGFXOXVZV3hjYmlBcUlIQmhjbk5sSUcxdlpHVWdLR0JOWVhKclpHOTNibUFzSUdCTllYSnJaRzkzYmxZeVlDd2diM0lnWUVoVVRVeGdLU3dnWVc1a0lIUm9aU0J1YjNScFptbGpZWFJwYjI0c1hHNGdLaUJ3Y21WMmFXVjNMQ0J5WlhCc2VTd2dZVzVrSUdadmNuVnRMWFJvY21WaFpDQnZjSFJwYjI1ekxseHVJQ29nUUdOaGRHVm5iM0o1SUVOdmJXMXpYRzRnS2lCQWJXVnRZbVZ5VDJZZ2JXOWtkV3hsT21sdWRHVm5jbUYwYVc5dWN5OWpiMjF0Y3k5MFpXeGxaM0poYlM5elpYSjJhV05sWEc0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdWR1ZzWldkeVlXMVRaVzVrVFdWemMyRm5aVWx1Y0hWMElIdGNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQkVaWE4wYVc1aGRHbHZiaUJqYUdGMElFbEVJRzl5SUdCQVkyaGhibTVsYkhWelpYSnVZVzFsWUZ4dUlDQWdLaTljYmlBZ1kyaGhkRWxrT2lCemRISnBibWNnZkNCdWRXMWlaWEk3WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnVFdWemMyRm5aU0IwWlhoMElDaDFjQ0IwYnlBME1EazJJR05vWVhKaFkzUmxjbk1wWEc0Z0lDQXFMMXh1SUNCMFpYaDBPaUJ6ZEhKcGJtYzdYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdVR0Z5YzJVZ2JXOWtaU0JtYjNJZ1pXNTBhWFI1SUhKbFkyOW5ibWwwYVc5dUlHbHVJR0IwWlhoMFlGeHVJQ0FnS2k5Y2JpQWdjR0Z5YzJWTmIyUmxQem9nWENKTllYSnJaRzkzYmx3aUlId2dYQ0pOWVhKclpHOTNibFl5WENJZ2ZDQmNJa2hVVFV4Y0lqdGNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQlhhR1YwYUdWeUlIUm9aU0J0WlhOellXZGxJR2x6SUhObGJuUWdjMmxzWlc1MGJIbGNiaUFnSUNvdlhHNGdJR1JwYzJGaWJHVk9iM1JwWm1sallYUnBiMjQvT2lCaWIyOXNaV0Z1TzF4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUZkb1pYUm9aWElnYkdsdWF5QndjbVYyYVdWM2N5QmhjbVVnWkdsellXSnNaV1JjYmlBZ0lDb3ZYRzRnSUdScGMyRmliR1ZRY21WMmFXVjNQem9nWW05dmJHVmhianRjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJOWlhOellXZGxJSFJ2SUhKbGNHeDVJSFJ2WEc0Z0lDQXFMMXh1SUNCeVpYQnNlVlJ2VFdWemMyRm5aVWxrUHpvZ2JuVnRZbVZ5TzF4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVadmNuVnRJSFJvY21WaFpDQjBieUJ3YjNOMElHbHVkRzljYmlBZ0lDb3ZYRzRnSUcxbGMzTmhaMlZVYUhKbFlXUkpaRDg2SUc1MWJXSmxjanRjYm4xY2JseHVMeW9xWEc0Z0tpQkFaR1Z6WTNKcGNIUnBiMjRnVG05eWJXRnNhWHBsWkNCVVpXeGxaM0poYlNCdFpYTnpZV2RsSUdSbGMyTnlhWEIwYjNKY2JpQXFJRUJ6ZFcxdFlYSjVJRlJvWlNCeVpXeGxkbUZ1ZENCemRXSnpaWFFnYjJZZ2RHaGxJRlJsYkdWbmNtRnRJR0JOWlhOellXZGxZQ0J2WW1wbFkzUTZJR2xrWlc1MGFXWnBaWEp6WEc0Z0tpQW9ZRzFsYzNOaFoyVmZhV1JnTENCZ1pHRjBaV0FwTENCMGFHVWdjMlZ1WkdsdVp5QmdZMmhoZEdBc0lHRnVaQ0IwYUdVZ2JXVnpjMkZuWlNCZ2RHVjRkR0F1WEc0Z0tpQkFZMkYwWldkdmNua2dRMjl0YlhOY2JpQXFJRUJ0WlcxaVpYSlBaaUJ0YjJSMWJHVTZhVzUwWldkeVlYUnBiMjV6TDJOdmJXMXpMM1JsYkdWbmNtRnRMM05sY25acFkyVmNiaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCVVpXeGxaM0poYlUxbGMzTmhaMlVnZTF4dUlDQnRaWE56WVdkbFgybGtPaUJ1ZFcxaVpYSTdYRzRnSUdSaGRHVTZJRzUxYldKbGNqdGNiaUFnWTJoaGREb2dleUJwWkRvZ2JuVnRZbVZ5T3lCMGVYQmxQem9nYzNSeWFXNW5PeUIwYVhSc1pUODZJSE4wY21sdVp6c2dkWE5sY201aGJXVS9PaUJ6ZEhKcGJtY2dmVHRjYmlBZ2RHVjRkRDg2SUhOMGNtbHVaenRjYm4xY2JseHVhVzUwWlhKbVlXTmxJRlJsYkdWbmNtRnRRWEJwVW1WemNHOXVjMlU4VkQ0Z2UxeHVJQ0J2YXpvZ1ltOXZiR1ZoYmp0Y2JpQWdjbVZ6ZFd4MFB6b2dWRHRjYmlBZ1pHVnpZM0pwY0hScGIyNC9PaUJ6ZEhKcGJtYzdYRzRnSUdWeWNtOXlYMk52WkdVL09pQnVkVzFpWlhJN1hHNTlYRzVjYmk4cUtseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlGUmxiR1ZuY21GdElFSnZkQ0JCVUVrZ2FXNTBaV2R5WVhScGIyNGdjMlZ5ZG1salpWeHVJQ29nUUhOMWJXMWhjbmtnUVc0Z2RXNWtaV052Y21GMFpXUWdTRlJVVUNCelpYSjJhV05sSUdadmNpQjJaWEpwWm5scGJtY2dkR2hsSUdKdmRGeHVJQ29nYVdSbGJuUnBkSGtzSUhObGJtUnBibWNnYldWemMyRm5aWE1nZDJsMGFDQndZWEp6WlNCdGIyUmxjeUJoYm1RZ2NtVndiSGt2ZEdoeVpXRmtJRzl3ZEdsdmJuTXNJR3h2Ym1kY2JpQXFJRzl5SUhOb2IzSjBJSEJ2Ykd4cGJtY2dZR2RsZEZWd1pHRjBaWE5nTENCaGJtUWdjRzl6ZEdsdVp5QmphR0YwSUdGamRHbHZibk11SUZSb1pTQmliM1FnZEc5clpXNGdhWE5jYmlBcUlISmxjWFZwY21Wa0lDaGdjbVZ4ZFdseVpWUnZhMlZ1S0NsZ0tTQmhibVFnWlcxaVpXUmtaV1FnYVc0Z2RHaGxJSEpsY1hWbGMzUWdjR0YwYURzZ2JtOXVMV0J2YTJBZ1FtOTBYRzRnS2lCQlVFa2djbVZ6Y0c5dWMyVnpJSEpoYVhObElHQkpiblJsY201aGJFVnljbTl5WUN3Z1lXNWtJSFJ5WVc1emNHOXlkQ0JtWVdsc2RYSmxjeUJoY21VZ2JXRndjR1ZrSUhSdlhHNGdLaUJrWldOaFppQmxjbkp2Y25NZ2RtbGhJSHRBYkdsdWF5Qm9kSFJ3UlhKeWIzSjlMbHh1SUNvZ1FHTnNZWE56SUZSbGJHVm5jbUZ0VTJWeWRtbGpaVnh1SUNvZ1FHTmhkR1ZuYjNKNUlFTnZiVzF6WEc0Z0tpQkFaWGhoYlhCc1pWeHVJQ29nWUdCZ2RITmNiaUFxSUdsdGNHOXlkQ0I3SUZSbGJHVm5jbUZ0VTJWeWRtbGpaU0I5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12YVc1MFpXZHlZWFJwYjI1ekwyTnZiVzF6TDNSbGJHVm5jbUZ0WENJN1hHNGdLbHh1SUNvZ1kyOXVjM1FnZEdWc1pXZHlZVzBnUFNCdVpYY2dWR1ZzWldkeVlXMVRaWEoyYVdObEtDazdYRzRnS2lCaGQyRnBkQ0IwWld4bFozSmhiUzVwYm1sMGFXRnNhWHBsS0h0Y2JpQXFJQ0FnZEc5clpXNDZJSEJ5YjJObGMzTXVaVzUyTGtkU1FWQklYME5TUlVSRlRsUkpRVXhmVkVWTVJVZFNRVTFmVkU5TFJVNHNYRzRnS2lCOUtUdGNiaUFxSUdGM1lXbDBJSFJsYkdWbmNtRnRMbk5sYm1STlpYTnpZV2RsS0h0Y2JpQXFJQ0FnWTJoaGRFbGtPaUJjSWtCdGVXTm9ZVzV1Wld4Y0lpeGNiaUFxSUNBZ2RHVjRkRG9nWENKU1pXeGxZWE5sSURFdU1pNHdJR2x6SUd4cGRtVmNJaXhjYmlBcUlDQWdjR0Z5YzJWTmIyUmxPaUJjSWtoVVRVeGNJaXhjYmlBcUlIMHBPMXh1SUNvZ1lHQmdYRzRnS2lCQWJXVnRZbVZ5VDJZZ2JXOWtkV3hsT21sdWRHVm5jbUYwYVc5dWN5OWpiMjF0Y3k5MFpXeGxaM0poYlM5elpYSjJhV05sWEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCVVpXeGxaM0poYlZObGNuWnBZMlVnWlhoMFpXNWtjeUJJZEhSd1FYQnBVMlZ5ZG1salpUeFVaV3hsWjNKaGJWTmxjblpwWTJWRGIyNW1hV2MrSUh0Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCVWFHVWdjSEp2ZG1sa1pYSWdibUZ0WlNCMWMyVmtJR2x1SUdWeWNtOXlJRzFsYzNOaFoyVnpYRzRnSUNBcUwxeHVJQ0J3Y205MFpXTjBaV1FnY21WaFpHOXViSGtnYzJWeWRtbGpaVTVoYldVZ1BTQmNJbFJsYkdWbmNtRnRYQ0k3WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCVWFHVWdWR1ZzWldkeVlXMGdRbTkwSUVGUVNTQmlZWE5sSUZWU1RGeHVJQ0FnS2lCQWMzVnRiV0Z5ZVNCVmMyVmtJSGRvWlc0Z2RHaGxJSEpsYzI5c2RtVmtJR052Ym1acFp5QmpZWEp5YVdWeklHNXZJR0JpWVhObFZYSnNZQzVjYmlBZ0lDb2dRSEpsZEhWeWJuTWdlM04wY21sdVozMGdZRndpYUhSMGNITTZMeTloY0drdWRHVnNaV2R5WVcwdWIzSm5YQ0pnTGx4dUlDQWdLaTljYmlBZ2NISnZkR1ZqZEdWa0lHUmxabUYxYkhSQ1lYTmxWWEpzS0NrNklITjBjbWx1WnlCN1hHNGdJQ0FnY21WMGRYSnVJRndpYUhSMGNITTZMeTloY0drdWRHVnNaV2R5WVcwdWIzSm5YQ0k3WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRkpsWVdSeklIUm9aU0JVWld4bFozSmhiU0JqY21Wa1pXNTBhV0ZzY3lCaGJtUWdaR1ZtWVhWc2RITWdabkp2YlNCMGFHVWdaVzUyYVhKdmJtMWxiblJjYmlBZ0lDb2dRSE4xYlcxaGNua2dVbVZoWkhNZ2RHaGxJR0JqYjIxdGN5NTBaV3hsWjNKaGJXQWdaVzUyYVhKdmJtMWxiblFnYzJ4cFkyVWdZVzVrSUhKbGRIVnlibk1nWVZ4dUlDQWdLaUJ3WVhKMGFXRnNJR052Ym1acFp5QjNhR1Z1SUdFZ2RHOXJaVzRnYVhNZ1kyOXVabWxuZFhKbFpDd2dZSFZ1WkdWbWFXNWxaR0FnYjNSb1pYSjNhWE5sTGlCV1lXeDFaWE5jYmlBZ0lDb2djR0Z6Y3lCMGFISnZkV2RvSUdCbGJuWlRkSEpwYm1kZ0wyQmxiblpPZFcxaVpYSmdJSFJ2SUhKbGFtVmpkQ0IxYm5ObGRDMXNaV0ZtSUhCeWIzaHBaWE11WEc0Z0lDQXFJRUJ5WlhSMWNtNXpJSHRRWVhKMGFXRnNQRlJsYkdWbmNtRnRVMlZ5ZG1salpVTnZibVpwWno0Z2ZDQjFibVJsWm1sdVpXUjlJRUVnY0dGeWRHbGhiQ0JqYjI1bWFXY3NJRzl5SUdCMWJtUmxabWx1WldSZ0lIZG9aVzRnYm04Z1ZHVnNaV2R5WVcwZ2RHOXJaVzRnYVhNZ1kyOXVabWxuZFhKbFpDNWNiaUFnSUNvdlhHNGdJSEJ5YjNSbFkzUmxaQ0JqYjI1bWFXZEdjbTl0Ulc1MmFYSnZibTFsYm5Rb0tUb2dVR0Z5ZEdsaGJEeFVaV3hsWjNKaGJWTmxjblpwWTJWRGIyNW1hV2MrSUh3Z2RXNWtaV1pwYm1Wa0lIdGNiaUFnSUNCamIyNXpkQ0JsYm5ZZ1BTQkRiMjF0YzBWdWRtbHliMjV0Wlc1MExtTnZiVzF6TG5SbGJHVm5jbUZ0TzF4dUlDQWdJR052Ym5OMElIUnZhMlZ1SUQwZ1pXNTJVM1J5YVc1bktHVnVkajh1ZEc5clpXNHBPMXh1SUNBZ0lHbG1JQ2doZEc5clpXNHBJSEpsZEhWeWJpQjFibVJsWm1sdVpXUTdYRzRnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUhSdmEyVnVMRnh1SUNBZ0lDQWdZbUZ6WlZWeWJEb2daVzUyVTNSeWFXNW5LR1Z1ZGk1aVlYTmxWWEpzS1N4Y2JpQWdJQ0FnSUhScGJXVnZkWFE2SUdWdWRrNTFiV0psY2lobGJuWXVkR2x0Wlc5MWRDa3NYRzRnSUNBZ2ZUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1EyRnNiSE1nWVNCVVpXeGxaM0poYlNCQ2IzUWdRVkJKSUcxbGRHaHZaQ0IzYVhSb0lIUm9aU0JqYjI1bWFXZDFjbVZrSUdKdmRDQjBiMnRsYmx4dUlDQWdLaUJBYzNWdGJXRnllU0JUYUdGeVpXUWdjbVZ4ZFdWemRDQndZWFJvSUdadmNpQmhiR3dnVkdWc1pXZHlZVzBnYjNCbGNtRjBhVzl1Y3pvZ2NtVnpiMngyWlhNZ2RHaGxYRzRnSUNBcUlIUnZhMlZ1SUNoZ2NtVnhkV2x5WlZSdmEyVnVLQ2xnS1N3Z1lGQlBVMVJnY3lCMGFHVWdjR0Y1Ykc5aFpDQjBiMXh1SUNBZ0tpQmdMMkp2ZER4MGIydGxiajR2UEcxbGRHaHZaRDVnTENCeVpXcGxZM1J6SUc1dmJpMWdiMnRnSUVKdmRDQkJVRWtnY21WemNHOXVjMlZ6SUhkcGRHZ2dZVzVjYmlBZ0lDb2dZRWx1ZEdWeWJtRnNSWEp5YjNKZ0xDQmhibVFnYldGd2N5QjBjbUZ1YzNCdmNuUWdabUZwYkhWeVpYTWdkR2h5YjNWbmFDQjdRR3hwYm1zZ2FIUjBjRVZ5Y205eWZTNWNiaUFnSUNvZ1FIUmxiWEJzWVhSbElGUWdMU0JVYUdVZ1pYaHdaV04wWldRZ1lISmxjM1ZzZEdBZ2NHRjViRzloWkNCMGVYQmxJRzltSUhSb1pTQkNiM1FnUVZCSklISmxjM0J2Ym5ObExseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnYldWMGFHOWtJQzBnVkdobElFSnZkQ0JCVUVrZ2JXVjBhRzlrSUc1aGJXVWdLR1V1Wnk0Z1lGd2ljMlZ1WkUxbGMzTmhaMlZjSW1BcExseHVJQ0FnS2lCQWNHRnlZVzBnZTFKbFkyOXlaRHh6ZEhKcGJtY3NJSFZ1YTI1dmQyNCtmU0JiY0dGNWJHOWhaRjBnTFNCVWFHVWdTbE5QVGlCaWIyUjVJR1p2Y2lCMGFHVWdiV1YwYUc5a095QmtaV1poZFd4MGN5QjBieUJoYmlCbGJYQjBlU0J2WW1wbFkzUXVYRzRnSUNBcUlFQnlaWFIxY201eklIdFFjbTl0YVhObFBGUStmU0JVYUdVZ1lISmxjM1ZzZEdBZ2NHRjViRzloWkNCdlppQjBhR1VnUW05MElFRlFTU0J5WlhOd2IyNXpaUzVjYmlBZ0lDb2dRSFJvY205M2N5QjdTVzUwWlhKdVlXeEZjbkp2Y24wZ1YyaGxiaUJ1YnlCMGIydGxiaUJwY3lCamIyNW1hV2QxY21Wa0lHOXlJSFJvWlNCQ2IzUWdRVkJKSUdGdWMzZGxjbk1nZDJsMGFDQmdiMnM2SUdaaGJITmxZQzVjYmlBZ0lDb2dRSFJvY205M2N5QjdUbTkwUm05MWJtUkZjbkp2Y24wZ1YyaGxiaUIwYUdVZ1pXNWtjRzlwYm5RZ1lXNXpkMlZ5Y3lCM2FYUm9JRWhVVkZBZ05EQTBMbHh1SUNBZ0tpQkFkR2h5YjNkeklIdERiMjVtYkdsamRFVnljbTl5ZlNCWGFHVnVJSFJvWlNCbGJtUndiMmx1ZENCaGJuTjNaWEp6SUhkcGRHZ2dTRlJVVUNBME1Ea3VYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwSmhaRkpsY1hWbGMzUkZjbkp2Y24wZ1YyaGxiaUIwYUdVZ1pXNWtjRzlwYm5RZ1lXNXpkMlZ5Y3lCM2FYUm9JR0Z1ZVNCdmRHaGxjaUJJVkZSUUlHVnljbTl5SUhOMFlYUjFjeTVjYmlBZ0lDb3ZYRzRnSUhCeWIzUmxZM1JsWkNCaGMzbHVZeUJqWVd4c1BGUStLRnh1SUNBZ0lHMWxkR2h2WkRvZ2MzUnlhVzVuTEZ4dUlDQWdJSEJoZVd4dllXUTZJRkpsWTI5eVpEeHpkSEpwYm1jc0lIVnVhMjV2ZDI0K0lEMGdlMzFjYmlBZ0tUb2dVSEp2YldselpUeFVQaUI3WEc0Z0lDQWdZMjl1YzNRZ2RHOXJaVzRnUFNCMGFHbHpMbkpsY1hWcGNtVlViMnRsYmlncE8xeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTndiMjV6WlNBOUlHRjNZV2wwSUhSb2FYTXVZMnhwWlc1MExuQnZjM1E4VkdWc1pXZHlZVzFCY0dsU1pYTndiMjV6WlR4VVBqNG9YRzRnSUNBZ0lDQWdJR0F2WW05MEpIdDBiMnRsYm4wdkpIdHRaWFJvYjJSOVlDeGNiaUFnSUNBZ0lDQWdjR0Y1Ykc5aFpGeHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lHTnZibk4wSUdSaGRHRWdQU0J5WlhOd2IyNXpaUzVrWVhSaE8xeHVJQ0FnSUNBZ2FXWWdLQ0ZrWVhSaElIeDhJR1JoZEdFdWIyc2dJVDA5SUhSeWRXVXBJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YRzRnSUNBZ0lDQWdJQ0FnWUZSbGJHVm5jbUZ0SUVKdmRDQkJVRWtnSkh0dFpYUm9iMlI5SUdaaGFXeGxaRG9nSkh0Y2JpQWdJQ0FnSUNBZ0lDQWdJR1JoZEdFL0xtUmxjMk55YVhCMGFXOXVJRDgvSUZ3aWRXNXJibTkzYmlCbGNuSnZjbHdpWEc0Z0lDQWdJQ0FnSUNBZ2ZXQmNiaUFnSUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSEpsZEhWeWJpQmtZWFJoTG5KbGMzVnNkQ0JoY3lCVU8xeHVJQ0FnSUgwZ1kyRjBZMmdnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5Qm9kSFJ3UlhKeWIzSW9YQ0pVWld4bFozSmhiVndpTENCZ1FtOTBJRUZRU1NBa2UyMWxkR2h2WkgxZ0xDQmxjbkp2Y2lrN1hHNGdJQ0FnZlZ4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJHWlhSamFHVnpJSFJvWlNCaGRYUm9aVzUwYVdOaGRHVmtJR0p2ZENkeklHbGtaVzUwYVhSNVhHNGdJQ0FxSUVCemRXMXRZWEo1SUVOaGJHeHpJSFJvWlNCZ1oyVjBUV1ZnSUcxbGRHaHZaQ0JoYm1RZ2NtVjBkWEp1Y3lCMGFHVWdjbUYzSUdKdmRDQmtaWE5qY21sd2RHOXlYRzRnSUNBcUlDaHBibU5zZFdScGJtY2dZR2xrWUN3Z1lIVnpaWEp1WVcxbFlDd2dZVzVrSUdCallXNWZhbTlwYmw5bmNtOTFjSE5nSUdac1lXZHpLUzVjYmlBZ0lDb2dRSEpsZEhWeWJuTWdlMUJ5YjIxcGMyVThVbVZqYjNKa1BITjBjbWx1Wnl3Z2RXNXJibTkzYmo0K2ZTQlVhR1VnY21GM0lHQlZjMlZ5WUNCd1lYbHNiMkZrSUdSbGMyTnlhV0pwYm1jZ2RHaGxJR0p2ZEM1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3U1c1MFpYSnVZV3hGY25KdmNuMGdWMmhsYmlCdWJ5QjBiMnRsYmlCcGN5QmpiMjVtYVdkMWNtVmtJRzl5SUhSb1pTQkNiM1FnUVZCSklISmxhbVZqZEhNZ2RHaGxJR05oYkd3dVhHNGdJQ0FxSUVCMGFISnZkM01nZTA1dmRFWnZkVzVrUlhKeWIzSjlJRmRvWlc0Z2RHaGxJR1Z1WkhCdmFXNTBJR0Z1YzNkbGNuTWdkMmwwYUNCSVZGUlFJRFF3TkM1Y2JpQWdJQ29nUUhSb2NtOTNjeUI3UTI5dVpteHBZM1JGY25KdmNuMGdWMmhsYmlCMGFHVWdaVzVrY0c5cGJuUWdZVzV6ZDJWeWN5QjNhWFJvSUVoVVZGQWdOREE1TGx4dUlDQWdLaUJBZEdoeWIzZHpJSHRDWVdSU1pYRjFaWE4wUlhKeWIzSjlJRmRvWlc0Z2RHaGxJR1Z1WkhCdmFXNTBJR0Z1YzNkbGNuTWdkMmwwYUNCaGJua2diM1JvWlhJZ1NGUlVVQ0JsY25KdmNpQnpkR0YwZFhNdVhHNGdJQ0FxTDF4dUlDQmhjM2x1WXlCblpYUk5aU2dwT2lCUWNtOXRhWE5sUEZKbFkyOXlaRHh6ZEhKcGJtY3NJSFZ1YTI1dmQyNCtQaUI3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE11WTJGc2JEeFNaV052Y21ROGMzUnlhVzVuTENCMWJtdHViM2R1UGo0b1hDSm5aWFJOWlZ3aUtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1UyVnVaSE1nWVNCdFpYTnpZV2RsSUhSdklHRWdWR1ZzWldkeVlXMGdZMmhoZEZ4dUlDQWdLaUJBYzNWdGJXRnllU0JEWVd4c2N5QjBhR1VnWUhObGJtUk5aWE56WVdkbFlDQnRaWFJvYjJRZ2QybDBhQ0IwYUdVZ1pHVnpkR2x1WVhScGIyNGdZMmhoZEN3Z2RHVjRkQ3hjYmlBZ0lDb2dZVzVrSUhSb1pTQnlaWEYxWlhOMFpXUWdjR0Z5YzJVdmJtOTBhV1pwWTJGMGFXOXVMM0psY0d4NUwzUm9jbVZoWkNCdmNIUnBiMjV6TENCeVpYUjFjbTVwYm1jZ2RHaGxYRzRnSUNBcUlITmxiblFnYldWemMyRm5aU0JrWlhOamNtbHdkRzl5TGx4dUlDQWdLaUJBY0dGeVlXMGdlMVJsYkdWbmNtRnRVMlZ1WkUxbGMzTmhaMlZKYm5CMWRIMGdhVzV3ZFhRZ0xTQlVhR1VnYldWemMyRm5aU0JrWlhOMGFXNWhkR2x2Yml3Z1kyOXVkR1Z1ZEN3Z1lXNWtJRzl3ZEdsdmJuTXVYRzRnSUNBcUlFQnlaWFIxY201eklIdFFjbTl0YVhObFBGUmxiR1ZuY21GdFRXVnpjMkZuWlQ1OUlGUm9aU0J6Wlc1MElHMWxjM05oWjJVZ1pHVnpZM0pwY0hSdmNpNWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1NXNTBaWEp1WVd4RmNuSnZjbjBnVjJobGJpQnVieUIwYjJ0bGJpQnBjeUJqYjI1bWFXZDFjbVZrSUc5eUlIUm9aU0JDYjNRZ1FWQkpJSEpsYW1WamRITWdkR2hsSUcxbGMzTmhaMlV1WEc0Z0lDQXFJRUIwYUhKdmQzTWdlMDV2ZEVadmRXNWtSWEp5YjNKOUlGZG9aVzRnZEdobElHVnVaSEJ2YVc1MElHRnVjM2RsY25NZ2QybDBhQ0JJVkZSUUlEUXdOQzVjYmlBZ0lDb2dRSFJvY205M2N5QjdRMjl1Wm14cFkzUkZjbkp2Y24wZ1YyaGxiaUIwYUdVZ1pXNWtjRzlwYm5RZ1lXNXpkMlZ5Y3lCM2FYUm9JRWhVVkZBZ05EQTVMbHh1SUNBZ0tpQkFkR2h5YjNkeklIdENZV1JTWlhGMVpYTjBSWEp5YjNKOUlGZG9aVzRnZEdobElHVnVaSEJ2YVc1MElHRnVjM2RsY25NZ2QybDBhQ0JoYm5rZ2IzUm9aWElnU0ZSVVVDQmxjbkp2Y2lCemRHRjBkWE11WEc0Z0lDQXFJRUJsZUdGdGNHeGxYRzRnSUNBcUlHQmdZSFJ6WEc0Z0lDQXFJR0YzWVdsMElIUmxiR1ZuY21GdExuTmxibVJOWlhOellXZGxLSHRjYmlBZ0lDb2dJQ0JqYUdGMFNXUTZJRndpTFRFd01ERXlNelExTmpjNE9UQmNJaXhjYmlBZ0lDb2dJQ0IwWlhoME9pQmNJaXBTWld4bFlYTmxLaUF4TGpJdU1DQnBjeUJzYVhabFhDSXNYRzRnSUNBcUlDQWdjR0Z5YzJWTmIyUmxPaUJjSWsxaGNtdGtiM2R1VmpKY0lpeGNiaUFnSUNvZ0lDQmthWE5oWW14bFRtOTBhV1pwWTJGMGFXOXVPaUIwY25WbExGeHVJQ0FnS2lCOUtUdGNiaUFnSUNvZ1lHQmdYRzRnSUNBcUwxeHVJQ0JoYzNsdVl5QnpaVzVrVFdWemMyRm5aU2hjYmlBZ0lDQnBibkIxZERvZ1ZHVnNaV2R5WVcxVFpXNWtUV1Z6YzJGblpVbHVjSFYwWEc0Z0lDazZJRkJ5YjIxcGMyVThWR1ZzWldkeVlXMU5aWE56WVdkbFBpQjdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZMkZzYkR4VVpXeGxaM0poYlUxbGMzTmhaMlUrS0Z3aWMyVnVaRTFsYzNOaFoyVmNJaXdnZTF4dUlDQWdJQ0FnWTJoaGRGOXBaRG9nYVc1d2RYUXVZMmhoZEVsa0xGeHVJQ0FnSUNBZ2RHVjRkRG9nYVc1d2RYUXVkR1Y0ZEN4Y2JpQWdJQ0FnSUhCaGNuTmxYMjF2WkdVNklHbHVjSFYwTG5CaGNuTmxUVzlrWlN4Y2JpQWdJQ0FnSUdScGMyRmliR1ZmYm05MGFXWnBZMkYwYVc5dU9pQnBibkIxZEM1a2FYTmhZbXhsVG05MGFXWnBZMkYwYVc5dUxGeHVJQ0FnSUNBZ1pHbHpZV0pzWlY5M1pXSmZjR0ZuWlY5d2NtVjJhV1YzT2lCcGJuQjFkQzVrYVhOaFlteGxVSEpsZG1sbGR5eGNiaUFnSUNBZ0lISmxjR3g1WDNSdlgyMWxjM05oWjJWZmFXUTZJR2x1Y0hWMExuSmxjR3g1Vkc5TlpYTnpZV2RsU1dRc1hHNGdJQ0FnSUNCdFpYTnpZV2RsWDNSb2NtVmhaRjlwWkRvZ2FXNXdkWFF1YldWemMyRm5aVlJvY21WaFpFbGtMRnh1SUNBZ0lIMHBPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQlFiMnhzY3lCd1pXNWthVzVuSUdKdmRDQjFjR1JoZEdWelhHNGdJQ0FxSUVCemRXMXRZWEo1SUVOaGJHeHpJSFJvWlNCZ1oyVjBWWEJrWVhSbGMyQWdiV1YwYUc5a0xDQnZjSFJwYjI1aGJHeDVJSGRwZEdnZ1lXNGdZRzltWm5ObGRHQmNiaUFnSUNvZ0tHTnZibVpwY20xaGRHbHZiaUJ2WmlCd2NtOWpaWE56WldRZ2RYQmtZWFJsY3lrc0lHRWdZR3hwYldsMFlDQnZiaUJ5WlhSMWNtNWxaQ0IxY0dSaGRHVnpMQ0JoYm1RZ1lWeHVJQ0FnS2lCc2IyNW5MWEJ2Ykd4cGJtY2dZSFJwYldWdmRYUlRaV052Ym1SellDNGdRV1IyWVc1alpTQmdiMlptYzJWMFlDQndZWE4wSUdWaFkyZ2dhR0Z1Wkd4bFpGeHVJQ0FnS2lCMWNHUmhkR1VuY3lCZ2RYQmtZWFJsWDJsa1lDQjBieUJoZG05cFpDQnlaUzF5WldGa2FXNW5JSFJvWlcwdVhHNGdJQ0FxSUVCd1lYSmhiU0I3YjJKcVpXTjBmU0JiYjNCMGFXOXVjMTBnTFNCUWIyeHNhVzVuSUc5d2RHbHZibk11WEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmJiM0IwYVc5dWN5NXZabVp6WlhSZElDMGdWR2hsSUdacGNuTjBJSFZ3WkdGMFpTQkpSQ0IwYnlCeVpYUjFjbTRnS0hCeVpYWnBiM1Z6SUVsRUlDc2dNU2t1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdiblZ0WW1WeWZTQmJiM0IwYVc5dWN5NXNhVzFwZEYwZ0xTQk5ZWGhwYlhWdElHNTFiV0psY2lCdlppQjFjR1JoZEdWeklIUnZJSEpsZEhWeWJpQW9NUzB4TURBcExseHVJQ0FnS2lCQWNHRnlZVzBnZTI1MWJXSmxjbjBnVzI5d2RHbHZibk11ZEdsdFpXOTFkRk5sWTI5dVpITmRJQzBnVEc5dVp5MXdiMnhzYVc1bklIUnBiV1Z2ZFhRZ2FXNGdjMlZqYjI1a2N5NWNiaUFnSUNvZ1FISmxkSFZ5Ym5NZ2UxQnliMjFwYzJVOFFYSnlZWGs4VW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNCtQbjBnVkdobElISmhkeUJnVlhCa1lYUmxZQ0J3WVhsc2IyRmtjeTVjYmlBZ0lDb2dRSFJvY205M2N5QjdTVzUwWlhKdVlXeEZjbkp2Y24wZ1YyaGxiaUJ1YnlCMGIydGxiaUJwY3lCamIyNW1hV2QxY21Wa0lHOXlJSFJvWlNCQ2IzUWdRVkJKSUhKbGFtVmpkSE1nZEdobElHTmhiR3d1WEc0Z0lDQXFJRUIwYUhKdmQzTWdlMDV2ZEVadmRXNWtSWEp5YjNKOUlGZG9aVzRnZEdobElHVnVaSEJ2YVc1MElHRnVjM2RsY25NZ2QybDBhQ0JJVkZSUUlEUXdOQzVjYmlBZ0lDb2dRSFJvY205M2N5QjdRMjl1Wm14cFkzUkZjbkp2Y24wZ1YyaGxiaUIwYUdVZ1pXNWtjRzlwYm5RZ1lXNXpkMlZ5Y3lCM2FYUm9JRWhVVkZBZ05EQTVJQ2hsTG1jdUlHRnViM1JvWlhJZ1lHZGxkRlZ3WkdGMFpYTmdJR05oYkd3Z2FYTWdhVzRnWm14cFoyaDBLUzVjYmlBZ0lDb2dRSFJvY205M2N5QjdRbUZrVW1WeGRXVnpkRVZ5Y205eWZTQlhhR1Z1SUhSb1pTQmxibVJ3YjJsdWRDQmhibk4zWlhKeklIZHBkR2dnWVc1NUlHOTBhR1Z5SUVoVVZGQWdaWEp5YjNJZ2MzUmhkSFZ6TGx4dUlDQWdLaTljYmlBZ1lYTjVibU1nWjJWMFZYQmtZWFJsY3loY2JpQWdJQ0J2Y0hScGIyNXpPaUI3SUc5bVpuTmxkRDg2SUc1MWJXSmxjanNnYkdsdGFYUS9PaUJ1ZFcxaVpYSTdJSFJwYldWdmRYUlRaV052Ym1SelB6b2diblZ0WW1WeUlIMGdQU0I3ZlZ4dUlDQXBPaUJRY205dGFYTmxQRUZ5Y21GNVBGSmxZMjl5WkR4emRISnBibWNzSUhWdWEyNXZkMjQrUGo0Z2UxeHVJQ0FnSUhKbGRIVnliaUIwYUdsekxtTmhiR3c4UVhKeVlYazhVbVZqYjNKa1BITjBjbWx1Wnl3Z2RXNXJibTkzYmo0K1BpaGNJbWRsZEZWd1pHRjBaWE5jSWl3Z2UxeHVJQ0FnSUNBZ2IyWm1jMlYwT2lCdmNIUnBiMjV6TG05bVpuTmxkQ3hjYmlBZ0lDQWdJR3hwYldsME9pQnZjSFJwYjI1ekxteHBiV2wwTEZ4dUlDQWdJQ0FnZEdsdFpXOTFkRG9nYjNCMGFXOXVjeTUwYVcxbGIzVjBVMlZqYjI1a2N5eGNiaUFnSUNCOUtUdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1VHOXpkSE1nWVNCamFHRjBJR0ZqZEdsdmJpQW9kSGx3YVc1bklHbHVaR2xqWVhSdmNpbGNiaUFnSUNvZ1FITjFiVzFoY25rZ1EyRnNiSE1nZEdobElHQnpaVzVrUTJoaGRFRmpkR2x2Ym1BZ2JXVjBhRzlrSUhOdklHTnNhV1Z1ZEhNZ1pHbHpjR3hoZVNCMGFHVWdaMmwyWlc1Y2JpQWdJQ29nWVdOMGFXOXVJQ2hsTG1jdUlHQmNJblI1Y0dsdVoxd2lZQ2tnWm05eUlIVndJSFJ2SUdacGRtVWdjMlZqYjI1a2N5NWNiaUFnSUNvZ1FIQmhjbUZ0SUh0emRISnBibWNnZkNCdWRXMWlaWEo5SUdOb1lYUkpaQ0F0SUZSb1pTQmtaWE4wYVc1aGRHbHZiaUJqYUdGMElFbEVJRzl5SUdCQVkyaGhibTVsYkhWelpYSnVZVzFsWUM1Y2JpQWdJQ29nUUhCaGNtRnRJSHR6ZEhKcGJtZDlJRnRoWTNScGIyNWRJQzBnVkdobElHRmpkR2x2YmlCMGJ5QmthWE53YkdGNU95QmtaV1poZFd4MGN5QjBieUJnWENKMGVYQnBibWRjSW1BdVhHNGdJQ0FxSUVCeVpYUjFjbTV6SUh0UWNtOXRhWE5sUEdKdmIyeGxZVzQrZlNCWGFHVjBhR1Z5SUhSb1pTQmhZM1JwYjI0Z2QyRnpJR0ZqWTJWd2RHVmtMbHh1SUNBZ0tpQkFkR2h5YjNkeklIdEpiblJsY201aGJFVnljbTl5ZlNCWGFHVnVJRzV2SUhSdmEyVnVJR2x6SUdOdmJtWnBaM1Z5WldRZ2IzSWdkR2hsSUVKdmRDQkJVRWtnY21WcVpXTjBjeUIwYUdVZ1kyRnNiQzVjYmlBZ0lDb2dRSFJvY205M2N5QjdUbTkwUm05MWJtUkZjbkp2Y24wZ1YyaGxiaUIwYUdVZ1pXNWtjRzlwYm5RZ1lXNXpkMlZ5Y3lCM2FYUm9JRWhVVkZBZ05EQTBMbHh1SUNBZ0tpQkFkR2h5YjNkeklIdERiMjVtYkdsamRFVnljbTl5ZlNCWGFHVnVJSFJvWlNCbGJtUndiMmx1ZENCaGJuTjNaWEp6SUhkcGRHZ2dTRlJVVUNBME1Ea3VYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwSmhaRkpsY1hWbGMzUkZjbkp2Y24wZ1YyaGxiaUIwYUdVZ1pXNWtjRzlwYm5RZ1lXNXpkMlZ5Y3lCM2FYUm9JR0Z1ZVNCdmRHaGxjaUJJVkZSUUlHVnljbTl5SUhOMFlYUjFjeTVjYmlBZ0lDb3ZYRzRnSUdGemVXNWpJSE5sYm1SRGFHRjBRV04wYVc5dUtGeHVJQ0FnSUdOb1lYUkpaRG9nYzNSeWFXNW5JSHdnYm5WdFltVnlMRnh1SUNBZ0lHRmpkR2x2YmlBOUlGd2lkSGx3YVc1blhDSmNiaUFnS1RvZ1VISnZiV2x6WlR4aWIyOXNaV0Z1UGlCN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNdVkyRnNiRHhpYjI5c1pXRnVQaWhjSW5ObGJtUkRhR0YwUVdOMGFXOXVYQ0lzSUh0Y2JpQWdJQ0FnSUdOb1lYUmZhV1E2SUdOb1lYUkpaQ3hjYmlBZ0lDQWdJR0ZqZEdsdmJpeGNiaUFnSUNCOUtUdGNiaUFnZlZ4dWZWeHVJbDE5Il19
|
|
@@ -20,5 +20,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
20
20
|
* @description Re-exports the Telegram client-based service and its types.
|
|
21
21
|
*/
|
|
22
22
|
__exportStar(require("./TelegramService.cjs"), exports);
|
|
23
|
-
//# sourceMappingURL=
|
|
24
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbXMvdGVsZWdyYW0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7R0FJRztBQUNILHFDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvY29tbXMvdGVsZWdyYW1cbiAqIEBzdW1tYXJ5IFRlbGVncmFtIEJvdCBBUEkgc2VydmljZSAobWVzc2FnaW5nLCB1cGRhdGVzLCBjaGF0IGFjdGlvbnMpLlxuICogQGRlc2NyaXB0aW9uIFJlLWV4cG9ydHMgdGhlIFRlbGVncmFtIGNsaWVudC1iYXNlZCBzZXJ2aWNlIGFuZCBpdHMgdHlwZXMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL1RlbGVncmFtU2VydmljZVwiO1xuIl19
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7R0FJRztBQUNILHVEQUFxQztBQUNyQyxzbEJBQXNsQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvY29tbXMvdGVsZWdyYW1cbiAqIEBzdW1tYXJ5IFRlbGVncmFtIEJvdCBBUEkgc2VydmljZSAobWVzc2FnaW5nLCB1cGRhdGVzLCBjaGF0IGFjdGlvbnMpLlxuICogQGRlc2NyaXB0aW9uIFJlLWV4cG9ydHMgdGhlIFRlbGVncmFtIGNsaWVudC1iYXNlZCBzZXJ2aWNlIGFuZCBpdHMgdHlwZXMuXG4gKi9cbmV4cG9ydCAqIGZyb20gXCIuL1RlbGVncmFtU2VydmljZS5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12WTI5dGJYTXZkR1ZzWldkeVlXMHZhVzVrWlhndWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUU3T3pzN1IwRkpSenRCUVVOSUxIRkRRVUZyUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1FHMXZaSFZzWlNCcGJuUmxaM0poZEdsdmJuTXZZMjl0YlhNdmRHVnNaV2R5WVcxY2JpQXFJRUJ6ZFcxdFlYSjVJRlJsYkdWbmNtRnRJRUp2ZENCQlVFa2djMlZ5ZG1salpTQW9iV1Z6YzJGbmFXNW5MQ0IxY0dSaGRHVnpMQ0JqYUdGMElHRmpkR2x2Ym5NcExseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlGSmxMV1Y0Y0c5eWRITWdkR2hsSUZSbGJHVm5jbUZ0SUdOc2FXVnVkQzFpWVhObFpDQnpaWEoyYVdObElHRnVaQ0JwZEhNZ2RIbHdaWE11WEc0Z0tpOWNibVY0Y0c5eWRDQXFJR1p5YjIwZ1hDSXVMMVJsYkdWbmNtRnRVMlZ5ZG1salpWd2lPMXh1SWwxOSJdfQ==
|
|
@@ -270,5 +270,5 @@ class WhatsAppService extends index_js_1.HttpApiService {
|
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
272
|
exports.WhatsAppService = WhatsAppService;
|
|
273
|
-
//# sourceMappingURL=WhatsAppService.js.map
|
|
274
|
-
//# sourceMappingURL=WhatsAppService.cjs.map
|
|
273
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2hhdHNBcHBTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbW1zL3doYXRzYXBwL1doYXRzQXBwU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7O0dBWUc7QUFDSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLDRCQUF1QjtBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSwyQ0FBc0M7QUFDckUsT0FBTyxFQUNMLGNBQWMsRUFFZCxTQUFTLEdBQ1YscUNBQTBCO0FBZ0kzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFDRztBQUNILE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQXFDO0lBQTFFOztRQUNFOztXQUVHO1FBQ2dCLGdCQUFXLEdBQUcsVUFBVSxDQUFDO0lBcU85QyxDQUFDO0lBbk9DOzs7O09BSUc7SUFDTyxjQUFjO1FBQ3RCLE9BQU8sa0NBQWtDLENBQUM7SUFDNUMsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNPLFdBQVcsQ0FDbkIsTUFBNkI7UUFFN0IsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxVQUFVLE1BQU0sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNPLHFCQUFxQjtRQUc3QixNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO1FBQzVDLE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLEdBQUcsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsS0FBSyxJQUFJ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V0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xELENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL2NvbW1zL3doYXRzYXBwL3NlcnZpY2VcbiAqIEBzdW1tYXJ5IFdoYXRzQXBwIENsb3VkIEFQSSBpbnRlZ3JhdGlvbiBzZXJ2aWNlIGZvciB0ZXh0LCB0ZW1wbGF0ZSwgYW5kIG1lZGlhIG1lc3NhZ2VzLlxuICogQGRlc2NyaXB0aW9uIEV4cG9zZXMgdGhlIE1ldGEgV2hhdHNBcHAgQ2xvdWQgQVBJIChHcmFwaCBgdjE5LjBgKSBhcyBhblxuICogdW5kZWNvcmF0ZWQgY2xpZW50LWJhc2VkIHNlcnZpY2UgYnVpbHQgb24ge0BsaW5rIEh0dHBBcGlTZXJ2aWNlfS5cbiAqIENvbmZpZ3VyYXRpb24gY29tZXMgZnJvbSBhbiBleHBsaWNpdCBgV2hhdHNBcHBTZXJ2aWNlQ29uZmlnYCBvciB0aGVcbiAqIGBjb21tcy53aGF0c0FwcGAgZW52aXJvbm1lbnQgc2xpY2U7IHRoZSBhY2Nlc3MgdG9rZW4gaXMgc2VudCBhc1xuICogYEF1dGhvcml6YXRpb246IEJlYXJlciA8dG9rZW4+YCBhbmQgdGhlIHNlbmRlciBpcyBpZGVudGlmaWVkIGJ5IHRoZVxuICogY29uZmlndXJlZCBgcGhvbmVOdW1iZXJJZGAuIENyZWRlbnRpYWxzIGFyZSByZWZlcmVuY2VkIGZyb20gY29uZmlndXJhdGlvblxuICogKGFuZCwgZnJvbSBhcy1ncmFwaCBub2RlcywgZnJvbSB0aGUgcmVzb2x2ZWQgYHdoYXRzYXBwYCBjcmVkZW50aWFsIHNlY3JldClcbiAqIGFuZCBhcmUgbmV2ZXIgZW1iZWRkZWQgaW4gc291cmNlLiBGYWlsdXJlcyBhcmUgbWFwcGVkIHRvIGRlY2FmIGVycm9ycyB2aWFcbiAqIHtAbGluayBodHRwRXJyb3J9LlxuICovXG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBDb21tc0Vudmlyb25tZW50IH0gZnJvbSBcIi4uL2Vudmlyb25tZW50XCI7XG5pbXBvcnQgeyBlbnZOdW1iZXIsIGVudlN0cmluZyB9IGZyb20gXCIuLi8uLi9zaGFyZWQvZW52aXJvbm1lbnRWYWx1ZVwiO1xuaW1wb3J0IHtcbiAgSHR0cEFwaVNlcnZpY2UsXG4gIHR5cGUgSHR0cEFwaVNlcnZpY2VDb25maWcsXG4gIGh0dHBFcnJvcixcbn0gZnJvbSBcIi4uLy4uL3NoYXJlZC9odHRwXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBXaGF0c0FwcCBzZXJ2aWNlXG4gKiBAc3VtbWFyeSBFeHRlbmRzIHtAbGluayBIdHRwQXBpU2VydmljZUNvbmZpZ30gd2l0aCB0aGUgTWV0YSBhY2Nlc3MgdG9rZW5cbiAqIChzZW50IGFzIGEgYmVhcmVyIHRva2VuKSBhbmQgdGhlIHNlbmRlciBgcGhvbmVOdW1iZXJJZGAgdXNlZCBpbiB0aGVcbiAqIGAvbWVzc2FnZXNgIHBhdGguIFdoZW4gb21pdHRlZCwgdGhlIGBjb21tcy53aGF0c0FwcGAgZW52aXJvbm1lbnQgc2xpY2VcbiAqIHN1cHBsaWVzIGJvdGggKHBsdXMgb3B0aW9uYWwgYGJhc2VVcmxgL2B0aW1lb3V0YCkuIEJvdGggdmFsdWVzIGFyZVxuICogY3JlZGVudGlhbCByZWZlcmVuY2VzLCBuZXZlciBsaXRlcmFscyBpbiBzb3VyY2UuXG4gKiBAY2F0ZWdvcnkgQ29tbXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2NvbW1zL3doYXRzYXBwL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXaGF0c0FwcFNlcnZpY2VDb25maWcgZXh0ZW5kcyBIdHRwQXBpU2VydmljZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTWV0YSBXaGF0c0FwcCBDbG91ZCBBUEkgYWNjZXNzIHRva2VuXG4gICAqIEBzdW1tYXJ5IFNlbnQgYXMgYEF1dGhvcml6YXRpb246IEJlYXJlciA8dG9rZW4+YCB3aXRoIGV2ZXJ5IEFQSSBjYWxsLlxuICAgKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2VuZGVyIHBob25lIG51bWJlciBJRCB1c2VkIGluIHRoZSBtZXNzYWdlcyBwYXRoXG4gICAqL1xuICBwaG9uZU51bWJlcklkPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnB1dCBmb3Igc2VuZGluZyBhIFdoYXRzQXBwIHRleHQgbWVzc2FnZVxuICogQHN1bW1hcnkgQ2FycmllcyB0aGUgcmVjaXBpZW50IChgdG9gLCBFLjE2NCBkaWdpdHMgd2l0aG91dCBgK2ApLCB0aGUgdGV4dFxuICogYm9keSwgYW5kIHdoZXRoZXIgbGluayBwcmV2aWV3cyBhcmUgZ2VuZXJhdGVkLlxuICogQGNhdGVnb3J5IENvbW1zXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9jb21tcy93aGF0c2FwcC9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2hhdHNBcHBUZXh0SW5wdXQge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlY2lwaWVudCBwaG9uZSBudW1iZXIgaW4gaW50ZXJuYXRpb25hbCBmb3JtYXRcbiAgICovXG4gIHRvOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGV4dCBtZXNzYWdlIGJvZHlcbiAgICovXG4gIHRleHQ6IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBXaGV0aGVyIFdoYXRzQXBwIGdlbmVyYXRlcyBhIGxpbmsgcHJldmlld1xuICAgKi9cbiAgcHJldmlld1VybD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIElucHV0IGZvciBzZW5kaW5nIGEgV2hhdHNBcHAgdGVtcGxhdGUgbWVzc2FnZVxuICogQHN1bW1hcnkgQ2FycmllcyB0aGUgcmVjaXBpZW50LCB0aGUgYXBwcm92ZWQgYHRlbXBsYXRlTmFtZWAsIGl0c1xuICogYGxhbmd1YWdlQ29kZWAsIGFuZCBvcHRpb25hbCB0ZW1wbGF0ZSBgY29tcG9uZW50c2AuXG4gKiBAY2F0ZWdvcnkgQ29tbXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2NvbW1zL3doYXRzYXBwL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXaGF0c0FwcFRlbXBsYXRlSW5wdXQge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlY2lwaWVudCBwaG9uZSBudW1iZXIgaW4gaW50ZXJuYXRpb25hbCBmb3JtYXRcbiAgICovXG4gIHRvOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTmFtZSBvZiB0aGUgYXBwcm92ZWQgbWVzc2FnZSB0ZW1wbGF0ZVxuICAgKi9cbiAgdGVtcGxhdGVOYW1lOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGVtcGxhdGUgbGFuZ3VhZ2UgY29kZSAoZS5nLiBgXCJlbl9VU1wiYClcbiAgICovXG4gIGxhbmd1YWdlQ29kZTogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE9wdGlvbmFsIHRlbXBsYXRlIGNvbXBvbmVudHMgKGhlYWRlci9ib2R5L2J1dHRvbiBwYXJhbWV0ZXJzKVxuICAgKi9cbiAgY29tcG9uZW50cz86IHVua25vd25bXTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gU3VwcG9ydGVkIFdoYXRzQXBwIG1lZGlhIG1lc3NhZ2UgdHlwZXNcbiAqIEBzdW1tYXJ5IFRoZSBtZWRpYSBraW5kcyB0aGUgQ2xvdWQgQVBJIGFjY2VwdHMgaW4gdGhlIG1lc3NhZ2UgYHR5cGVgIGZpZWxkLlxuICogQGNhdGVnb3J5IENvbW1zXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9jb21tcy93aGF0c2FwcC9zZXJ2aWNlXG4gKi9cbmV4cG9ydCB0eXBlIFdoYXRzQXBwTWVkaWFUeXBlID0gXCJpbWFnZVwiIHwgXCJhdWRpb1wiIHwgXCJ2aWRlb1wiIHwgXCJkb2N1bWVudFwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnB1dCBmb3Igc2VuZGluZyBhIFdoYXRzQXBwIG1lZGlhIG1lc3NhZ2VcbiAqIEBzdW1tYXJ5IENhcnJpZXMgdGhlIHJlY2lwaWVudCwgdGhlIG1lZGlhIGB0eXBlYCwgYW5kIGVpdGhlciBhIHByZXZpb3VzbHlcbiAqIHVwbG9hZGVkIGBtZWRpYUlkYCBvciBhIHB1YmxpYyBgbGlua2AgKG9uZSBpcyByZXF1aXJlZCksIHBsdXMgYW4gb3B0aW9uYWxcbiAqIGBjYXB0aW9uYCBhbmQgYGZpbGVuYW1lYC5cbiAqIEBjYXRlZ29yeSBDb21tc1xuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvY29tbXMvd2hhdHNhcHAvc2VydmljZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFdoYXRzQXBwTWVkaWFJbnB1dCB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVjaXBpZW50IHBob25lIG51bWJlciBpbiBpbnRlcm5hdGlvbmFsIGZvcm1hdFxuICAgKi9cbiAgdG86IHN0cmluZztcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBNZWRpYSBraW5kIHNlbnQgaW4gdGhlIG1lc3NhZ2UgYHR5cGVgIGZpZWxkXG4gICAqL1xuICB0eXBlOiBXaGF0c0FwcE1lZGlhVHlwZTtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBJRCBvZiBwcmV2aW91c2x5IHVwbG9hZGVkIFdoYXRzQXBwIG1lZGlhXG4gICAqL1xuICBtZWRpYUlkPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFB1YmxpYyBVUkwgb2YgdGhlIG1lZGlhIChhbHRlcm5hdGl2ZSB0byBgbWVkaWFJZGApXG4gICAqL1xuICBsaW5rPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE9wdGlvbmFsIGNhcHRpb24gKGltYWdlcywgdmlkZW9zLCBkb2N1bWVudHMpXG4gICAqL1xuICBjYXB0aW9uPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIE9wdGlvbmFsIGZpbGVuYW1lIChkb2N1bWVudHMpXG4gICAqL1xuICBmaWxlbmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gSW5wdXQgZm9yIG1hcmtpbmcgYSBXaGF0c0FwcCBtZXNzYWdlIGFzIHJlYWRcbiAqIEBzdW1tYXJ5IENhcnJpZXMgdGhlIGluYm91bmQgYG1lc3NhZ2VJZGAgdG8gYWNrbm93bGVkZ2UuXG4gKiBAY2F0ZWdvcnkgQ29tbXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6aW50ZWdyYXRpb25zL2NvbW1zL3doYXRzYXBwL3NlcnZpY2VcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBXaGF0c0FwcFJlYWRJbnB1dCB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSUQgb2YgdGhlIGluYm91bmQgbWVzc2FnZSB0byBtYXJrIHJlYWRcbiAgICovXG4gIG1lc3NhZ2VJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBXaGF0c0FwcCBDbG91ZCBBUEkgaW50ZWdyYXRpb24gc2VydmljZVxuICogQHN1bW1hcnkgQW4gdW5kZWNvcmF0ZWQgSFRUUCBzZXJ2aWNlIGZvciB0ZXh0LCB0ZW1wbGF0ZSwgYW5kIG1lZGlhXG4gKiBtZXNzYWdlcywgcmVhZCByZWNlaXB0cywgYW5kIG1lZGlhIG1ldGFkYXRhLiBFdmVyeSBtZXNzYWdlIG9wZXJhdGlvbiBuZWVkc1xuICogYm90aCB0aGUgYWNjZXNzIHRva2VuIGFuZCB0aGUgc2VuZGVyIHBob25lIG51bWJlciBJRDsgbWlzc2luZyBjcmVkZW50aWFscyBvclxuICogaWRlbnRpZmllcnMgcmFpc2UgYEludGVybmFsRXJyb3JgLCBhbmQgdHJhbnNwb3J0IGZhaWx1cmVzIGFyZSBtYXBwZWQgdG8gZGVjYWZcbiAqIGVycm9ycyB2aWEge0BsaW5rIGh0dHBFcnJvcn0uXG4gKiBAY2xhc3MgV2hhdHNBcHBTZXJ2aWNlXG4gKiBAZXh0ZW5kcyBIdHRwQXBpU2VydmljZVxuICogQGNhdGVnb3J5IENvbW1zXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IFdoYXRzQXBwU2VydmljZSB9IGZyb20gXCJAZGVjYWYtdHMvaW50ZWdyYXRpb25zL2NvbW1zL3doYXRzYXBwXCI7XG4gKlxuICogY29uc3Qgd2hhdHNhcHAgPSBuZXcgV2hhdHNBcHBTZXJ2aWNlKCk7XG4gKiBhd2FpdCB3aGF0c2FwcC5pbml0aWFsaXplKHtcbiAqICAgdG9rZW46IHByb2Nlc3MuZW52LkdSQVBIX0NSRURFTlRJQUxfV0hBVFNBUFBfVE9LRU4sXG4gKiAgIHBob25lTnVtYmVySWQ6IHByb2Nlc3MuZW52LldIQVRTQVBQX1BIT05FX05VTUJFUl9JRCxcbiAqIH0pO1xuICogYXdhaXQgd2hhdHNhcHAuc2VuZFRleHQoeyB0bzogXCIxNTU1MTIzNDU2N1wiLCB0ZXh0OiBcIkhlbGxvXCIgfSk7XG4gKiBgYGBcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgYXV0b251bWJlclxuICogICBwYXJ0aWNpcGFudCBDYWxsZXJcbiAqICAgcGFydGljaXBhbnQgU2VydmljZSBhcyBXaGF0c0FwcFNlcnZpY2VcbiAqICAgcGFydGljaXBhbnQgR3JhcGggYXMgV2hhdHNBcHAgQ2xvdWQgQVBJXG4gKiAgIENhbGxlci0+PlNlcnZpY2U6IHNlbmRUZXh0KGlucHV0KVxuICogICBhY3RpdmF0ZSBTZXJ2aWNlXG4gKiAgIFNlcnZpY2UtPj5TZXJ2aWNlOiByZXF1aXJlVG9rZW5BbmRQaG9uZSgpXG4gKiAgIFNlcnZpY2UtPj5HcmFwaDogUE9TVCAve3Bob25lTnVtYmVySWR9L21lc3NhZ2VzXG4gKiAgIGFjdGl2YXRlIEdyYXBoXG4gKiAgIEdyYXBoLS0+PlNlcnZpY2U6IG1lc3NhZ2UgcGF5bG9hZFxuICogICBkZWFjdGl2YXRlIEdyYXBoXG4gKiAgIFNlcnZpY2UtLT4+Q2FsbGVyOiBtZXNzYWdlIHBheWxvYWRcbiAqICAgZGVhY3RpdmF0ZSBTZXJ2aWNlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9jb21tcy93aGF0c2FwcC9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBXaGF0c0FwcFNlcnZpY2UgZXh0ZW5kcyBIdHRwQXBpU2VydmljZTxXaGF0c0FwcFNlcnZpY2VDb25maWc+IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgcHJvdmlkZXIgbmFtZSB1c2VkIGluIGVycm9yIG1lc3NhZ2VzXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VydmljZU5hbWUgPSBcIldoYXRzQXBwXCI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgV2hhdHNBcHAgQ2xvdWQgQVBJIGJhc2UgVVJMXG4gICAqIEBzdW1tYXJ5IFVzZWQgd2hlbiB0aGUgcmVzb2x2ZWQgY29uZmlnIGNhcnJpZXMgbm8gYGJhc2VVcmxgLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBgXCJodHRwczovL2dyYXBoLmZhY2Vib29rLmNvbS92MTkuMFwiYC5cbiAgICovXG4gIHByb3RlY3RlZCBkZWZhdWx0QmFzZVVybCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBcImh0dHBzOi8vZ3JhcGguZmFjZWJvb2suY29tL3YxOS4wXCI7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEJ1aWxkcyB0aGUgV2hhdHNBcHAgYmVhcmVyIGF1dGhvcml6YXRpb24gaGVhZGVyc1xuICAgKiBAc3VtbWFyeSBSZXR1cm5zIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHRva2VuPmAgd2hlbiBjb25maWd1cmVkLCBhbmQgbm9cbiAgICogaGVhZGVycyBvdGhlcndpc2UuXG4gICAqIEBwYXJhbSB7V2hhdHNBcHBTZXJ2aWNlQ29uZmlnfSBjb25maWcgLSBUaGUgcmVzb2x2ZWQgc2VydmljZSBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgc3RyaW5nPn0gVGhlIGF1dGhvcml6YXRpb24gaGVhZGVycyAoZW1wdHkgd2l0aG91dCBhIHRva2VuKS5cbiAgICovXG4gIHByb3RlY3RlZCBhdXRoSGVhZGVycyhcbiAgICBjb25maWc6IFdoYXRzQXBwU2VydmljZUNvbmZpZ1xuICApOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gY29uZmlnLnRva2VuID8geyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7Y29uZmlnLnRva2VufWAgfSA6IHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZWFkcyB0aGUgV2hhdHNBcHAgY3JlZGVudGlhbHMgYW5kIGRlZmF1bHRzIGZyb20gdGhlIGVudmlyb25tZW50XG4gICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBgY29tbXMud2hhdHNBcHBgIHNsaWNlIGFuZCByZXR1cm5zIGEgcGFydGlhbCBjb25maWdcbiAgICogd2hlbiBhIHRva2VuIG9yIHBob25lIG51bWJlciBJRCBpcyBjb25maWd1cmVkLCBgdW5kZWZpbmVkYCBvdGhlcndpc2UuXG4gICAqIFZhbHVlcyBwYXNzIHRocm91Z2ggYGVudlN0cmluZ2AvYGVudk51bWJlcmAgdG8gcmVqZWN0IHVuc2V0LWxlYWYgcHJveGllcy5cbiAgICogQHJldHVybnMge1BhcnRpYWw8V2hhdHNBcHBTZXJ2aWNlQ29uZmlnPiB8IHVuZGVmaW5lZH0gQSBwYXJ0aWFsIGNvbmZpZywgb3IgYHVuZGVmaW5lZGAgd2hlbiBuZWl0aGVyIGNyZWRlbnRpYWwgaXMgY29uZmlndXJlZC5cbiAgICovXG4gIHByb3RlY3RlZCBjb25maWdGcm9tRW52aXJvbm1lbnQoKTpcbiAgICB8IFBhcnRpYWw8V2hhdHNBcHBTZXJ2aWNlQ29uZmlnPlxuICAgIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBlbnYgPSBDb21tc0Vudmlyb25tZW50LmNvbW1zLndoYXRzQXBwO1xuICAgIGNvbnN0IHRva2VuID0gZW52U3RyaW5nKGVudj8udG9rZW4pO1xuICAgIGNvbnN0IHBob25lTnVtYmVySWQgPSBlbnZTdHJpbmcoZW52Py5waG9uZU51bWJlcklkKTtcbiAgICBpZiAoIXRva2VuICYmICFwaG9uZU51bWJlcklkKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiB7XG4gICAgICB0b2tlbixcbiAgICAgIHBob25lTnVtYmVySWQsXG4gICAgICBiYXNlVXJsOiBlbnZTdHJpbmcoZW52LmJhc2VVcmwpLFxuICAgICAgdGltZW91dDogZW52TnVtYmVyKGVudi50aW1lb3V0KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBBc3NlcnRzIHRoZSBhY2Nlc3MgdG9rZW4gYW5kIHNlbmRlciBwaG9uZSBudW1iZXIgSURcbiAgICogQHN1bW1hcnkgQ2FsbHMgYHJlcXVpcmVUb2tlbigpYCBhbmQgcmV0dXJucyB0aGUgY29uZmlndXJlZFxuICAgKiBgcGhvbmVOdW1iZXJJZGAgdXNlZCB0byBidWlsZCB0aGUgbWVzc2FnZXMgcGF0aC5cbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGNvbmZpZ3VyZWQgc2VuZGVyIHBob25lIG51bWJlciBJRC5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBubyB0b2tlbiBvciBwaG9uZSBudW1iZXIgSUQgaXMgY29uZmlndXJlZC5cbiAgICovXG4gIHByb3RlY3RlZCByZXF1aXJlVG9rZW5BbmRQaG9uZSgpOiBzdHJpbmcge1xuICAgIHRoaXMucmVxdWlyZVRva2VuKCk7XG4gICAgY29uc3QgcGhvbmVOdW1iZXJJZCA9IHRoaXMuY29uZmlnLnBob25lTnVtYmVySWQ7XG4gICAgaWYgKCFwaG9uZU51bWJlcklkKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIldoYXRzQXBwIHJlcXVpcmVzIGEgcGhvbmUgbnVtYmVyIGlkXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcGhvbmVOdW1iZXJJZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBlbmNvZGVkIG1lc3NhZ2VzIHBhdGggZm9yIGEgc2VuZGVyXG4gICAqIEBzdW1tYXJ5IEVuY29kZXMgdGhlIHBob25lIG51bWJlciBJRCBpbnRvIGAvPGlkPi9tZXNzYWdlc2AuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwaG9uZU51bWJlcklkIC0gVGhlIHNlbmRlciBwaG9uZSBudW1iZXIgSUQuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBtZXNzYWdlcyBBUEkgcGF0aC5cbiAgICovXG4gIHByaXZhdGUgbWVzc2FnZXNQYXRoKHBob25lTnVtYmVySWQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAvJHtlbmNvZGVVUklDb21wb25lbnQocGhvbmVOdW1iZXJJZCl9L21lc3NhZ2VzYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2VuZHMgYSBXaGF0c0FwcCB0ZXh0IG1lc3NhZ2VcbiAgICogQHN1bW1hcnkgYFBPU1RgcyBhIGB0ZXh0YCBtZXNzYWdlIHRvIHRoZSBzZW5kZXIncyBgL21lc3NhZ2VzYCBlbmRwb2ludFxuICAgKiBhbmQgcmV0dXJucyB0aGUgV2hhdHNBcHAgbWVzc2FnZSBwYXlsb2FkLlxuICAgKiBAcGFyYW0ge1doYXRzQXBwVGV4dElucHV0fSBpbnB1dCAtIFRoZSByZWNpcGllbnQsIHRleHQsIGFuZCBwcmV2aWV3IGZsYWcuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBUaGUgV2hhdHNBcHAgbWVzc2FnZSBwYXlsb2FkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIGNyZWRlbnRpYWxzIG9yIHRoZSBwaG9uZSBudW1iZXIgSUQgYXJlIG1pc3NpbmcuXG4gICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBXaGF0c0FwcCByZWplY3RzIHRoZSBtZXNzYWdlLlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0c1xuICAgKiBhd2FpdCB3aGF0c2FwcC5zZW5kVGV4dCh7IHRvOiBcIjE1NTUxMjM0NTY3XCIsIHRleHQ6IFwiRGVwbG95bWVudCBmaW5pc2hlZFwiIH0pO1xuICAgKiBgYGBcbiAgICovXG4gIGFzeW5jIHNlbmRUZXh0KGlucHV0OiBXaGF0c0FwcFRleHRJbnB1dCk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIGNvbnN0IHBob25lTnVtYmVySWQgPSB0aGlzLnJlcXVpcmVUb2tlbkFuZFBob25lKCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdChcbiAgICAgICAgdGhpcy5tZXNzYWdlc1BhdGgocGhvbmVOdW1iZXJJZCksXG4gICAgICAgIHtcbiAgICAgICAgICBtZXNzYWdpbmdfcHJvZHVjdDogXCJ3aGF0c2FwcFwiLFxuICAgICAgICAgIHJlY2lwaWVudF90eXBlOiBcImluZGl2aWR1YWxcIixcbiAgICAgICAgICB0bzogaW5wdXQudG8sXG4gICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgYm9keTogaW5wdXQudGV4dCxcbiAgICAgICAgICAgIHByZXZpZXdfdXJsOiBpbnB1dC5wcmV2aWV3VXJsID8/IGZhbHNlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgaHR0cEVycm9yKFwiV2hhdHNBcHBcIiwgXCJzZW5kIHRleHQgbWVzc2FnZVwiLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBTZW5kcyBhIFdoYXRzQXBwIHRlbXBsYXRlIG1lc3NhZ2VcbiAgICogQHN1bW1hcnkgYFBPU1RgcyBhIGB0ZW1wbGF0ZWAgbWVzc2FnZSByZWZlcmVuY2luZyBhbiBhcHByb3ZlZCB0ZW1wbGF0ZVxuICAgKiBuYW1lIGFuZCBsYW5ndWFnZSwgd2l0aCBvcHRpb25hbCBjb21wb25lbnRzLlxuICAgKiBAcGFyYW0ge1doYXRzQXBwVGVtcGxhdGVJbnB1dH0gaW5wdXQgLSBUaGUgcmVjaXBpZW50IGFuZCB0ZW1wbGF0ZSBkZWZpbml0aW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gVGhlIFdoYXRzQXBwIG1lc3NhZ2UgcGF5bG9hZC5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBvciB0aGUgcGhvbmUgbnVtYmVyIElEIGFyZSBtaXNzaW5nLlxuICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gV2hhdHNBcHAgcmVqZWN0cyB0aGUgdGVtcGxhdGUgbWVzc2FnZS5cbiAgICovXG4gIGFzeW5jIHNlbmRUZW1wbGF0ZShpbnB1dDogV2hhdHNBcHBUZW1wbGF0ZUlucHV0KTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgY29uc3QgcGhvbmVOdW1iZXJJZCA9IHRoaXMucmVxdWlyZVRva2VuQW5kUGhvbmUoKTtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5wb3N0KFxuICAgICAgICB0aGlzLm1lc3NhZ2VzUGF0aChwaG9uZU51bWJlcklkKSxcbiAgICAgICAge1xuICAgICAgICAgIG1lc3NhZ2luZ19wcm9kdWN0OiBcIndoYXRzYXBwXCIsXG4gICAgICAgICAgdG86IGlucHV0LnRvLFxuICAgICAgICAgIHR5cGU6IFwidGVtcGxhdGVcIixcbiAgICAgICAgICB0ZW1wbGF0ZToge1xuICAgICAgICAgICAgbmFtZTogaW5wdXQudGVtcGxhdGVOYW1lLFxuICAgICAgICAgICAgbGFuZ3VhZ2U6IHsgY29kZTogaW5wdXQubGFuZ3VhZ2VDb2RlIH0sXG4gICAgICAgICAgICAuLi4oaW5wdXQuY29tcG9uZW50cyA/IHsgY29tcG9uZW50czogaW5wdXQuY29tcG9uZW50cyB9IDoge30pLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgaHR0cEVycm9yKFwiV2hhdHNBcHBcIiwgXCJzZW5kIHRlbXBsYXRlIG1lc3NhZ2VcIiwgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gU2VuZHMgYSBXaGF0c0FwcCBtZWRpYSBtZXNzYWdlXG4gICAqIEBzdW1tYXJ5IGBQT1NUYHMgYW4gYGltYWdlYC9gYXVkaW9gL2B2aWRlb2AvYGRvY3VtZW50YCBtZXNzYWdlIHVzaW5nXG4gICAqIGVpdGhlciBhbiB1cGxvYWRlZCBgbWVkaWFJZGAgb3IgYSBwdWJsaWMgYGxpbmtgLCB3aXRoIG9wdGlvbmFsIGNhcHRpb24gYW5kXG4gICAqIGZpbGVuYW1lLlxuICAgKiBAcGFyYW0ge1doYXRzQXBwTWVkaWFJbnB1dH0gaW5wdXQgLSBUaGUgcmVjaXBpZW50IGFuZCBtZWRpYSByZWZlcmVuY2UuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBUaGUgV2hhdHNBcHAgbWVzc2FnZSBwYXlsb2FkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIGNyZWRlbnRpYWxzIG9yIHRoZSBwaG9uZSBudW1iZXIgSUQgYXJlIG1pc3NpbmcsIG9yIG5laXRoZXIgYG1lZGlhSWRgIG5vciBgbGlua2AgaXMgcHJvdmlkZWQuXG4gICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBXaGF0c0FwcCByZWplY3RzIHRoZSBtZWRpYSBtZXNzYWdlLlxuICAgKi9cbiAgYXN5bmMgc2VuZE1lZGlhKGlucHV0OiBXaGF0c0FwcE1lZGlhSW5wdXQpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICBjb25zdCBwaG9uZU51bWJlcklkID0gdGhpcy5yZXF1aXJlVG9rZW5BbmRQaG9uZSgpO1xuICAgIGlmICghaW5wdXQubWVkaWFJZCAmJiAhaW5wdXQubGluaykge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiV2hhdHNBcHAgbWVkaWEgbWVzc2FnZXMgcmVxdWlyZSBhIG1lZGlhIGlkIG9yIGxpbmtcIlxuICAgICAgKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdChcbiAgICAgICAgdGhpcy5tZXNzYWdlc1BhdGgocGhvbmVOdW1iZXJJZCksXG4gICAgICAgIHtcbiAgICAgICAgICBtZXNzYWdpbmdfcHJvZHVjdDogXCJ3aGF0c2FwcFwiLFxuICAgICAgICAgIHJlY2lwaWVudF90eXBlOiBcImluZGl2aWR1YWxcIixcbiAgICAgICAgICB0bzogaW5wdXQudG8sXG4gICAgICAgICAgdHlwZTogaW5wdXQudHlwZSxcbiAgICAgICAgICBbaW5wdXQudHlwZV06IHtcbiAgICAgICAgICAgIC4uLihpbnB1dC5tZWRpYUlkID8geyBpZDogaW5wdXQubWVkaWFJZCB9IDogeyBsaW5rOiBpbnB1dC5saW5rIH0pLFxuICAgICAgICAgICAgLi4uKGlucHV0LmNhcHRpb24gPyB7IGNhcHRpb246IGlucHV0LmNhcHRpb24gfSA6IHt9KSxcbiAgICAgICAgICAgIC4uLihpbnB1dC5maWxlbmFtZSA/IHsgZmlsZW5hbWU6IGlucHV0LmZpbGVuYW1lIH0gOiB7fSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBodHRwRXJyb3IoXCJXaGF0c0FwcFwiLCBcInNlbmQgbWVkaWEgbWVzc2FnZVwiLCBlcnJvcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBNYXJrcyBhbiBpbmJvdW5kIFdoYXRzQXBwIG1lc3NhZ2UgYXMgcmVhZFxuICAgKiBAc3VtbWFyeSBgUE9TVGBzIGEgYHJlYWRgIHN0YXR1cyBmb3IgdGhlIG1lc3NhZ2UgdG8gdGhlIHNlbmRlcidzXG4gICAqIGAvbWVzc2FnZXNgIGVuZHBvaW50LlxuICAgKiBAcGFyYW0ge1doYXRzQXBwUmVhZElucHV0fSBpbnB1dCAtIFRoZSBpbmJvdW5kIG1lc3NhZ2UgSUQgdG8gYWNrbm93bGVkZ2UuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBUaGUgV2hhdHNBcHAgc3RhdHVzIHBheWxvYWQuXG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gY3JlZGVudGlhbHMsIHRoZSBwaG9uZSBudW1iZXIgSUQsIG9yIHRoZSBtZXNzYWdlIElEIGFyZSBtaXNzaW5nLlxuICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gV2hhdHNBcHAgcmVqZWN0cyB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGFzeW5jIG1hcmtBc1JlYWQoaW5wdXQ6IFdoYXRzQXBwUmVhZElucHV0KTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgY29uc3QgcGhvbmVOdW1iZXJJZCA9IHRoaXMucmVxdWlyZVRva2VuQW5kUGhvbmUoKTtcbiAgICBpZiAoIWlucHV0Lm1lc3NhZ2VJZCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJXaGF0c0FwcCByZXF1aXJlcyBhIG1lc3NhZ2UgaWRcIik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3QoXG4gICAgICAgIHRoaXMubWVzc2FnZXNQYXRoKHBob25lTnVtYmVySWQpLFxuICAgICAgICB7XG4gICAgICAgICAgbWVzc2FnaW5nX3Byb2R1Y3Q6IFwid2hhdHNhcHBcIixcbiAgICAgICAgICBzdGF0dXM6IFwicmVhZFwiLFxuICAgICAgICAgIG1lc3NhZ2VfaWQ6IGlucHV0Lm1lc3NhZ2VJZCxcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBodHRwRXJyb3IoXCJXaGF0c0FwcFwiLCBcIm1hcmsgbWVzc2FnZSBhcyByZWFkXCIsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZldGNoZXMgV2hhdHNBcHAgbWVkaWEgbWV0YWRhdGFcbiAgICogQHN1bW1hcnkgYEdFVGBzIHRoZSBtZWRpYSBkZXNjcmlwdG9yIChVUkwsIE1JTUUgdHlwZSwgc2l6ZSkgYnkgbWVkaWEgSUQ7XG4gICAqIHRoZSBkZXNjcmlwdG9yJ3MgVVJMIGlzIHRoZW4gdXNlZCB0byBkb3dubG9hZCB0aGUgYmluYXJ5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVkaWFJZCAtIFRoZSBXaGF0c0FwcCBtZWRpYSBJRC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBtZWRpYSBtZXRhZGF0YSBwYXlsb2FkLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIHRva2VuIGlzIGNvbmZpZ3VyZWQgb3IgdGhlIG1lZGlhIElEIGlzIGVtcHR5LlxuICAgKiBAdGhyb3dzIHtOb3RGb3VuZEVycm9yfSBXaGVuIHRoZSBtZWRpYSBkb2VzIG5vdCBleGlzdCAoSFRUUCA0MDQpLlxuICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gV2hhdHNBcHAgcmVqZWN0cyB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGFzeW5jIGdldE1lZGlhKG1lZGlhSWQ6IHN0cmluZyk6IFByb21pc2U8dW5rbm93bj4ge1xuICAgIHRoaXMucmVxdWlyZVRva2VuKCk7XG4gICAgaWYgKCFtZWRpYUlkKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIldoYXRzQXBwIHJlcXVpcmVzIGEgbWVkaWEgaWRcIik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldChcbiAgICAgICAgYC8ke2VuY29kZVVSSUNvbXBvbmVudChtZWRpYUlkKX1gXG4gICAgICApO1xuICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IGh0dHBFcnJvcihcIldoYXRzQXBwXCIsIFwiZ2V0IG1lZGlhXCIsIGVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
274
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2hhdHNBcHBTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiV2hhdHNBcHBTZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILDJEQUF3RDtBQUN4RCx3REFBdUQ7QUFDdkQsNEVBQTBFO0FBQzFFLDJEQUEwRTtBQUMxRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFDRztBQUNILE1BQWEsZUFBZ0IsU0FBUSx5QkFBYztJQUMvQztRQUNJLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO1FBQ3BCOztXQUVHO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7SUFDbEMsQ0FBQztJQUNEOzs7O09BSUc7SUFDSCxjQUFjO1FBQ1YsT0FBTyxrQ0FBa0MsQ0FBQztJQUM5QyxDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0gsV0FBVyxDQUFDLE1BQU07UUFDZCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLFVBQVUsTUFBTSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUMzRSxDQUFDO0lBQ0Q7Ozs7OztPQU1HO0lBQ0gscUJBQXFCO1FBQ2pCLE1BQU0sR0FBRyxHQUFHLGlDQUFnQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDNUMsTUFBTSxLQUFLLEdBQUcsSUFBQSwrQkFBUyxFQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNwQyxNQUFNLGFBQWEsR0FBRyxJQUFBLCtCQUFTLEVBQUMsR0FBRyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxhQUFhO1lBQ3hCLE9BQU8sU0FBUyxDQUFDO1FBQ3JCLE9BQU87WUFDSCxLQUFLO1lBQ0wsYUFBYTtZQUNiLE9BQU8sRUFBRSxJQUFBLCtCQUFTLEVBQUMsR0FB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TkM7QUFDRCw4enpCQUE4enpCIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9jb21tcy93aGF0c2FwcC9zZXJ2aWNlXG4gKiBAc3VtbWFyeSBXaGF0c0FwcCBDbG91ZCBBUEkgaW50ZWdyYXRpb24gc2VydmljZSBmb3IgdGV4dCwgdGVtcGxhdGUsIGFuZCBtZWRpYSBtZXNzYWdlcy5cbiAqIEBkZXNjcmlwdGlvbiBFeHBvc2VzIHRoZSBNZXRhIFdoYXRzQXBwIENsb3VkIEFQSSAoR3JhcGggYHYxOS4wYCkgYXMgYW5cbiAqIHVuZGVjb3JhdGVkIGNsaWVudC1iYXNlZCBzZXJ2aWNlIGJ1aWx0IG9uIHtAbGluayBIdHRwQXBpU2VydmljZX0uXG4gKiBDb25maWd1cmF0aW9uIGNvbWVzIGZyb20gYW4gZXhwbGljaXQgYFdoYXRzQXBwU2VydmljZUNvbmZpZ2Agb3IgdGhlXG4gKiBgY29tbXMud2hhdHNBcHBgIGVudmlyb25tZW50IHNsaWNlOyB0aGUgYWNjZXNzIHRva2VuIGlzIHNlbnQgYXNcbiAqIGBBdXRob3JpemF0aW9uOiBCZWFyZXIgPHRva2VuPmAgYW5kIHRoZSBzZW5kZXIgaXMgaWRlbnRpZmllZCBieSB0aGVcbiAqIGNvbmZpZ3VyZWQgYHBob25lTnVtYmVySWRgLiBDcmVkZW50aWFscyBhcmUgcmVmZXJlbmNlZCBmcm9tIGNvbmZpZ3VyYXRpb25cbiAqIChhbmQsIGZyb20gYXMtZ3JhcGggbm9kZXMsIGZyb20gdGhlIHJlc29sdmVkIGB3aGF0c2FwcGAgY3JlZGVudGlhbCBzZWNyZXQpXG4gKiBhbmQgYXJlIG5ldmVyIGVtYmVkZGVkIGluIHNvdXJjZS4gRmFpbHVyZXMgYXJlIG1hcHBlZCB0byBkZWNhZiBlcnJvcnMgdmlhXG4gKiB7QGxpbmsgaHR0cEVycm9yfS5cbiAqL1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgQ29tbXNFbnZpcm9ubWVudCB9IGZyb20gXCIuLy4uL2Vudmlyb25tZW50LmpzXCI7XG5pbXBvcnQgeyBlbnZOdW1iZXIsIGVudlN0cmluZyB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9lbnZpcm9ubWVudFZhbHVlLmpzXCI7XG5pbXBvcnQgeyBIdHRwQXBpU2VydmljZSwgaHR0cEVycm9yLCB9IGZyb20gXCIuLy4uLy4uL3NoYXJlZC9odHRwL2luZGV4LmpzXCI7XG4vKipcbiAqIEBkZXNjcmlwdGlvbiBXaGF0c0FwcCBDbG91ZCBBUEkgaW50ZWdyYXRpb24gc2VydmljZVxuICogQHN1bW1hcnkgQW4gdW5kZWNvcmF0ZWQgSFRUUCBzZXJ2aWNlIGZvciB0ZXh0LCB0ZW1wbGF0ZSwgYW5kIG1lZGlhXG4gKiBtZXNzYWdlcywgcmVhZCByZWNlaXB0cywgYW5kIG1lZGlhIG1ldGFkYXRhLiBFdmVyeSBtZXNzYWdlIG9wZXJhdGlvbiBuZWVkc1xuICogYm90aCB0aGUgYWNjZXNzIHRva2VuIGFuZCB0aGUgc2VuZGVyIHBob25lIG51bWJlciBJRDsgbWlzc2luZyBjcmVkZW50aWFscyBvclxuICogaWRlbnRpZmllcnMgcmFpc2UgYEludGVybmFsRXJyb3JgLCBhbmQgdHJhbnNwb3J0IGZhaWx1cmVzIGFyZSBtYXBwZWQgdG8gZGVjYWZcbiAqIGVycm9ycyB2aWEge0BsaW5rIGh0dHBFcnJvcn0uXG4gKiBAY2xhc3MgV2hhdHNBcHBTZXJ2aWNlXG4gKiBAZXh0ZW5kcyBIdHRwQXBpU2VydmljZVxuICogQGNhdGVnb3J5IENvbW1zXG4gKiBAZXhhbXBsZVxuICogYGBgdHNcbiAqIGltcG9ydCB7IFdoYXRzQXBwU2VydmljZSB9IGZyb20gXCJAZGVjYWYtdHMvaW50ZWdyYXRpb25zL2NvbW1zL3doYXRzYXBwXCI7XG4gKlxuICogY29uc3Qgd2hhdHNhcHAgPSBuZXcgV2hhdHNBcHBTZXJ2aWNlKCk7XG4gKiBhd2FpdCB3aGF0c2FwcC5pbml0aWFsaXplKHtcbiAqICAgdG9rZW46IHByb2Nlc3MuZW52LkdSQVBIX0NSRURFTlRJQUxfV0hBVFNBUFBfVE9LRU4sXG4gKiAgIHBob25lTnVtYmVySWQ6IHByb2Nlc3MuZW52LldIQVRTQVBQX1BIT05FX05VTUJFUl9JRCxcbiAqIH0pO1xuICogYXdhaXQgd2hhdHNhcHAuc2VuZFRleHQoeyB0bzogXCIxNTU1MTIzNDU2N1wiLCB0ZXh0OiBcIkhlbGxvXCIgfSk7XG4gKiBgYGBcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgYXV0b251bWJlclxuICogICBwYXJ0aWNpcGFudCBDYWxsZXJcbiAqICAgcGFydGljaXBhbnQgU2VydmljZSBhcyBXaGF0c0FwcFNlcnZpY2VcbiAqICAgcGFydGljaXBhbnQgR3JhcGggYXMgV2hhdHNBcHAgQ2xvdWQgQVBJXG4gKiAgIENhbGxlci0+PlNlcnZpY2U6IHNlbmRUZXh0KGlucHV0KVxuICogICBhY3RpdmF0ZSBTZXJ2aWNlXG4gKiAgIFNlcnZpY2UtPj5TZXJ2aWNlOiByZXF1aXJlVG9rZW5BbmRQaG9uZSgpXG4gKiAgIFNlcnZpY2UtPj5HcmFwaDogUE9TVCAve3Bob25lTnVtYmVySWR9L21lc3NhZ2VzXG4gKiAgIGFjdGl2YXRlIEdyYXBoXG4gKiAgIEdyYXBoLS0+PlNlcnZpY2U6IG1lc3NhZ2UgcGF5bG9hZFxuICogICBkZWFjdGl2YXRlIEdyYXBoXG4gKiAgIFNlcnZpY2UtLT4+Q2FsbGVyOiBtZXNzYWdlIHBheWxvYWRcbiAqICAgZGVhY3RpdmF0ZSBTZXJ2aWNlXG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9jb21tcy93aGF0c2FwcC9zZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBXaGF0c0FwcFNlcnZpY2UgZXh0ZW5kcyBIdHRwQXBpU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBAZGVzY3JpcHRpb24gVGhlIHByb3ZpZGVyIG5hbWUgdXNlZCBpbiBlcnJvciBtZXNzYWdlc1xuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5zZXJ2aWNlTmFtZSA9IFwiV2hhdHNBcHBcIjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIFRoZSBXaGF0c0FwcCBDbG91ZCBBUEkgYmFzZSBVUkxcbiAgICAgKiBAc3VtbWFyeSBVc2VkIHdoZW4gdGhlIHJlc29sdmVkIGNvbmZpZyBjYXJyaWVzIG5vIGBiYXNlVXJsYC5cbiAgICAgKiBAcmV0dXJucyB7c3RyaW5nfSBgXCJodHRwczovL2dyYXBoLmZhY2Vib29rLmNvbS92MTkuMFwiYC5cbiAgICAgKi9cbiAgICBkZWZhdWx0QmFzZVVybCgpIHtcbiAgICAgICAgcmV0dXJuIFwiaHR0cHM6Ly9ncmFwaC5mYWNlYm9vay5jb20vdjE5LjBcIjtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIEJ1aWxkcyB0aGUgV2hhdHNBcHAgYmVhcmVyIGF1dGhvcml6YXRpb24gaGVhZGVyc1xuICAgICAqIEBzdW1tYXJ5IFJldHVybnMgYEF1dGhvcml6YXRpb246IEJlYXJlciA8dG9rZW4+YCB3aGVuIGNvbmZpZ3VyZWQsIGFuZCBub1xuICAgICAqIGhlYWRlcnMgb3RoZXJ3aXNlLlxuICAgICAqIEBwYXJhbSB7V2hhdHNBcHBTZXJ2aWNlQ29uZmlnfSBjb25maWcgLSBUaGUgcmVzb2x2ZWQgc2VydmljZSBjb25maWd1cmF0aW9uLlxuICAgICAqIEByZXR1cm5zIHtSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+fSBUaGUgYXV0aG9yaXphdGlvbiBoZWFkZXJzIChlbXB0eSB3aXRob3V0IGEgdG9rZW4pLlxuICAgICAqL1xuICAgIGF1dGhIZWFkZXJzKGNvbmZpZykge1xuICAgICAgICByZXR1cm4gY29uZmlnLnRva2VuID8geyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7Y29uZmlnLnRva2VufWAgfSA6IHt9O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gUmVhZHMgdGhlIFdoYXRzQXBwIGNyZWRlbnRpYWxzIGFuZCBkZWZhdWx0cyBmcm9tIHRoZSBlbnZpcm9ubWVudFxuICAgICAqIEBzdW1tYXJ5IFJlYWRzIHRoZSBgY29tbXMud2hhdHNBcHBgIHNsaWNlIGFuZCByZXR1cm5zIGEgcGFydGlhbCBjb25maWdcbiAgICAgKiB3aGVuIGEgdG9rZW4gb3IgcGhvbmUgbnVtYmVyIElEIGlzIGNvbmZpZ3VyZWQsIGB1bmRlZmluZWRgIG90aGVyd2lzZS5cbiAgICAgKiBWYWx1ZXMgcGFzcyB0aHJvdWdoIGBlbnZTdHJpbmdgL2BlbnZOdW1iZXJgIHRvIHJlamVjdCB1bnNldC1sZWFmIHByb3hpZXMuXG4gICAgICogQHJldHVybnMge1BhcnRpYWw8V2hhdHNBcHBTZXJ2aWNlQ29uZmlnPiB8IHVuZGVmaW5lZH0gQSBwYXJ0aWFsIGNvbmZpZywgb3IgYHVuZGVmaW5lZGAgd2hlbiBuZWl0aGVyIGNyZWRlbnRpYWwgaXMgY29uZmlndXJlZC5cbiAgICAgKi9cbiAgICBjb25maWdGcm9tRW52aXJvbm1lbnQoKSB7XG4gICAgICAgIGNvbnN0IGVudiA9IENvbW1zRW52aXJvbm1lbnQuY29tbXMud2hhdHNBcHA7XG4gICAgICAgIGNvbnN0IHRva2VuID0gZW52U3RyaW5nKGVudj8udG9rZW4pO1xuICAgICAgICBjb25zdCBwaG9uZU51bWJlcklkID0gZW52U3RyaW5nKGVudj8ucGhvbmVOdW1iZXJJZCk7XG4gICAgICAgIGlmICghdG9rZW4gJiYgIXBob25lTnVtYmVySWQpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICBwaG9uZU51bWJlcklkLFxuICAgICAgICAgICAgYmFzZVVybDogZW52U3RyaW5nKGVudi5iYXNlVXJsKSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IGVudk51bWJlcihlbnYudGltZW91dCksXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBBc3NlcnRzIHRoZSBhY2Nlc3MgdG9rZW4gYW5kIHNlbmRlciBwaG9uZSBudW1iZXIgSURcbiAgICAgKiBAc3VtbWFyeSBDYWxscyBgcmVxdWlyZVRva2VuKClgIGFuZCByZXR1cm5zIHRoZSBjb25maWd1cmVkXG4gICAgICogYHBob25lTnVtYmVySWRgIHVzZWQgdG8gYnVpbGQgdGhlIG1lc3NhZ2VzIHBhdGguXG4gICAgICogQHJldHVybnMge3N0cmluZ30gVGhlIGNvbmZpZ3VyZWQgc2VuZGVyIHBob25lIG51bWJlciBJRC5cbiAgICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBXaGVuIG5vIHRva2VuIG9yIHBob25lIG51bWJlciBJRCBpcyBjb25maWd1cmVkLlxuICAgICAqL1xuICAgIHJlcXVpcmVUb2tlbkFuZFBob25lKCkge1xuICAgICAgICB0aGlzLnJlcXVpcmVUb2tlbigpO1xuICAgICAgICBjb25zdCBwaG9uZU51bWJlcklkID0gdGhpcy5jb25maWcucGhvbmVOdW1iZXJJZDtcbiAgICAgICAgaWYgKCFwaG9uZU51bWJlcklkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIldoYXRzQXBwIHJlcXVpcmVzIGEgcGhvbmUgbnVtYmVyIGlkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwaG9uZU51bWJlcklkO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gQnVpbGRzIHRoZSBlbmNvZGVkIG1lc3NhZ2VzIHBhdGggZm9yIGEgc2VuZGVyXG4gICAgICogQHN1bW1hcnkgRW5jb2RlcyB0aGUgcGhvbmUgbnVtYmVyIElEIGludG8gYC88aWQ+L21lc3NhZ2VzYC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gcGhvbmVOdW1iZXJJZCAtIFRoZSBzZW5kZXIgcGhvbmUgbnVtYmVyIElELlxuICAgICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBtZXNzYWdlcyBBUEkgcGF0aC5cbiAgICAgKi9cbiAgICBtZXNzYWdlc1BhdGgocGhvbmVOdW1iZXJJZCkge1xuICAgICAgICByZXR1cm4gYC8ke2VuY29kZVVSSUNvbXBvbmVudChwaG9uZU51bWJlcklkKX0vbWVzc2FnZXNgO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBAZGVzY3JpcHRpb24gU2VuZHMgYSBXaGF0c0FwcCB0ZXh0IG1lc3NhZ2VcbiAgICAgKiBAc3VtbWFyeSBgUE9TVGBzIGEgYHRleHRgIG1lc3NhZ2UgdG8gdGhlIHNlbmRlcidzIGAvbWVzc2FnZXNgIGVuZHBvaW50XG4gICAgICogYW5kIHJldHVybnMgdGhlIFdoYXRzQXBwIG1lc3NhZ2UgcGF5bG9hZC5cbiAgICAgKiBAcGFyYW0ge1doYXRzQXBwVGV4dElucHV0fSBpbnB1dCAtIFRoZSByZWNpcGllbnQsIHRleHQsIGFuZCBwcmV2aWV3IGZsYWcuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBXaGF0c0FwcCBtZXNzYWdlIHBheWxvYWQuXG4gICAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gV2hlbiBjcmVkZW50aWFscyBvciB0aGUgcGhvbmUgbnVtYmVyIElEIGFyZSBtaXNzaW5nLlxuICAgICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBXaGF0c0FwcCByZWplY3RzIHRoZSBtZXNzYWdlLlxuICAgICAqIEBleGFtcGxlXG4gICAgICogYGBgdHNcbiAgICAgKiBhd2FpdCB3aGF0c2FwcC5zZW5kVGV4dCh7IHRvOiBcIjE1NTUxMjM0NTY3XCIsIHRleHQ6IFwiRGVwbG95bWVudCBmaW5pc2hlZFwiIH0pO1xuICAgICAqIGBgYFxuICAgICAqL1xuICAgIGFzeW5jIHNlbmRUZXh0KGlucHV0KSB7XG4gICAgICAgIGNvbnN0IHBob25lTnVtYmVySWQgPSB0aGlzLnJlcXVpcmVUb2tlbkFuZFBob25lKCk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3QodGhpcy5tZXNzYWdlc1BhdGgocGhvbmVOdW1iZXJJZCksIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdpbmdfcHJvZHVjdDogXCJ3aGF0c2FwcFwiLFxuICAgICAgICAgICAgICAgIHJlY2lwaWVudF90eXBlOiBcImluZGl2aWR1YWxcIixcbiAgICAgICAgICAgICAgICB0bzogaW5wdXQudG8sXG4gICAgICAgICAgICAgICAgdHlwZTogXCJ0ZXh0XCIsXG4gICAgICAgICAgICAgICAgdGV4dDoge1xuICAgICAgICAgICAgICAgICAgICBib2R5OiBpbnB1dC50ZXh0LFxuICAgICAgICAgICAgICAgICAgICBwcmV2aWV3X3VybDogaW5wdXQucHJldmlld1VybCA/PyBmYWxzZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGh0dHBFcnJvcihcIldoYXRzQXBwXCIsIFwic2VuZCB0ZXh0IG1lc3NhZ2VcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBTZW5kcyBhIFdoYXRzQXBwIHRlbXBsYXRlIG1lc3NhZ2VcbiAgICAgKiBAc3VtbWFyeSBgUE9TVGBzIGEgYHRlbXBsYXRlYCBtZXNzYWdlIHJlZmVyZW5jaW5nIGFuIGFwcHJvdmVkIHRlbXBsYXRlXG4gICAgICogbmFtZSBhbmQgbGFuZ3VhZ2UsIHdpdGggb3B0aW9uYWwgY29tcG9uZW50cy5cbiAgICAgKiBAcGFyYW0ge1doYXRzQXBwVGVtcGxhdGVJbnB1dH0gaW5wdXQgLSBUaGUgcmVjaXBpZW50IGFuZCB0ZW1wbGF0ZSBkZWZpbml0aW9uLlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBUaGUgV2hhdHNBcHAgbWVzc2FnZSBwYXlsb2FkLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gY3JlZGVudGlhbHMgb3IgdGhlIHBob25lIG51bWJlciBJRCBhcmUgbWlzc2luZy5cbiAgICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gV2hhdHNBcHAgcmVqZWN0cyB0aGUgdGVtcGxhdGUgbWVzc2FnZS5cbiAgICAgKi9cbiAgICBhc3luYyBzZW5kVGVtcGxhdGUoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcGhvbmVOdW1iZXJJZCA9IHRoaXMucmVxdWlyZVRva2VuQW5kUGhvbmUoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jbGllbnQucG9zdCh0aGlzLm1lc3NhZ2VzUGF0aChwaG9uZU51bWJlcklkKSwge1xuICAgICAgICAgICAgICAgIG1lc3NhZ2luZ19wcm9kdWN0OiBcIndoYXRzYXBwXCIsXG4gICAgICAgICAgICAgICAgdG86IGlucHV0LnRvLFxuICAgICAgICAgICAgICAgIHR5cGU6IFwidGVtcGxhdGVcIixcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBpbnB1dC50ZW1wbGF0ZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlOiB7IGNvZGU6IGlucHV0Lmxhbmd1YWdlQ29kZSB9LFxuICAgICAgICAgICAgICAgICAgICAuLi4oaW5wdXQuY29tcG9uZW50cyA/IHsgY29tcG9uZW50czogaW5wdXQuY29tcG9uZW50cyB9IDoge30pLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5kYXRhO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgaHR0cEVycm9yKFwiV2hhdHNBcHBcIiwgXCJzZW5kIHRlbXBsYXRlIG1lc3NhZ2VcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBTZW5kcyBhIFdoYXRzQXBwIG1lZGlhIG1lc3NhZ2VcbiAgICAgKiBAc3VtbWFyeSBgUE9TVGBzIGFuIGBpbWFnZWAvYGF1ZGlvYC9gdmlkZW9gL2Bkb2N1bWVudGAgbWVzc2FnZSB1c2luZ1xuICAgICAqIGVpdGhlciBhbiB1cGxvYWRlZCBgbWVkaWFJZGAgb3IgYSBwdWJsaWMgYGxpbmtgLCB3aXRoIG9wdGlvbmFsIGNhcHRpb24gYW5kXG4gICAgICogZmlsZW5hbWUuXG4gICAgICogQHBhcmFtIHtXaGF0c0FwcE1lZGlhSW5wdXR9IGlucHV0IC0gVGhlIHJlY2lwaWVudCBhbmQgbWVkaWEgcmVmZXJlbmNlLlxuICAgICAqIEByZXR1cm5zIHtQcm9taXNlPHVua25vd24+fSBUaGUgV2hhdHNBcHAgbWVzc2FnZSBwYXlsb2FkLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gY3JlZGVudGlhbHMgb3IgdGhlIHBob25lIG51bWJlciBJRCBhcmUgbWlzc2luZywgb3IgbmVpdGhlciBgbWVkaWFJZGAgbm9yIGBsaW5rYCBpcyBwcm92aWRlZC5cbiAgICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gV2hhdHNBcHAgcmVqZWN0cyB0aGUgbWVkaWEgbWVzc2FnZS5cbiAgICAgKi9cbiAgICBhc3luYyBzZW5kTWVkaWEoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcGhvbmVOdW1iZXJJZCA9IHRoaXMucmVxdWlyZVRva2VuQW5kUGhvbmUoKTtcbiAgICAgICAgaWYgKCFpbnB1dC5tZWRpYUlkICYmICFpbnB1dC5saW5rKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIldoYXRzQXBwIG1lZGlhIG1lc3NhZ2VzIHJlcXVpcmUgYSBtZWRpYSBpZCBvciBsaW5rXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3QodGhpcy5tZXNzYWdlc1BhdGgocGhvbmVOdW1iZXJJZCksIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdpbmdfcHJvZHVjdDogXCJ3aGF0c2FwcFwiLFxuICAgICAgICAgICAgICAgIHJlY2lwaWVudF90eXBlOiBcImluZGl2aWR1YWxcIixcbiAgICAgICAgICAgICAgICB0bzogaW5wdXQudG8sXG4gICAgICAgICAgICAgICAgdHlwZTogaW5wdXQudHlwZSxcbiAgICAgICAgICAgICAgICBbaW5wdXQudHlwZV06IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uKGlucHV0Lm1lZGlhSWQgPyB7IGlkOiBpbnB1dC5tZWRpYUlkIH0gOiB7IGxpbms6IGlucHV0LmxpbmsgfSksXG4gICAgICAgICAgICAgICAgICAgIC4uLihpbnB1dC5jYXB0aW9uID8geyBjYXB0aW9uOiBpbnB1dC5jYXB0aW9uIH0gOiB7fSksXG4gICAgICAgICAgICAgICAgICAgIC4uLihpbnB1dC5maWxlbmFtZSA/IHsgZmlsZW5hbWU6IGlucHV0LmZpbGVuYW1lIH0gOiB7fSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBodHRwRXJyb3IoXCJXaGF0c0FwcFwiLCBcInNlbmQgbWVkaWEgbWVzc2FnZVwiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQGRlc2NyaXB0aW9uIE1hcmtzIGFuIGluYm91bmQgV2hhdHNBcHAgbWVzc2FnZSBhcyByZWFkXG4gICAgICogQHN1bW1hcnkgYFBPU1RgcyBhIGByZWFkYCBzdGF0dXMgZm9yIHRoZSBtZXNzYWdlIHRvIHRoZSBzZW5kZXInc1xuICAgICAqIGAvbWVzc2FnZXNgIGVuZHBvaW50LlxuICAgICAqIEBwYXJhbSB7V2hhdHNBcHBSZWFkSW5wdXR9IGlucHV0IC0gVGhlIGluYm91bmQgbWVzc2FnZSBJRCB0byBhY2tub3dsZWRnZS5cbiAgICAgKiBAcmV0dXJucyB7UHJvbWlzZTx1bmtub3duPn0gVGhlIFdoYXRzQXBwIHN0YXR1cyBwYXlsb2FkLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gY3JlZGVudGlhbHMsIHRoZSBwaG9uZSBudW1iZXIgSUQsIG9yIHRoZSBtZXNzYWdlIElEIGFyZSBtaXNzaW5nLlxuICAgICAqIEB0aHJvd3Mge0JhZFJlcXVlc3RFcnJvcn0gV2hlbiBXaGF0c0FwcCByZWplY3RzIHRoZSByZXF1ZXN0LlxuICAgICAqL1xuICAgIGFzeW5jIG1hcmtBc1JlYWQoaW5wdXQpIHtcbiAgICAgICAgY29uc3QgcGhvbmVOdW1iZXJJZCA9IHRoaXMucmVxdWlyZVRva2VuQW5kUGhvbmUoKTtcbiAgICAgICAgaWYgKCFpbnB1dC5tZXNzYWdlSWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiV2hhdHNBcHAgcmVxdWlyZXMgYSBtZXNzYWdlIGlkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnBvc3QodGhpcy5tZXNzYWdlc1BhdGgocGhvbmVOdW1iZXJJZCksIHtcbiAgICAgICAgICAgICAgICBtZXNzYWdpbmdfcHJvZHVjdDogXCJ3aGF0c2FwcFwiLFxuICAgICAgICAgICAgICAgIHN0YXR1czogXCJyZWFkXCIsXG4gICAgICAgICAgICAgICAgbWVzc2FnZV9pZDogaW5wdXQubWVzc2FnZUlkLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGh0dHBFcnJvcihcIldoYXRzQXBwXCIsIFwibWFyayBtZXNzYWdlIGFzIHJlYWRcIiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBkZXNjcmlwdGlvbiBGZXRjaGVzIFdoYXRzQXBwIG1lZGlhIG1ldGFkYXRhXG4gICAgICogQHN1bW1hcnkgYEdFVGBzIHRoZSBtZWRpYSBkZXNjcmlwdG9yIChVUkwsIE1JTUUgdHlwZSwgc2l6ZSkgYnkgbWVkaWEgSUQ7XG4gICAgICogdGhlIGRlc2NyaXB0b3IncyBVUkwgaXMgdGhlbiB1c2VkIHRvIGRvd25sb2FkIHRoZSBiaW5hcnkuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IG1lZGlhSWQgLSBUaGUgV2hhdHNBcHAgbWVkaWEgSUQuXG4gICAgICogQHJldHVybnMge1Byb21pc2U8dW5rbm93bj59IFRoZSBtZWRpYSBtZXRhZGF0YSBwYXlsb2FkLlxuICAgICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IFdoZW4gbm8gdG9rZW4gaXMgY29uZmlndXJlZCBvciB0aGUgbWVkaWEgSUQgaXMgZW1wdHkuXG4gICAgICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gV2hlbiB0aGUgbWVkaWEgZG9lcyBub3QgZXhpc3QgKEhUVFAgNDA0KS5cbiAgICAgKiBAdGhyb3dzIHtCYWRSZXF1ZXN0RXJyb3J9IFdoZW4gV2hhdHNBcHAgcmVqZWN0cyB0aGUgcmVxdWVzdC5cbiAgICAgKi9cbiAgICBhc3luYyBnZXRNZWRpYShtZWRpYUlkKSB7XG4gICAgICAgIHRoaXMucmVxdWlyZVRva2VuKCk7XG4gICAgICAgIGlmICghbWVkaWFJZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJXaGF0c0FwcCByZXF1aXJlcyBhIG1lZGlhIGlkXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LmdldChgLyR7ZW5jb2RlVVJJQ29tcG9uZW50KG1lZGlhSWQpfWApO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlLmRhdGE7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBodHRwRXJyb3IoXCJXaGF0c0FwcFwiLCBcImdldCBtZWRpYVwiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2lWMmhoZEhOQmNIQlRaWEoyYVdObExtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMk52YlcxekwzZG9ZWFJ6WVhCd0wxZG9ZWFJ6UVhCd1UyVnlkbWxqWlM1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3T3pzN096czdPenM3TzBkQldVYzdRVUZEU0N4UFFVRlBMRVZCUVVVc1lVRkJZU3hGUVVGRkxFMUJRVTBzZVVKQlFYbENMRU5CUVVNN1FVRkRlRVFzVDBGQlR5eEZRVUZGTEdkQ1FVRm5RaXhGUVVGRkxEUkNRVUYxUWp0QlFVTnNSQ3hQUVVGUExFVkJRVVVzVTBGQlV5eEZRVUZGTEZOQlFWTXNSVUZCUlN3eVEwRkJjME03UVVGRGNrVXNUMEZCVHl4RlFVTk1MR05CUVdNc1JVRkZaQ3hUUVVGVExFZEJRMVlzY1VOQlFUQkNPMEZCWjBrelFqczdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096dEhRWEZEUnp0QlFVTklMRTFCUVUwc1QwRkJUeXhsUVVGblFpeFRRVUZSTEdOQlFYRkRPMGxCUVRGRk96dFJRVU5GT3p0WFFVVkhPMUZCUTJkQ0xHZENRVUZYTEVkQlFVY3NWVUZCVlN4RFFVRkRPMGxCY1U4NVF5eERRVUZETzBsQmJrOURPenM3TzA5QlNVYzdTVUZEVHl4alFVRmpPMUZCUTNSQ0xFOUJRVThzYTBOQlFXdERMRU5CUVVNN1NVRkROVU1zUTBGQlF6dEpRVVZFT3pzN096czdUMEZOUnp0SlFVTlBMRmRCUVZjc1EwRkRia0lzVFVGQk5rSTdVVUZGTjBJc1QwRkJUeXhOUVVGTkxFTkJRVU1zUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RlFVRkZMR0ZCUVdFc1JVRkJSU3hWUVVGVkxFMUJRVTBzUTBGQlF5eExRVUZMTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU03U1VGRGVrVXNRMEZCUXp0SlFVVkVPenM3T3pzN1QwRk5SenRKUVVOUExIRkNRVUZ4UWp0UlFVYzNRaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eG5Ra0ZCWjBJc1EwRkJReXhMUVVGTExFTkJRVU1zVVVGQlVTeERRVUZETzFGQlF6VkRMRTFCUVUwc1MwRkJTeXhIUVVGSExGTkJRVk1zUTBGQlF5eEhRVUZITEVWQlFVVXNTMEZCU3l4RFFVRkRMRU5CUVVNN1VVRkRjRU1zVFVGQlRTeGhRVUZoTEVkQlFVY3NVMEZCVXl4RFFVRkRMRWRCUVVjc1JVRkJSU3hoUVVGaExFTkJRVU1zUTBGQlF6dFJRVU53UkN4SlFVRkpMRU5CUVVNc1MwRkJTeXhKUVVGSkxFTkJRVU1zWVVGQllUdFpRVUZGTEU5QlFVOHNVMEZCVXl4RFFVRkRPMUZCUXk5RExFOUJRVTg3V1VGRFRDeExRVUZMTzFsQlEwd3NZVUZCWVR0WlFVTmlMRTlCUVU4c1JVRkJSU3hUUVVGVExFTkJRVU1zUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXp0WlFVTXZRaXhQUVVGUExFVkJRVVVzVTBGQlV5eERRVUZETEVkQlFVY3NRMEZCUXl4UFFVRlBMRU5CUVVNN1UwRkRhRU1zUTBGQlF6dEpRVU5LTEVOQlFVTTdTVUZGUkRzN096czdPMDlCVFVjN1NVRkRUeXh2UWtGQmIwSTdVVUZETlVJc1NVRkJTU3hEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETzFGQlEzQkNMRTFCUVUwc1lVRkJZU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNZVUZCWVN4RFFVRkRPMUZCUTJoRUxFbEJRVWtzUTBGQlF5eGhRVUZoTEVWQlFVVXNRMEZCUXp0WlFVTnVRaXhOUVVGTkxFbEJRVWtzWVVGQllTeERRVUZETEhGRFFVRnhReXhEUVVGRExFTkJRVU03VVVGRGFrVXNRMEZCUXp0UlFVTkVMRTlCUVU4c1lVRkJZU3hEUVVGRE8wbEJRM1pDTEVOQlFVTTdTVUZGUkRzN096czdUMEZMUnp0SlFVTkxMRmxCUVZrc1EwRkJReXhoUVVGeFFqdFJRVU40UXl4UFFVRlBMRWxCUVVrc2EwSkJRV3RDTEVOQlFVTXNZVUZCWVN4RFFVRkRMRmRCUVZjc1EwRkJRenRKUVVNeFJDeERRVUZETzBsQlJVUTdPenM3T3pzN096czdPenRQUVZsSE8wbEJRMGdzUzBGQlN5eERRVUZETEZGQlFWRXNRMEZCUXl4TFFVRjNRanRSUVVOeVF5eE5RVUZOTEdGQlFXRXNSMEZCUnl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVWQlFVVXNRMEZCUXp0UlFVTnNSQ3hKUVVGSkxFTkJRVU03V1VGRFNDeE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeERRVU55UXl4SlFVRkpMRU5CUVVNc1dVRkJXU3hEUVVGRExHRkJRV0VzUTBGQlF5eEZRVU5vUXp0blFrRkRSU3hwUWtGQmFVSXNSVUZCUlN4VlFVRlZPMmRDUVVNM1FpeGpRVUZqTEVWQlFVVXNXVUZCV1R0blFrRkROVUlzUlVGQlJTeEZRVUZGTEV0QlFVc3NRMEZCUXl4RlFVRkZPMmRDUVVOYUxFbEJRVWtzUlVGQlJTeE5RVUZOTzJkQ1FVTmFMRWxCUVVrc1JVRkJSVHR2UWtGRFNpeEpRVUZKTEVWQlFVVXNTMEZCU3l4RFFVRkRMRWxCUVVrN2IwSkJRMmhDTEZkQlFWY3NSVUZCUlN4TFFVRkxMRU5CUVVNc1ZVRkJWU3hKUVVGSkxFdEJRVXM3YVVKQlEzWkRPMkZCUTBZc1EwRkRSaXhEUVVGRE8xbEJRMFlzVDBGQlR5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RFFVRkRPMUZCUTNaQ0xFTkJRVU03VVVGQlF5eFBRVUZQTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTJZc1RVRkJUU3hUUVVGVExFTkJRVU1zVlVGQlZTeEZRVUZGTEcxQ1FVRnRRaXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlF6RkVMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSVVE3T3pzN096czdPMDlCVVVjN1NVRkRTQ3hMUVVGTExFTkJRVU1zV1VGQldTeERRVUZETEV0QlFUUkNPMUZCUXpkRExFMUJRVTBzWVVGQllTeEhRVUZITEVsQlFVa3NRMEZCUXl4dlFrRkJiMElzUlVGQlJTeERRVUZETzFGQlEyeEVMRWxCUVVrc1EwRkJRenRaUVVOSUxFMUJRVTBzVVVGQlVTeEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRM0pETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1lVRkJZU3hEUVVGRExFVkJRMmhETzJkQ1FVTkZMR2xDUVVGcFFpeEZRVUZGTEZWQlFWVTdaMEpCUXpkQ0xFVkJRVVVzUlVGQlJTeExRVUZMTEVOQlFVTXNSVUZCUlR0blFrRkRXaXhKUVVGSkxFVkJRVVVzVlVGQlZUdG5Ra0ZEYUVJc1VVRkJVU3hGUVVGRk8yOUNRVU5TTEVsQlFVa3NSVUZCUlN4TFFVRkxMRU5CUVVNc1dVRkJXVHR2UWtGRGVFSXNVVUZCVVN4RlFVRkZMRVZCUVVVc1NVRkJTU3hGUVVGRkxFdEJRVXNzUTBGQlF5eFpRVUZaTEVWQlFVVTdiMEpCUTNSRExFZEJRVWNzUTBGQlF5eExRVUZMTEVOQlFVTXNWVUZCVlN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxGVkJRVlVzUlVGQlJTeExRVUZMTEVOQlFVTXNWVUZCVlN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF6dHBRa0ZET1VRN1lVRkRSaXhEUVVOR0xFTkJRVU03V1VGRFJpeFBRVUZQTEZGQlFWRXNRMEZCUXl4SlFVRkpMRU5CUVVNN1VVRkRka0lzUTBGQlF6dFJRVUZETEU5QlFVOHNTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRaaXhOUVVGTkxGTkJRVk1zUTBGQlF5eFZRVUZWTEVWQlFVVXNkVUpCUVhWQ0xFVkJRVVVzUzBGQlN5eERRVUZETEVOQlFVTTdVVUZET1VRc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlJEczdPenM3T3pzN08wOUJVMGM3U1VGRFNDeExRVUZMTEVOQlFVTXNVMEZCVXl4RFFVRkRMRXRCUVhsQ08xRkJRM1pETEUxQlFVMHNZVUZCWVN4SFFVRkhMRWxCUVVrc1EwRkJReXh2UWtGQmIwSXNSVUZCUlN4RFFVRkRPMUZCUTJ4RUxFbEJRVWtzUTBGQlF5eExRVUZMTEVOQlFVTXNUMEZCVHl4SlFVRkpMRU5CUVVNc1MwRkJTeXhEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETzFsQlEyeERMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRM0pDTEc5RVFVRnZSQ3hEUVVOeVJDeERRVUZETzFGQlEwb3NRMEZCUXp0UlFVTkVMRWxCUVVrc1EwRkJRenRaUVVOSUxFMUJRVTBzVVVGQlVTeEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRM0pETEVsQlFVa3NRMEZCUXl4WlFVRlpMRU5CUVVNc1lVRkJZU3hEUVVGRExFVkJRMmhETzJkQ1FVTkZMR2xDUVVGcFFpeEZRVUZGTEZWQlFWVTdaMEpCUXpkQ0xHTkJRV01zUlVGQlJTeFpRVUZaTzJkQ1FVTTFRaXhGUVVGRkxFVkJRVVVzUzBGQlN5eERRVUZETEVWQlFVVTdaMEpCUTFvc1NVRkJTU3hGUVVGRkxFdEJRVXNzUTBGQlF5eEpRVUZKTzJkQ1FVTm9RaXhEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVOQlFVTXNSVUZCUlR0dlFrRkRXaXhIUVVGSExFTkJRVU1zUzBGQlN5eERRVUZETEU5QlFVOHNRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFVkJRVVVzUzBGQlN5eERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFbEJRVWtzUlVGQlJTeExRVUZMTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN2IwSkJRMnBGTEVkQlFVY3NRMEZCUXl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFTkJRVU1zUTBGQlF5eEZRVUZGTEU5QlFVOHNSVUZCUlN4TFFVRkxMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNRMEZCUXp0dlFrRkRjRVFzUjBGQlJ5eERRVUZETEV0QlFVc3NRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzVVVGQlVTeEZRVUZGTEV0QlFVc3NRMEZCUXl4UlFVRlJMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETzJsQ1FVTjRSRHRoUVVOR0xFTkJRMFlzUTBGQlF6dFpRVU5HTEU5QlFVOHNVVUZCVVN4RFFVRkRMRWxCUVVrc1EwRkJRenRSUVVOMlFpeERRVUZETzFGQlFVTXNUMEZCVHl4TFFVRkxMRVZCUVVVc1EwRkJRenRaUVVObUxFMUJRVTBzVTBGQlV5eERRVUZETEZWQlFWVXNSVUZCUlN4dlFrRkJiMElzUlVGQlJTeExRVUZMTEVOQlFVTXNRMEZCUXp0UlFVTXpSQ3hEUVVGRE8wbEJRMGdzUTBGQlF6dEpRVVZFT3pzN096czdPenRQUVZGSE8wbEJRMGdzUzBGQlN5eERRVUZETEZWQlFWVXNRMEZCUXl4TFFVRjNRanRSUVVOMlF5eE5RVUZOTEdGQlFXRXNSMEZCUnl4SlFVRkpMRU5CUVVNc2IwSkJRVzlDTEVWQlFVVXNRMEZCUXp0UlFVTnNSQ3hKUVVGSkxFTkJRVU1zUzBGQlN5eERRVUZETEZOQlFWTXNSVUZCUlN4RFFVRkRPMWxCUTNKQ0xFMUJRVTBzU1VGQlNTeGhRVUZoTEVOQlFVTXNaME5CUVdkRExFTkJRVU1zUTBGQlF6dFJRVU0xUkN4RFFVRkRPMUZCUTBRc1NVRkJTU3hEUVVGRE8xbEJRMGdzVFVGQlRTeFJRVUZSTEVkQlFVY3NUVUZCVFN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUTBGRGNrTXNTVUZCU1N4RFFVRkRMRmxCUVZrc1EwRkJReXhoUVVGaExFTkJRVU1zUlVGRGFFTTdaMEpCUTBVc2FVSkJRV2xDTEVWQlFVVXNWVUZCVlR0blFrRkROMElzVFVGQlRTeEZRVUZGTEUxQlFVMDdaMEpCUTJRc1ZVRkJWU3hGUVVGRkxFdEJRVXNzUTBGQlF5eFRRVUZUTzJGQlF6VkNMRU5CUTBZc1EwRkJRenRaUVVOR0xFOUJRVThzVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXp0UlFVTjJRaXhEUVVGRE8xRkJRVU1zVDBGQlR5eExRVUZMTEVWQlFVVXNRMEZCUXp0WlFVTm1MRTFCUVUwc1UwRkJVeXhEUVVGRExGVkJRVlVzUlVGQlJTeHpRa0ZCYzBJc1JVRkJSU3hMUVVGTExFTkJRVU1zUTBGQlF6dFJRVU0zUkN4RFFVRkRPMGxCUTBnc1EwRkJRenRKUVVWRU96czdPenM3T3pzN1QwRlRSenRKUVVOSUxFdEJRVXNzUTBGQlF5eFJRVUZSTEVOQlFVTXNUMEZCWlR0UlFVTTFRaXhKUVVGSkxFTkJRVU1zV1VGQldTeEZRVUZGTEVOQlFVTTdVVUZEY0VJc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzFsQlEySXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkJReXc0UWtGQk9FSXNRMEZCUXl4RFFVRkRPMUZCUXpGRUxFTkJRVU03VVVGRFJDeEpRVUZKTEVOQlFVTTdXVUZEU0N4TlFVRk5MRkZCUVZFc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNSMEZCUnl4RFFVTndReXhKUVVGSkxHdENRVUZyUWl4RFFVRkRMRTlCUVU4c1EwRkJReXhGUVVGRkxFTkJRMnhETEVOQlFVTTdXVUZEUml4UFFVRlBMRkZCUVZFc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGRrSXNRMEZCUXp0UlFVRkRMRTlCUVU4c1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRFppeE5RVUZOTEZOQlFWTXNRMEZCUXl4VlFVRlZMRVZCUVVVc1YwRkJWeXhGUVVGRkxFdEJRVXNzUTBGQlF5eERRVUZETzFGQlEyeEVMRU5CUVVNN1NVRkRTQ3hEUVVGRE8wTkJRMFlpTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnYVc1MFpXZHlZWFJwYjI1ekwyTnZiVzF6TDNkb1lYUnpZWEJ3TDNObGNuWnBZMlZjYmlBcUlFQnpkVzF0WVhKNUlGZG9ZWFJ6UVhCd0lFTnNiM1ZrSUVGUVNTQnBiblJsWjNKaGRHbHZiaUJ6WlhKMmFXTmxJR1p2Y2lCMFpYaDBMQ0IwWlcxd2JHRjBaU3dnWVc1a0lHMWxaR2xoSUcxbGMzTmhaMlZ6TGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVWNGNHOXpaWE1nZEdobElFMWxkR0VnVjJoaGRITkJjSEFnUTJ4dmRXUWdRVkJKSUNoSGNtRndhQ0JnZGpFNUxqQmdLU0JoY3lCaGJseHVJQ29nZFc1a1pXTnZjbUYwWldRZ1kyeHBaVzUwTFdKaGMyVmtJSE5sY25acFkyVWdZblZwYkhRZ2IyNGdlMEJzYVc1cklFaDBkSEJCY0dsVFpYSjJhV05sZlM1Y2JpQXFJRU52Ym1acFozVnlZWFJwYjI0Z1kyOXRaWE1nWm5KdmJTQmhiaUJsZUhCc2FXTnBkQ0JnVjJoaGRITkJjSEJUWlhKMmFXTmxRMjl1Wm1sbllDQnZjaUIwYUdWY2JpQXFJR0JqYjIxdGN5NTNhR0YwYzBGd2NHQWdaVzUyYVhKdmJtMWxiblFnYzJ4cFkyVTdJSFJvWlNCaFkyTmxjM01nZEc5clpXNGdhWE1nYzJWdWRDQmhjMXh1SUNvZ1lFRjFkR2h2Y21sNllYUnBiMjQ2SUVKbFlYSmxjaUE4ZEc5clpXNCtZQ0JoYm1RZ2RHaGxJSE5sYm1SbGNpQnBjeUJwWkdWdWRHbG1hV1ZrSUdKNUlIUm9aVnh1SUNvZ1kyOXVabWxuZFhKbFpDQmdjR2h2Ym1WT2RXMWlaWEpKWkdBdUlFTnlaV1JsYm5ScFlXeHpJR0Z5WlNCeVpXWmxjbVZ1WTJWa0lHWnliMjBnWTI5dVptbG5kWEpoZEdsdmJseHVJQ29nS0dGdVpDd2dabkp2YlNCaGN5MW5jbUZ3YUNCdWIyUmxjeXdnWm5KdmJTQjBhR1VnY21WemIyeDJaV1FnWUhkb1lYUnpZWEJ3WUNCamNtVmtaVzUwYVdGc0lITmxZM0psZENsY2JpQXFJR0Z1WkNCaGNtVWdibVYyWlhJZ1pXMWlaV1JrWldRZ2FXNGdjMjkxY21ObExpQkdZV2xzZFhKbGN5QmhjbVVnYldGd2NHVmtJSFJ2SUdSbFkyRm1JR1Z5Y205eWN5QjJhV0ZjYmlBcUlIdEFiR2x1YXlCb2RIUndSWEp5YjNKOUxseHVJQ292WEc1cGJYQnZjblFnZXlCSmJuUmxjbTVoYkVWeWNtOXlJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWWkxa1pXTnZjbUYwYjNKelhDSTdYRzVwYlhCdmNuUWdleUJEYjIxdGMwVnVkbWx5YjI1dFpXNTBJSDBnWm5KdmJTQmNJaTR1TDJWdWRtbHliMjV0Wlc1MFhDSTdYRzVwYlhCdmNuUWdleUJsYm5aT2RXMWlaWElzSUdWdWRsTjBjbWx1WnlCOUlHWnliMjBnWENJdUxpOHVMaTl6YUdGeVpXUXZaVzUyYVhKdmJtMWxiblJXWVd4MVpWd2lPMXh1YVcxd2IzSjBJSHRjYmlBZ1NIUjBjRUZ3YVZObGNuWnBZMlVzWEc0Z0lIUjVjR1VnU0hSMGNFRndhVk5sY25acFkyVkRiMjVtYVdjc1hHNGdJR2gwZEhCRmNuSnZjaXhjYm4wZ1puSnZiU0JjSWk0dUx5NHVMM05vWVhKbFpDOW9kSFJ3WENJN1hHNWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVOdmJtWnBaM1Z5WVhScGIyNGdabTl5SUhSb1pTQlhhR0YwYzBGd2NDQnpaWEoyYVdObFhHNGdLaUJBYzNWdGJXRnllU0JGZUhSbGJtUnpJSHRBYkdsdWF5QklkSFJ3UVhCcFUyVnlkbWxqWlVOdmJtWnBaMzBnZDJsMGFDQjBhR1VnVFdWMFlTQmhZMk5sYzNNZ2RHOXJaVzVjYmlBcUlDaHpaVzUwSUdGeklHRWdZbVZoY21WeUlIUnZhMlZ1S1NCaGJtUWdkR2hsSUhObGJtUmxjaUJnY0dodmJtVk9kVzFpWlhKSlpHQWdkWE5sWkNCcGJpQjBhR1ZjYmlBcUlHQXZiV1Z6YzJGblpYTmdJSEJoZEdndUlGZG9aVzRnYjIxcGRIUmxaQ3dnZEdobElHQmpiMjF0Y3k1M2FHRjBjMEZ3Y0dBZ1pXNTJhWEp2Ym0xbGJuUWdjMnhwWTJWY2JpQXFJSE4xY0hCc2FXVnpJR0p2ZEdnZ0tIQnNkWE1nYjNCMGFXOXVZV3dnWUdKaGMyVlZjbXhnTDJCMGFXMWxiM1YwWUNrdUlFSnZkR2dnZG1Gc2RXVnpJR0Z5WlZ4dUlDb2dZM0psWkdWdWRHbGhiQ0J5WldabGNtVnVZMlZ6TENCdVpYWmxjaUJzYVhSbGNtRnNjeUJwYmlCemIzVnlZMlV1WEc0Z0tpQkFZMkYwWldkdmNua2dRMjl0YlhOY2JpQXFJRUJ0WlcxaVpYSlBaaUJ0YjJSMWJHVTZhVzUwWldkeVlYUnBiMjV6TDJOdmJXMXpMM2RvWVhSellYQndMM05sY25acFkyVmNiaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCWGFHRjBjMEZ3Y0ZObGNuWnBZMlZEYjI1bWFXY2daWGgwWlc1a2N5QklkSFJ3UVhCcFUyVnlkbWxqWlVOdmJtWnBaeUI3WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnVFdWMFlTQlhhR0YwYzBGd2NDQkRiRzkxWkNCQlVFa2dZV05qWlhOeklIUnZhMlZ1WEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRk5sYm5RZ1lYTWdZRUYxZEdodmNtbDZZWFJwYjI0NklFSmxZWEpsY2lBOGRHOXJaVzQrWUNCM2FYUm9JR1YyWlhKNUlFRlFTU0JqWVd4c0xseHVJQ0FnS2k5Y2JpQWdkRzlyWlc0L09pQnpkSEpwYm1jN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1UyVnVaR1Z5SUhCb2IyNWxJRzUxYldKbGNpQkpSQ0IxYzJWa0lHbHVJSFJvWlNCdFpYTnpZV2RsY3lCd1lYUm9YRzRnSUNBcUwxeHVJQ0J3YUc5dVpVNTFiV0psY2tsa1B6b2djM1J5YVc1bk8xeHVmVnh1WEc0dktpcGNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQkpibkIxZENCbWIzSWdjMlZ1WkdsdVp5QmhJRmRvWVhSelFYQndJSFJsZUhRZ2JXVnpjMkZuWlZ4dUlDb2dRSE4xYlcxaGNua2dRMkZ5Y21sbGN5QjBhR1VnY21WamFYQnBaVzUwSUNoZ2RHOWdMQ0JGTGpFMk5DQmthV2RwZEhNZ2QybDBhRzkxZENCZ0syQXBMQ0IwYUdVZ2RHVjRkRnh1SUNvZ1ltOWtlU3dnWVc1a0lIZG9aWFJvWlhJZ2JHbHVheUJ3Y21WMmFXVjNjeUJoY21VZ1oyVnVaWEpoZEdWa0xseHVJQ29nUUdOaGRHVm5iM0o1SUVOdmJXMXpYRzRnS2lCQWJXVnRZbVZ5VDJZZ2JXOWtkV3hsT21sdWRHVm5jbUYwYVc5dWN5OWpiMjF0Y3k5M2FHRjBjMkZ3Y0M5elpYSjJhV05sWEc0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdWMmhoZEhOQmNIQlVaWGgwU1c1d2RYUWdlMXh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRkpsWTJsd2FXVnVkQ0J3YUc5dVpTQnVkVzFpWlhJZ2FXNGdhVzUwWlhKdVlYUnBiMjVoYkNCbWIzSnRZWFJjYmlBZ0lDb3ZYRzRnSUhSdk9pQnpkSEpwYm1jN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1ZHVjRkQ0J0WlhOellXZGxJR0p2WkhsY2JpQWdJQ292WEc0Z0lIUmxlSFE2SUhOMGNtbHVaenRjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJYYUdWMGFHVnlJRmRvWVhSelFYQndJR2RsYm1WeVlYUmxjeUJoSUd4cGJtc2djSEpsZG1sbGQxeHVJQ0FnS2k5Y2JpQWdjSEpsZG1sbGQxVnliRDg2SUdKdmIyeGxZVzQ3WEc1OVhHNWNiaThxS2x4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVsdWNIVjBJR1p2Y2lCelpXNWthVzVuSUdFZ1YyaGhkSE5CY0hBZ2RHVnRjR3hoZEdVZ2JXVnpjMkZuWlZ4dUlDb2dRSE4xYlcxaGNua2dRMkZ5Y21sbGN5QjBhR1VnY21WamFYQnBaVzUwTENCMGFHVWdZWEJ3Y205MlpXUWdZSFJsYlhCc1lYUmxUbUZ0WldBc0lHbDBjMXh1SUNvZ1lHeGhibWQxWVdkbFEyOWtaV0FzSUdGdVpDQnZjSFJwYjI1aGJDQjBaVzF3YkdGMFpTQmdZMjl0Y0c5dVpXNTBjMkF1WEc0Z0tpQkFZMkYwWldkdmNua2dRMjl0YlhOY2JpQXFJRUJ0WlcxaVpYSlBaaUJ0YjJSMWJHVTZhVzUwWldkeVlYUnBiMjV6TDJOdmJXMXpMM2RvWVhSellYQndMM05sY25acFkyVmNiaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCWGFHRjBjMEZ3Y0ZSbGJYQnNZWFJsU1c1d2RYUWdlMXh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRkpsWTJsd2FXVnVkQ0J3YUc5dVpTQnVkVzFpWlhJZ2FXNGdhVzUwWlhKdVlYUnBiMjVoYkNCbWIzSnRZWFJjYmlBZ0lDb3ZYRzRnSUhSdk9pQnpkSEpwYm1jN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1RtRnRaU0J2WmlCMGFHVWdZWEJ3Y205MlpXUWdiV1Z6YzJGblpTQjBaVzF3YkdGMFpWeHVJQ0FnS2k5Y2JpQWdkR1Z0Y0d4aGRHVk9ZVzFsT2lCemRISnBibWM3WEc0Z0lDOHFLbHh1SUNBZ0tpQkFaR1Z6WTNKcGNIUnBiMjRnVkdWdGNHeGhkR1VnYkdGdVozVmhaMlVnWTI5a1pTQW9aUzVuTGlCZ1hDSmxibDlWVTF3aVlDbGNiaUFnSUNvdlhHNGdJR3hoYm1kMVlXZGxRMjlrWlRvZ2MzUnlhVzVuTzF4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUU5d2RHbHZibUZzSUhSbGJYQnNZWFJsSUdOdmJYQnZibVZ1ZEhNZ0tHaGxZV1JsY2k5aWIyUjVMMkoxZEhSdmJpQndZWEpoYldWMFpYSnpLVnh1SUNBZ0tpOWNiaUFnWTI5dGNHOXVaVzUwY3o4NklIVnVhMjV2ZDI1YlhUdGNibjFjYmx4dUx5b3FYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdVM1Z3Y0c5eWRHVmtJRmRvWVhSelFYQndJRzFsWkdsaElHMWxjM05oWjJVZ2RIbHdaWE5jYmlBcUlFQnpkVzF0WVhKNUlGUm9aU0J0WldScFlTQnJhVzVrY3lCMGFHVWdRMnh2ZFdRZ1FWQkpJR0ZqWTJWd2RITWdhVzRnZEdobElHMWxjM05oWjJVZ1lIUjVjR1ZnSUdacFpXeGtMbHh1SUNvZ1FHTmhkR1ZuYjNKNUlFTnZiVzF6WEc0Z0tpQkFiV1Z0WW1WeVQyWWdiVzlrZFd4bE9tbHVkR1ZuY21GMGFXOXVjeTlqYjIxdGN5OTNhR0YwYzJGd2NDOXpaWEoyYVdObFhHNGdLaTljYm1WNGNHOXlkQ0IwZVhCbElGZG9ZWFJ6UVhCd1RXVmthV0ZVZVhCbElEMGdYQ0pwYldGblpWd2lJSHdnWENKaGRXUnBiMXdpSUh3Z1hDSjJhV1JsYjF3aUlId2dYQ0prYjJOMWJXVnVkRndpTzF4dVhHNHZLaXBjYmlBcUlFQmtaWE5qY21sd2RHbHZiaUJKYm5CMWRDQm1iM0lnYzJWdVpHbHVaeUJoSUZkb1lYUnpRWEJ3SUcxbFpHbGhJRzFsYzNOaFoyVmNiaUFxSUVCemRXMXRZWEo1SUVOaGNuSnBaWE1nZEdobElISmxZMmx3YVdWdWRDd2dkR2hsSUcxbFpHbGhJR0IwZVhCbFlDd2dZVzVrSUdWcGRHaGxjaUJoSUhCeVpYWnBiM1Z6YkhsY2JpQXFJSFZ3Ykc5aFpHVmtJR0J0WldScFlVbGtZQ0J2Y2lCaElIQjFZbXhwWXlCZ2JHbHVhMkFnS0c5dVpTQnBjeUJ5WlhGMWFYSmxaQ2tzSUhCc2RYTWdZVzRnYjNCMGFXOXVZV3hjYmlBcUlHQmpZWEIwYVc5dVlDQmhibVFnWUdacGJHVnVZVzFsWUM1Y2JpQXFJRUJqWVhSbFoyOXllU0JEYjIxdGMxeHVJQ29nUUcxbGJXSmxjazltSUcxdlpIVnNaVHBwYm5SbFozSmhkR2x2Ym5NdlkyOXRiWE12ZDJoaGRITmhjSEF2YzJWeWRtbGpaVnh1SUNvdlhHNWxlSEJ2Y25RZ2FXNTBaWEptWVdObElGZG9ZWFJ6UVhCd1RXVmthV0ZKYm5CMWRDQjdYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdVbVZqYVhCcFpXNTBJSEJvYjI1bElHNTFiV0psY2lCcGJpQnBiblJsY201aGRHbHZibUZzSUdadmNtMWhkRnh1SUNBZ0tpOWNiaUFnZEc4NklITjBjbWx1Wnp0Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCTlpXUnBZU0JyYVc1a0lITmxiblFnYVc0Z2RHaGxJRzFsYzNOaFoyVWdZSFI1Y0dWZ0lHWnBaV3hrWEc0Z0lDQXFMMXh1SUNCMGVYQmxPaUJYYUdGMGMwRndjRTFsWkdsaFZIbHdaVHRjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJKUkNCdlppQndjbVYyYVc5MWMyeDVJSFZ3Ykc5aFpHVmtJRmRvWVhSelFYQndJRzFsWkdsaFhHNGdJQ0FxTDF4dUlDQnRaV1JwWVVsa1B6b2djM1J5YVc1bk8xeHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlGQjFZbXhwWXlCVlVrd2diMllnZEdobElHMWxaR2xoSUNoaGJIUmxjbTVoZEdsMlpTQjBieUJnYldWa2FXRkpaR0FwWEc0Z0lDQXFMMXh1SUNCc2FXNXJQem9nYzNSeWFXNW5PMXh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRTl3ZEdsdmJtRnNJR05oY0hScGIyNGdLR2x0WVdkbGN5d2dkbWxrWlc5ekxDQmtiMk4xYldWdWRITXBYRzRnSUNBcUwxeHVJQ0JqWVhCMGFXOXVQem9nYzNSeWFXNW5PMXh1SUNBdktpcGNiaUFnSUNvZ1FHUmxjMk55YVhCMGFXOXVJRTl3ZEdsdmJtRnNJR1pwYkdWdVlXMWxJQ2hrYjJOMWJXVnVkSE1wWEc0Z0lDQXFMMXh1SUNCbWFXeGxibUZ0WlQ4NklITjBjbWx1Wnp0Y2JuMWNibHh1THlvcVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1NXNXdkWFFnWm05eUlHMWhjbXRwYm1jZ1lTQlhhR0YwYzBGd2NDQnRaWE56WVdkbElHRnpJSEpsWVdSY2JpQXFJRUJ6ZFcxdFlYSjVJRU5oY25KcFpYTWdkR2hsSUdsdVltOTFibVFnWUcxbGMzTmhaMlZKWkdBZ2RHOGdZV05yYm05M2JHVmtaMlV1WEc0Z0tpQkFZMkYwWldkdmNua2dRMjl0YlhOY2JpQXFJRUJ0WlcxaVpYSlBaaUJ0YjJSMWJHVTZhVzUwWldkeVlYUnBiMjV6TDJOdmJXMXpMM2RvWVhSellYQndMM05sY25acFkyVmNiaUFxTDF4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCWGFHRjBjMEZ3Y0ZKbFlXUkpibkIxZENCN1hHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1NVUWdiMllnZEdobElHbHVZbTkxYm1RZ2JXVnpjMkZuWlNCMGJ5QnRZWEpySUhKbFlXUmNiaUFnSUNvdlhHNGdJRzFsYzNOaFoyVkpaRG9nYzNSeWFXNW5PMXh1ZlZ4dVhHNHZLaXBjYmlBcUlFQmtaWE5qY21sd2RHbHZiaUJYYUdGMGMwRndjQ0JEYkc5MVpDQkJVRWtnYVc1MFpXZHlZWFJwYjI0Z2MyVnlkbWxqWlZ4dUlDb2dRSE4xYlcxaGNua2dRVzRnZFc1a1pXTnZjbUYwWldRZ1NGUlVVQ0J6WlhKMmFXTmxJR1p2Y2lCMFpYaDBMQ0IwWlcxd2JHRjBaU3dnWVc1a0lHMWxaR2xoWEc0Z0tpQnRaWE56WVdkbGN5d2djbVZoWkNCeVpXTmxhWEIwY3l3Z1lXNWtJRzFsWkdsaElHMWxkR0ZrWVhSaExpQkZkbVZ5ZVNCdFpYTnpZV2RsSUc5d1pYSmhkR2x2YmlCdVpXVmtjMXh1SUNvZ1ltOTBhQ0IwYUdVZ1lXTmpaWE56SUhSdmEyVnVJR0Z1WkNCMGFHVWdjMlZ1WkdWeUlIQm9iMjVsSUc1MWJXSmxjaUJKUkRzZ2JXbHpjMmx1WnlCamNtVmtaVzUwYVdGc2N5QnZjbHh1SUNvZ2FXUmxiblJwWm1sbGNuTWdjbUZwYzJVZ1lFbHVkR1Z5Ym1Gc1JYSnliM0pnTENCaGJtUWdkSEpoYm5Od2IzSjBJR1poYVd4MWNtVnpJR0Z5WlNCdFlYQndaV1FnZEc4Z1pHVmpZV1pjYmlBcUlHVnljbTl5Y3lCMmFXRWdlMEJzYVc1cklHaDBkSEJGY25KdmNuMHVYRzRnS2lCQVkyeGhjM01nVjJoaGRITkJjSEJUWlhKMmFXTmxYRzRnS2lCQVpYaDBaVzVrY3lCSWRIUndRWEJwVTJWeWRtbGpaVnh1SUNvZ1FHTmhkR1ZuYjNKNUlFTnZiVzF6WEc0Z0tpQkFaWGhoYlhCc1pWeHVJQ29nWUdCZ2RITmNiaUFxSUdsdGNHOXlkQ0I3SUZkb1lYUnpRWEJ3VTJWeWRtbGpaU0I5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12YVc1MFpXZHlZWFJwYjI1ekwyTnZiVzF6TDNkb1lYUnpZWEJ3WENJN1hHNGdLbHh1SUNvZ1kyOXVjM1FnZDJoaGRITmhjSEFnUFNCdVpYY2dWMmhoZEhOQmNIQlRaWEoyYVdObEtDazdYRzRnS2lCaGQyRnBkQ0IzYUdGMGMyRndjQzVwYm1sMGFXRnNhWHBsS0h0Y2JpQXFJQ0FnZEc5clpXNDZJSEJ5YjJObGMzTXVaVzUyTGtkU1FWQklYME5TUlVSRlRsUkpRVXhmVjBoQlZGTkJVRkJmVkU5TFJVNHNYRzRnS2lBZ0lIQm9iMjVsVG5WdFltVnlTV1E2SUhCeWIyTmxjM011Wlc1MkxsZElRVlJUUVZCUVgxQklUMDVGWDA1VlRVSkZVbDlKUkN4Y2JpQXFJSDBwTzF4dUlDb2dZWGRoYVhRZ2QyaGhkSE5oY0hBdWMyVnVaRlJsZUhRb2V5QjBiem9nWENJeE5UVTFNVEl6TkRVMk4xd2lMQ0IwWlhoME9pQmNJa2hsYkd4dlhDSWdmU2s3WEc0Z0tpQmdZR0JjYmlBcUlFQnRaWEp0WVdsa1hHNGdLaUJ6WlhGMVpXNWpaVVJwWVdkeVlXMWNiaUFxSUNBZ1lYVjBiMjUxYldKbGNseHVJQ29nSUNCd1lYSjBhV05wY0dGdWRDQkRZV3hzWlhKY2JpQXFJQ0FnY0dGeWRHbGphWEJoYm5RZ1UyVnlkbWxqWlNCaGN5QlhhR0YwYzBGd2NGTmxjblpwWTJWY2JpQXFJQ0FnY0dGeWRHbGphWEJoYm5RZ1IzSmhjR2dnWVhNZ1YyaGhkSE5CY0hBZ1EyeHZkV1FnUVZCSlhHNGdLaUFnSUVOaGJHeGxjaTArUGxObGNuWnBZMlU2SUhObGJtUlVaWGgwS0dsdWNIVjBLVnh1SUNvZ0lDQmhZM1JwZG1GMFpTQlRaWEoyYVdObFhHNGdLaUFnSUZObGNuWnBZMlV0UGo1VFpYSjJhV05sT2lCeVpYRjFhWEpsVkc5clpXNUJibVJRYUc5dVpTZ3BYRzRnS2lBZ0lGTmxjblpwWTJVdFBqNUhjbUZ3YURvZ1VFOVRWQ0F2ZTNCb2IyNWxUblZ0WW1WeVNXUjlMMjFsYzNOaFoyVnpYRzRnS2lBZ0lHRmpkR2wyWVhSbElFZHlZWEJvWEc0Z0tpQWdJRWR5WVhCb0xTMCtQbE5sY25acFkyVTZJRzFsYzNOaFoyVWdjR0Y1Ykc5aFpGeHVJQ29nSUNCa1pXRmpkR2wyWVhSbElFZHlZWEJvWEc0Z0tpQWdJRk5sY25acFkyVXRMVDQrUTJGc2JHVnlPaUJ0WlhOellXZGxJSEJoZVd4dllXUmNiaUFxSUNBZ1pHVmhZM1JwZG1GMFpTQlRaWEoyYVdObFhHNGdLaUJBYldWdFltVnlUMllnYlc5a2RXeGxPbWx1ZEdWbmNtRjBhVzl1Y3k5amIyMXRjeTkzYUdGMGMyRndjQzl6WlhKMmFXTmxYRzRnS2k5Y2JtVjRjRzl5ZENCamJHRnpjeUJYYUdGMGMwRndjRk5sY25acFkyVWdaWGgwWlc1a2N5QklkSFJ3UVhCcFUyVnlkbWxqWlR4WGFHRjBjMEZ3Y0ZObGNuWnBZMlZEYjI1bWFXYytJSHRjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJVYUdVZ2NISnZkbWxrWlhJZ2JtRnRaU0IxYzJWa0lHbHVJR1Z5Y205eUlHMWxjM05oWjJWelhHNGdJQ0FxTDF4dUlDQndjbTkwWldOMFpXUWdjbVZoWkc5dWJIa2djMlZ5ZG1salpVNWhiV1VnUFNCY0lsZG9ZWFJ6UVhCd1hDSTdYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJVYUdVZ1YyaGhkSE5CY0hBZ1EyeHZkV1FnUVZCSklHSmhjMlVnVlZKTVhHNGdJQ0FxSUVCemRXMXRZWEo1SUZWelpXUWdkMmhsYmlCMGFHVWdjbVZ6YjJ4MlpXUWdZMjl1Wm1sbklHTmhjbkpwWlhNZ2JtOGdZR0poYzJWVmNteGdMbHh1SUNBZ0tpQkFjbVYwZFhKdWN5QjdjM1J5YVc1bmZTQmdYQ0pvZEhSd2N6b3ZMMmR5WVhCb0xtWmhZMlZpYjI5ckxtTnZiUzkyTVRrdU1Gd2lZQzVjYmlBZ0lDb3ZYRzRnSUhCeWIzUmxZM1JsWkNCa1pXWmhkV3gwUW1GelpWVnliQ2dwT2lCemRISnBibWNnZTF4dUlDQWdJSEpsZEhWeWJpQmNJbWgwZEhCek9pOHZaM0poY0dndVptRmpaV0p2YjJzdVkyOXRMM1l4T1M0d1hDSTdYRzRnSUgxY2JseHVJQ0F2S2lwY2JpQWdJQ29nUUdSbGMyTnlhWEIwYVc5dUlFSjFhV3hrY3lCMGFHVWdWMmhoZEhOQmNIQWdZbVZoY21WeUlHRjFkR2h2Y21sNllYUnBiMjRnYUdWaFpHVnljMXh1SUNBZ0tpQkFjM1Z0YldGeWVTQlNaWFIxY201eklHQkJkWFJvYjNKcGVtRjBhVzl1T2lCQ1pXRnlaWElnUEhSdmEyVnVQbUFnZDJobGJpQmpiMjVtYVdkMWNtVmtMQ0JoYm1RZ2JtOWNiaUFnSUNvZ2FHVmhaR1Z5Y3lCdmRHaGxjbmRwYzJVdVhHNGdJQ0FxSUVCd1lYSmhiU0I3VjJoaGRITkJjSEJUWlhKMmFXTmxRMjl1Wm1sbmZTQmpiMjVtYVdjZ0xTQlVhR1VnY21WemIyeDJaV1FnYzJWeWRtbGpaU0JqYjI1bWFXZDFjbUYwYVc5dUxseHVJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VtVmpiM0prUEhOMGNtbHVaeXdnYzNSeWFXNW5QbjBnVkdobElHRjFkR2h2Y21sNllYUnBiMjRnYUdWaFpHVnljeUFvWlcxd2RIa2dkMmwwYUc5MWRDQmhJSFJ2YTJWdUtTNWNiaUFnSUNvdlhHNGdJSEJ5YjNSbFkzUmxaQ0JoZFhSb1NHVmhaR1Z5Y3loY2JpQWdJQ0JqYjI1bWFXYzZJRmRvWVhSelFYQndVMlZ5ZG1salpVTnZibVpwWjF4dUlDQXBPaUJTWldOdmNtUThjM1J5YVc1bkxDQnpkSEpwYm1jK0lIdGNiaUFnSUNCeVpYUjFjbTRnWTI5dVptbG5MblJ2YTJWdUlEOGdleUJCZFhSb2IzSnBlbUYwYVc5dU9pQmdRbVZoY21WeUlDUjdZMjl1Wm1sbkxuUnZhMlZ1ZldBZ2ZTQTZJSHQ5TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFQmtaWE5qY21sd2RHbHZiaUJTWldGa2N5QjBhR1VnVjJoaGRITkJjSEFnWTNKbFpHVnVkR2xoYkhNZ1lXNWtJR1JsWm1GMWJIUnpJR1p5YjIwZ2RHaGxJR1Z1ZG1seWIyNXRaVzUwWEc0Z0lDQXFJRUJ6ZFcxdFlYSjVJRkpsWVdSeklIUm9aU0JnWTI5dGJYTXVkMmhoZEhOQmNIQmdJSE5zYVdObElHRnVaQ0J5WlhSMWNtNXpJR0VnY0dGeWRHbGhiQ0JqYjI1bWFXZGNiaUFnSUNvZ2QyaGxiaUJoSUhSdmEyVnVJRzl5SUhCb2IyNWxJRzUxYldKbGNpQkpSQ0JwY3lCamIyNW1hV2QxY21Wa0xDQmdkVzVrWldacGJtVmtZQ0J2ZEdobGNuZHBjMlV1WEc0Z0lDQXFJRlpoYkhWbGN5QndZWE56SUhSb2NtOTFaMmdnWUdWdWRsTjBjbWx1WjJBdllHVnVkazUxYldKbGNtQWdkRzhnY21WcVpXTjBJSFZ1YzJWMExXeGxZV1lnY0hKdmVHbGxjeTVjYmlBZ0lDb2dRSEpsZEhWeWJuTWdlMUJoY25ScFlXdzhWMmhoZEhOQmNIQlRaWEoyYVdObFEyOXVabWxuUGlCOElIVnVaR1ZtYVc1bFpIMGdRU0J3WVhKMGFXRnNJR052Ym1acFp5d2diM0lnWUhWdVpHVm1hVzVsWkdBZ2QyaGxiaUJ1WldsMGFHVnlJR055WldSbGJuUnBZV3dnYVhNZ1kyOXVabWxuZFhKbFpDNWNiaUFnSUNvdlhHNGdJSEJ5YjNSbFkzUmxaQ0JqYjI1bWFXZEdjbTl0Ulc1MmFYSnZibTFsYm5Rb0tUcGNiaUFnSUNCOElGQmhjblJwWVd3OFYyaGhkSE5CY0hCVFpYSjJhV05sUTI5dVptbG5QbHh1SUNBZ0lId2dkVzVrWldacGJtVmtJSHRjYmlBZ0lDQmpiMjV6ZENCbGJuWWdQU0JEYjIxdGMwVnVkbWx5YjI1dFpXNTBMbU52YlcxekxuZG9ZWFJ6UVhCd08xeHVJQ0FnSUdOdmJuTjBJSFJ2YTJWdUlEMGdaVzUyVTNSeWFXNW5LR1Z1ZGo4dWRHOXJaVzRwTzF4dUlDQWdJR052Ym5OMElIQm9iMjVsVG5WdFltVnlTV1FnUFNCbGJuWlRkSEpwYm1jb1pXNTJQeTV3YUc5dVpVNTFiV0psY2tsa0tUdGNiaUFnSUNCcFppQW9JWFJ2YTJWdUlDWW1JQ0Z3YUc5dVpVNTFiV0psY2tsa0tTQnlaWFIxY200Z2RXNWtaV1pwYm1Wa08xeHVJQ0FnSUhKbGRIVnliaUI3WEc0Z0lDQWdJQ0IwYjJ0bGJpeGNiaUFnSUNBZ0lIQm9iMjVsVG5WdFltVnlTV1FzWEc0Z0lDQWdJQ0JpWVhObFZYSnNPaUJsYm5aVGRISnBibWNvWlc1MkxtSmhjMlZWY213cExGeHVJQ0FnSUNBZ2RHbHRaVzkxZERvZ1pXNTJUblZ0WW1WeUtHVnVkaTUwYVcxbGIzVjBLU3hjYmlBZ0lDQjlPMXh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQkJjM05sY25SeklIUm9aU0JoWTJObGMzTWdkRzlyWlc0Z1lXNWtJSE5sYm1SbGNpQndhRzl1WlNCdWRXMWlaWElnU1VSY2JpQWdJQ29nUUhOMWJXMWhjbmtnUTJGc2JITWdZSEpsY1hWcGNtVlViMnRsYmlncFlDQmhibVFnY21WMGRYSnVjeUIwYUdVZ1kyOXVabWxuZFhKbFpGeHVJQ0FnS2lCZ2NHaHZibVZPZFcxaVpYSkpaR0FnZFhObFpDQjBieUJpZFdsc1pDQjBhR1VnYldWemMyRm5aWE1nY0dGMGFDNWNiaUFnSUNvZ1FISmxkSFZ5Ym5NZ2UzTjBjbWx1WjMwZ1ZHaGxJR052Ym1acFozVnlaV1FnYzJWdVpHVnlJSEJvYjI1bElHNTFiV0psY2lCSlJDNWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1NXNTBaWEp1WVd4RmNuSnZjbjBnVjJobGJpQnVieUIwYjJ0bGJpQnZjaUJ3YUc5dVpTQnVkVzFpWlhJZ1NVUWdhWE1nWTI5dVptbG5kWEpsWkM1Y2JpQWdJQ292WEc0Z0lIQnliM1JsWTNSbFpDQnlaWEYxYVhKbFZHOXJaVzVCYm1SUWFHOXVaU2dwT2lCemRISnBibWNnZTF4dUlDQWdJSFJvYVhNdWNtVnhkV2x5WlZSdmEyVnVLQ2s3WEc0Z0lDQWdZMjl1YzNRZ2NHaHZibVZPZFcxaVpYSkpaQ0E5SUhSb2FYTXVZMjl1Wm1sbkxuQm9iMjVsVG5WdFltVnlTV1E3WEc0Z0lDQWdhV1lnS0NGd2FHOXVaVTUxYldKbGNrbGtLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MFpYSnVZV3hGY25KdmNpaGNJbGRvWVhSelFYQndJSEpsY1hWcGNtVnpJR0VnY0dodmJtVWdiblZ0WW1WeUlHbGtYQ0lwTzF4dUlDQWdJSDFjYmlBZ0lDQnlaWFIxY200Z2NHaHZibVZPZFcxaVpYSkpaRHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCQVpHVnpZM0pwY0hScGIyNGdRblZwYkdSeklIUm9aU0JsYm1OdlpHVmtJRzFsYzNOaFoyVnpJSEJoZEdnZ1ptOXlJR0VnYzJWdVpHVnlYRzRnSUNBcUlFQnpkVzF0WVhKNUlFVnVZMjlrWlhNZ2RHaGxJSEJvYjI1bElHNTFiV0psY2lCSlJDQnBiblJ2SUdBdlBHbGtQaTl0WlhOellXZGxjMkF1WEc0Z0lDQXFJRUJ3WVhKaGJTQjdjM1J5YVc1bmZTQndhRzl1WlU1MWJXSmxja2xrSUMwZ1ZHaGxJSE5sYm1SbGNpQndhRzl1WlNCdWRXMWlaWElnU1VRdVhHNGdJQ0FxSUVCeVpYUjFjbTV6SUh0emRISnBibWQ5SUZSb1pTQnRaWE56WVdkbGN5QkJVRWtnY0dGMGFDNWNiaUFnSUNvdlhHNGdJSEJ5YVhaaGRHVWdiV1Z6YzJGblpYTlFZWFJvS0hCb2IyNWxUblZ0WW1WeVNXUTZJSE4wY21sdVp5azZJSE4wY21sdVp5QjdYRzRnSUNBZ2NtVjBkWEp1SUdBdkpIdGxibU52WkdWVlVrbERiMjF3YjI1bGJuUW9jR2h2Ym1WT2RXMWlaWEpKWkNsOUwyMWxjM05oWjJWellEdGNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1UyVnVaSE1nWVNCWGFHRjBjMEZ3Y0NCMFpYaDBJRzFsYzNOaFoyVmNiaUFnSUNvZ1FITjFiVzFoY25rZ1lGQlBVMVJnY3lCaElHQjBaWGgwWUNCdFpYTnpZV2RsSUhSdklIUm9aU0J6Wlc1a1pYSW5jeUJnTDIxbGMzTmhaMlZ6WUNCbGJtUndiMmx1ZEZ4dUlDQWdLaUJoYm1RZ2NtVjBkWEp1Y3lCMGFHVWdWMmhoZEhOQmNIQWdiV1Z6YzJGblpTQndZWGxzYjJGa0xseHVJQ0FnS2lCQWNHRnlZVzBnZTFkb1lYUnpRWEJ3VkdWNGRFbHVjSFYwZlNCcGJuQjFkQ0F0SUZSb1pTQnlaV05wY0dsbGJuUXNJSFJsZUhRc0lHRnVaQ0J3Y21WMmFXVjNJR1pzWVdjdVhHNGdJQ0FxSUVCeVpYUjFjbTV6SUh0UWNtOXRhWE5sUEhWdWEyNXZkMjQrZlNCVWFHVWdWMmhoZEhOQmNIQWdiV1Z6YzJGblpTQndZWGxzYjJGa0xseHVJQ0FnS2lCQWRHaHliM2R6SUh0SmJuUmxjbTVoYkVWeWNtOXlmU0JYYUdWdUlHTnlaV1JsYm5ScFlXeHpJRzl5SUhSb1pTQndhRzl1WlNCdWRXMWlaWElnU1VRZ1lYSmxJRzFwYzNOcGJtY3VYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwSmhaRkpsY1hWbGMzUkZjbkp2Y24wZ1YyaGxiaUJYYUdGMGMwRndjQ0J5WldwbFkzUnpJSFJvWlNCdFpYTnpZV2RsTGx4dUlDQWdLaUJBWlhoaGJYQnNaVnh1SUNBZ0tpQmdZR0IwYzF4dUlDQWdLaUJoZDJGcGRDQjNhR0YwYzJGd2NDNXpaVzVrVkdWNGRDaDdJSFJ2T2lCY0lqRTFOVFV4TWpNME5UWTNYQ0lzSUhSbGVIUTZJRndpUkdWd2JHOTViV1Z1ZENCbWFXNXBjMmhsWkZ3aUlIMHBPMXh1SUNBZ0tpQmdZR0JjYmlBZ0lDb3ZYRzRnSUdGemVXNWpJSE5sYm1SVVpYaDBLR2x1Y0hWME9pQlhhR0YwYzBGd2NGUmxlSFJKYm5CMWRDazZJRkJ5YjIxcGMyVThkVzVyYm05M2JqNGdlMXh1SUNBZ0lHTnZibk4wSUhCb2IyNWxUblZ0WW1WeVNXUWdQU0IwYUdsekxuSmxjWFZwY21WVWIydGxia0Z1WkZCb2IyNWxLQ2s3WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUdOdmJuTjBJSEpsYzNCdmJuTmxJRDBnWVhkaGFYUWdkR2hwY3k1amJHbGxiblF1Y0c5emRDaGNiaUFnSUNBZ0lDQWdkR2hwY3k1dFpYTnpZV2RsYzFCaGRHZ29jR2h2Ym1WT2RXMWlaWEpKWkNrc1hHNGdJQ0FnSUNBZ0lIdGNiaUFnSUNBZ0lDQWdJQ0J0WlhOellXZHBibWRmY0hKdlpIVmpkRG9nWENKM2FHRjBjMkZ3Y0Z3aUxGeHVJQ0FnSUNBZ0lDQWdJSEpsWTJsd2FXVnVkRjkwZVhCbE9pQmNJbWx1WkdsMmFXUjFZV3hjSWl4Y2JpQWdJQ0FnSUNBZ0lDQjBiem9nYVc1d2RYUXVkRzhzWEc0Z0lDQWdJQ0FnSUNBZ2RIbHdaVG9nWENKMFpYaDBYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ2RHVjRkRG9nZTF4dUlDQWdJQ0FnSUNBZ0lDQWdZbTlrZVRvZ2FXNXdkWFF1ZEdWNGRDeGNiaUFnSUNBZ0lDQWdJQ0FnSUhCeVpYWnBaWGRmZFhKc09pQnBibkIxZEM1d2NtVjJhV1YzVlhKc0lEOC9JR1poYkhObExGeHVJQ0FnSUNBZ0lDQWdJSDBzWEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnSUNCeVpYUjFjbTRnY21WemNHOXVjMlV1WkdGMFlUdGNiaUFnSUNCOUlHTmhkR05vSUNobGNuSnZjaWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dhSFIwY0VWeWNtOXlLRndpVjJoaGRITkJjSEJjSWl3Z1hDSnpaVzVrSUhSbGVIUWdiV1Z6YzJGblpWd2lMQ0JsY25KdmNpazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdMeW9xWEc0Z0lDQXFJRUJrWlhOamNtbHdkR2x2YmlCVFpXNWtjeUJoSUZkb1lYUnpRWEJ3SUhSbGJYQnNZWFJsSUcxbGMzTmhaMlZjYmlBZ0lDb2dRSE4xYlcxaGNua2dZRkJQVTFSZ2N5QmhJR0IwWlcxd2JHRjBaV0FnYldWemMyRm5aU0J5WldabGNtVnVZMmx1WnlCaGJpQmhjSEJ5YjNabFpDQjBaVzF3YkdGMFpWeHVJQ0FnS2lCdVlXMWxJR0Z1WkNCc1lXNW5kV0ZuWlN3Z2QybDBhQ0J2Y0hScGIyNWhiQ0JqYjIxd2IyNWxiblJ6TGx4dUlDQWdLaUJBY0dGeVlXMGdlMWRvWVhSelFYQndWR1Z0Y0d4aGRHVkpibkIxZEgwZ2FXNXdkWFFnTFNCVWFHVWdjbVZqYVhCcFpXNTBJR0Z1WkNCMFpXMXdiR0YwWlNCa1pXWnBibWwwYVc5dUxseHVJQ0FnS2lCQWNtVjBkWEp1Y3lCN1VISnZiV2x6WlR4MWJtdHViM2R1UG4wZ1ZHaGxJRmRvWVhSelFYQndJRzFsYzNOaFoyVWdjR0Y1Ykc5aFpDNWNiaUFnSUNvZ1FIUm9jbTkzY3lCN1NXNTBaWEp1WVd4RmNuSnZjbjBnVjJobGJpQmpjbVZrWlc1MGFXRnNjeUJ2Y2lCMGFHVWdjR2h2Ym1VZ2JuVnRZbVZ5SUVsRUlHRnlaU0J0YVhOemFXNW5MbHh1SUNBZ0tpQkFkR2h5YjNkeklIdENZV1JTWlhGMVpYTjBSWEp5YjNKOUlGZG9aVzRnVjJoaGRITkJjSEFnY21WcVpXTjBjeUIwYUdVZ2RHVnRjR3hoZEdVZ2JXVnpjMkZuWlM1Y2JpQWdJQ292WEc0Z0lHRnplVzVqSUhObGJtUlVaVzF3YkdGMFpTaHBibkIxZERvZ1YyaGhkSE5CY0hCVVpXMXdiR0YwWlVsdWNIVjBLVG9nVUhKdmJXbHpaVHgxYm10dWIzZHVQaUI3WEc0Z0lDQWdZMjl1YzNRZ2NHaHZibVZPZFcxaVpYSkpaQ0E5SUhSb2FYTXVjbVZ4ZFdseVpWUnZhMlZ1UVc1a1VHaHZibVVvS1R0Y2JpQWdJQ0IwY25rZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnY21WemNHOXVjMlVnUFNCaGQyRnBkQ0IwYUdsekxtTnNhV1Z1ZEM1d2IzTjBLRnh1SUNBZ0lDQWdJQ0IwYUdsekxtMWxjM05oWjJWelVHRjBhQ2h3YUc5dVpVNTFiV0psY2tsa0tTeGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUcxbGMzTmhaMmx1WjE5d2NtOWtkV04wT2lCY0luZG9ZWFJ6WVhCd1hDSXNYRzRnSUNBZ0lDQWdJQ0FnZEc4NklHbHVjSFYwTG5SdkxGeHVJQ0FnSUNBZ0lDQWdJSFI1Y0dVNklGd2lkR1Z0Y0d4aGRHVmNJaXhjYmlBZ0lDQWdJQ0FnSUNCMFpXMXdiR0YwWlRvZ2UxeHVJQ0FnSUNBZ0lDQWdJQ0FnYm1GdFpUb2dhVzV3ZFhRdWRHVnRjR3hoZEdWT1lXMWxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2JHRnVaM1ZoWjJVNklIc2dZMjlrWlRvZ2FXNXdkWFF1YkdGdVozVmhaMlZEYjJSbElIMHNYRzRnSUNBZ0lDQWdJQ0FnSUNBdUxpNG9hVzV3ZFhRdVkyOXRjRzl1Wlc1MGN5QS9JSHNnWTI5dGNHOXVaVzUwY3pvZ2FXNXdkWFF1WTI5dGNHOXVaVzUwY3lCOUlEb2dlMzBwTEZ4dUlDQWdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZ6Y0c5dWMyVXVaR0YwWVR0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2FIUjBjRVZ5Y205eUtGd2lWMmhoZEhOQmNIQmNJaXdnWENKelpXNWtJSFJsYlhCc1lYUmxJRzFsYzNOaFoyVmNJaXdnWlhKeWIzSXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJQzhxS2x4dUlDQWdLaUJBWkdWelkzSnBjSFJwYjI0Z1UyVnVaSE1nWVNCWGFHRjBjMEZ3Y0NCdFpXUnBZU0J0WlhOellXZGxYRzRnSUNBcUlFQnpkVzF0WVhKNUlHQlFUMU5VWUhNZ1lXNGdZR2x0WVdkbFlDOWdZWFZrYVc5Z0wyQjJhV1JsYjJBdllHUnZZM1Z0Wlc1MFlDQnRaWE56WVdkbElIVnphVzVuWEc0Z0lDQXFJR1ZwZEdobGNpQmhiaUIxY0d4dllXUmxaQ0JnYldWa2FXRkpaR0FnYjNJZ1lTQndkV0pzYVdNZ1lHeHBibXRnTENCM2FYUm9JRzl3ZEdsdmJtRnNJR05oY0hScGIyNGdZVzVrWEc0Z0lDQXFJR1pwYkdWdVlXMWxMbHh1SUNBZ0tpQkFjR0Z5WVcwZ2UxZG9ZWFJ6UVhCd1RXVmthV0ZKYm5CMWRIMGdhVzV3ZFhRZ0xTQlVhR1VnY21WamFYQnBaVzUwSUdGdVpDQnRaV1JwWVNCeVpXWmxjbVZ1WTJVdVhHNGdJQ0FxSUVCeVpYUjFjbTV6SUh0UWNtOXRhWE5sUEhWdWEyNXZkMjQrZlNCVWFHVWdWMmhoZEhOQmNIQWdiV1Z6YzJGblpTQndZWGxzYjJGa0xseHVJQ0FnS2lCQWRHaHliM2R6SUh0SmJuUmxjbTVoYkVWeWNtOXlmU0JYYUdWdUlHTnlaV1JsYm5ScFlXeHpJRzl5SUhSb1pTQndhRzl1WlNCdWRXMWlaWElnU1VRZ1lYSmxJRzFwYzNOcGJtY3NJRzl5SUc1bGFYUm9aWElnWUcxbFpHbGhTV1JnSUc1dmNpQmdiR2x1YTJBZ2FYTWdjSEp2ZG1sa1pXUXVYRzRnSUNBcUlFQjBhSEp2ZDNNZ2UwSmhaRkpsY1hWbGMzUkZjbkp2Y24wZ1YyaGxiaUJYYUdGMGMwRndjQ0J5WldwbFkzUnpJSFJvWlNCdFpXUnBZU0J0WlhOellXZGxMbHh1SUNBZ0tpOWNiaUFnWVhONWJtTWdjMlZ1WkUxbFpHbGhLR2x1Y0hWME9pQlhhR0YwYzBGd2NFMWxaR2xoU1c1d2RYUXBPaUJRY205dGFYTmxQSFZ1YTI1dmQyNCtJSHRjYmlBZ0lDQmpiMjV6ZENCd2FHOXVaVTUxYldKbGNrbGtJRDBnZEdocGN5NXlaWEYxYVhKbFZHOXJaVzVCYm1SUWFHOXVaU2dwTzF4dUlDQWdJR2xtSUNnaGFXNXdkWFF1YldWa2FXRkpaQ0FtSmlBaGFXNXdkWFF1YkdsdWF5a2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lGd2lWMmhoZEhOQmNIQWdiV1ZrYVdFZ2JXVnpjMkZuWlhNZ2NtVnhkV2x5WlNCaElHMWxaR2xoSUdsa0lHOXlJR3hwYm10Y0lseHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOVhHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHTnZibk4wSUhKbGMzQnZibk5sSUQwZ1lYZGhhWFFnZEdocGN5NWpiR2xsYm5RdWNHOXpkQ2hjYmlBZ0lDQWdJQ0FnZEdocGN5NXRaWE56WVdkbGMxQmhkR2dvY0dodmJtVk9kVzFpWlhKSlpDa3NYRzRnSUNBZ0lDQWdJSHRjYmlBZ0lDQWdJQ0FnSUNCdFpYTnpZV2RwYm1kZmNISnZaSFZqZERvZ1hDSjNhR0YwYzJGd2NGd2lMRnh1SUNBZ0lDQWdJQ0FnSUhKbFkybHdhV1Z1ZEY5MGVYQmxPaUJjSW1sdVpHbDJhV1IxWVd4Y0lpeGNiaUFnSUNBZ0lDQWdJQ0IwYnpvZ2FXNXdkWFF1ZEc4c1hHNGdJQ0FnSUNBZ0lDQWdkSGx3WlRvZ2FXNXdkWFF1ZEhsd1pTeGNiaUFnSUNBZ0lDQWdJQ0JiYVc1d2RYUXVkSGx3WlYwNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUM0dUxpaHBibkIxZEM1dFpXUnBZVWxrSUQ4Z2V5QnBaRG9nYVc1d2RYUXViV1ZrYVdGSlpDQjlJRG9nZXlCc2FXNXJPaUJwYm5CMWRDNXNhVzVySUgwcExGeHVJQ0FnSUNBZ0lDQWdJQ0FnTGk0dUtHbHVjSFYwTG1OaGNIUnBiMjRnUHlCN0lHTmhjSFJwYjI0NklHbHVjSFYwTG1OaGNIUnBiMjRnZlNBNklIdDlLU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lDNHVMaWhwYm5CMWRDNW1hV3hsYm1GdFpTQS9JSHNnWm1sc1pXNWhiV1U2SUdsdWNIVjBMbVpwYkdWdVlXMWxJSDBnT2lCN2ZTa3NYRzRnSUNBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0tUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCeVpYTndiMjV6WlM1a1lYUmhPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVnljbTl5S1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJvZEhSd1JYSnliM0lvWENKWGFHRjBjMEZ3Y0Z3aUxDQmNJbk5sYm1RZ2JXVmthV0VnYldWemMyRm5aVndpTENCbGNuSnZjaWs3WEc0Z0lDQWdmVnh1SUNCOVhHNWNiaUFnTHlvcVhHNGdJQ0FxSUVCa1pYTmpjbWx3ZEdsdmJpQk5ZWEpyY3lCaGJpQnBibUp2ZFc1a0lGZG9ZWFJ6UVhCd0lHMWxjM05oWjJVZ1lYTWdjbVZoWkZ4dUlDQWdLaUJBYzNWdGJXRnllU0JnVUU5VFZHQnpJR0VnWUhKbFlXUmdJSE4wWVhSMWN5Qm1iM0lnZEdobElHMWxjM05oWjJVZ2RHOGdkR2hsSUhObGJtUmxjaWR6WEc0Z0lDQXFJR0F2YldWemMyRm5aWE5nSUdWdVpIQnZhVzUwTGx4dUlDQWdLaUJBY0dGeVlXMGdlMWRvWVhSelFYQndVbVZoWkVsdWNIVjBmU0JwYm5CMWRDQXRJRlJvWlNCcGJtSnZkVzVrSUcxbGMzTmhaMlVnU1VRZ2RHOGdZV05yYm05M2JHVmtaMlV1WEc0Z0lDQXFJRUJ5WlhSMWNtNXpJSHRRY205dGFYTmxQSFZ1YTI1dmQyNCtmU0JVYUdVZ1YyaGhkSE5CY0hBZ2MzUmhkSFZ6SUhCaGVXeHZZV1F1WEc0Z0lDQXFJRUIwYUhKdmQzTWdlMGx1ZEdWeWJtRnNSWEp5YjNKOUlGZG9aVzRnWTNKbFpHVnVkR2xoYkhNc0lIUm9aU0J3YUc5dVpTQnVkVzFpWlhJZ1NVUXNJRzl5SUhSb1pTQnRaWE56WVdkbElFbEVJR0Z5WlNCdGFYTnphVzVuTGx4dUlDQWdLaUJBZEdoeWIzZHpJSHRDWVdSU1pYRjFaWE4wUlhKeWIzSjlJRmRvWlc0Z1YyaGhkSE5CY0hBZ2NtVnFaV04wY3lCMGFHVWdjbVZ4ZFdWemRDNWNiaUFnSUNvdlhHNGdJR0Z6ZVc1aklHMWhjbXRCYzFKbFlXUW9hVzV3ZFhRNklGZG9ZWFJ6UVhCd1VtVmhaRWx1Y0hWMEtUb2dVSEp2YldselpUeDFibXR1YjNkdVBpQjdYRzRnSUNBZ1kyOXVjM1FnY0dodmJtVk9kVzFpWlhKSlpDQTlJSFJvYVhNdWNtVnhkV2x5WlZSdmEyVnVRVzVrVUdodmJtVW9LVHRjYmlBZ0lDQnBaaUFvSVdsdWNIVjBMbTFsYzNOaFoyVkpaQ2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YQ0pYYUdGMGMwRndjQ0J5WlhGMWFYSmxjeUJoSUcxbGMzTmhaMlVnYVdSY0lpazdYRzRnSUNBZ2ZWeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTndiMjV6WlNBOUlHRjNZV2wwSUhSb2FYTXVZMnhwWlc1MExuQnZjM1FvWEc0Z0lDQWdJQ0FnSUhSb2FYTXViV1Z6YzJGblpYTlFZWFJvS0hCb2IyNWxUblZ0WW1WeVNXUXBMRnh1SUNBZ0lDQWdJQ0I3WEc0Z0lDQWdJQ0FnSUNBZ2JXVnpjMkZuYVc1blgzQnliMlIxWTNRNklGd2lkMmhoZEhOaGNIQmNJaXhjYmlBZ0lDQWdJQ0FnSUNCemRHRjBkWE02SUZ3aWNtVmhaRndpTEZ4dUlDQWdJQ0FnSUNBZ0lHMWxjM05oWjJWZmFXUTZJR2x1Y0hWMExtMWxjM05oWjJWSlpDeGNiaUFnSUNBZ0lDQWdmVnh1SUNBZ0lDQWdLVHRjYmlBZ0lDQWdJSEpsZEhWeWJpQnlaWE53YjI1elpTNWtZWFJoTzF4dUlDQWdJSDBnWTJGMFkyZ2dLR1Z5Y205eUtTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCb2RIUndSWEp5YjNJb1hDSlhhR0YwYzBGd2NGd2lMQ0JjSW0xaGNtc2diV1Z6YzJGblpTQmhjeUJ5WldGa1hDSXNJR1Z5Y205eUtUdGNiaUFnSUNCOVhHNGdJSDFjYmx4dUlDQXZLaXBjYmlBZ0lDb2dRR1JsYzJOeWFYQjBhVzl1SUVabGRHTm9aWE1nVjJoaGRITkJjSEFnYldWa2FXRWdiV1YwWVdSaGRHRmNiaUFnSUNvZ1FITjFiVzFoY25rZ1lFZEZWR0J6SUhSb1pTQnRaV1JwWVNCa1pYTmpjbWx3ZEc5eUlDaFZVa3dzSUUxSlRVVWdkSGx3WlN3Z2MybDZaU2tnWW5rZ2JXVmthV0VnU1VRN1hHNGdJQ0FxSUhSb1pTQmtaWE5qY21sd2RHOXlKM01nVlZKTUlHbHpJSFJvWlc0Z2RYTmxaQ0IwYnlCa2IzZHViRzloWkNCMGFHVWdZbWx1WVhKNUxseHVJQ0FnS2lCQWNHRnlZVzBnZTNOMGNtbHVaMzBnYldWa2FXRkpaQ0F0SUZSb1pTQlhhR0YwYzBGd2NDQnRaV1JwWVNCSlJDNWNiaUFnSUNvZ1FISmxkSFZ5Ym5NZ2UxQnliMjFwYzJVOGRXNXJibTkzYmo1OUlGUm9aU0J0WldScFlTQnRaWFJoWkdGMFlTQndZWGxzYjJGa0xseHVJQ0FnS2lCQWRHaHliM2R6SUh0SmJuUmxjbTVoYkVWeWNtOXlmU0JYYUdWdUlHNXZJSFJ2YTJWdUlHbHpJR052Ym1acFozVnlaV1FnYjNJZ2RHaGxJRzFsWkdsaElFbEVJR2x6SUdWdGNIUjVMbHh1SUNBZ0tpQkFkR2h5YjNkeklIdE9iM1JHYjNWdVpFVnljbTl5ZlNCWGFHVnVJSFJvWlNCdFpXUnBZU0JrYjJWeklHNXZkQ0JsZUdsemRDQW9TRlJVVUNBME1EUXBMbHh1SUNBZ0tpQkFkR2h5YjNkeklIdENZV1JTWlhGMVpYTjBSWEp5YjNKOUlGZG9aVzRnVjJoaGRITkJjSEFnY21WcVpXTjBjeUIwYUdVZ2NtVnhkV1Z6ZEM1Y2JpQWdJQ292WEc0Z0lHRnplVzVqSUdkbGRFMWxaR2xoS0cxbFpHbGhTV1E2SUhOMGNtbHVaeWs2SUZCeWIyMXBjMlU4ZFc1cmJtOTNiajRnZTF4dUlDQWdJSFJvYVhNdWNtVnhkV2x5WlZSdmEyVnVLQ2s3WEc0Z0lDQWdhV1lnS0NGdFpXUnBZVWxrS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWhjSWxkb1lYUnpRWEJ3SUhKbGNYVnBjbVZ6SUdFZ2JXVmthV0VnYVdSY0lpazdYRzRnSUNBZ2ZWeHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCeVpYTndiMjV6WlNBOUlHRjNZV2wwSUhSb2FYTXVZMnhwWlc1MExtZGxkQ2hjYmlBZ0lDQWdJQ0FnWUM4a2UyVnVZMjlrWlZWU1NVTnZiWEJ2Ym1WdWRDaHRaV1JwWVVsa0tYMWdYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdjbVYwZFhKdUlISmxjM0J2Ym5ObExtUmhkR0U3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUdoMGRIQkZjbkp2Y2loY0lsZG9ZWFJ6UVhCd1hDSXNJRndpWjJWMElHMWxaR2xoWENJc0lHVnljbTl5S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibjFjYmlKZGZRPT0iXX0=
|
|
@@ -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("./WhatsAppService.cjs"), exports);
|
|
18
|
-
//# sourceMappingURL=
|
|
19
|
-
//# sourceMappingURL=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tbXMvd2hhdHNhcHAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEscUNBQWtDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vV2hhdHNBcHBTZXJ2aWNlXCI7XG4iXX0=
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsdURBQXFDO0FBQ3JDLDBUQUEwVCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL1doYXRzQXBwU2VydmljZS5qc1wiO1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1a1pYZ3Vhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk4dUxpOXpjbU12WTI5dGJYTXZkMmhoZEhOaGNIQXZhVzVrWlhndWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklrRkJRVUVzY1VOQlFXdERJaXdpYzI5MWNtTmxjME52Ym5SbGJuUWlPbHNpWlhod2IzSjBJQ29nWm5KdmJTQmNJaTR2VjJoaGRITkJjSEJUWlhKMmFXTmxYQ0k3WEc0aVhYMD0iXX0=
|
|
@@ -39,5 +39,5 @@ exports.DevopsEnvironment = logging_1.LoggedEnvironment.accumulate({
|
|
|
39
39
|
},
|
|
40
40
|
},
|
|
41
41
|
});
|
|
42
|
-
//# sourceMappingURL=
|
|
43
|
-
//# sourceMappingURL=
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2b3BzL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBd0N0RDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUM1RCxNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUU7WUFDTixLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsS0FBSyxFQUFFLEVBQUU7WUFDVCxJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxTQUE4QjtTQUN4QztRQUNELE1BQU0sRUFBRTtZQUNOLEtBQUssRUFBRSxFQUFFO1lBQ1QsT0FBTyxFQUFFLEVBQUU7WUFDWCxTQUFTLEVBQUUsRUFBRTtZQUNiLE9BQU8sRUFBRSxTQUE4QjtTQUN4QztLQUNGO0NBQ3dCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvZ2dlZEVudmlyb25tZW50IH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5cbi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvZGV2b3BzL2Vudmlyb25tZW50XG4gKiBAc3VtbWFyeSBFbnZpcm9ubWVudCBjb250cmFjdCBhbmQgYWNjdW11bGF0ZWQgZW52aXJvbm1lbnQgZm9yIHRoZSBkZXZvcHMgaW50ZWdyYXRpb24gc2VydmljZXMuXG4gKiBAZGVzY3JpcHRpb24gRGVjbGFyZXMgdGhlIGBEZXZvcHNFbnZpcm9ubWVudFNoYXBlYCBjb25zdW1lZCBieSB0aGUgR2l0SHViIGFuZFxuICogR2l0TGFiIHNlcnZpY2VzJyBgY29uZmlnRnJvbUVudmlyb25tZW50KClgIGltcGxlbWVudGF0aW9ucyBhbmQgdGhlXG4gKiBgRGV2b3BzRW52aXJvbm1lbnRgIHNpbmdsZXRvbiBjcmVhdGVkIHZpYSBgTG9nZ2VkRW52aXJvbm1lbnQuYWNjdW11bGF0ZWAuXG4gKiBTZXJ2aWNlcyByZWFkIHRoZWlyIGNyZWRlbnRpYWxzIGFuZCBkZWZhdWx0cyBmcm9tIHRoZSBtYXRjaGluZ1xuICogYGRldm9wcy48cHJvdmlkZXI+YCBzbGljZSwgdXNpbmcgdGhlIGBlbnZTdHJpbmdgL2BlbnZOdW1iZXJgIGhlbHBlcnMgZnJvbVxuICogYHNoYXJlZC9lbnZpcm9ubWVudFZhbHVlYCB0byByZWplY3QgdW5zZXQtbGVhZiBwcm94aWVzLlxuICovXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBFbnZpcm9ubWVudCBzaGFwZSBmb3IgdGhlIGRldm9wcyBpbnRlZ3JhdGlvbiBzZXJ2aWNlc1xuICogQHN1bW1hcnkgRGVmaW5lcyB0aGUgYGRldm9wc2Agcm9vdCB3aXRoIG9uZSBzbGljZSBwZXIgcHJvdmlkZXIgKGBnaXRodWJgLFxuICogYGdpdGxhYmApLiBFYWNoIHNsaWNlIGNhcnJpZXMgdGhlIHByb3ZpZGVyJ3MgcmVxdWlyZWQgYHRva2VuYCBhbmQgZGVmYXVsdHNcbiAqIChgb3duZXJgL2ByZXBvYCBmb3IgR2l0SHViLCBgcHJvamVjdElkYCBmb3IgR2l0TGFiKSBwbHVzIGFuIG9wdGlvbmFsXG4gKiBgYmFzZVVybGAgb3ZlcnJpZGUgYW5kIGB0aW1lb3V0YC4gRmllbGRzIGFyZSB0eXBlZCBhcyByZXF1aXJlZCBoZXJlIHNvXG4gKiBgTG9nZ2VkRW52aXJvbm1lbnQuYWNjdW11bGF0ZWAgcmVnaXN0ZXJzIHRoZW07IGFic2VudCB2YWx1ZXMgcmVzb2x2ZSB0b1xuICogcHJveHkgcGxhY2Vob2xkZXJzIGF0IHJ1bnRpbWUgYW5kIG11c3QgcGFzcyB0aHJvdWdoIGBlbnZTdHJpbmdgL2BlbnZOdW1iZXJgLlxuICogQG1lbWJlck9mIG1vZHVsZTppbnRlZ3JhdGlvbnMvZGV2b3BzL2Vudmlyb25tZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGV2b3BzRW52aXJvbm1lbnRTaGFwZSB7XG4gIGRldm9wczoge1xuICAgIGdpdGh1Yjoge1xuICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICAgIG93bmVyOiBzdHJpbmc7XG4gICAgICByZXBvOiBzdHJpbmc7XG4gICAgICB0aW1lb3V0PzogbnVtYmVyO1xuICAgIH07XG4gICAgZ2l0bGFiOiB7XG4gICAgICB0b2tlbjogc3RyaW5nO1xuICAgICAgYmFzZVVybDogc3RyaW5nO1xuICAgICAgcHJvamVjdElkOiBzdHJpbmc7XG4gICAgICB0aW1lb3V0PzogbnVtYmVyO1xuICAgIH07XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEFjY3VtdWxhdGVkIGRldm9wcyBlbnZpcm9ubWVudCBzaW5nbGV0b25cbiAqIEBzdW1tYXJ5IFRoZSBgTG9nZ2VkRW52aXJvbm1lbnQuYWNjdW11bGF0ZWAtcmVnaXN0ZXJlZCBpbnN0YW5jZSBiYWNraW5nIHRoZVxuICogYERldm9wc0Vudmlyb25tZW50U2hhcGVgIGNvbnRyYWN0LiBEZXZvcHMgc2VydmljZXMgcmVhZCB0aGVpciBwcm92aWRlclxuICogc2xpY2UgKGUuZy4gYERldm9wc0Vudmlyb25tZW50LmRldm9wcy5naXRodWJgKSBpbnNpZGVcbiAqIGBjb25maWdGcm9tRW52aXJvbm1lbnQoKWAgYW5kIHRyYW5zbGF0ZSBpdCBpbnRvIGFuXG4gKiBgSHR0cEFwaVNlcnZpY2VDb25maWdgLWRlcml2ZWQgY29uZmlnLiBDcmVkZW50aWFscyBjb21lIGZyb20gZW52aXJvbm1lbnRcbiAqIHZhcmlhYmxlczsgZm9yIGFzLWdyYXBoIG5vZGUgdXNhZ2UgdGhvc2UgYXJlIHByb3ZpZGVkIGFzXG4gKiBgR1JBUEhfQ1JFREVOVElBTF8qYCB2YWx1ZXMgKHBsYWNlaG9sZGVycyBpbiB0aGlzIGV4YW1wbGUpLlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBHaXRodWJTZXJ2aWNlIH0gZnJvbSBcIkBkZWNhZi10cy9pbnRlZ3JhdGlvbnMvZGV2b3BzL2dpdGh1YlwiO1xuICpcbiAqIC8vIHdpdGggZGV2b3BzLmdpdGh1Yi50b2tlbiAvIGRldm9wcy5naXRodWIub3duZXIgLyBkZXZvcHMuZ2l0aHViLnJlcG8gY29uZmlndXJlZFxuICogY29uc3QgZ2l0aHViID0gbmV3IEdpdGh1YlNlcnZpY2UoKTtcbiAqIGF3YWl0IGdpdGh1Yi5pbml0aWFsaXplKCk7XG4gKiBgYGBcbiAqIEBjb25zdGFudCB7TG9nZ2VkRW52aXJvbm1lbnR9IERldm9wc0Vudmlyb25tZW50XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9kZXZvcHMvZW52aXJvbm1lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IERldm9wc0Vudmlyb25tZW50ID0gTG9nZ2VkRW52aXJvbm1lbnQuYWNjdW11bGF0ZSh7XG4gIGRldm9wczoge1xuICAgIGdpdGh1Yjoge1xuICAgICAgdG9rZW46IFwiXCIsXG4gICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgb3duZXI6IFwiXCIsXG4gICAgICByZXBvOiBcIlwiLFxuICAgICAgdGltZW91dDogdW5kZWZpbmVkIGFzIHVua25vd24gYXMgbnVtYmVyLFxuICAgIH0sXG4gICAgZ2l0bGFiOiB7XG4gICAgICB0b2tlbjogXCJcIixcbiAgICAgIGJhc2VVcmw6IFwiXCIsXG4gICAgICBwcm9qZWN0SWQ6IFwiXCIsXG4gICAgICB0aW1lb3V0OiB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBudW1iZXIsXG4gICAgfSxcbiAgfSxcbn0gYXMgRGV2b3BzRW52aXJvbm1lbnRTaGFwZSk7XG4iXX0=
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJlbnZpcm9ubWVudC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwrQ0FBc0Q7QUFDdEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDVSxRQUFBLGlCQUFpQixHQUFHLDJCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUMxRCxNQUFNLEVBQUU7UUFDSixNQUFNLEVBQUU7WUFDSixLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsS0FBSyxFQUFFLEVBQUU7WUFDVCxJQUFJLEVBQUUsRUFBRTtZQUNSLE9BQU8sRUFBRSxTQUFTO1NBQ3JCO1FBQ0QsTUFBTSxFQUFFO1lBQ0osS0FBSyxFQUFFLEVBQUU7WUFDVCxPQUFPLEVBQUUsRUFBRTtZQUNYLFNBQVMsRUFBRSxFQUFFO1lBQ2IsT0FBTyxFQUFFLFNBQVM7U0FDckI7S0FDSjtDQUNKLENBQUMsQ0FBQztBQUNILHNnSkFBc2dKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2VkRW52aXJvbm1lbnQgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcbi8qKlxuICogQGRlc2NyaXB0aW9uIEFjY3VtdWxhdGVkIGRldm9wcyBlbnZpcm9ubWVudCBzaW5nbGV0b25cbiAqIEBzdW1tYXJ5IFRoZSBgTG9nZ2VkRW52aXJvbm1lbnQuYWNjdW11bGF0ZWAtcmVnaXN0ZXJlZCBpbnN0YW5jZSBiYWNraW5nIHRoZVxuICogYERldm9wc0Vudmlyb25tZW50U2hhcGVgIGNvbnRyYWN0LiBEZXZvcHMgc2VydmljZXMgcmVhZCB0aGVpciBwcm92aWRlclxuICogc2xpY2UgKGUuZy4gYERldm9wc0Vudmlyb25tZW50LmRldm9wcy5naXRodWJgKSBpbnNpZGVcbiAqIGBjb25maWdGcm9tRW52aXJvbm1lbnQoKWAgYW5kIHRyYW5zbGF0ZSBpdCBpbnRvIGFuXG4gKiBgSHR0cEFwaVNlcnZpY2VDb25maWdgLWRlcml2ZWQgY29uZmlnLiBDcmVkZW50aWFscyBjb21lIGZyb20gZW52aXJvbm1lbnRcbiAqIHZhcmlhYmxlczsgZm9yIGFzLWdyYXBoIG5vZGUgdXNhZ2UgdGhvc2UgYXJlIHByb3ZpZGVkIGFzXG4gKiBgR1JBUEhfQ1JFREVOVElBTF8qYCB2YWx1ZXMgKHBsYWNlaG9sZGVycyBpbiB0aGlzIGV4YW1wbGUpLlxuICogQGV4YW1wbGVcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBHaXRodWJTZXJ2aWNlIH0gZnJvbSBcIkBkZWNhZi10cy9pbnRlZ3JhdGlvbnMvZGV2b3BzL2dpdGh1YlwiO1xuICpcbiAqIC8vIHdpdGggZGV2b3BzLmdpdGh1Yi50b2tlbiAvIGRldm9wcy5naXRodWIub3duZXIgLyBkZXZvcHMuZ2l0aHViLnJlcG8gY29uZmlndXJlZFxuICogY29uc3QgZ2l0aHViID0gbmV3IEdpdGh1YlNlcnZpY2UoKTtcbiAqIGF3YWl0IGdpdGh1Yi5pbml0aWFsaXplKCk7XG4gKiBgYGBcbiAqIEBjb25zdGFudCB7TG9nZ2VkRW52aXJvbm1lbnR9IERldm9wc0Vudmlyb25tZW50XG4gKiBAbWVtYmVyT2YgbW9kdWxlOmludGVncmF0aW9ucy9kZXZvcHMvZW52aXJvbm1lbnRcbiAqL1xuZXhwb3J0IGNvbnN0IERldm9wc0Vudmlyb25tZW50ID0gTG9nZ2VkRW52aXJvbm1lbnQuYWNjdW11bGF0ZSh7XG4gICAgZGV2b3BzOiB7XG4gICAgICAgIGdpdGh1Yjoge1xuICAgICAgICAgICAgdG9rZW46IFwiXCIsXG4gICAgICAgICAgICBiYXNlVXJsOiBcIlwiLFxuICAgICAgICAgICAgb3duZXI6IFwiXCIsXG4gICAgICAgICAgICByZXBvOiBcIlwiLFxuICAgICAgICAgICAgdGltZW91dDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgICBnaXRsYWI6IHtcbiAgICAgICAgICAgIHRva2VuOiBcIlwiLFxuICAgICAgICAgICAgYmFzZVVybDogXCJcIixcbiAgICAgICAgICAgIHByb2plY3RJZDogXCJcIixcbiAgICAgICAgICAgIHRpbWVvdXQ6IHVuZGVmaW5lZCxcbiAgICAgICAgfSxcbiAgICB9LFxufSk7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0ptYVd4bElqb2laVzUyYVhKdmJtMWxiblF1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOXpjbU12WkdWMmIzQnpMMlZ1ZG1seWIyNXRaVzUwTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTlCUVU4c1JVRkJSU3hwUWtGQmFVSXNSVUZCUlN4TlFVRk5MRzFDUVVGdFFpeERRVUZETzBGQmQwTjBSRHM3T3pzN096czdPenM3T3pzN096czdPenRIUVcxQ1J6dEJRVU5JTEUxQlFVMHNRMEZCUXl4TlFVRk5MR2xDUVVGcFFpeEhRVUZITEdsQ1FVRnBRaXhEUVVGRExGVkJRVlVzUTBGQlF6dEpRVU0xUkN4TlFVRk5MRVZCUVVVN1VVRkRUaXhOUVVGTkxFVkJRVVU3V1VGRFRpeExRVUZMTEVWQlFVVXNSVUZCUlR0WlFVTlVMRTlCUVU4c1JVRkJSU3hGUVVGRk8xbEJRMWdzUzBGQlN5eEZRVUZGTEVWQlFVVTdXVUZEVkN4SlFVRkpMRVZCUVVVc1JVRkJSVHRaUVVOU0xFOUJRVThzUlVGQlJTeFRRVUU0UWp0VFFVTjRRenRSUVVORUxFMUJRVTBzUlVGQlJUdFpRVU5PTEV0QlFVc3NSVUZCUlN4RlFVRkZPMWxCUTFRc1QwRkJUeXhGUVVGRkxFVkJRVVU3V1VGRFdDeFRRVUZUTEVWQlFVVXNSVUZCUlR0WlFVTmlMRTlCUVU4c1JVRkJSU3hUUVVFNFFqdFRRVU40UXp0TFFVTkdPME5CUTNkQ0xFTkJRVU1zUTBGQlF5SXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJbWx0Y0c5eWRDQjdJRXh2WjJkbFpFVnVkbWx5YjI1dFpXNTBJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlzYjJkbmFXNW5YQ0k3WEc1Y2JpOHFLbHh1SUNvZ1FHMXZaSFZzWlNCcGJuUmxaM0poZEdsdmJuTXZaR1YyYjNCekwyVnVkbWx5YjI1dFpXNTBYRzRnS2lCQWMzVnRiV0Z5ZVNCRmJuWnBjbTl1YldWdWRDQmpiMjUwY21GamRDQmhibVFnWVdOamRXMTFiR0YwWldRZ1pXNTJhWEp2Ym0xbGJuUWdabTl5SUhSb1pTQmtaWFp2Y0hNZ2FXNTBaV2R5WVhScGIyNGdjMlZ5ZG1salpYTXVYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdSR1ZqYkdGeVpYTWdkR2hsSUdCRVpYWnZjSE5GYm5acGNtOXViV1Z1ZEZOb1lYQmxZQ0JqYjI1emRXMWxaQ0JpZVNCMGFHVWdSMmwwU0hWaUlHRnVaRnh1SUNvZ1IybDBUR0ZpSUhObGNuWnBZMlZ6SnlCZ1kyOXVabWxuUm5KdmJVVnVkbWx5YjI1dFpXNTBLQ2xnSUdsdGNHeGxiV1Z1ZEdGMGFXOXVjeUJoYm1RZ2RHaGxYRzRnS2lCZ1JHVjJiM0J6Ulc1MmFYSnZibTFsYm5SZ0lITnBibWRzWlhSdmJpQmpjbVZoZEdWa0lIWnBZU0JnVEc5bloyVmtSVzUyYVhKdmJtMWxiblF1WVdOamRXMTFiR0YwWldBdVhHNGdLaUJUWlhKMmFXTmxjeUJ5WldGa0lIUm9aV2x5SUdOeVpXUmxiblJwWVd4eklHRnVaQ0JrWldaaGRXeDBjeUJtY205dElIUm9aU0J0WVhSamFHbHVaMXh1SUNvZ1lHUmxkbTl3Y3k0OGNISnZkbWxrWlhJK1lDQnpiR2xqWlN3Z2RYTnBibWNnZEdobElHQmxiblpUZEhKcGJtZGdMMkJsYm5aT2RXMWlaWEpnSUdobGJIQmxjbk1nWm5KdmJWeHVJQ29nWUhOb1lYSmxaQzlsYm5acGNtOXViV1Z1ZEZaaGJIVmxZQ0IwYnlCeVpXcGxZM1FnZFc1elpYUXRiR1ZoWmlCd2NtOTRhV1Z6TGx4dUlDb3ZYRzR2S2lwY2JpQXFJRUJrWlhOamNtbHdkR2x2YmlCRmJuWnBjbTl1YldWdWRDQnphR0Z3WlNCbWIzSWdkR2hsSUdSbGRtOXdjeUJwYm5SbFozSmhkR2x2YmlCelpYSjJhV05sYzF4dUlDb2dRSE4xYlcxaGNua2dSR1ZtYVc1bGN5QjBhR1VnWUdSbGRtOXdjMkFnY205dmRDQjNhWFJvSUc5dVpTQnpiR2xqWlNCd1pYSWdjSEp2ZG1sa1pYSWdLR0JuYVhSb2RXSmdMRnh1SUNvZ1lHZHBkR3hoWW1BcExpQkZZV05vSUhOc2FXTmxJR05oY25KcFpYTWdkR2hsSUhCeWIzWnBaR1Z5SjNNZ2NtVnhkV2x5WldRZ1lIUnZhMlZ1WUNCaGJtUWdaR1ZtWVhWc2RITmNiaUFxSUNoZ2IzZHVaWEpnTDJCeVpYQnZZQ0JtYjNJZ1IybDBTSFZpTENCZ2NISnZhbVZqZEVsa1lDQm1iM0lnUjJsMFRHRmlLU0J3YkhWeklHRnVJRzl3ZEdsdmJtRnNYRzRnS2lCZ1ltRnpaVlZ5YkdBZ2IzWmxjbkpwWkdVZ1lXNWtJR0IwYVcxbGIzVjBZQzRnUm1sbGJHUnpJR0Z5WlNCMGVYQmxaQ0JoY3lCeVpYRjFhWEpsWkNCb1pYSmxJSE52WEc0Z0tpQmdURzluWjJWa1JXNTJhWEp2Ym0xbGJuUXVZV05qZFcxMWJHRjBaV0FnY21WbmFYTjBaWEp6SUhSb1pXMDdJR0ZpYzJWdWRDQjJZV3gxWlhNZ2NtVnpiMngyWlNCMGIxeHVJQ29nY0hKdmVIa2djR3hoWTJWb2IyeGtaWEp6SUdGMElISjFiblJwYldVZ1lXNWtJRzExYzNRZ2NHRnpjeUIwYUhKdmRXZG9JR0JsYm5aVGRISnBibWRnTDJCbGJuWk9kVzFpWlhKZ0xseHVJQ29nUUcxbGJXSmxjazltSUcxdlpIVnNaVHBwYm5SbFozSmhkR2x2Ym5NdlpHVjJiM0J6TDJWdWRtbHliMjV0Wlc1MFhHNGdLaTljYm1WNGNHOXlkQ0JwYm5SbGNtWmhZMlVnUkdWMmIzQnpSVzUyYVhKdmJtMWxiblJUYUdGd1pTQjdYRzRnSUdSbGRtOXdjem9nZTF4dUlDQWdJR2RwZEdoMVlqb2dlMXh1SUNBZ0lDQWdkRzlyWlc0NklITjBjbWx1Wnp0Y2JpQWdJQ0FnSUdKaGMyVlZjbXc2SUhOMGNtbHVaenRjYmlBZ0lDQWdJRzkzYm1WeU9pQnpkSEpwYm1jN1hHNGdJQ0FnSUNCeVpYQnZPaUJ6ZEhKcGJtYzdYRzRnSUNBZ0lDQjBhVzFsYjNWMFB6b2diblZ0WW1WeU8xeHVJQ0FnSUgwN1hHNGdJQ0FnWjJsMGJHRmlPaUI3WEc0Z0lDQWdJQ0IwYjJ0bGJqb2djM1J5YVc1bk8xeHVJQ0FnSUNBZ1ltRnpaVlZ5YkRvZ2MzUnlhVzVuTzF4dUlDQWdJQ0FnY0hKdmFtVmpkRWxrT2lCemRISnBibWM3WEc0Z0lDQWdJQ0IwYVcxbGIzVjBQem9nYm5WdFltVnlPMXh1SUNBZ0lIMDdYRzRnSUgwN1hHNTlYRzVjYmk4cUtseHVJQ29nUUdSbGMyTnlhWEIwYVc5dUlFRmpZM1Z0ZFd4aGRHVmtJR1JsZG05d2N5QmxiblpwY205dWJXVnVkQ0J6YVc1bmJHVjBiMjVjYmlBcUlFQnpkVzF0WVhKNUlGUm9aU0JnVEc5bloyVmtSVzUyYVhKdmJtMWxiblF1WVdOamRXMTFiR0YwWldBdGNtVm5hWE4wWlhKbFpDQnBibk4wWVc1alpTQmlZV05yYVc1bklIUm9aVnh1SUNvZ1lFUmxkbTl3YzBWdWRtbHliMjV0Wlc1MFUyaGhjR1ZnSUdOdmJuUnlZV04wTGlCRVpYWnZjSE1nYzJWeWRtbGpaWE1nY21WaFpDQjBhR1ZwY2lCd2NtOTJhV1JsY2x4dUlDb2djMnhwWTJVZ0tHVXVaeTRnWUVSbGRtOXdjMFZ1ZG1seWIyNXRaVzUwTG1SbGRtOXdjeTVuYVhSb2RXSmdLU0JwYm5OcFpHVmNiaUFxSUdCamIyNW1hV2RHY205dFJXNTJhWEp2Ym0xbGJuUW9LV0FnWVc1a0lIUnlZVzV6YkdGMFpTQnBkQ0JwYm5SdklHRnVYRzRnS2lCZ1NIUjBjRUZ3YVZObGNuWnBZMlZEYjI1bWFXZGdMV1JsY21sMlpXUWdZMjl1Wm1sbkxpQkRjbVZrWlc1MGFXRnNjeUJqYjIxbElHWnliMjBnWlc1MmFYSnZibTFsYm5SY2JpQXFJSFpoY21saFlteGxjenNnWm05eUlHRnpMV2R5WVhCb0lHNXZaR1VnZFhOaFoyVWdkR2h2YzJVZ1lYSmxJSEJ5YjNacFpHVmtJR0Z6WEc0Z0tpQmdSMUpCVUVoZlExSkZSRVZPVkVsQlRGOHFZQ0IyWVd4MVpYTWdLSEJzWVdObGFHOXNaR1Z5Y3lCcGJpQjBhR2x6SUdWNFlXMXdiR1VwTGx4dUlDb2dRR1Y0WVcxd2JHVmNiaUFxSUdCZ1lIUnpYRzRnS2lCcGJYQnZjblFnZXlCSGFYUm9kV0pUWlhKMmFXTmxJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlwYm5SbFozSmhkR2x2Ym5NdlpHVjJiM0J6TDJkcGRHaDFZbHdpTzF4dUlDcGNiaUFxSUM4dklIZHBkR2dnWkdWMmIzQnpMbWRwZEdoMVlpNTBiMnRsYmlBdklHUmxkbTl3Y3k1bmFYUm9kV0l1YjNkdVpYSWdMeUJrWlhadmNITXVaMmwwYUhWaUxuSmxjRzhnWTI5dVptbG5kWEpsWkZ4dUlDb2dZMjl1YzNRZ1oybDBhSFZpSUQwZ2JtVjNJRWRwZEdoMVlsTmxjblpwWTJVb0tUdGNiaUFxSUdGM1lXbDBJR2RwZEdoMVlpNXBibWwwYVdGc2FYcGxLQ2s3WEc0Z0tpQmdZR0JjYmlBcUlFQmpiMjV6ZEdGdWRDQjdURzluWjJWa1JXNTJhWEp2Ym0xbGJuUjlJRVJsZG05d2MwVnVkbWx5YjI1dFpXNTBYRzRnS2lCQWJXVnRZbVZ5VDJZZ2JXOWtkV3hsT21sdWRHVm5jbUYwYVc5dWN5OWtaWFp2Y0hNdlpXNTJhWEp2Ym0xbGJuUmNiaUFxTDF4dVpYaHdiM0owSUdOdmJuTjBJRVJsZG05d2MwVnVkbWx5YjI1dFpXNTBJRDBnVEc5bloyVmtSVzUyYVhKdmJtMWxiblF1WVdOamRXMTFiR0YwWlNoN1hHNGdJR1JsZG05d2N6b2dlMXh1SUNBZ0lHZHBkR2gxWWpvZ2UxeHVJQ0FnSUNBZ2RHOXJaVzQ2SUZ3aVhDSXNYRzRnSUNBZ0lDQmlZWE5sVlhKc09pQmNJbHdpTEZ4dUlDQWdJQ0FnYjNkdVpYSTZJRndpWENJc1hHNGdJQ0FnSUNCeVpYQnZPaUJjSWx3aUxGeHVJQ0FnSUNBZ2RHbHRaVzkxZERvZ2RXNWtaV1pwYm1Wa0lHRnpJSFZ1YTI1dmQyNGdZWE1nYm5WdFltVnlMRnh1SUNBZ0lIMHNYRzRnSUNBZ1oybDBiR0ZpT2lCN1hHNGdJQ0FnSUNCMGIydGxiam9nWENKY0lpeGNiaUFnSUNBZ0lHSmhjMlZWY213NklGd2lYQ0lzWEc0Z0lDQWdJQ0J3Y205cVpXTjBTV1E2SUZ3aVhDSXNYRzRnSUNBZ0lDQjBhVzFsYjNWME9pQjFibVJsWm1sdVpXUWdZWE1nZFc1cmJtOTNiaUJoY3lCdWRXMWlaWElzWEc0Z0lDQWdmU3hjYmlBZ2ZTeGNibjBnWVhNZ1JHVjJiM0J6Ulc1MmFYSnZibTFsYm5SVGFHRndaU2s3WEc0aVhYMD0iXX0=
|