@decaf-ts/integrations 0.4.0 → 0.4.1-0
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 -3
- package/dist/integrations.cjs +2087 -2
- package/dist/integrations.js +2356 -2
- package/jest.config.cjs +1 -1
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/azure/index.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/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/ipfs/IpfsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/index.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/MemoryBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/memory/index.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/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/constants.cjs +16 -0
- package/lib/cjs/feature-flags/decorators.cjs +65 -0
- package/lib/cjs/feature-flags/environment.cjs +26 -0
- package/lib/cjs/feature-flags/index.cjs +31 -0
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs +81 -0
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs +78 -0
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs +25 -0
- package/lib/cjs/feature-flags/readers/index.cjs +19 -0
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs +259 -0
- package/lib/cjs/feature-flags/types.cjs +4 -0
- package/lib/cjs/feature-flags/utils.cjs +141 -0
- package/lib/cjs/graph/engine/constants.cjs +2 -2
- package/lib/cjs/graph/engine/decorators.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphInputError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphPortError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/index.cjs +2 -2
- package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +2 -2
- package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +2 -2
- package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +2 -2
- package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +2 -2
- package/lib/cjs/graph/engine/events/index.cjs +2 -2
- package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +2 -2
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +2 -2
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +2 -2
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +2 -2
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +2 -2
- package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs +2 -2
- package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/execution/index.cjs +2 -2
- package/lib/cjs/graph/engine/index.cjs +2 -2
- package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +2 -2
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +2 -2
- package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +2 -2
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/loops/index.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/index.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphTopology.cjs +2 -2
- package/lib/cjs/graph/engine/planning/index.cjs +2 -2
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +2 -2
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +2 -2
- package/lib/cjs/graph/engine/registry/index.cjs +2 -2
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
- package/lib/cjs/graph/engine/snapshots/index.cjs +2 -2
- package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +2 -2
- package/lib/cjs/graph/engine/store/GraphValueKey.cjs +2 -2
- package/lib/cjs/graph/engine/store/GraphValueStore.cjs +2 -2
- package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +2 -2
- package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +2 -2
- package/lib/cjs/graph/engine/store/index.cjs +2 -2
- package/lib/cjs/graph/engine/types.cjs +2 -2
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +2 -2
- package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +2 -2
- package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +2 -2
- package/lib/cjs/graph/engine/validation/index.cjs +2 -2
- package/lib/cjs/graph/index.cjs +2 -2
- package/lib/cjs/graph/shared/constants.cjs +2 -2
- package/lib/cjs/graph/shared/index.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/agent.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/base.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/category-styles.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/flow-control.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/index.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/triggers.cjs +2 -2
- package/lib/cjs/graph/shared/types.cjs +2 -2
- package/lib/cjs/index.cjs +6 -5
- 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 +329 -0
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs +37 -0
- package/lib/cjs/kibana/builders/index.cjs +20 -0
- package/lib/cjs/kibana/helpers.cjs +20 -16
- package/lib/cjs/kibana/index.cjs +3 -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 +11 -2
- package/lib/cjs/loader/ObjectLoader.cjs +154 -0
- package/lib/cjs/loader/families.cjs +78 -0
- package/lib/cjs/loader/index.cjs +28 -0
- package/lib/cjs/loader/types.cjs +4 -0
- package/lib/cjs/namespaces/index.cjs +2 -2
- package/lib/cjs/namespaces/models/authorization-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/services/authz.service.cjs +2 -2
- package/lib/cjs/namespaces/services/bootstrap.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 +17 -0
- package/lib/cjs/nest/graph/GraphExecutionController.cjs +2 -2
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs +2 -2
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +2 -2
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +2 -2
- package/lib/cjs/nest/graph/GraphResultService.cjs +2 -2
- package/lib/cjs/nest/graph/GraphWorkflowModel.cjs +2 -2
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs +2 -2
- package/lib/cjs/nest/graph/index.cjs +2 -2
- package/lib/cjs/nest/graph/main.cjs +2 -2
- package/lib/cjs/nest/index.cjs +3 -3
- package/lib/cjs/nest/keycloakAuthHandler.cjs +74 -35
- package/lib/cjs/nest/keycloakModule.cjs +7 -10
- package/lib/cjs/nest/logging.cjs +2 -2
- package/lib/cjs/nest/types.cjs +2 -2
- package/lib/cjs/nest/utils.cjs +58 -50
- package/lib/cjs/plugins/contract.cjs +76 -0
- package/lib/cjs/plugins/index.cjs +35 -0
- package/lib/cjs/plugins/kibana/host.cjs +24 -0
- package/lib/cjs/plugins/kibana/index.cjs +38 -0
- package/lib/cjs/plugins/kibana/installer.cjs +180 -0
- package/lib/cjs/plugins/kibana/manifest.cjs +33 -0
- package/lib/cjs/plugins/kibana/templates.cjs +503 -0
- package/lib/cjs/plugins/kibana/types.cjs +33 -0
- package/lib/cjs/plugins/superset/host.cjs +26 -0
- package/lib/cjs/plugins/superset/index.cjs +40 -0
- package/lib/cjs/plugins/superset/installer.cjs +232 -0
- package/lib/cjs/plugins/superset/manifest.cjs +35 -0
- package/lib/cjs/plugins/superset/templates.cjs +844 -0
- package/lib/cjs/plugins/superset/types.cjs +39 -0
- 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/index.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 +2 -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/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/model/ModelSecretCrypto.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/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/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/shared/runtime.cjs +2 -2
- package/lib/cjs/utils.cjs +2 -2
- package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
- package/lib/esm/blob/azure/index.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/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/ipfs/IpfsBlobStoreService.js +1 -1
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/index.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/MemoryBlobStoreService.js +1 -1
- package/lib/esm/blob/memory/index.js +1 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/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/constants.js +12 -0
- package/lib/esm/feature-flags/decorators.js +49 -0
- package/lib/esm/feature-flags/environment.js +18 -0
- package/lib/esm/feature-flags/index.js +14 -0
- package/lib/esm/feature-flags/models/FeatureFlag.model.js +72 -0
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js +69 -0
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js +19 -0
- package/lib/esm/feature-flags/readers/index.js +2 -0
- package/lib/esm/feature-flags/services/FeatureFlag.service.js +250 -0
- package/lib/esm/feature-flags/types.js +2 -0
- package/lib/esm/feature-flags/utils.js +126 -0
- package/lib/esm/graph/engine/constants.js +1 -1
- package/lib/esm/graph/engine/decorators.js +1 -1
- package/lib/esm/graph/engine/errors/GraphCycleError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphExecutionError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphInputError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphPinningError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphPortError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphStoreError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphTopologyError.js +1 -1
- package/lib/esm/graph/engine/errors/index.js +1 -1
- package/lib/esm/graph/engine/events/GraphExecutionEvent.js +1 -1
- package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +1 -1
- package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +1 -1
- package/lib/esm/graph/engine/events/GraphExecutionObserver.js +1 -1
- package/lib/esm/graph/engine/events/index.js +1 -1
- package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js +1 -1
- package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js +1 -1
- package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/execution/index.js +1 -1
- package/lib/esm/graph/engine/index.js +1 -1
- package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +1 -1
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +1 -1
- package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +1 -1
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/loops/index.js +1 -1
- package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +1 -1
- package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +1 -1
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +1 -1
- package/lib/esm/graph/engine/pinning/GraphPinningService.js +1 -1
- package/lib/esm/graph/engine/pinning/index.js +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +1 -1
- package/lib/esm/graph/engine/planning/GraphRelationResolver.js +1 -1
- package/lib/esm/graph/engine/planning/GraphTopology.js +1 -1
- package/lib/esm/graph/engine/planning/index.js +1 -1
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +1 -1
- package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +1 -1
- package/lib/esm/graph/engine/registry/index.js +1 -1
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +1 -1
- package/lib/esm/graph/engine/snapshots/index.js +1 -1
- package/lib/esm/graph/engine/store/GraphCachedValue.js +1 -1
- package/lib/esm/graph/engine/store/GraphValueKey.js +1 -1
- package/lib/esm/graph/engine/store/GraphValueStore.js +1 -1
- package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +1 -1
- package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +1 -1
- package/lib/esm/graph/engine/store/index.js +1 -1
- package/lib/esm/graph/engine/types.js +1 -1
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +1 -1
- package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +1 -1
- package/lib/esm/graph/engine/validation/GraphValueValidator.js +1 -1
- package/lib/esm/graph/engine/validation/index.js +1 -1
- package/lib/esm/graph/index.js +1 -1
- package/lib/esm/graph/shared/constants.js +1 -1
- package/lib/esm/graph/shared/index.js +1 -1
- package/lib/esm/graph/shared/nodes/agent.js +1 -1
- package/lib/esm/graph/shared/nodes/base.js +1 -1
- package/lib/esm/graph/shared/nodes/category-styles.js +1 -1
- package/lib/esm/graph/shared/nodes/flow-control.js +1 -1
- package/lib/esm/graph/shared/nodes/index.js +1 -1
- package/lib/esm/graph/shared/nodes/triggers.js +1 -1
- package/lib/esm/graph/shared/types.js +1 -1
- package/lib/esm/index.js +5 -4
- 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 +319 -0
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js +32 -0
- package/lib/esm/kibana/builders/index.js +3 -0
- package/lib/esm/kibana/helpers.js +19 -15
- package/lib/esm/kibana/index.js +2 -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 +13 -2
- package/lib/esm/loader/ObjectLoader.js +115 -0
- package/lib/esm/loader/families.js +66 -0
- package/lib/esm/loader/index.js +11 -0
- package/lib/esm/loader/types.js +2 -0
- package/lib/esm/namespaces/index.js +1 -1
- package/lib/esm/namespaces/models/authorization-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/services/authz.service.js +1 -1
- package/lib/esm/namespaces/services/bootstrap.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 +12 -0
- package/lib/esm/nest/graph/GraphExecutionController.js +1 -1
- package/lib/esm/nest/graph/GraphExecutionModule.js +1 -1
- package/lib/esm/nest/graph/GraphExecutionResultModel.js +1 -1
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +1 -1
- package/lib/esm/nest/graph/GraphResultService.js +1 -1
- package/lib/esm/nest/graph/GraphWorkflowModel.js +1 -1
- package/lib/esm/nest/graph/GraphWorkflowService.js +1 -1
- package/lib/esm/nest/graph/index.js +1 -1
- package/lib/esm/nest/graph/main.js +1 -1
- package/lib/esm/nest/index.js +2 -2
- package/lib/esm/nest/keycloakAuthHandler.js +67 -35
- package/lib/esm/nest/keycloakModule.js +7 -10
- package/lib/esm/nest/logging.js +1 -1
- package/lib/esm/nest/types.js +1 -1
- package/lib/esm/nest/utils.js +55 -46
- package/lib/esm/plugins/contract.js +68 -0
- package/lib/esm/plugins/index.js +18 -0
- package/lib/esm/plugins/kibana/host.js +19 -0
- package/lib/esm/plugins/kibana/index.js +14 -0
- package/lib/esm/plugins/kibana/installer.js +140 -0
- package/lib/esm/plugins/kibana/manifest.js +32 -0
- package/lib/esm/plugins/kibana/templates.js +499 -0
- package/lib/esm/plugins/kibana/types.js +10 -0
- package/lib/esm/plugins/superset/host.js +21 -0
- package/lib/esm/plugins/superset/index.js +16 -0
- package/lib/esm/plugins/superset/installer.js +192 -0
- package/lib/esm/plugins/superset/manifest.js +30 -0
- package/lib/esm/plugins/superset/templates.js +840 -0
- package/lib/esm/plugins/superset/types.js +11 -0
- 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/index.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 +1 -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/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/model/ModelSecretCrypto.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/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/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/shared/runtime.js +1 -1
- package/lib/esm/utils.js +1 -1
- package/lib/types/feature-flags/constants.d.cts +11 -0
- package/lib/types/feature-flags/constants.d.mts +11 -0
- package/lib/types/feature-flags/decorators.d.cts +11 -0
- package/lib/types/feature-flags/decorators.d.mts +11 -0
- package/lib/types/feature-flags/environment.d.cts +11 -0
- package/lib/types/feature-flags/environment.d.mts +11 -0
- package/lib/types/feature-flags/index.d.cts +13 -0
- package/lib/types/feature-flags/index.d.mts +13 -0
- package/lib/types/feature-flags/models/FeatureFlag.model.d.cts +16 -0
- package/lib/types/feature-flags/models/FeatureFlag.model.d.mts +16 -0
- package/lib/types/feature-flags/models/FeatureFlagAccess.model.d.cts +15 -0
- package/lib/types/feature-flags/models/FeatureFlagAccess.model.d.mts +15 -0
- package/lib/types/feature-flags/readers/FeatureFlagReader.d.cts +10 -0
- package/lib/types/feature-flags/readers/FeatureFlagReader.d.mts +10 -0
- package/lib/types/feature-flags/readers/index.d.cts +1 -0
- package/lib/types/feature-flags/readers/index.d.mts +1 -0
- package/lib/types/feature-flags/services/FeatureFlag.service.d.cts +43 -0
- package/lib/types/feature-flags/services/FeatureFlag.service.d.mts +43 -0
- package/lib/types/feature-flags/types.d.cts +39 -0
- package/lib/types/feature-flags/types.d.mts +39 -0
- package/lib/types/feature-flags/utils.d.cts +13 -0
- package/lib/types/feature-flags/utils.d.mts +13 -0
- package/lib/types/index.d.cts +3 -2
- package/lib/types/index.d.mts +3 -2
- package/lib/types/kibana/builders/KibanaIndexBuilder.d.cts +67 -0
- package/lib/types/kibana/builders/KibanaIndexBuilder.d.mts +67 -0
- package/lib/types/kibana/builders/KibanaIndexBuilderCollection.d.cts +17 -0
- package/lib/types/kibana/builders/KibanaIndexBuilderCollection.d.mts +17 -0
- package/lib/types/kibana/builders/index.d.cts +2 -0
- package/lib/types/kibana/builders/index.d.mts +2 -0
- package/lib/types/kibana/index.d.cts +1 -0
- package/lib/types/kibana/index.d.mts +1 -0
- package/lib/types/kibana/types.d.cts +11 -0
- package/lib/types/kibana/types.d.mts +11 -0
- package/lib/types/loader/ObjectLoader.d.cts +27 -0
- package/lib/types/loader/ObjectLoader.d.mts +27 -0
- package/lib/types/loader/families.d.cts +34 -0
- package/lib/types/loader/families.d.mts +34 -0
- package/lib/types/loader/index.d.cts +10 -0
- package/lib/types/loader/index.d.mts +10 -0
- package/lib/types/loader/types.d.cts +24 -0
- package/lib/types/loader/types.d.mts +24 -0
- package/lib/types/nest/decorators.d.cts +8 -0
- package/lib/types/nest/decorators.d.mts +8 -0
- package/lib/types/nest/index.d.cts +1 -1
- package/lib/types/nest/index.d.mts +1 -1
- package/lib/types/nest/keycloakAuthHandler.d.cts +19 -42
- package/lib/types/nest/keycloakAuthHandler.d.mts +19 -42
- package/lib/types/nest/keycloakModule.d.cts +3 -5
- package/lib/types/nest/keycloakModule.d.mts +3 -5
- package/lib/types/nest/types.d.cts +2 -0
- package/lib/types/nest/types.d.mts +2 -0
- package/lib/types/nest/utils.d.cts +3 -4
- package/lib/types/nest/utils.d.mts +3 -4
- package/lib/types/plugins/contract.d.cts +180 -0
- package/lib/types/plugins/contract.d.mts +180 -0
- package/lib/types/plugins/index.d.cts +17 -0
- package/lib/types/plugins/index.d.mts +17 -0
- package/lib/types/plugins/kibana/host.d.cts +18 -0
- package/lib/types/plugins/kibana/host.d.mts +18 -0
- package/lib/types/plugins/kibana/index.d.cts +13 -0
- package/lib/types/plugins/kibana/index.d.mts +13 -0
- package/lib/types/plugins/kibana/installer.d.cts +45 -0
- package/lib/types/plugins/kibana/installer.d.mts +45 -0
- package/lib/types/plugins/kibana/manifest.d.cts +31 -0
- package/lib/types/plugins/kibana/manifest.d.mts +31 -0
- package/lib/types/plugins/kibana/templates.d.cts +12 -0
- package/lib/types/plugins/kibana/templates.d.mts +12 -0
- package/lib/types/plugins/kibana/types.d.cts +9 -0
- package/lib/types/plugins/kibana/types.d.mts +9 -0
- package/lib/types/plugins/superset/host.d.cts +20 -0
- package/lib/types/plugins/superset/host.d.mts +20 -0
- package/lib/types/plugins/superset/index.d.cts +15 -0
- package/lib/types/plugins/superset/index.d.mts +15 -0
- package/lib/types/plugins/superset/installer.d.cts +70 -0
- package/lib/types/plugins/superset/installer.d.mts +70 -0
- package/lib/types/plugins/superset/manifest.d.cts +28 -0
- package/lib/types/plugins/superset/manifest.d.mts +28 -0
- package/lib/types/plugins/superset/templates.d.cts +12 -0
- package/lib/types/plugins/superset/templates.d.mts +12 -0
- package/lib/types/plugins/superset/types.d.cts +10 -0
- package/lib/types/plugins/superset/types.d.mts +10 -0
- package/package.json +62 -3
- package/plugins/kibana/.gitignore +16 -0
- package/plugins/kibana/Dockerfile +19 -0
- package/plugins/kibana/docker-compose.yml +50 -0
- package/plugins/kibana/host/index.html +101 -0
- package/plugins/kibana/setup-dashboards.sh +84 -0
- package/plugins/superset/.gitignore +17 -0
- package/plugins/superset/Dockerfile +79 -0
- package/plugins/superset/docker-compose.yml +62 -0
- package/plugins/superset/host/index.html +168 -0
- package/plugins/superset/setup-dashboards.sh +106 -0
- package/plugins/superset/superset_config.py +49 -0
- package/dist/integrations.cjs.map +0 -1
- package/dist/integrations.js.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/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/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/ipfs/IpfsBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +0 -1
- package/lib/cjs/blob/ipfs/index.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/MemoryBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/memory/index.cjs.map +0 -1
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +0 -1
- package/lib/cjs/blob/s3/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/graph/engine/constants.cjs.map +0 -1
- package/lib/cjs/graph/engine/decorators.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphCycleError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphInputError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphPinningError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphPortError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphStoreError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs.map +0 -1
- package/lib/cjs/graph/engine/errors/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs.map +0 -1
- package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs.map +0 -1
- package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs.map +0 -1
- package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs.map +0 -1
- package/lib/cjs/graph/engine/events/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/execution/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs.map +0 -1
- package/lib/cjs/graph/engine/loops/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs.map +0 -1
- package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs.map +0 -1
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs.map +0 -1
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs.map +0 -1
- package/lib/cjs/graph/engine/pinning/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/GraphTopology.cjs.map +0 -1
- package/lib/cjs/graph/engine/planning/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs.map +0 -1
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs.map +0 -1
- package/lib/cjs/graph/engine/registry/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs.map +0 -1
- package/lib/cjs/graph/engine/snapshots/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/GraphCachedValue.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/GraphValueKey.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/GraphValueStore.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs.map +0 -1
- package/lib/cjs/graph/engine/store/index.cjs.map +0 -1
- package/lib/cjs/graph/engine/types.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs.map +0 -1
- package/lib/cjs/graph/engine/validation/index.cjs.map +0 -1
- package/lib/cjs/graph/index.cjs.map +0 -1
- package/lib/cjs/graph/shared/constants.cjs.map +0 -1
- package/lib/cjs/graph/shared/index.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/agent.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/base.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/category-styles.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/flow-control.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/index.cjs.map +0 -1
- package/lib/cjs/graph/shared/nodes/triggers.cjs.map +0 -1
- package/lib/cjs/graph/shared/types.cjs.map +0 -1
- package/lib/cjs/index.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/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/namespaces/index.cjs.map +0 -1
- package/lib/cjs/namespaces/models/authorization-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/services/authz.service.cjs.map +0 -1
- package/lib/cjs/namespaces/services/bootstrap.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/authService.cjs +0 -91
- package/lib/cjs/nest/authService.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphExecutionController.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphResultService.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphWorkflowModel.cjs.map +0 -1
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs.map +0 -1
- package/lib/cjs/nest/graph/index.cjs.map +0 -1
- package/lib/cjs/nest/graph/main.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/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/index.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/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/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/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/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/shared/runtime.cjs.map +0 -1
- package/lib/cjs/utils.cjs.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/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/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/ipfs/IpfsBlobStoreService.js.map +0 -1
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +0 -1
- package/lib/esm/blob/ipfs/index.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/MemoryBlobStoreService.js.map +0 -1
- package/lib/esm/blob/memory/index.js.map +0 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +0 -1
- package/lib/esm/blob/s3/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/graph/engine/constants.js.map +0 -1
- package/lib/esm/graph/engine/decorators.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphCycleError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphExecutionError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphInputError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphLoopLimitError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphPinningError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphPortError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphStoreError.js.map +0 -1
- package/lib/esm/graph/engine/errors/GraphTopologyError.js.map +0 -1
- package/lib/esm/graph/engine/errors/index.js.map +0 -1
- package/lib/esm/graph/engine/events/GraphExecutionEvent.js.map +0 -1
- package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js.map +0 -1
- package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js.map +0 -1
- package/lib/esm/graph/engine/events/GraphExecutionObserver.js.map +0 -1
- package/lib/esm/graph/engine/events/index.js.map +0 -1
- package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js.map +0 -1
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +0 -1
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +0 -1
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +0 -1
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js.map +0 -1
- package/lib/esm/graph/engine/execution/GraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js.map +0 -1
- package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/execution/index.js.map +0 -1
- package/lib/esm/graph/engine/index.js.map +0 -1
- package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js.map +0 -1
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js.map +0 -1
- package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js.map +0 -1
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js.map +0 -1
- package/lib/esm/graph/engine/loops/index.js.map +0 -1
- package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js.map +0 -1
- package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js.map +0 -1
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js.map +0 -1
- package/lib/esm/graph/engine/pinning/GraphPinningService.js.map +0 -1
- package/lib/esm/graph/engine/pinning/index.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlan.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphRelationResolver.js.map +0 -1
- package/lib/esm/graph/engine/planning/GraphTopology.js.map +0 -1
- package/lib/esm/graph/engine/planning/index.js.map +0 -1
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js.map +0 -1
- package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js.map +0 -1
- package/lib/esm/graph/engine/registry/index.js.map +0 -1
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js.map +0 -1
- package/lib/esm/graph/engine/snapshots/index.js.map +0 -1
- package/lib/esm/graph/engine/store/GraphCachedValue.js.map +0 -1
- package/lib/esm/graph/engine/store/GraphValueKey.js.map +0 -1
- package/lib/esm/graph/engine/store/GraphValueStore.js.map +0 -1
- package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js.map +0 -1
- package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js.map +0 -1
- package/lib/esm/graph/engine/store/index.js.map +0 -1
- package/lib/esm/graph/engine/types.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js.map +0 -1
- package/lib/esm/graph/engine/validation/GraphValueValidator.js.map +0 -1
- package/lib/esm/graph/engine/validation/index.js.map +0 -1
- package/lib/esm/graph/index.js.map +0 -1
- package/lib/esm/graph/shared/constants.js.map +0 -1
- package/lib/esm/graph/shared/index.js.map +0 -1
- package/lib/esm/graph/shared/nodes/agent.js.map +0 -1
- package/lib/esm/graph/shared/nodes/base.js.map +0 -1
- package/lib/esm/graph/shared/nodes/category-styles.js.map +0 -1
- package/lib/esm/graph/shared/nodes/flow-control.js.map +0 -1
- package/lib/esm/graph/shared/nodes/index.js.map +0 -1
- package/lib/esm/graph/shared/nodes/triggers.js.map +0 -1
- package/lib/esm/graph/shared/types.js.map +0 -1
- package/lib/esm/index.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/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/namespaces/index.js.map +0 -1
- package/lib/esm/namespaces/models/authorization-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/services/authz.service.js.map +0 -1
- package/lib/esm/namespaces/services/bootstrap.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/authService.js +0 -86
- package/lib/esm/nest/authService.js.map +0 -1
- package/lib/esm/nest/graph/GraphExecutionController.js.map +0 -1
- package/lib/esm/nest/graph/GraphExecutionModule.js.map +0 -1
- package/lib/esm/nest/graph/GraphExecutionResultModel.js.map +0 -1
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +0 -1
- package/lib/esm/nest/graph/GraphResultService.js.map +0 -1
- package/lib/esm/nest/graph/GraphWorkflowModel.js.map +0 -1
- package/lib/esm/nest/graph/GraphWorkflowService.js.map +0 -1
- package/lib/esm/nest/graph/index.js.map +0 -1
- package/lib/esm/nest/graph/main.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/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/index.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/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/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/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/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/shared/runtime.js.map +0 -1
- package/lib/esm/utils.js.map +0 -1
- package/lib/types/nest/authService.d.cts +0 -63
- package/lib/types/nest/authService.d.mts +0 -63
|
@@ -16,5 +16,5 @@ function resolveKeycloakIsProduction(config) {
|
|
|
16
16
|
}
|
|
17
17
|
throw new db_decorators_1.InternalError("Keycloak production resolver not initialized");
|
|
18
18
|
}
|
|
19
|
-
//# sourceMappingURL=
|
|
20
|
-
//# sourceMappingURL=
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9rZXljbG9hay9zZXJ2aWNlcy9ydW50aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUl4RCxJQUFJLDBCQUEwRCxDQUFDO0FBRS9ELE1BQU0sVUFBVSw2QkFBNkIsQ0FDM0MsUUFBNEI7SUFFNUIsMEJBQTBCLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQ3pDLE1BQXlDO0lBRXpDLElBQUksT0FBTyxNQUFNLEVBQUUsWUFBWSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQy9DLE9BQU8sTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFDRCxJQUFJLDBCQUEwQixFQUFFLENBQUM7UUFDL0IsT0FBTywwQkFBMEIsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFDRCxNQUFNLElBQUksYUFBYSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7QUFDMUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVybmFsRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcblxudHlwZSBQcm9kdWN0aW9uUmVzb2x2ZXIgPSAoKSA9PiBib29sZWFuO1xuXG5sZXQga2V5Y2xvYWtQcm9kdWN0aW9uUmVzb2x2ZXI6IFByb2R1Y3Rpb25SZXNvbHZlciB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IGZ1bmN0aW9uIHNldEtleWNsb2FrUHJvZHVjdGlvblJlc29sdmVyKFxuICByZXNvbHZlcjogUHJvZHVjdGlvblJlc29sdmVyXG4pOiB2b2lkIHtcbiAga2V5Y2xvYWtQcm9kdWN0aW9uUmVzb2x2ZXIgPSByZXNvbHZlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVLZXljbG9ha0lzUHJvZHVjdGlvbihcbiAgY29uZmlnPzogeyBpc1Byb2R1Y3Rpb24/OiAoKSA9PiBib29sZWFuIH1cbik6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIGNvbmZpZz8uaXNQcm9kdWN0aW9uID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICByZXR1cm4gY29uZmlnLmlzUHJvZHVjdGlvbigpO1xuICB9XG4gIGlmIChrZXljbG9ha1Byb2R1Y3Rpb25SZXNvbHZlcikge1xuICAgIHJldHVybiBrZXljbG9ha1Byb2R1Y3Rpb25SZXNvbHZlcigpO1xuICB9XG4gIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiS2V5Y2xvYWsgcHJvZHVjdGlvbiByZXNvbHZlciBub3QgaW5pdGlhbGl6ZWRcIik7XG59XG4iXX0=
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInJ1bnRpbWUuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxzRUFFQztBQUNELGtFQVFDO0FBYkQsMkRBQXdEO0FBQ3hELElBQUksMEJBQTBCLENBQUM7QUFDL0IsU0FBZ0IsNkJBQTZCLENBQUMsUUFBUTtJQUNsRCwwQkFBMEIsR0FBRyxRQUFRLENBQUM7QUFDMUMsQ0FBQztBQUNELFNBQWdCLDJCQUEyQixDQUFDLE1BQU07SUFDOUMsSUFBSSxPQUFPLE1BQU0sRUFBRSxZQUFZLEtBQUssVUFBVSxFQUFFLENBQUM7UUFDN0MsT0FBTyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksMEJBQTBCLEVBQUUsQ0FBQztRQUM3QixPQUFPLDBCQUEwQixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUNELE1BQU0sSUFBSSw2QkFBYSxDQUFDLDhDQUE4QyxDQUFDLENBQUM7QUFDNUUsQ0FBQztBQUNELDhvREFBOG9EIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xubGV0IGtleWNsb2FrUHJvZHVjdGlvblJlc29sdmVyO1xuZXhwb3J0IGZ1bmN0aW9uIHNldEtleWNsb2FrUHJvZHVjdGlvblJlc29sdmVyKHJlc29sdmVyKSB7XG4gICAga2V5Y2xvYWtQcm9kdWN0aW9uUmVzb2x2ZXIgPSByZXNvbHZlcjtcbn1cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlS2V5Y2xvYWtJc1Byb2R1Y3Rpb24oY29uZmlnKSB7XG4gICAgaWYgKHR5cGVvZiBjb25maWc/LmlzUHJvZHVjdGlvbiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBjb25maWcuaXNQcm9kdWN0aW9uKCk7XG4gICAgfVxuICAgIGlmIChrZXljbG9ha1Byb2R1Y3Rpb25SZXNvbHZlcikge1xuICAgICAgICByZXR1cm4ga2V5Y2xvYWtQcm9kdWN0aW9uUmVzb2x2ZXIoKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJLZXljbG9hayBwcm9kdWN0aW9uIHJlc29sdmVyIG5vdCBpbml0aWFsaXplZFwiKTtcbn1cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWNuVnVkR2x0WlM1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OXJaWGxqYkc5aGF5OXpaWEoyYVdObGN5OXlkVzUwYVcxbExuUnpJbDBzSW01aGJXVnpJanBiWFN3aWJXRndjR2x1WjNNaU9pSkJRVUZCTEU5QlFVOHNSVUZCUlN4aFFVRmhMRVZCUVVVc1RVRkJUU3g1UWtGQmVVSXNRMEZCUXp0QlFVbDRSQ3hKUVVGSkxEQkNRVUV3UkN4RFFVRkRPMEZCUlM5RUxFMUJRVTBzVlVGQlZTdzJRa0ZCTmtJc1EwRkRNME1zVVVGQk5FSTdTVUZGTlVJc01FSkJRVEJDTEVkQlFVY3NVVUZCVVN4RFFVRkRPMEZCUTNoRExFTkJRVU03UVVGRlJDeE5RVUZOTEZWQlFWVXNNa0pCUVRKQ0xFTkJRM3BETEUxQlFYbERPMGxCUlhwRExFbEJRVWtzVDBGQlR5eE5RVUZOTEVWQlFVVXNXVUZCV1N4TFFVRkxMRlZCUVZVc1JVRkJSU3hEUVVGRE8xRkJReTlETEU5QlFVOHNUVUZCVFN4RFFVRkRMRmxCUVZrc1JVRkJSU3hEUVVGRE8wbEJReTlDTEVOQlFVTTdTVUZEUkN4SlFVRkpMREJDUVVFd1FpeEZRVUZGTEVOQlFVTTdVVUZETDBJc1QwRkJUeXd3UWtGQk1FSXNSVUZCUlN4RFFVRkRPMGxCUTNSRExFTkJRVU03U1VGRFJDeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVRkRMRGhEUVVFNFF5eERRVUZETEVOQlFVTTdRVUZETVVVc1EwRkJReUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSW1sdGNHOXlkQ0I3SUVsdWRHVnlibUZzUlhKeWIzSWdmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMlJpTFdSbFkyOXlZWFJ2Y25OY0lqdGNibHh1ZEhsd1pTQlFjbTlrZFdOMGFXOXVVbVZ6YjJ4MlpYSWdQU0FvS1NBOVBpQmliMjlzWldGdU8xeHVYRzVzWlhRZ2EyVjVZMnh2WVd0UWNtOWtkV04wYVc5dVVtVnpiMngyWlhJNklGQnliMlIxWTNScGIyNVNaWE52YkhabGNpQjhJSFZ1WkdWbWFXNWxaRHRjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhObGRFdGxlV05zYjJGclVISnZaSFZqZEdsdmJsSmxjMjlzZG1WeUtGeHVJQ0J5WlhOdmJIWmxjam9nVUhKdlpIVmpkR2x2YmxKbGMyOXNkbVZ5WEc0cE9pQjJiMmxrSUh0Y2JpQWdhMlY1WTJ4dllXdFFjbTlrZFdOMGFXOXVVbVZ6YjJ4MlpYSWdQU0J5WlhOdmJIWmxjanRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlISmxjMjlzZG1WTFpYbGpiRzloYTBselVISnZaSFZqZEdsdmJpaGNiaUFnWTI5dVptbG5Qem9nZXlCcGMxQnliMlIxWTNScGIyNC9PaUFvS1NBOVBpQmliMjlzWldGdUlIMWNiaWs2SUdKdmIyeGxZVzRnZTF4dUlDQnBaaUFvZEhsd1pXOW1JR052Ym1acFp6OHVhWE5RY205a2RXTjBhVzl1SUQwOVBTQmNJbVoxYm1OMGFXOXVYQ0lwSUh0Y2JpQWdJQ0J5WlhSMWNtNGdZMjl1Wm1sbkxtbHpVSEp2WkhWamRHbHZiaWdwTzF4dUlDQjlYRzRnSUdsbUlDaHJaWGxqYkc5aGExQnliMlIxWTNScGIyNVNaWE52YkhabGNpa2dlMXh1SUNBZ0lISmxkSFZ5YmlCclpYbGpiRzloYTFCeWIyUjFZM1JwYjI1U1pYTnZiSFpsY2lncE8xeHVJQ0I5WEc0Z0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z3aVMyVjVZMnh2WVdzZ2NISnZaSFZqZEdsdmJpQnlaWE52YkhabGNpQnViM1FnYVc1cGRHbGhiR2w2WldSY0lpazdYRzU5WEc0aVhYMD0iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=
|
|
4
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMva2V5Y2xvYWsvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMva2V5Y2xvYWsvdHlwZXNcbiAqIEBzdW1tYXJ5IEtleWNsb2FrIGNvbmZpZ3VyYXRpb24gYW5kIHBheWxvYWQgdHlwZXMuXG4gKiBAZGVzY3JpcHRpb24gU2hhcmVkIHR5cGUgZGVmaW5pdGlvbnMgZm9yIEtleWNsb2FrIHByb3Zpc2lvbmluZyBzZXJ2aWNlcyBhbmQgdGhlaXIgc2V0dXAgcGF5bG9hZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Y2xvYWtVc2VyIHtcbiAgcmVhbG06IHN0cmluZztcbiAgYXBpQ2xpZW50SWQ6IHN0cmluZztcbiAgdXNlcm5hbWU6IHN0cmluZztcbiAgcGFzc3dvcmQ6IHN0cmluZztcbiAgdXNlcm5hbWVVVUlEPzogc3RyaW5nO1xuICBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gIGxhc3ROYW1lPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgZW1haWxWZXJpZmllZD86IGJvb2xlYW47XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICByZXF1aXJlZEFjdGlvbnM/OiBzdHJpbmdbXTtcbiAgYXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZ1tdIHwgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXljbG9ha0NsaWVudFJvbGVDb25maWcge1xuICByb2xlTmFtZTogc3RyaW5nO1xuICBjbGFpbVZhbHVlOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleWNsb2FrQ2xpZW50Q29uZmlnIHtcbiAgY2xpZW50SWQ6IHN0cmluZztcbiAgc2VjcmV0OiBzdHJpbmc7XG4gIGNsaWVudE5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHJvb3RVcmw/OiBzdHJpbmc7XG4gIGFkbWluVXJsPzogc3RyaW5nO1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICByZWRpcmVjdFVyaXM6IHN0cmluZ1tdO1xuICB3ZWJPcmlnaW5zOiBzdHJpbmdbXTtcbiAgY2xpZW50VVVJRD86IHN0cmluZztcbiAgcm9sZXM/OiBLZXljbG9ha0NsaWVudFJvbGVDb25maWdbXTtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHByb3RvY29sPzogc3RyaW5nO1xuICBzdGFuZGFyZEZsb3dFbmFibGVkPzogYm9vbGVhbjtcbiAgaW1wbGljaXRGbG93RW5hYmxlZD86IGJvb2xlYW47XG4gIGRpcmVjdEFjY2Vzc0dyYW50c0VuYWJsZWQ/OiBib29sZWFuO1xuICBzZXJ2aWNlQWNjb3VudHNFbmFibGVkPzogYm9vbGVhbjtcbiAgYXV0aG9yaXphdGlvblNlcnZpY2VzRW5hYmxlZD86IGJvb2xlYW47XG4gIHB1YmxpY0NsaWVudD86IGJvb2xlYW47XG4gIGZyb250Y2hhbm5lbExvZ291dD86IGJvb2xlYW47XG4gIGNvbnNlbnRSZXF1aXJlZD86IGJvb2xlYW47XG4gIGFsd2F5c0Rpc3BsYXlJbkNvbnNvbGU/OiBib29sZWFuO1xuICBiZWFyZXJPbmx5PzogYm9vbGVhbjtcbiAgc3Vycm9nYXRlQXV0aFJlcXVpcmVkPzogYm9vbGVhbjtcbiAgbm90QmVmb3JlPzogbnVtYmVyO1xuICBhdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXljbG9ha0lkZW50aXR5UHJvdmlkZXJDb25maWcge1xuICBhbGlhczogc3RyaW5nO1xuICBkaXNwbGF5TmFtZTogc3RyaW5nO1xuICB0ZW5hbnRJZDogc3RyaW5nO1xuICBjbGllbnRJZDogc3RyaW5nO1xuICBjbGllbnRTZWNyZXQ6IHN0cmluZztcbiAgcHJvdmlkZXJJZD86IHN0cmluZztcbiAgc3luY01vZGU/OiBzdHJpbmc7XG4gIG1hcHBlclN5bmNNb2RlPzogc3RyaW5nO1xuICBtYXBwZXJDbGFpbU5hbWU/OiBzdHJpbmc7XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBoaWRlT25Mb2dpbj86IGJvb2xlYW47XG4gIGxpbmtPbmx5PzogYm9vbGVhbjtcbiAgc3RvcmVUb2tlbj86IGJvb2xlYW47XG4gIHRydXN0RW1haWw/OiBib29sZWFuO1xuICB1cGRhdGVQcm9maWxlRmlyc3RMb2dpbk1vZGU/OiBzdHJpbmc7XG4gIGNvbmZpZz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Y2xvYWtSZWFsbUNvbmZpZyB7XG4gIHJlYWxtPzogc3RyaW5nO1xuICBlbmFibGVkPzogYm9vbGVhbjtcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gIGRpc3BsYXlOYW1lSHRtbD86IHN0cmluZztcbiAgbG9naW5XaXRoRW1haWxBbGxvd2VkPzogYm9vbGVhbjtcbiAgZHVwbGljYXRlRW1haWxzQWxsb3dlZD86IGJvb2xlYW47XG4gIHJlc2V0UGFzc3dvcmRBbGxvd2VkPzogYm9vbGVhbjtcbiAgcmVnaXN0cmF0aW9uQWxsb3dlZD86IGJvb2xlYW47XG4gIHJlbWVtYmVyTWU/OiBib29sZWFuO1xuICB2ZXJpZnlFbWFpbD86IGJvb2xlYW47XG4gIGF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleWNsb2FrQ2xpZW50Q29uZmlnT3ZlcnJpZGVzIHtcbiAgcGF5bG9hZD86IFBhcnRpYWw8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtleWNsb2FrVXNlckNvbmZpZ092ZXJyaWRlcyB7XG4gIHBheWxvYWQ/OiBQYXJ0aWFsPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBLZXljbG9ha0lkZW50aXR5UHJvdmlkZXJDb25maWdPdmVycmlkZXMge1xuICBwYXlsb2FkPzogUGFydGlhbDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Y2xvYWtTZXR1cENvbmZpZyB7XG4gIGlkOiBzdHJpbmc7XG4gIGhvc3Q6IHN0cmluZztcbiAgcHJvdG9jb2w6IFwiaHR0cFwiIHwgXCJodHRwc1wiO1xuICByb290QXBpVXNlcj86IEtleWNsb2FrVXNlcjtcbiAgYWRtaW5BcGlVc2VyPzogS2V5Y2xvYWtVc2VyO1xuICByZWFsbUFwaVVzZXI/OiBLZXljbG9ha1VzZXI7XG4gIGNsaWVudDogS2V5Y2xvYWtDbGllbnRDb25maWc7XG4gIGlkZW50aXR5UHJvdmlkZXI/OiBLZXljbG9ha0lkZW50aXR5UHJvdmlkZXJDb25maWc7XG4gIHJlYWxtQ29uZmlnPzogS2V5Y2xvYWtSZWFsbUNvbmZpZztcbiAgLyoqXG4gICAqIFdoZW4gdHJ1ZSwgcmVhbG0gcm9sZXMgYXJlIGNyZWF0ZWQgYXMgS2V5Y2xvYWsgY29tcG9zaXRlIHJvbGVzIGZvcm1pbmcgYVxuICAgKiBoaWVyYXJjaHkgKGUuZy4gYWRtaW4g4oqDIHdyaXRlciDiioMgcmVhZGVyKS4gIEEgdXNlciBhc3NpZ25lZCB0aGUgY29tcG9zaXRlXG4gICAqIHJvbGUgYXV0b21hdGljYWxseSBpbmhlcml0cyBhbGwgc3ViLXJvbGVzIGluIHRoZWlyIEpXVC5cbiAgICpcbiAgICogV2hlbiBmYWxzZSAoZGVmYXVsdCksIHJvbGVzIGFyZSBpbmRlcGVuZGVudCDigJQgYWRtaW4gZG9lcyBOT1QgaW1wbHkgd3JpdGVyXG4gICAqIG9yIHJlYWRlci4gIEVhY2ggdXNlciBtdXN0IGJlIGV4cGxpY2l0bHkgZ3JhbnRlZCBldmVyeSByb2xlIHRoZXkgbmVlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHVzZUNvbXBvc2l0ZVJvbGVzPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLGtySkFBa3JKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHt9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEhsd1pYTXVhbk1pTENKemIzVnlZMlZTYjI5MElqb2lJaXdpYzI5MWNtTmxjeUk2V3lJdUxpOHVMaTh1TGk5emNtTXZhMlY1WTJ4dllXc3ZkSGx3WlhNdWRITWlYU3dpYm1GdFpYTWlPbHRkTENKdFlYQndhVzVuY3lJNklpSXNJbk52ZFhKalpYTkRiMjUwWlc1MElqcGJJaThxS2x4dUlDb2dRRzF2WkhWc1pTQnBiblJsWjNKaGRHbHZibk12YTJWNVkyeHZZV3N2ZEhsd1pYTmNiaUFxSUVCemRXMXRZWEo1SUV0bGVXTnNiMkZySUdOdmJtWnBaM1Z5WVhScGIyNGdZVzVrSUhCaGVXeHZZV1FnZEhsd1pYTXVYRzRnS2lCQVpHVnpZM0pwY0hScGIyNGdVMmhoY21Wa0lIUjVjR1VnWkdWbWFXNXBkR2x2Ym5NZ1ptOXlJRXRsZVdOc2IyRnJJSEJ5YjNacGMybHZibWx1WnlCelpYSjJhV05sY3lCaGJtUWdkR2hsYVhJZ2MyVjBkWEFnY0dGNWJHOWhaSE11WEc0Z0tpOWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTMlY1WTJ4dllXdFZjMlZ5SUh0Y2JpQWdjbVZoYkcwNklITjBjbWx1Wnp0Y2JpQWdZWEJwUTJ4cFpXNTBTV1E2SUhOMGNtbHVaenRjYmlBZ2RYTmxjbTVoYldVNklITjBjbWx1Wnp0Y2JpQWdjR0Z6YzNkdmNtUTZJSE4wY21sdVp6dGNiaUFnZFhObGNtNWhiV1ZWVlVsRVB6b2djM1J5YVc1bk8xeHVJQ0JtYVhKemRFNWhiV1UvT2lCemRISnBibWM3WEc0Z0lHeGhjM1JPWVcxbFB6b2djM1J5YVc1bk8xeHVJQ0JsYldGcGJEODZJSE4wY21sdVp6dGNiaUFnWlcxaGFXeFdaWEpwWm1sbFpEODZJR0p2YjJ4bFlXNDdYRzRnSUdWdVlXSnNaV1EvT2lCaWIyOXNaV0Z1TzF4dUlDQnlaWEYxYVhKbFpFRmpkR2x2Ym5NL09pQnpkSEpwYm1kYlhUdGNiaUFnWVhSMGNtbGlkWFJsY3o4NklGSmxZMjl5WkR4emRISnBibWNzSUhOMGNtbHVaMXRkSUh3Z2MzUnlhVzVuUGp0Y2JuMWNibHh1Wlhod2IzSjBJR2x1ZEdWeVptRmpaU0JMWlhsamJHOWhhME5zYVdWdWRGSnZiR1ZEYjI1bWFXY2dlMXh1SUNCeWIyeGxUbUZ0WlRvZ2MzUnlhVzVuTzF4dUlDQmpiR0ZwYlZaaGJIVmxPaUJ6ZEhKcGJtYzdYRzRnSUdSbGMyTnlhWEIwYVc5dVB6b2djM1J5YVc1bk8xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUV0bGVXTnNiMkZyUTJ4cFpXNTBRMjl1Wm1sbklIdGNiaUFnWTJ4cFpXNTBTV1E2SUhOMGNtbHVaenRjYmlBZ2MyVmpjbVYwT2lCemRISnBibWM3WEc0Z0lHTnNhV1Z1ZEU1aGJXVTZJSE4wY21sdVp6dGNiaUFnWkdWelkzSnBjSFJwYjI0L09pQnpkSEpwYm1jN1hHNGdJSEp2YjNSVmNtdy9PaUJ6ZEhKcGJtYzdYRzRnSUdGa2JXbHVWWEpzUHpvZ2MzUnlhVzVuTzF4dUlDQmlZWE5sVlhKc1B6b2djM1J5YVc1bk8xeHVJQ0J5WldScGNtVmpkRlZ5YVhNNklITjBjbWx1WjF0ZE8xeHVJQ0IzWldKUGNtbG5hVzV6T2lCemRISnBibWRiWFR0Y2JpQWdZMnhwWlc1MFZWVkpSRDg2SUhOMGNtbHVaenRjYmlBZ2NtOXNaWE0vT2lCTFpYbGpiRzloYTBOc2FXVnVkRkp2YkdWRGIyNW1hV2RiWFR0Y2JpQWdaVzVoWW14bFpEODZJR0p2YjJ4bFlXNDdYRzRnSUhCeWIzUnZZMjlzUHpvZ2MzUnlhVzVuTzF4dUlDQnpkR0Z1WkdGeVpFWnNiM2RGYm1GaWJHVmtQem9nWW05dmJHVmhianRjYmlBZ2FXMXdiR2xqYVhSR2JHOTNSVzVoWW14bFpEODZJR0p2YjJ4bFlXNDdYRzRnSUdScGNtVmpkRUZqWTJWemMwZHlZVzUwYzBWdVlXSnNaV1EvT2lCaWIyOXNaV0Z1TzF4dUlDQnpaWEoyYVdObFFXTmpiM1Z1ZEhORmJtRmliR1ZrUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdZWFYwYUc5eWFYcGhkR2x2YmxObGNuWnBZMlZ6Ulc1aFlteGxaRDg2SUdKdmIyeGxZVzQ3WEc0Z0lIQjFZbXhwWTBOc2FXVnVkRDg2SUdKdmIyeGxZVzQ3WEc0Z0lHWnliMjUwWTJoaGJtNWxiRXh2WjI5MWREODZJR0p2YjJ4bFlXNDdYRzRnSUdOdmJuTmxiblJTWlhGMWFYSmxaRDg2SUdKdmIyeGxZVzQ3WEc0Z0lHRnNkMkY1YzBScGMzQnNZWGxKYmtOdmJuTnZiR1UvT2lCaWIyOXNaV0Z1TzF4dUlDQmlaV0Z5WlhKUGJteDVQem9nWW05dmJHVmhianRjYmlBZ2MzVnljbTluWVhSbFFYVjBhRkpsY1hWcGNtVmtQem9nWW05dmJHVmhianRjYmlBZ2JtOTBRbVZtYjNKbFB6b2diblZ0WW1WeU8xeHVJQ0JoZEhSeWFXSjFkR1Z6UHpvZ1VtVmpiM0prUEhOMGNtbHVaeXdnYzNSeWFXNW5QanRjYm4xY2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQkxaWGxqYkc5aGEwbGtaVzUwYVhSNVVISnZkbWxrWlhKRGIyNW1hV2NnZTF4dUlDQmhiR2xoY3pvZ2MzUnlhVzVuTzF4dUlDQmthWE53YkdGNVRtRnRaVG9nYzNSeWFXNW5PMXh1SUNCMFpXNWhiblJKWkRvZ2MzUnlhVzVuTzF4dUlDQmpiR2xsYm5SSlpEb2djM1J5YVc1bk8xeHVJQ0JqYkdsbGJuUlRaV055WlhRNklITjBjbWx1Wnp0Y2JpQWdjSEp2ZG1sa1pYSkpaRDg2SUhOMGNtbHVaenRjYmlBZ2MzbHVZMDF2WkdVL09pQnpkSEpwYm1jN1hHNGdJRzFoY0hCbGNsTjVibU5OYjJSbFB6b2djM1J5YVc1bk8xeHVJQ0J0WVhCd1pYSkRiR0ZwYlU1aGJXVS9PaUJ6ZEhKcGJtYzdYRzRnSUdWdVlXSnNaV1EvT2lCaWIyOXNaV0Z1TzF4dUlDQm9hV1JsVDI1TWIyZHBiajg2SUdKdmIyeGxZVzQ3WEc0Z0lHeHBibXRQYm14NVB6b2dZbTl2YkdWaGJqdGNiaUFnYzNSdmNtVlViMnRsYmo4NklHSnZiMnhsWVc0N1hHNGdJSFJ5ZFhOMFJXMWhhV3cvT2lCaWIyOXNaV0Z1TzF4dUlDQjFjR1JoZEdWUWNtOW1hV3hsUm1seWMzUk1iMmRwYmsxdlpHVS9PaUJ6ZEhKcGJtYzdYRzRnSUdOdmJtWnBaejg2SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSE4wY21sdVp6NDdYRzU5WEc1Y2JtVjRjRzl5ZENCcGJuUmxjbVpoWTJVZ1MyVjVZMnh2WVd0U1pXRnNiVU52Ym1acFp5QjdYRzRnSUhKbFlXeHRQem9nYzNSeWFXNW5PMXh1SUNCbGJtRmliR1ZrUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdaR2x6Y0d4aGVVNWhiV1UvT2lCemRISnBibWM3WEc0Z0lHUnBjM0JzWVhsT1lXMWxTSFJ0YkQ4NklITjBjbWx1Wnp0Y2JpQWdiRzluYVc1WGFYUm9SVzFoYVd4QmJHeHZkMlZrUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdaSFZ3YkdsallYUmxSVzFoYVd4elFXeHNiM2RsWkQ4NklHSnZiMnhsWVc0N1hHNGdJSEpsYzJWMFVHRnpjM2R2Y21SQmJHeHZkMlZrUHpvZ1ltOXZiR1ZoYmp0Y2JpQWdjbVZuYVhOMGNtRjBhVzl1UVd4c2IzZGxaRDg2SUdKdmIyeGxZVzQ3WEc0Z0lISmxiV1Z0WW1WeVRXVS9PaUJpYjI5c1pXRnVPMXh1SUNCMlpYSnBabmxGYldGcGJEODZJR0p2YjJ4bFlXNDdYRzRnSUdGMGRISnBZblYwWlhNL09pQlNaV052Y21ROGMzUnlhVzVuTENCemRISnBibWMrTzF4dWZWeHVYRzVsZUhCdmNuUWdhVzUwWlhKbVlXTmxJRXRsZVdOc2IyRnJRMnhwWlc1MFEyOXVabWxuVDNabGNuSnBaR1Z6SUh0Y2JpQWdjR0Y1Ykc5aFpEODZJRkJoY25ScFlXdzhVbVZqYjNKa1BITjBjbWx1Wnl3Z2RXNXJibTkzYmo0K08xeHVmVnh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUV0bGVXTnNiMkZyVlhObGNrTnZibVpwWjA5MlpYSnlhV1JsY3lCN1hHNGdJSEJoZVd4dllXUS9PaUJRWVhKMGFXRnNQRkpsWTI5eVpEeHpkSEpwYm1jc0lIVnVhMjV2ZDI0K1BqdGNibjFjYmx4dVpYaHdiM0owSUdsdWRHVnlabUZqWlNCTFpYbGpiRzloYTBsa1pXNTBhWFI1VUhKdmRtbGtaWEpEYjI1bWFXZFBkbVZ5Y21sa1pYTWdlMXh1SUNCd1lYbHNiMkZrUHpvZ1VHRnlkR2xoYkR4U1pXTnZjbVE4YzNSeWFXNW5MQ0IxYm10dWIzZHVQajQ3WEc1OVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdTMlY1WTJ4dllXdFRaWFIxY0VOdmJtWnBaeUI3WEc0Z0lHbGtPaUJ6ZEhKcGJtYzdYRzRnSUdodmMzUTZJSE4wY21sdVp6dGNiaUFnY0hKdmRHOWpiMnc2SUZ3aWFIUjBjRndpSUh3Z1hDSm9kSFJ3YzF3aU8xeHVJQ0J5YjI5MFFYQnBWWE5sY2o4NklFdGxlV05zYjJGclZYTmxjanRjYmlBZ1lXUnRhVzVCY0dsVmMyVnlQem9nUzJWNVkyeHZZV3RWYzJWeU8xeHVJQ0J5WldGc2JVRndhVlZ6WlhJL09pQkxaWGxqYkc5aGExVnpaWEk3WEc0Z0lHTnNhV1Z1ZERvZ1MyVjVZMnh2WVd0RGJHbGxiblJEYjI1bWFXYzdYRzRnSUdsa1pXNTBhWFI1VUhKdmRtbGtaWEkvT2lCTFpYbGpiRzloYTBsa1pXNTBhWFI1VUhKdmRtbGtaWEpEYjI1bWFXYzdYRzRnSUhKbFlXeHRRMjl1Wm1sblB6b2dTMlY1WTJ4dllXdFNaV0ZzYlVOdmJtWnBaenRjYmlBZ0x5b3FYRzRnSUNBcUlGZG9aVzRnZEhKMVpTd2djbVZoYkcwZ2NtOXNaWE1nWVhKbElHTnlaV0YwWldRZ1lYTWdTMlY1WTJ4dllXc2dZMjl0Y0c5emFYUmxJSEp2YkdWeklHWnZjbTFwYm1jZ1lWeHVJQ0FnS2lCb2FXVnlZWEpqYUhrZ0tHVXVaeTRnWVdSdGFXNGc0b3FESUhkeWFYUmxjaURpaW9NZ2NtVmhaR1Z5S1M0Z0lFRWdkWE5sY2lCaGMzTnBaMjVsWkNCMGFHVWdZMjl0Y0c5emFYUmxYRzRnSUNBcUlISnZiR1VnWVhWMGIyMWhkR2xqWVd4c2VTQnBibWhsY21sMGN5QmhiR3dnYzNWaUxYSnZiR1Z6SUdsdUlIUm9aV2x5SUVwWFZDNWNiaUFnSUNwY2JpQWdJQ29nVjJobGJpQm1ZV3h6WlNBb1pHVm1ZWFZzZENrc0lISnZiR1Z6SUdGeVpTQnBibVJsY0dWdVpHVnVkQ0RpZ0pRZ1lXUnRhVzRnWkc5bGN5Qk9UMVFnYVcxd2JIa2dkM0pwZEdWeVhHNGdJQ0FxSUc5eUlISmxZV1JsY2k0Z0lFVmhZMmdnZFhObGNpQnRkWE4wSUdKbElHVjRjR3hwWTJsMGJIa2daM0poYm5SbFpDQmxkbVZ5ZVNCeWIyeGxJSFJvWlhrZ2JtVmxaQzVjYmlBZ0lDcGNiaUFnSUNvZ1FHUmxabUYxYkhRZ1ptRnNjMlZjYmlBZ0lDb3ZYRzRnSUhWelpVTnZiWEJ2YzJsMFpWSnZiR1Z6UHpvZ1ltOXZiR1ZoYmp0Y2JuMWNiaUpkZlE9PSJdfQ==
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KibanaIndexBuilder = void 0;
|
|
4
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
5
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
6
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
|
|
7
|
+
r = Reflect.decorate(decorators, target, key, desc);
|
|
8
|
+
else
|
|
9
|
+
for (var i = decorators.length - 1; i >= 0; i--)
|
|
10
|
+
if (d = decorators[i])
|
|
11
|
+
r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
12
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
13
|
+
};
|
|
14
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
15
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
|
|
16
|
+
return Reflect.metadata(k, v);
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* @module integrations/kibana/builders/KibanaIndexBuilder
|
|
20
|
+
* @summary Fluent builder for Kibana index pattern (data view) configurations.
|
|
21
|
+
* @description Implements the project Builder Pattern (constitution §2):
|
|
22
|
+
* extends `Model`, uses `@decaf-ts/decorator-validation` decorators, fluent
|
|
23
|
+
* `setX(): this` methods, and a terminal `build()` that validates via
|
|
24
|
+
* `hasErrors()` and returns a `KibanaDataViewConfig`.
|
|
25
|
+
*
|
|
26
|
+
* Supports three base matching modes:
|
|
27
|
+
* - `EXACT` — single, fully-qualified index name (no wildcards).
|
|
28
|
+
* - `PREFIX` — wildcard pattern (e.g. `filebeat-pla-demo-*`).
|
|
29
|
+
* - `LOGGER_GENERATED` — derives index name segments from a log pattern
|
|
30
|
+
* compiled via `compileLogPattern()` and rendered via
|
|
31
|
+
* `logParameterRegistry.render()`.
|
|
32
|
+
*
|
|
33
|
+
* **Compounding:** Logger-generated segments can be compounded with ANY
|
|
34
|
+
* base matching mode. When `logPattern` + `logPayload` are provided
|
|
35
|
+
* alongside EXACT or PREFIX mode, the rendered segments are appended to
|
|
36
|
+
* the base index name and a trailing `*` is added.
|
|
37
|
+
*/
|
|
38
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
39
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
40
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
41
|
+
const logging_1 = require("@decaf-ts/logging");
|
|
42
|
+
const types_js_1 = require("./../types.cjs");
|
|
43
|
+
class KibanaIndexBuilder extends decorator_validation_1.Model {
|
|
44
|
+
constructor(arg) {
|
|
45
|
+
super(arg);
|
|
46
|
+
// ── Matching strategy ──
|
|
47
|
+
this.matchMode = types_js_1.KibanaIndexMatchMode.PREFIX;
|
|
48
|
+
// ── Separator ──
|
|
49
|
+
this.separator = "-";
|
|
50
|
+
// ── Data View fields (map to KibanaDataViewConfig) ──
|
|
51
|
+
this.id = "";
|
|
52
|
+
this.name = "";
|
|
53
|
+
decorator_validation_1.Model.fromModel(this, arg);
|
|
54
|
+
}
|
|
55
|
+
// ── Fluent setters: matching strategy ──
|
|
56
|
+
setMatchMode(mode) {
|
|
57
|
+
this.matchMode = mode;
|
|
58
|
+
return this;
|
|
59
|
+
}
|
|
60
|
+
setPrefix(prefix) {
|
|
61
|
+
this.prefix = prefix;
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
setExactIndexName(name) {
|
|
65
|
+
this.exactIndexName = name;
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
setLogPattern(pattern) {
|
|
69
|
+
this.logPattern = pattern;
|
|
70
|
+
return this;
|
|
71
|
+
}
|
|
72
|
+
setLogPayload(payload) {
|
|
73
|
+
this.logPayload = payload;
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
76
|
+
setSeparator(sep) {
|
|
77
|
+
this.separator = sep;
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
// ── Fluent setters: data view fields ──
|
|
81
|
+
setId(id) {
|
|
82
|
+
this.id = id;
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
setName(name) {
|
|
86
|
+
this.name = name;
|
|
87
|
+
return this;
|
|
88
|
+
}
|
|
89
|
+
setTimeFieldName(field) {
|
|
90
|
+
this.timeFieldName = field;
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
setNamespaces(ns) {
|
|
94
|
+
this.namespaces = ns;
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
setSourceFilters(filters) {
|
|
98
|
+
this.sourceFilters = filters;
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
setRuntimeFieldMap(map) {
|
|
102
|
+
this.runtimeFieldMap = map;
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
setFieldAttrs(attrs) {
|
|
106
|
+
this.fieldAttrs = attrs;
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
setAllowNoIndex(allow) {
|
|
110
|
+
this.allowNoIndex = allow;
|
|
111
|
+
return this;
|
|
112
|
+
}
|
|
113
|
+
// ── Build ──
|
|
114
|
+
build() {
|
|
115
|
+
const errs = this.hasErrors();
|
|
116
|
+
if (errs)
|
|
117
|
+
throw new db_decorators_1.ValidationError(errs);
|
|
118
|
+
const title = this.composeTitle();
|
|
119
|
+
return {
|
|
120
|
+
id: this.id,
|
|
121
|
+
name: this.name,
|
|
122
|
+
title,
|
|
123
|
+
timeFieldName: this.timeFieldName,
|
|
124
|
+
namespaces: this.namespaces,
|
|
125
|
+
sourceFilters: this.sourceFilters,
|
|
126
|
+
runtimeFieldMap: this.runtimeFieldMap,
|
|
127
|
+
fieldAttrs: this.fieldAttrs,
|
|
128
|
+
allowNoIndex: this.allowNoIndex,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
// ── Title composition ──
|
|
132
|
+
composeTitle() {
|
|
133
|
+
const baseSegments = this.composeBaseSegments();
|
|
134
|
+
const loggerSegments = this.composeLoggerGeneratedSegments();
|
|
135
|
+
if (loggerSegments.length > 0) {
|
|
136
|
+
const allSegments = [...baseSegments, ...loggerSegments];
|
|
137
|
+
return allSegments.join(this.separator) + this.separator + "*";
|
|
138
|
+
}
|
|
139
|
+
switch (this.matchMode) {
|
|
140
|
+
case types_js_1.KibanaIndexMatchMode.EXACT:
|
|
141
|
+
return baseSegments[0];
|
|
142
|
+
case types_js_1.KibanaIndexMatchMode.PREFIX: {
|
|
143
|
+
const base = baseSegments[0];
|
|
144
|
+
return base.endsWith(this.separator)
|
|
145
|
+
? `${base}*`
|
|
146
|
+
: `${base}${this.separator}*`;
|
|
147
|
+
}
|
|
148
|
+
case types_js_1.KibanaIndexMatchMode.LOGGER_GENERATED:
|
|
149
|
+
if (baseSegments.length === 0) {
|
|
150
|
+
throw new db_decorators_1.ValidationError([
|
|
151
|
+
{
|
|
152
|
+
property: "prefix",
|
|
153
|
+
message: "prefix is required for LOGGER_GENERATED mode when no logPattern is set",
|
|
154
|
+
constraints: {},
|
|
155
|
+
},
|
|
156
|
+
]);
|
|
157
|
+
}
|
|
158
|
+
return baseSegments.join(this.separator) + this.separator + "*";
|
|
159
|
+
default:
|
|
160
|
+
throw new db_decorators_1.InternalError(`Unsupported match mode: ${this.matchMode}`);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
composeBaseSegments() {
|
|
164
|
+
switch (this.matchMode) {
|
|
165
|
+
case types_js_1.KibanaIndexMatchMode.EXACT:
|
|
166
|
+
if (!this.exactIndexName ||
|
|
167
|
+
this.exactIndexName.trim().length === 0) {
|
|
168
|
+
throw new db_decorators_1.ValidationError([
|
|
169
|
+
{
|
|
170
|
+
property: "exactIndexName",
|
|
171
|
+
message: "exactIndexName is required for EXACT match mode",
|
|
172
|
+
constraints: {},
|
|
173
|
+
},
|
|
174
|
+
]);
|
|
175
|
+
}
|
|
176
|
+
if (this.exactIndexName.includes("*")) {
|
|
177
|
+
throw new db_decorators_1.ValidationError([
|
|
178
|
+
{
|
|
179
|
+
property: "exactIndexName",
|
|
180
|
+
message: "exactIndexName must not contain wildcards (*) in EXACT match mode",
|
|
181
|
+
constraints: {},
|
|
182
|
+
},
|
|
183
|
+
]);
|
|
184
|
+
}
|
|
185
|
+
return [this.exactIndexName.trim()];
|
|
186
|
+
case types_js_1.KibanaIndexMatchMode.PREFIX:
|
|
187
|
+
if (!this.prefix || this.prefix.trim().length === 0) {
|
|
188
|
+
throw new db_decorators_1.ValidationError([
|
|
189
|
+
{
|
|
190
|
+
property: "prefix",
|
|
191
|
+
message: "prefix is required for PREFIX match mode",
|
|
192
|
+
constraints: {},
|
|
193
|
+
},
|
|
194
|
+
]);
|
|
195
|
+
}
|
|
196
|
+
return [this.prefix.trim()];
|
|
197
|
+
case types_js_1.KibanaIndexMatchMode.LOGGER_GENERATED:
|
|
198
|
+
return this.prefix && this.prefix.trim().length > 0
|
|
199
|
+
? [this.prefix.trim()]
|
|
200
|
+
: [];
|
|
201
|
+
default:
|
|
202
|
+
throw new db_decorators_1.InternalError(`Unsupported match mode: ${this.matchMode}`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
composeLoggerGeneratedSegments() {
|
|
206
|
+
if (!this.logPattern)
|
|
207
|
+
return [];
|
|
208
|
+
if (!this.logPayload) {
|
|
209
|
+
throw new db_decorators_1.ValidationError([
|
|
210
|
+
{
|
|
211
|
+
property: "logPayload",
|
|
212
|
+
message: "logPayload is required when logPattern is set",
|
|
213
|
+
constraints: {},
|
|
214
|
+
},
|
|
215
|
+
]);
|
|
216
|
+
}
|
|
217
|
+
const definition = (0, logging_1.compileLogPattern)(this.logPattern);
|
|
218
|
+
const fullPayload = this.buildFullPayload(this.logPayload);
|
|
219
|
+
const rendered = logging_1.logParameterRegistry.render(fullPayload, definition.keys);
|
|
220
|
+
const segments = [];
|
|
221
|
+
for (const key of definition.keys) {
|
|
222
|
+
const value = rendered[key];
|
|
223
|
+
if (value && value.trim().length > 0) {
|
|
224
|
+
segments.push(value.trim());
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
if (segments.length === 0 &&
|
|
228
|
+
this.matchMode === types_js_1.KibanaIndexMatchMode.LOGGER_GENERATED) {
|
|
229
|
+
throw new db_decorators_1.ValidationError([
|
|
230
|
+
{
|
|
231
|
+
property: "logPattern",
|
|
232
|
+
message: "No segments were rendered from the provided logPattern and payload",
|
|
233
|
+
constraints: {},
|
|
234
|
+
},
|
|
235
|
+
]);
|
|
236
|
+
}
|
|
237
|
+
return segments;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Fill missing LogParameterPayload fields with sensible defaults
|
|
241
|
+
* so partial payloads can be accepted from the caller.
|
|
242
|
+
*/
|
|
243
|
+
buildFullPayload(partial) {
|
|
244
|
+
return {
|
|
245
|
+
config: partial.config ?? {},
|
|
246
|
+
level: partial.level ?? "info",
|
|
247
|
+
context: partial.context ?? [],
|
|
248
|
+
timestamp: partial.timestamp ?? new Date().toISOString(),
|
|
249
|
+
app: partial.app ?? "",
|
|
250
|
+
separator: partial.separator ?? this.separator,
|
|
251
|
+
correlationId: partial.correlationId ?? "",
|
|
252
|
+
rawMessage: partial.rawMessage ?? "",
|
|
253
|
+
filteredMessage: partial.filteredMessage ?? "",
|
|
254
|
+
meta: partial.meta,
|
|
255
|
+
metaString: partial.metaString,
|
|
256
|
+
stack: partial.stack,
|
|
257
|
+
stackLabel: partial.stackLabel,
|
|
258
|
+
applyTheme: partial.applyTheme ??
|
|
259
|
+
((value) => value),
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
exports.KibanaIndexBuilder = KibanaIndexBuilder;
|
|
264
|
+
__decorate([
|
|
265
|
+
(0, decorator_validation_1.required)(),
|
|
266
|
+
(0, decorator_validation_1.option)(types_js_1.KibanaIndexMatchMode),
|
|
267
|
+
__metadata("design:type", String)
|
|
268
|
+
], KibanaIndexBuilder.prototype, "matchMode", void 0);
|
|
269
|
+
__decorate([
|
|
270
|
+
(0, decoration_1.prop)(),
|
|
271
|
+
(0, decorator_validation_1.minlength)(1),
|
|
272
|
+
__metadata("design:type", String)
|
|
273
|
+
], KibanaIndexBuilder.prototype, "prefix", void 0);
|
|
274
|
+
__decorate([
|
|
275
|
+
(0, decoration_1.prop)(),
|
|
276
|
+
(0, decorator_validation_1.minlength)(1),
|
|
277
|
+
__metadata("design:type", String)
|
|
278
|
+
], KibanaIndexBuilder.prototype, "exactIndexName", void 0);
|
|
279
|
+
__decorate([
|
|
280
|
+
(0, decoration_1.prop)(),
|
|
281
|
+
(0, decorator_validation_1.minlength)(1),
|
|
282
|
+
__metadata("design:type", String)
|
|
283
|
+
], KibanaIndexBuilder.prototype, "logPattern", void 0);
|
|
284
|
+
__decorate([
|
|
285
|
+
(0, decoration_1.prop)(),
|
|
286
|
+
__metadata("design:type", Object)
|
|
287
|
+
], KibanaIndexBuilder.prototype, "logPayload", void 0);
|
|
288
|
+
__decorate([
|
|
289
|
+
(0, decoration_1.prop)(),
|
|
290
|
+
__metadata("design:type", String)
|
|
291
|
+
], KibanaIndexBuilder.prototype, "separator", void 0);
|
|
292
|
+
__decorate([
|
|
293
|
+
(0, decorator_validation_1.required)(),
|
|
294
|
+
(0, decorator_validation_1.minlength)(1),
|
|
295
|
+
__metadata("design:type", String)
|
|
296
|
+
], KibanaIndexBuilder.prototype, "id", void 0);
|
|
297
|
+
__decorate([
|
|
298
|
+
(0, decorator_validation_1.required)(),
|
|
299
|
+
(0, decorator_validation_1.minlength)(1),
|
|
300
|
+
__metadata("design:type", String)
|
|
301
|
+
], KibanaIndexBuilder.prototype, "name", void 0);
|
|
302
|
+
__decorate([
|
|
303
|
+
(0, decoration_1.prop)(),
|
|
304
|
+
__metadata("design:type", String)
|
|
305
|
+
], KibanaIndexBuilder.prototype, "timeFieldName", void 0);
|
|
306
|
+
__decorate([
|
|
307
|
+
(0, decoration_1.prop)(),
|
|
308
|
+
(0, decorator_validation_1.list)(() => String),
|
|
309
|
+
__metadata("design:type", Array)
|
|
310
|
+
], KibanaIndexBuilder.prototype, "namespaces", void 0);
|
|
311
|
+
__decorate([
|
|
312
|
+
(0, decoration_1.prop)(),
|
|
313
|
+
(0, decorator_validation_1.list)(() => Object),
|
|
314
|
+
__metadata("design:type", Array)
|
|
315
|
+
], KibanaIndexBuilder.prototype, "sourceFilters", void 0);
|
|
316
|
+
__decorate([
|
|
317
|
+
(0, decoration_1.prop)(),
|
|
318
|
+
__metadata("design:type", Object)
|
|
319
|
+
], KibanaIndexBuilder.prototype, "runtimeFieldMap", void 0);
|
|
320
|
+
__decorate([
|
|
321
|
+
(0, decoration_1.prop)(),
|
|
322
|
+
__metadata("design:type", Object)
|
|
323
|
+
], KibanaIndexBuilder.prototype, "fieldAttrs", void 0);
|
|
324
|
+
__decorate([
|
|
325
|
+
(0, decoration_1.prop)(),
|
|
326
|
+
__metadata("design:type", Boolean)
|
|
327
|
+
], KibanaIndexBuilder.prototype, "allowNoIndex", void 0);
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hSW5kZXhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2tpYmFuYS9idWlsZGVycy9LaWJhbmFJbmRleEJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUFDSCxPQUFPLEVBQ0wsSUFBSSxFQUNKLEtBQUssRUFFTCxNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsR0FDVixNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVDLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsb0JBQW9CLEdBRXJCLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsT0FBTyxFQUF3QixvQkFBb0IsRUFBRSxzQkFBaUI7QUFFdEUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLEtBQUs7SUF3RDNDLFlBQVksR0FBa0M7UUFDNUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBeERiLDBCQUEwQjtRQUcxQixjQUFTLEdBQXlCLG9CQUFvQixDQUFDLE1BQU0sQ0FBQztRQW1COUQsa0JBQWtCO1FBRWxCLGNBQVMsR0FBVyxHQUFHLENBQUM7UUFFeEIsdURBQXVEO1FBR3ZELE9BQUUsR0FBVyxFQUFFLENBQUM7UUFJaEIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQXdCaEIsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELDBDQUEwQztJQUMxQyxZQUFZLENBQUMsSUFBMEI7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsU0FBUyxDQUFDLE1BQWM7UUFDdEIsSUFBSSxDQUFD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Q0FBQyxLQUFLLENBQUM7U0FDN0IsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXRUQztJQUZDLFFBQVEsRUFBRTtJQUNWLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQzs7cURBQ2lDO0FBSzlEO0lBRkMsSUFBSSxFQUFFO0lBQ04sU0FBUyxDQUFDLENBQUMsQ0FBQzs7a0RBQ0c7QUFJaEI7SUFGQyxJQUFJLEVBQUU7SUFDTixTQUFTLENBQUMsQ0FBQyxDQUFDOzswREFDVztBQUt4QjtJQUZDLElBQUksRUFBRTtJQUNOLFNBQVMsQ0FBQyxDQUFDLENBQUM7O3NEQUNPO0FBR3BCO0lBREMsSUFBSSxFQUFFOztzREFDbUM7QUFJMUM7SUFEQyxJQUFJLEVBQUU7O3FEQUNpQjtBQUt4QjtJQUZDLFFBQVEsRUFBRTtJQUNWLFNBQVMsQ0FBQyxDQUFDLENBQUM7OzhDQUNHO0FBSWhCO0lBRkMsUUFBUSxFQUFFO0lBQ1YsU0FBUyxDQUFDLENBQUMsQ0FBQzs7Z0RBQ0s7QUFHbEI7SUFEQyxJQUFJLEVBQUU7O3lEQUNnQjtBQUl2QjtJQUZDLElBQUksRUFBRTtJQUNOLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUM7O3NEQUNHO0FBSXRCO0lBRkMsSUFBSSxFQUFFO0lBQ04sSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQzs4QkFDSCxLQUFLO3lEQUFvQjtBQUd6QztJQURDLElBQUksRUFBRTs7MkRBQ21DO0FBRzFDO0lBREMsSUFBSSxFQUFFOztzREFDOEI7QUFHckM7SUFEQyxJQUFJLEVBQUU7O3dEQUNnQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMva2liYW5hL2J1aWxkZXJzL0tpYmFuYUluZGV4QnVpbGRlclxuICogQHN1bW1hcnkgRmx1ZW50IGJ1aWxkZXIgZm9yIEtpYmFuYSBpbmRleCBwYXR0ZXJuIChkYXRhIHZpZXcpIGNvbmZpZ3VyYXRpb25zLlxuICogQGRlc2NyaXB0aW9uIEltcGxlbWVudHMgdGhlIHByb2plY3QgQnVpbGRlciBQYXR0ZXJuIChjb25zdGl0dXRpb24gwqcyKTpcbiAqIGV4dGVuZHMgYE1vZGVsYCwgdXNlcyBgQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uYCBkZWNvcmF0b3JzLCBmbHVlbnRcbiAqIGBzZXRYKCk6IHRoaXNgIG1ldGhvZHMsIGFuZCBhIHRlcm1pbmFsIGBidWlsZCgpYCB0aGF0IHZhbGlkYXRlcyB2aWFcbiAqIGBoYXNFcnJvcnMoKWAgYW5kIHJldHVybnMgYSBgS2liYW5hRGF0YVZpZXdDb25maWdgLlxuICpcbiAqIFN1cHBvcnRzIHRocmVlIGJhc2UgbWF0Y2hpbmcgbW9kZXM6XG4gKiAtIGBFWEFDVGAg4oCUIHNpbmdsZSwgZnVsbHktcXVhbGlmaWVkIGluZGV4IG5hbWUgKG5vIHdpbGRjYXJkcykuXG4gKiAtIGBQUkVGSVhgIOKAlCB3aWxkY2FyZCBwYXR0ZXJuIChlLmcuIGBmaWxlYmVhdC1wbGEtZGVtby0qYCkuXG4gKiAtIGBMT0dHRVJfR0VORVJBVEVEYCDigJQgZGVyaXZlcyBpbmRleCBuYW1lIHNlZ21lbnRzIGZyb20gYSBsb2cgcGF0dGVyblxuICogICBjb21waWxlZCB2aWEgYGNvbXBpbGVMb2dQYXR0ZXJuKClgIGFuZCByZW5kZXJlZCB2aWFcbiAqICAgYGxvZ1BhcmFtZXRlclJlZ2lzdHJ5LnJlbmRlcigpYC5cbiAqXG4gKiAqKkNvbXBvdW5kaW5nOioqIExvZ2dlci1nZW5lcmF0ZWQgc2VnbWVudHMgY2FuIGJlIGNvbXBvdW5kZWQgd2l0aCBBTllcbiAqIGJhc2UgbWF0Y2hpbmcgbW9kZS4gV2hlbiBgbG9nUGF0dGVybmAgKyBgbG9nUGF5bG9hZGAgYXJlIHByb3ZpZGVkXG4gKiBhbG9uZ3NpZGUgRVhBQ1Qgb3IgUFJFRklYIG1vZGUsIHRoZSByZW5kZXJlZCBzZWdtZW50cyBhcmUgYXBwZW5kZWQgdG9cbiAqIHRoZSBiYXNlIGluZGV4IG5hbWUgYW5kIGEgdHJhaWxpbmcgYCpgIGlzIGFkZGVkLlxuICovXG5pbXBvcnQge1xuICBsaXN0LFxuICBNb2RlbCxcbiAgTW9kZWxBcmcsXG4gIG9wdGlvbixcbiAgcmVxdWlyZWQsXG4gIG1pbmxlbmd0aCxcbn0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBwcm9wIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQge1xuICBjb21waWxlTG9nUGF0dGVybixcbiAgbG9nUGFyYW1ldGVyUmVnaXN0cnksXG4gIHR5cGUgTG9nUGFyYW1ldGVyUGF5bG9hZCxcbn0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5cbmltcG9ydCB7IEtpYmFuYURhdGFWaWV3Q29uZmlnLCBLaWJhbmFJbmRleE1hdGNoTW9kZSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5leHBvcnQgY2xhc3MgS2liYW5hSW5kZXhCdWlsZGVyIGV4dGVuZHMgTW9kZWwge1xuICAvLyDilIDilIAgTWF0Y2hpbmcgc3RyYXRlZ3kg4pSA4pSAXG4gIEByZXF1aXJlZCgpXG4gIEBvcHRpb24oS2liYW5hSW5kZXhNYXRjaE1vZGUpXG4gIG1hdGNoTW9kZTogS2liYW5hSW5kZXhNYXRjaE1vZGUgPSBLaWJhbmFJbmRleE1hdGNoTW9kZS5QUkVGSVg7XG5cbiAgLy8g4pSA4pSAIEluZGV4IG5hbWUgc2VnbWVudHMg4pSA4pSAXG4gIEBwcm9wKClcbiAgQG1pbmxlbmd0aCgxKVxuICBwcmVmaXg/OiBzdHJpbmc7XG5cbiAgQHByb3AoKVxuICBAbWlubGVuZ3RoKDEpXG4gIGV4YWN0SW5kZXhOYW1lPzogc3RyaW5nO1xuXG4gIC8vIOKUgOKUgCBMb2dnZXItZ2VuZXJhdGVkIGNvbXBvdW5kaW5nIOKUgOKUgFxuICBAcHJvcCgpXG4gIEBtaW5sZW5ndGgoMSlcbiAgbG9nUGF0dGVybj86IHN0cmluZztcblxuICBAcHJvcCgpXG4gIGxvZ1BheWxvYWQ/OiBQYXJ0aWFsPExvZ1BhcmFtZXRlclBheWxvYWQ+O1xuXG4gIC8vIOKUgOKUgCBTZXBhcmF0b3Ig4pSA4pSAXG4gIEBwcm9wKClcbiAgc2VwYXJhdG9yOiBzdHJpbmcgPSBcIi1cIjtcblxuICAvLyDilIDilIAgRGF0YSBWaWV3IGZpZWxkcyAobWFwIHRvIEtpYmFuYURhdGFWaWV3Q29uZmlnKSDilIDilIBcbiAgQHJlcXVpcmVkKClcbiAgQG1pbmxlbmd0aCgxKVxuICBpZDogc3RyaW5nID0gXCJcIjtcblxuICBAcmVxdWlyZWQoKVxuICBAbWlubGVuZ3RoKDEpXG4gIG5hbWU6IHN0cmluZyA9IFwiXCI7XG5cbiAgQHByb3AoKVxuICB0aW1lRmllbGROYW1lPzogc3RyaW5nO1xuXG4gIEBwcm9wKClcbiAgQGxpc3QoKCkgPT4gU3RyaW5nKVxuICBuYW1lc3BhY2VzPzogc3RyaW5nW107XG5cbiAgQHByb3AoKVxuICBAbGlzdCgoKSA9PiBPYmplY3QpXG4gIHNvdXJjZUZpbHRlcnM/OiBBcnJheTx7IHZhbHVlOiBzdHJpbmcgfT47XG5cbiAgQHByb3AoKVxuICBydW50aW1lRmllbGRNYXA/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICBAcHJvcCgpXG4gIGZpZWxkQXR0cnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICBAcHJvcCgpXG4gIGFsbG93Tm9JbmRleD86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoYXJnPzogTW9kZWxBcmc8S2liYW5hSW5kZXhCdWlsZGVyPikge1xuICAgIHN1cGVyKGFyZyk7XG4gICAgTW9kZWwuZnJvbU1vZGVsKHRoaXMsIGFyZyk7XG4gIH1cblxuICAvLyDilIDilIAgRmx1ZW50IHNldHRlcnM6IG1hdGNoaW5nIHN0cmF0ZWd5IOKUgOKUgFxuICBzZXRNYXRjaE1vZGUobW9kZTogS2liYW5hSW5kZXhNYXRjaE1vZGUpOiB0aGlzIHtcbiAgICB0aGlzLm1hdGNoTW9kZSA9IG1vZGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXRQcmVmaXgocHJlZml4OiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnByZWZpeCA9IHByZWZpeDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldEV4YWN0SW5kZXhOYW1lKG5hbWU6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuZXhhY3RJbmRleE5hbWUgPSBuYW1lO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0TG9nUGF0dGVybihwYXR0ZXJuOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLmxvZ1BhdHRlcm4gPSBwYXR0ZXJuO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0TG9nUGF5bG9hZChwYXlsb2FkOiBQYXJ0aWFsPExvZ1BhcmFtZXRlclBheWxvYWQ+KTogdGhpcyB7XG4gICAgdGhpcy5sb2dQYXlsb2FkID0gcGF5bG9hZDtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldFNlcGFyYXRvcihzZXA6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMuc2VwYXJhdG9yID0gc2VwO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8g4pSA4pSAIEZsdWVudCBzZXR0ZXJzOiBkYXRhIHZpZXcgZmllbGRzIOKUgOKUgFxuICBzZXRJZChpZDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0VGltZUZpZWxkTmFtZShmaWVsZDogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy50aW1lRmllbGROYW1lID0gZmllbGQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXROYW1lc3BhY2VzKG5zOiBzdHJpbmdbXSk6IHRoaXMge1xuICAgIHRoaXMubmFtZXNwYWNlcyA9IG5zO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0U291cmNlRmlsdGVycyhcbiAgICBmaWx0ZXJzOiBBcnJheTx7IHZhbHVlOiBzdHJpbmcgfT4sXG4gICk6IHRoaXMge1xuICAgIHRoaXMuc291cmNlRmlsdGVycyA9IGZpbHRlcnM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBzZXRSdW50aW1lRmllbGRNYXAobWFwOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHRoaXMge1xuICAgIHRoaXMucnVudGltZUZpZWxkTWFwID0gbWFwO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgc2V0RmllbGRBdHRycyhhdHRyczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiB0aGlzIHtcbiAgICB0aGlzLmZpZWxkQXR0cnMgPSBhdHRycztcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHNldEFsbG93Tm9JbmRleChhbGxvdzogYm9vbGVhbik6IHRoaXMge1xuICAgIHRoaXMuYWxsb3dOb0luZGV4ID0gYWxsb3c7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyDilIDilIAgQnVpbGQg4pSA4pSAXG4gIGJ1aWxkKCk6IEtpYmFuYURhdGFWaWV3Q29uZmlnIHtcbiAgICBjb25zdCBlcnJzID0gdGhpcy5oYXNFcnJvcnMoKTtcbiAgICBpZiAoZXJycykgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihlcnJzKTtcblxuICAgIGNvbnN0IHRpdGxlID0gdGhpcy5jb21wb3NlVGl0bGUoKTtcbiAgICByZXR1cm4ge1xuICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICB0aXRsZSxcbiAgICAgIHRpbWVGaWVsZE5hbWU6IHRoaXMudGltZUZpZWxkTmFtZSxcbiAgICAgIG5hbWVzcGFjZXM6IHRoaXMubmFtZXNwYWNlcyxcbiAgICAgIHNvdXJjZUZpbHRlcnM6IHRoaXMuc291cmNlRmlsdGVycyxcbiAgICAgIHJ1bnRpbWVGaWVsZE1hcDogdGhpcy5ydW50aW1lRmllbGRNYXAsXG4gICAgICBmaWVsZEF0dHJzOiB0aGlzLmZpZWxkQXR0cnMsXG4gICAgICBhbGxvd05vSW5kZXg6IHRoaXMuYWxsb3dOb0luZGV4LFxuICAgIH07XG4gIH1cblxuICAvLyDilIDilIAgVGl0bGUgY29tcG9zaXRpb24g4pSA4pSAXG4gIHByb3RlY3RlZCBjb21wb3NlVGl0bGUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlU2VnbWVudHMgPSB0aGlzLmNvbXBvc2VCYXNlU2VnbWVudHMoKTtcbiAgICBjb25zdCBsb2dnZXJTZWdtZW50cyA9IHRoaXMuY29tcG9zZUxvZ2dlckdlbmVyYXRlZFNlZ21lbnRzKCk7XG5cbiAgICBpZiAobG9nZ2VyU2VnbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgYWxsU2VnbWVudHMgPSBbLi4uYmFzZVNlZ21lbnRzLCAuLi5sb2dnZXJTZWdtZW50c107XG4gICAgICByZXR1cm4gYWxsU2VnbWVudHMuam9pbih0aGlzLnNlcGFyYXRvcikgKyB0aGlzLnNlcGFyYXRvciArIFwiKlwiO1xuICAgIH1cblxuICAgIHN3aXRjaCAodGhpcy5tYXRjaE1vZGUpIHtcbiAgICAgIGNhc2UgS2liYW5hSW5kZXhNYXRjaE1vZGUuRVhBQ1Q6XG4gICAgICAgIHJldHVybiBiYXNlU2VnbWVudHNbMF07XG4gICAgICBjYXNlIEtpYmFuYUluZGV4TWF0Y2hNb2RlLlBSRUZJWDoge1xuICAgICAgICBjb25zdCBiYXNlID0gYmFzZVNlZ21lbnRzWzBdO1xuICAgICAgICByZXR1cm4gYmFzZS5lbmRzV2l0aCh0aGlzLnNlcGFyYXRvcilcbiAgICAgICAgICA/IGAke2Jhc2V9KmBcbiAgICAgICAgICA6IGAke2Jhc2V9JHt0aGlzLnNlcGFyYXRvcn0qYDtcbiAgICAgIH1cbiAgICAgIGNhc2UgS2liYW5hSW5kZXhNYXRjaE1vZGUuTE9HR0VSX0dFTkVSQVRFRDpcbiAgICAgICAgaWYgKGJhc2VTZWdtZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcHJvcGVydHk6IFwicHJlZml4XCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgICAgICAgXCJwcmVmaXggaXMgcmVxdWlyZWQgZm9yIExPR0dFUl9HRU5FUkFURUQgbW9kZSB3aGVuIG5vIGxvZ1BhdHRlcm4gaXMgc2V0XCIsXG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiB7fSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJhc2VTZWdtZW50cy5qb2luKHRoaXMuc2VwYXJhdG9yKSArIHRoaXMuc2VwYXJhdG9yICsgXCIqXCI7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICBgVW5zdXBwb3J0ZWQgbWF0Y2ggbW9kZTogJHt0aGlzLm1hdGNoTW9kZX1gLFxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBjb21wb3NlQmFzZVNlZ21lbnRzKCk6IHN0cmluZ1tdIHtcbiAgICBzd2l0Y2ggKHRoaXMubWF0Y2hNb2RlKSB7XG4gICAgICBjYXNlIEtpYmFuYUluZGV4TWF0Y2hNb2RlLkVYQUNUOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgIXRoaXMuZXhhY3RJbmRleE5hbWUgfHxcbiAgICAgICAgICB0aGlzLmV4YWN0SW5kZXhOYW1lLnRyaW0oKS5sZW5ndGggPT09IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHByb3BlcnR5OiBcImV4YWN0SW5kZXhOYW1lXCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgICAgICAgXCJleGFjdEluZGV4TmFtZSBpcyByZXF1aXJlZCBmb3IgRVhBQ1QgbWF0Y2ggbW9kZVwiLFxuICAgICAgICAgICAgICBjb25zdHJhaW50czoge30sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmV4YWN0SW5kZXhOYW1lLmluY2x1ZGVzKFwiKlwiKSkge1xuICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBwcm9wZXJ0eTogXCJleGFjdEluZGV4TmFtZVwiLFxuICAgICAgICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICAgICAgIFwiZXhhY3RJbmRleE5hbWUgbXVzdCBub3QgY29udGFpbiB3aWxkY2FyZHMgKCopIGluIEVYQUNUIG1hdGNoIG1vZGVcIixcbiAgICAgICAgICAgICAgY29uc3RyYWludHM6IHt9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW3RoaXMuZXhhY3RJbmRleE5hbWUudHJpbSgpXTtcbiAgICAgIGNhc2UgS2liYW5hSW5kZXhNYXRjaE1vZGUuUFJFRklYOlxuICAgICAgICBpZiAoIXRoaXMucHJlZml4IHx8IHRoaXMucHJlZml4LnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgcHJvcGVydHk6IFwicHJlZml4XCIsXG4gICAgICAgICAgICAgIG1lc3NhZ2U6XG4gICAgICAgICAgICAgICAgXCJwcmVmaXggaXMgcmVxdWlyZWQgZm9yIFBSRUZJWCBtYXRjaCBtb2RlXCIsXG4gICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiB7fSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFt0aGlzLnByZWZpeC50cmltKCldO1xuICAgICAgY2FzZSBLaWJhbmFJbmRleE1hdGNoTW9kZS5MT0dHRVJfR0VORVJBVEVEOlxuICAgICAgICByZXR1cm4gdGhpcy5wcmVmaXggJiYgdGhpcy5wcmVmaXgudHJpbSgpLmxlbmd0aCA+IDBcbiAgICAgICAgICA/IFt0aGlzLnByZWZpeC50cmltKCldXG4gICAgICAgICAgOiBbXTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgIGBVbnN1cHBvcnRlZCBtYXRjaCBtb2RlOiAke3RoaXMubWF0Y2hNb2RlfWAsXG4gICAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGNvbXBvc2VMb2dnZXJHZW5lcmF0ZWRTZWdtZW50cygpOiBzdHJpbmdbXSB7XG4gICAgaWYgKCF0aGlzLmxvZ1BhdHRlcm4pIHJldHVybiBbXTtcblxuICAgIGlmICghdGhpcy5sb2dQYXlsb2FkKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3BlcnR5OiBcImxvZ1BheWxvYWRcIixcbiAgICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICAgXCJsb2dQYXlsb2FkIGlzIHJlcXVpcmVkIHdoZW4gbG9nUGF0dGVybiBpcyBzZXRcIixcbiAgICAgICAgICBjb25zdHJhaW50czoge30sXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZWZpbml0aW9uID0gY29tcGlsZUxvZ1BhdHRlcm4odGhpcy5sb2dQYXR0ZXJuKTtcbiAgICBjb25zdCBmdWxsUGF5bG9hZCA9IHRoaXMuYnVpbGRGdWxsUGF5bG9hZCh0aGlzLmxvZ1BheWxvYWQpO1xuICAgIGNvbnN0IHJlbmRlcmVkID0gbG9nUGFyYW1ldGVyUmVnaXN0cnkucmVuZGVyKFxuICAgICAgZnVsbFBheWxvYWQsXG4gICAgICBkZWZpbml0aW9uLmtleXMsXG4gICAgKTtcblxuICAgIGNvbnN0IHNlZ21lbnRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIGRlZmluaXRpb24ua2V5cykge1xuICAgICAgY29uc3QgdmFsdWUgPSByZW5kZXJlZFtrZXldO1xuICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLnRyaW0oKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHNlZ21lbnRzLnB1c2godmFsdWUudHJpbSgpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzZWdtZW50cy5sZW5ndGggPT09IDAgJiZcbiAgICAgIHRoaXMubWF0Y2hNb2RlID09PSBLaWJhbmFJbmRleE1hdGNoTW9kZS5MT0dHRVJfR0VORVJBVEVEXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3BlcnR5OiBcImxvZ1BhdHRlcm5cIixcbiAgICAgICAgICBtZXNzYWdlOlxuICAgICAgICAgICAgXCJObyBzZWdtZW50cyB3ZXJlIHJlbmRlcmVkIGZyb20gdGhlIHByb3ZpZGVkIGxvZ1BhdHRlcm4gYW5kIHBheWxvYWRcIixcbiAgICAgICAgICBjb25zdHJhaW50czoge30sXG4gICAgICAgIH0sXG4gICAgICBdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc2VnbWVudHM7XG4gIH1cblxuICAvKipcbiAgICogRmlsbCBtaXNzaW5nIExvZ1BhcmFtZXRlclBheWxvYWQgZmllbGRzIHdpdGggc2Vuc2libGUgZGVmYXVsdHNcbiAgICogc28gcGFydGlhbCBwYXlsb2FkcyBjYW4gYmUgYWNjZXB0ZWQgZnJvbSB0aGUgY2FsbGVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIGJ1aWxkRnVsbFBheWxvYWQoXG4gICAgcGFydGlhbDogUGFydGlhbDxMb2dQYXJhbWV0ZXJQYXlsb2FkPixcbiAgKTogTG9nUGFyYW1ldGVyUGF5bG9hZCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZzogcGFydGlhbC5jb25maWcgPz8gKHt9IGFzIGFueSksXG4gICAgICBsZXZlbDogcGFydGlhbC5sZXZlbCA/PyAoXCJpbmZvXCIgYXMgYW55KSxcbiAgICAgIGNvbnRleHQ6IHBhcnRpYWwuY29udGV4dCA/PyBbXSxcbiAgICAgIHRpbWVzdGFtcDogcGFydGlhbC50aW1lc3RhbXAgPz8gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgYXBwOiBwYXJ0aWFsLmFwcCA/PyBcIlwiLFxuICAgICAgc2VwYXJhdG9yOiBwYXJ0aWFsLnNlcGFyYXRvciA/PyB0aGlzLnNlcGFyYXRvcixcbiAgICAgIGNvcnJlbGF0aW9uSWQ6IHBhcnRpYWwuY29ycmVsYXRpb25JZCA/PyBcIlwiLFxuICAgICAgcmF3TWVzc2FnZTogcGFydGlhbC5yYXdNZXNzYWdlID8/IFwiXCIsXG4gICAgICBmaWx0ZXJlZE1lc3NhZ2U6IHBhcnRpYWwuZmlsdGVyZWRNZXNzYWdlID8/IFwiXCIsXG4gICAgICBtZXRhOiBwYXJ0aWFsLm1ldGEsXG4gICAgICBtZXRhU3RyaW5nOiBwYXJ0aWFsLm1ldGFTdHJpbmcsXG4gICAgICBzdGFjazogcGFydGlhbC5zdGFjayxcbiAgICAgIHN0YWNrTGFiZWw6IHBhcnRpYWwuc3RhY2tMYWJlbCxcbiAgICAgIGFwcGx5VGhlbWU6XG4gICAgICAgIHBhcnRpYWwuYXBwbHlUaGVtZSA/P1xuICAgICAgICAoKHZhbHVlOiBzdHJpbmcpID0+IHZhbHVlKSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
329
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hSW5kZXhCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiS2liYW5hSW5kZXhCdWlsZGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQUksVUFBVSxHQUFHLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxVQUFVLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUk7SUFDakYsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUM3SCxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsSUFBSSxPQUFPLE9BQU8sQ0FBQyxRQUFRLEtBQUssVUFBVTtRQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDOztRQUMxSCxLQUFLLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQztnQkFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxF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QztDQUNuQyxFQUFFLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxlQUFlLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUMxRCxVQUFVLENBQUM7SUFDUCxJQUFBLGlCQUFJLEdBQUU7SUFDTixVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQztDQUNwQyxFQUFFLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQzVELFVBQVUsQ0FBQztJQUNQLElBQUEsaUJBQUksR0FBRTtJQUNOLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDO0NBQ3BDLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELFVBQVUsQ0FBQztJQUNQLElBQUEsaUJBQUksR0FBRTtJQUNOLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDO0NBQ3JDLEVBQUUsa0JBQWtCLENBQUMsU0FBUyxFQUFFLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3pELGsyckJBQWsyckIiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19kZWNvcmF0ZSA9ICh0aGlzICYmIHRoaXMuX19kZWNvcmF0ZSkgfHwgZnVuY3Rpb24gKGRlY29yYXRvcnMsIHRhcmdldCwga2V5LCBkZXNjKSB7XG4gICAgdmFyIGMgPSBhcmd1bWVudHMubGVuZ3RoLCByID0gYyA8IDMgPyB0YXJnZXQgOiBkZXNjID09PSBudWxsID8gZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodGFyZ2V0LCBrZXkpIDogZGVzYywgZDtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICAgIGVsc2UgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIGlmIChkID0gZGVjb3JhdG9yc1tpXSkgciA9IChjIDwgMyA/IGQocikgOiBjID4gMyA/IGQodGFyZ2V0LCBrZXksIHIpIDogZCh0YXJnZXQsIGtleSkpIHx8IHI7XG4gICAgcmV0dXJuIGMgPiAzICYmIHIgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCByKSwgcjtcbn07XG52YXIgX19tZXRhZGF0YSA9ICh0aGlzICYmIHRoaXMuX19tZXRhZGF0YSkgfHwgZnVuY3Rpb24gKGssIHYpIHtcbiAgICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEoaywgdik7XG59O1xuLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9raWJhbmEvYnVpbGRlcnMvS2liYW5hSW5kZXhCdWlsZGVyXG4gKiBAc3VtbWFyeSBGbHVlbnQgYnVpbGRlciBmb3IgS2liYW5hIGluZGV4IHBhdHRlcm4gKGRhdGEgdmlldykgY29uZmlndXJhdGlvbnMuXG4gKiBAZGVzY3JpcHRpb24gSW1wbGVtZW50cyB0aGUgcHJvamVjdCBCdWlsZGVyIFBhdHRlcm4gKGNvbnN0aXR1dGlvbiDCpzIpOlxuICogZXh0ZW5kcyBgTW9kZWxgLCB1c2VzIGBAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25gIGRlY29yYXRvcnMsIGZsdWVudFxuICogYHNldFgoKTogdGhpc2AgbWV0aG9kcywgYW5kIGEgdGVybWluYWwgYGJ1aWxkKClgIHRoYXQgdmFsaWRhdGVzIHZpYVxuICogYGhhc0Vycm9ycygpYCBhbmQgcmV0dXJucyBhIGBLaWJhbmFEYXRhVmlld0NvbmZpZ2AuXG4gKlxuICogU3VwcG9ydHMgdGhyZWUgYmFzZSBtYXRjaGluZyBtb2RlczpcbiAqIC0gYEVYQUNUYCDigJQgc2luZ2xlLCBmdWxseS1xdWFsaWZpZWQgaW5kZXggbmFtZSAobm8gd2lsZGNhcmRzKS5cbiAqIC0gYFBSRUZJWGAg4oCUIHdpbGRjYXJkIHBhdHRlcm4gKGUuZy4gYGZpbGViZWF0LXBsYS1kZW1vLSpgKS5cbiAqIC0gYExPR0dFUl9HRU5FUkFURURgIOKAlCBkZXJpdmVzIGluZGV4IG5hbWUgc2VnbWVudHMgZnJvbSBhIGxvZyBwYXR0ZXJuXG4gKiAgIGNvbXBpbGVkIHZpYSBgY29tcGlsZUxvZ1BhdHRlcm4oKWAgYW5kIHJlbmRlcmVkIHZpYVxuICogICBgbG9nUGFyYW1ldGVyUmVnaXN0cnkucmVuZGVyKClgLlxuICpcbiAqICoqQ29tcG91bmRpbmc6KiogTG9nZ2VyLWdlbmVyYXRlZCBzZWdtZW50cyBjYW4gYmUgY29tcG91bmRlZCB3aXRoIEFOWVxuICogYmFzZSBtYXRjaGluZyBtb2RlLiBXaGVuIGBsb2dQYXR0ZXJuYCArIGBsb2dQYXlsb2FkYCBhcmUgcHJvdmlkZWRcbiAqIGFsb25nc2lkZSBFWEFDVCBvciBQUkVGSVggbW9kZSwgdGhlIHJlbmRlcmVkIHNlZ21lbnRzIGFyZSBhcHBlbmRlZCB0b1xuICogdGhlIGJhc2UgaW5kZXggbmFtZSBhbmQgYSB0cmFpbGluZyBgKmAgaXMgYWRkZWQuXG4gKi9cbmltcG9ydCB7IGxpc3QsIE1vZGVsLCBvcHRpb24sIHJlcXVpcmVkLCBtaW5sZW5ndGgsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciwgVmFsaWRhdGlvbkVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBwcm9wIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0aW9uXCI7XG5pbXBvcnQgeyBjb21waWxlTG9nUGF0dGVybiwgbG9nUGFyYW1ldGVyUmVnaXN0cnksIH0gZnJvbSBcIkBkZWNhZi10cy9sb2dnaW5nXCI7XG5pbXBvcnQgeyBLaWJhbmFJbmRleE1hdGNoTW9kZSB9IGZyb20gXCIuLy4uL3R5cGVzLmpzXCI7XG5leHBvcnQgY2xhc3MgS2liYW5hSW5kZXhCdWlsZGVyIGV4dGVuZHMgTW9kZWwge1xuICAgIGNvbnN0cnVjdG9yKGFyZykge1xuICAgICAgICBzdXBlcihhcmcpO1xuICAgICAgICAvLyDilIDilIAgTWF0Y2hpbmcgc3RyYXRlZ3kg4pSA4pSAXG4gICAgICAgIHRoaXMubWF0Y2hNb2RlID0gS2liYW5hSW5kZXhNYXRjaE1vZGUuUFJFRklYO1xuICAgICAgICAvLyDilIDilIAgU2VwYXJhdG9yIOKUgOKUgFxuICAgICAgICB0aGlzLnNlcGFyYXRvciA9IFwiLVwiO1xuICAgICAgICAvLyDilIDilIAgRGF0YSBWaWV3IGZpZWxkcyAobWFwIHRvIEtpYmFuYURhdGFWaWV3Q29uZmlnKSDilIDilIBcbiAgICAgICAgdGhpcy5pZCA9IFwiXCI7XG4gICAgICAgIHRoaXMubmFtZSA9IFwiXCI7XG4gICAgICAgIE1vZGVsLmZyb21Nb2RlbCh0aGlzLCBhcmcpO1xuICAgIH1cbiAgICAvLyDilIDilIAgRmx1ZW50IHNldHRlcnM6IG1hdGNoaW5nIHN0cmF0ZWd5IOKUgOKUgFxuICAgIHNldE1hdGNoTW9kZShtb2RlKSB7XG4gICAgICAgIHRoaXMubWF0Y2hNb2RlID0gbW9kZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHNldFByZWZpeChwcmVmaXgpIHtcbiAgICAgICAgdGhpcy5wcmVmaXggPSBwcmVmaXg7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBzZXRFeGFjdEluZGV4TmFtZShuYW1lKSB7XG4gICAgICAgIHRoaXMuZXhhY3RJbmRleE5hbWUgPSBuYW1lO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgc2V0TG9nUGF0dGVybihwYXR0ZXJuKSB7XG4gICAgICAgIHRoaXMubG9nUGF0dGVybiA9IHBhdHRlcm47XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBzZXRMb2dQYXlsb2FkKHBheWxvYWQpIHtcbiAgICAgICAgdGhpcy5sb2dQYXlsb2FkID0gcGF5bG9hZDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHNldFNlcGFyYXRvcihzZXApIHtcbiAgICAgICAgdGhpcy5zZXBhcmF0b3IgPSBzZXA7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICAvLyDilIDilIAgRmx1ZW50IHNldHRlcnM6IGRhdGEgdmlldyBmaWVsZHMg4pSA4pSAXG4gICAgc2V0SWQoaWQpIHtcbiAgICAgICAgdGhpcy5pZCA9IGlkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgc2V0TmFtZShuYW1lKSB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBzZXRUaW1lRmllbGROYW1lKGZpZWxkKSB7XG4gICAgICAgIHRoaXMudGltZUZpZWxkTmFtZSA9IGZpZWxkO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgc2V0TmFtZXNwYWNlcyhucykge1xuICAgICAgICB0aGlzLm5hbWVzcGFjZXMgPSBucztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHNldFNvdXJjZUZpbHRlcnMoZmlsdGVycykge1xuICAgICAgICB0aGlzLnNvdXJjZUZpbHRlcnMgPSBmaWx0ZXJzO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG4gICAgc2V0UnVudGltZUZpZWxkTWFwKG1hcCkge1xuICAgICAgICB0aGlzLnJ1bnRpbWVGaWVsZE1hcCA9IG1hcDtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIHNldEZpZWxkQXR0cnMoYXR0cnMpIHtcbiAgICAgICAgdGhpcy5maWVsZEF0dHJzID0gYXR0cnM7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cbiAgICBzZXRBbGxvd05vSW5kZXgoYWxsb3cpIHtcbiAgICAgICAgdGhpcy5hbGxvd05vSW5kZXggPSBhbGxvdztcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIC8vIOKUgOKUgCBCdWlsZCDilIDilIBcbiAgICBidWlsZCgpIHtcbiAgICAgICAgY29uc3QgZXJycyA9IHRoaXMuaGFzRXJyb3JzKCk7XG4gICAgICAgIGlmIChlcnJzKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihlcnJzKTtcbiAgICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLmNvbXBvc2VUaXRsZSgpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IHRoaXMuaWQsXG4gICAgICAgICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgIHRpbWVGaWVsZE5hbWU6IHRoaXMudGltZUZpZWxkTmFtZSxcbiAgICAgICAgICAgIG5hbWVzcGFjZXM6IHRoaXMubmFtZXNwYWNlcyxcbiAgICAgICAgICAgIHNvdXJjZUZpbHRlcnM6IHRoaXMuc291cmNlRmlsdGVycyxcbiAgICAgICAgICAgIHJ1bnRpbWVGaWVsZE1hcDogdGhpcy5ydW50aW1lRmllbGRNYXAsXG4gICAgICAgICAgICBmaWVsZEF0dHJzOiB0aGlzLmZpZWxkQXR0cnMsXG4gICAgICAgICAgICBhbGxvd05vSW5kZXg6IHRoaXMuYWxsb3dOb0luZGV4LFxuICAgICAgICB9O1xuICAgIH1cbiAgICAvLyDilIDilIAgVGl0bGUgY29tcG9zaXRpb24g4pSA4pSAXG4gICAgY29tcG9zZVRpdGxlKCkge1xuICAgICAgICBjb25zdCBiYXNlU2VnbWVudHMgPSB0aGlzLmNvbXBvc2VCYXNlU2VnbWVudHMoKTtcbiAgICAgICAgY29uc3QgbG9nZ2VyU2VnbWVudHMgPSB0aGlzLmNvbXBvc2VMb2dnZXJHZW5lcmF0ZWRTZWdtZW50cygpO1xuICAgICAgICBpZiAobG9nZ2VyU2VnbWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgYWxsU2VnbWVudHMgPSBbLi4uYmFzZVNlZ21lbnRzLCAuLi5sb2dnZXJTZWdtZW50c107XG4gICAgICAgICAgICByZXR1cm4gYWxsU2VnbWVudHMuam9pbih0aGlzLnNlcGFyYXRvcikgKyB0aGlzLnNlcGFyYXRvciArIFwiKlwiO1xuICAgICAgICB9XG4gICAgICAgIHN3aXRjaCAodGhpcy5tYXRjaE1vZGUpIHtcbiAgICAgICAgICAgIGNhc2UgS2liYW5hSW5kZXhNYXRjaE1vZGUuRVhBQ1Q6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGJhc2VTZWdtZW50c1swXTtcbiAgICAgICAgICAgIGNhc2UgS2liYW5hSW5kZXhNYXRjaE1vZGUuUFJFRklYOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYmFzZSA9IGJhc2VTZWdtZW50c1swXTtcbiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZS5lbmRzV2l0aCh0aGlzLnNlcGFyYXRvcilcbiAgICAgICAgICAgICAgICAgICAgPyBgJHtiYXNlfSpgXG4gICAgICAgICAgICAgICAgICAgIDogYCR7YmFzZX0ke3RoaXMuc2VwYXJhdG9yfSpgO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBLaWJhbmFJbmRleE1hdGNoTW9kZS5MT0dHRVJfR0VORVJBVEVEOlxuICAgICAgICAgICAgICAgIGlmIChiYXNlU2VnbWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5OiBcInByZWZpeFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwicHJlZml4IGlzIHJlcXVpcmVkIGZvciBMT0dHRVJfR0VORVJBVEVEIG1vZGUgd2hlbiBubyBsb2dQYXR0ZXJuIGlzIHNldFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gYmFzZVNlZ21lbnRzLmpvaW4odGhpcy5zZXBhcmF0b3IpICsgdGhpcy5zZXBhcmF0b3IgKyBcIipcIjtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYFVuc3VwcG9ydGVkIG1hdGNoIG1vZGU6ICR7dGhpcy5tYXRjaE1vZGV9YCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29tcG9zZUJhc2VTZWdtZW50cygpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLm1hdGNoTW9kZSkge1xuICAgICAgICAgICAgY2FzZSBLaWJhbmFJbmRleE1hdGNoTW9kZS5FWEFDVDpcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZXhhY3RJbmRleE5hbWUgfHxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5leGFjdEluZGV4TmFtZS50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5OiBcImV4YWN0SW5kZXhOYW1lXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogXCJleGFjdEluZGV4TmFtZSBpcyByZXF1aXJlZCBmb3IgRVhBQ1QgbWF0Y2ggbW9kZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5leGFjdEluZGV4TmFtZS5pbmNsdWRlcyhcIipcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihbXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGVydHk6IFwiZXhhY3RJbmRleE5hbWVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBcImV4YWN0SW5kZXhOYW1lIG11c3Qgbm90IGNvbnRhaW4gd2lsZGNhcmRzICgqKSBpbiBFWEFDVCBtYXRjaCBtb2RlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RyYWludHM6IHt9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBbdGhpcy5leGFjdEluZGV4TmFtZS50cmltKCldO1xuICAgICAgICAgICAgY2FzZSBLaWJhbmFJbmRleE1hdGNoTW9kZS5QUkVGSVg6XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLnByZWZpeCB8fCB0aGlzLnByZWZpeC50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoW1xuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5OiBcInByZWZpeFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2U6IFwicHJlZml4IGlzIHJlcXVpcmVkIGZvciBQUkVGSVggbWF0Y2ggbW9kZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0cmFpbnRzOiB7fSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gW3RoaXMucHJlZml4LnRyaW0oKV07XG4gICAgICAgICAgICBjYXNlIEtpYmFuYUluZGV4TWF0Y2hNb2RlLkxPR0dFUl9HRU5FUkFURUQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucHJlZml4ICYmIHRoaXMucHJlZml4LnRyaW0oKS5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgICAgID8gW3RoaXMucHJlZml4LnRyaW0oKV1cbiAgICAgICAgICAgICAgICAgICAgOiBbXTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYFVuc3VwcG9ydGVkIG1hdGNoIG1vZGU6ICR7dGhpcy5tYXRjaE1vZGV9YCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29tcG9zZUxvZ2dlckdlbmVyYXRlZFNlZ21lbnRzKCkge1xuICAgICAgICBpZiAoIXRoaXMubG9nUGF0dGVybilcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgaWYgKCF0aGlzLmxvZ1BheWxvYWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydHk6IFwibG9nUGF5bG9hZFwiLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBcImxvZ1BheWxvYWQgaXMgcmVxdWlyZWQgd2hlbiBsb2dQYXR0ZXJuIGlzIHNldFwiLFxuICAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50czoge30sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlZmluaXRpb24gPSBjb21waWxlTG9nUGF0dGVybih0aGlzLmxvZ1BhdHRlcm4pO1xuICAgICAgICBjb25zdCBmdWxsUGF5bG9hZCA9IHRoaXMuYnVpbGRGdWxsUGF5bG9hZCh0aGlzLmxvZ1BheWxvYWQpO1xuICAgICAgICBjb25zdCByZW5kZXJlZCA9IGxvZ1BhcmFtZXRlclJlZ2lzdHJ5LnJlbmRlcihmdWxsUGF5bG9hZCwgZGVmaW5pdGlvbi5rZXlzKTtcbiAgICAgICAgY29uc3Qgc2VnbWVudHMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgZGVmaW5pdGlvbi5rZXlzKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHJlbmRlcmVkW2tleV07XG4gICAgICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUudHJpbSgpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBzZWdtZW50cy5wdXNoKHZhbHVlLnRyaW0oKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlZ21lbnRzLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICAgICAgdGhpcy5tYXRjaE1vZGUgPT09IEtpYmFuYUluZGV4TWF0Y2hNb2RlLkxPR0dFUl9HRU5FUkFURUQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydHk6IFwibG9nUGF0dGVyblwiLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiBcIk5vIHNlZ21lbnRzIHdlcmUgcmVuZGVyZWQgZnJvbSB0aGUgcHJvdmlkZWQgbG9nUGF0dGVybiBhbmQgcGF5bG9hZFwiLFxuICAgICAgICAgICAgICAgICAgICBjb25zdHJhaW50czoge30sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZWdtZW50cztcbiAgICB9XG4gICAgLyoqXG4gICAgICogRmlsbCBtaXNzaW5nIExvZ1BhcmFtZXRlclBheWxvYWQgZmllbGRzIHdpdGggc2Vuc2libGUgZGVmYXVsdHNcbiAgICAgKiBzbyBwYXJ0aWFsIHBheWxvYWRzIGNhbiBiZSBhY2NlcHRlZCBmcm9tIHRoZSBjYWxsZXIuXG4gICAgICovXG4gICAgYnVpbGRGdWxsUGF5bG9hZChwYXJ0aWFsKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb25maWc6IHBhcnRpYWwuY29uZmlnID8/IHt9LFxuICAgICAgICAgICAgbGV2ZWw6IHBhcnRpYWwubGV2ZWwgPz8gXCJpbmZvXCIsXG4gICAgICAgICAgICBjb250ZXh0OiBwYXJ0aWFsLmNvbnRleHQgPz8gW10sXG4gICAgICAgICAgICB0aW1lc3RhbXA6IHBhcnRpYWwudGltZXN0YW1wID8/IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIGFwcDogcGFydGlhbC5hcHAgPz8gXCJcIixcbiAgICAgICAgICAgIHNlcGFyYXRvcjogcGFydGlhbC5zZXBhcmF0b3IgPz8gdGhpcy5zZXBhcmF0b3IsXG4gICAgICAgICAgICBjb3JyZWxhdGlvbklkOiBwYXJ0aWFsLmNvcnJlbGF0aW9uSWQgPz8gXCJcIixcbiAgICAgICAgICAgIHJhd01lc3NhZ2U6IHBhcnRpYWwucmF3TWVzc2FnZSA/PyBcIlwiLFxuICAgICAgICAgICAgZmlsdGVyZWRNZXNzYWdlOiBwYXJ0aWFsLmZpbHRlcmVkTWVzc2FnZSA/PyBcIlwiLFxuICAgICAgICAgICAgbWV0YTogcGFydGlhbC5tZXRhLFxuICAgICAgICAgICAgbWV0YVN0cmluZzogcGFydGlhbC5tZXRhU3RyaW5nLFxuICAgICAgICAgICAgc3RhY2s6IHBhcnRpYWwuc3RhY2ssXG4gICAgICAgICAgICBzdGFja0xhYmVsOiBwYXJ0aWFsLnN0YWNrTGFiZWwsXG4gICAgICAgICAgICBhcHBseVRoZW1lOiBwYXJ0aWFsLmFwcGx5VGhlbWUgPz9cbiAgICAgICAgICAgICAgICAoKHZhbHVlKSA9PiB2YWx1ZSksXG4gICAgICAgIH07XG4gICAgfVxufVxuX19kZWNvcmF0ZShbXG4gICAgcmVxdWlyZWQoKSxcbiAgICBvcHRpb24oS2liYW5hSW5kZXhNYXRjaE1vZGUpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBLaWJhbmFJbmRleEJ1aWxkZXIucHJvdG90eXBlLCBcIm1hdGNoTW9kZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcHJvcCgpLFxuICAgIG1pbmxlbmd0aCgxKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgS2liYW5hSW5kZXhCdWlsZGVyLnByb3RvdHlwZSwgXCJwcmVmaXhcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHByb3AoKSxcbiAgICBtaW5sZW5ndGgoMSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIEtpYmFuYUluZGV4QnVpbGRlci5wcm90b3R5cGUsIFwiZXhhY3RJbmRleE5hbWVcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHByb3AoKSxcbiAgICBtaW5sZW5ndGgoMSksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIEtpYmFuYUluZGV4QnVpbGRlci5wcm90b3R5cGUsIFwibG9nUGF0dGVyblwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcHJvcCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBPYmplY3QpXG5dLCBLaWJhbmFJbmRleEJ1aWxkZXIucHJvdG90eXBlLCBcImxvZ1BheWxvYWRcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHByb3AoKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgS2liYW5hSW5kZXhCdWlsZGVyLnByb3RvdHlwZSwgXCJzZXBhcmF0b3JcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHJlcXVpcmVkKCksXG4gICAgbWlubGVuZ3RoKDEpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBTdHJpbmcpXG5dLCBLaWJhbmFJbmRleEJ1aWxkZXIucHJvdG90eXBlLCBcImlkXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICByZXF1aXJlZCgpLFxuICAgIG1pbmxlbmd0aCgxKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgU3RyaW5nKVxuXSwgS2liYW5hSW5kZXhCdWlsZGVyLnByb3RvdHlwZSwgXCJuYW1lXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBwcm9wKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIFN0cmluZylcbl0sIEtpYmFuYUluZGV4QnVpbGRlci5wcm90b3R5cGUsIFwidGltZUZpZWxkTmFtZVwiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcHJvcCgpLFxuICAgIGxpc3QoKCkgPT4gU3RyaW5nKSxcbiAgICBfX21ldGFkYXRhKFwiZGVzaWduOnR5cGVcIiwgQXJyYXkpXG5dLCBLaWJhbmFJbmRleEJ1aWxkZXIucHJvdG90eXBlLCBcIm5hbWVzcGFjZXNcIiwgdm9pZCAwKTtcbl9fZGVjb3JhdGUoW1xuICAgIHByb3AoKSxcbiAgICBsaXN0KCgpID0+IE9iamVjdCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIEFycmF5KVxuXSwgS2liYW5hSW5kZXhCdWlsZGVyLnByb3RvdHlwZSwgXCJzb3VyY2VGaWx0ZXJzXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBwcm9wKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEtpYmFuYUluZGV4QnVpbGRlci5wcm90b3R5cGUsIFwicnVudGltZUZpZWxkTWFwXCIsIHZvaWQgMCk7XG5fX2RlY29yYXRlKFtcbiAgICBwcm9wKCksXG4gICAgX19tZXRhZGF0YShcImRlc2lnbjp0eXBlXCIsIE9iamVjdClcbl0sIEtpYmFuYUluZGV4QnVpbGRlci5wcm90b3R5cGUsIFwiZmllbGRBdHRyc1wiLCB2b2lkIDApO1xuX19kZWNvcmF0ZShbXG4gICAgcHJvcCgpLFxuICAgIF9fbWV0YWRhdGEoXCJkZXNpZ246dHlwZVwiLCBCb29sZWFuKVxuXSwgS2liYW5hSW5kZXhCdWlsZGVyLnByb3RvdHlwZSwgXCJhbGxvd05vSW5kZXhcIiwgdm9pZCAwKTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaVMybGlZVzVoU1c1a1pYaENkV2xzWkdWeUxtcHpJaXdpYzI5MWNtTmxVbTl2ZENJNklpSXNJbk52ZFhKalpYTWlPbHNpTGk0dkxpNHZMaTR2TGk0dmMzSmpMMnRwWW1GdVlTOWlkV2xzWkdWeWN5OUxhV0poYm1GSmJtUmxlRUoxYVd4a1pYSXVkSE1pWFN3aWJtRnRaWE1pT2x0ZExDSnRZWEJ3YVc1bmN5STZJanM3T3pzN096czdPMEZCUVVFN096czdPenM3T3pzN096czdPenM3T3pzN1IwRnRRa2M3UVVGRFNDeFBRVUZQTEVWQlEwd3NTVUZCU1N4RlFVTktMRXRCUVVzc1JVRkZUQ3hOUVVGTkxFVkJRMDRzVVVGQlVTeEZRVU5TTEZOQlFWTXNSMEZEVml4TlFVRk5MR2REUVVGblF5eERRVUZETzBGQlEzaERMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRVVVzWlVGQlpTeEZRVUZGTEUxQlFVMHNlVUpCUVhsQ0xFTkJRVU03UVVGRGVrVXNUMEZCVHl4RlFVRkZMRWxCUVVrc1JVRkJSU3hOUVVGTkxITkNRVUZ6UWl4RFFVRkRPMEZCUXpWRExFOUJRVThzUlVGRFRDeHBRa0ZCYVVJc1JVRkRha0lzYjBKQlFXOUNMRWRCUlhKQ0xFMUJRVTBzYlVKQlFXMUNMRU5CUVVNN1FVRkZNMElzVDBGQlR5eEZRVUYzUWl4dlFrRkJiMElzUlVGQlJTeHpRa0ZCYVVJN1FVRkZkRVVzVFVGQlRTeFBRVUZQTEd0Q1FVRnRRaXhUUVVGUkxFdEJRVXM3U1VGM1JETkRMRmxCUVZrc1IwRkJhME03VVVGRE5VTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1EwRkJReXhEUVVGRE8xRkJlRVJpTERCQ1FVRXdRanRSUVVjeFFpeGpRVUZUTEVkQlFYbENMRzlDUVVGdlFpeERRVUZETEUxQlFVMHNRMEZCUXp0UlFXMUNPVVFzYTBKQlFXdENPMUZCUld4Q0xHTkJRVk1zUjBGQlZ5eEhRVUZITEVOQlFVTTdVVUZGZUVJc2RVUkJRWFZFTzFGQlIzWkVMRTlCUVVVc1IwRkJWeXhGUVVGRkxFTkJRVU03VVVGSmFFSXNVMEZCU1N4SFFVRlhMRVZCUVVVc1EwRkJRenRSUVhkQ2FFSXNTMEZCU3l4RFFVRkRMRk5CUVZNc1EwRkJReXhKUVVGSkxFVkJRVVVzUjBGQlJ5eERRVUZETEVOQlFVTTdTVUZETjBJc1EwRkJRenRKUVVWRUxEQkRRVUV3UXp0SlFVTXhReXhaUVVGWkxFTkJRVU1zU1VGQk1FSTdVVUZEY2tNc1NVRkJTU3hEUVVGRExGTkJRVk1zUjBGQlJ5eEpRVUZKTEVOQlFVTTdVVUZEZEVJc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFpDeERRVUZETzBsQlJVUXNVMEZCVXl4RFFVRkRMRTFCUVdNN1VVRkRkRUlzU1VGQlNTeERRVUZETEUxQlFVMHNSMEZCUnl4TlFVRk5MRU5CUVVNN1VVRkRja0lzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWkN4RFFVRkRPMGxCUlVRc2FVSkJRV2xDTEVOQlFVTXNTVUZCV1R0UlFVTTFRaXhKUVVGSkxFTkJRVU1zWTBGQll5eEhRVUZITEVsQlFVa3NRMEZCUXp0UlFVTXpRaXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkN4aFFVRmhMRU5CUVVNc1QwRkJaVHRSUVVNelFpeEpRVUZKTEVOQlFVTXNWVUZCVlN4SFFVRkhMRTlCUVU4c1EwRkJRenRSUVVNeFFpeFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmtMRU5CUVVNN1NVRkZSQ3hoUVVGaExFTkJRVU1zVDBGQmNVTTdVVUZEYWtRc1NVRkJTU3hEUVVGRExGVkJRVlVzUjBGQlJ5eFBRVUZQTEVOQlFVTTdVVUZETVVJc1QwRkJUeXhKUVVGSkxFTkJRVU03U1VGRFpDeERRVUZETzBsQlJVUXNXVUZCV1N4RFFVRkRMRWRCUVZjN1VVRkRkRUlzU1VGQlNTeERRVUZETEZOQlFWTXNSMEZCUnl4SFFVRkhMRU5CUVVNN1VVRkRja0lzVDBGQlR5eEpRVUZKTEVOQlFVTTdTVUZEWkN4RFFVRkRPMGxCUlVRc2VVTkJRWGxETzBsQlEzcERMRXRCUVVzc1EwRkJReXhGUVVGVk8xRkJRMlFzU1VGQlNTeERRVUZETEVWQlFVVXNSMEZCUnl4RlFVRkZMRU5CUVVNN1VVRkRZaXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkN4UFFVRlBMRU5CUVVNc1NVRkJXVHRSUVVOc1FpeEpRVUZKTEVOQlFVTXNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJRenRSUVVOcVFpeFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmtMRU5CUVVNN1NVRkZSQ3huUWtGQlowSXNRMEZCUXl4TFFVRmhPMUZCUXpWQ0xFbEJRVWtzUTBGQlF5eGhRVUZoTEVkQlFVY3NTMEZCU3l4RFFVRkRPMUZCUXpOQ0xFOUJRVThzU1VGQlNTeERRVUZETzBsQlEyUXNRMEZCUXp0SlFVVkVMR0ZCUVdFc1EwRkJReXhGUVVGWk8xRkJRM2hDTEVsQlFVa3NRMEZCUXl4VlFVRlZMRWRCUVVjc1JVRkJSU3hEUVVGRE8xRkJRM0pDTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxHZENRVUZuUWl4RFFVTmtMRTlCUVdsRE8xRkJSV3BETEVsQlFVa3NRMEZCUXl4aFFVRmhMRWRCUVVjc1QwRkJUeXhEUVVGRE8xRkJRemRDTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxHdENRVUZyUWl4RFFVRkRMRWRCUVRSQ08xRkJRemRETEVsQlFVa3NRMEZCUXl4bFFVRmxMRWRCUVVjc1IwRkJSeXhEUVVGRE8xRkJRek5DTEU5QlFVOHNTVUZCU1N4RFFVRkRPMGxCUTJRc1EwRkJRenRKUVVWRUxHRkJRV0VzUTBGQlF5eExRVUU0UWp0UlFVTXhReXhKUVVGSkxFTkJRVU1zVlVGQlZTeEhRVUZITEV0QlFVc3NRMEZCUXp0UlFVTjRRaXhQUVVGUExFbEJRVWtzUTBGQlF6dEpRVU5rTEVOQlFVTTdTVUZGUkN4bFFVRmxMRU5CUVVNc1MwRkJZenRSUVVNMVFpeEpRVUZKTEVOQlFVTXNXVUZCV1N4SFFVRkhMRXRCUVVzc1EwRkJRenRSUVVNeFFpeFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmtMRU5CUVVNN1NVRkZSQ3hqUVVGak8wbEJRMlFzUzBGQlN6dFJRVU5JTEUxQlFVMHNTVUZCU1N4SFFVRkhMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dFJRVU01UWl4SlFVRkpMRWxCUVVrN1dVRkJSU3hOUVVGTkxFbEJRVWtzWlVGQlpTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMUZCUlRGRExFMUJRVTBzUzBGQlN5eEhRVUZITEVsQlFVa3NRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRSUVVOc1F5eFBRVUZQTzFsQlEwd3NSVUZCUlN4RlFVRkZMRWxCUVVrc1EwRkJReXhGUVVGRk8xbEJRMWdzU1VGQlNTeEZRVUZGTEVsQlFVa3NRMEZCUXl4SlFVRkpPMWxCUTJZc1MwRkJTenRaUVVOTUxHRkJRV0VzUlVGQlJTeEpRVUZKTEVOQlFVTXNZVUZCWVR0WlFVTnFReXhWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEZWQlFWVTdXVUZETTBJc1lVRkJZU3hGUVVGRkxFbEJRVWtzUTBGQlF5eGhRVUZoTzFsQlEycERMR1ZCUVdVc1JVRkJSU3hKUVVGSkxFTkJRVU1zWlVGQlpUdFpRVU55UXl4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExGVkJRVlU3V1VGRE0wSXNXVUZCV1N4RlFVRkZMRWxCUVVrc1EwRkJReXhaUVVGWk8xTkJRMmhETEVOQlFVTTdTVUZEU2l4RFFVRkRPMGxCUlVRc01FSkJRVEJDTzBsQlEyaENMRmxCUVZrN1VVRkRjRUlzVFVGQlRTeFpRVUZaTEVkQlFVY3NTVUZCU1N4RFFVRkRMRzFDUVVGdFFpeEZRVUZGTEVOQlFVTTdVVUZEYUVRc1RVRkJUU3hqUVVGakxFZEJRVWNzU1VGQlNTeERRVUZETERoQ1FVRTRRaXhGUVVGRkxFTkJRVU03VVVGRk4wUXNTVUZCU1N4alFVRmpMRU5CUVVNc1RVRkJUU3hIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETzFsQlF6bENMRTFCUVUwc1YwRkJWeXhIUVVGSExFTkJRVU1zUjBGQlJ5eFpRVUZaTEVWQlFVVXNSMEZCUnl4alFVRmpMRU5CUVVNc1EwRkJRenRaUVVONlJDeFBRVUZQTEZkQlFWY3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEhRVUZITEVsQlFVa3NRMEZCUXl4VFFVRlRMRWRCUVVjc1IwRkJSeXhEUVVGRE8xRkJRMnBGTEVOQlFVTTdVVUZGUkN4UlFVRlJMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGQlF6dFpRVU4yUWl4TFFVRkxMRzlDUVVGdlFpeERRVUZETEV0QlFVczdaMEpCUXpkQ0xFOUJRVThzV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMWxCUTNwQ0xFdEJRVXNzYjBKQlFXOUNMRU5CUVVNc1RVRkJUU3hEUVVGRExFTkJRVU1zUTBGQlF6dG5Ra0ZEYWtNc1RVRkJUU3hKUVVGSkxFZEJRVWNzV1VGQldTeERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRPMmRDUVVNM1FpeFBRVUZQTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF6dHZRa0ZEYkVNc1EwRkJReXhEUVVGRExFZEJRVWNzU1VGQlNTeEhRVUZITzI5Q1FVTmFMRU5CUVVNc1EwRkJReXhIUVVGSExFbEJRVWtzUjBGQlJ5eEpRVUZKTEVOQlFVTXNVMEZCVXl4SFFVRkhMRU5CUVVNN1dVRkRiRU1zUTBGQlF6dFpRVU5FTEV0QlFVc3NiMEpCUVc5Q0xFTkJRVU1zWjBKQlFXZENPMmRDUVVONFF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4TlFVRk5MRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU03YjBKQlF6bENMRTFCUVUwc1NVRkJTU3hsUVVGbExFTkJRVU03ZDBKQlEzaENPelJDUVVORkxGRkJRVkVzUlVGQlJTeFJRVUZST3pSQ1FVTnNRaXhQUVVGUExFVkJRMHdzZDBWQlFYZEZPelJDUVVNeFJTeFhRVUZYTEVWQlFVVXNSVUZCUlR0NVFrRkRhRUk3Y1VKQlEwWXNRMEZCUXl4RFFVRkRPMmRDUVVOTUxFTkJRVU03WjBKQlEwUXNUMEZCVHl4WlFVRlpMRU5CUVVNc1NVRkJTU3hEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNSMEZCUnl4SlFVRkpMRU5CUVVNc1UwRkJVeXhIUVVGSExFZEJRVWNzUTBGQlF6dFpRVU5zUlR0blFrRkRSU3hOUVVGTkxFbEJRVWtzWVVGQllTeERRVU55UWl3eVFrRkJNa0lzU1VGQlNTeERRVUZETEZOQlFWTXNSVUZCUlN4RFFVTTFReXhEUVVGRE8xRkJRMDRzUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGVXl4dFFrRkJiVUk3VVVGRE0wSXNVVUZCVVN4SlFVRkpMRU5CUVVNc1UwRkJVeXhGUVVGRkxFTkJRVU03V1VGRGRrSXNTMEZCU3l4dlFrRkJiMElzUTBGQlF5eExRVUZMTzJkQ1FVTTNRaXhKUVVORkxFTkJRVU1zU1VGQlNTeERRVUZETEdOQlFXTTdiMEpCUTNCQ0xFbEJRVWtzUTBGQlF5eGpRVUZqTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1RVRkJUU3hMUVVGTExFTkJRVU1zUlVGRGRrTXNRMEZCUXp0dlFrRkRSQ3hOUVVGTkxFbEJRVWtzWlVGQlpTeERRVUZETzNkQ1FVTjRRanMwUWtGRFJTeFJRVUZSTEVWQlFVVXNaMEpCUVdkQ096UkNRVU14UWl4UFFVRlBMRVZCUTB3c2FVUkJRV2xFT3pSQ1FVTnVSQ3hYUVVGWExFVkJRVVVzUlVGQlJUdDVRa0ZEYUVJN2NVSkJRMFlzUTBGQlF5eERRVUZETzJkQ1FVTk1MRU5CUVVNN1owSkJRMFFzU1VGQlNTeEpRVUZKTEVOQlFVTXNZMEZCWXl4RFFVRkRMRkZCUVZFc1EwRkJReXhIUVVGSExFTkJRVU1zUlVGQlJTeERRVUZETzI5Q1FVTjBReXhOUVVGTkxFbEJRVWtzWlVGQlpTeERRVUZETzNkQ1FVTjRRanMwUWtGRFJTeFJRVUZSTEVWQlFVVXNaMEpCUVdkQ096UkNRVU14UWl4UFFVRlBMRVZCUTB3c2JVVkJRVzFGT3pSQ1FVTnlSU3hYUVVGWExFVkJRVVVzUlVGQlJUdDVRa0ZEYUVJN2NVSkJRMFlzUTBGQlF5eERRVUZETzJkQ1FVTk1MRU5CUVVNN1owSkJRMFFzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4alFVRmpMRU5CUVVNc1NVRkJTU3hGUVVGRkxFTkJRVU1zUTBGQlF6dFpRVU4wUXl4TFFVRkxMRzlDUVVGdlFpeERRVUZETEUxQlFVMDdaMEpCUXpsQ0xFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4SlFVRkpMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNUVUZCVFN4TFFVRkxMRU5CUVVNc1JVRkJSU3hEUVVGRE8yOUNRVU53UkN4TlFVRk5MRWxCUVVrc1pVRkJaU3hEUVVGRE8zZENRVU40UWpzMFFrRkRSU3hSUVVGUkxFVkJRVVVzVVVGQlVUczBRa0ZEYkVJc1QwRkJUeXhGUVVOTUxEQkRRVUV3UXpzMFFrRkROVU1zVjBGQlZ5eEZRVUZGTEVWQlFVVTdlVUpCUTJoQ08zRkNRVU5HTEVOQlFVTXNRMEZCUXp0blFrRkRUQ3hEUVVGRE8yZENRVU5FTEU5QlFVOHNRMEZCUXl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFbEJRVWtzUlVGQlJTeERRVUZETEVOQlFVTTdXVUZET1VJc1MwRkJTeXh2UWtGQmIwSXNRMEZCUXl4blFrRkJaMEk3WjBKQlEzaERMRTlCUVU4c1NVRkJTU3hEUVVGRExFMUJRVTBzU1VGQlNTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRExFMUJRVTBzUjBGQlJ5eERRVUZETzI5Q1FVTnFSQ3hEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8yOUNRVU4wUWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRMVE3WjBKQlEwVXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzTWtKQlFUSkNMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRVVVzUTBGRE5VTXNRMEZCUXp0UlFVTk9MRU5CUVVNN1NVRkRTQ3hEUVVGRE8wbEJSVk1zT0VKQlFUaENPMUZCUTNSRExFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNWVUZCVlR0WlFVRkZMRTlCUVU4c1JVRkJSU3hEUVVGRE8xRkJSV2hETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRVU03V1VGRGNrSXNUVUZCVFN4SlFVRkpMR1ZCUVdVc1EwRkJRenRuUWtGRGVFSTdiMEpCUTBVc1VVRkJVU3hGUVVGRkxGbEJRVms3YjBKQlEzUkNMRTlCUVU4c1JVRkRUQ3dyUTBGQkswTTdiMEpCUTJwRUxGZEJRVmNzUlVGQlJTeEZRVUZGTzJsQ1FVTm9RanRoUVVOR0xFTkJRVU1zUTBGQlF6dFJRVU5NTEVOQlFVTTdVVUZGUkN4TlFVRk5MRlZCUVZVc1IwRkJSeXhwUWtGQmFVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFTkJRVU03VVVGRGRFUXNUVUZCVFN4WFFVRlhMRWRCUVVjc1NVRkJTU3hEUVVGRExHZENRVUZuUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUTBGQlF6dFJRVU16UkN4TlFVRk5MRkZCUVZFc1IwRkJSeXh2UWtGQmIwSXNRMEZCUXl4TlFVRk5MRU5CUXpGRExGZEJRVmNzUlVGRFdDeFZRVUZWTEVOQlFVTXNTVUZCU1N4RFFVTm9RaXhEUVVGRE8xRkJSVVlzVFVGQlRTeFJRVUZSTEVkQlFXRXNSVUZCUlN4RFFVRkRPMUZCUXpsQ0xFdEJRVXNzVFVGQlRTeEhRVUZITEVsQlFVa3NWVUZCVlN4RFFVRkRMRWxCUVVrc1JVRkJSU3hEUVVGRE8xbEJRMnhETEUxQlFVMHNTMEZCU3l4SFFVRkhMRkZCUVZFc1EwRkJReXhIUVVGSExFTkJRVU1zUTBGQlF6dFpRVU0xUWl4SlFVRkpMRXRCUVVzc1NVRkJTU3hMUVVGTExFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNUVUZCVFN4SFFVRkhMRU5CUVVNc1JVRkJSU3hEUVVGRE8yZENRVU55UXl4UlFVRlJMRU5CUVVNc1NVRkJTU3hEUVVGRExFdEJRVXNzUTBGQlF5eEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRPMWxCUXpsQ0xFTkJRVU03VVVGRFNDeERRVUZETzFGQlJVUXNTVUZEUlN4UlFVRlJMRU5CUVVNc1RVRkJUU3hMUVVGTExFTkJRVU03V1VGRGNrSXNTVUZCU1N4RFFVRkRMRk5CUVZNc1MwRkJTeXh2UWtGQmIwSXNRMEZCUXl4blFrRkJaMElzUlVGRGVFUXNRMEZCUXp0WlFVTkVMRTFCUVUwc1NVRkJTU3hsUVVGbExFTkJRVU03WjBKQlEzaENPMjlDUVVORkxGRkJRVkVzUlVGQlJTeFpRVUZaTzI5Q1FVTjBRaXhQUVVGUExFVkJRMHdzYjBWQlFXOUZPMjlDUVVOMFJTeFhRVUZYTEVWQlFVVXNSVUZCUlR0cFFrRkRhRUk3WVVGRFJpeERRVUZETEVOQlFVTTdVVUZEVEN4RFFVRkRPMUZCUlVRc1QwRkJUeXhSUVVGUkxFTkJRVU03U1VGRGJFSXNRMEZCUXp0SlFVVkVPenM3VDBGSFJ6dEpRVU5QTEdkQ1FVRm5RaXhEUVVONFFpeFBRVUZ4UXp0UlFVVnlReXhQUVVGUE8xbEJRMHdzVFVGQlRTeEZRVUZGTEU5QlFVOHNRMEZCUXl4TlFVRk5MRWxCUVVzc1JVRkJWVHRaUVVOeVF5eExRVUZMTEVWQlFVVXNUMEZCVHl4RFFVRkRMRXRCUVVzc1NVRkJTeXhOUVVGak8xbEJRM1pETEU5QlFVOHNSVUZCUlN4UFFVRlBMRU5CUVVNc1QwRkJUeXhKUVVGSkxFVkJRVVU3V1VGRE9VSXNVMEZCVXl4RlFVRkZMRTlCUVU4c1EwRkJReXhUUVVGVExFbEJRVWtzU1VGQlNTeEpRVUZKTEVWQlFVVXNRMEZCUXl4WFFVRlhMRVZCUVVVN1dVRkRlRVFzUjBGQlJ5eEZRVUZGTEU5QlFVOHNRMEZCUXl4SFFVRkhMRWxCUVVrc1JVRkJSVHRaUVVOMFFpeFRRVUZUTEVWQlFVVXNUMEZCVHl4RFFVRkRMRk5CUVZNc1NVRkJTU3hKUVVGSkxFTkJRVU1zVTBGQlV6dFpRVU01UXl4aFFVRmhMRVZCUVVVc1QwRkJUeXhEUVVGRExHRkJRV0VzU1VGQlNTeEZRVUZGTzFsQlF6RkRMRlZCUVZVc1JVRkJSU3hQUVVGUExFTkJRVU1zVlVGQlZTeEpRVUZKTEVWQlFVVTdXVUZEY0VNc1pVRkJaU3hGUVVGRkxFOUJRVThzUTBGQlF5eGxRVUZsTEVsQlFVa3NSVUZCUlR0WlFVTTVReXhKUVVGSkxFVkJRVVVzVDBGQlR5eERRVUZETEVsQlFVazdXVUZEYkVJc1ZVRkJWU3hGUVVGRkxFOUJRVThzUTBGQlF5eFZRVUZWTzFsQlF6bENMRXRCUVVzc1JVRkJSU3hQUVVGUExFTkJRVU1zUzBGQlN6dFpRVU53UWl4VlFVRlZMRVZCUVVVc1QwRkJUeXhEUVVGRExGVkJRVlU3V1VGRE9VSXNWVUZCVlN4RlFVTlNMRTlCUVU4c1EwRkJReXhWUVVGVk8yZENRVU5zUWl4RFFVRkRMRU5CUVVNc1MwRkJZU3hGUVVGRkxFVkJRVVVzUTBGQlF5eExRVUZMTEVOQlFVTTdVMEZETjBJc1EwRkJRenRKUVVOS0xFTkJRVU03UTBGRFJqdEJRWFJVUXp0SlFVWkRMRkZCUVZFc1JVRkJSVHRKUVVOV0xFMUJRVTBzUTBGQlF5eHZRa0ZCYjBJc1EwRkJRenM3Y1VSQlEybERPMEZCU3psRU8wbEJSa01zU1VGQlNTeEZRVUZGTzBsQlEwNHNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJRenM3YTBSQlEwYzdRVUZKYUVJN1NVRkdReXhKUVVGSkxFVkJRVVU3U1VGRFRpeFRRVUZUTEVOQlFVTXNRMEZCUXl4RFFVRkRPenN3UkVGRFZ6dEJRVXQ0UWp0SlFVWkRMRWxCUVVrc1JVRkJSVHRKUVVOT0xGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTTdPM05FUVVOUE8wRkJSM0JDTzBsQlJFTXNTVUZCU1N4RlFVRkZPenR6UkVGRGJVTTdRVUZKTVVNN1NVRkVReXhKUVVGSkxFVkJRVVU3TzNGRVFVTnBRanRCUVV0NFFqdEpRVVpETEZGQlFWRXNSVUZCUlR0SlFVTldMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU03T3poRFFVTkhPMEZCU1doQ08wbEJSa01zVVVGQlVTeEZRVUZGTzBsQlExWXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJRenM3WjBSQlEwczdRVUZIYkVJN1NVRkVReXhKUVVGSkxFVkJRVVU3TzNsRVFVTm5RanRCUVVsMlFqdEpRVVpETEVsQlFVa3NSVUZCUlR0SlFVTk9MRWxCUVVrc1EwRkJReXhIUVVGSExFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTTdPM05FUVVOSE8wRkJTWFJDTzBsQlJrTXNTVUZCU1N4RlFVRkZPMGxCUTA0c1NVRkJTU3hEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEUxQlFVMHNRMEZCUXpzNFFrRkRTQ3hMUVVGTE8zbEVRVUZ2UWp0QlFVZDZRenRKUVVSRExFbEJRVWtzUlVGQlJUczdNa1JCUTIxRE8wRkJSekZETzBsQlJFTXNTVUZCU1N4RlFVRkZPenR6UkVGRE9FSTdRVUZIY2tNN1NVRkVReXhKUVVGSkxFVkJRVVU3TzNkRVFVTm5RaUlzSW5OdmRYSmpaWE5EYjI1MFpXNTBJanBiSWk4cUtseHVJQ29nUUcxdlpIVnNaU0JwYm5SbFozSmhkR2x2Ym5NdmEybGlZVzVoTDJKMWFXeGtaWEp6TDB0cFltRnVZVWx1WkdWNFFuVnBiR1JsY2x4dUlDb2dRSE4xYlcxaGNua2dSbXgxWlc1MElHSjFhV3hrWlhJZ1ptOXlJRXRwWW1GdVlTQnBibVJsZUNCd1lYUjBaWEp1SUNoa1lYUmhJSFpwWlhjcElHTnZibVpwWjNWeVlYUnBiMjV6TGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVsdGNHeGxiV1Z1ZEhNZ2RHaGxJSEJ5YjJwbFkzUWdRblZwYkdSbGNpQlFZWFIwWlhKdUlDaGpiMjV6ZEdsMGRYUnBiMjRnd3FjeUtUcGNiaUFxSUdWNGRHVnVaSE1nWUUxdlpHVnNZQ3dnZFhObGN5QmdRR1JsWTJGbUxYUnpMMlJsWTI5eVlYUnZjaTEyWVd4cFpHRjBhVzl1WUNCa1pXTnZjbUYwYjNKekxDQm1iSFZsYm5SY2JpQXFJR0J6WlhSWUtDazZJSFJvYVhOZ0lHMWxkR2h2WkhNc0lHRnVaQ0JoSUhSbGNtMXBibUZzSUdCaWRXbHNaQ2dwWUNCMGFHRjBJSFpoYkdsa1lYUmxjeUIyYVdGY2JpQXFJR0JvWVhORmNuSnZjbk1vS1dBZ1lXNWtJSEpsZEhWeWJuTWdZU0JnUzJsaVlXNWhSR0YwWVZacFpYZERiMjVtYVdkZ0xseHVJQ3BjYmlBcUlGTjFjSEJ2Y25SeklIUm9jbVZsSUdKaGMyVWdiV0YwWTJocGJtY2diVzlrWlhNNlhHNGdLaUF0SUdCRldFRkRWR0FnNG9DVUlITnBibWRzWlN3Z1puVnNiSGt0Y1hWaGJHbG1hV1ZrSUdsdVpHVjRJRzVoYldVZ0tHNXZJSGRwYkdSallYSmtjeWt1WEc0Z0tpQXRJR0JRVWtWR1NWaGdJT0tBbENCM2FXeGtZMkZ5WkNCd1lYUjBaWEp1SUNobExtY3VJR0JtYVd4bFltVmhkQzF3YkdFdFpHVnRieTBxWUNrdVhHNGdLaUF0SUdCTVQwZEhSVkpmUjBWT1JWSkJWRVZFWUNEaWdKUWdaR1Z5YVhabGN5QnBibVJsZUNCdVlXMWxJSE5sWjIxbGJuUnpJR1p5YjIwZ1lTQnNiMmNnY0dGMGRHVnlibHh1SUNvZ0lDQmpiMjF3YVd4bFpDQjJhV0VnWUdOdmJYQnBiR1ZNYjJkUVlYUjBaWEp1S0NsZ0lHRnVaQ0J5Wlc1a1pYSmxaQ0IyYVdGY2JpQXFJQ0FnWUd4dloxQmhjbUZ0WlhSbGNsSmxaMmx6ZEhKNUxuSmxibVJsY2lncFlDNWNiaUFxWEc0Z0tpQXFLa052YlhCdmRXNWthVzVuT2lvcUlFeHZaMmRsY2kxblpXNWxjbUYwWldRZ2MyVm5iV1Z1ZEhNZ1kyRnVJR0psSUdOdmJYQnZkVzVrWldRZ2QybDBhQ0JCVGxsY2JpQXFJR0poYzJVZ2JXRjBZMmhwYm1jZ2JXOWtaUzRnVjJobGJpQmdiRzluVUdGMGRHVnlibUFnS3lCZ2JHOW5VR0Y1Ykc5aFpHQWdZWEpsSUhCeWIzWnBaR1ZrWEc0Z0tpQmhiRzl1WjNOcFpHVWdSVmhCUTFRZ2IzSWdVRkpGUmtsWUlHMXZaR1VzSUhSb1pTQnlaVzVrWlhKbFpDQnpaV2R0Wlc1MGN5QmhjbVVnWVhCd1pXNWtaV1FnZEc5Y2JpQXFJSFJvWlNCaVlYTmxJR2x1WkdWNElHNWhiV1VnWVc1a0lHRWdkSEpoYVd4cGJtY2dZQ3BnSUdseklHRmtaR1ZrTGx4dUlDb3ZYRzVwYlhCdmNuUWdlMXh1SUNCc2FYTjBMRnh1SUNCTmIyUmxiQ3hjYmlBZ1RXOWtaV3hCY21jc1hHNGdJRzl3ZEdsdmJpeGNiaUFnY21WeGRXbHlaV1FzWEc0Z0lHMXBibXhsYm1kMGFDeGNibjBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWldOdmNtRjBiM0l0ZG1Gc2FXUmhkR2x2Ymx3aU8xeHVhVzF3YjNKMElIc2dTVzUwWlhKdVlXeEZjbkp2Y2l3Z1ZtRnNhV1JoZEdsdmJrVnljbTl5SUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1lpMWtaV052Y21GMGIzSnpYQ0k3WEc1cGJYQnZjblFnZXlCd2NtOXdJSDBnWm5KdmJTQmNJa0JrWldOaFppMTBjeTlrWldOdmNtRjBhVzl1WENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JqYjIxd2FXeGxURzluVUdGMGRHVnliaXhjYmlBZ2JHOW5VR0Z5WVcxbGRHVnlVbVZuYVhOMGNua3NYRzRnSUhSNWNHVWdURzluVUdGeVlXMWxkR1Z5VUdGNWJHOWhaQ3hjYm4wZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5c2IyZG5hVzVuWENJN1hHNWNibWx0Y0c5eWRDQjdJRXRwWW1GdVlVUmhkR0ZXYVdWM1EyOXVabWxuTENCTGFXSmhibUZKYm1SbGVFMWhkR05vVFc5a1pTQjlJR1p5YjIwZ1hDSXVMaTkwZVhCbGMxd2lPMXh1WEc1bGVIQnZjblFnWTJ4aGMzTWdTMmxpWVc1aFNXNWtaWGhDZFdsc1pHVnlJR1Y0ZEdWdVpITWdUVzlrWld3Z2UxeHVJQ0F2THlEaWxJRGlsSUFnVFdGMFkyaHBibWNnYzNSeVlYUmxaM2tnNHBTQTRwU0FYRzRnSUVCeVpYRjFhWEpsWkNncFhHNGdJRUJ2Y0hScGIyNG9TMmxpWVc1aFNXNWtaWGhOWVhSamFFMXZaR1VwWEc0Z0lHMWhkR05vVFc5a1pUb2dTMmxpWVc1aFNXNWtaWGhOWVhSamFFMXZaR1VnUFNCTGFXSmhibUZKYm1SbGVFMWhkR05vVFc5a1pTNVFVa1ZHU1ZnN1hHNWNiaUFnTHk4ZzRwU0E0cFNBSUVsdVpHVjRJRzVoYldVZ2MyVm5iV1Z1ZEhNZzRwU0E0cFNBWEc0Z0lFQndjbTl3S0NsY2JpQWdRRzFwYm14bGJtZDBhQ2d4S1Z4dUlDQndjbVZtYVhnL09pQnpkSEpwYm1jN1hHNWNiaUFnUUhCeWIzQW9LVnh1SUNCQWJXbHViR1Z1WjNSb0tERXBYRzRnSUdWNFlXTjBTVzVrWlhoT1lXMWxQem9nYzNSeWFXNW5PMXh1WEc0Z0lDOHZJT0tVZ09LVWdDQk1iMmRuWlhJdFoyVnVaWEpoZEdWa0lHTnZiWEJ2ZFc1a2FXNW5JT0tVZ09LVWdGeHVJQ0JBY0hKdmNDZ3BYRzRnSUVCdGFXNXNaVzVuZEdnb01TbGNiaUFnYkc5blVHRjBkR1Z5Ymo4NklITjBjbWx1Wnp0Y2JseHVJQ0JBY0hKdmNDZ3BYRzRnSUd4dloxQmhlV3h2WVdRL09pQlFZWEowYVdGc1BFeHZaMUJoY21GdFpYUmxjbEJoZVd4dllXUStPMXh1WEc0Z0lDOHZJT0tVZ09LVWdDQlRaWEJoY21GMGIzSWc0cFNBNHBTQVhHNGdJRUJ3Y205d0tDbGNiaUFnYzJWd1lYSmhkRzl5T2lCemRISnBibWNnUFNCY0lpMWNJanRjYmx4dUlDQXZMeURpbElEaWxJQWdSR0YwWVNCV2FXVjNJR1pwWld4a2N5QW9iV0Z3SUhSdklFdHBZbUZ1WVVSaGRHRldhV1YzUTI5dVptbG5LU0RpbElEaWxJQmNiaUFnUUhKbGNYVnBjbVZrS0NsY2JpQWdRRzFwYm14bGJtZDBhQ2d4S1Z4dUlDQnBaRG9nYzNSeWFXNW5JRDBnWENKY0lqdGNibHh1SUNCQWNtVnhkV2x5WldRb0tWeHVJQ0JBYldsdWJHVnVaM1JvS0RFcFhHNGdJRzVoYldVNklITjBjbWx1WnlBOUlGd2lYQ0k3WEc1Y2JpQWdRSEJ5YjNBb0tWeHVJQ0IwYVcxbFJtbGxiR1JPWVcxbFB6b2djM1J5YVc1bk8xeHVYRzRnSUVCd2NtOXdLQ2xjYmlBZ1FHeHBjM1FvS0NrZ1BUNGdVM1J5YVc1bktWeHVJQ0J1WVcxbGMzQmhZMlZ6UHpvZ2MzUnlhVzVuVzEwN1hHNWNiaUFnUUhCeWIzQW9LVnh1SUNCQWJHbHpkQ2dvS1NBOVBpQlBZbXBsWTNRcFhHNGdJSE52ZFhKalpVWnBiSFJsY25NL09pQkJjbkpoZVR4N0lIWmhiSFZsT2lCemRISnBibWNnZlQ0N1hHNWNiaUFnUUhCeWIzQW9LVnh1SUNCeWRXNTBhVzFsUm1sbGJHUk5ZWEEvT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0IxYm10dWIzZHVQanRjYmx4dUlDQkFjSEp2Y0NncFhHNGdJR1pwWld4a1FYUjBjbk0vT2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0IxYm10dWIzZHVQanRjYmx4dUlDQkFjSEp2Y0NncFhHNGdJR0ZzYkc5M1RtOUpibVJsZUQ4NklHSnZiMnhsWVc0N1hHNWNiaUFnWTI5dWMzUnlkV04wYjNJb1lYSm5Qem9nVFc5a1pXeEJjbWM4UzJsaVlXNWhTVzVrWlhoQ2RXbHNaR1Z5UGlrZ2UxeHVJQ0FnSUhOMWNHVnlLR0Z5WnlrN1hHNGdJQ0FnVFc5a1pXd3Vabkp2YlUxdlpHVnNLSFJvYVhNc0lHRnlaeWs3WEc0Z0lIMWNibHh1SUNBdkx5RGlsSURpbElBZ1JteDFaVzUwSUhObGRIUmxjbk02SUcxaGRHTm9hVzVuSUhOMGNtRjBaV2Q1SU9LVWdPS1VnRnh1SUNCelpYUk5ZWFJqYUUxdlpHVW9iVzlrWlRvZ1MybGlZVzVoU1c1a1pYaE5ZWFJqYUUxdlpHVXBPaUIwYUdseklIdGNiaUFnSUNCMGFHbHpMbTFoZEdOb1RXOWtaU0E5SUcxdlpHVTdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTTdYRzRnSUgxY2JseHVJQ0J6WlhSUWNtVm1hWGdvY0hKbFptbDRPaUJ6ZEhKcGJtY3BPaUIwYUdseklIdGNiaUFnSUNCMGFHbHpMbkJ5WldacGVDQTlJSEJ5WldacGVEdGNiaUFnSUNCeVpYUjFjbTRnZEdocGN6dGNiaUFnZlZ4dVhHNGdJSE5sZEVWNFlXTjBTVzVrWlhoT1lXMWxLRzVoYldVNklITjBjbWx1WnlrNklIUm9hWE1nZTF4dUlDQWdJSFJvYVhNdVpYaGhZM1JKYm1SbGVFNWhiV1VnUFNCdVlXMWxPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOVhHNWNiaUFnYzJWMFRHOW5VR0YwZEdWeWJpaHdZWFIwWlhKdU9pQnpkSEpwYm1jcE9pQjBhR2x6SUh0Y2JpQWdJQ0IwYUdsekxteHZaMUJoZEhSbGNtNGdQU0J3WVhSMFpYSnVPMXh1SUNBZ0lISmxkSFZ5YmlCMGFHbHpPMXh1SUNCOVhHNWNiaUFnYzJWMFRHOW5VR0Y1Ykc5aFpDaHdZWGxzYjJGa09pQlFZWEowYVdGc1BFeHZaMUJoY21GdFpYUmxjbEJoZVd4dllXUStLVG9nZEdocGN5QjdYRzRnSUNBZ2RHaHBjeTVzYjJkUVlYbHNiMkZrSUQwZ2NHRjViRzloWkR0Y2JpQWdJQ0J5WlhSMWNtNGdkR2hwY3p0Y2JpQWdmVnh1WEc0Z0lITmxkRk5sY0dGeVlYUnZjaWh6WlhBNklITjBjbWx1WnlrNklIUm9hWE1nZTF4dUlDQWdJSFJvYVhNdWMyVndZWEpoZEc5eUlEMGdjMlZ3TzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlYRzVjYmlBZ0x5OGc0cFNBNHBTQUlFWnNkV1Z1ZENCelpYUjBaWEp6T2lCa1lYUmhJSFpwWlhjZ1ptbGxiR1J6SU9LVWdPS1VnRnh1SUNCelpYUkpaQ2hwWkRvZ2MzUnlhVzVuS1RvZ2RHaHBjeUI3WEc0Z0lDQWdkR2hwY3k1cFpDQTlJR2xrTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlYRzVjYmlBZ2MyVjBUbUZ0WlNodVlXMWxPaUJ6ZEhKcGJtY3BPaUIwYUdseklIdGNiaUFnSUNCMGFHbHpMbTVoYldVZ1BTQnVZVzFsTzF4dUlDQWdJSEpsZEhWeWJpQjBhR2x6TzF4dUlDQjlYRzVjYmlBZ2MyVjBWR2x0WlVacFpXeGtUbUZ0WlNobWFXVnNaRG9nYzNSeWFXNW5LVG9nZEdocGN5QjdYRzRnSUNBZ2RHaHBjeTUwYVcxbFJtbGxiR1JPWVcxbElEMGdabWxsYkdRN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDFjYmx4dUlDQnpaWFJPWVcxbGMzQmhZMlZ6S0c1ek9pQnpkSEpwYm1kYlhTazZJSFJvYVhNZ2UxeHVJQ0FnSUhSb2FYTXVibUZ0WlhOd1lXTmxjeUE5SUc1ek8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5WEc1Y2JpQWdjMlYwVTI5MWNtTmxSbWxzZEdWeWN5aGNiaUFnSUNCbWFXeDBaWEp6T2lCQmNuSmhlVHg3SUhaaGJIVmxPaUJ6ZEhKcGJtY2dmVDRzWEc0Z0lDazZJSFJvYVhNZ2UxeHVJQ0FnSUhSb2FYTXVjMjkxY21ObFJtbHNkR1Z5Y3lBOUlHWnBiSFJsY25NN1hHNGdJQ0FnY21WMGRYSnVJSFJvYVhNN1hHNGdJSDFjYmx4dUlDQnpaWFJTZFc1MGFXMWxSbWxsYkdSTllYQW9iV0Z3T2lCU1pXTnZjbVE4YzNSeWFXNW5MQ0IxYm10dWIzZHVQaWs2SUhSb2FYTWdlMXh1SUNBZ0lIUm9hWE11Y25WdWRHbHRaVVpwWld4a1RXRndJRDBnYldGd08xeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5WEc1Y2JpQWdjMlYwUm1sbGJHUkJkSFJ5Y3loaGRIUnljem9nVW1WamIzSmtQSE4wY21sdVp5d2dkVzVyYm05M2JqNHBPaUIwYUdseklIdGNiaUFnSUNCMGFHbHpMbVpwWld4a1FYUjBjbk1nUFNCaGRIUnljenRjYmlBZ0lDQnlaWFIxY200Z2RHaHBjenRjYmlBZ2ZWeHVYRzRnSUhObGRFRnNiRzkzVG05SmJtUmxlQ2hoYkd4dmR6b2dZbTl2YkdWaGJpazZJSFJvYVhNZ2UxeHVJQ0FnSUhSb2FYTXVZV3hzYjNkT2IwbHVaR1Y0SUQwZ1lXeHNiM2M3WEc0Z0lDQWdjbVYwZFhKdUlIUm9hWE03WEc0Z0lIMWNibHh1SUNBdkx5RGlsSURpbElBZ1FuVnBiR1FnNHBTQTRwU0FYRzRnSUdKMWFXeGtLQ2s2SUV0cFltRnVZVVJoZEdGV2FXVjNRMjl1Wm1sbklIdGNiaUFnSUNCamIyNXpkQ0JsY25KeklEMGdkR2hwY3k1b1lYTkZjbkp2Y25Nb0tUdGNiaUFnSUNCcFppQW9aWEp5Y3lrZ2RHaHliM2NnYm1WM0lGWmhiR2xrWVhScGIyNUZjbkp2Y2lobGNuSnpLVHRjYmx4dUlDQWdJR052Ym5OMElIUnBkR3hsSUQwZ2RHaHBjeTVqYjIxd2IzTmxWR2wwYkdVb0tUdGNiaUFnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnYVdRNklIUm9hWE11YVdRc1hHNGdJQ0FnSUNCdVlXMWxPaUIwYUdsekxtNWhiV1VzWEc0Z0lDQWdJQ0IwYVhSc1pTeGNiaUFnSUNBZ0lIUnBiV1ZHYVdWc1pFNWhiV1U2SUhSb2FYTXVkR2x0WlVacFpXeGtUbUZ0WlN4Y2JpQWdJQ0FnSUc1aGJXVnpjR0ZqWlhNNklIUm9hWE11Ym1GdFpYTndZV05sY3l4Y2JpQWdJQ0FnSUhOdmRYSmpaVVpwYkhSbGNuTTZJSFJvYVhNdWMyOTFjbU5sUm1sc2RHVnljeXhjYmlBZ0lDQWdJSEoxYm5ScGJXVkdhV1ZzWkUxaGNEb2dkR2hwY3k1eWRXNTBhVzFsUm1sbGJHUk5ZWEFzWEc0Z0lDQWdJQ0JtYVdWc1pFRjBkSEp6T2lCMGFHbHpMbVpwWld4a1FYUjBjbk1zWEc0Z0lDQWdJQ0JoYkd4dmQwNXZTVzVrWlhnNklIUm9hWE11WVd4c2IzZE9iMGx1WkdWNExGeHVJQ0FnSUgwN1hHNGdJSDFjYmx4dUlDQXZMeURpbElEaWxJQWdWR2wwYkdVZ1kyOXRjRzl6YVhScGIyNGc0cFNBNHBTQVhHNGdJSEJ5YjNSbFkzUmxaQ0JqYjIxd2IzTmxWR2wwYkdVb0tUb2djM1J5YVc1bklIdGNiaUFnSUNCamIyNXpkQ0JpWVhObFUyVm5iV1Z1ZEhNZ1BTQjBhR2x6TG1OdmJYQnZjMlZDWVhObFUyVm5iV1Z1ZEhNb0tUdGNiaUFnSUNCamIyNXpkQ0JzYjJkblpYSlRaV2R0Wlc1MGN5QTlJSFJvYVhNdVkyOXRjRzl6WlV4dloyZGxja2RsYm1WeVlYUmxaRk5sWjIxbGJuUnpLQ2s3WEc1Y2JpQWdJQ0JwWmlBb2JHOW5aMlZ5VTJWbmJXVnVkSE11YkdWdVozUm9JRDRnTUNrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWVd4c1UyVm5iV1Z1ZEhNZ1BTQmJMaTR1WW1GelpWTmxaMjFsYm5SekxDQXVMaTVzYjJkblpYSlRaV2R0Wlc1MGMxMDdYRzRnSUNBZ0lDQnlaWFIxY200Z1lXeHNVMlZuYldWdWRITXVhbTlwYmloMGFHbHpMbk5sY0dGeVlYUnZjaWtnS3lCMGFHbHpMbk5sY0dGeVlYUnZjaUFySUZ3aUtsd2lPMXh1SUNBZ0lIMWNibHh1SUNBZ0lITjNhWFJqYUNBb2RHaHBjeTV0WVhSamFFMXZaR1VwSUh0Y2JpQWdJQ0FnSUdOaGMyVWdTMmxpWVc1aFNXNWtaWGhOWVhSamFFMXZaR1V1UlZoQlExUTZYRzRnSUNBZ0lDQWdJSEpsZEhWeWJpQmlZWE5sVTJWbmJXVnVkSE5iTUYwN1hHNGdJQ0FnSUNCallYTmxJRXRwWW1GdVlVbHVaR1Y0VFdGMFkyaE5iMlJsTGxCU1JVWkpXRG9nZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JpWVhObElEMGdZbUZ6WlZObFoyMWxiblJ6V3pCZE8xeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1ltRnpaUzVsYm1SelYybDBhQ2gwYUdsekxuTmxjR0Z5WVhSdmNpbGNiaUFnSUNBZ0lDQWdJQ0EvSUdBa2UySmhjMlY5S21CY2JpQWdJQ0FnSUNBZ0lDQTZJR0FrZTJKaGMyVjlKSHQwYUdsekxuTmxjR0Z5WVhSdmNuMHFZRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJR05oYzJVZ1MybGlZVzVoU1c1a1pYaE5ZWFJqYUUxdlpHVXVURTlIUjBWU1gwZEZUa1ZTUVZSRlJEcGNiaUFnSUNBZ0lDQWdhV1lnS0dKaGMyVlRaV2R0Wlc1MGN5NXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dWbUZzYVdSaGRHbHZia1Z5Y205eUtGdGNiaUFnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY0hKdmNHVnlkSGs2SUZ3aWNISmxabWw0WENJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUcxbGMzTmhaMlU2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWENKd2NtVm1hWGdnYVhNZ2NtVnhkV2x5WldRZ1ptOXlJRXhQUjBkRlVsOUhSVTVGVWtGVVJVUWdiVzlrWlNCM2FHVnVJRzV2SUd4dloxQmhkSFJsY200Z2FYTWdjMlYwWENJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUdOdmJuTjBjbUZwYm5Sek9pQjdmU3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIMHNYRzRnSUNBZ0lDQWdJQ0FnWFNrN1hHNGdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdjbVYwZFhKdUlHSmhjMlZUWldkdFpXNTBjeTVxYjJsdUtIUm9hWE11YzJWd1lYSmhkRzl5S1NBcklIUm9hWE11YzJWd1lYSmhkRzl5SUNzZ1hDSXFYQ0k3WEc0Z0lDQWdJQ0JrWldaaGRXeDBPbHh1SUNBZ0lDQWdJQ0IwYUhKdmR5QnVaWGNnU1c1MFpYSnVZV3hGY25KdmNpaGNiaUFnSUNBZ0lDQWdJQ0JnVlc1emRYQndiM0owWldRZ2JXRjBZMmdnYlc5a1pUb2dKSHQwYUdsekxtMWhkR05vVFc5a1pYMWdMRnh1SUNBZ0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmlBZ2ZWeHVYRzRnSUhCeWIzUmxZM1JsWkNCamIyMXdiM05sUW1GelpWTmxaMjFsYm5SektDazZJSE4wY21sdVoxdGRJSHRjYmlBZ0lDQnpkMmwwWTJnZ0tIUm9hWE11YldGMFkyaE5iMlJsS1NCN1hHNGdJQ0FnSUNCallYTmxJRXRwWW1GdVlVbHVaR1Y0VFdGMFkyaE5iMlJsTGtWWVFVTlVPbHh1SUNBZ0lDQWdJQ0JwWmlBb1hHNGdJQ0FnSUNBZ0lDQWdJWFJvYVhNdVpYaGhZM1JKYm1SbGVFNWhiV1VnZkh4Y2JpQWdJQ0FnSUNBZ0lDQjBhR2x6TG1WNFlXTjBTVzVrWlhoT1lXMWxMblJ5YVcwb0tTNXNaVzVuZEdnZ1BUMDlJREJjYmlBZ0lDQWdJQ0FnS1NCN1hHNGdJQ0FnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRlpoYkdsa1lYUnBiMjVGY25KdmNpaGJYRzRnSUNBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUhCeWIzQmxjblI1T2lCY0ltVjRZV04wU1c1a1pYaE9ZVzFsWENJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUcxbGMzTmhaMlU2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWENKbGVHRmpkRWx1WkdWNFRtRnRaU0JwY3lCeVpYRjFhWEpsWkNCbWIzSWdSVmhCUTFRZ2JXRjBZMmdnYlc5a1pWd2lMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQmpiMjV6ZEhKaGFXNTBjem9nZTMwc1hHNGdJQ0FnSUNBZ0lDQWdJQ0I5TEZ4dUlDQWdJQ0FnSUNBZ0lGMHBPMXh1SUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUdsbUlDaDBhR2x6TG1WNFlXTjBTVzVrWlhoT1lXMWxMbWx1WTJ4MVpHVnpLRndpS2x3aUtTa2dlMXh1SUNBZ0lDQWdJQ0FnSUhSb2NtOTNJRzVsZHlCV1lXeHBaR0YwYVc5dVJYSnliM0lvVzF4dUlDQWdJQ0FnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQndjbTl3WlhKMGVUb2dYQ0psZUdGamRFbHVaR1Y0VG1GdFpWd2lMRnh1SUNBZ0lDQWdJQ0FnSUNBZ0lDQnRaWE56WVdkbE9seHVJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lGd2laWGhoWTNSSmJtUmxlRTVoYldVZ2JYVnpkQ0J1YjNRZ1kyOXVkR0ZwYmlCM2FXeGtZMkZ5WkhNZ0tDb3BJR2x1SUVWWVFVTlVJRzFoZEdOb0lHMXZaR1ZjSWl4Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWTI5dWMzUnlZV2x1ZEhNNklIdDlMRnh1SUNBZ0lDQWdJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lDQWdJQ0JkS1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1czUm9hWE11WlhoaFkzUkpibVJsZUU1aGJXVXVkSEpwYlNncFhUdGNiaUFnSUNBZ0lHTmhjMlVnUzJsaVlXNWhTVzVrWlhoTllYUmphRTF2WkdVdVVGSkZSa2xZT2x4dUlDQWdJQ0FnSUNCcFppQW9JWFJvYVhNdWNISmxabWw0SUh4OElIUm9hWE11Y0hKbFptbDRMblJ5YVcwb0tTNXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dWbUZzYVdSaGRHbHZia1Z5Y205eUtGdGNiaUFnSUNBZ0lDQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnY0hKdmNHVnlkSGs2SUZ3aWNISmxabWw0WENJc1hHNGdJQ0FnSUNBZ0lDQWdJQ0FnSUcxbGMzTmhaMlU2WEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnWENKd2NtVm1hWGdnYVhNZ2NtVnhkV2x5WldRZ1ptOXlJRkJTUlVaSldDQnRZWFJqYUNCdGIyUmxYQ0lzWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJR052Ym5OMGNtRnBiblJ6T2lCN2ZTeGNiaUFnSUNBZ0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lDQWdYU2s3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUZ0MGFHbHpMbkJ5WldacGVDNTBjbWx0S0NsZE8xeHVJQ0FnSUNBZ1kyRnpaU0JMYVdKaGJtRkpibVJsZUUxaGRHTm9UVzlrWlM1TVQwZEhSVkpmUjBWT1JWSkJWRVZFT2x4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnZEdocGN5NXdjbVZtYVhnZ0ppWWdkR2hwY3k1d2NtVm1hWGd1ZEhKcGJTZ3BMbXhsYm1kMGFDQStJREJjYmlBZ0lDQWdJQ0FnSUNBL0lGdDBhR2x6TG5CeVpXWnBlQzUwY21sdEtDbGRYRzRnSUNBZ0lDQWdJQ0FnT2lCYlhUdGNiaUFnSUNBZ0lHUmxabUYxYkhRNlhHNGdJQ0FnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z4dUlDQWdJQ0FnSUNBZ0lHQlZibk4xY0hCdmNuUmxaQ0J0WVhSamFDQnRiMlJsT2lBa2UzUm9hWE11YldGMFkyaE5iMlJsZldBc1hHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdjSEp2ZEdWamRHVmtJR052YlhCdmMyVk1iMmRuWlhKSFpXNWxjbUYwWldSVFpXZHRaVzUwY3lncE9pQnpkSEpwYm1kYlhTQjdYRzRnSUNBZ2FXWWdLQ0YwYUdsekxteHZaMUJoZEhSbGNtNHBJSEpsZEhWeWJpQmJYVHRjYmx4dUlDQWdJR2xtSUNnaGRHaHBjeTVzYjJkUVlYbHNiMkZrS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1ZtRnNhV1JoZEdsdmJrVnljbTl5S0Z0Y2JpQWdJQ0FnSUNBZ2UxeHVJQ0FnSUNBZ0lDQWdJSEJ5YjNCbGNuUjVPaUJjSW14dloxQmhlV3h2WVdSY0lpeGNiaUFnSUNBZ0lDQWdJQ0J0WlhOellXZGxPbHh1SUNBZ0lDQWdJQ0FnSUNBZ1hDSnNiMmRRWVhsc2IyRmtJR2x6SUhKbGNYVnBjbVZrSUhkb1pXNGdiRzluVUdGMGRHVnliaUJwY3lCelpYUmNJaXhjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkSEpoYVc1MGN6b2dlMzBzWEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCZEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0JrWldacGJtbDBhVzl1SUQwZ1kyOXRjR2xzWlV4dloxQmhkSFJsY200b2RHaHBjeTVzYjJkUVlYUjBaWEp1S1R0Y2JpQWdJQ0JqYjI1emRDQm1kV3hzVUdGNWJHOWhaQ0E5SUhSb2FYTXVZblZwYkdSR2RXeHNVR0Y1Ykc5aFpDaDBhR2x6TG14dloxQmhlV3h2WVdRcE8xeHVJQ0FnSUdOdmJuTjBJSEpsYm1SbGNtVmtJRDBnYkc5blVHRnlZVzFsZEdWeVVtVm5hWE4wY25rdWNtVnVaR1Z5S0Z4dUlDQWdJQ0FnWm5Wc2JGQmhlV3h2WVdRc1hHNGdJQ0FnSUNCa1pXWnBibWwwYVc5dUxtdGxlWE1zWEc0Z0lDQWdLVHRjYmx4dUlDQWdJR052Ym5OMElITmxaMjFsYm5Sek9pQnpkSEpwYm1kYlhTQTlJRnRkTzF4dUlDQWdJR1p2Y2lBb1kyOXVjM1FnYTJWNUlHOW1JR1JsWm1sdWFYUnBiMjR1YTJWNWN5a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ2RtRnNkV1VnUFNCeVpXNWtaWEpsWkZ0clpYbGRPMXh1SUNBZ0lDQWdhV1lnS0haaGJIVmxJQ1ltSUhaaGJIVmxMblJ5YVcwb0tTNXNaVzVuZEdnZ1BpQXdLU0I3WEc0Z0lDQWdJQ0FnSUhObFoyMWxiblJ6TG5CMWMyZ29kbUZzZFdVdWRISnBiU2dwS1R0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0I5WEc1Y2JpQWdJQ0JwWmlBb1hHNGdJQ0FnSUNCelpXZHRaVzUwY3k1c1pXNW5kR2dnUFQwOUlEQWdKaVpjYmlBZ0lDQWdJSFJvYVhNdWJXRjBZMmhOYjJSbElEMDlQU0JMYVdKaGJtRkpibVJsZUUxaGRHTm9UVzlrWlM1TVQwZEhSVkpmUjBWT1JWSkJWRVZFWEc0Z0lDQWdLU0I3WEc0Z0lDQWdJQ0IwYUhKdmR5QnVaWGNnVm1Gc2FXUmhkR2x2YmtWeWNtOXlLRnRjYmlBZ0lDQWdJQ0FnZTF4dUlDQWdJQ0FnSUNBZ0lIQnliM0JsY25SNU9pQmNJbXh2WjFCaGRIUmxjbTVjSWl4Y2JpQWdJQ0FnSUNBZ0lDQnRaWE56WVdkbE9seHVJQ0FnSUNBZ0lDQWdJQ0FnWENKT2J5QnpaV2R0Wlc1MGN5QjNaWEpsSUhKbGJtUmxjbVZrSUdaeWIyMGdkR2hsSUhCeWIzWnBaR1ZrSUd4dloxQmhkSFJsY200Z1lXNWtJSEJoZVd4dllXUmNJaXhjYmlBZ0lDQWdJQ0FnSUNCamIyNXpkSEpoYVc1MGN6b2dlMzBzWEc0Z0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNCZEtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnYzJWbmJXVnVkSE03WEc0Z0lIMWNibHh1SUNBdktpcGNiaUFnSUNvZ1JtbHNiQ0J0YVhOemFXNW5JRXh2WjFCaGNtRnRaWFJsY2xCaGVXeHZZV1FnWm1sbGJHUnpJSGRwZEdnZ2MyVnVjMmxpYkdVZ1pHVm1ZWFZzZEhOY2JpQWdJQ29nYzI4Z2NHRnlkR2xoYkNCd1lYbHNiMkZrY3lCallXNGdZbVVnWVdOalpYQjBaV1FnWm5KdmJTQjBhR1VnWTJGc2JHVnlMbHh1SUNBZ0tpOWNiaUFnY0hKdmRHVmpkR1ZrSUdKMWFXeGtSblZzYkZCaGVXeHZZV1FvWEc0Z0lDQWdjR0Z5ZEdsaGJEb2dVR0Z5ZEdsaGJEeE1iMmRRWVhKaGJXVjBaWEpRWVhsc2IyRmtQaXhjYmlBZ0tUb2dURzluVUdGeVlXMWxkR1Z5VUdGNWJHOWhaQ0I3WEc0Z0lDQWdjbVYwZFhKdUlIdGNiaUFnSUNBZ0lHTnZibVpwWnpvZ2NHRnlkR2xoYkM1amIyNW1hV2NnUHo4Z0tIdDlJR0Z6SUdGdWVTa3NYRzRnSUNBZ0lDQnNaWFpsYkRvZ2NHRnlkR2xoYkM1c1pYWmxiQ0EvUHlBb1hDSnBibVp2WENJZ1lYTWdZVzU1S1N4Y2JpQWdJQ0FnSUdOdmJuUmxlSFE2SUhCaGNuUnBZV3d1WTI5dWRHVjRkQ0EvUHlCYlhTeGNiaUFnSUNBZ0lIUnBiV1Z6ZEdGdGNEb2djR0Z5ZEdsaGJDNTBhVzFsYzNSaGJYQWdQejhnYm1WM0lFUmhkR1VvS1M1MGIwbFRUMU4wY21sdVp5Z3BMRnh1SUNBZ0lDQWdZWEJ3T2lCd1lYSjBhV0ZzTG1Gd2NDQS9QeUJjSWx3aUxGeHVJQ0FnSUNBZ2MyVndZWEpoZEc5eU9pQndZWEowYVdGc0xuTmxjR0Z5WVhSdmNpQS9QeUIwYUdsekxuTmxjR0Z5WVhSdmNpeGNiaUFnSUNBZ0lHTnZjbkpsYkdGMGFXOXVTV1E2SUhCaGNuUnBZV3d1WTI5eWNtVnNZWFJwYjI1SlpDQS9QeUJjSWx3aUxGeHVJQ0FnSUNBZ2NtRjNUV1Z6YzJGblpUb2djR0Z5ZEdsaGJDNXlZWGROWlhOellXZGxJRDgvSUZ3aVhDSXNYRzRnSUNBZ0lDQm1hV3gwWlhKbFpFMWxjM05oWjJVNklIQmhjblJwWVd3dVptbHNkR1Z5WldSTlpYTnpZV2RsSUQ4L0lGd2lYQ0lzWEc0Z0lDQWdJQ0J0WlhSaE9pQndZWEowYVdGc0xtMWxkR0VzWEc0Z0lDQWdJQ0J0WlhSaFUzUnlhVzVuT2lCd1lYSjBhV0ZzTG0xbGRHRlRkSEpwYm1jc1hHNGdJQ0FnSUNCemRHRmphem9nY0dGeWRHbGhiQzV6ZEdGamF5eGNiaUFnSUNBZ0lITjBZV05yVEdGaVpXdzZJSEJoY25ScFlXd3VjM1JoWTJ0TVlXSmxiQ3hjYmlBZ0lDQWdJR0Z3Y0d4NVZHaGxiV1U2WEc0Z0lDQWdJQ0FnSUhCaGNuUnBZV3d1WVhCd2JIbFVhR1Z0WlNBL1AxeHVJQ0FnSUNBZ0lDQW9LSFpoYkhWbE9pQnpkSEpwYm1jcElEMCtJSFpoYkhWbEtTeGNiaUFnSUNCOU8xeHVJQ0I5WEc1OVhHNGlYWDA9Il19
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KibanaIndexBuilderCollection = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* @module integrations/kibana/builders/KibanaIndexBuilderCollection
|
|
6
|
+
* @summary Collection builder for multiple Kibana data views.
|
|
7
|
+
* @description Provides a fluent chain for building multiple
|
|
8
|
+
* `KibanaDataViewConfig` objects in one call, directly consumable by
|
|
9
|
+
* `KibanaDataViewService.createDataViews()`.
|
|
10
|
+
*/
|
|
11
|
+
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
12
|
+
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
13
|
+
class KibanaIndexBuilderCollection extends decorator_validation_1.Model {
|
|
14
|
+
constructor(arg) {
|
|
15
|
+
super(arg);
|
|
16
|
+
this.builders = [];
|
|
17
|
+
decorator_validation_1.Model.fromModel(this, arg);
|
|
18
|
+
}
|
|
19
|
+
static for(...builders) {
|
|
20
|
+
const collection = new KibanaIndexBuilderCollection();
|
|
21
|
+
collection.builders = builders;
|
|
22
|
+
return collection;
|
|
23
|
+
}
|
|
24
|
+
add(builder) {
|
|
25
|
+
this.builders.push(builder);
|
|
26
|
+
return this;
|
|
27
|
+
}
|
|
28
|
+
build() {
|
|
29
|
+
const errs = this.hasErrors();
|
|
30
|
+
if (errs)
|
|
31
|
+
throw new db_decorators_1.ValidationError(errs);
|
|
32
|
+
return this.builders.map((b) => b.build());
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.KibanaIndexBuilderCollection = KibanaIndexBuilderCollection;
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hSW5kZXhCdWlsZGVyQ29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9raWJhbmEvYnVpbGRlcnMvS2liYW5hSW5kZXhCdWlsZGVyQ29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFZLE1BQU0sZ0NBQWdDLENBQUM7QUFDakUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBSzFELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxLQUFLO0lBR3JELFlBQVksR0FBNEM7UUFDdEQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBSGIsYUFBUSxHQUF5QixFQUFFLENBQUM7UUFJbEMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFHLENBQ1IsR0FBRyxRQUE4QjtRQUVqQyxNQUFNLFVBQVUsR0FBRyxJQUFJLDRCQUE0QixFQUFFLENBQUM7UUFDdEQsVUFBVSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDL0IsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVELEdBQUcsQ0FBQyxPQUEyQjtRQUM3QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSTtZQUFFLE1BQU0sSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9raWJhbmEvYnVpbGRlcnMvS2liYW5hSW5kZXhCdWlsZGVyQ29sbGVjdGlvblxuICogQHN1bW1hcnkgQ29sbGVjdGlvbiBidWlsZGVyIGZvciBtdWx0aXBsZSBLaWJhbmEgZGF0YSB2aWV3cy5cbiAqIEBkZXNjcmlwdGlvbiBQcm92aWRlcyBhIGZsdWVudCBjaGFpbiBmb3IgYnVpbGRpbmcgbXVsdGlwbGVcbiAqIGBLaWJhbmFEYXRhVmlld0NvbmZpZ2Agb2JqZWN0cyBpbiBvbmUgY2FsbCwgZGlyZWN0bHkgY29uc3VtYWJsZSBieVxuICogYEtpYmFuYURhdGFWaWV3U2VydmljZS5jcmVhdGVEYXRhVmlld3MoKWAuXG4gKi9cbmltcG9ydCB7IE1vZGVsLCBNb2RlbEFyZyB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5pbXBvcnQgeyBLaWJhbmFEYXRhVmlld0NvbmZpZyB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgS2liYW5hSW5kZXhCdWlsZGVyIH0gZnJvbSBcIi4vS2liYW5hSW5kZXhCdWlsZGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBLaWJhbmFJbmRleEJ1aWxkZXJDb2xsZWN0aW9uIGV4dGVuZHMgTW9kZWwge1xuICBidWlsZGVyczogS2liYW5hSW5kZXhCdWlsZGVyW10gPSBbXTtcblxuICBjb25zdHJ1Y3Rvcihhcmc/OiBNb2RlbEFyZzxLaWJhbmFJbmRleEJ1aWxkZXJDb2xsZWN0aW9uPikge1xuICAgIHN1cGVyKGFyZyk7XG4gICAgTW9kZWwuZnJvbU1vZGVsKHRoaXMsIGFyZyk7XG4gIH1cblxuICBzdGF0aWMgZm9yKFxuICAgIC4uLmJ1aWxkZXJzOiBLaWJhbmFJbmRleEJ1aWxkZXJbXVxuICApOiBLaWJhbmFJbmRleEJ1aWxkZXJDb2xsZWN0aW9uIHtcbiAgICBjb25zdCBjb2xsZWN0aW9uID0gbmV3IEtpYmFuYUluZGV4QnVpbGRlckNvbGxlY3Rpb24oKTtcbiAgICBjb2xsZWN0aW9uLmJ1aWxkZXJzID0gYnVpbGRlcnM7XG4gICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gIH1cblxuICBhZGQoYnVpbGRlcjogS2liYW5hSW5kZXhCdWlsZGVyKTogdGhpcyB7XG4gICAgdGhpcy5idWlsZGVycy5wdXNoKGJ1aWxkZXIpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYnVpbGQoKTogS2liYW5hRGF0YVZpZXdDb25maWdbXSB7XG4gICAgY29uc3QgZXJycyA9IHRoaXMuaGFzRXJyb3JzKCk7XG4gICAgaWYgKGVycnMpIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoZXJycyk7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRlcnMubWFwKChiKSA9PiBiLmJ1aWxkKCkpO1xuICB9XG59XG4iXX0=
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiS2liYW5hSW5kZXhCdWlsZGVyQ29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIktpYmFuYUluZGV4QnVpbGRlckNvbGxlY3Rpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7Ozs7OztHQU1HO0FBQ0gseUVBQXVEO0FBQ3ZELDJEQUEwRDtBQUMxRCxNQUFhLDRCQUE2QixTQUFRLDRCQUFLO0lBQ25ELFlBQVksR0FBRztRQUNYLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNYLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ25CLDRCQUFLLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0QsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVE7UUFDbEIsTUFBTSxVQUFVLEdBQUcsSUFBSSw0QkFBNEIsRUFBRSxDQUFDO1FBQ3RELFVBQVUsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQy9CLE9BQU8sVUFBVSxDQUFDO0lBQ3RCLENBQUM7SUFDRCxHQUFHLENBQUMsT0FBTztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxLQUFLO1FBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQzlCLElBQUksSUFBSTtZQUNKLE1BQU0sSUFBSSwrQkFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQy9DLENBQUM7Q0FDSjtBQXJCRCxvRUFxQkM7QUFDRCxrOUZBQWs5RiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMva2liYW5hL2J1aWxkZXJzL0tpYmFuYUluZGV4QnVpbGRlckNvbGxlY3Rpb25cbiAqIEBzdW1tYXJ5IENvbGxlY3Rpb24gYnVpbGRlciBmb3IgbXVsdGlwbGUgS2liYW5hIGRhdGEgdmlld3MuXG4gKiBAZGVzY3JpcHRpb24gUHJvdmlkZXMgYSBmbHVlbnQgY2hhaW4gZm9yIGJ1aWxkaW5nIG11bHRpcGxlXG4gKiBgS2liYW5hRGF0YVZpZXdDb25maWdgIG9iamVjdHMgaW4gb25lIGNhbGwsIGRpcmVjdGx5IGNvbnN1bWFibGUgYnlcbiAqIGBLaWJhbmFEYXRhVmlld1NlcnZpY2UuY3JlYXRlRGF0YVZpZXdzKClgLlxuICovXG5pbXBvcnQgeyBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuZXhwb3J0IGNsYXNzIEtpYmFuYUluZGV4QnVpbGRlckNvbGxlY3Rpb24gZXh0ZW5kcyBNb2RlbCB7XG4gICAgY29uc3RydWN0b3IoYXJnKSB7XG4gICAgICAgIHN1cGVyKGFyZyk7XG4gICAgICAgIHRoaXMuYnVpbGRlcnMgPSBbXTtcbiAgICAgICAgTW9kZWwuZnJvbU1vZGVsKHRoaXMsIGFyZyk7XG4gICAgfVxuICAgIHN0YXRpYyBmb3IoLi4uYnVpbGRlcnMpIHtcbiAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IG5ldyBLaWJhbmFJbmRleEJ1aWxkZXJDb2xsZWN0aW9uKCk7XG4gICAgICAgIGNvbGxlY3Rpb24uYnVpbGRlcnMgPSBidWlsZGVycztcbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb247XG4gICAgfVxuICAgIGFkZChidWlsZGVyKSB7XG4gICAgICAgIHRoaXMuYnVpbGRlcnMucHVzaChidWlsZGVyKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuICAgIGJ1aWxkKCkge1xuICAgICAgICBjb25zdCBlcnJzID0gdGhpcy5oYXNFcnJvcnMoKTtcbiAgICAgICAgaWYgKGVycnMpXG4gICAgICAgICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGVycnMpO1xuICAgICAgICByZXR1cm4gdGhpcy5idWlsZGVycy5tYXAoKGIpID0+IGIuYnVpbGQoKSk7XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pUzJsaVlXNWhTVzVrWlhoQ2RXbHNaR1Z5UTI5c2JHVmpkR2x2Ymk1cWN5SXNJbk52ZFhKalpWSnZiM1FpT2lJaUxDSnpiM1Z5WTJWeklqcGJJaTR1THk0dUx5NHVMeTR1TDNOeVl5OXJhV0poYm1FdlluVnBiR1JsY25NdlMybGlZVzVoU1c1a1pYaENkV2xzWkdWeVEyOXNiR1ZqZEdsdmJpNTBjeUpkTENKdVlXMWxjeUk2VzEwc0ltMWhjSEJwYm1keklqb2lRVUZCUVRzN096czdPMGRCVFVjN1FVRkRTQ3hQUVVGUExFVkJRVVVzUzBGQlN5eEZRVUZaTEUxQlFVMHNaME5CUVdkRExFTkJRVU03UVVGRGFrVXNUMEZCVHl4RlFVRkZMR1ZCUVdVc1JVRkJSU3hOUVVGTkxIbENRVUY1UWl4RFFVRkRPMEZCU3pGRUxFMUJRVTBzVDBGQlR5dzBRa0ZCTmtJc1UwRkJVU3hMUVVGTE8wbEJSM0pFTEZsQlFWa3NSMEZCTkVNN1VVRkRkRVFzUzBGQlN5eERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRPMUZCU0dJc1lVRkJVU3hIUVVGNVFpeEZRVUZGTEVOQlFVTTdVVUZKYkVNc1MwRkJTeXhEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVWQlFVVXNSMEZCUnl4RFFVRkRMRU5CUVVNN1NVRkROMElzUTBGQlF6dEpRVVZFTEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUTFJc1IwRkJSeXhSUVVFNFFqdFJRVVZxUXl4TlFVRk5MRlZCUVZVc1IwRkJSeXhKUVVGSkxEUkNRVUUwUWl4RlFVRkZMRU5CUVVNN1VVRkRkRVFzVlVGQlZTeERRVUZETEZGQlFWRXNSMEZCUnl4UlFVRlJMRU5CUVVNN1VVRkRMMElzVDBGQlR5eFZRVUZWTEVOQlFVTTdTVUZEY0VJc1EwRkJRenRKUVVWRUxFZEJRVWNzUTBGQlF5eFBRVUV5UWp0UlFVTTNRaXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVsQlFVa3NRMEZCUXl4UFFVRlBMRU5CUVVNc1EwRkJRenRSUVVNMVFpeFBRVUZQTEVsQlFVa3NRMEZCUXp0SlFVTmtMRU5CUVVNN1NVRkZSQ3hMUVVGTE8xRkJRMGdzVFVGQlRTeEpRVUZKTEVkQlFVY3NTVUZCU1N4RFFVRkRMRk5CUVZNc1JVRkJSU3hEUVVGRE8xRkJRemxDTEVsQlFVa3NTVUZCU1R0WlFVRkZMRTFCUVUwc1NVRkJTU3hsUVVGbExFTkJRVU1zU1VGQlNTeERRVUZETEVOQlFVTTdVVUZETVVNc1QwRkJUeXhKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEVkQlFVY3NRMEZCUXl4RFFVRkRMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU1zUTBGQlF5eERRVUZETEV0QlFVc3NSVUZCUlN4RFFVRkRMRU5CUVVNN1NVRkROME1zUTBGQlF6dERRVU5HSWl3aWMyOTFjbU5sYzBOdmJuUmxiblFpT2xzaUx5b3FYRzRnS2lCQWJXOWtkV3hsSUdsdWRHVm5jbUYwYVc5dWN5OXJhV0poYm1FdlluVnBiR1JsY25NdlMybGlZVzVoU1c1a1pYaENkV2xzWkdWeVEyOXNiR1ZqZEdsdmJseHVJQ29nUUhOMWJXMWhjbmtnUTI5c2JHVmpkR2x2YmlCaWRXbHNaR1Z5SUdadmNpQnRkV3gwYVhCc1pTQkxhV0poYm1FZ1pHRjBZU0IyYVdWM2N5NWNiaUFxSUVCa1pYTmpjbWx3ZEdsdmJpQlFjbTkyYVdSbGN5QmhJR1pzZFdWdWRDQmphR0ZwYmlCbWIzSWdZblZwYkdScGJtY2diWFZzZEdsd2JHVmNiaUFxSUdCTGFXSmhibUZFWVhSaFZtbGxkME52Ym1acFoyQWdiMkpxWldOMGN5QnBiaUJ2Ym1VZ1kyRnNiQ3dnWkdseVpXTjBiSGtnWTI5dWMzVnRZV0pzWlNCaWVWeHVJQ29nWUV0cFltRnVZVVJoZEdGV2FXVjNVMlZ5ZG1salpTNWpjbVZoZEdWRVlYUmhWbWxsZDNNb0tXQXVYRzRnS2k5Y2JtbHRjRzl5ZENCN0lFMXZaR1ZzTENCTmIyUmxiRUZ5WnlCOUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlpHVmpiM0poZEc5eUxYWmhiR2xrWVhScGIyNWNJanRjYm1sdGNHOXlkQ0I3SUZaaGJHbGtZWFJwYjI1RmNuSnZjaUI5SUdaeWIyMGdYQ0pBWkdWallXWXRkSE12WkdJdFpHVmpiM0poZEc5eWMxd2lPMXh1WEc1cGJYQnZjblFnZXlCTGFXSmhibUZFWVhSaFZtbGxkME52Ym1acFp5QjlJR1p5YjIwZ1hDSXVMaTkwZVhCbGMxd2lPMXh1YVcxd2IzSjBJSHNnUzJsaVlXNWhTVzVrWlhoQ2RXbHNaR1Z5SUgwZ1puSnZiU0JjSWk0dlMybGlZVzVoU1c1a1pYaENkV2xzWkdWeVhDSTdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QkxhV0poYm1GSmJtUmxlRUoxYVd4a1pYSkRiMnhzWldOMGFXOXVJR1Y0ZEdWdVpITWdUVzlrWld3Z2UxeHVJQ0JpZFdsc1pHVnljem9nUzJsaVlXNWhTVzVrWlhoQ2RXbHNaR1Z5VzEwZ1BTQmJYVHRjYmx4dUlDQmpiMjV6ZEhKMVkzUnZjaWhoY21jL09pQk5iMlJsYkVGeVp6eExhV0poYm1GSmJtUmxlRUoxYVd4a1pYSkRiMnhzWldOMGFXOXVQaWtnZTF4dUlDQWdJSE4xY0dWeUtHRnlaeWs3WEc0Z0lDQWdUVzlrWld3dVpuSnZiVTF2WkdWc0tIUm9hWE1zSUdGeVp5azdYRzRnSUgxY2JseHVJQ0J6ZEdGMGFXTWdabTl5S0Z4dUlDQWdJQzR1TG1KMWFXeGtaWEp6T2lCTGFXSmhibUZKYm1SbGVFSjFhV3hrWlhKYlhWeHVJQ0FwT2lCTGFXSmhibUZKYm1SbGVFSjFhV3hrWlhKRGIyeHNaV04wYVc5dUlIdGNiaUFnSUNCamIyNXpkQ0JqYjJ4c1pXTjBhVzl1SUQwZ2JtVjNJRXRwWW1GdVlVbHVaR1Y0UW5WcGJHUmxja052Ykd4bFkzUnBiMjRvS1R0Y2JpQWdJQ0JqYjJ4c1pXTjBhVzl1TG1KMWFXeGtaWEp6SUQwZ1luVnBiR1JsY25NN1hHNGdJQ0FnY21WMGRYSnVJR052Ykd4bFkzUnBiMjQ3WEc0Z0lIMWNibHh1SUNCaFpHUW9ZblZwYkdSbGNqb2dTMmxpWVc1aFNXNWtaWGhDZFdsc1pHVnlLVG9nZEdocGN5QjdYRzRnSUNBZ2RHaHBjeTVpZFdsc1pHVnljeTV3ZFhOb0tHSjFhV3hrWlhJcE8xeHVJQ0FnSUhKbGRIVnliaUIwYUdsek8xeHVJQ0I5WEc1Y2JpQWdZblZwYkdRb0tUb2dTMmxpWVc1aFJHRjBZVlpwWlhkRGIyNW1hV2RiWFNCN1hHNGdJQ0FnWTI5dWMzUWdaWEp5Y3lBOUlIUm9hWE11YUdGelJYSnliM0p6S0NrN1hHNGdJQ0FnYVdZZ0tHVnljbk1wSUhSb2NtOTNJRzVsZHlCV1lXeHBaR0YwYVc5dVJYSnliM0lvWlhKeWN5azdYRzRnSUNBZ2NtVjBkWEp1SUhSb2FYTXVZblZwYkdSbGNuTXViV0Z3S0NoaUtTQTlQaUJpTG1KMWFXeGtLQ2twTzF4dUlDQjlYRzU5WEc0aVhYMD0iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./KibanaIndexBuilder.cjs"), exports);
|
|
18
|
+
__exportStar(require("./KibanaIndexBuilderCollection.cjs"), exports);
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMva2liYW5hL2J1aWxkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdDQUFxQztBQUNyQyxrREFBK0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9LaWJhbmFJbmRleEJ1aWxkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0tpYmFuYUluZGV4QnVpbGRlckNvbGxlY3Rpb25cIjtcbiJdfQ==
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMERBQXdDO0FBQ3hDLG9FQUFrRDtBQUNsRCxzWkFBc1oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9LaWJhbmFJbmRleEJ1aWxkZXIuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0tpYmFuYUluZGV4QnVpbGRlckNvbGxlY3Rpb24uanNcIjtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKMlpYSnphVzl1SWpvekxDSm1hV3hsSWpvaWFXNWtaWGd1YW5NaUxDSnpiM1Z5WTJWU2IyOTBJam9pSWl3aWMyOTFjbU5sY3lJNld5SXVMaTh1TGk4dUxpOHVMaTl6Y21NdmEybGlZVzVoTDJKMWFXeGtaWEp6TDJsdVpHVjRMblJ6SWwwc0ltNWhiV1Z6SWpwYlhTd2liV0Z3Y0dsdVozTWlPaUpCUVVGQkxIZERRVUZ4UXp0QlFVTnlReXhyUkVGQkswTWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpsZUhCdmNuUWdLaUJtY205dElGd2lMaTlMYVdKaGJtRkpibVJsZUVKMWFXeGtaWEpjSWp0Y2JtVjRjRzl5ZENBcUlHWnliMjBnWENJdUwwdHBZbUZ1WVVsdVpHVjRRblZwYkdSbGNrTnZiR3hsWTNScGIyNWNJanRjYmlKZGZRPT0iXX0=
|