@decaf-ts/integrations 0.5.1 → 0.6.1
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/dist/integrations.cjs +2 -2087
- package/dist/integrations.cjs.map +1 -0
- package/dist/integrations.js +2 -2356
- package/dist/integrations.js.map +1 -0
- package/docker/keycloak-broker-compose.yml +128 -0
- package/docker/traefik-broker.yml +51 -0
- package/eslint.config.js +1 -0
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/azure/AzureBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/azure/index.cjs +2 -2
- package/lib/cjs/blob/azure/index.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobErrors.cjs +2 -2
- package/lib/cjs/blob/core/BlobErrors.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobKey.cjs +2 -2
- package/lib/cjs/blob/core/BlobKey.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobStoreFactory.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreFactory.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/core/BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobTypes.cjs +2 -2
- package/lib/cjs/blob/core/BlobTypes.cjs.map +1 -0
- package/lib/cjs/blob/core/BlobValue.cjs +2 -2
- package/lib/cjs/blob/core/BlobValue.cjs.map +1 -0
- package/lib/cjs/blob/core/index.cjs +2 -2
- package/lib/cjs/blob/core/index.cjs.map +1 -0
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/gcp/GcsBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/gcp/index.cjs +2 -2
- package/lib/cjs/blob/gcp/index.cjs.map +1 -0
- package/lib/cjs/blob/index.cjs +2 -2
- package/lib/cjs/blob/index.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/ipfs/IpfsBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/IpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/LocalJsonIpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/MemoryIpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs +2 -2
- package/lib/cjs/blob/ipfs/PostgresIpfsKeyIndex.cjs.map +1 -0
- package/lib/cjs/blob/ipfs/index.cjs +2 -2
- package/lib/cjs/blob/ipfs/index.cjs.map +1 -0
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/local/LocalBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/local/index.cjs +2 -2
- package/lib/cjs/blob/local/index.cjs.map +1 -0
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/memory/MemoryBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/memory/index.cjs +2 -2
- package/lib/cjs/blob/memory/index.cjs.map +1 -0
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/MinioBlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/R2BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs +2 -2
- package/lib/cjs/blob/s3/S3BlobStoreService.cjs.map +1 -0
- package/lib/cjs/blob/s3/index.cjs +2 -2
- package/lib/cjs/blob/s3/index.cjs.map +1 -0
- package/lib/cjs/docker/DockerComposeService.cjs +2 -2
- package/lib/cjs/docker/DockerComposeService.cjs.map +1 -0
- package/lib/cjs/docker/index.cjs +2 -2
- package/lib/cjs/docker/index.cjs.map +1 -0
- package/lib/cjs/feature-flags/constants.cjs +2 -2
- package/lib/cjs/feature-flags/constants.cjs.map +1 -0
- package/lib/cjs/feature-flags/decorators.cjs +2 -2
- package/lib/cjs/feature-flags/decorators.cjs.map +1 -0
- package/lib/cjs/feature-flags/environment.cjs +2 -2
- package/lib/cjs/feature-flags/environment.cjs.map +1 -0
- package/lib/cjs/feature-flags/index.cjs +2 -2
- package/lib/cjs/feature-flags/index.cjs.map +1 -0
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlag.model.cjs.map +1 -0
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs +2 -2
- package/lib/cjs/feature-flags/models/FeatureFlagAccess.model.cjs.map +1 -0
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs +2 -2
- package/lib/cjs/feature-flags/readers/FeatureFlagReader.cjs.map +1 -0
- package/lib/cjs/feature-flags/readers/index.cjs +2 -2
- package/lib/cjs/feature-flags/readers/index.cjs.map +1 -0
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs +2 -2
- package/lib/cjs/feature-flags/services/FeatureFlag.service.cjs.map +1 -0
- package/lib/cjs/feature-flags/types.cjs +2 -2
- package/lib/cjs/feature-flags/types.cjs.map +1 -0
- package/lib/cjs/feature-flags/utils.cjs +2 -2
- package/lib/cjs/feature-flags/utils.cjs.map +1 -0
- package/lib/cjs/graph/engine/constants.cjs +2 -2
- package/lib/cjs/graph/engine/constants.cjs.map +1 -0
- package/lib/cjs/graph/engine/decorators.cjs +2 -2
- package/lib/cjs/graph/engine/decorators.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphBreakSignal.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphBreakSignal.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphCycleError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphCycleError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphExecutionError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphInputError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphInputError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphLoopLimitError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphPinningError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphPinningError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphPortError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphPortError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphStoreError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphStoreError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs +2 -2
- package/lib/cjs/graph/engine/errors/GraphTopologyError.cjs.map +1 -0
- package/lib/cjs/graph/engine/errors/index.cjs +2 -2
- package/lib/cjs/graph/engine/errors/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs +2 -2
- package/lib/cjs/graph/engine/events/GraphExecutionEvent.cjs.map +1 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs +2 -2
- package/lib/cjs/graph/engine/events/GraphExecutionEventEmitter.cjs.map +1 -0
- package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs +2 -2
- package/lib/cjs/graph/engine/events/GraphExecutionEventFactory.cjs.map +1 -0
- package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs +2 -2
- package/lib/cjs/graph/engine/events/GraphExecutionObserver.cjs.map +1 -0
- package/lib/cjs/graph/engine/events/index.cjs +2 -2
- package/lib/cjs/graph/engine/events/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs +5 -3
- package/lib/cjs/graph/engine/execution/BreakGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/execution/CodeGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs +2 -2
- package/lib/cjs/graph/engine/execution/CodeSandboxEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs +2 -2
- package/lib/cjs/graph/engine/execution/GraphExecutionContext.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs +2 -2
- package/lib/cjs/graph/engine/execution/GraphExecutionEngine.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs +2 -2
- package/lib/cjs/graph/engine/execution/GraphExecutionFrame.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs +2 -2
- package/lib/cjs/graph/engine/execution/GraphExecutionResult.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/execution/GraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs +2 -2
- package/lib/cjs/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/execution/LogGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/execution/SwitchGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/execution/index.cjs +2 -2
- package/lib/cjs/graph/engine/execution/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/index.cjs +2 -2
- package/lib/cjs/graph/engine/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs +2 -2
- package/lib/cjs/graph/engine/loops/ConditionExpressionEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs +3 -3
- package/lib/cjs/graph/engine/loops/ForeachGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs +2 -2
- package/lib/cjs/graph/engine/loops/GraphConditionEvaluator.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs +2 -2
- package/lib/cjs/graph/engine/loops/GraphLoopExecutionContext.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/loops/UntilGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs +2 -2
- package/lib/cjs/graph/engine/loops/WhileGraphNodeExecutor.cjs.map +1 -0
- package/lib/cjs/graph/engine/loops/index.cjs +2 -2
- package/lib/cjs/graph/engine/loops/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/GraphPinningDependencyResolver.cjs.map +1 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/GraphPinningMetadata.cjs.map +1 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/GraphPinningPolicy.cjs.map +1 -0
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/GraphPinningService.cjs.map +1 -0
- package/lib/cjs/graph/engine/pinning/index.cjs +2 -2
- package/lib/cjs/graph/engine/pinning/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlan.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanEdge.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanLayer.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanNode.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphExecutionPlanner.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphRelationResolver.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/GraphTopology.cjs +2 -2
- package/lib/cjs/graph/engine/planning/GraphTopology.cjs.map +1 -0
- package/lib/cjs/graph/engine/planning/index.cjs +2 -2
- package/lib/cjs/graph/engine/planning/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs +2 -2
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorRegistry.cjs.map +1 -0
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs +2 -2
- package/lib/cjs/graph/engine/registry/GraphNodeExecutorResolver.cjs.map +1 -0
- package/lib/cjs/graph/engine/registry/index.cjs +2 -2
- package/lib/cjs/graph/engine/registry/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs +2 -2
- package/lib/cjs/graph/engine/snapshots/GraphExecutionSnapshotMapper.cjs.map +1 -0
- package/lib/cjs/graph/engine/snapshots/index.cjs +2 -2
- package/lib/cjs/graph/engine/snapshots/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/GraphCachedValue.cjs +2 -2
- package/lib/cjs/graph/engine/store/GraphCachedValue.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/GraphValueKey.cjs +2 -2
- package/lib/cjs/graph/engine/store/GraphValueKey.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/GraphValueStore.cjs +2 -2
- package/lib/cjs/graph/engine/store/GraphValueStore.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs +2 -2
- package/lib/cjs/graph/engine/store/GraphValueStoreAdapter.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs +2 -2
- package/lib/cjs/graph/engine/store/InMemoryGraphValueStoreAdapter.cjs.map +1 -0
- package/lib/cjs/graph/engine/store/index.cjs +2 -2
- package/lib/cjs/graph/engine/store/index.cjs.map +1 -0
- package/lib/cjs/graph/engine/types.cjs +2 -2
- package/lib/cjs/graph/engine/types.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs +2 -2
- package/lib/cjs/graph/engine/validation/GraphDefinitionValidator.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs +2 -2
- package/lib/cjs/graph/engine/validation/GraphPortSchemaResolver.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs +2 -2
- package/lib/cjs/graph/engine/validation/GraphValueValidator.cjs.map +1 -0
- package/lib/cjs/graph/engine/validation/index.cjs +2 -2
- package/lib/cjs/graph/engine/validation/index.cjs.map +1 -0
- package/lib/cjs/graph/index.cjs +2 -2
- package/lib/cjs/graph/index.cjs.map +1 -0
- package/lib/cjs/graph/shared/constants.cjs +2 -2
- package/lib/cjs/graph/shared/constants.cjs.map +1 -0
- package/lib/cjs/graph/shared/index.cjs +2 -2
- package/lib/cjs/graph/shared/index.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/agent.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/agent.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/base.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/base.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/category-styles.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/category-styles.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/flow-control.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/flow-control.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/index.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/index.cjs.map +1 -0
- package/lib/cjs/graph/shared/nodes/triggers.cjs +2 -2
- package/lib/cjs/graph/shared/nodes/triggers.cjs.map +1 -0
- package/lib/cjs/graph/shared/types.cjs +2 -2
- package/lib/cjs/graph/shared/types.cjs.map +1 -0
- package/lib/cjs/index.cjs +5 -5
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/keycloak/broker.cjs +22 -0
- package/lib/cjs/keycloak/broker.cjs.map +1 -0
- package/lib/cjs/keycloak/index.cjs +3 -2
- package/lib/cjs/keycloak/index.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakAuthService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakClientService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs +71 -2
- package/lib/cjs/keycloak/services/KeycloakIdentityProviderService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRealmService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakRoleService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakService.cjs +6 -2
- package/lib/cjs/keycloak/services/KeycloakService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs +2 -2
- package/lib/cjs/keycloak/services/KeycloakUserService.cjs.map +1 -0
- package/lib/cjs/keycloak/services/index.cjs +2 -2
- package/lib/cjs/keycloak/services/index.cjs.map +1 -0
- package/lib/cjs/keycloak/services/runtime.cjs +2 -2
- package/lib/cjs/keycloak/services/runtime.cjs.map +1 -0
- package/lib/cjs/keycloak/types.cjs +2 -2
- package/lib/cjs/keycloak/types.cjs.map +1 -0
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilder.cjs.map +1 -0
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs +2 -2
- package/lib/cjs/kibana/builders/KibanaIndexBuilderCollection.cjs.map +1 -0
- package/lib/cjs/kibana/builders/index.cjs +2 -2
- package/lib/cjs/kibana/builders/index.cjs.map +1 -0
- package/lib/cjs/kibana/helpers.cjs +2 -2
- package/lib/cjs/kibana/helpers.cjs.map +1 -0
- package/lib/cjs/kibana/index.cjs +2 -2
- package/lib/cjs/kibana/index.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaAuthService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaAuthService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDashboardService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaDataViewService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaRoleService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaRoleService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaSpaceService.cjs.map +1 -0
- package/lib/cjs/kibana/services/KibanaUserService.cjs +2 -2
- package/lib/cjs/kibana/services/KibanaUserService.cjs.map +1 -0
- package/lib/cjs/kibana/services/index.cjs +2 -2
- package/lib/cjs/kibana/services/index.cjs.map +1 -0
- package/lib/cjs/kibana/services/runtime.cjs +2 -2
- package/lib/cjs/kibana/services/runtime.cjs.map +1 -0
- package/lib/cjs/kibana/types.cjs +2 -2
- package/lib/cjs/kibana/types.cjs.map +1 -0
- package/lib/cjs/loader/ObjectLoader.cjs +2 -2
- package/lib/cjs/loader/ObjectLoader.cjs.map +1 -0
- package/lib/cjs/loader/families.cjs +2 -2
- package/lib/cjs/loader/families.cjs.map +1 -0
- package/lib/cjs/loader/index.cjs +2 -2
- package/lib/cjs/loader/index.cjs.map +1 -0
- package/lib/cjs/loader/types.cjs +2 -2
- package/lib/cjs/loader/types.cjs.map +1 -0
- package/lib/cjs/namespaces/index.cjs +2 -2
- package/lib/cjs/namespaces/index.cjs.map +1 -0
- package/lib/cjs/namespaces/models/authorization-model.cjs +2 -2
- package/lib/cjs/namespaces/models/authorization-model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/effective-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/effective-permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/group-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/group.model.cjs +2 -2
- package/lib/cjs/namespaces/models/group.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/index.cjs +2 -2
- package/lib/cjs/namespaces/models/index.cjs.map +1 -0
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs +2 -2
- package/lib/cjs/namespaces/models/inheritance-block.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-closure.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit-profile.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/org-unit.model.cjs +2 -2
- package/lib/cjs/namespaces/models/org-unit.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/principal.model.cjs +2 -2
- package/lib/cjs/namespaces/models/principal.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/protected-resource.model.cjs +2 -2
- package/lib/cjs/namespaces/models/protected-resource.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/resource-grant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/resource-grant.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role-assignment.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-assignment.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role-permission.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role-permission.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/role.model.cjs +2 -2
- package/lib/cjs/namespaces/models/role.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/storage-binding.model.cjs +2 -2
- package/lib/cjs/namespaces/models/storage-binding.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-membership.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant-profile.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/tenant.model.cjs +2 -2
- package/lib/cjs/namespaces/models/tenant.model.cjs.map +1 -0
- package/lib/cjs/namespaces/models/user.model.cjs +2 -2
- package/lib/cjs/namespaces/models/user.model.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.models.cjs.map +1 -0
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs +2 -2
- package/lib/cjs/namespaces/org-based-authorization-system.services.cjs.map +1 -0
- package/lib/cjs/namespaces/services/authz.service.cjs +2 -2
- package/lib/cjs/namespaces/services/authz.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/bootstrap.service.cjs +2 -2
- package/lib/cjs/namespaces/services/bootstrap.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/effective-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/effective-permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/group-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/group.service.cjs +2 -2
- package/lib/cjs/namespaces/services/group.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/index.cjs +2 -2
- package/lib/cjs/namespaces/services/index.cjs.map +1 -0
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs +2 -2
- package/lib/cjs/namespaces/services/inheritance-block.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-closure.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit-profile.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/org-unit.service.cjs +2 -2
- package/lib/cjs/namespaces/services/org-unit.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/principal.service.cjs +2 -2
- package/lib/cjs/namespaces/services/principal.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/protected-resource.service.cjs +2 -2
- package/lib/cjs/namespaces/services/protected-resource.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/resource-grant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-grant.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs +2 -2
- package/lib/cjs/namespaces/services/resource-lifecycle.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role-assignment.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-assignment.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role-permission.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role-permission.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/role.service.cjs +2 -2
- package/lib/cjs/namespaces/services/role.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/storage-binding.service.cjs +2 -2
- package/lib/cjs/namespaces/services/storage-binding.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/system-management.service.cjs +2 -2
- package/lib/cjs/namespaces/services/system-management.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-membership.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant-profile.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/tenant.service.cjs +2 -2
- package/lib/cjs/namespaces/services/tenant.service.cjs.map +1 -0
- package/lib/cjs/namespaces/services/user.service.cjs +2 -2
- package/lib/cjs/namespaces/services/user.service.cjs.map +1 -0
- package/lib/cjs/namespaces/types.cjs +2 -2
- package/lib/cjs/namespaces/types.cjs.map +1 -0
- package/lib/cjs/namespaces/utils.cjs +2 -2
- package/lib/cjs/namespaces/utils.cjs.map +1 -0
- package/lib/cjs/nest/decorators.cjs +2 -2
- package/lib/cjs/nest/decorators.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphExecutionController.cjs +2 -2
- package/lib/cjs/nest/graph/GraphExecutionController.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs +2 -2
- package/lib/cjs/nest/graph/GraphExecutionModule.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs +2 -2
- package/lib/cjs/nest/graph/GraphExecutionResultModel.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs +2 -2
- package/lib/cjs/nest/graph/GraphExecutorRegistryFactory.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphResultService.cjs +2 -2
- package/lib/cjs/nest/graph/GraphResultService.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphWorkflowModel.cjs +2 -2
- package/lib/cjs/nest/graph/GraphWorkflowModel.cjs.map +1 -0
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs +2 -2
- package/lib/cjs/nest/graph/GraphWorkflowService.cjs.map +1 -0
- package/lib/cjs/nest/graph/index.cjs +2 -2
- package/lib/cjs/nest/graph/index.cjs.map +1 -0
- package/lib/cjs/nest/graph/main.cjs +2 -2
- package/lib/cjs/nest/graph/main.cjs.map +1 -0
- package/lib/cjs/nest/index.cjs +2 -2
- package/lib/cjs/nest/index.cjs.map +1 -0
- package/lib/cjs/nest/keycloakAuthHandler.cjs +2 -2
- package/lib/cjs/nest/keycloakAuthHandler.cjs.map +1 -0
- package/lib/cjs/nest/keycloakModule.cjs +2 -2
- package/lib/cjs/nest/keycloakModule.cjs.map +1 -0
- package/lib/cjs/nest/logging.cjs +2 -2
- package/lib/cjs/nest/logging.cjs.map +1 -0
- package/lib/cjs/nest/types.cjs +2 -2
- package/lib/cjs/nest/types.cjs.map +1 -0
- package/lib/cjs/nest/utils.cjs +2 -2
- package/lib/cjs/nest/utils.cjs.map +1 -0
- package/lib/cjs/plugins/contract.cjs +2 -2
- package/lib/cjs/plugins/contract.cjs.map +1 -0
- package/lib/cjs/plugins/index.cjs +2 -2
- package/lib/cjs/plugins/index.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/host.cjs +2 -2
- package/lib/cjs/plugins/kibana/host.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/index.cjs +2 -2
- package/lib/cjs/plugins/kibana/index.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/installer.cjs +2 -2
- package/lib/cjs/plugins/kibana/installer.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/manifest.cjs +2 -2
- package/lib/cjs/plugins/kibana/manifest.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/templates.cjs +2 -2
- package/lib/cjs/plugins/kibana/templates.cjs.map +1 -0
- package/lib/cjs/plugins/kibana/types.cjs +2 -2
- package/lib/cjs/plugins/kibana/types.cjs.map +1 -0
- package/lib/cjs/plugins/superset/host.cjs +2 -2
- package/lib/cjs/plugins/superset/host.cjs.map +1 -0
- package/lib/cjs/plugins/superset/index.cjs +2 -2
- package/lib/cjs/plugins/superset/index.cjs.map +1 -0
- package/lib/cjs/plugins/superset/installer.cjs +2 -2
- package/lib/cjs/plugins/superset/installer.cjs.map +1 -0
- package/lib/cjs/plugins/superset/manifest.cjs +2 -2
- package/lib/cjs/plugins/superset/manifest.cjs.map +1 -0
- package/lib/cjs/plugins/superset/templates.cjs +2 -2
- package/lib/cjs/plugins/superset/templates.cjs.map +1 -0
- package/lib/cjs/plugins/superset/types.cjs +2 -2
- package/lib/cjs/plugins/superset/types.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretService.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/aws/AwsSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/aws/index.cjs +2 -2
- package/lib/cjs/secrets/aws/index.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/azure/AzureKeyVaultSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/azure/index.cjs +2 -2
- package/lib/cjs/secrets/azure/index.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretErrors.cjs +2 -2
- package/lib/cjs/secrets/core/SecretErrors.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretName.cjs +2 -2
- package/lib/cjs/secrets/core/SecretName.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretReference.cjs +2 -2
- package/lib/cjs/secrets/core/SecretReference.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretSerialization.cjs +2 -2
- package/lib/cjs/secrets/core/SecretSerialization.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretService.cjs +2 -2
- package/lib/cjs/secrets/core/SecretService.cjs.map +1 -0
- package/lib/cjs/secrets/core/SecretTypes.cjs +2 -2
- package/lib/cjs/secrets/core/SecretTypes.cjs.map +1 -0
- package/lib/cjs/secrets/core/index.cjs +2 -2
- package/lib/cjs/secrets/core/index.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerService.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/gcp/GcpSecretManagerServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/gcp/index.cjs +2 -2
- package/lib/cjs/secrets/gcp/index.cjs.map +1 -0
- package/lib/cjs/secrets/index.cjs +2 -2
- package/lib/cjs/secrets/index.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretCrypto.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretService.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/model/ModelSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/model/Secret.cjs +2 -2
- package/lib/cjs/secrets/model/Secret.cjs.map +1 -0
- package/lib/cjs/secrets/model/index.cjs +2 -2
- package/lib/cjs/secrets/model/index.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/onepassword/OnePasswordSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/onepassword/index.cjs +2 -2
- package/lib/cjs/secrets/onepassword/index.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretService.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretService.cjs.map +1 -0
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs +2 -2
- package/lib/cjs/secrets/vault/VaultSecretServiceConfig.cjs.map +1 -0
- package/lib/cjs/secrets/vault/index.cjs +2 -2
- package/lib/cjs/secrets/vault/index.cjs.map +1 -0
- package/lib/cjs/shared/runtime.cjs +2 -2
- package/lib/cjs/shared/runtime.cjs.map +1 -0
- package/lib/cjs/utils.cjs +2 -2
- package/lib/cjs/utils.cjs.map +1 -0
- package/lib/esm/blob/azure/AzureBlobStoreService.js +1 -1
- package/lib/esm/blob/azure/AzureBlobStoreService.js.map +1 -0
- package/lib/esm/blob/azure/index.js +1 -1
- package/lib/esm/blob/azure/index.js.map +1 -0
- package/lib/esm/blob/core/BlobErrors.js +1 -1
- package/lib/esm/blob/core/BlobErrors.js.map +1 -0
- package/lib/esm/blob/core/BlobKey.js +1 -1
- package/lib/esm/blob/core/BlobKey.js.map +1 -0
- package/lib/esm/blob/core/BlobStoreFactory.js +1 -1
- package/lib/esm/blob/core/BlobStoreFactory.js.map +1 -0
- package/lib/esm/blob/core/BlobStoreService.js +1 -1
- package/lib/esm/blob/core/BlobStoreService.js.map +1 -0
- package/lib/esm/blob/core/BlobTypes.js +1 -1
- package/lib/esm/blob/core/BlobTypes.js.map +1 -0
- package/lib/esm/blob/core/BlobValue.js +1 -1
- package/lib/esm/blob/core/BlobValue.js.map +1 -0
- package/lib/esm/blob/core/index.js +1 -1
- package/lib/esm/blob/core/index.js.map +1 -0
- package/lib/esm/blob/gcp/GcsBlobStoreService.js +1 -1
- package/lib/esm/blob/gcp/GcsBlobStoreService.js.map +1 -0
- package/lib/esm/blob/gcp/index.js +1 -1
- package/lib/esm/blob/gcp/index.js.map +1 -0
- package/lib/esm/blob/index.js +1 -1
- package/lib/esm/blob/index.js.map +1 -0
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js +1 -1
- package/lib/esm/blob/ipfs/IpfsBlobStoreService.js.map +1 -0
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/IpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/LocalJsonIpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/MemoryIpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js +1 -1
- package/lib/esm/blob/ipfs/PostgresIpfsKeyIndex.js.map +1 -0
- package/lib/esm/blob/ipfs/index.js +1 -1
- package/lib/esm/blob/ipfs/index.js.map +1 -0
- package/lib/esm/blob/local/LocalBlobStoreService.js +1 -1
- package/lib/esm/blob/local/LocalBlobStoreService.js.map +1 -0
- package/lib/esm/blob/local/index.js +1 -1
- package/lib/esm/blob/local/index.js.map +1 -0
- package/lib/esm/blob/memory/MemoryBlobStoreService.js +1 -1
- package/lib/esm/blob/memory/MemoryBlobStoreService.js.map +1 -0
- package/lib/esm/blob/memory/index.js +1 -1
- package/lib/esm/blob/memory/index.js.map +1 -0
- package/lib/esm/blob/s3/MinioBlobStoreService.js +1 -1
- package/lib/esm/blob/s3/MinioBlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/R2BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/R2BlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/S3BlobStoreService.js +1 -1
- package/lib/esm/blob/s3/S3BlobStoreService.js.map +1 -0
- package/lib/esm/blob/s3/index.js +1 -1
- package/lib/esm/blob/s3/index.js.map +1 -0
- package/lib/esm/docker/DockerComposeService.js +1 -1
- package/lib/esm/docker/DockerComposeService.js.map +1 -0
- package/lib/esm/docker/index.js +1 -1
- package/lib/esm/docker/index.js.map +1 -0
- package/lib/esm/feature-flags/constants.js +1 -1
- package/lib/esm/feature-flags/constants.js.map +1 -0
- package/lib/esm/feature-flags/decorators.js +1 -1
- package/lib/esm/feature-flags/decorators.js.map +1 -0
- package/lib/esm/feature-flags/environment.js +1 -1
- package/lib/esm/feature-flags/environment.js.map +1 -0
- package/lib/esm/feature-flags/index.js +1 -1
- package/lib/esm/feature-flags/index.js.map +1 -0
- package/lib/esm/feature-flags/models/FeatureFlag.model.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlag.model.js.map +1 -0
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js +1 -1
- package/lib/esm/feature-flags/models/FeatureFlagAccess.model.js.map +1 -0
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js +1 -1
- package/lib/esm/feature-flags/readers/FeatureFlagReader.js.map +1 -0
- package/lib/esm/feature-flags/readers/index.js +1 -1
- package/lib/esm/feature-flags/readers/index.js.map +1 -0
- package/lib/esm/feature-flags/services/FeatureFlag.service.js +1 -1
- package/lib/esm/feature-flags/services/FeatureFlag.service.js.map +1 -0
- package/lib/esm/feature-flags/types.js +1 -1
- package/lib/esm/feature-flags/types.js.map +1 -0
- package/lib/esm/feature-flags/utils.js +1 -1
- package/lib/esm/feature-flags/utils.js.map +1 -0
- package/lib/esm/graph/engine/constants.js +1 -1
- package/lib/esm/graph/engine/constants.js.map +1 -0
- package/lib/esm/graph/engine/decorators.js +1 -1
- package/lib/esm/graph/engine/decorators.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphBreakSignal.js +1 -1
- package/lib/esm/graph/engine/errors/GraphBreakSignal.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphCycleError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphCycleError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphExecutionError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphExecutionError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphInputError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphInputError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphLoopLimitError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphLoopLimitError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphPinningError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphPinningError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphPortError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphPortError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphStoreError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphStoreError.js.map +1 -0
- package/lib/esm/graph/engine/errors/GraphTopologyError.js +1 -1
- package/lib/esm/graph/engine/errors/GraphTopologyError.js.map +1 -0
- package/lib/esm/graph/engine/errors/index.js +1 -1
- package/lib/esm/graph/engine/errors/index.js.map +1 -0
- package/lib/esm/graph/engine/events/GraphExecutionEvent.js +1 -1
- package/lib/esm/graph/engine/events/GraphExecutionEvent.js.map +1 -0
- package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js +1 -1
- package/lib/esm/graph/engine/events/GraphExecutionEventEmitter.js.map +1 -0
- package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js +1 -1
- package/lib/esm/graph/engine/events/GraphExecutionEventFactory.js.map +1 -0
- package/lib/esm/graph/engine/events/GraphExecutionObserver.js +1 -1
- package/lib/esm/graph/engine/events/GraphExecutionObserver.js.map +1 -0
- package/lib/esm/graph/engine/events/index.js +1 -1
- package/lib/esm/graph/engine/events/index.js.map +1 -0
- package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js +4 -2
- package/lib/esm/graph/engine/execution/BreakGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/execution/CodeGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js +1 -1
- package/lib/esm/graph/engine/execution/CodeSandboxEvaluator.js.map +1 -0
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionContext.js.map +1 -0
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionEngine.js.map +1 -0
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionFrame.js.map +1 -0
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js +1 -1
- package/lib/esm/graph/engine/execution/GraphExecutionResult.js.map +1 -0
- package/lib/esm/graph/engine/execution/GraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/execution/GraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js +1 -1
- package/lib/esm/graph/engine/execution/IsolatedVmCodeSandboxEvaluator.js.map +1 -0
- package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/execution/LogGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/execution/SwitchGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/execution/index.js +1 -1
- package/lib/esm/graph/engine/execution/index.js.map +1 -0
- package/lib/esm/graph/engine/index.js +1 -1
- package/lib/esm/graph/engine/index.js.map +1 -0
- package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js +1 -1
- package/lib/esm/graph/engine/loops/ConditionExpressionEvaluator.js.map +1 -0
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js +2 -2
- package/lib/esm/graph/engine/loops/ForeachGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js +1 -1
- package/lib/esm/graph/engine/loops/GraphConditionEvaluator.js.map +1 -0
- package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js +1 -1
- package/lib/esm/graph/engine/loops/GraphLoopExecutionContext.js.map +1 -0
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/loops/UntilGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js +1 -1
- package/lib/esm/graph/engine/loops/WhileGraphNodeExecutor.js.map +1 -0
- package/lib/esm/graph/engine/loops/index.js +1 -1
- package/lib/esm/graph/engine/loops/index.js.map +1 -0
- package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js +1 -1
- package/lib/esm/graph/engine/pinning/GraphPinningDependencyResolver.js.map +1 -0
- package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js +1 -1
- package/lib/esm/graph/engine/pinning/GraphPinningMetadata.js.map +1 -0
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js +1 -1
- package/lib/esm/graph/engine/pinning/GraphPinningPolicy.js.map +1 -0
- package/lib/esm/graph/engine/pinning/GraphPinningService.js +1 -1
- package/lib/esm/graph/engine/pinning/GraphPinningService.js.map +1 -0
- package/lib/esm/graph/engine/pinning/index.js +1 -1
- package/lib/esm/graph/engine/pinning/index.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlan.js +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlan.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanEdge.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanLayer.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanNode.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js +1 -1
- package/lib/esm/graph/engine/planning/GraphExecutionPlanner.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphRelationResolver.js +1 -1
- package/lib/esm/graph/engine/planning/GraphRelationResolver.js.map +1 -0
- package/lib/esm/graph/engine/planning/GraphTopology.js +1 -1
- package/lib/esm/graph/engine/planning/GraphTopology.js.map +1 -0
- package/lib/esm/graph/engine/planning/index.js +1 -1
- package/lib/esm/graph/engine/planning/index.js.map +1 -0
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js +1 -1
- package/lib/esm/graph/engine/registry/GraphNodeExecutorRegistry.js.map +1 -0
- package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js +1 -1
- package/lib/esm/graph/engine/registry/GraphNodeExecutorResolver.js.map +1 -0
- package/lib/esm/graph/engine/registry/index.js +1 -1
- package/lib/esm/graph/engine/registry/index.js.map +1 -0
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js +1 -1
- package/lib/esm/graph/engine/snapshots/GraphExecutionSnapshotMapper.js.map +1 -0
- package/lib/esm/graph/engine/snapshots/index.js +1 -1
- package/lib/esm/graph/engine/snapshots/index.js.map +1 -0
- package/lib/esm/graph/engine/store/GraphCachedValue.js +1 -1
- package/lib/esm/graph/engine/store/GraphCachedValue.js.map +1 -0
- package/lib/esm/graph/engine/store/GraphValueKey.js +1 -1
- package/lib/esm/graph/engine/store/GraphValueKey.js.map +1 -0
- package/lib/esm/graph/engine/store/GraphValueStore.js +1 -1
- package/lib/esm/graph/engine/store/GraphValueStore.js.map +1 -0
- package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js +1 -1
- package/lib/esm/graph/engine/store/GraphValueStoreAdapter.js.map +1 -0
- package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js +1 -1
- package/lib/esm/graph/engine/store/InMemoryGraphValueStoreAdapter.js.map +1 -0
- package/lib/esm/graph/engine/store/index.js +1 -1
- package/lib/esm/graph/engine/store/index.js.map +1 -0
- package/lib/esm/graph/engine/types.js +1 -1
- package/lib/esm/graph/engine/types.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js +1 -1
- package/lib/esm/graph/engine/validation/GraphDefinitionValidator.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js +1 -1
- package/lib/esm/graph/engine/validation/GraphPortSchemaResolver.js.map +1 -0
- package/lib/esm/graph/engine/validation/GraphValueValidator.js +1 -1
- package/lib/esm/graph/engine/validation/GraphValueValidator.js.map +1 -0
- package/lib/esm/graph/engine/validation/index.js +1 -1
- package/lib/esm/graph/engine/validation/index.js.map +1 -0
- package/lib/esm/graph/index.js +1 -1
- package/lib/esm/graph/index.js.map +1 -0
- package/lib/esm/graph/shared/constants.js +1 -1
- package/lib/esm/graph/shared/constants.js.map +1 -0
- package/lib/esm/graph/shared/index.js +1 -1
- package/lib/esm/graph/shared/index.js.map +1 -0
- package/lib/esm/graph/shared/nodes/agent.js +1 -1
- package/lib/esm/graph/shared/nodes/agent.js.map +1 -0
- package/lib/esm/graph/shared/nodes/base.js +1 -1
- package/lib/esm/graph/shared/nodes/base.js.map +1 -0
- package/lib/esm/graph/shared/nodes/category-styles.js +1 -1
- package/lib/esm/graph/shared/nodes/category-styles.js.map +1 -0
- package/lib/esm/graph/shared/nodes/flow-control.js +1 -1
- package/lib/esm/graph/shared/nodes/flow-control.js.map +1 -0
- package/lib/esm/graph/shared/nodes/index.js +1 -1
- package/lib/esm/graph/shared/nodes/index.js.map +1 -0
- package/lib/esm/graph/shared/nodes/triggers.js +1 -1
- package/lib/esm/graph/shared/nodes/triggers.js.map +1 -0
- package/lib/esm/graph/shared/types.js +1 -1
- package/lib/esm/graph/shared/types.js.map +1 -0
- package/lib/esm/index.js +4 -4
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/keycloak/broker.js +17 -0
- package/lib/esm/keycloak/broker.js.map +1 -0
- package/lib/esm/keycloak/index.js +2 -1
- package/lib/esm/keycloak/index.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakAuthService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakAuthService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakClientService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakClientService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js +69 -1
- package/lib/esm/keycloak/services/KeycloakIdentityProviderService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakRealmService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRealmService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakRoleService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakRoleService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakService.js +5 -1
- package/lib/esm/keycloak/services/KeycloakService.js.map +1 -0
- package/lib/esm/keycloak/services/KeycloakUserService.js +1 -1
- package/lib/esm/keycloak/services/KeycloakUserService.js.map +1 -0
- package/lib/esm/keycloak/services/index.js +1 -1
- package/lib/esm/keycloak/services/index.js.map +1 -0
- package/lib/esm/keycloak/services/runtime.js +1 -1
- package/lib/esm/keycloak/services/runtime.js.map +1 -0
- package/lib/esm/keycloak/types.js +1 -1
- package/lib/esm/keycloak/types.js.map +1 -0
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilder.js.map +1 -0
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js +1 -1
- package/lib/esm/kibana/builders/KibanaIndexBuilderCollection.js.map +1 -0
- package/lib/esm/kibana/builders/index.js +1 -1
- package/lib/esm/kibana/builders/index.js.map +1 -0
- package/lib/esm/kibana/helpers.js +1 -1
- package/lib/esm/kibana/helpers.js.map +1 -0
- package/lib/esm/kibana/index.js +1 -1
- package/lib/esm/kibana/index.js.map +1 -0
- package/lib/esm/kibana/services/KibanaAuthService.js +1 -1
- package/lib/esm/kibana/services/KibanaAuthService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaDashboardService.js +1 -1
- package/lib/esm/kibana/services/KibanaDashboardService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaDataViewService.js +1 -1
- package/lib/esm/kibana/services/KibanaDataViewService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaRoleService.js +1 -1
- package/lib/esm/kibana/services/KibanaRoleService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaService.js +1 -1
- package/lib/esm/kibana/services/KibanaService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaSpaceService.js +1 -1
- package/lib/esm/kibana/services/KibanaSpaceService.js.map +1 -0
- package/lib/esm/kibana/services/KibanaUserService.js +1 -1
- package/lib/esm/kibana/services/KibanaUserService.js.map +1 -0
- package/lib/esm/kibana/services/index.js +1 -1
- package/lib/esm/kibana/services/index.js.map +1 -0
- package/lib/esm/kibana/services/runtime.js +1 -1
- package/lib/esm/kibana/services/runtime.js.map +1 -0
- package/lib/esm/kibana/types.js +1 -1
- package/lib/esm/kibana/types.js.map +1 -0
- package/lib/esm/loader/ObjectLoader.js +1 -1
- package/lib/esm/loader/ObjectLoader.js.map +1 -0
- package/lib/esm/loader/families.js +1 -1
- package/lib/esm/loader/families.js.map +1 -0
- package/lib/esm/loader/index.js +1 -1
- package/lib/esm/loader/index.js.map +1 -0
- package/lib/esm/loader/types.js +1 -1
- package/lib/esm/loader/types.js.map +1 -0
- package/lib/esm/namespaces/index.js +1 -1
- package/lib/esm/namespaces/index.js.map +1 -0
- package/lib/esm/namespaces/models/authorization-model.js +1 -1
- package/lib/esm/namespaces/models/authorization-model.js.map +1 -0
- package/lib/esm/namespaces/models/effective-permission.model.js +1 -1
- package/lib/esm/namespaces/models/effective-permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/group-membership.model.js +1 -1
- package/lib/esm/namespaces/models/group-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/group.model.js +1 -1
- package/lib/esm/namespaces/models/group.model.js.map +1 -0
- package/lib/esm/namespaces/models/index.js +1 -1
- package/lib/esm/namespaces/models/index.js.map +1 -0
- package/lib/esm/namespaces/models/inheritance-block.model.js +1 -1
- package/lib/esm/namespaces/models/inheritance-block.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-closure.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-closure.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-membership.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit-profile.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit-profile.model.js.map +1 -0
- package/lib/esm/namespaces/models/org-unit.model.js +1 -1
- package/lib/esm/namespaces/models/org-unit.model.js.map +1 -0
- package/lib/esm/namespaces/models/permission.model.js +1 -1
- package/lib/esm/namespaces/models/permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/principal.model.js +1 -1
- package/lib/esm/namespaces/models/principal.model.js.map +1 -0
- package/lib/esm/namespaces/models/protected-resource.model.js +1 -1
- package/lib/esm/namespaces/models/protected-resource.model.js.map +1 -0
- package/lib/esm/namespaces/models/resource-grant.model.js +1 -1
- package/lib/esm/namespaces/models/resource-grant.model.js.map +1 -0
- package/lib/esm/namespaces/models/role-assignment.model.js +1 -1
- package/lib/esm/namespaces/models/role-assignment.model.js.map +1 -0
- package/lib/esm/namespaces/models/role-permission.model.js +1 -1
- package/lib/esm/namespaces/models/role-permission.model.js.map +1 -0
- package/lib/esm/namespaces/models/role.model.js +1 -1
- package/lib/esm/namespaces/models/role.model.js.map +1 -0
- package/lib/esm/namespaces/models/storage-binding.model.js +1 -1
- package/lib/esm/namespaces/models/storage-binding.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant-membership.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-membership.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant-profile.model.js +1 -1
- package/lib/esm/namespaces/models/tenant-profile.model.js.map +1 -0
- package/lib/esm/namespaces/models/tenant.model.js +1 -1
- package/lib/esm/namespaces/models/tenant.model.js.map +1 -0
- package/lib/esm/namespaces/models/user.model.js +1 -1
- package/lib/esm/namespaces/models/user.model.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.models.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.models.js.map +1 -0
- package/lib/esm/namespaces/org-based-authorization-system.services.js +1 -1
- package/lib/esm/namespaces/org-based-authorization-system.services.js.map +1 -0
- package/lib/esm/namespaces/services/authz.service.js +1 -1
- package/lib/esm/namespaces/services/authz.service.js.map +1 -0
- package/lib/esm/namespaces/services/bootstrap.service.js +1 -1
- package/lib/esm/namespaces/services/bootstrap.service.js.map +1 -0
- package/lib/esm/namespaces/services/effective-permission.service.js +1 -1
- package/lib/esm/namespaces/services/effective-permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/group-membership.service.js +1 -1
- package/lib/esm/namespaces/services/group-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/group.service.js +1 -1
- package/lib/esm/namespaces/services/group.service.js.map +1 -0
- package/lib/esm/namespaces/services/index.js +1 -1
- package/lib/esm/namespaces/services/index.js.map +1 -0
- package/lib/esm/namespaces/services/inheritance-block.service.js +1 -1
- package/lib/esm/namespaces/services/inheritance-block.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-closure.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-closure.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-membership.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit-profile.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit-profile.service.js.map +1 -0
- package/lib/esm/namespaces/services/org-unit.service.js +1 -1
- package/lib/esm/namespaces/services/org-unit.service.js.map +1 -0
- package/lib/esm/namespaces/services/permission.service.js +1 -1
- package/lib/esm/namespaces/services/permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/principal.service.js +1 -1
- package/lib/esm/namespaces/services/principal.service.js.map +1 -0
- package/lib/esm/namespaces/services/protected-resource.service.js +1 -1
- package/lib/esm/namespaces/services/protected-resource.service.js.map +1 -0
- package/lib/esm/namespaces/services/resource-grant.service.js +1 -1
- package/lib/esm/namespaces/services/resource-grant.service.js.map +1 -0
- package/lib/esm/namespaces/services/resource-lifecycle.service.js +1 -1
- package/lib/esm/namespaces/services/resource-lifecycle.service.js.map +1 -0
- package/lib/esm/namespaces/services/role-assignment.service.js +1 -1
- package/lib/esm/namespaces/services/role-assignment.service.js.map +1 -0
- package/lib/esm/namespaces/services/role-permission.service.js +1 -1
- package/lib/esm/namespaces/services/role-permission.service.js.map +1 -0
- package/lib/esm/namespaces/services/role.service.js +1 -1
- package/lib/esm/namespaces/services/role.service.js.map +1 -0
- package/lib/esm/namespaces/services/storage-binding.service.js +1 -1
- package/lib/esm/namespaces/services/storage-binding.service.js.map +1 -0
- package/lib/esm/namespaces/services/system-management.service.js +1 -1
- package/lib/esm/namespaces/services/system-management.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant-membership.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-membership.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant-profile.service.js +1 -1
- package/lib/esm/namespaces/services/tenant-profile.service.js.map +1 -0
- package/lib/esm/namespaces/services/tenant.service.js +1 -1
- package/lib/esm/namespaces/services/tenant.service.js.map +1 -0
- package/lib/esm/namespaces/services/user.service.js +1 -1
- package/lib/esm/namespaces/services/user.service.js.map +1 -0
- package/lib/esm/namespaces/types.js +1 -1
- package/lib/esm/namespaces/types.js.map +1 -0
- package/lib/esm/namespaces/utils.js +1 -1
- package/lib/esm/namespaces/utils.js.map +1 -0
- package/lib/esm/nest/decorators.js +1 -1
- package/lib/esm/nest/decorators.js.map +1 -0
- package/lib/esm/nest/graph/GraphExecutionController.js +1 -1
- package/lib/esm/nest/graph/GraphExecutionController.js.map +1 -0
- package/lib/esm/nest/graph/GraphExecutionModule.js +1 -1
- package/lib/esm/nest/graph/GraphExecutionModule.js.map +1 -0
- package/lib/esm/nest/graph/GraphExecutionResultModel.js +1 -1
- package/lib/esm/nest/graph/GraphExecutionResultModel.js.map +1 -0
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js +1 -1
- package/lib/esm/nest/graph/GraphExecutorRegistryFactory.js.map +1 -0
- package/lib/esm/nest/graph/GraphResultService.js +1 -1
- package/lib/esm/nest/graph/GraphResultService.js.map +1 -0
- package/lib/esm/nest/graph/GraphWorkflowModel.js +1 -1
- package/lib/esm/nest/graph/GraphWorkflowModel.js.map +1 -0
- package/lib/esm/nest/graph/GraphWorkflowService.js +1 -1
- package/lib/esm/nest/graph/GraphWorkflowService.js.map +1 -0
- package/lib/esm/nest/graph/index.js +1 -1
- package/lib/esm/nest/graph/index.js.map +1 -0
- package/lib/esm/nest/graph/main.js +1 -1
- package/lib/esm/nest/graph/main.js.map +1 -0
- package/lib/esm/nest/index.js +1 -1
- package/lib/esm/nest/index.js.map +1 -0
- package/lib/esm/nest/keycloakAuthHandler.js +1 -1
- package/lib/esm/nest/keycloakAuthHandler.js.map +1 -0
- package/lib/esm/nest/keycloakModule.js +1 -1
- package/lib/esm/nest/keycloakModule.js.map +1 -0
- package/lib/esm/nest/logging.js +1 -1
- package/lib/esm/nest/logging.js.map +1 -0
- package/lib/esm/nest/types.js +1 -1
- package/lib/esm/nest/types.js.map +1 -0
- package/lib/esm/nest/utils.js +1 -1
- package/lib/esm/nest/utils.js.map +1 -0
- package/lib/esm/plugins/contract.js +1 -1
- package/lib/esm/plugins/contract.js.map +1 -0
- package/lib/esm/plugins/index.js +1 -1
- package/lib/esm/plugins/index.js.map +1 -0
- package/lib/esm/plugins/kibana/host.js +1 -1
- package/lib/esm/plugins/kibana/host.js.map +1 -0
- package/lib/esm/plugins/kibana/index.js +1 -1
- package/lib/esm/plugins/kibana/index.js.map +1 -0
- package/lib/esm/plugins/kibana/installer.js +1 -1
- package/lib/esm/plugins/kibana/installer.js.map +1 -0
- package/lib/esm/plugins/kibana/manifest.js +1 -1
- package/lib/esm/plugins/kibana/manifest.js.map +1 -0
- package/lib/esm/plugins/kibana/templates.js +1 -1
- package/lib/esm/plugins/kibana/templates.js.map +1 -0
- package/lib/esm/plugins/kibana/types.js +1 -1
- package/lib/esm/plugins/kibana/types.js.map +1 -0
- package/lib/esm/plugins/superset/host.js +1 -1
- package/lib/esm/plugins/superset/host.js.map +1 -0
- package/lib/esm/plugins/superset/index.js +1 -1
- package/lib/esm/plugins/superset/index.js.map +1 -0
- package/lib/esm/plugins/superset/installer.js +1 -1
- package/lib/esm/plugins/superset/installer.js.map +1 -0
- package/lib/esm/plugins/superset/manifest.js +1 -1
- package/lib/esm/plugins/superset/manifest.js.map +1 -0
- package/lib/esm/plugins/superset/templates.js +1 -1
- package/lib/esm/plugins/superset/templates.js.map +1 -0
- package/lib/esm/plugins/superset/types.js +1 -1
- package/lib/esm/plugins/superset/types.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretService.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretService.js.map +1 -0
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/aws/AwsSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/aws/index.js +1 -1
- package/lib/esm/secrets/aws/index.js.map +1 -0
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretService.js.map +1 -0
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/azure/AzureKeyVaultSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/azure/index.js +1 -1
- package/lib/esm/secrets/azure/index.js.map +1 -0
- package/lib/esm/secrets/core/SecretErrors.js +1 -1
- package/lib/esm/secrets/core/SecretErrors.js.map +1 -0
- package/lib/esm/secrets/core/SecretName.js +1 -1
- package/lib/esm/secrets/core/SecretName.js.map +1 -0
- package/lib/esm/secrets/core/SecretReference.js +1 -1
- package/lib/esm/secrets/core/SecretReference.js.map +1 -0
- package/lib/esm/secrets/core/SecretSerialization.js +1 -1
- package/lib/esm/secrets/core/SecretSerialization.js.map +1 -0
- package/lib/esm/secrets/core/SecretService.js +1 -1
- package/lib/esm/secrets/core/SecretService.js.map +1 -0
- package/lib/esm/secrets/core/SecretTypes.js +1 -1
- package/lib/esm/secrets/core/SecretTypes.js.map +1 -0
- package/lib/esm/secrets/core/index.js +1 -1
- package/lib/esm/secrets/core/index.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerService.js.map +1 -0
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js +1 -1
- package/lib/esm/secrets/gcp/GcpSecretManagerServiceConfig.js.map +1 -0
- package/lib/esm/secrets/gcp/index.js +1 -1
- package/lib/esm/secrets/gcp/index.js.map +1 -0
- package/lib/esm/secrets/index.js +1 -1
- package/lib/esm/secrets/index.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretCrypto.js +1 -1
- package/lib/esm/secrets/model/ModelSecretCrypto.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretService.js +1 -1
- package/lib/esm/secrets/model/ModelSecretService.js.map +1 -0
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/model/ModelSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/model/Secret.js +1 -1
- package/lib/esm/secrets/model/Secret.js.map +1 -0
- package/lib/esm/secrets/model/index.js +1 -1
- package/lib/esm/secrets/model/index.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretService.js.map +1 -0
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/onepassword/OnePasswordSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/onepassword/index.js +1 -1
- package/lib/esm/secrets/onepassword/index.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretService.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretService.js.map +1 -0
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js +1 -1
- package/lib/esm/secrets/vault/VaultSecretServiceConfig.js.map +1 -0
- package/lib/esm/secrets/vault/index.js +1 -1
- package/lib/esm/secrets/vault/index.js.map +1 -0
- package/lib/esm/shared/runtime.js +1 -1
- package/lib/esm/shared/runtime.js.map +1 -0
- package/lib/esm/utils.js +1 -1
- package/lib/esm/utils.js.map +1 -0
- package/lib/types/index.d.cts +2 -2
- package/lib/types/index.d.mts +2 -2
- package/lib/types/keycloak/broker.d.cts +6 -0
- package/lib/types/keycloak/broker.d.mts +6 -0
- package/lib/types/keycloak/index.d.cts +1 -0
- package/lib/types/keycloak/index.d.mts +1 -0
- package/lib/types/keycloak/services/KeycloakIdentityProviderService.d.cts +4 -1
- package/lib/types/keycloak/services/KeycloakIdentityProviderService.d.mts +4 -1
- package/lib/types/keycloak/services/KeycloakService.d.cts +2 -1
- package/lib/types/keycloak/services/KeycloakService.d.mts +2 -1
- package/lib/types/keycloak/types.d.cts +52 -0
- package/lib/types/keycloak/types.d.mts +52 -0
- package/package.json +8 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins/contract.cjs","sourceRoot":"","sources":["plugins/contract.js"],"names":[],"mappings":";;;AAeA,4DAQC;AAID,oDAQC;AAID,oEASC;AAQD,gEAUC;AAlED,yCAAkD;AAClD;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAC9B,MAAM,EAAE,sCAAsC;IAC9C,KAAK,EAAE,2BAA2B;IAClC,QAAQ,EAAE,8BAA8B;IACxC,KAAK,EAAE,2BAA2B;CACrC,CAAC;AACF;;GAEG;AACH,SAAgB,wBAAwB,CAAC,IAAI;IACzC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,0BAAkB,CAAC,MAAM;QAC1C,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;QACnC,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC;AACD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,IAAI;IACrC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,IAAI,KAAK,0BAAkB,CAAC,KAAK;QACzC,GAAG,CAAC,IAAI,KAAK,0BAAkB,CAAC,QAAQ;QACxC,GAAG,CAAC,IAAI,KAAK,0BAAkB,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AACD;;GAEG;AACH,SAAgB,4BAA4B,CAAC,OAAO;IAChD,OAAO;QACH,IAAI,EAAE,0BAAkB,CAAC,MAAM;QAC/B,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,UAAU,EAAE,OAAO,CAAC,UAAU;KACjC,CAAC;AACN,CAAC;AACD;;;;;;GAMG;AACH,SAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY;IACpE,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;QAC/C,KAAK,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACrE,OAAO;IACX,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QAC3C,MAAM,CAAC,WAAW,CAAC,4BAA4B,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC,CAAC;QACxE,OAAO;IACX,CAAC;IACD,MAAM,IAAI,uBAAgB,CAAC,uEAAuE,CAAC,CAAC;AACxG,CAAC;AACD,oCAAoC"}
|
|
@@ -31,5 +31,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
31
31
|
__exportStar(require("./contract.cjs"), exports);
|
|
32
32
|
__exportStar(require("./kibana/index.cjs"), exports);
|
|
33
33
|
__exportStar(require("./superset/index.cjs"), exports);
|
|
34
|
-
//# sourceMappingURL=
|
|
35
|
-
//# sourceMappingURL=
|
|
34
|
+
//# sourceMappingURL=index.js.map
|
|
35
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins/index.cjs","sourceRoot":"","sources":["plugins/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;GAaG;AACH,gDAA8B;AAC9B,oDAAkC;AAClC,sDAAoC;AACpC,iCAAiC"}
|
|
@@ -20,5 +20,5 @@ Object.defineProperty(exports, "buildKibanaEmbedUrl", { enumerable: true, get: f
|
|
|
20
20
|
function sendKibanaSwitchDashboardMessage(target, payload, targetOrigin) {
|
|
21
21
|
(0, contract_js_1.sendSwitchDashboardMessage)(target, payload, targetOrigin);
|
|
22
22
|
}
|
|
23
|
-
//# sourceMappingURL=
|
|
24
|
-
//# sourceMappingURL=
|
|
23
|
+
//# sourceMappingURL=host.js.map
|
|
24
|
+
//# sourceMappingURL=host.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins/kibana/host.cjs","sourceRoot":"","sources":["plugins/kibana/host.js"],"names":[],"mappings":";;;AAeA,4EAEC;AAjBD;;;;;GAKG;AACH,kDAA6E;AAC7E,iDAAqD;AAC5C,oGADA,kCAAmB,OACA;AAC5B;;;;;GAKG;AACH,SAAgB,gCAAgC,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY;IAC1E,IAAA,wCAAU,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC;AACD,gCAAgC"}
|
|
@@ -34,5 +34,5 @@ Object.defineProperty(exports, "buildKibanaEmbedUrl", { enumerable: true, get: f
|
|
|
34
34
|
Object.defineProperty(exports, "KIBANA_DEFAULT_BASE_PATH", { enumerable: true, get: function () { return installer_js_1.KIBANA_DEFAULT_BASE_PATH; } });
|
|
35
35
|
var host_js_1 = require("./host.cjs");
|
|
36
36
|
Object.defineProperty(exports, "sendKibanaSwitchDashboardMessage", { enumerable: true, get: function () { return host_js_1.sendKibanaSwitchDashboardMessage; } });
|
|
37
|
-
//# sourceMappingURL=
|
|
38
|
-
//# sourceMappingURL=
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
38
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins/kibana/index.cjs","sourceRoot":"","sources":["plugins/kibana/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;GAMG;AACH,mDAAiC;AACjC,6CAA2B;AAC3B,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAA0K;AAAjK,0HAAA,0BAA0B,OAAA;AAAE,0HAAA,0BAA0B,OAAA;AAAE,gIAAA,gCAAgC,OAAA;AAAE,mHAAA,mBAAmB,OAAA;AAAE,wHAAA,wBAAwB,OAAA;AAChJ,qCAA8D;AAArD,2HAAA,gCAAgC,OAAA;AACzC,iCAAiC"}
|
|
@@ -176,5 +176,5 @@ exports.kibanaDashboardEmbedPlugin = new KibanaDashboardEmbedPlugin();
|
|
|
176
176
|
function createKibanaDashboardEmbedPlugin(targetVersion) {
|
|
177
177
|
return new KibanaDashboardEmbedPlugin(targetVersion);
|
|
178
178
|
}
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbnMva2liYW5hL2luc3RhbGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBc0IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QixPQUFPLEtBQUssSUFBSSxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFOUMsT0FBTyxFQUNMLDRCQUE0QixFQUM1QiwwQkFBMEIsR0FTM0IseUJBQW9CO0FBQ3JCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLHFCQUFxQixFQUNyQixtQkFBbUIsR0FDcEIsc0JBQW1CO0FBQ3BCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSx1QkFBb0I7QUFFaEQsc0RBQXNEO0FBQ3RELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLFFBQVEsQ0FBQztBQUVqRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsT0FBd0I7SUFDMUQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSx3QkFBd0IsQ0FBQztJQUM5RCxNQUFNLE1BQU0sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO0lBQ3JDLE1BQU0sQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDakQsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBQzVCLE1BQU0sQ0FBQyxHQUFHLENB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O29CQUNWLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztvQkFDeEQsT0FBTztnQkFDVCxDQUFDO2dCQUNELE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUNoQyxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGO0FBRUQsa0NBQWtDO0FBQ2xDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLElBQUksMEJBQTBCLEVBQUUsQ0FBQztBQUUzRSxpREFBaUQ7QUFDakQsTUFBTSxVQUFVLGdDQUFnQyxDQUM5QyxhQUFxQjtJQUVyQixPQUFPLElBQUksMEJBQTBCLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQG1vZHVsZSBpbnRlZ3JhdGlvbnMvcGx1Z2lucy9raWJhbmEvaW5zdGFsbGVyXG4gKiBAc3VtbWFyeSBLaWJhbmEgZGFzaGJvYXJkIGVtYmVkIHBsdWdpbiBpbnN0YWxsZXIuXG4gKiBAZGVzY3JpcHRpb24gSW1wbGVtZW50cyBgRGFzaGJvYXJkRW1iZWRQbHVnaW5gIGZvciBLaWJhbmE6IGJ1aWxkcyB0aGUgc3RhYmxlXG4gKiBpZnJhbWUgZW1iZWQgVVJMLCBjcmVhdGVzL3NlbmRzIHN3aXRjaC1kYXNoYm9hcmQgbWVzc2FnZXMsIGFuZCBtYXRlcmlhbGl6ZXNcbiAqIHRoZSBnZW5lcmF0ZWQgcGx1Z2luIHNvdXJjZSBpbnRvIGEgdGFyZ2V0IGRpcmVjdG9yeSAob3B0aW9uYWxseSBidWlsZGluZyBpdCkuXG4gKlxuICogVGhlIHBsdWdpbiBpcyBvcmctYWdub3N0aWM6IHRoZXJlIGlzIG5ldmVyIHNwYWNlIHN3aXRjaGluZy4gVGhlIGN1cnJlbnRcbiAqIEtpYmFuYSBzcGFjZSBjb21lcyBmcm9tIHRoZSByZXF1ZXN0L3Nlc3Npb24vcHJveHkgY29udGV4dCwgbm90IGZyb20gdGhlXG4gKiBwbHVnaW4sIHNvIHRoZSBzYW1lIHBsdWdpbiBzZXJ2ZXMgZXZlcnkgb3JnLlxuICovXG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBVbnN1cHBvcnRlZEVycm9yLCBNYXliZUNvbnRleHR1YWxBcmcgfSBmcm9tIFwiQGRlY2FmLXRzL2NvcmVcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcbmltcG9ydCB7IGV4ZWNGaWxlIH0gZnJvbSBcIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO1xuXG5pbXBvcnQge1xuICBjcmVhdGVTd2l0Y2hEYXNoYm9hcmRNZXNzYWdlLFxuICBzZW5kU3dpdGNoRGFzaGJvYXJkTWVzc2FnZSxcbiAgdHlwZSBEYXNoYm9hcmRFbWJlZFBsdWdpbixcbiAgdHlwZSBEYXNoYm9hcmRFbWJlZFBsdWdpbkRlc2NyaXB0b3IsXG4gIHR5cGUgRW1iZWRVcmxPcHRpb25zLFxuICB0eXBlIFBsdWdpbkluc3RhbGxPcHRpb25zLFxuICB0eXBlIFBsdWdpbkluc3RhbGxSZXN1bHQsXG4gIHR5cGUgU3dpdGNoRGFzaGJvYXJkUGF5bG9hZCxcbiAgdHlwZSBTd2l0Y2hEYXNoYm9hcmRNZXNzYWdlLFxuICB0eXBlIEVtYmVkTWVzc2FnZVRhcmdldCxcbn0gZnJvbSBcIi4uL2NvbnRyYWN0XCI7XG5pbXBvcnQge1xuICBLSUJBTkFfQVBQX0lELFxuICBLSUJBTkFfUExVR0lOX0lELFxuICBLSUJBTkFfUExVR0lOX1ZFUlNJT04sXG4gIGJ1aWxkS2liYW5hTWFuaWZlc3QsXG59IGZyb20gXCIuL21hbmlmZXN0XCI7XG5pbXBvcnQgeyBraWJhbmFQbHVnaW5GaWxlcyB9IGZyb20gXCIuL3RlbXBsYXRlc1wiO1xuXG4vKiogRGVmYXVsdCBLaWJhbmEgYmFzZSBwYXRoIHdoZW4gbm9uZSBpcyBwcm92aWRlZC4gKi9cbmV4cG9ydCBjb25zdCBLSUJBTkFfREVGQVVMVF9CQVNFX1BBVEggPSBcImtpYmFuYVwiO1xuXG4vKipcbiAqIEJ1aWxkIHRoZSBzdGFibGUgS2liYW5hIGVtYmVkIGlmcmFtZSBVUkwuXG4gKlxuICogQGV4YW1wbGVcbiAqICAgYnVpbGRLaWJhbmFFbWJlZFVybCh7IGhvc3Q6IFwicHRwLmhvc3RcIiwgZGFzaGJvYXJkSWQ6IFwiYWJjXCIsIHBhcmVudE9yaWdpbjogXCJodHRwczovL2FwcC5leGFtcGxlLmNvbVwiIH0pXG4gKiAgIC8vID0+IFwiLy9wdHAuaG9zdC9raWJhbmEvYXBwL29yZ19kYXNoYm9hcmRfZW1iZWQ/ZGFzaGJvYXJkSWQ9YWJjJnBhcmVudE9yaWdpbj1odHRwcyUzQSUyRiUyRmFwcC5leGFtcGxlLmNvbVwiXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZEtpYmFuYUVtYmVkVXJsKG9wdGlvbnM6IEVtYmVkVXJsT3B0aW9ucyk6IHN0cmluZyB7XG4gIGNvbnN0IGJhc2VQYXRoID0gb3B0aW9ucy5iYXNlUGF0aCA/PyBLSUJBTkFfREVGQVVMVF9CQVNFX1BBVEg7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgcGFyYW1zLnNldChcImRhc2hib2FyZElkXCIsIG9wdGlvbnMuZGFzaGJvYXJkSWQpO1xuICBwYXJhbXMuc2V0KFwicGFyZW50T3JpZ2luXCIsIG9wdGlvbnMucGFyZW50T3JpZ2luKTtcbiAgaWYgKG9wdGlvbnMudmlldz8udGltZVJhbmdlKSB7XG4gICAgcGFyYW1zLnNldChcbiAgICAgIFwidGltZVJhbmdlXCIsXG4gICAgICBKU09OLnN0cmluZ2lmeShvcHRpb25zLnZpZXcudGltZVJhbmdlKVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGAvLyR7b3B0aW9ucy5ob3N0fS8ke2Jhc2VQYXRofS9hcHAvJHtLSUJBTkFfQVBQX0lEfT8ke3BhcmFtcy50b1N0cmluZygpfWA7XG59XG5cbi8qKlxuICogQGNsYXNzIEtpYmFuYURhc2hib2FyZEVtYmVkUGx1Z2luXG4gKiBAc3VtbWFyeSBLaWJhbmEgaW1wbGVtZW50YXRpb24gb2YgdGhlIGBEYXNoYm9hcmRFbWJlZFBsdWdpbmAgY29udHJhY3QuXG4gKiBAZGVzY3JpcHRpb24gT3JnLWFnbm9zdGljIG11bHRpLXRlbmFudCBkYXNoYm9hcmQgZW1iZWQgcGx1Z2luIGZvciBLaWJhbmEuXG4gKi9cbmV4cG9ydCBjbGFzcyBLaWJhbmFEYXNoYm9hcmRFbWJlZFBsdWdpbiBpbXBsZW1lbnRzIERhc2hib2FyZEVtYmVkUGx1Z2luIHtcbiAgcHVibGljIHJlYWRvbmx5IGRlc2NyaXB0b3I6IERhc2hib2FyZEVtYmVkUGx1Z2luRGVzY3JpcHRvcjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IodGFyZ2V0VmVyc2lvbjogc3RyaW5nID0gXCJraWJhbmFcIikge1xuICAgIHRoaXMuZGVzY3JpcHRvciA9IHtcbiAgICAgIGlkOiBLSUJBTkFfUExVR0lOX0lELFxuICAgICAgYXBwSWQ6IEtJQkFOQV9BUFBfSUQsXG4gICAgICB2ZXJzaW9uOiBLSUJBTkFfUExVR0lOX1ZFUlNJT04sXG4gICAgICB0YXJnZXRWZXJzaW9uLFxuICAgICAgdG9vbDogXCJraWJhbmFcIixcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIG1hbmlmZXN0KHRhcmdldFZlcnNpb246IHN0cmluZyA9IHRoaXMuZGVzY3JpcHRvci50YXJnZXRWZXJzaW9uKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICAgIHJldHVybiBidWlsZEtpYmFuYU1hbmlmZXN0KHRhcmdldFZlcnNpb24pIGFzIHVua25vd24gYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIH1cblxuICBwdWJsaWMgYnVpbGRFbWJlZFVybChvcHRpb25zOiBFbWJlZFVybE9wdGlvbnMpOiBzdHJpbmcge1xuICAgIHJldHVybiBidWlsZEtpYmFuYUVtYmVkVXJsKG9wdGlvbnMpO1xuICB9XG5cbiAgcHVibGljIGNyZWF0ZVN3aXRjaERhc2hib2FyZE1lc3NhZ2UoXG4gICAgcGF5bG9hZDogU3dpdGNoRGFzaGJvYXJkUGF5bG9hZFxuICApOiBTd2l0Y2hEYXNoYm9hcmRNZXNzYWdlIHtcbiAgICByZXR1cm4gY3JlYXRlU3dpdGNoRGFzaGJvYXJkTWVzc2FnZShwYXlsb2FkKTtcbiAgfVxuXG4gIHB1YmxpYyBzZW5kU3dpdGNoRGFzaGJvYXJkTWVzc2FnZShcbiAgICB0YXJnZXQ6IEVtYmVkTWVzc2FnZVRhcmdldCxcbiAgICBwYXlsb2FkOiBTd2l0Y2hEYXNoYm9hcmRQYXlsb2FkLFxuICAgIHRhcmdldE9yaWdpbjogc3RyaW5nXG4gICk6IHZvaWQge1xuICAgIHNlbmRTd2l0Y2hEYXNoYm9hcmRNZXNzYWdlKHRhcmdldCwgcGF5bG9hZCwgdGFyZ2V0T3JpZ2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXRlcmlhbGl6ZSB0aGUgZ2VuZXJhdGVkIEtpYmFuYSBwbHVnaW4gaW50byBgdGFyZ2V0UGF0aC9vcmdfZGFzaGJvYXJkX2VtYmVkL2AuXG4gICAqXG4gICAqIEtpYmFuYSBwbHVnaW5zIG11c3QgYmUgYnVpbHQgd2l0aGluIHRoZSBLaWJhbmEgcmVwbyBhZ2FpbnN0IHRoZSBleGFjdFxuICAgKiBLaWJhbmEgdmVyc2lvbi4gV2hlbiBgYnVpbGRgIGlzIHRydWUsIHRoaXMgYXR0ZW1wdHMgYHlhcm4gYnVpbGRgIGluIHRoZVxuICAgKiBwbHVnaW4gZGlyZWN0b3J5IChiZXN0LWVmZm9ydCk7IHJlYWwgYnVpbGRzIHJlcXVpcmUgdGhlIEtpYmFuYSBwbHVnaW5cbiAgICogaGVscGVycyBlbnZpcm9ubWVudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpbnN0YWxsKFxuICAgIG9wdGlvbnM6IFBsdWdpbkluc3RhbGxPcHRpb25zXG4gICk6IFByb21pc2U8UGx1Z2luSW5zdGFsbFJlc3VsdD4ge1xuICAgIGNvbnN0IGN0eCA9IG9wdGlvbnMuY29udGV4dCBhcyBNYXliZUNvbnRleHR1YWxBcmc8YW55PiB8IHVuZGVmaW5lZDtcbiAgICBpZiAoY3R4KSB7XG4gICAgICAvLyBDb250ZXh0IGlzIGFjY2VwdGVkIGZvciB0cmFjZWFiaWxpdHk7IG5vIGxvZ2dpbmcgc2lkZS1lZmZlY3QgcmVxdWlyZWQgaGVyZS5cbiAgICAgIHZvaWQgY3R4O1xuICAgIH1cbiAgICBpZiAoIW9wdGlvbnMudGFyZ2V0UGF0aCB8fCBvcHRpb25zLnRhcmdldFBhdGgudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IFVuc3VwcG9ydGVkRXJyb3IoXCJpbnN0YWxsIHRhcmdldFBhdGggaXMgcmVxdWlyZWRcIik7XG4gICAgfVxuXG4gICAgY29uc3QgdGFyZ2V0VmVyc2lvbiA9IG9wdGlvbnMudGFyZ2V0VmVyc2lvbiA/PyB0aGlzLmRlc2NyaXB0b3IudGFyZ2V0VmVyc2lvbjtcbiAgICBjb25zdCBwbHVnaW5EaXIgPSBwYXRoLnJlc29sdmUoXG4gICAgICBvcHRpb25zLnRhcmdldFBhdGgsXG4gICAgICBLSUJBTkFfQVBQX0lEXG4gICAgKTtcblxuICAgIGlmIChmcy5leGlzdHNTeW5jKHBsdWdpbkRpcikpIHtcbiAgICAgIGlmICghb3B0aW9ucy5vdmVyd3JpdGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgICAgYFBsdWdpbiBkaXJlY3RvcnkgYWxyZWFkeSBleGlzdHM6ICR7cGx1Z2luRGlyfSAodXNlIG92ZXJ3cml0ZTogdHJ1ZSlgXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBmcy5ybVN5bmMocGx1Z2luRGlyLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZXMgPSBraWJhbmFQbHVnaW5GaWxlcyh0YXJnZXRWZXJzaW9uKTtcbiAgICBjb25zdCB3cml0dGVuOiBzdHJpbmdbXSA9IFtdO1xuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4ocGx1Z2luRGlyLCBmaWxlLnBhdGgpO1xuICAgICAgZnMubWtkaXJTeW5jKHBhdGguZGlybmFtZShmdWxsUGF0aCksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgZnMud3JpdGVGaWxlU3luYyhmdWxsUGF0aCwgZmlsZS5jb250ZW50LCBcInV0ZjhcIik7XG4gICAgICB3cml0dGVuLnB1c2goZmlsZS5wYXRoKTtcbiAgICB9XG5cbiAgICBsZXQgYnVpbHQgPSBmYWxzZTtcbiAgICBsZXQgYnVpbGRPdXRwdXQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBpZiAob3B0aW9ucy5idWlsZCkge1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ydW5CdWlsZChwbHVnaW5EaXIpLmNhdGNoKChlcnI6IEVycm9yKSA9PiAoe1xuICAgICAgICBvazogZmFsc2UgYXMgY29uc3QsXG4gICAgICAgIG91dHB1dDogZXJyLm1lc3NhZ2UsXG4gICAgICB9KSk7XG4gICAgICBidWlsdCA9IHJlc3VsdC5vaztcbiAgICAgIGJ1aWxkT3V0cHV0ID0gcmVzdWx0Lm91dHB1dDtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgcGx1Z2luUGF0aDogcGx1Z2luRGlyLFxuICAgICAgZGVzY3JpcHRvcjogeyAuLi50aGlzLmRlc2NyaXB0b3IsIHRhcmdldFZlcnNpb24gfSxcbiAgICAgIGZpbGVzOiB3cml0dGVuLFxuICAgICAgYnVpbHQsXG4gICAgICBidWlsZE91dHB1dCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEJlc3QtZWZmb3J0IGB5YXJuIGJ1aWxkYCBpbiB0aGUgcGx1Z2luIGRpcmVjdG9yeS4gUmVhbCBidWlsZHMgcmVxdWlyZSB0aGVcbiAgICogS2liYW5hIHBsdWdpbiBoZWxwZXJzIGVudmlyb25tZW50OyBmYWlsdXJlcyBhcmUgY2FwdHVyZWQsIG5vdCB0aHJvd24uXG4gICAqL1xuICBwcm90ZWN0ZWQgcnVuQnVpbGQoXG4gICAgcGx1Z2luRGlyOiBzdHJpbmdcbiAgKTogUHJvbWlzZTx7IG9rOiBib29sZWFuOyBvdXRwdXQ6IHN0cmluZyB9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG4gICAgICBleGVjRmlsZShcbiAgICAgICAgXCJ5YXJuXCIsXG4gICAgICAgIFtcImJ1aWxkXCJdLFxuICAgICAgICB7IGN3ZDogcGx1Z2luRGlyLCB0aW1lb3V0OiAxMjAwMDAgfSxcbiAgICAgICAgKGVycm9yLCBzdGRvdXQsIHN0ZGVycikgPT4ge1xuICAgICAgICAgIGNvbnN0IG91dHB1dCA9IGAke3N0ZG91dCA/PyBcIlwifSR7c3RkZXJyID8/IFwiXCJ9YC50cmltKCk7XG4gICAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgICByZXNvbHZlKHsgb2s6IGZhbHNlLCBvdXRwdXQ6IG91dHB1dCB8fCBlcnJvci5tZXNzYWdlIH0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXNvbHZlKHsgb2s6IHRydWUsIG91dHB1dCB9KTtcbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxufVxuXG4vKiogRGVmYXVsdCBzaW5nbGV0b24gaW5zdGFuY2UuICovXG5leHBvcnQgY29uc3Qga2liYW5hRGFzaGJvYXJkRW1iZWRQbHVnaW4gPSBuZXcgS2liYW5hRGFzaGJvYXJkRW1iZWRQbHVnaW4oKTtcblxuLyoqIEZhY3RvcnkgYWNjZXB0aW5nIGEgdGFyZ2V0IEtpYmFuYSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUtpYmFuYURhc2hib2FyZEVtYmVkUGx1Z2luKFxuICB0YXJnZXRWZXJzaW9uOiBzdHJpbmdcbik6IEtpYmFuYURhc2hib2FyZEVtYmVkUGx1Z2luIHtcbiAgcmV0dXJuIG5ldyBLaWJhbmFEYXNoYm9hcmRFbWJlZFBsdWdpbih0YXJnZXRWZXJzaW9uKTtcbn1cbiJdfQ==
|
|
180
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFsbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW5zdGFsbGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTRCQSxrREFTQztBQW1HRCw0RUFFQztBQTFJRDs7Ozs7Ozs7OztHQVVHO0FBQ0gsMkRBQXdEO0FBQ3hELHlDQUFrRDtBQUNsRCw0Q0FBOEI7QUFDOUIsZ0RBQWtDO0FBQ2xDLDJEQUE4QztBQUM5QyxrREFBNkY7QUFDN0YsK0NBQTZHO0FBQzdHLGlEQUFtRDtBQUNuRCxzREFBc0Q7QUFDekMsUUFBQSx3QkFBd0IsR0FBRyxRQUFRLENBQUM7QUFDakQ7Ozs7OztHQU1HO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsT0FBTztJQUN2QyxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLGdDQUF3QixDQUFDO0lBQzlELE1BQU0sTUFBTSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7SUFDckMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNqRCxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFDMUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUNELE9BQU8sS0FBSyxPQUFPLENBQUMsSUFBSSxJQUFJLFFBQVEsUUFBUSwyQkFBYSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO0FBQ3JGLENBQUM7QUFDRDs7OztHQUlHO0FBQ0gsTUFBYSwwQkFBMEI7SUFDbkMsWUFBWSxhQUFhLEdBQUcsUUFBUTtRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2QsRUFBRSxFQUFFLDhCQUFnQjtZQUNwQixLQUFLLEVBQUUsMkJBQWE7WUFDcEIsT0FBTyxFQUFFLG1DQUFxQjtZQUM5QixhQUFhO1lBQ2IsSUFBSSxFQUFFLFFBQVE7U0FDakIsQ0FBQztJQUNOLENBQUM7SUFDRCxRQUFRLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYTtRQUNsRCxPQUFPLElBQUEsaUNBQW1CLEVBQUMsYUFBYSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUNELGFBQWEsQ0FBQyxPQUFPO1FBQ2pCLE9BQU8sbUJBQW1CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELDRCQUE0QixDQUFDLE9BQU87UUFDaEMsT0FBTyxJQUFBLDBDQUE0QixFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDRCwwQkFBMEIsQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVk7UUFDcEQsSUFBQSx3Q0FBMEIsRUFBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFDRDs7Ozs7OztPQU9HO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPO1FBQ2pCLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNOLDhFQUE4RTtZQUM5RSxLQUFLLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUNoRSxNQUFNLElBQUksdUJBQWdCLENBQUMsZ0NBQWdDLENBQUMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUM3RSxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsMkJBQWEsQ0FBQyxDQUFDO1FBQ2xFLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ3JCLE1BQU0sSUFBSSw2QkFBYSxDQUFDLG9DQUFvQyxTQUFTLHdCQUF3QixDQUFDLENBQUM7WUFDbkcsQ0FBQztZQUNELEVBQUUsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUMzRCxDQUFDO1FBQ0QsTUFBTSxLQUFLLEdBQUcsSUFBQSxnQ0FBaUIsRUFBQyxhQUFhLENBQUMsQ0FBQztRQUMvQyxNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDbkIsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUN2QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDakQsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDMUQsRUFBRSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNqRCxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksV0FBVyxDQUFDO1FBQ2hCLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzFELEVBQUUsRUFBRSxLQUFLO2dCQUNULE1BQU0sRUFBRSxHQUFHLENBQUMsT0FBTzthQUN0QixDQUFDLENBQUMsQ0FBQztZQUNKLEtBQUssR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2xCLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ2hDLENBQUM7UUFDRCxPQUFPO1lBQ0gsVUFBVSxFQUFFLFNBQVM7WUFDckIsVUFBVSxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRTtZQUNqRCxLQUFLLEVBQUUsT0FBTztZQUNkLEtBQUs7WUFDTCxXQUFXO1NBQ2QsQ0FBQztJQUNOLENBQUM7SUFDRDs7O09BR0c7SUFDSCxRQUFRLENBQUMsU0FBUztRQUNkLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMzQixJQUFBLDZCQUFRLEVBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7Z0JBQ3ZGLE1BQU0sTUFBTSxHQUFHLEdBQUcsTUFBTSxJQUFJLEVBQUUsR0FBRyxNQUFNLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3ZELElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ1IsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO29CQUN4RCxPQUFPO2dCQUNYLENBQUM7Z0JBQ0QsT0FBTyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0NBQ0o7QUF6RkQsZ0VBeUZDO0FBQ0Qsa0NBQWtDO0FBQ3JCLFFBQUEsMEJBQTBCLEdBQUcsSUFBSSwwQkFBMEIsRUFBRSxDQUFDO0FBQzNFLGlEQUFpRDtBQUNqRCxTQUFnQixnQ0FBZ0MsQ0FBQyxhQUFhO0lBQzFELE9BQU8sSUFBSSwwQkFBMEIsQ0FBQyxhQUFhLENBQUMsQ0FBQztBQUN6RCxDQUFDO0FBQ0Qsa2hjQUFraGMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL3BsdWdpbnMva2liYW5hL2luc3RhbGxlclxuICogQHN1bW1hcnkgS2liYW5hIGRhc2hib2FyZCBlbWJlZCBwbHVnaW4gaW5zdGFsbGVyLlxuICogQGRlc2NyaXB0aW9uIEltcGxlbWVudHMgYERhc2hib2FyZEVtYmVkUGx1Z2luYCBmb3IgS2liYW5hOiBidWlsZHMgdGhlIHN0YWJsZVxuICogaWZyYW1lIGVtYmVkIFVSTCwgY3JlYXRlcy9zZW5kcyBzd2l0Y2gtZGFzaGJvYXJkIG1lc3NhZ2VzLCBhbmQgbWF0ZXJpYWxpemVzXG4gKiB0aGUgZ2VuZXJhdGVkIHBsdWdpbiBzb3VyY2UgaW50byBhIHRhcmdldCBkaXJlY3RvcnkgKG9wdGlvbmFsbHkgYnVpbGRpbmcgaXQpLlxuICpcbiAqIFRoZSBwbHVnaW4gaXMgb3JnLWFnbm9zdGljOiB0aGVyZSBpcyBuZXZlciBzcGFjZSBzd2l0Y2hpbmcuIFRoZSBjdXJyZW50XG4gKiBLaWJhbmEgc3BhY2UgY29tZXMgZnJvbSB0aGUgcmVxdWVzdC9zZXNzaW9uL3Byb3h5IGNvbnRleHQsIG5vdCBmcm9tIHRoZVxuICogcGx1Z2luLCBzbyB0aGUgc2FtZSBwbHVnaW4gc2VydmVzIGV2ZXJ5IG9yZy5cbiAqL1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgVW5zdXBwb3J0ZWRFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuaW1wb3J0IHsgZXhlY0ZpbGUgfSBmcm9tIFwibm9kZTpjaGlsZF9wcm9jZXNzXCI7XG5pbXBvcnQgeyBjcmVhdGVTd2l0Y2hEYXNoYm9hcmRNZXNzYWdlLCBzZW5kU3dpdGNoRGFzaGJvYXJkTWVzc2FnZSwgfSBmcm9tIFwiLi8uLi9jb250cmFjdC5qc1wiO1xuaW1wb3J0IHsgS0lCQU5BX0FQUF9JRCwgS0lCQU5BX1BMVUdJTl9JRCwgS0lCQU5BX1BMVUdJTl9WRVJTSU9OLCBidWlsZEtpYmFuYU1hbmlmZXN0LCB9IGZyb20gXCIuL21hbmlmZXN0LmpzXCI7XG5pbXBvcnQgeyBraWJhbmFQbHVnaW5GaWxlcyB9IGZyb20gXCIuL3RlbXBsYXRlcy5qc1wiO1xuLyoqIERlZmF1bHQgS2liYW5hIGJhc2UgcGF0aCB3aGVuIG5vbmUgaXMgcHJvdmlkZWQuICovXG5leHBvcnQgY29uc3QgS0lCQU5BX0RFRkFVTFRfQkFTRV9QQVRIID0gXCJraWJhbmFcIjtcbi8qKlxuICogQnVpbGQgdGhlIHN0YWJsZSBLaWJhbmEgZW1iZWQgaWZyYW1lIFVSTC5cbiAqXG4gKiBAZXhhbXBsZVxuICogICBidWlsZEtpYmFuYUVtYmVkVXJsKHsgaG9zdDogXCJwdHAuaG9zdFwiLCBkYXNoYm9hcmRJZDogXCJhYmNcIiwgcGFyZW50T3JpZ2luOiBcImh0dHBzOi8vYXBwLmV4YW1wbGUuY29tXCIgfSlcbiAqICAgLy8gPT4gXCIvL3B0cC5ob3N0L2tpYmFuYS9hcHAvb3JnX2Rhc2hib2FyZF9lbWJlZD9kYXNoYm9hcmRJZD1hYmMmcGFyZW50T3JpZ2luPWh0dHBzJTNBJTJGJTJGYXBwLmV4YW1wbGUuY29tXCJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkS2liYW5hRW1iZWRVcmwob3B0aW9ucykge1xuICAgIGNvbnN0IGJhc2VQYXRoID0gb3B0aW9ucy5iYXNlUGF0aCA/PyBLSUJBTkFfREVGQVVMVF9CQVNFX1BBVEg7XG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgIHBhcmFtcy5zZXQoXCJkYXNoYm9hcmRJZFwiLCBvcHRpb25zLmRhc2hib2FyZElkKTtcbiAgICBwYXJhbXMuc2V0KFwicGFyZW50T3JpZ2luXCIsIG9wdGlvbnMucGFyZW50T3JpZ2luKTtcbiAgICBpZiAob3B0aW9ucy52aWV3Py50aW1lUmFuZ2UpIHtcbiAgICAgICAgcGFyYW1zLnNldChcInRpbWVSYW5nZVwiLCBKU09OLnN0cmluZ2lmeShvcHRpb25zLnZpZXcudGltZVJhbmdlKSk7XG4gICAgfVxuICAgIHJldHVybiBgLy8ke29wdGlvbnMuaG9zdH0vJHtiYXNlUGF0aH0vYXBwLyR7S0lCQU5BX0FQUF9JRH0/JHtwYXJhbXMudG9TdHJpbmcoKX1gO1xufVxuLyoqXG4gKiBAY2xhc3MgS2liYW5hRGFzaGJvYXJkRW1iZWRQbHVnaW5cbiAqIEBzdW1tYXJ5IEtpYmFuYSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgYERhc2hib2FyZEVtYmVkUGx1Z2luYCBjb250cmFjdC5cbiAqIEBkZXNjcmlwdGlvbiBPcmctYWdub3N0aWMgbXVsdGktdGVuYW50IGRhc2hib2FyZCBlbWJlZCBwbHVnaW4gZm9yIEtpYmFuYS5cbiAqL1xuZXhwb3J0IGNsYXNzIEtpYmFuYURhc2hib2FyZEVtYmVkUGx1Z2luIHtcbiAgICBjb25zdHJ1Y3Rvcih0YXJnZXRWZXJzaW9uID0gXCJraWJhbmFcIikge1xuICAgICAgICB0aGlzLmRlc2NyaXB0b3IgPSB7XG4gICAgICAgICAgICBpZDogS0lCQU5BX1BMVUdJTl9JRCxcbiAgICAgICAgICAgIGFwcElkOiBLSUJBTkFfQVBQX0lELFxuICAgICAgICAgICAgdmVyc2lvbjogS0lCQU5BX1BMVUdJTl9WRVJTSU9OLFxuICAgICAgICAgICAgdGFyZ2V0VmVyc2lvbixcbiAgICAgICAgICAgIHRvb2w6IFwia2liYW5hXCIsXG4gICAgICAgIH07XG4gICAgfVxuICAgIG1hbmlmZXN0KHRhcmdldFZlcnNpb24gPSB0aGlzLmRlc2NyaXB0b3IudGFyZ2V0VmVyc2lvbikge1xuICAgICAgICByZXR1cm4gYnVpbGRLaWJhbmFNYW5pZmVzdCh0YXJnZXRWZXJzaW9uKTtcbiAgICB9XG4gICAgYnVpbGRFbWJlZFVybChvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBidWlsZEtpYmFuYUVtYmVkVXJsKG9wdGlvbnMpO1xuICAgIH1cbiAgICBjcmVhdGVTd2l0Y2hEYXNoYm9hcmRNZXNzYWdlKHBheWxvYWQpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVN3aXRjaERhc2hib2FyZE1lc3NhZ2UocGF5bG9hZCk7XG4gICAgfVxuICAgIHNlbmRTd2l0Y2hEYXNoYm9hcmRNZXNzYWdlKHRhcmdldCwgcGF5bG9hZCwgdGFyZ2V0T3JpZ2luKSB7XG4gICAgICAgIHNlbmRTd2l0Y2hEYXNoYm9hcmRNZXNzYWdlKHRhcmdldCwgcGF5bG9hZCwgdGFyZ2V0T3JpZ2luKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogTWF0ZXJpYWxpemUgdGhlIGdlbmVyYXRlZCBLaWJhbmEgcGx1Z2luIGludG8gYHRhcmdldFBhdGgvb3JnX2Rhc2hib2FyZF9lbWJlZC9gLlxuICAgICAqXG4gICAgICogS2liYW5hIHBsdWdpbnMgbXVzdCBiZSBidWlsdCB3aXRoaW4gdGhlIEtpYmFuYSByZXBvIGFnYWluc3QgdGhlIGV4YWN0XG4gICAgICogS2liYW5hIHZlcnNpb24uIFdoZW4gYGJ1aWxkYCBpcyB0cnVlLCB0aGlzIGF0dGVtcHRzIGB5YXJuIGJ1aWxkYCBpbiB0aGVcbiAgICAgKiBwbHVnaW4gZGlyZWN0b3J5IChiZXN0LWVmZm9ydCk7IHJlYWwgYnVpbGRzIHJlcXVpcmUgdGhlIEtpYmFuYSBwbHVnaW5cbiAgICAgKiBoZWxwZXJzIGVudmlyb25tZW50LlxuICAgICAqL1xuICAgIGFzeW5jIGluc3RhbGwob3B0aW9ucykge1xuICAgICAgICBjb25zdCBjdHggPSBvcHRpb25zLmNvbnRleHQ7XG4gICAgICAgIGlmIChjdHgpIHtcbiAgICAgICAgICAgIC8vIENvbnRleHQgaXMgYWNjZXB0ZWQgZm9yIHRyYWNlYWJpbGl0eTsgbm8gbG9nZ2luZyBzaWRlLWVmZmVjdCByZXF1aXJlZCBoZXJlLlxuICAgICAgICAgICAgdm9pZCBjdHg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvcHRpb25zLnRhcmdldFBhdGggfHwgb3B0aW9ucy50YXJnZXRQYXRoLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBVbnN1cHBvcnRlZEVycm9yKFwiaW5zdGFsbCB0YXJnZXRQYXRoIGlzIHJlcXVpcmVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhcmdldFZlcnNpb24gPSBvcHRpb25zLnRhcmdldFZlcnNpb24gPz8gdGhpcy5kZXNjcmlwdG9yLnRhcmdldFZlcnNpb247XG4gICAgICAgIGNvbnN0IHBsdWdpbkRpciA9IHBhdGgucmVzb2x2ZShvcHRpb25zLnRhcmdldFBhdGgsIEtJQkFOQV9BUFBfSUQpO1xuICAgICAgICBpZiAoZnMuZXhpc3RzU3luYyhwbHVnaW5EaXIpKSB7XG4gICAgICAgICAgICBpZiAoIW9wdGlvbnMub3ZlcndyaXRlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoYFBsdWdpbiBkaXJlY3RvcnkgYWxyZWFkeSBleGlzdHM6ICR7cGx1Z2luRGlyfSAodXNlIG92ZXJ3cml0ZTogdHJ1ZSlgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZzLnJtU3luYyhwbHVnaW5EaXIsIHsgcmVjdXJzaXZlOiB0cnVlLCBmb3JjZTogdHJ1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmaWxlcyA9IGtpYmFuYVBsdWdpbkZpbGVzKHRhcmdldFZlcnNpb24pO1xuICAgICAgICBjb25zdCB3cml0dGVuID0gW107XG4gICAgICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcykge1xuICAgICAgICAgICAgY29uc3QgZnVsbFBhdGggPSBwYXRoLmpvaW4ocGx1Z2luRGlyLCBmaWxlLnBhdGgpO1xuICAgICAgICAgICAgZnMubWtkaXJTeW5jKHBhdGguZGlybmFtZShmdWxsUGF0aCksIHsgcmVjdXJzaXZlOiB0cnVlIH0pO1xuICAgICAgICAgICAgZnMud3JpdGVGaWxlU3luYyhmdWxsUGF0aCwgZmlsZS5jb250ZW50LCBcInV0ZjhcIik7XG4gICAgICAgICAgICB3cml0dGVuLnB1c2goZmlsZS5wYXRoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgYnVpbHQgPSBmYWxzZTtcbiAgICAgICAgbGV0IGJ1aWxkT3V0cHV0O1xuICAgICAgICBpZiAob3B0aW9ucy5idWlsZCkge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5ydW5CdWlsZChwbHVnaW5EaXIpLmNhdGNoKChlcnIpID0+ICh7XG4gICAgICAgICAgICAgICAgb2s6IGZhbHNlLFxuICAgICAgICAgICAgICAgIG91dHB1dDogZXJyLm1lc3NhZ2UsXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICBidWlsdCA9IHJlc3VsdC5vaztcbiAgICAgICAgICAgIGJ1aWxkT3V0cHV0ID0gcmVzdWx0Lm91dHB1dDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcGx1Z2luUGF0aDogcGx1Z2luRGlyLFxuICAgICAgICAgICAgZGVzY3JpcHRvcjogeyAuLi50aGlzLmRlc2NyaXB0b3IsIHRhcmdldFZlcnNpb24gfSxcbiAgICAgICAgICAgIGZpbGVzOiB3cml0dGVuLFxuICAgICAgICAgICAgYnVpbHQsXG4gICAgICAgICAgICBidWlsZE91dHB1dCxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQmVzdC1lZmZvcnQgYHlhcm4gYnVpbGRgIGluIHRoZSBwbHVnaW4gZGlyZWN0b3J5LiBSZWFsIGJ1aWxkcyByZXF1aXJlIHRoZVxuICAgICAqIEtpYmFuYSBwbHVnaW4gaGVscGVycyBlbnZpcm9ubWVudDsgZmFpbHVyZXMgYXJlIGNhcHR1cmVkLCBub3QgdGhyb3duLlxuICAgICAqL1xuICAgIHJ1bkJ1aWxkKHBsdWdpbkRpcikge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgICAgICAgIGV4ZWNGaWxlKFwieWFyblwiLCBbXCJidWlsZFwiXSwgeyBjd2Q6IHBsdWdpbkRpciwgdGltZW91dDogMTIwMDAwIH0sIChlcnJvciwgc3Rkb3V0LCBzdGRlcnIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBvdXRwdXQgPSBgJHtzdGRvdXQgPz8gXCJcIn0ke3N0ZGVyciA/PyBcIlwifWAudHJpbSgpO1xuICAgICAgICAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgICAgICAgICByZXNvbHZlKHsgb2s6IGZhbHNlLCBvdXRwdXQ6IG91dHB1dCB8fCBlcnJvci5tZXNzYWdlIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJlc29sdmUoeyBvazogdHJ1ZSwgb3V0cHV0IH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn1cbi8qKiBEZWZhdWx0IHNpbmdsZXRvbiBpbnN0YW5jZS4gKi9cbmV4cG9ydCBjb25zdCBraWJhbmFEYXNoYm9hcmRFbWJlZFBsdWdpbiA9IG5ldyBLaWJhbmFEYXNoYm9hcmRFbWJlZFBsdWdpbigpO1xuLyoqIEZhY3RvcnkgYWNjZXB0aW5nIGEgdGFyZ2V0IEtpYmFuYSB2ZXJzaW9uLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUtpYmFuYURhc2hib2FyZEVtYmVkUGx1Z2luKHRhcmdldFZlcnNpb24pIHtcbiAgICByZXR1cm4gbmV3IEtpYmFuYURhc2hib2FyZEVtYmVkUGx1Z2luKHRhcmdldFZlcnNpb24pO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pYVc1emRHRnNiR1Z5TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwzQnNkV2RwYm5NdmEybGlZVzVoTDJsdWMzUmhiR3hsY2k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3T3pzN096czdPenRIUVZWSE8wRkJRMGdzVDBGQlR5eEZRVUZGTEdGQlFXRXNSVUZCUlN4TlFVRk5MSGxDUVVGNVFpeERRVUZETzBGQlEzaEVMRTlCUVU4c1JVRkJSU3huUWtGQlowSXNSVUZCYzBJc1RVRkJUU3huUWtGQlowSXNRMEZCUXp0QlFVTjBSU3hQUVVGUExFdEJRVXNzUlVGQlJTeE5RVUZOTEZOQlFWTXNRMEZCUXp0QlFVTTVRaXhQUVVGUExFdEJRVXNzU1VGQlNTeE5RVUZOTEZkQlFWY3NRMEZCUXp0QlFVTnNReXhQUVVGUExFVkJRVVVzVVVGQlVTeEZRVUZGTEUxQlFVMHNiMEpCUVc5Q0xFTkJRVU03UVVGRk9VTXNUMEZCVHl4RlFVTk1MRFJDUVVFMFFpeEZRVU0xUWl3d1FrRkJNRUlzUjBGVE0wSXNlVUpCUVc5Q08wRkJRM0pDTEU5QlFVOHNSVUZEVEN4aFFVRmhMRVZCUTJJc1owSkJRV2RDTEVWQlEyaENMSEZDUVVGeFFpeEZRVU55UWl4dFFrRkJiVUlzUjBGRGNFSXNjMEpCUVcxQ08wRkJRM0JDTEU5QlFVOHNSVUZCUlN4cFFrRkJhVUlzUlVGQlJTeDFRa0ZCYjBJN1FVRkZhRVFzYzBSQlFYTkVPMEZCUTNSRUxFMUJRVTBzUTBGQlF5eE5RVUZOTEhkQ1FVRjNRaXhIUVVGSExGRkJRVkVzUTBGQlF6dEJRVVZxUkRzN096czdPMGRCVFVjN1FVRkRTQ3hOUVVGTkxGVkJRVlVzYlVKQlFXMUNMRU5CUVVNc1QwRkJkMEk3U1VGRE1VUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1QwRkJUeXhEUVVGRExGRkJRVkVzU1VGQlNTeDNRa0ZCZDBJc1EwRkJRenRKUVVNNVJDeE5RVUZOTEUxQlFVMHNSMEZCUnl4SlFVRkpMR1ZCUVdVc1JVRkJSU3hEUVVGRE8wbEJRM0pETEUxQlFVMHNRMEZCUXl4SFFVRkhMRU5CUVVNc1lVRkJZU3hGUVVGRkxFOUJRVThzUTBGQlF5eFhRVUZYTEVOQlFVTXNRMEZCUXp0SlFVTXZReXhOUVVGTkxFTkJRVU1zUjBGQlJ5eERRVUZETEdOQlFXTXNSVUZCUlN4UFFVRlBMRU5CUVVNc1dVRkJXU3hEUVVGRExFTkJRVU03U1VGRGFrUXNTVUZCU1N4UFFVRlBMRU5CUVVNc1NVRkJTU3hGUVVGRkxGTkJRVk1zUlVGQlJTeERRVUZETzFGQlF6VkNMRTFCUVUwc1EwRkJReXhIUVVGSExFTkJRMUlzVjBGQlZ5eEZRVU5ZTEVsQlFVa3NRMEZCUXl4VFFVRlRMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eFRRVUZUTEVOQlFVTXNRMEZEZGtNc1EwRkJRenRKUVVOS0xFTkJRVU03U1VGRFJDeFBRVUZQTEV0QlFVc3NUMEZCVHl4RFFVRkRMRWxCUVVrc1NVRkJTU3hSUVVGUkxGRkJRVkVzWVVGQllTeEpRVUZKTEUxQlFVMHNRMEZCUXl4UlFVRlJMRVZCUVVVc1JVRkJSU3hEUVVGRE8wRkJRMjVHTEVOQlFVTTdRVUZGUkRzN096dEhRVWxITzBGQlEwZ3NUVUZCVFN4UFFVRlBMREJDUVVFd1FqdEpRVWR5UXl4WlFVRnRRaXhuUWtGQmQwSXNVVUZCVVR0UlFVTnFSQ3hKUVVGSkxFTkJRVU1zVlVGQlZTeEhRVUZITzFsQlEyaENMRVZCUVVVc1JVRkJSU3huUWtGQlowSTdXVUZEY0VJc1MwRkJTeXhGUVVGRkxHRkJRV0U3V1VGRGNFSXNUMEZCVHl4RlFVRkZMSEZDUVVGeFFqdFpRVU01UWl4aFFVRmhPMWxCUTJJc1NVRkJTU3hGUVVGRkxGRkJRVkU3VTBGRFppeERRVUZETzBsQlEwb3NRMEZCUXp0SlFVVk5MRkZCUVZFc1EwRkJReXhuUWtGQmQwSXNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhoUVVGaE8xRkJRMjVGTEU5QlFVOHNiVUpCUVcxQ0xFTkJRVU1zWVVGQllTeERRVUYxUXl4RFFVRkRPMGxCUTJ4R0xFTkJRVU03U1VGRlRTeGhRVUZoTEVOQlFVTXNUMEZCZDBJN1VVRkRNME1zVDBGQlR5eHRRa0ZCYlVJc1EwRkJReXhQUVVGUExFTkJRVU1zUTBGQlF6dEpRVU4wUXl4RFFVRkRPMGxCUlUwc05FSkJRVFJDTEVOQlEycERMRTlCUVN0Q08xRkJSUzlDTEU5QlFVOHNORUpCUVRSQ0xFTkJRVU1zVDBGQlR5eERRVUZETEVOQlFVTTdTVUZETDBNc1EwRkJRenRKUVVWTkxEQkNRVUV3UWl4RFFVTXZRaXhOUVVFd1FpeEZRVU14UWl4UFFVRXJRaXhGUVVNdlFpeFpRVUZ2UWp0UlFVVndRaXd3UWtGQk1FSXNRMEZCUXl4TlFVRk5MRVZCUVVVc1QwRkJUeXhGUVVGRkxGbEJRVmtzUTBGQlF5eERRVUZETzBsQlF6VkVMRU5CUVVNN1NVRkZSRHM3T3pzN096dFBRVTlITzBsQlEwa3NTMEZCU3l4RFFVRkRMRTlCUVU4c1EwRkRiRUlzVDBGQk5rSTdVVUZGTjBJc1RVRkJUU3hIUVVGSExFZEJRVWNzVDBGQlR5eERRVUZETEU5QlFUaERMRU5CUVVNN1VVRkRia1VzU1VGQlNTeEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTlNMRGhGUVVFNFJUdFpRVU01UlN4TFFVRkxMRWRCUVVjc1EwRkJRenRSUVVOWUxFTkJRVU03VVVGRFJDeEpRVUZKTEVOQlFVTXNUMEZCVHl4RFFVRkRMRlZCUVZVc1NVRkJTU3hQUVVGUExFTkJRVU1zVlVGQlZTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRMRTFCUVUwc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU5zUlN4TlFVRk5MRWxCUVVrc1owSkJRV2RDTEVOQlFVTXNaME5CUVdkRExFTkJRVU1zUTBGQlF6dFJRVU12UkN4RFFVRkRPMUZCUlVRc1RVRkJUU3hoUVVGaExFZEJRVWNzVDBGQlR5eERRVUZETEdGQlFXRXNTVUZCU1N4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExHRkJRV0VzUTBGQlF6dFJRVU0zUlN4TlFVRk5MRk5CUVZNc1IwRkJSeXhKUVVGSkxFTkJRVU1zVDBGQlR5eERRVU0xUWl4UFFVRlBMRU5CUVVNc1ZVRkJWU3hGUVVOc1FpeGhRVUZoTEVOQlEyUXNRMEZCUXp0UlFVVkdMRWxCUVVrc1JVRkJSU3hEUVVGRExGVkJRVlVzUTBGQlF5eFRRVUZUTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUXpkQ0xFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNVMEZCVXl4RlFVRkZMRU5CUVVNN1owSkJRM1pDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUTNKQ0xHOURRVUZ2UXl4VFFVRlRMSGRDUVVGM1FpeERRVU4wUlN4RFFVRkRPMWxCUTBvc1EwRkJRenRaUVVORUxFVkJRVVVzUTBGQlF5eE5RVUZOTEVOQlFVTXNVMEZCVXl4RlFVRkZMRVZCUVVVc1UwRkJVeXhGUVVGRkxFbEJRVWtzUlVGQlJTeExRVUZMTEVWQlFVVXNTVUZCU1N4RlFVRkZMRU5CUVVNc1EwRkJRenRSUVVONlJDeERRVUZETzFGQlJVUXNUVUZCVFN4TFFVRkxMRWRCUVVjc2FVSkJRV2xDTEVOQlFVTXNZVUZCWVN4RFFVRkRMRU5CUVVNN1VVRkRMME1zVFVGQlRTeFBRVUZQTEVkQlFXRXNSVUZCUlN4RFFVRkRPMUZCUXpkQ0xFdEJRVXNzVFVGQlRTeEpRVUZKTEVsQlFVa3NTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRla0lzVFVGQlRTeFJRVUZSTEVkQlFVY3NTVUZCU1N4RFFVRkRMRWxCUVVrc1EwRkJReXhUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEVsQlFVa3NRMEZCUXl4RFFVRkRPMWxCUTJwRUxFVkJRVVVzUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhSUVVGUkxFTkJRVU1zUlVGQlJTeEZRVUZGTEZOQlFWTXNSVUZCUlN4SlFVRkpMRVZCUVVVc1EwRkJReXhEUVVGRE8xbEJRekZFTEVWQlFVVXNRMEZCUXl4aFFVRmhMRU5CUVVNc1VVRkJVU3hGUVVGRkxFbEJRVWtzUTBGQlF5eFBRVUZQTEVWQlFVVXNUVUZCVFN4RFFVRkRMRU5CUVVNN1dVRkRha1FzVDBGQlR5eERRVUZETEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRE1VSXNRMEZCUXp0UlFVVkVMRWxCUVVrc1MwRkJTeXhIUVVGSExFdEJRVXNzUTBGQlF6dFJRVU5zUWl4SlFVRkpMRmRCUVN0Q0xFTkJRVU03VVVGRGNFTXNTVUZCU1N4UFFVRlBMRU5CUVVNc1MwRkJTeXhGUVVGRkxFTkJRVU03V1VGRGJFSXNUVUZCVFN4TlFVRk5MRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFZEJRVlVzUlVGQlJTeEZRVUZGTEVOQlFVTXNRMEZCUXp0blFrRkRia1VzUlVGQlJTeEZRVUZGTEV0QlFXTTdaMEpCUTJ4Q0xFMUJRVTBzUlVGQlJTeEhRVUZITEVOQlFVTXNUMEZCVHp0aFFVTndRaXhEUVVGRExFTkJRVU1zUTBGQlF6dFpRVU5LTEV0QlFVc3NSMEZCUnl4TlFVRk5MRU5CUVVNc1JVRkJSU3hEUVVGRE8xbEJRMnhDTEZkQlFWY3NSMEZCUnl4TlFVRk5MRU5CUVVNc1RVRkJUU3hEUVVGRE8xRkJRemxDTEVOQlFVTTdVVUZGUkN4UFFVRlBPMWxCUTB3c1ZVRkJWU3hGUVVGRkxGTkJRVk03V1VGRGNrSXNWVUZCVlN4RlFVRkZMRVZCUVVVc1IwRkJSeXhKUVVGSkxFTkJRVU1zVlVGQlZTeEZRVUZGTEdGQlFXRXNSVUZCUlR0WlFVTnFSQ3hMUVVGTExFVkJRVVVzVDBGQlR6dFpRVU5rTEV0QlFVczdXVUZEVEN4WFFVRlhPMU5CUTFvc1EwRkJRenRKUVVOS0xFTkJRVU03U1VGRlJEczdPMDlCUjBjN1NVRkRUeXhSUVVGUkxFTkJRMmhDTEZOQlFXbENPMUZCUldwQ0xFOUJRVThzU1VGQlNTeFBRVUZQTEVOQlFVTXNRMEZCUXl4UFFVRlBMRVZCUVVVc1JVRkJSVHRaUVVNM1FpeFJRVUZSTEVOQlEwNHNUVUZCVFN4RlFVTk9MRU5CUVVNc1QwRkJUeXhEUVVGRExFVkJRMVFzUlVGQlJTeEhRVUZITEVWQlFVVXNVMEZCVXl4RlFVRkZMRTlCUVU4c1JVRkJSU3hOUVVGTkxFVkJRVVVzUlVGRGJrTXNRMEZCUXl4TFFVRkxMRVZCUVVVc1RVRkJUU3hGUVVGRkxFMUJRVTBzUlVGQlJTeEZRVUZGTzJkQ1FVTjRRaXhOUVVGTkxFMUJRVTBzUjBGQlJ5eEhRVUZITEUxQlFVMHNTVUZCU1N4RlFVRkZMRWRCUVVjc1RVRkJUU3hKUVVGSkxFVkJRVVVzUlVGQlJTeERRVUZETEVsQlFVa3NSVUZCUlN4RFFVRkRPMmRDUVVOMlJDeEpRVUZKTEV0QlFVc3NSVUZCUlN4RFFVRkRPMjlDUVVOV0xFOUJRVThzUTBGQlF5eEZRVUZGTEVWQlFVVXNSVUZCUlN4TFFVRkxMRVZCUVVVc1RVRkJUU3hGUVVGRkxFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RlFVRkZMRU5CUVVNc1EwRkJRenR2UWtGRGVFUXNUMEZCVHp0blFrRkRWQ3hEUVVGRE8yZENRVU5FTEU5QlFVOHNRMEZCUXl4RlFVRkZMRVZCUVVVc1JVRkJSU3hKUVVGSkxFVkJRVVVzVFVGQlRTeEZRVUZGTEVOQlFVTXNRMEZCUXp0WlFVTm9ReXhEUVVGRExFTkJRMFlzUTBGQlF6dFJRVU5LTEVOQlFVTXNRMEZCUXl4RFFVRkRPMGxCUTB3c1EwRkJRenREUVVOR08wRkJSVVFzYTBOQlFXdERPMEZCUTJ4RExFMUJRVTBzUTBGQlF5eE5RVUZOTERCQ1FVRXdRaXhIUVVGSExFbEJRVWtzTUVKQlFUQkNMRVZCUVVVc1EwRkJRenRCUVVVelJTeHBSRUZCYVVRN1FVRkRha1FzVFVGQlRTeFZRVUZWTEdkRFFVRm5ReXhEUVVNNVF5eGhRVUZ4UWp0SlFVVnlRaXhQUVVGUExFbEJRVWtzTUVKQlFUQkNMRU5CUVVNc1lVRkJZU3hEUVVGRExFTkJRVU03UVVGRGRrUXNRMEZCUXlJc0luTnZkWEpqWlhORGIyNTBaVzUwSWpwYklpOHFLbHh1SUNvZ1FHMXZaSFZzWlNCcGJuUmxaM0poZEdsdmJuTXZjR3gxWjJsdWN5OXJhV0poYm1FdmFXNXpkR0ZzYkdWeVhHNGdLaUJBYzNWdGJXRnllU0JMYVdKaGJtRWdaR0Z6YUdKdllYSmtJR1Z0WW1Wa0lIQnNkV2RwYmlCcGJuTjBZV3hzWlhJdVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1NXMXdiR1Z0Wlc1MGN5QmdSR0Z6YUdKdllYSmtSVzFpWldSUWJIVm5hVzVnSUdadmNpQkxhV0poYm1FNklHSjFhV3hrY3lCMGFHVWdjM1JoWW14bFhHNGdLaUJwWm5KaGJXVWdaVzFpWldRZ1ZWSk1MQ0JqY21WaGRHVnpMM05sYm1SeklITjNhWFJqYUMxa1lYTm9ZbTloY21RZ2JXVnpjMkZuWlhNc0lHRnVaQ0J0WVhSbGNtbGhiR2w2WlhOY2JpQXFJSFJvWlNCblpXNWxjbUYwWldRZ2NHeDFaMmx1SUhOdmRYSmpaU0JwYm5SdklHRWdkR0Z5WjJWMElHUnBjbVZqZEc5eWVTQW9iM0IwYVc5dVlXeHNlU0JpZFdsc1pHbHVaeUJwZENrdVhHNGdLbHh1SUNvZ1ZHaGxJSEJzZFdkcGJpQnBjeUJ2Y21jdFlXZHViM04wYVdNNklIUm9aWEpsSUdseklHNWxkbVZ5SUhOd1lXTmxJSE4zYVhSamFHbHVaeTRnVkdobElHTjFjbkpsYm5SY2JpQXFJRXRwWW1GdVlTQnpjR0ZqWlNCamIyMWxjeUJtY205dElIUm9aU0J5WlhGMVpYTjBMM05sYzNOcGIyNHZjSEp2ZUhrZ1kyOXVkR1Y0ZEN3Z2JtOTBJR1p5YjIwZ2RHaGxYRzRnS2lCd2JIVm5hVzRzSUhOdklIUm9aU0J6WVcxbElIQnNkV2RwYmlCelpYSjJaWE1nWlhabGNua2diM0puTGx4dUlDb3ZYRzVwYlhCdmNuUWdleUJKYm5SbGNtNWhiRVZ5Y205eUlIMGdabkp2YlNCY0lrQmtaV05oWmkxMGN5OWtZaTFrWldOdmNtRjBiM0p6WENJN1hHNXBiWEJ2Y25RZ2V5QlZibk4xY0hCdmNuUmxaRVZ5Y205eUxDQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtY2dmU0JtY205dElGd2lRR1JsWTJGbUxYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQXFJR0Z6SUdaeklHWnliMjBnWENKdWIyUmxPbVp6WENJN1hHNXBiWEJ2Y25RZ0tpQmhjeUJ3WVhSb0lHWnliMjBnWENKdWIyUmxPbkJoZEdoY0lqdGNibWx0Y0c5eWRDQjdJR1Y0WldOR2FXeGxJSDBnWm5KdmJTQmNJbTV2WkdVNlkyaHBiR1JmY0hKdlkyVnpjMXdpTzF4dVhHNXBiWEJ2Y25RZ2UxeHVJQ0JqY21WaGRHVlRkMmwwWTJoRVlYTm9ZbTloY21STlpYTnpZV2RsTEZ4dUlDQnpaVzVrVTNkcGRHTm9SR0Z6YUdKdllYSmtUV1Z6YzJGblpTeGNiaUFnZEhsd1pTQkVZWE5vWW05aGNtUkZiV0psWkZCc2RXZHBiaXhjYmlBZ2RIbHdaU0JFWVhOb1ltOWhjbVJGYldKbFpGQnNkV2RwYmtSbGMyTnlhWEIwYjNJc1hHNGdJSFI1Y0dVZ1JXMWlaV1JWY214UGNIUnBiMjV6TEZ4dUlDQjBlWEJsSUZCc2RXZHBia2x1YzNSaGJHeFBjSFJwYjI1ekxGeHVJQ0IwZVhCbElGQnNkV2RwYmtsdWMzUmhiR3hTWlhOMWJIUXNYRzRnSUhSNWNHVWdVM2RwZEdOb1JHRnphR0p2WVhKa1VHRjViRzloWkN4Y2JpQWdkSGx3WlNCVGQybDBZMmhFWVhOb1ltOWhjbVJOWlhOellXZGxMRnh1SUNCMGVYQmxJRVZ0WW1Wa1RXVnpjMkZuWlZSaGNtZGxkQ3hjYm4wZ1puSnZiU0JjSWk0dUwyTnZiblJ5WVdOMFhDSTdYRzVwYlhCdmNuUWdlMXh1SUNCTFNVSkJUa0ZmUVZCUVgwbEVMRnh1SUNCTFNVSkJUa0ZmVUV4VlIwbE9YMGxFTEZ4dUlDQkxTVUpCVGtGZlVFeFZSMGxPWDFaRlVsTkpUMDRzWEc0Z0lHSjFhV3hrUzJsaVlXNWhUV0Z1YVdabGMzUXNYRzU5SUdaeWIyMGdYQ0l1TDIxaGJtbG1aWE4wWENJN1hHNXBiWEJ2Y25RZ2V5QnJhV0poYm1GUWJIVm5hVzVHYVd4bGN5QjlJR1p5YjIwZ1hDSXVMM1JsYlhCc1lYUmxjMXdpTzF4dVhHNHZLaW9nUkdWbVlYVnNkQ0JMYVdKaGJtRWdZbUZ6WlNCd1lYUm9JSGRvWlc0Z2JtOXVaU0JwY3lCd2NtOTJhV1JsWkM0Z0tpOWNibVY0Y0c5eWRDQmpiMjV6ZENCTFNVSkJUa0ZmUkVWR1FWVk1WRjlDUVZORlgxQkJWRWdnUFNCY0ltdHBZbUZ1WVZ3aU8xeHVYRzR2S2lwY2JpQXFJRUoxYVd4a0lIUm9aU0J6ZEdGaWJHVWdTMmxpWVc1aElHVnRZbVZrSUdsbWNtRnRaU0JWVWt3dVhHNGdLbHh1SUNvZ1FHVjRZVzF3YkdWY2JpQXFJQ0FnWW5WcGJHUkxhV0poYm1GRmJXSmxaRlZ5YkNoN0lHaHZjM1E2SUZ3aWNIUndMbWh2YzNSY0lpd2daR0Z6YUdKdllYSmtTV1E2SUZ3aVlXSmpYQ0lzSUhCaGNtVnVkRTl5YVdkcGJqb2dYQ0pvZEhSd2N6b3ZMMkZ3Y0M1bGVHRnRjR3hsTG1OdmJWd2lJSDBwWEc0Z0tpQWdJQzh2SUQwK0lGd2lMeTl3ZEhBdWFHOXpkQzlyYVdKaGJtRXZZWEJ3TDI5eVoxOWtZWE5vWW05aGNtUmZaVzFpWldRL1pHRnphR0p2WVhKa1NXUTlZV0pqSm5CaGNtVnVkRTl5YVdkcGJqMW9kSFJ3Y3lVelFTVXlSaVV5Um1Gd2NDNWxlR0Z0Y0d4bExtTnZiVndpWEc0Z0tpOWNibVY0Y0c5eWRDQm1kVzVqZEdsdmJpQmlkV2xzWkV0cFltRnVZVVZ0WW1Wa1ZYSnNLRzl3ZEdsdmJuTTZJRVZ0WW1Wa1ZYSnNUM0IwYVc5dWN5azZJSE4wY21sdVp5QjdYRzRnSUdOdmJuTjBJR0poYzJWUVlYUm9JRDBnYjNCMGFXOXVjeTVpWVhObFVHRjBhQ0EvUHlCTFNVSkJUa0ZmUkVWR1FWVk1WRjlDUVZORlgxQkJWRWc3WEc0Z0lHTnZibk4wSUhCaGNtRnRjeUE5SUc1bGR5QlZVa3hUWldGeVkyaFFZWEpoYlhNb0tUdGNiaUFnY0dGeVlXMXpMbk5sZENoY0ltUmhjMmhpYjJGeVpFbGtYQ0lzSUc5d2RHbHZibk11WkdGemFHSnZZWEprU1dRcE8xeHVJQ0J3WVhKaGJYTXVjMlYwS0Z3aWNHRnlaVzUwVDNKcFoybHVYQ0lzSUc5d2RHbHZibk11Y0dGeVpXNTBUM0pwWjJsdUtUdGNiaUFnYVdZZ0tHOXdkR2x2Ym5NdWRtbGxkejh1ZEdsdFpWSmhibWRsS1NCN1hHNGdJQ0FnY0dGeVlXMXpMbk5sZENoY2JpQWdJQ0FnSUZ3aWRHbHRaVkpoYm1kbFhDSXNYRzRnSUNBZ0lDQktVMDlPTG5OMGNtbHVaMmxtZVNodmNIUnBiMjV6TG5acFpYY3VkR2x0WlZKaGJtZGxLVnh1SUNBZ0lDazdYRzRnSUgxY2JpQWdjbVYwZFhKdUlHQXZMeVI3YjNCMGFXOXVjeTVvYjNOMGZTOGtlMkpoYzJWUVlYUm9mUzloY0hBdkpIdExTVUpCVGtGZlFWQlFYMGxFZlQ4a2UzQmhjbUZ0Y3k1MGIxTjBjbWx1WnlncGZXQTdYRzU5WEc1Y2JpOHFLbHh1SUNvZ1FHTnNZWE56SUV0cFltRnVZVVJoYzJoaWIyRnlaRVZ0WW1Wa1VHeDFaMmx1WEc0Z0tpQkFjM1Z0YldGeWVTQkxhV0poYm1FZ2FXMXdiR1Z0Wlc1MFlYUnBiMjRnYjJZZ2RHaGxJR0JFWVhOb1ltOWhjbVJGYldKbFpGQnNkV2RwYm1BZ1kyOXVkSEpoWTNRdVhHNGdLaUJBWkdWelkzSnBjSFJwYjI0Z1QzSm5MV0ZuYm05emRHbGpJRzExYkhScExYUmxibUZ1ZENCa1lYTm9ZbTloY21RZ1pXMWlaV1FnY0d4MVoybHVJR1p2Y2lCTGFXSmhibUV1WEc0Z0tpOWNibVY0Y0c5eWRDQmpiR0Z6Y3lCTGFXSmhibUZFWVhOb1ltOWhjbVJGYldKbFpGQnNkV2RwYmlCcGJYQnNaVzFsYm5SeklFUmhjMmhpYjJGeVpFVnRZbVZrVUd4MVoybHVJSHRjYmlBZ2NIVmliR2xqSUhKbFlXUnZibXg1SUdSbGMyTnlhWEIwYjNJNklFUmhjMmhpYjJGeVpFVnRZbVZrVUd4MVoybHVSR1Z6WTNKcGNIUnZjanRjYmx4dUlDQndkV0pzYVdNZ1kyOXVjM1J5ZFdOMGIzSW9kR0Z5WjJWMFZtVnljMmx2YmpvZ2MzUnlhVzVuSUQwZ1hDSnJhV0poYm1GY0lpa2dlMXh1SUNBZ0lIUm9hWE11WkdWelkzSnBjSFJ2Y2lBOUlIdGNiaUFnSUNBZ0lHbGtPaUJMU1VKQlRrRmZVRXhWUjBsT1gwbEVMRnh1SUNBZ0lDQWdZWEJ3U1dRNklFdEpRa0ZPUVY5QlVGQmZTVVFzWEc0Z0lDQWdJQ0IyWlhKemFXOXVPaUJMU1VKQlRrRmZVRXhWUjBsT1gxWkZVbE5KVDA0c1hHNGdJQ0FnSUNCMFlYSm5aWFJXWlhKemFXOXVMRnh1SUNBZ0lDQWdkRzl2YkRvZ1hDSnJhV0poYm1GY0lpeGNiaUFnSUNCOU8xeHVJQ0I5WEc1Y2JpQWdjSFZpYkdsaklHMWhibWxtWlhOMEtIUmhjbWRsZEZabGNuTnBiMjQ2SUhOMGNtbHVaeUE5SUhSb2FYTXVaR1Z6WTNKcGNIUnZjaTUwWVhKblpYUldaWEp6YVc5dUtUb2dVbVZqYjNKa1BITjBjbWx1Wnl3Z2RXNXJibTkzYmo0Z2UxeHVJQ0FnSUhKbGRIVnliaUJpZFdsc1pFdHBZbUZ1WVUxaGJtbG1aWE4wS0hSaGNtZGxkRlpsY25OcGIyNHBJR0Z6SUhWdWEyNXZkMjRnWVhNZ1VtVmpiM0prUEhOMGNtbHVaeXdnZFc1cmJtOTNiajQ3WEc0Z0lIMWNibHh1SUNCd2RXSnNhV01nWW5WcGJHUkZiV0psWkZWeWJDaHZjSFJwYjI1ek9pQkZiV0psWkZWeWJFOXdkR2x2Ym5NcE9pQnpkSEpwYm1jZ2UxeHVJQ0FnSUhKbGRIVnliaUJpZFdsc1pFdHBZbUZ1WVVWdFltVmtWWEpzS0c5d2RHbHZibk1wTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUdOeVpXRjBaVk4zYVhSamFFUmhjMmhpYjJGeVpFMWxjM05oWjJVb1hHNGdJQ0FnY0dGNWJHOWhaRG9nVTNkcGRHTm9SR0Z6YUdKdllYSmtVR0Y1Ykc5aFpGeHVJQ0FwT2lCVGQybDBZMmhFWVhOb1ltOWhjbVJOWlhOellXZGxJSHRjYmlBZ0lDQnlaWFIxY200Z1kzSmxZWFJsVTNkcGRHTm9SR0Z6YUdKdllYSmtUV1Z6YzJGblpTaHdZWGxzYjJGa0tUdGNiaUFnZlZ4dVhHNGdJSEIxWW14cFl5QnpaVzVrVTNkcGRHTm9SR0Z6YUdKdllYSmtUV1Z6YzJGblpTaGNiaUFnSUNCMFlYSm5aWFE2SUVWdFltVmtUV1Z6YzJGblpWUmhjbWRsZEN4Y2JpQWdJQ0J3WVhsc2IyRmtPaUJUZDJsMFkyaEVZWE5vWW05aGNtUlFZWGxzYjJGa0xGeHVJQ0FnSUhSaGNtZGxkRTl5YVdkcGJqb2djM1J5YVc1blhHNGdJQ2s2SUhadmFXUWdlMXh1SUNBZ0lITmxibVJUZDJsMFkyaEVZWE5vWW05aGNtUk5aWE56WVdkbEtIUmhjbWRsZEN3Z2NHRjViRzloWkN3Z2RHRnlaMlYwVDNKcFoybHVLVHRjYmlBZ2ZWeHVYRzRnSUM4cUtseHVJQ0FnS2lCTllYUmxjbWxoYkdsNlpTQjBhR1VnWjJWdVpYSmhkR1ZrSUV0cFltRnVZU0J3YkhWbmFXNGdhVzUwYnlCZ2RHRnlaMlYwVUdGMGFDOXZjbWRmWkdGemFHSnZZWEprWDJWdFltVmtMMkF1WEc0Z0lDQXFYRzRnSUNBcUlFdHBZbUZ1WVNCd2JIVm5hVzV6SUcxMWMzUWdZbVVnWW5WcGJIUWdkMmwwYUdsdUlIUm9aU0JMYVdKaGJtRWdjbVZ3YnlCaFoyRnBibk4wSUhSb1pTQmxlR0ZqZEZ4dUlDQWdLaUJMYVdKaGJtRWdkbVZ5YzJsdmJpNGdWMmhsYmlCZ1luVnBiR1JnSUdseklIUnlkV1VzSUhSb2FYTWdZWFIwWlcxd2RITWdZSGxoY200Z1luVnBiR1JnSUdsdUlIUm9aVnh1SUNBZ0tpQndiSFZuYVc0Z1pHbHlaV04wYjNKNUlDaGlaWE4wTFdWbVptOXlkQ2s3SUhKbFlXd2dZblZwYkdSeklISmxjWFZwY21VZ2RHaGxJRXRwWW1GdVlTQndiSFZuYVc1Y2JpQWdJQ29nYUdWc2NHVnljeUJsYm5acGNtOXViV1Z1ZEM1Y2JpQWdJQ292WEc0Z0lIQjFZbXhwWXlCaGMzbHVZeUJwYm5OMFlXeHNLRnh1SUNBZ0lHOXdkR2x2Ym5NNklGQnNkV2RwYmtsdWMzUmhiR3hQY0hScGIyNXpYRzRnSUNrNklGQnliMjFwYzJVOFVHeDFaMmx1U1c1emRHRnNiRkpsYzNWc2RENGdlMXh1SUNBZ0lHTnZibk4wSUdOMGVDQTlJRzl3ZEdsdmJuTXVZMjl1ZEdWNGRDQmhjeUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBpQjhJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQnBaaUFvWTNSNEtTQjdYRzRnSUNBZ0lDQXZMeUJEYjI1MFpYaDBJR2x6SUdGalkyVndkR1ZrSUdadmNpQjBjbUZqWldGaWFXeHBkSGs3SUc1dklHeHZaMmRwYm1jZ2MybGtaUzFsWm1abFkzUWdjbVZ4ZFdseVpXUWdhR1Z5WlM1Y2JpQWdJQ0FnSUhadmFXUWdZM1I0TzF4dUlDQWdJSDFjYmlBZ0lDQnBaaUFvSVc5d2RHbHZibk11ZEdGeVoyVjBVR0YwYUNCOGZDQnZjSFJwYjI1ekxuUmhjbWRsZEZCaGRHZ3VkSEpwYlNncExteGxibWQwYUNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUZWdWMzVndjRzl5ZEdWa1JYSnliM0lvWENKcGJuTjBZV3hzSUhSaGNtZGxkRkJoZEdnZ2FYTWdjbVZ4ZFdseVpXUmNJaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2RHRnlaMlYwVm1WeWMybHZiaUE5SUc5d2RHbHZibk11ZEdGeVoyVjBWbVZ5YzJsdmJpQS9QeUIwYUdsekxtUmxjMk55YVhCMGIzSXVkR0Z5WjJWMFZtVnljMmx2Ymp0Y2JpQWdJQ0JqYjI1emRDQndiSFZuYVc1RWFYSWdQU0J3WVhSb0xuSmxjMjlzZG1Vb1hHNGdJQ0FnSUNCdmNIUnBiMjV6TG5SaGNtZGxkRkJoZEdnc1hHNGdJQ0FnSUNCTFNVSkJUa0ZmUVZCUVgwbEVYRzRnSUNBZ0tUdGNibHh1SUNBZ0lHbG1JQ2htY3k1bGVHbHpkSE5UZVc1aktIQnNkV2RwYmtScGNpa3BJSHRjYmlBZ0lDQWdJR2xtSUNnaGIzQjBhVzl1Y3k1dmRtVnlkM0pwZEdVcElIdGNiaUFnSUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lDQWdZRkJzZFdkcGJpQmthWEpsWTNSdmNua2dZV3h5WldGa2VTQmxlR2x6ZEhNNklDUjdjR3gxWjJsdVJHbHlmU0FvZFhObElHOTJaWEozY21sMFpUb2dkSEoxWlNsZ1hHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQm1jeTV5YlZONWJtTW9jR3gxWjJsdVJHbHlMQ0I3SUhKbFkzVnljMmwyWlRvZ2RISjFaU3dnWm05eVkyVTZJSFJ5ZFdVZ2ZTazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ1kyOXVjM1FnWm1sc1pYTWdQU0JyYVdKaGJtRlFiSFZuYVc1R2FXeGxjeWgwWVhKblpYUldaWEp6YVc5dUtUdGNiaUFnSUNCamIyNXpkQ0IzY21sMGRHVnVPaUJ6ZEhKcGJtZGJYU0E5SUZ0ZE8xeHVJQ0FnSUdadmNpQW9ZMjl1YzNRZ1ptbHNaU0J2WmlCbWFXeGxjeWtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdablZzYkZCaGRHZ2dQU0J3WVhSb0xtcHZhVzRvY0d4MVoybHVSR2x5TENCbWFXeGxMbkJoZEdncE8xeHVJQ0FnSUNBZ1puTXViV3RrYVhKVGVXNWpLSEJoZEdndVpHbHlibUZ0WlNobWRXeHNVR0YwYUNrc0lIc2djbVZqZFhKemFYWmxPaUIwY25WbElIMHBPMXh1SUNBZ0lDQWdabk11ZDNKcGRHVkdhV3hsVTNsdVl5aG1kV3hzVUdGMGFDd2dabWxzWlM1amIyNTBaVzUwTENCY0luVjBaamhjSWlrN1hHNGdJQ0FnSUNCM2NtbDBkR1Z1TG5CMWMyZ29abWxzWlM1d1lYUm9LVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnNaWFFnWW5WcGJIUWdQU0JtWVd4elpUdGNiaUFnSUNCc1pYUWdZblZwYkdSUGRYUndkWFE2SUhOMGNtbHVaeUI4SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0JwWmlBb2IzQjBhVzl1Y3k1aWRXbHNaQ2tnZTF4dUlDQWdJQ0FnWTI5dWMzUWdjbVZ6ZFd4MElEMGdZWGRoYVhRZ2RHaHBjeTV5ZFc1Q2RXbHNaQ2h3YkhWbmFXNUVhWElwTG1OaGRHTm9LQ2hsY25JNklFVnljbTl5S1NBOVBpQW9lMXh1SUNBZ0lDQWdJQ0J2YXpvZ1ptRnNjMlVnWVhNZ1kyOXVjM1FzWEc0Z0lDQWdJQ0FnSUc5MWRIQjFkRG9nWlhKeUxtMWxjM05oWjJVc1hHNGdJQ0FnSUNCOUtTazdYRzRnSUNBZ0lDQmlkV2xzZENBOUlISmxjM1ZzZEM1dmF6dGNiaUFnSUNBZ0lHSjFhV3hrVDNWMGNIVjBJRDBnY21WemRXeDBMbTkxZEhCMWREdGNiaUFnSUNCOVhHNWNiaUFnSUNCeVpYUjFjbTRnZTF4dUlDQWdJQ0FnY0d4MVoybHVVR0YwYURvZ2NHeDFaMmx1UkdseUxGeHVJQ0FnSUNBZ1pHVnpZM0pwY0hSdmNqb2dleUF1TGk1MGFHbHpMbVJsYzJOeWFYQjBiM0lzSUhSaGNtZGxkRlpsY25OcGIyNGdmU3hjYmlBZ0lDQWdJR1pwYkdWek9pQjNjbWwwZEdWdUxGeHVJQ0FnSUNBZ1luVnBiSFFzWEc0Z0lDQWdJQ0JpZFdsc1pFOTFkSEIxZEN4Y2JpQWdJQ0I5TzF4dUlDQjlYRzVjYmlBZ0x5b3FYRzRnSUNBcUlFSmxjM1F0WldabWIzSjBJR0I1WVhKdUlHSjFhV3hrWUNCcGJpQjBhR1VnY0d4MVoybHVJR1JwY21WamRHOXllUzRnVW1WaGJDQmlkV2xzWkhNZ2NtVnhkV2x5WlNCMGFHVmNiaUFnSUNvZ1MybGlZVzVoSUhCc2RXZHBiaUJvWld4d1pYSnpJR1Z1ZG1seWIyNXRaVzUwT3lCbVlXbHNkWEpsY3lCaGNtVWdZMkZ3ZEhWeVpXUXNJRzV2ZENCMGFISnZkMjR1WEc0Z0lDQXFMMXh1SUNCd2NtOTBaV04wWldRZ2NuVnVRblZwYkdRb1hHNGdJQ0FnY0d4MVoybHVSR2x5T2lCemRISnBibWRjYmlBZ0tUb2dVSEp2YldselpUeDdJRzlyT2lCaWIyOXNaV0Z1T3lCdmRYUndkWFE2SUhOMGNtbHVaeUI5UGlCN1hHNGdJQ0FnY21WMGRYSnVJRzVsZHlCUWNtOXRhWE5sS0NoeVpYTnZiSFpsS1NBOVBpQjdYRzRnSUNBZ0lDQmxlR1ZqUm1sc1pTaGNiaUFnSUNBZ0lDQWdYQ0o1WVhKdVhDSXNYRzRnSUNBZ0lDQWdJRnRjSW1KMWFXeGtYQ0pkTEZ4dUlDQWdJQ0FnSUNCN0lHTjNaRG9nY0d4MVoybHVSR2x5TENCMGFXMWxiM1YwT2lBeE1qQXdNREFnZlN4Y2JpQWdJQ0FnSUNBZ0tHVnljbTl5TENCemRHUnZkWFFzSUhOMFpHVnljaWtnUFQ0Z2UxeHVJQ0FnSUNBZ0lDQWdJR052Ym5OMElHOTFkSEIxZENBOUlHQWtlM04wWkc5MWRDQS9QeUJjSWx3aWZTUjdjM1JrWlhKeUlEOC9JRndpWENKOVlDNTBjbWx0S0NrN1hHNGdJQ0FnSUNBZ0lDQWdhV1lnS0dWeWNtOXlLU0I3WEc0Z0lDQWdJQ0FnSUNBZ0lDQnlaWE52YkhabEtIc2diMnM2SUdaaGJITmxMQ0J2ZFhSd2RYUTZJRzkxZEhCMWRDQjhmQ0JsY25KdmNpNXRaWE56WVdkbElIMHBPMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NtVjBkWEp1TzF4dUlDQWdJQ0FnSUNBZ0lIMWNiaUFnSUNBZ0lDQWdJQ0J5WlhOdmJIWmxLSHNnYjJzNklIUnlkV1VzSUc5MWRIQjFkQ0I5S1R0Y2JpQWdJQ0FnSUNBZ2ZWeHVJQ0FnSUNBZ0tUdGNiaUFnSUNCOUtUdGNiaUFnZlZ4dWZWeHVYRzR2S2lvZ1JHVm1ZWFZzZENCemFXNW5iR1YwYjI0Z2FXNXpkR0Z1WTJVdUlDb3ZYRzVsZUhCdmNuUWdZMjl1YzNRZ2EybGlZVzVoUkdGemFHSnZZWEprUlcxaVpXUlFiSFZuYVc0Z1BTQnVaWGNnUzJsaVlXNWhSR0Z6YUdKdllYSmtSVzFpWldSUWJIVm5hVzRvS1R0Y2JseHVMeW9xSUVaaFkzUnZjbmtnWVdOalpYQjBhVzVuSUdFZ2RHRnlaMlYwSUV0cFltRnVZU0IyWlhKemFXOXVMaUFxTDF4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUdOeVpXRjBaVXRwWW1GdVlVUmhjMmhpYjJGeVpFVnRZbVZrVUd4MVoybHVLRnh1SUNCMFlYSm5aWFJXWlhKemFXOXVPaUJ6ZEhKcGJtZGNiaWs2SUV0cFltRnVZVVJoYzJoaWIyRnlaRVZ0WW1Wa1VHeDFaMmx1SUh0Y2JpQWdjbVYwZFhKdUlHNWxkeUJMYVdKaGJtRkVZWE5vWW05aGNtUkZiV0psWkZCc2RXZHBiaWgwWVhKblpYUldaWEp6YVc5dUtUdGNibjFjYmlKZGZRPT0iXX0=
|
|
179
|
+
//# sourceMappingURL=installer.js.map
|
|
180
|
+
//# sourceMappingURL=installer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins/kibana/installer.cjs","sourceRoot":"","sources":["plugins/kibana/installer.js"],"names":[],"mappings":"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"}
|
|
@@ -29,5 +29,5 @@ function buildKibanaManifest(targetVersion = "kibana") {
|
|
|
29
29
|
optionalPlugins: [],
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
//# sourceMappingURL=
|
|
33
|
-
//# sourceMappingURL=
|
|
32
|
+
//# sourceMappingURL=manifest.js.map
|
|
33
|
+
//# sourceMappingURL=manifest.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins/kibana/manifest.cjs","sourceRoot":"","sources":["plugins/kibana/manifest.js"],"names":[],"mappings":";;;AAeA,kDAUC;AAzBD;;;;;GAKG;AACH,kDAAsD;AAwB7C,mGAxBA,gCAAkB,OAwBA;AAvBd,QAAA,gBAAgB,GAAG,mBAAmB,CAAC;AACvC,QAAA,aAAa,GAAG,qBAAqB,CAAC;AACtC,QAAA,qBAAqB,GAAG,OAAO,CAAC;AAC7C;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,aAAa,GAAG,QAAQ;IACxD,OAAO;QACH,EAAE,EAAE,wBAAgB;QACpB,OAAO,EAAE,6BAAqB;QAC9B,aAAa,EAAE,aAAa;QAC5B,MAAM,EAAE,IAAI;QACZ,EAAE,EAAE,IAAI;QACR,eAAe,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC;QACpD,eAAe,EAAE,EAAE;KACtB,CAAC;AACN,CAAC;AAMD,oCAAoC"}
|
|
@@ -499,5 +499,5 @@ function kibanaPluginFiles(targetVersion) {
|
|
|
499
499
|
{ path: "server/plugin.ts", content: SERVER_PLUGIN },
|
|
500
500
|
];
|
|
501
501
|
}
|
|
502
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbnMva2liYW5hL3RlbXBsYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUNILE9BQU8sRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLEVBQUUscUJBQXFCLEVBQUUsc0JBQW1CO0FBU3BGLE1BQU0sU0FBUyxHQUFHOzs7O0NBSWpCLENBQUM7QUFFRixNQUFNLFlBQVksR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQStCcEIsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHOzs7Ozs7Q0FNcEIsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7O2FBZ0JULGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBMEJ6QixDQUFDO0FBRUYsTUFBTSxrQkFBa0IsR0FBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQTZTMUIsQ0FBQztBQUVGLE1BQU0sWUFBWSxHQUFHOzs7Ozs7Q0FNcEIsQ0FBQztBQUVGLE1BQU0sYUFBYSxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7c0JBZUEsYUFBYTs7Ozs7Ozt1QkFPWixhQUFhOzs7Ozs7Ozs7OztDQVduQyxDQUFDO0FBRUYsTUFBTSxNQUFNLEdBQUcsS0FBSyxnQkFBZ0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztjQXFCdEIsYUFBYTs7Ozs7Ozs7V0FRaEIscUJBQXFCO0NBQy9CLENBQUM7QUFFRjs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLGFBQXFCO0lBQ3JELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQzdCO1FBQ0UsRUFBRSxFQUFFLGdCQUFnQjtRQUNwQixPQUFPLEVBQUUscUJBQXFCO1FBQzlCLGFBQWEsRUFBRSxhQUFhO1FBQzVCLE1BQU0sRUFBRSxJQUFJO1FBQ1osRUFBRSxFQUFFLElBQUk7UUFDUixlQUFlLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQztRQUNwRCxlQUFlLEVBQUUsRUFBRTtLQUNwQixFQUNELElBQUksRUFDSixDQUFDLENBQ0YsQ0FBQztJQUVGLE9BQU87UUFDTCxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsUUFBUSxJQUFJLEVBQUU7UUFDakQsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxHQUFHLFNBQVMsSUFBSSxFQUFFO1FBQ3BELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO1FBQ3RDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7UUFDbEQsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtRQUNsRCxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO1FBQ3JELEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtRQUMvRCxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFO1FBQ2xELEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUU7S0FDckQsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBtb2R1bGUgaW50ZWdyYXRpb25zL3BsdWdpbnMva2liYW5hL3RlbXBsYXRlc1xuICogQHN1bW1hcnkgVmVyc2lvbi1wYXJhbWV0ZXJpemVkIHNvdXJjZSB0ZW1wbGF0ZXMgZm9yIHRoZSBLaWJhbmEgZW1iZWQgcGx1Z2luLlxuICogQGRlc2NyaXB0aW9uIEhvbGRzIHRoZSBnZW5lcmF0ZWQgcGx1Z2luIHNvdXJjZSBhcyBzdHJpbmcgdGVtcGxhdGVzLiBUaGVzZVxuICogYXJlIG1hdGVyaWFsaXplZCBvbnRvIGRpc2sgYnkgdGhlIGluc3RhbGxlci4gVGhlIHNvdXJjZSBpcyB0aGUgcmVmZXJlbmNlXG4gKiBtdWx0aS10ZW5hbnQgZW1iZWQgcGx1Z2luIHByZXNlcnZlZCBpbiBERUNBRi00MCDCpzguIFRoZXJlIGlzIG5ldmVyIHNwYWNlXG4gKiBzd2l0Y2hpbmc7IHRoZSBwbHVnaW4gaXMgb3JnLWFnbm9zdGljIGFuZCB0aGUgY3VycmVudCBLaWJhbmEgc3BhY2UgY29tZXNcbiAqIGZyb20gdGhlIHJlcXVlc3Qvc2Vzc2lvbi9wcm94eSBjb250ZXh0LlxuICovXG5pbXBvcnQgeyBLSUJBTkFfQVBQX0lELCBLSUJBTkFfUExVR0lOX0lELCBLSUJBTkFfUExVR0lOX1ZFUlNJT04gfSBmcm9tIFwiLi9tYW5pZmVzdFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEtpYmFuYVBsdWdpbkZpbGUge1xuICAvKiogUmVsYXRpdmUgcGF0aCB3aXRoaW4gdGhlIHBsdWdpbiBkaXJlY3RvcnkuICovXG4gIHBhdGg6IHN0cmluZztcbiAgLyoqIEZpbGUgY29udGVudHMuICovXG4gIGNvbnRlbnQ6IHN0cmluZztcbn1cblxuY29uc3QgVFNfQ09ORklHID0gYHtcbiAgXCJleHRlbmRzXCI6IFwiLi4vLi4vdHNjb25maWcuanNvblwiLFxuICBcImluY2x1ZGVcIjogW1wicHVibGljLyoqLypcIiwgXCJzZXJ2ZXIvKiovKlwiXVxufVxuYDtcblxuY29uc3QgUFVCTElDX1RZUEVTID0gYGltcG9ydCB0eXBlIHtcbiAgQXBwTW91bnRQYXJhbWV0ZXJzLFxuICBDb3JlU2V0dXAsXG4gIENvcmVTdGFydCxcbiAgUGx1Z2luXG59IGZyb20gJ0BrYm4vY29yZS9wdWJsaWMnO1xuXG5pbXBvcnQgdHlwZSB7IERhc2hib2FyZFN0YXJ0IH0gZnJvbSAnQGtibi9kYXNoYm9hcmQtcGx1Z2luL3B1YmxpYyc7XG5pbXBvcnQgdHlwZSB7IEVtYmVkZGFibGVTdGFydCB9IGZyb20gJ0BrYm4vZW1iZWRkYWJsZS1wbHVnaW4vcHVibGljJztcbmltcG9ydCB0eXBlIHsgRGF0YVB1YmxpY1BsdWdpblN0YXJ0IH0gZnJvbSAnQGtibi9kYXRhLXBsdWdpbi9wdWJsaWMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9yZ0Rhc2hib2FyZEVtYmVkU2V0dXBEZXBzIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnRGFzaGJvYXJkRW1iZWRTdGFydERlcHMge1xuICBkYXNoYm9hcmQ6IERhc2hib2FyZFN0YXJ0O1xuICBlbWJlZGRhYmxlOiBFbWJlZGRhYmxlU3RhcnQ7XG4gIGRhdGE6IERhdGFQdWJsaWNQbHVnaW5TdGFydDtcbn1cblxuZXhwb3J0IHR5cGUgT3JnRGFzaGJvYXJkRW1iZWRQbHVnaW4gPSBQbHVnaW48XG4gIHZvaWQsXG4gIHZvaWQsXG4gIE9yZ0Rhc2hib2FyZEVtYmVkU2V0dXBEZXBzLFxuICBPcmdEYXNoYm9hcmRFbWJlZFN0YXJ0RGVwc1xuPjtcblxuZXhwb3J0IGludGVyZmFjZSBNb3VudEFwcEFyZ3Mge1xuICBjb3JlU3RhcnQ6IENvcmVTdGFydDtcbiAgZGVwc1N0YXJ0OiBPcmdEYXNoYm9hcmRFbWJlZFN0YXJ0RGVwcztcbiAgcGFyYW1zOiBBcHBNb3VudFBhcmFtZXRlcnM7XG59XG5gO1xuXG5jb25zdCBQVUJMSUNfSU5ERVggPSBgaW1wb3J0IHR5cGUgeyBPcmdEYXNoYm9hcmRFbWJlZFBsdWdpbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgT3JnRGFzaGJvYXJkRW1iZWRQbHVnaW5JbXBsIH0gZnJvbSAnLi9wbHVnaW4nO1xuXG5leHBvcnQgZnVuY3Rpb24gcGx1Z2luKCk6IE9yZ0Rhc2hib2FyZEVtYmVkUGx1Z2luIHtcbiAgcmV0dXJuIG5ldyBPcmdEYXNoYm9hcmRFbWJlZFBsdWdpbkltcGwoKTtcbn1cbmA7XG5cbmNvbnN0IFBVQkxJQ19QTFVHSU4gPSBgaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBSZWFjdERPTSBmcm9tICdyZWFjdC1kb20nO1xuXG5pbXBvcnQgdHlwZSB7IENvcmVTZXR1cCwgQ29yZVN0YXJ0IH0gZnJvbSAnQGtibi9jb3JlL3B1YmxpYyc7XG5pbXBvcnQgdHlwZSB7XG4gIE9yZ0Rhc2hib2FyZEVtYmVkUGx1Z2luLFxuICBPcmdEYXNoYm9hcmRFbWJlZFNldHVwRGVwcyxcbiAgT3JnRGFzaGJvYXJkRW1iZWRTdGFydERlcHNcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBPcmdEYXNoYm9hcmRFbWJlZFBsdWdpbkltcGwgaW1wbGVtZW50cyBPcmdEYXNoYm9hcmRFbWJlZFBsdWdpbiB7XG4gIHB1YmxpYyBzZXR1cChcbiAgICBjb3JlOiBDb3JlU2V0dXA8T3JnRGFzaGJvYXJkRW1iZWRTdGFydERlcHM+LFxuICAgIGRlcHM6IE9yZ0Rhc2hib2FyZEVtYmVkU2V0dXBEZXBzXG4gICkge1xuICAgIGNvcmUuYXBwbGljYXRpb24ucmVnaXN0ZXIoe1xuICAgICAgaWQ6ICcke0tJQkFOQV9BUFBfSUR9JyxcbiAgICAgIHRpdGxlOiAnRGFzaGJvYXJkIEVtYmVkJyxcbiAgICAgIGNocm9tZWxlc3M6IHRydWUsXG4gICAgICB2aXNpYmxlSW46IFtdLFxuICAgICAgYXN5bmMgbW91bnQocGFyYW1zKSB7XG4gICAgICAgIGNvbnN0IFtjb3JlU3RhcnQsIGRlcHNTdGFydF0gPSBhd2FpdCBjb3JlLmdldFN0YXJ0U2VydmljZXMoKTtcbiAgICAgICAgY29uc3QgeyBPcmdEYXNoYm9hcmRFbWJlZEFwcCB9ID0gYXdhaXQgaW1wb3J0KCcuL2FwcGxpY2F0aW9uJyk7XG5cbiAgICAgICAgUmVhY3RET00ucmVuZGVyKFxuICAgICAgICAgIDxPcmdEYXNoYm9hcmRFbWJlZEFwcFxuICAgICAgICAgICAgY29yZVN0YXJ0PXtjb3JlU3RhcnR9XG4gICAgICAgICAgICBkZXBzU3RhcnQ9e2RlcHNTdGFydH1cbiAgICAgICAgICAgIHBhcmFtcz17cGFyYW1zfVxuICAgICAgICAgIC8+LFxuICAgICAgICAgIHBhcmFtcy5lbGVtZW50XG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuICgpID0+IFJlYWN0RE9NLnVubW91bnRDb21wb25lbnRBdE5vZGUocGFyYW1zLmVsZW1lbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0KGNvcmU6IENvcmVTdGFydCwgZGVwczogT3JnRGFzaGJvYXJkRW1iZWRTdGFydERlcHMpIHt9XG5cbiAgcHVibGljIHN0b3AoKSB7fVxufVxuYDtcblxuY29uc3QgUFVCTElDX0FQUExJQ0FUSU9OID0gYGltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBNb3VudEFwcEFyZ3MgfSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBEYXNoYm9hcmRRdWVyeSA9IHtcbiAgbGFuZ3VhZ2U6ICdrdWVyeScgfCAnbHVjZW5lJztcbiAgcXVlcnk6IHN0cmluZztcbn07XG5cbnR5cGUgRGFzaGJvYXJkVGltZVJhbmdlID0ge1xuICBmcm9tOiBzdHJpbmc7XG4gIHRvOiBzdHJpbmc7XG59O1xuXG50eXBlIFN3aXRjaERhc2hib2FyZE1lc3NhZ2UgPSB7XG4gIHR5cGU6ICdPUkdfREFTSEJPQVJEX0VNQkVEX1NXSVRDSF9EQVNIQk9BUkQnO1xuICBkYXNoYm9hcmRJZDogc3RyaW5nO1xuICB0aW1lUmFuZ2U/OiBEYXNoYm9hcmRUaW1lUmFuZ2U7XG4gIHF1ZXJ5PzogRGFzaGJvYXJkUXVlcnk7XG4gIGZpbHRlcnM/OiB1bmtub3duW107XG59O1xuXG50eXBlIFBhcmVudFJlYWR5TWVzc2FnZSA9IHtcbiAgdHlwZTogJ09SR19EQVNIQk9BUkRfRU1CRURfUkVBRFknO1xuICBkYXNoYm9hcmRJZDogc3RyaW5nIHwgbnVsbDtcbn07XG5cbnR5cGUgUGFyZW50UmVuZGVyZWRNZXNzYWdlID0ge1xuICB0eXBlOiAnT1JHX0RBU0hCT0FSRF9FTUJFRF9SRU5ERVJFRCc7XG4gIGRhc2hib2FyZElkOiBzdHJpbmc7XG59O1xuXG50eXBlIFBhcmVudEVycm9yTWVzc2FnZSA9IHtcbiAgdHlwZTogJ09SR19EQVNIQk9BUkRfRU1CRURfRVJST1InO1xuICBkYXNoYm9hcmRJZDogc3RyaW5nIHwgbnVsbDtcbiAgbWVzc2FnZTogc3RyaW5nO1xufTtcblxudHlwZSBQYXJlbnRNZXNzYWdlID1cbiAgfCBQYXJlbnRSZWFkeU1lc3NhZ2VcbiAgfCBQYXJlbnRSZW5kZXJlZE1lc3NhZ2VcbiAgfCBQYXJlbnRFcnJvck1lc3NhZ2U7XG5cbmNvbnN0IERFRkFVTFRfQUxMT1dFRF9QQVJFTlRfT1JJR0lOUzogc3RyaW5nW10gPSBbXG4gIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cbl07XG5cbmZ1bmN0aW9uIGdldEluaXRpYWxEYXNoYm9hcmRJZCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbiAgcmV0dXJuIHBhcmFtcy5nZXQoJ2Rhc2hib2FyZElkJyk7XG59XG5cbmZ1bmN0aW9uIGdldEFsbG93ZWRQYXJlbnRPcmlnaW5zKCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh3aW5kb3cubG9jYXRpb24uc2VhcmNoKTtcbiAgY29uc3QgcmF3ID0gcGFyYW1zLmdldCgncGFyZW50T3JpZ2luJyk7XG5cbiAgaWYgKCFyYXcpIHtcbiAgICByZXR1cm4gREVGQVVMVF9BTExPV0VEX1BBUkVOVF9PUklHSU5TO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBjb25zdCBkZWNvZGVkID0gZGVjb2RlVVJJQ29tcG9uZW50KHJhdyk7XG4gICAgY29uc3Qgb3JpZ2lucyA9IGRlY29kZWRcbiAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAubWFwKChvcmlnaW4pID0+IG9yaWdpbi50cmltKCkpXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICAgcmV0dXJuIG9yaWdpbnMubGVuZ3RoID4gMCA/IG9yaWdpbnMgOiBERUZBVUxUX0FMTE9XRURfUEFSRU5UX09SSUdJTlM7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBERUZBVUxUX0FMTE9XRURfUEFSRU5UX09SSUdJTlM7XG4gIH1cbn1cblxuZnVuY3Rpb24gaXNTd2l0Y2hEYXNoYm9hcmRNZXNzYWdlKGRhdGE6IHVua25vd24pOiBkYXRhIGlzIFN3aXRjaERhc2hib2FyZE1lc3NhZ2Uge1xuICBpZiAoIWRhdGEgfHwgdHlwZW9mIGRhdGEgIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgbWVzc2FnZSA9IGRhdGEgYXMgUGFydGlhbDxTd2l0Y2hEYXNoYm9hcmRNZXNzYWdlPjtcblxuICByZXR1cm4gKFxuICAgIG1lc3NhZ2UudHlwZSA9PT0gJ09SR19EQVNIQk9BUkRfRU1CRURfU1dJVENIX0RBU0hCT0FSRCcgJiZcbiAgICB0eXBlb2YgbWVzc2FnZS5kYXNoYm9hcmRJZCA9PT0gJ3N0cmluZycgJiZcbiAgICBtZXNzYWdlLmRhc2hib2FyZElkLmxlbmd0aCA+IDBcbiAgKTtcbn1cblxuZnVuY3Rpb24gcG9zdFRvUGFyZW50KG1lc3NhZ2U6IFBhcmVudE1lc3NhZ2UsIHRhcmdldE9yaWdpbjogc3RyaW5nKSB7XG4gIHdpbmRvdy5wYXJlbnQucG9zdE1lc3NhZ2UobWVzc2FnZSwgdGFyZ2V0T3JpZ2luKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIE9yZ0Rhc2hib2FyZEVtYmVkQXBwKHtcbiAgY29yZVN0YXJ0LFxuICBkZXBzU3RhcnRcbn06IE1vdW50QXBwQXJncykge1xuICBjb25zdCByb290UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IG1vdW50ZWREYXNoYm9hcmRSZWYgPSB1c2VSZWY8YW55PihudWxsKTtcbiAgY29uc3QgYWxsb3dlZFBhcmVudE9yaWdpbnNSZWYgPSB1c2VSZWY8c3RyaW5nW10+KGdldEFsbG93ZWRQYXJlbnRPcmlnaW5zKCkpO1xuICBjb25zdCBsYXN0UGFyZW50T3JpZ2luUmVmID0gdXNlUmVmPHN0cmluZz4od2luZG93LmxvY2F0aW9uLm9yaWdpbik7XG5cbiAgY29uc3QgW2Rhc2hib2FyZElkLCBzZXREYXNoYm9hcmRJZF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihcbiAgICBnZXRJbml0aWFsRGFzaGJvYXJkSWQoKVxuICApO1xuXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvcmVTdGFydC5jaHJvbWUuc2V0SXNWaXNpYmxlKGZhbHNlKTtcbiAgfSwgW2NvcmVTdGFydF0pO1xuXG4gIGNvbnN0IGRlc3Ryb3lDdXJyZW50RGFzaGJvYXJkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChtb3VudGVkRGFzaGJvYXJkUmVmLmN1cnJlbnQ/LmRlc3Ryb3kpIHtcbiAgICAgIG1vdW50ZWREYXNoYm9hcmRSZWYuY3VycmVudC5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgbW91bnRlZERhc2hib2FyZFJlZi5jdXJyZW50ID0gbnVsbDtcblxuICAgIGlmIChyb290UmVmLmN1cnJlbnQpIHtcbiAgICAgIHJvb3RSZWYuY3VycmVudC5pbm5lckhUTUwgPSAnJztcbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCBhcHBseVNoYXJlZERhc2hib2FyZFN0YXRlID0gdXNlQ2FsbGJhY2soXG4gICAgKG1lc3NhZ2U6IFN3aXRjaERhc2hib2FyZE1lc3NhZ2UpID0+IHtcbiAgICAgIGlmIChtZXNzYWdlLnRpbWVSYW5nZSkge1xuICAgICAgICBkZXBzU3RhcnQuZGF0YS5xdWVyeS50aW1lZmlsdGVyLnRpbWVmaWx0ZXIuc2V0VGltZShtZXNzYWdlLnRpbWVSYW5nZSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZXNzYWdlLnF1ZXJ5KSB7XG4gICAgICAgIGRlcHNTdGFydC5kYXRhLnF1ZXJ5LnF1ZXJ5U3RyaW5nLnNldFF1ZXJ5KG1lc3NhZ2UucXVlcnkpO1xuICAgICAgfVxuXG4gICAgICBpZiAobWVzc2FnZS5maWx0ZXJzKSB7XG4gICAgICAgIGRlcHNTdGFydC5kYXRhLnF1ZXJ5LmZpbHRlck1hbmFnZXIuc2V0RmlsdGVycyhtZXNzYWdlLmZpbHRlcnMgYXMgYW55KTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtkZXBzU3RhcnQuZGF0YV1cbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IG9uTWVzc2FnZSA9IChldmVudDogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgICBpZiAoIWFsbG93ZWRQYXJlbnRPcmlnaW5zUmVmLmN1cnJlbnQuaW5jbHVkZXMoZXZlbnQub3JpZ2luKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghaXNTd2l0Y2hEYXNoYm9hcmRNZXNzYWdlKGV2ZW50LmRhdGEpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbGFzdFBhcmVudE9yaWdpblJlZi5jdXJyZW50ID0gZXZlbnQub3JpZ2luO1xuXG4gICAgICBhcHBseVNoYXJlZERhc2hib2FyZFN0YXRlKGV2ZW50LmRhdGEpO1xuICAgICAgc2V0RGFzaGJvYXJkSWQoZXZlbnQuZGF0YS5kYXNoYm9hcmRJZCk7XG4gICAgfTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgb25NZXNzYWdlKTtcblxuICAgIHBvc3RUb1BhcmVudChcbiAgICAgIHtcbiAgICAgICAgdHlwZTogJ09SR19EQVNIQk9BUkRfRU1CRURfUkVBRFknLFxuICAgICAgICBkYXNoYm9hcmRJZFxuICAgICAgfSxcbiAgICAgIGxhc3RQYXJlbnRPcmlnaW5SZWYuY3VycmVudFxuICAgICk7XG5cbiAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpO1xuICB9LCBbYXBwbHlTaGFyZWREYXNoYm9hcmRTdGF0ZSwgZGFzaGJvYXJkSWRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZGFzaGJvYXJkSWQgfHwgIXJvb3RSZWYuY3VycmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBjYW5jZWxsZWQgPSBmYWxzZTtcblxuICAgIGFzeW5jIGZ1bmN0aW9uIHJlbmRlckRhc2hib2FyZCgpIHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIGRlc3Ryb3lDdXJyZW50RGFzaGJvYXJkKCk7XG5cbiAgICAgICAgY29uc3QgZmFjdG9yeSA9XG4gICAgICAgICAgZGVwc1N0YXJ0LmVtYmVkZGFibGUuZ2V0RW1iZWRkYWJsZUZhY3Rvcnk/LignZGFzaGJvYXJkJykgfHxcbiAgICAgICAgICBkZXBzU3RhcnQuZW1iZWRkYWJsZS5nZXRFbWJlZGRhYmxlRmFjdG9yeT8uKCdkYXNoYm9hcmRfY29udGFpbmVyJyk7XG5cbiAgICAgICAgaWYgKCFmYWN0b3J5KSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdLaWJhbmEgZGFzaGJvYXJkIGVtYmVkZGFibGUgZmFjdG9yeSB3YXMgbm90IGZvdW5kLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZW1iZWRkYWJsZSA9IGF3YWl0IGZhY3RvcnkuY3JlYXRlKHtcbiAgICAgICAgICBpZDogZGFzaGJvYXJkSWQsXG4gICAgICAgICAgc2F2ZWRPYmplY3RJZDogZGFzaGJvYXJkSWQsXG4gICAgICAgICAgdmlld01vZGU6ICd2aWV3JyxcbiAgICAgICAgICBoaWRlUGFuZWxUaXRsZXM6IGZhbHNlLFxuICAgICAgICAgIHVzZU1hcmdpbnM6IHRydWUsXG4gICAgICAgICAgc3luY0NvbG9yczogdHJ1ZSxcbiAgICAgICAgICBzeW5jQ3Vyc29yOiB0cnVlLFxuICAgICAgICAgIHN5bmNUb29sdGlwczogdHJ1ZSxcbiAgICAgICAgICB0aW1lUmFuZ2U6IGRlcHNTdGFydC5kYXRhLnF1ZXJ5LnRpbWVmaWx0ZXIudGltZWZpbHRlci5nZXRUaW1lKCksXG4gICAgICAgICAgcXVlcnk6IGRlcHNTdGFydC5kYXRhLnF1ZXJ5LnF1ZXJ5U3RyaW5nLmdldFF1ZXJ5KCksXG4gICAgICAgICAgZmlsdGVyczogZGVwc1N0YXJ0LmRhdGEucXVlcnkuZmlsdGVyTWFuYWdlci5nZXRGaWx0ZXJzKClcbiAgICAgICAgfSBhcyBhbnkpO1xuXG4gICAgICAgIGlmIChjYW5jZWxsZWQpIHtcbiAgICAgICAgICBlbWJlZGRhYmxlLmRlc3Ryb3k/LigpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGVtYmVkZGFibGUucmVuZGVyKHJvb3RSZWYuY3VycmVudCEpO1xuICAgICAgICBtb3VudGVkRGFzaGJvYXJkUmVmLmN1cnJlbnQgPSBlbWJlZGRhYmxlO1xuXG4gICAgICAgIHBvc3RUb1BhcmVudChcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnT1JHX0RBU0hCT0FSRF9FTUJFRF9SRU5ERVJFRCcsXG4gICAgICAgICAgICBkYXNoYm9hcmRJZFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbGFzdFBhcmVudE9yaWdpblJlZi5jdXJyZW50XG4gICAgICAgICk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zdCBtZXNzYWdlID1cbiAgICAgICAgICBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdVbmtub3duIGRhc2hib2FyZCBlcnJvcic7XG5cbiAgICAgICAgaWYgKHJvb3RSZWYuY3VycmVudCkge1xuICAgICAgICAgIHJvb3RSZWYuY3VycmVudC5pbm5lckhUTUwgPSBcXGBcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJcbiAgICAgICAgICAgICAgcGFkZGluZzogMjRweDtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGNvbG9yOiAjYmQyNzFlO1xuICAgICAgICAgICAgXCI+XG4gICAgICAgICAgICAgIEZhaWxlZCB0byByZW5kZXIgZGFzaGJvYXJkOiBcXCR7bWVzc2FnZX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIFxcYDtcbiAgICAgICAgfVxuXG4gICAgICAgIHBvc3RUb1BhcmVudChcbiAgICAgICAgICB7XG4gICAgICAgICAgICB0eXBlOiAnT1JHX0RBU0hCT0FSRF9FTUJFRF9FUlJPUicsXG4gICAgICAgICAgICBkYXNoYm9hcmRJZCxcbiAgICAgICAgICAgIG1lc3NhZ2VcbiAgICAgICAgICB9LFxuICAgICAgICAgIGxhc3RQYXJlbnRPcmlnaW5SZWYuY3VycmVudFxuICAgICAgICApO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJlbmRlckRhc2hib2FyZCgpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGNhbmNlbGxlZCA9IHRydWU7XG4gICAgfTtcbiAgfSwgW2Rhc2hib2FyZElkLCBkZXBzU3RhcnQsIGRlc3Ryb3lDdXJyZW50RGFzaGJvYXJkXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZGVzdHJveUN1cnJlbnREYXNoYm9hcmQoKTtcbiAgICB9O1xuICB9LCBbZGVzdHJveUN1cnJlbnREYXNoYm9hcmRdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIHBvc2l0aW9uOiAnZml4ZWQnLFxuICAgICAgICBpbnNldDogMCxcbiAgICAgICAgd2lkdGg6ICcxMDB2dycsXG4gICAgICAgIGhlaWdodDogJzEwMHZoJyxcbiAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICBiYWNrZ3JvdW5kOiAnI2ZmZidcbiAgICAgIH19XG4gICAgPlxuICAgICAge2xvYWRpbmcgJiYgKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgaW5zZXQ6IDAsXG4gICAgICAgICAgICB6SW5kZXg6IDEwLFxuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICBmb250RmFtaWx5OiAnc2Fucy1zZXJpZicsXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2ZmZidcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAgTG9hZGluZyBkYXNoYm9hcmTigKZcbiAgICAgICAgPC9kaXY+XG4gICAgICApfVxuXG4gICAgICA8ZGl2XG4gICAgICAgIHJlZj17cm9vdFJlZn1cbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgICAgICBpbnNldDogMCxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGhlaWdodDogJzEwMCUnXG4gICAgICAgIH19XG4gICAgICAvPlxuICAgIDwvZGl2PlxuICApO1xufVxuYDtcblxuY29uc3QgU0VSVkVSX0lOREVYID0gYGltcG9ydCB0eXBlIHsgUGx1Z2luSW5pdGlhbGl6ZXJDb250ZXh0IH0gZnJvbSAnQGtibi9jb3JlL3NlcnZlcic7XG5pbXBvcnQgeyBPcmdEYXNoYm9hcmRFbWJlZFNlcnZlclBsdWdpbiB9IGZyb20gJy4vcGx1Z2luJztcblxuZXhwb3J0IGZ1bmN0aW9uIHBsdWdpbihpbml0aWFsaXplckNvbnRleHQ6IFBsdWdpbkluaXRpYWxpemVyQ29udGV4dCkge1xuICByZXR1cm4gbmV3IE9yZ0Rhc2hib2FyZEVtYmVkU2VydmVyUGx1Z2luKGluaXRpYWxpemVyQ29udGV4dCk7XG59XG5gO1xuXG5jb25zdCBTRVJWRVJfUExVR0lOID0gYGltcG9ydCB0eXBlIHtcbiAgQ29yZVNldHVwLFxuICBDb3JlU3RhcnQsXG4gIFBsdWdpbixcbiAgUGx1Z2luSW5pdGlhbGl6ZXJDb250ZXh0XG59IGZyb20gJ0BrYm4vY29yZS9zZXJ2ZXInO1xuXG5leHBvcnQgY2xhc3MgT3JnRGFzaGJvYXJkRW1iZWRTZXJ2ZXJQbHVnaW4gaW1wbGVtZW50cyBQbHVnaW4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGluaXRpYWxpemVyQ29udGV4dDogUGx1Z2luSW5pdGlhbGl6ZXJDb250ZXh0KSB7fVxuXG4gIHB1YmxpYyBzZXR1cChjb3JlOiBDb3JlU2V0dXApIHtcbiAgICBjb25zdCByb3V0ZXIgPSBjb3JlLmh0dHAuY3JlYXRlUm91dGVyKCk7XG5cbiAgICByb3V0ZXIuZ2V0KFxuICAgICAge1xuICAgICAgICBwYXRoOiAnL2FwaS8ke0tJQkFOQV9BUFBfSUR9L2hlYWx0aCcsXG4gICAgICAgIHZhbGlkYXRlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIGFzeW5jIChjb250ZXh0LCByZXF1ZXN0LCByZXNwb25zZSkgPT4ge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2Uub2soe1xuICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgIG9rOiB0cnVlLFxuICAgICAgICAgICAgcGx1Z2luOiAnJHtLSUJBTkFfQVBQX0lEfSdcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgc3RhcnQoY29yZTogQ29yZVN0YXJ0KSB7fVxuXG4gIHB1YmxpYyBzdG9wKCkge31cbn1cbmA7XG5cbmNvbnN0IFJFQURNRSA9IGAjICR7S0lCQU5BX1BMVUdJTl9JRH1cblxuTXVsdGktdGVuYW50LCBvcmctYWdub3N0aWMgS2liYW5hIGRhc2hib2FyZCBlbWJlZCBwbHVnaW4uXG5cblRoZXJlIGlzIG5ldmVyIHNwYWNlIHN3aXRjaGluZy4gRWFjaCBvcmcgYWxyZWFkeSBsYW5kcyBpbiBpdHMgb3duIEtpYmFuYSBzcGFjZVxudGhyb3VnaCB0aGUgYmFja2VuZCBwcm94eS9zZXNzaW9uIFVSTCwgYW5kIHRoZSBwbHVnaW4gb25seSBzd2l0Y2hlcyBkYXNoYm9hcmRzXG53aXRoaW4gdGhlIGN1cnJlbnQgc3BhY2UuXG5cbiMjIEJ1aWxkXG5cbktpYmFuYSBwbHVnaW5zIG11c3QgbWF0Y2ggdGhlIGV4YWN0IEtpYmFuYSB2ZXJzaW9uIGFuZCBtdXN0IGJlIGJ1aWx0IHdpdGhpbiB0aGVcbktpYmFuYSByZXBvIChzZWUga2JuLXBsdWdpbi1nZW5lcmF0b3IpLiBQbGFjZSB0aGlzIGRpcmVjdG9yeSB1bmRlclxuXFxga2liYW5hLWV4dHJhL1xcYCAob3IgXFxgcGx1Z2lucy9cXGApIGFuZCBydW4gdGhlIEtpYmFuYSBwbHVnaW4gYnVpbGQsIGUuZy46XG5cblxcYFxcYFxcYFxueWFybiBidWlsZFxuXFxgXFxgXFxgXG5cbiMjIEVtYmVkIFVSTFxuXG5cXGBcXGBcXGBcbi9raWJhbmEvYXBwLyR7S0lCQU5BX0FQUF9JRH0/ZGFzaGJvYXJkSWQ9PGlkPiZwYXJlbnRPcmlnaW49PG9yaWdpbj5cblxcYFxcYFxcYFxuXG4jIyBNZXNzYWdlIHByb3RvY29sXG5cbi0gUGFyZW50IC0+IHBsdWdpbjogXFxgT1JHX0RBU0hCT0FSRF9FTUJFRF9TV0lUQ0hfREFTSEJPQVJEXFxgXG4tIFBsdWdpbiAtPiBwYXJlbnQ6IFxcYE9SR19EQVNIQk9BUkRfRU1CRURfUkVBRFlcXGAgLyBcXGBPUkdfREFTSEJPQVJEX0VNQkVEX1JFTkRFUkVEXFxgIC8gXFxgT1JHX0RBU0hCT0FSRF9FTUJFRF9FUlJPUlxcYFxuXG5WZXJzaW9uOiAke0tJQkFOQV9QTFVHSU5fVkVSU0lPTn1cbmA7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgZ2VuZXJhdGVkIHBsdWdpbiBmaWxlcyBmb3IgYSB0YXJnZXQgS2liYW5hIHZlcnNpb24uXG4gKlxuICogQHBhcmFtIHRhcmdldFZlcnNpb24gLSBLaWJhbmEgdmVyc2lvbiBiYWtlZCBpbnRvIGBraWJhbmEuanNvbmAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBraWJhbmFQbHVnaW5GaWxlcyh0YXJnZXRWZXJzaW9uOiBzdHJpbmcpOiBLaWJhbmFQbHVnaW5GaWxlW10ge1xuICBjb25zdCBtYW5pZmVzdCA9IEpTT04uc3RyaW5naWZ5KFxuICAgIHtcbiAgICAgIGlkOiBLSUJBTkFfUExVR0lOX0lELFxuICAgICAgdmVyc2lvbjogS0lCQU5BX1BMVUdJTl9WRVJTSU9OLFxuICAgICAga2liYW5hVmVyc2lvbjogdGFyZ2V0VmVyc2lvbixcbiAgICAgIHNlcnZlcjogdHJ1ZSxcbiAgICAgIHVpOiB0cnVlLFxuICAgICAgcmVxdWlyZWRQbHVnaW5zOiBbXCJkYXNoYm9hcmRcIiwgXCJlbWJlZGRhYmxlXCIsIFwiZGF0YVwiXSxcbiAgICAgIG9wdGlvbmFsUGx1Z2luczogW10sXG4gICAgfSxcbiAgICBudWxsLFxuICAgIDJcbiAgKTtcblxuICByZXR1cm4gW1xuICAgIHsgcGF0aDogXCJraWJhbmEuanNvblwiLCBjb250ZW50OiBgJHttYW5pZmVzdH1cXG5gIH0sXG4gICAgeyBwYXRoOiBcInRzY29uZmlnLmpzb25cIiwgY29udGVudDogYCR7VFNfQ09ORklHfVxcbmAgfSxcbiAgICB7IHBhdGg6IFwiUkVBRE1FLm1kXCIsIGNvbnRlbnQ6IFJFQURNRSB9LFxuICAgIHsgcGF0aDogXCJwdWJsaWMvdHlwZXMudHNcIiwgY29udGVudDogUFVCTElDX1RZUEVTIH0sXG4gICAgeyBwYXRoOiBcInB1YmxpYy9pbmRleC50c1wiLCBjb250ZW50OiBQVUJMSUNfSU5ERVggfSxcbiAgICB7IHBhdGg6IFwicHVibGljL3BsdWdpbi50c3hcIiwgY29udGVudDogUFVCTElDX1BMVUdJTiB9LFxuICAgIHsgcGF0aDogXCJwdWJsaWMvYXBwbGljYXRpb24udHN4XCIsIGNvbnRlbnQ6IFBVQkxJQ19BUFBMSUNBVElPTiB9LFxuICAgIHsgcGF0aDogXCJzZXJ2ZXIvaW5kZXgudHNcIiwgY29udGVudDogU0VSVkVSX0lOREVYIH0sXG4gICAgeyBwYXRoOiBcInNlcnZlci9wbHVnaW4udHNcIiwgY29udGVudDogU0VSVkVSX1BMVUdJTiB9LFxuICBdO1xufVxuIl19
|
|
503
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidGVtcGxhdGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBNGRBLDhDQXFCQztBQWpmRDs7Ozs7Ozs7R0FRRztBQUNILCtDQUF1RjtBQUN2RixNQUFNLFNBQVMsR0FBRzs7OztDQUlqQixDQUFDO0FBQ0YsTUFBTSxZQUFZLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0ErQnBCLENBQUM7QUFDRixNQUFNLFlBQVksR0FBRzs7Ozs7O0NBTXBCLENBQUM7QUFDRixNQUFNLGFBQWEsR0FBRzs7Ozs7Ozs7Ozs7Ozs7OzthQWdCVCwyQkFBYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0EwQnpCLENBQUM7QUFDRixNQUFNLGtCQUFrQixHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNlMxQixDQUFDO0FBQ0YsTUFBTSxZQUFZLEdBQUc7Ozs7OztDQU1wQixDQUFDO0FBQ0YsTUFBTSxhQUFhLEdBQUc7Ozs7Ozs7Ozs7Ozs7OztzQkFlQSwyQkFBYTs7Ozs7Ozt1QkFPWiwyQkFBYTs7Ozs7Ozs7Ozs7Q0FXbkMsQ0FBQztBQUNGLE1BQU0sTUFBTSxHQUFHLEtBQUssOEJBQWdCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FxQnRCLDJCQUFhOzs7Ozs7OztXQVFoQixtQ0FBcUI7Q0FDL0IsQ0FBQztBQUNGOzs7O0dBSUc7QUFDSCxTQUFnQixpQkFBaUIsQ0FBQyxhQUFhO0lBQzNDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDNUIsRUFBRSxFQUFFLDhCQUFnQjtRQUNwQixPQUFPLEVBQUUsbUNBQXFCO1FBQzlCLGFBQWEsRUFBRSxhQUFhO1FBQzVCLE1BQU0sRUFBRSxJQUFJO1FBQ1osRUFBRSxFQUFFLElBQUk7UUFDUixlQUFlLEVBQUUsQ0FBQyxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQztRQUNwRCxlQUFlLEVBQUUsRUFBRTtLQUN0QixFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNaLE9BQU87UUFDSCxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLEdBQUcsUUFBUSxJQUFJLEVBQUU7UUFDakQsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLE9BQU8sRUFBRSxHQUFHLFNBQVMsSUFBSSxFQUFFO1FBQ3BELEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFO1FBQ3RDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUU7UUFDbEQsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtRQUNsRCxFQUFFLElBQUksRUFBRSxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFO1FBQ3JELEVBQUUsSUFBSSxFQUFFLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRTtRQUMvRCxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFO1FBQ2xELEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUU7S0FDdkQsQ0FBQztBQUNOLENBQUM7QUFDRCxzMm9CQUFzMm9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbW9kdWxlIGludGVncmF0aW9ucy9wbHVnaW5zL2tpYmFuYS90ZW1wbGF0ZXNcbiAqIEBzdW1tYXJ5IFZlcnNpb24tcGFyYW1ldGVyaXplZCBzb3VyY2UgdGVtcGxhdGVzIGZvciB0aGUgS2liYW5hIGVtYmVkIHBsdWdpbi5cbiAqIEBkZXNjcmlwdGlvbiBIb2xkcyB0aGUgZ2VuZXJhdGVkIHBsdWdpbiBzb3VyY2UgYXMgc3RyaW5nIHRlbXBsYXRlcy4gVGhlc2VcbiAqIGFyZSBtYXRlcmlhbGl6ZWQgb250byBkaXNrIGJ5IHRoZSBpbnN0YWxsZXIuIFRoZSBzb3VyY2UgaXMgdGhlIHJlZmVyZW5jZVxuICogbXVsdGktdGVuYW50IGVtYmVkIHBsdWdpbiBwcmVzZXJ2ZWQgaW4gREVDQUYtNDAgwqc4LiBUaGVyZSBpcyBuZXZlciBzcGFjZVxuICogc3dpdGNoaW5nOyB0aGUgcGx1Z2luIGlzIG9yZy1hZ25vc3RpYyBhbmQgdGhlIGN1cnJlbnQgS2liYW5hIHNwYWNlIGNvbWVzXG4gKiBmcm9tIHRoZSByZXF1ZXN0L3Nlc3Npb24vcHJveHkgY29udGV4dC5cbiAqL1xuaW1wb3J0IHsgS0lCQU5BX0FQUF9JRCwgS0lCQU5BX1BMVUdJTl9JRCwgS0lCQU5BX1BMVUdJTl9WRVJTSU9OIH0gZnJvbSBcIi4vbWFuaWZlc3QuanNcIjtcbmNvbnN0IFRTX0NPTkZJRyA9IGB7XG4gIFwiZXh0ZW5kc1wiOiBcIi4uLy4uL3RzY29uZmlnLmpzb25cIixcbiAgXCJpbmNsdWRlXCI6IFtcInB1YmxpYy8qKi8qXCIsIFwic2VydmVyLyoqLypcIl1cbn1cbmA7XG5jb25zdCBQVUJMSUNfVFlQRVMgPSBgaW1wb3J0IHR5cGUge1xuICBBcHBNb3VudFBhcmFtZXRlcnMsXG4gIENvcmVTZXR1cCxcbiAgQ29yZVN0YXJ0LFxuICBQbHVnaW5cbn0gZnJvbSAnQGtibi9jb3JlL3B1YmxpYyc7XG5cbmltcG9ydCB0eXBlIHsgRGFzaGJvYXJkU3RhcnQgfSBmcm9tICdAa2JuL2Rhc2hib2FyZC1wbHVnaW4vcHVibGljJztcbmltcG9ydCB0eXBlIHsgRW1iZWRkYWJsZVN0YXJ0IH0gZnJvbSAnQGtibi9lbWJlZGRhYmxlLXBsdWdpbi9wdWJsaWMnO1xuaW1wb3J0IHR5cGUgeyBEYXRhUHVibGljUGx1Z2luU3RhcnQgfSBmcm9tICdAa2JuL2RhdGEtcGx1Z2luL3B1YmxpYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JnRGFzaGJvYXJkRW1iZWRTZXR1cERlcHMge31cblxuZXhwb3J0IGludGVyZmFjZSBPcmdEYXNoYm9hcmRFbWJlZFN0YXJ0RGVwcyB7XG4gIGRhc2hib2FyZDogRGFzaGJvYXJkU3RhcnQ7XG4gIGVtYmVkZGFibGU6IEVtYmVkZGFibGVTdGFydDtcbiAgZGF0YTogRGF0YVB1YmxpY1BsdWdpblN0YXJ0O1xufVxuXG5leHBvcnQgdHlwZSBPcmdEYXNoYm9hcmRFbWJlZFBsdWdpbiA9IFBsdWdpbjxcbiAgdm9pZCxcbiAgdm9pZCxcbiAgT3JnRGFzaGJvYXJkRW1iZWRTZXR1cERlcHMsXG4gIE9yZ0Rhc2hib2FyZEVtYmVkU3RhcnREZXBzXG4+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vdW50QXBwQXJncyB7XG4gIGNvcmVTdGFydDogQ29yZVN0YXJ0O1xuICBkZXBzU3RhcnQ6IE9yZ0Rhc2hib2FyZEVtYmVkU3RhcnREZXBzO1xuICBwYXJhbXM6IEFwcE1vdW50UGFyYW1ldGVycztcbn1cbmA7XG5jb25zdCBQVUJMSUNfSU5ERVggPSBgaW1wb3J0IHR5cGUgeyBPcmdEYXNoYm9hcmRFbWJlZFBsdWdpbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgT3JnRGFzaGJvYXJkRW1iZWRQbHVnaW5JbXBsIH0gZnJvbSAnLi9wbHVnaW4nO1xuXG5leHBvcnQgZnVuY3Rpb24gcGx1Z2luKCk6IE9yZ0Rhc2hib2FyZEVtYmVkUGx1Z2luIHtcbiAgcmV0dXJuIG5ldyBPcmdEYXNoYm9hcmRFbWJlZFBsdWdpbkltcGwoKTtcbn1cbmA7XG5jb25zdCBQVUJMSUNfUExVR0lOID0gYGltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUmVhY3RET00gZnJvbSAncmVhY3QtZG9tJztcblxuaW1wb3J0IHR5cGUgeyBDb3JlU2V0dXAsIENvcmVTdGFydCB9IGZyb20gJ0BrYm4vY29yZS9wdWJsaWMnO1xuaW1wb3J0IHR5cGUge1xuICBPcmdEYXNoYm9hcmRFbWJlZFBsdWdpbixcbiAgT3JnRGFzaGJvYXJkRW1iZWRTZXR1cERlcHMsXG4gIE9yZ0Rhc2hib2FyZEVtYmVkU3RhcnREZXBzXG59IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgT3JnRGFzaGJvYXJkRW1iZWRQbHVnaW5JbXBsIGltcGxlbWVudHMgT3JnRGFzaGJvYXJkRW1iZWRQbHVnaW4ge1xuICBwdWJsaWMgc2V0dXAoXG4gICAgY29yZTogQ29yZVNldHVwPE9yZ0Rhc2hib2FyZEVtYmVkU3RhcnREZXBzPixcbiAgICBkZXBzOiBPcmdEYXNoYm9hcmRFbWJlZFNldHVwRGVwc1xuICApIHtcbiAgICBjb3JlLmFwcGxpY2F0aW9uLnJlZ2lzdGVyKHtcbiAgICAgIGlkOiAnJHtLSUJBTkFfQVBQX0lEfScsXG4gICAgICB0aXRsZTogJ0Rhc2hib2FyZCBFbWJlZCcsXG4gICAgICBjaHJvbWVsZXNzOiB0cnVlLFxuICAgICAgdmlzaWJsZUluOiBbXSxcbiAgICAgIGFzeW5jIG1vdW50KHBhcmFtcykge1xuICAgICAgICBjb25zdCBbY29yZVN0YXJ0LCBkZXBzU3RhcnRdID0gYXdhaXQgY29yZS5nZXRTdGFydFNlcnZpY2VzKCk7XG4gICAgICAgIGNvbnN0IHsgT3JnRGFzaGJvYXJkRW1iZWRBcHAgfSA9IGF3YWl0IGltcG9ydCgnLi9hcHBsaWNhdGlvbicpO1xuXG4gICAgICAgIFJlYWN0RE9NLnJlbmRlcihcbiAgICAgICAgICA8T3JnRGFzaGJvYXJkRW1iZWRBcHBcbiAgICAgICAgICAgIGNvcmVTdGFydD17Y29yZVN0YXJ0fVxuICAgICAgICAgICAgZGVwc1N0YXJ0PXtkZXBzU3RhcnR9XG4gICAgICAgICAgICBwYXJhbXM9e3BhcmFtc31cbiAgICAgICAgICAvPixcbiAgICAgICAgICBwYXJhbXMuZWxlbWVudFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiBSZWFjdERPTS51bm1vdW50Q29tcG9uZW50QXROb2RlKHBhcmFtcy5lbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzdGFydChjb3JlOiBDb3JlU3RhcnQsIGRlcHM6IE9yZ0Rhc2hib2FyZEVtYmVkU3RhcnREZXBzKSB7fVxuXG4gIHB1YmxpYyBzdG9wKCkge31cbn1cbmA7XG5jb25zdCBQVUJMSUNfQVBQTElDQVRJT04gPSBgaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IE1vdW50QXBwQXJncyB9IGZyb20gJy4vdHlwZXMnO1xuXG50eXBlIERhc2hib2FyZFF1ZXJ5ID0ge1xuICBsYW5ndWFnZTogJ2t1ZXJ5JyB8ICdsdWNlbmUnO1xuICBxdWVyeTogc3RyaW5nO1xufTtcblxudHlwZSBEYXNoYm9hcmRUaW1lUmFuZ2UgPSB7XG4gIGZyb206IHN0cmluZztcbiAgdG86IHN0cmluZztcbn07XG5cbnR5cGUgU3dpdGNoRGFzaGJvYXJkTWVzc2FnZSA9IHtcbiAgdHlwZTogJ09SR19EQVNIQk9BUkRfRU1CRURfU1dJVENIX0RBU0hCT0FSRCc7XG4gIGRhc2hib2FyZElkOiBzdHJpbmc7XG4gIHRpbWVSYW5nZT86IERhc2hib2FyZFRpbWVSYW5nZTtcbiAgcXVlcnk/OiBEYXNoYm9hcmRRdWVyeTtcbiAgZmlsdGVycz86IHVua25vd25bXTtcbn07XG5cbnR5cGUgUGFyZW50UmVhZHlNZXNzYWdlID0ge1xuICB0eXBlOiAnT1JHX0RBU0hCT0FSRF9FTUJFRF9SRUFEWSc7XG4gIGRhc2hib2FyZElkOiBzdHJpbmcgfCBudWxsO1xufTtcblxudHlwZSBQYXJlbnRSZW5kZXJlZE1lc3NhZ2UgPSB7XG4gIHR5cGU6ICdPUkdfREFTSEJPQVJEX0VNQkVEX1JFTkRFUkVEJztcbiAgZGFzaGJvYXJkSWQ6IHN0cmluZztcbn07XG5cbnR5cGUgUGFyZW50RXJyb3JNZXNzYWdlID0ge1xuICB0eXBlOiAnT1JHX0RBU0hCT0FSRF9FTUJFRF9FUlJPUic7XG4gIGRhc2hib2FyZElkOiBzdHJpbmcgfCBudWxsO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59O1xuXG50eXBlIFBhcmVudE1lc3NhZ2UgPVxuICB8IFBhcmVudFJlYWR5TWVzc2FnZVxuICB8IFBhcmVudFJlbmRlcmVkTWVzc2FnZVxuICB8IFBhcmVudEVycm9yTWVzc2FnZTtcblxuY29uc3QgREVGQVVMVF9BTExPV0VEX1BBUkVOVF9PUklHSU5TOiBzdHJpbmdbXSA9IFtcbiAgd2luZG93LmxvY2F0aW9uLm9yaWdpblxuXTtcblxuZnVuY3Rpb24gZ2V0SW5pdGlhbERhc2hib2FyZElkKCk6IHN0cmluZyB8IG51bGwge1xuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICByZXR1cm4gcGFyYW1zLmdldCgnZGFzaGJvYXJkSWQnKTtcbn1cblxuZnVuY3Rpb24gZ2V0QWxsb3dlZFBhcmVudE9yaWdpbnMoKTogc3RyaW5nW10ge1xuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gpO1xuICBjb25zdCByYXcgPSBwYXJhbXMuZ2V0KCdwYXJlbnRPcmlnaW4nKTtcblxuICBpZiAoIXJhdykge1xuICAgIHJldHVybiBERUZBVUxUX0FMTE9XRURfUEFSRU5UX09SSUdJTlM7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IGRlY29kZWQgPSBkZWNvZGVVUklDb21wb25lbnQocmF3KTtcbiAgICBjb25zdCBvcmlnaW5zID0gZGVjb2RlZFxuICAgICAgLnNwbGl0KCcsJylcbiAgICAgIC5tYXAoKG9yaWdpbikgPT4gb3JpZ2luLnRyaW0oKSlcbiAgICAgIC5maWx0ZXIoQm9vbGVhbik7XG5cbiAgICByZXR1cm4gb3JpZ2lucy5sZW5ndGggPiAwID8gb3JpZ2lucyA6IERFRkFVTFRfQUxMT1dFRF9QQVJFTlRfT1JJR0lOUztcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIERFRkFVTFRfQUxMT1dFRF9QQVJFTlRfT1JJR0lOUztcbiAgfVxufVxuXG5mdW5jdGlvbiBpc1N3aXRjaERhc2hib2FyZE1lc3NhZ2UoZGF0YTogdW5rbm93bik6IGRhdGEgaXMgU3dpdGNoRGFzaGJvYXJkTWVzc2FnZSB7XG4gIGlmICghZGF0YSB8fCB0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBtZXNzYWdlID0gZGF0YSBhcyBQYXJ0aWFsPFN3aXRjaERhc2hib2FyZE1lc3NhZ2U+O1xuXG4gIHJldHVybiAoXG4gICAgbWVzc2FnZS50eXBlID09PSAnT1JHX0RBU0hCT0FSRF9FTUJFRF9TV0lUQ0hfREFTSEJPQVJEJyAmJlxuICAgIHR5cGVvZiBtZXNzYWdlLmRhc2hib2FyZElkID09PSAnc3RyaW5nJyAmJlxuICAgIG1lc3NhZ2UuZGFzaGJvYXJkSWQubGVuZ3RoID4gMFxuICApO1xufVxuXG5mdW5jdGlvbiBwb3N0VG9QYXJlbnQobWVzc2FnZTogUGFyZW50TWVzc2FnZSwgdGFyZ2V0T3JpZ2luOiBzdHJpbmcpIHtcbiAgd2luZG93LnBhcmVudC5wb3N0TWVzc2FnZShtZXNzYWdlLCB0YXJnZXRPcmlnaW4pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gT3JnRGFzaGJvYXJkRW1iZWRBcHAoe1xuICBjb3JlU3RhcnQsXG4gIGRlcHNTdGFydFxufTogTW91bnRBcHBBcmdzKSB7XG4gIGNvbnN0IHJvb3RSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKTtcbiAgY29uc3QgbW91bnRlZERhc2hib2FyZFJlZiA9IHVzZVJlZjxhbnk+KG51bGwpO1xuICBjb25zdCBhbGxvd2VkUGFyZW50T3JpZ2luc1JlZiA9IHVzZVJlZjxzdHJpbmdbXT4oZ2V0QWxsb3dlZFBhcmVudE9yaWdpbnMoKSk7XG4gIGNvbnN0IGxhc3RQYXJlbnRPcmlnaW5SZWYgPSB1c2VSZWY8c3RyaW5nPih3aW5kb3cubG9jYXRpb24ub3JpZ2luKTtcblxuICBjb25zdCBbZGFzaGJvYXJkSWQsIHNldERhc2hib2FyZElkXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KFxuICAgIGdldEluaXRpYWxEYXNoYm9hcmRJZCgpXG4gICk7XG5cbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29yZVN0YXJ0LmNocm9tZS5zZXRJc1Zpc2libGUoZmFsc2UpO1xuICB9LCBbY29yZVN0YXJ0XSk7XG5cbiAgY29uc3QgZGVzdHJveUN1cnJlbnREYXNoYm9hcmQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKG1vdW50ZWREYXNoYm9hcmRSZWYuY3VycmVudD8uZGVzdHJveSkge1xuICAgICAgbW91bnRlZERhc2hib2FyZFJlZi5jdXJyZW50LmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBtb3VudGVkRGFzaGJvYXJkUmVmLmN1cnJlbnQgPSBudWxsO1xuXG4gICAgaWYgKHJvb3RSZWYuY3VycmVudCkge1xuICAgICAgcm9vdFJlZi5jdXJyZW50LmlubmVySFRNTCA9ICcnO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IGFwcGx5U2hhcmVkRGFzaGJvYXJkU3RhdGUgPSB1c2VDYWxsYmFjayhcbiAgICAobWVzc2FnZTogU3dpdGNoRGFzaGJvYXJkTWVzc2FnZSkgPT4ge1xuICAgICAgaWYgKG1lc3NhZ2UudGltZVJhbmdlKSB7XG4gICAgICAgIGRlcHNTdGFydC5kYXRhLnF1ZXJ5LnRpbWVmaWx0ZXIudGltZWZpbHRlci5zZXRUaW1lKG1lc3NhZ2UudGltZVJhbmdlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKG1lc3NhZ2UucXVlcnkpIHtcbiAgICAgICAgZGVwc1N0YXJ0LmRhdGEucXVlcnkucXVlcnlTdHJpbmcuc2V0UXVlcnkobWVzc2FnZS5xdWVyeSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChtZXNzYWdlLmZpbHRlcnMpIHtcbiAgICAgICAgZGVwc1N0YXJ0LmRhdGEucXVlcnkuZmlsdGVyTWFuYWdlci5zZXRGaWx0ZXJzKG1lc3NhZ2UuZmlsdGVycyBhcyBhbnkpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2RlcHNTdGFydC5kYXRhXVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgb25NZXNzYWdlID0gKGV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHtcbiAgICAgIGlmICghYWxsb3dlZFBhcmVudE9yaWdpbnNSZWYuY3VycmVudC5pbmNsdWRlcyhldmVudC5vcmlnaW4pKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKCFpc1N3aXRjaERhc2hib2FyZE1lc3NhZ2UoZXZlbnQuZGF0YSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsYXN0UGFyZW50T3JpZ2luUmVmLmN1cnJlbnQgPSBldmVudC5vcmlnaW47XG5cbiAgICAgIGFwcGx5U2hhcmVkRGFzaGJvYXJkU3RhdGUoZXZlbnQuZGF0YSk7XG4gICAgICBzZXREYXNoYm9hcmRJZChldmVudC5kYXRhLmRhc2hib2FyZElkKTtcbiAgICB9O1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCBvbk1lc3NhZ2UpO1xuXG4gICAgcG9zdFRvUGFyZW50KFxuICAgICAge1xuICAgICAgICB0eXBlOiAnT1JHX0RBU0hCT0FSRF9FTUJFRF9SRUFEWScsXG4gICAgICAgIGRhc2hib2FyZElkXG4gICAgICB9LFxuICAgICAgbGFzdFBhcmVudE9yaWdpblJlZi5jdXJyZW50XG4gICAgKTtcblxuICAgIHJldHVybiAoKSA9PiB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignbWVzc2FnZScsIG9uTWVzc2FnZSk7XG4gIH0sIFthcHBseVNoYXJlZERhc2hib2FyZFN0YXRlLCBkYXNoYm9hcmRJZF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFkYXNoYm9hcmRJZCB8fCAhcm9vdFJlZi5jdXJyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGNhbmNlbGxlZCA9IGZhbHNlO1xuXG4gICAgYXN5bmMgZnVuY3Rpb24gcmVuZGVyRGFzaGJvYXJkKCkge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgZGVzdHJveUN1cnJlbnREYXNoYm9hcmQoKTtcblxuICAgICAgICBjb25zdCBmYWN0b3J5ID1cbiAgICAgICAgICBkZXBzU3RhcnQuZW1iZWRkYWJsZS5nZXRFbWJlZGRhYmxlRmFjdG9yeT8uKCdkYXNoYm9hcmQnKSB8fFxuICAgICAgICAgIGRlcHNTdGFydC5lbWJlZGRhYmxlLmdldEVtYmVkZGFibGVGYWN0b3J5Py4oJ2Rhc2hib2FyZF9jb250YWluZXInKTtcblxuICAgICAgICBpZiAoIWZhY3RvcnkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0tpYmFuYSBkYXNoYm9hcmQgZW1iZWRkYWJsZSBmYWN0b3J5IHdhcyBub3QgZm91bmQuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBlbWJlZGRhYmxlID0gYXdhaXQgZmFjdG9yeS5jcmVhdGUoe1xuICAgICAgICAgIGlkOiBkYXNoYm9hcmRJZCxcbiAgICAgICAgICBzYXZlZE9iamVjdElkOiBkYXNoYm9hcmRJZCxcbiAgICAgICAgICB2aWV3TW9kZTogJ3ZpZXcnLFxuICAgICAgICAgIGhpZGVQYW5lbFRpdGxlczogZmFsc2UsXG4gICAgICAgICAgdXNlTWFyZ2luczogdHJ1ZSxcbiAgICAgICAgICBzeW5jQ29sb3JzOiB0cnVlLFxuICAgICAgICAgIHN5bmNDdXJzb3I6IHRydWUsXG4gICAgICAgICAgc3luY1Rvb2x0aXBzOiB0cnVlLFxuICAgICAgICAgIHRpbWVSYW5nZTogZGVwc1N0YXJ0LmRhdGEucXVlcnkudGltZWZpbHRlci50aW1lZmlsdGVyLmdldFRpbWUoKSxcbiAgICAgICAgICBxdWVyeTogZGVwc1N0YXJ0LmRhdGEucXVlcnkucXVlcnlTdHJpbmcuZ2V0UXVlcnkoKSxcbiAgICAgICAgICBmaWx0ZXJzOiBkZXBzU3RhcnQuZGF0YS5xdWVyeS5maWx0ZXJNYW5hZ2VyLmdldEZpbHRlcnMoKVxuICAgICAgICB9IGFzIGFueSk7XG5cbiAgICAgICAgaWYgKGNhbmNlbGxlZCkge1xuICAgICAgICAgIGVtYmVkZGFibGUuZGVzdHJveT8uKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZW1iZWRkYWJsZS5yZW5kZXIocm9vdFJlZi5jdXJyZW50ISk7XG4gICAgICAgIG1vdW50ZWREYXNoYm9hcmRSZWYuY3VycmVudCA9IGVtYmVkZGFibGU7XG5cbiAgICAgICAgcG9zdFRvUGFyZW50KFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdPUkdfREFTSEJPQVJEX0VNQkVEX1JFTkRFUkVEJyxcbiAgICAgICAgICAgIGRhc2hib2FyZElkXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYXN0UGFyZW50T3JpZ2luUmVmLmN1cnJlbnRcbiAgICAgICAgKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPVxuICAgICAgICAgIGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZGFzaGJvYXJkIGVycm9yJztcblxuICAgICAgICBpZiAocm9vdFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgcm9vdFJlZi5jdXJyZW50LmlubmVySFRNTCA9IFxcYFxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cIlxuICAgICAgICAgICAgICBwYWRkaW5nOiAyNHB4O1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgY29sb3I6ICNiZDI3MWU7XG4gICAgICAgICAgICBcIj5cbiAgICAgICAgICAgICAgRmFpbGVkIHRvIHJlbmRlciBkYXNoYm9hcmQ6IFxcJHttZXNzYWdlfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgXFxgO1xuICAgICAgICB9XG5cbiAgICAgICAgcG9zdFRvUGFyZW50KFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHR5cGU6ICdPUkdfREFTSEJPQVJEX0VNQkVEX0VSUk9SJyxcbiAgICAgICAgICAgIGRhc2hib2FyZElkLFxuICAgICAgICAgICAgbWVzc2FnZVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbGFzdFBhcmVudE9yaWdpblJlZi5jdXJyZW50XG4gICAgICAgICk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmVuZGVyRGFzaGJvYXJkKCk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2FuY2VsbGVkID0gdHJ1ZTtcbiAgICB9O1xuICB9LCBbZGFzaGJvYXJkSWQsIGRlcHNTdGFydCwgZGVzdHJveUN1cnJlbnREYXNoYm9hcmRdKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkZXN0cm95Q3VycmVudERhc2hib2FyZCgpO1xuICAgIH07XG4gIH0sIFtkZXN0cm95Q3VycmVudERhc2hib2FyZF0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgcG9zaXRpb246ICdmaXhlZCcsXG4gICAgICAgIGluc2V0OiAwLFxuICAgICAgICB3aWR0aDogJzEwMHZ3JyxcbiAgICAgICAgaGVpZ2h0OiAnMTAwdmgnLFxuICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgIGJhY2tncm91bmQ6ICcjZmZmJ1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7bG9hZGluZyAmJiAoXG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICBpbnNldDogMCxcbiAgICAgICAgICAgIHpJbmRleDogMTAsXG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgIGZvbnRGYW1pbHk6ICdzYW5zLXNlcmlmJyxcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICcjZmZmJ1xuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICBMb2FkaW5nIGRhc2hib2FyZOKAplxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG5cbiAgICAgIDxkaXZcbiAgICAgICAgcmVmPXtyb290UmVmfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgIGluc2V0OiAwLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgaGVpZ2h0OiAnMTAwJSdcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgPC9kaXY+XG4gICk7XG59XG5gO1xuY29uc3QgU0VSVkVSX0lOREVYID0gYGltcG9ydCB0eXBlIHsgUGx1Z2luSW5pdGlhbGl6ZXJDb250ZXh0IH0gZnJvbSAnQGtibi9jb3JlL3NlcnZlcic7XG5pbXBvcnQgeyBPcmdEYXNoYm9hcmRFbWJlZFNlcnZlclBsdWdpbiB9IGZyb20gJy4vcGx1Z2luJztcblxuZXhwb3J0IGZ1bmN0aW9uIHBsdWdpbihpbml0aWFsaXplckNvbnRleHQ6IFBsdWdpbkluaXRpYWxpemVyQ29udGV4dCkge1xuICByZXR1cm4gbmV3IE9yZ0Rhc2hib2FyZEVtYmVkU2VydmVyUGx1Z2luKGluaXRpYWxpemVyQ29udGV4dCk7XG59XG5gO1xuY29uc3QgU0VSVkVSX1BMVUdJTiA9IGBpbXBvcnQgdHlwZSB7XG4gIENvcmVTZXR1cCxcbiAgQ29yZVN0YXJ0LFxuICBQbHVnaW4sXG4gIFBsdWdpbkluaXRpYWxpemVyQ29udGV4dFxufSBmcm9tICdAa2JuL2NvcmUvc2VydmVyJztcblxuZXhwb3J0IGNsYXNzIE9yZ0Rhc2hib2FyZEVtYmVkU2VydmVyUGx1Z2luIGltcGxlbWVudHMgUGx1Z2luIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbml0aWFsaXplckNvbnRleHQ6IFBsdWdpbkluaXRpYWxpemVyQ29udGV4dCkge31cblxuICBwdWJsaWMgc2V0dXAoY29yZTogQ29yZVNldHVwKSB7XG4gICAgY29uc3Qgcm91dGVyID0gY29yZS5odHRwLmNyZWF0ZVJvdXRlcigpO1xuXG4gICAgcm91dGVyLmdldChcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJy9hcGkvJHtLSUJBTkFfQVBQX0lEfS9oZWFsdGgnLFxuICAgICAgICB2YWxpZGF0ZTogZmFsc2VcbiAgICAgIH0sXG4gICAgICBhc3luYyAoY29udGV4dCwgcmVxdWVzdCwgcmVzcG9uc2UpID0+IHtcbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlLm9rKHtcbiAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICBvazogdHJ1ZSxcbiAgICAgICAgICAgIHBsdWdpbjogJyR7S0lCQU5BX0FQUF9JRH0nXG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgcHVibGljIHN0YXJ0KGNvcmU6IENvcmVTdGFydCkge31cblxuICBwdWJsaWMgc3RvcCgpIHt9XG59XG5gO1xuY29uc3QgUkVBRE1FID0gYCMgJHtLSUJBTkFfUExVR0lOX0lEfVxuXG5NdWx0aS10ZW5hbnQsIG9yZy1hZ25vc3RpYyBLaWJhbmEgZGFzaGJvYXJkIGVtYmVkIHBsdWdpbi5cblxuVGhlcmUgaXMgbmV2ZXIgc3BhY2Ugc3dpdGNoaW5nLiBFYWNoIG9yZyBhbHJlYWR5IGxhbmRzIGluIGl0cyBvd24gS2liYW5hIHNwYWNlXG50aHJvdWdoIHRoZSBiYWNrZW5kIHByb3h5L3Nlc3Npb24gVVJMLCBhbmQgdGhlIHBsdWdpbiBvbmx5IHN3aXRjaGVzIGRhc2hib2FyZHNcbndpdGhpbiB0aGUgY3VycmVudCBzcGFjZS5cblxuIyMgQnVpbGRcblxuS2liYW5hIHBsdWdpbnMgbXVzdCBtYXRjaCB0aGUgZXhhY3QgS2liYW5hIHZlcnNpb24gYW5kIG11c3QgYmUgYnVpbHQgd2l0aGluIHRoZVxuS2liYW5hIHJlcG8gKHNlZSBrYm4tcGx1Z2luLWdlbmVyYXRvcikuIFBsYWNlIHRoaXMgZGlyZWN0b3J5IHVuZGVyXG5cXGBraWJhbmEtZXh0cmEvXFxgIChvciBcXGBwbHVnaW5zL1xcYCkgYW5kIHJ1biB0aGUgS2liYW5hIHBsdWdpbiBidWlsZCwgZS5nLjpcblxuXFxgXFxgXFxgXG55YXJuIGJ1aWxkXG5cXGBcXGBcXGBcblxuIyMgRW1iZWQgVVJMXG5cblxcYFxcYFxcYFxuL2tpYmFuYS9hcHAvJHtLSUJBTkFfQVBQX0lEfT9kYXNoYm9hcmRJZD08aWQ+JnBhcmVudE9yaWdpbj08b3JpZ2luPlxuXFxgXFxgXFxgXG5cbiMjIE1lc3NhZ2UgcHJvdG9jb2xcblxuLSBQYXJlbnQgLT4gcGx1Z2luOiBcXGBPUkdfREFTSEJPQVJEX0VNQkVEX1NXSVRDSF9EQVNIQk9BUkRcXGBcbi0gUGx1Z2luIC0+IHBhcmVudDogXFxgT1JHX0RBU0hCT0FSRF9FTUJFRF9SRUFEWVxcYCAvIFxcYE9SR19EQVNIQk9BUkRfRU1CRURfUkVOREVSRURcXGAgLyBcXGBPUkdfREFTSEJPQVJEX0VNQkVEX0VSUk9SXFxgXG5cblZlcnNpb246ICR7S0lCQU5BX1BMVUdJTl9WRVJTSU9OfVxuYDtcbi8qKlxuICogUmV0dXJucyB0aGUgZnVsbCBzZXQgb2YgZ2VuZXJhdGVkIHBsdWdpbiBmaWxlcyBmb3IgYSB0YXJnZXQgS2liYW5hIHZlcnNpb24uXG4gKlxuICogQHBhcmFtIHRhcmdldFZlcnNpb24gLSBLaWJhbmEgdmVyc2lvbiBiYWtlZCBpbnRvIGBraWJhbmEuanNvbmAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBraWJhbmFQbHVnaW5GaWxlcyh0YXJnZXRWZXJzaW9uKSB7XG4gICAgY29uc3QgbWFuaWZlc3QgPSBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGlkOiBLSUJBTkFfUExVR0lOX0lELFxuICAgICAgICB2ZXJzaW9uOiBLSUJBTkFfUExVR0lOX1ZFUlNJT04sXG4gICAgICAgIGtpYmFuYVZlcnNpb246IHRhcmdldFZlcnNpb24sXG4gICAgICAgIHNlcnZlcjogdHJ1ZSxcbiAgICAgICAgdWk6IHRydWUsXG4gICAgICAgIHJlcXVpcmVkUGx1Z2luczogW1wiZGFzaGJvYXJkXCIsIFwiZW1iZWRkYWJsZVwiLCBcImRhdGFcIl0sXG4gICAgICAgIG9wdGlvbmFsUGx1Z2luczogW10sXG4gICAgfSwgbnVsbCwgMik7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgeyBwYXRoOiBcImtpYmFuYS5qc29uXCIsIGNvbnRlbnQ6IGAke21hbmlmZXN0fVxcbmAgfSxcbiAgICAgICAgeyBwYXRoOiBcInRzY29uZmlnLmpzb25cIiwgY29udGVudDogYCR7VFNfQ09ORklHfVxcbmAgfSxcbiAgICAgICAgeyBwYXRoOiBcIlJFQURNRS5tZFwiLCBjb250ZW50OiBSRUFETUUgfSxcbiAgICAgICAgeyBwYXRoOiBcInB1YmxpYy90eXBlcy50c1wiLCBjb250ZW50OiBQVUJMSUNfVFlQRVMgfSxcbiAgICAgICAgeyBwYXRoOiBcInB1YmxpYy9pbmRleC50c1wiLCBjb250ZW50OiBQVUJMSUNfSU5ERVggfSxcbiAgICAgICAgeyBwYXRoOiBcInB1YmxpYy9wbHVnaW4udHN4XCIsIGNvbnRlbnQ6IFBVQkxJQ19QTFVHSU4gfSxcbiAgICAgICAgeyBwYXRoOiBcInB1YmxpYy9hcHBsaWNhdGlvbi50c3hcIiwgY29udGVudDogUFVCTElDX0FQUExJQ0FUSU9OIH0sXG4gICAgICAgIHsgcGF0aDogXCJzZXJ2ZXIvaW5kZXgudHNcIiwgY29udGVudDogU0VSVkVSX0lOREVYIH0sXG4gICAgICAgIHsgcGF0aDogXCJzZXJ2ZXIvcGx1Z2luLnRzXCIsIGNvbnRlbnQ6IFNFUlZFUl9QTFVHSU4gfSxcbiAgICBdO1xufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pZEdWdGNHeGhkR1Z6TG1weklpd2ljMjkxY21ObFVtOXZkQ0k2SWlJc0luTnZkWEpqWlhNaU9sc2lMaTR2TGk0dkxpNHZMaTR2YzNKakwzQnNkV2RwYm5NdmEybGlZVzVoTDNSbGJYQnNZWFJsY3k1MGN5SmRMQ0p1WVcxbGN5STZXMTBzSW0xaGNIQnBibWR6SWpvaVFVRkJRVHM3T3pzN096czdSMEZSUnp0QlFVTklMRTlCUVU4c1JVRkJSU3hoUVVGaExFVkJRVVVzWjBKQlFXZENMRVZCUVVVc2NVSkJRWEZDTEVWQlFVVXNjMEpCUVcxQ08wRkJVM0JHTEUxQlFVMHNVMEZCVXl4SFFVRkhPenM3TzBOQlNXcENMRU5CUVVNN1FVRkZSaXhOUVVGTkxGbEJRVmtzUjBGQlJ6czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenREUVN0Q2NFSXNRMEZCUXp0QlFVVkdMRTFCUVUwc1dVRkJXU3hIUVVGSE96czdPenM3UTBGTmNFSXNRMEZCUXp0QlFVVkdMRTFCUVUwc1lVRkJZU3hIUVVGSE96czdPenM3T3pzN096czdPenM3TzJGQlowSlVMR0ZCUVdFN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3TzBOQk1FSjZRaXhEUVVGRE8wRkJSVVlzVFVGQlRTeHJRa0ZCYTBJc1IwRkJSenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3pzN096czdPenM3T3p0RFFUWlRNVUlzUTBGQlF6dEJRVVZHTEUxQlFVMHNXVUZCV1N4SFFVRkhPenM3T3pzN1EwRk5jRUlzUTBGQlF6dEJRVVZHTEUxQlFVMHNZVUZCWVN4SFFVRkhPenM3T3pzN096czdPenM3T3pzN2MwSkJaVUVzWVVGQllUczdPenM3T3p0MVFrRlBXaXhoUVVGaE96czdPenM3T3pzN096dERRVmR1UXl4RFFVRkRPMEZCUlVZc1RVRkJUU3hOUVVGTkxFZEJRVWNzUzBGQlN5eG5Ra0ZCWjBJN096czdPenM3T3pzN096czdPenM3T3pzN096dGpRWEZDZEVJc1lVRkJZVHM3T3pzN096czdWMEZSYUVJc2NVSkJRWEZDTzBOQlF5OUNMRU5CUVVNN1FVRkZSanM3T3p0SFFVbEhPMEZCUTBnc1RVRkJUU3hWUVVGVkxHbENRVUZwUWl4RFFVRkRMR0ZCUVhGQ08wbEJRM0pFTEUxQlFVMHNVVUZCVVN4SFFVRkhMRWxCUVVrc1EwRkJReXhUUVVGVExFTkJRemRDTzFGQlEwVXNSVUZCUlN4RlFVRkZMR2RDUVVGblFqdFJRVU53UWl4UFFVRlBMRVZCUVVVc2NVSkJRWEZDTzFGQlF6bENMR0ZCUVdFc1JVRkJSU3hoUVVGaE8xRkJRelZDTEUxQlFVMHNSVUZCUlN4SlFVRkpPMUZCUTFvc1JVRkJSU3hGUVVGRkxFbEJRVWs3VVVGRFVpeGxRVUZsTEVWQlFVVXNRMEZCUXl4WFFVRlhMRVZCUVVVc1dVRkJXU3hGUVVGRkxFMUJRVTBzUTBGQlF6dFJRVU53UkN4bFFVRmxMRVZCUVVVc1JVRkJSVHRMUVVOd1FpeEZRVU5FTEVsQlFVa3NSVUZEU2l4RFFVRkRMRU5CUTBZc1EwRkJRenRKUVVWR0xFOUJRVTg3VVVGRFRDeEZRVUZGTEVsQlFVa3NSVUZCUlN4aFFVRmhMRVZCUVVVc1QwRkJUeXhGUVVGRkxFZEJRVWNzVVVGQlVTeEpRVUZKTEVWQlFVVTdVVUZEYWtRc1JVRkJSU3hKUVVGSkxFVkJRVVVzWlVGQlpTeEZRVUZGTEU5QlFVOHNSVUZCUlN4SFFVRkhMRk5CUVZNc1NVRkJTU3hGUVVGRk8xRkJRM0JFTEVWQlFVVXNTVUZCU1N4RlFVRkZMRmRCUVZjc1JVRkJSU3hQUVVGUExFVkJRVVVzVFVGQlRTeEZRVUZGTzFGQlEzUkRMRVZCUVVVc1NVRkJTU3hGUVVGRkxHbENRVUZwUWl4RlFVRkZMRTlCUVU4c1JVRkJSU3haUVVGWkxFVkJRVVU3VVVGRGJFUXNSVUZCUlN4SlFVRkpMRVZCUVVVc2FVSkJRV2xDTEVWQlFVVXNUMEZCVHl4RlFVRkZMRmxCUVZrc1JVRkJSVHRSUVVOc1JDeEZRVUZGTEVsQlFVa3NSVUZCUlN4dFFrRkJiVUlzUlVGQlJTeFBRVUZQTEVWQlFVVXNZVUZCWVN4RlFVRkZPMUZCUTNKRUxFVkJRVVVzU1VGQlNTeEZRVUZGTEhkQ1FVRjNRaXhGUVVGRkxFOUJRVThzUlVGQlJTeHJRa0ZCYTBJc1JVRkJSVHRSUVVNdlJDeEZRVUZGTEVsQlFVa3NSVUZCUlN4cFFrRkJhVUlzUlVGQlJTeFBRVUZQTEVWQlFVVXNXVUZCV1N4RlFVRkZPMUZCUTJ4RUxFVkJRVVVzU1VGQlNTeEZRVUZGTEd0Q1FVRnJRaXhGUVVGRkxFOUJRVThzUlVGQlJTeGhRVUZoTEVWQlFVVTdTMEZEY2tRc1EwRkJRenRCUVVOS0xFTkJRVU1pTENKemIzVnlZMlZ6UTI5dWRHVnVkQ0k2V3lJdktpcGNiaUFxSUVCdGIyUjFiR1VnYVc1MFpXZHlZWFJwYjI1ekwzQnNkV2RwYm5NdmEybGlZVzVoTDNSbGJYQnNZWFJsYzF4dUlDb2dRSE4xYlcxaGNua2dWbVZ5YzJsdmJpMXdZWEpoYldWMFpYSnBlbVZrSUhOdmRYSmpaU0IwWlcxd2JHRjBaWE1nWm05eUlIUm9aU0JMYVdKaGJtRWdaVzFpWldRZ2NHeDFaMmx1TGx4dUlDb2dRR1JsYzJOeWFYQjBhVzl1SUVodmJHUnpJSFJvWlNCblpXNWxjbUYwWldRZ2NHeDFaMmx1SUhOdmRYSmpaU0JoY3lCemRISnBibWNnZEdWdGNHeGhkR1Z6TGlCVWFHVnpaVnh1SUNvZ1lYSmxJRzFoZEdWeWFXRnNhWHBsWkNCdmJuUnZJR1JwYzJzZ1lua2dkR2hsSUdsdWMzUmhiR3hsY2k0Z1ZHaGxJSE52ZFhKalpTQnBjeUIwYUdVZ2NtVm1aWEpsYm1ObFhHNGdLaUJ0ZFd4MGFTMTBaVzVoYm5RZ1pXMWlaV1FnY0d4MVoybHVJSEJ5WlhObGNuWmxaQ0JwYmlCRVJVTkJSaTAwTUNEQ3B6Z3VJRlJvWlhKbElHbHpJRzVsZG1WeUlITndZV05sWEc0Z0tpQnpkMmwwWTJocGJtYzdJSFJvWlNCd2JIVm5hVzRnYVhNZ2IzSm5MV0ZuYm05emRHbGpJR0Z1WkNCMGFHVWdZM1Z5Y21WdWRDQkxhV0poYm1FZ2MzQmhZMlVnWTI5dFpYTmNiaUFxSUdaeWIyMGdkR2hsSUhKbGNYVmxjM1F2YzJWemMybHZiaTl3Y205NGVTQmpiMjUwWlhoMExseHVJQ292WEc1cGJYQnZjblFnZXlCTFNVSkJUa0ZmUVZCUVgwbEVMQ0JMU1VKQlRrRmZVRXhWUjBsT1gwbEVMQ0JMU1VKQlRrRmZVRXhWUjBsT1gxWkZVbE5KVDA0Z2ZTQm1jbTl0SUZ3aUxpOXRZVzVwWm1WemRGd2lPMXh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUV0cFltRnVZVkJzZFdkcGJrWnBiR1VnZTF4dUlDQXZLaW9nVW1Wc1lYUnBkbVVnY0dGMGFDQjNhWFJvYVc0Z2RHaGxJSEJzZFdkcGJpQmthWEpsWTNSdmNua3VJQ292WEc0Z0lIQmhkR2c2SUhOMGNtbHVaenRjYmlBZ0x5b3FJRVpwYkdVZ1kyOXVkR1Z1ZEhNdUlDb3ZYRzRnSUdOdmJuUmxiblE2SUhOMGNtbHVaenRjYm4xY2JseHVZMjl1YzNRZ1ZGTmZRMDlPUmtsSElEMGdZSHRjYmlBZ1hDSmxlSFJsYm1SelhDSTZJRndpTGk0dkxpNHZkSE5qYjI1bWFXY3Vhbk52Ymx3aUxGeHVJQ0JjSW1sdVkyeDFaR1ZjSWpvZ1cxd2ljSFZpYkdsakx5b3FMeXBjSWl3Z1hDSnpaWEoyWlhJdktpb3ZLbHdpWFZ4dWZWeHVZRHRjYmx4dVkyOXVjM1FnVUZWQ1RFbERYMVJaVUVWVElEMGdZR2x0Y0c5eWRDQjBlWEJsSUh0Y2JpQWdRWEJ3VFc5MWJuUlFZWEpoYldWMFpYSnpMRnh1SUNCRGIzSmxVMlYwZFhBc1hHNGdJRU52Y21WVGRHRnlkQ3hjYmlBZ1VHeDFaMmx1WEc1OUlHWnliMjBnSjBCclltNHZZMjl5WlM5d2RXSnNhV01uTzF4dVhHNXBiWEJ2Y25RZ2RIbHdaU0I3SUVSaGMyaGliMkZ5WkZOMFlYSjBJSDBnWm5KdmJTQW5RR3RpYmk5a1lYTm9ZbTloY21RdGNHeDFaMmx1TDNCMVlteHBZeWM3WEc1cGJYQnZjblFnZEhsd1pTQjdJRVZ0WW1Wa1pHRmliR1ZUZEdGeWRDQjlJR1p5YjIwZ0owQnJZbTR2WlcxaVpXUmtZV0pzWlMxd2JIVm5hVzR2Y0hWaWJHbGpKenRjYm1sdGNHOXlkQ0IwZVhCbElIc2dSR0YwWVZCMVlteHBZMUJzZFdkcGJsTjBZWEowSUgwZ1puSnZiU0FuUUd0aWJpOWtZWFJoTFhCc2RXZHBiaTl3ZFdKc2FXTW5PMXh1WEc1bGVIQnZjblFnYVc1MFpYSm1ZV05sSUU5eVowUmhjMmhpYjJGeVpFVnRZbVZrVTJWMGRYQkVaWEJ6SUh0OVhHNWNibVY0Y0c5eWRDQnBiblJsY21aaFkyVWdUM0puUkdGemFHSnZZWEprUlcxaVpXUlRkR0Z5ZEVSbGNITWdlMXh1SUNCa1lYTm9ZbTloY21RNklFUmhjMmhpYjJGeVpGTjBZWEowTzF4dUlDQmxiV0psWkdSaFlteGxPaUJGYldKbFpHUmhZbXhsVTNSaGNuUTdYRzRnSUdSaGRHRTZJRVJoZEdGUWRXSnNhV05RYkhWbmFXNVRkR0Z5ZER0Y2JuMWNibHh1Wlhod2IzSjBJSFI1Y0dVZ1QzSm5SR0Z6YUdKdllYSmtSVzFpWldSUWJIVm5hVzRnUFNCUWJIVm5hVzQ4WEc0Z0lIWnZhV1FzWEc0Z0lIWnZhV1FzWEc0Z0lFOXlaMFJoYzJoaWIyRnlaRVZ0WW1Wa1UyVjBkWEJFWlhCekxGeHVJQ0JQY21kRVlYTm9ZbTloY21SRmJXSmxaRk4wWVhKMFJHVndjMXh1UGp0Y2JseHVaWGh3YjNKMElHbHVkR1Z5Wm1GalpTQk5iM1Z1ZEVGd2NFRnlaM01nZTF4dUlDQmpiM0psVTNSaGNuUTZJRU52Y21WVGRHRnlkRHRjYmlBZ1pHVndjMU4wWVhKME9pQlBjbWRFWVhOb1ltOWhjbVJGYldKbFpGTjBZWEowUkdWd2N6dGNiaUFnY0dGeVlXMXpPaUJCY0hCTmIzVnVkRkJoY21GdFpYUmxjbk03WEc1OVhHNWdPMXh1WEc1amIyNXpkQ0JRVlVKTVNVTmZTVTVFUlZnZ1BTQmdhVzF3YjNKMElIUjVjR1VnZXlCUGNtZEVZWE5vWW05aGNtUkZiV0psWkZCc2RXZHBiaUI5SUdaeWIyMGdKeTR2ZEhsd1pYTW5PMXh1YVcxd2IzSjBJSHNnVDNKblJHRnphR0p2WVhKa1JXMWlaV1JRYkhWbmFXNUpiWEJzSUgwZ1puSnZiU0FuTGk5d2JIVm5hVzRuTzF4dVhHNWxlSEJ2Y25RZ1puVnVZM1JwYjI0Z2NHeDFaMmx1S0NrNklFOXlaMFJoYzJoaWIyRnlaRVZ0WW1Wa1VHeDFaMmx1SUh0Y2JpQWdjbVYwZFhKdUlHNWxkeUJQY21kRVlYTm9ZbTloY21SRmJXSmxaRkJzZFdkcGJrbHRjR3dvS1R0Y2JuMWNibUE3WEc1Y2JtTnZibk4wSUZCVlFreEpRMTlRVEZWSFNVNGdQU0JnYVcxd2IzSjBJRkpsWVdOMElHWnliMjBnSjNKbFlXTjBKenRjYm1sdGNHOXlkQ0JTWldGamRFUlBUU0JtY205dElDZHlaV0ZqZEMxa2IyMG5PMXh1WEc1cGJYQnZjblFnZEhsd1pTQjdJRU52Y21WVFpYUjFjQ3dnUTI5eVpWTjBZWEowSUgwZ1puSnZiU0FuUUd0aWJpOWpiM0psTDNCMVlteHBZeWM3WEc1cGJYQnZjblFnZEhsd1pTQjdYRzRnSUU5eVowUmhjMmhpYjJGeVpFVnRZbVZrVUd4MVoybHVMRnh1SUNCUGNtZEVZWE5vWW05aGNtUkZiV0psWkZObGRIVndSR1Z3Y3l4Y2JpQWdUM0puUkdGemFHSnZZWEprUlcxaVpXUlRkR0Z5ZEVSbGNITmNibjBnWm5KdmJTQW5MaTkwZVhCbGN5YzdYRzVjYm1WNGNHOXlkQ0JqYkdGemN5QlBjbWRFWVhOb1ltOWhjbVJGYldKbFpGQnNkV2RwYmtsdGNHd2dhVzF3YkdWdFpXNTBjeUJQY21kRVlYTm9ZbTloY21SRmJXSmxaRkJzZFdkcGJpQjdYRzRnSUhCMVlteHBZeUJ6WlhSMWNDaGNiaUFnSUNCamIzSmxPaUJEYjNKbFUyVjBkWEE4VDNKblJHRnphR0p2WVhKa1JXMWlaV1JUZEdGeWRFUmxjSE0rTEZ4dUlDQWdJR1JsY0hNNklFOXlaMFJoYzJoaWIyRnlaRVZ0WW1Wa1UyVjBkWEJFWlhCelhHNGdJQ2tnZTF4dUlDQWdJR052Y21VdVlYQndiR2xqWVhScGIyNHVjbVZuYVhOMFpYSW9lMXh1SUNBZ0lDQWdhV1E2SUNja2UwdEpRa0ZPUVY5QlVGQmZTVVI5Snl4Y2JpQWdJQ0FnSUhScGRHeGxPaUFuUkdGemFHSnZZWEprSUVWdFltVmtKeXhjYmlBZ0lDQWdJR05vY205dFpXeGxjM002SUhSeWRXVXNYRzRnSUNBZ0lDQjJhWE5wWW14bFNXNDZJRnRkTEZ4dUlDQWdJQ0FnWVhONWJtTWdiVzkxYm5Rb2NHRnlZVzF6S1NCN1hHNGdJQ0FnSUNBZ0lHTnZibk4wSUZ0amIzSmxVM1JoY25Rc0lHUmxjSE5UZEdGeWRGMGdQU0JoZDJGcGRDQmpiM0psTG1kbGRGTjBZWEowVTJWeWRtbGpaWE1vS1R0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnZXlCUGNtZEVZWE5vWW05aGNtUkZiV0psWkVGd2NDQjlJRDBnWVhkaGFYUWdhVzF3YjNKMEtDY3VMMkZ3Y0d4cFkyRjBhVzl1SnlrN1hHNWNiaUFnSUNBZ0lDQWdVbVZoWTNSRVQwMHVjbVZ1WkdWeUtGeHVJQ0FnSUNBZ0lDQWdJRHhQY21kRVlYTm9ZbTloY21SRmJXSmxaRUZ3Y0Z4dUlDQWdJQ0FnSUNBZ0lDQWdZMjl5WlZOMFlYSjBQWHRqYjNKbFUzUmhjblI5WEc0Z0lDQWdJQ0FnSUNBZ0lDQmtaWEJ6VTNSaGNuUTllMlJsY0hOVGRHRnlkSDFjYmlBZ0lDQWdJQ0FnSUNBZ0lIQmhjbUZ0Y3oxN2NHRnlZVzF6ZlZ4dUlDQWdJQ0FnSUNBZ0lDOCtMRnh1SUNBZ0lDQWdJQ0FnSUhCaGNtRnRjeTVsYkdWdFpXNTBYRzRnSUNBZ0lDQWdJQ2s3WEc1Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUNncElEMCtJRkpsWVdOMFJFOU5MblZ1Ylc5MWJuUkRiMjF3YjI1bGJuUkJkRTV2WkdVb2NHRnlZVzF6TG1Wc1pXMWxiblFwTzF4dUlDQWdJQ0FnZlZ4dUlDQWdJSDBwTzF4dUlDQjlYRzVjYmlBZ2NIVmliR2xqSUhOMFlYSjBLR052Y21VNklFTnZjbVZUZEdGeWRDd2daR1Z3Y3pvZ1QzSm5SR0Z6YUdKdllYSmtSVzFpWldSVGRHRnlkRVJsY0hNcElIdDlYRzVjYmlBZ2NIVmliR2xqSUhOMGIzQW9LU0I3ZlZ4dWZWeHVZRHRjYmx4dVkyOXVjM1FnVUZWQ1RFbERYMEZRVUV4SlEwRlVTVTlPSUQwZ1lHbHRjRzl5ZENCU1pXRmpkQ3dnZXlCMWMyVkRZV3hzWW1GamF5d2dkWE5sUldabVpXTjBMQ0IxYzJWU1pXWXNJSFZ6WlZOMFlYUmxJSDBnWm5KdmJTQW5jbVZoWTNRbk8xeHVhVzF3YjNKMElIUjVjR1VnZXlCTmIzVnVkRUZ3Y0VGeVozTWdmU0JtY205dElDY3VMM1I1Y0dWekp6dGNibHh1ZEhsd1pTQkVZWE5vWW05aGNtUlJkV1Z5ZVNBOUlIdGNiaUFnYkdGdVozVmhaMlU2SUNkcmRXVnllU2NnZkNBbmJIVmpaVzVsSnp0Y2JpQWdjWFZsY25rNklITjBjbWx1Wnp0Y2JuMDdYRzVjYm5SNWNHVWdSR0Z6YUdKdllYSmtWR2x0WlZKaGJtZGxJRDBnZTF4dUlDQm1jbTl0T2lCemRISnBibWM3WEc0Z0lIUnZPaUJ6ZEhKcGJtYzdYRzU5TzF4dVhHNTBlWEJsSUZOM2FYUmphRVJoYzJoaWIyRnlaRTFsYzNOaFoyVWdQU0I3WEc0Z0lIUjVjR1U2SUNkUFVrZGZSRUZUU0VKUFFWSkVYMFZOUWtWRVgxTlhTVlJEU0Y5RVFWTklRazlCVWtRbk8xeHVJQ0JrWVhOb1ltOWhjbVJKWkRvZ2MzUnlhVzVuTzF4dUlDQjBhVzFsVW1GdVoyVS9PaUJFWVhOb1ltOWhjbVJVYVcxbFVtRnVaMlU3WEc0Z0lIRjFaWEo1UHpvZ1JHRnphR0p2WVhKa1VYVmxjbms3WEc0Z0lHWnBiSFJsY25NL09pQjFibXR1YjNkdVcxMDdYRzU5TzF4dVhHNTBlWEJsSUZCaGNtVnVkRkpsWVdSNVRXVnpjMkZuWlNBOUlIdGNiaUFnZEhsd1pUb2dKMDlTUjE5RVFWTklRazlCVWtSZlJVMUNSVVJmVWtWQlJGa25PMXh1SUNCa1lYTm9ZbTloY21SSlpEb2djM1J5YVc1bklId2diblZzYkR0Y2JuMDdYRzVjYm5SNWNHVWdVR0Z5Wlc1MFVtVnVaR1Z5WldSTlpYTnpZV2RsSUQwZ2UxeHVJQ0IwZVhCbE9pQW5UMUpIWDBSQlUwaENUMEZTUkY5RlRVSkZSRjlTUlU1RVJWSkZSQ2M3WEc0Z0lHUmhjMmhpYjJGeVpFbGtPaUJ6ZEhKcGJtYzdYRzU5TzF4dVhHNTBlWEJsSUZCaGNtVnVkRVZ5Y205eVRXVnpjMkZuWlNBOUlIdGNiaUFnZEhsd1pUb2dKMDlTUjE5RVFWTklRazlCVWtSZlJVMUNSVVJmUlZKU1QxSW5PMXh1SUNCa1lYTm9ZbTloY21SSlpEb2djM1J5YVc1bklId2diblZzYkR0Y2JpQWdiV1Z6YzJGblpUb2djM1J5YVc1bk8xeHVmVHRjYmx4dWRIbHdaU0JRWVhKbGJuUk5aWE56WVdkbElEMWNiaUFnZkNCUVlYSmxiblJTWldGa2VVMWxjM05oWjJWY2JpQWdmQ0JRWVhKbGJuUlNaVzVrWlhKbFpFMWxjM05oWjJWY2JpQWdmQ0JRWVhKbGJuUkZjbkp2Y2sxbGMzTmhaMlU3WEc1Y2JtTnZibk4wSUVSRlJrRlZURlJmUVV4TVQxZEZSRjlRUVZKRlRsUmZUMUpKUjBsT1V6b2djM1J5YVc1blcxMGdQU0JiWEc0Z0lIZHBibVJ2ZHk1c2IyTmhkR2x2Ymk1dmNtbG5hVzVjYmwwN1hHNWNibVoxYm1OMGFXOXVJR2RsZEVsdWFYUnBZV3hFWVhOb1ltOWhjbVJKWkNncE9pQnpkSEpwYm1jZ2ZDQnVkV3hzSUh0Y2JpQWdZMjl1YzNRZ2NHRnlZVzF6SUQwZ2JtVjNJRlZTVEZObFlYSmphRkJoY21GdGN5aDNhVzVrYjNjdWJHOWpZWFJwYjI0dWMyVmhjbU5vS1R0Y2JpQWdjbVYwZFhKdUlIQmhjbUZ0Y3k1blpYUW9KMlJoYzJoaWIyRnlaRWxrSnlrN1hHNTlYRzVjYm1aMWJtTjBhVzl1SUdkbGRFRnNiRzkzWldSUVlYSmxiblJQY21sbmFXNXpLQ2s2SUhOMGNtbHVaMXRkSUh0Y2JpQWdZMjl1YzNRZ2NHRnlZVzF6SUQwZ2JtVjNJRlZTVEZObFlYSmphRkJoY21GdGN5aDNhVzVrYjNjdWJHOWpZWFJwYjI0dWMyVmhjbU5vS1R0Y2JpQWdZMjl1YzNRZ2NtRjNJRDBnY0dGeVlXMXpMbWRsZENnbmNHRnlaVzUwVDNKcFoybHVKeWs3WEc1Y2JpQWdhV1lnS0NGeVlYY3BJSHRjYmlBZ0lDQnlaWFIxY200Z1JFVkdRVlZNVkY5QlRFeFBWMFZFWDFCQlVrVk9WRjlQVWtsSFNVNVRPMXh1SUNCOVhHNWNiaUFnZEhKNUlIdGNiaUFnSUNCamIyNXpkQ0JrWldOdlpHVmtJRDBnWkdWamIyUmxWVkpKUTI5dGNHOXVaVzUwS0hKaGR5azdYRzRnSUNBZ1kyOXVjM1FnYjNKcFoybHVjeUE5SUdSbFkyOWtaV1JjYmlBZ0lDQWdJQzV6Y0d4cGRDZ25MQ2NwWEc0Z0lDQWdJQ0F1YldGd0tDaHZjbWxuYVc0cElEMCtJRzl5YVdkcGJpNTBjbWx0S0NrcFhHNGdJQ0FnSUNBdVptbHNkR1Z5S0VKdmIyeGxZVzRwTzF4dVhHNGdJQ0FnY21WMGRYSnVJRzl5YVdkcGJuTXViR1Z1WjNSb0lENGdNQ0EvSUc5eWFXZHBibk1nT2lCRVJVWkJWVXhVWDBGTVRFOVhSVVJmVUVGU1JVNVVYMDlTU1VkSlRsTTdYRzRnSUgwZ1kyRjBZMmdnZTF4dUlDQWdJSEpsZEhWeWJpQkVSVVpCVlV4VVgwRk1URTlYUlVSZlVFRlNSVTVVWDA5U1NVZEpUbE03WEc0Z0lIMWNibjFjYmx4dVpuVnVZM1JwYjI0Z2FYTlRkMmwwWTJoRVlYTm9ZbTloY21STlpYTnpZV2RsS0dSaGRHRTZJSFZ1YTI1dmQyNHBPaUJrWVhSaElHbHpJRk4zYVhSamFFUmhjMmhpYjJGeVpFMWxjM05oWjJVZ2UxeHVJQ0JwWmlBb0lXUmhkR0VnZkh3Z2RIbHdaVzltSUdSaGRHRWdJVDA5SUNkdlltcGxZM1FuS1NCN1hHNGdJQ0FnY21WMGRYSnVJR1poYkhObE8xeHVJQ0I5WEc1Y2JpQWdZMjl1YzNRZ2JXVnpjMkZuWlNBOUlHUmhkR0VnWVhNZ1VHRnlkR2xoYkR4VGQybDBZMmhFWVhOb1ltOWhjbVJOWlhOellXZGxQanRjYmx4dUlDQnlaWFIxY200Z0tGeHVJQ0FnSUcxbGMzTmhaMlV1ZEhsd1pTQTlQVDBnSjA5U1IxOUVRVk5JUWs5QlVrUmZSVTFDUlVSZlUxZEpWRU5JWDBSQlUwaENUMEZTUkNjZ0ppWmNiaUFnSUNCMGVYQmxiMllnYldWemMyRm5aUzVrWVhOb1ltOWhjbVJKWkNBOVBUMGdKM04wY21sdVp5Y2dKaVpjYmlBZ0lDQnRaWE56WVdkbExtUmhjMmhpYjJGeVpFbGtMbXhsYm1kMGFDQStJREJjYmlBZ0tUdGNibjFjYmx4dVpuVnVZM1JwYjI0Z2NHOXpkRlJ2VUdGeVpXNTBLRzFsYzNOaFoyVTZJRkJoY21WdWRFMWxjM05oWjJVc0lIUmhjbWRsZEU5eWFXZHBiam9nYzNSeWFXNW5LU0I3WEc0Z0lIZHBibVJ2ZHk1d1lYSmxiblF1Y0c5emRFMWxjM05oWjJVb2JXVnpjMkZuWlN3Z2RHRnlaMlYwVDNKcFoybHVLVHRjYm4xY2JseHVaWGh3YjNKMElHWjFibU4wYVc5dUlFOXlaMFJoYzJoaWIyRnlaRVZ0WW1Wa1FYQndLSHRjYmlBZ1kyOXlaVk4wWVhKMExGeHVJQ0JrWlhCelUzUmhjblJjYm4wNklFMXZkVzUwUVhCd1FYSm5jeWtnZTF4dUlDQmpiMjV6ZENCeWIyOTBVbVZtSUQwZ2RYTmxVbVZtUEVoVVRVeEVhWFpGYkdWdFpXNTBJSHdnYm5Wc2JENG9iblZzYkNrN1hHNGdJR052Ym5OMElHMXZkVzUwWldSRVlYTm9ZbTloY21SU1pXWWdQU0IxYzJWU1pXWThZVzU1UGlodWRXeHNLVHRjYmlBZ1kyOXVjM1FnWVd4c2IzZGxaRkJoY21WdWRFOXlhV2RwYm5OU1pXWWdQU0IxYzJWU1pXWThjM1J5YVc1blcxMCtLR2RsZEVGc2JHOTNaV1JRWVhKbGJuUlBjbWxuYVc1ektDa3BPMXh1SUNCamIyNXpkQ0JzWVhOMFVHRnlaVzUwVDNKcFoybHVVbVZtSUQwZ2RYTmxVbVZtUEhOMGNtbHVaejRvZDJsdVpHOTNMbXh2WTJGMGFXOXVMbTl5YVdkcGJpazdYRzVjYmlBZ1kyOXVjM1FnVzJSaGMyaGliMkZ5WkVsa0xDQnpaWFJFWVhOb1ltOWhjbVJKWkYwZ1BTQjFjMlZUZEdGMFpUeHpkSEpwYm1jZ2ZDQnVkV3hzUGloY2JpQWdJQ0JuWlhSSmJtbDBhV0ZzUkdGemFHSnZZWEprU1dRb0tWeHVJQ0FwTzF4dVhHNGdJR052Ym5OMElGdHNiMkZrYVc1bkxDQnpaWFJNYjJGa2FXNW5YU0E5SUhWelpWTjBZWFJsS0daaGJITmxLVHRjYmx4dUlDQjFjMlZGWm1abFkzUW9LQ2tnUFQ0Z2UxeHVJQ0FnSUdOdmNtVlRkR0Z5ZEM1amFISnZiV1V1YzJWMFNYTldhWE5wWW14bEtHWmhiSE5sS1R0Y2JpQWdmU3dnVzJOdmNtVlRkR0Z5ZEYwcE8xeHVYRzRnSUdOdmJuTjBJR1JsYzNSeWIzbERkWEp5Wlc1MFJHRnphR0p2WVhKa0lEMGdkWE5sUTJGc2JHSmhZMnNvS0NrZ1BUNGdlMXh1SUNBZ0lHbG1JQ2h0YjNWdWRHVmtSR0Z6YUdKdllYSmtVbVZtTG1OMWNuSmxiblEvTG1SbGMzUnliM2twSUh0Y2JpQWdJQ0FnSUcxdmRXNTBaV1JFWVhOb1ltOWhjbVJTWldZdVkzVnljbVZ1ZEM1a1pYTjBjbTk1S0NrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnYlc5MWJuUmxaRVJoYzJoaWIyRnlaRkpsWmk1amRYSnlaVzUwSUQwZ2JuVnNiRHRjYmx4dUlDQWdJR2xtSUNoeWIyOTBVbVZtTG1OMWNuSmxiblFwSUh0Y2JpQWdJQ0FnSUhKdmIzUlNaV1l1WTNWeWNtVnVkQzVwYm01bGNraFVUVXdnUFNBbkp6dGNiaUFnSUNCOVhHNGdJSDBzSUZ0ZEtUdGNibHh1SUNCamIyNXpkQ0JoY0hCc2VWTm9ZWEpsWkVSaGMyaGliMkZ5WkZOMFlYUmxJRDBnZFhObFEyRnNiR0poWTJzb1hHNGdJQ0FnS0cxbGMzTmhaMlU2SUZOM2FYUmphRVJoYzJoaWIyRnlaRTFsYzNOaFoyVXBJRDArSUh0Y2JpQWdJQ0FnSUdsbUlDaHRaWE56WVdkbExuUnBiV1ZTWVc1blpTa2dlMXh1SUNBZ0lDQWdJQ0JrWlhCelUzUmhjblF1WkdGMFlTNXhkV1Z5ZVM1MGFXMWxabWxzZEdWeUxuUnBiV1ZtYVd4MFpYSXVjMlYwVkdsdFpTaHRaWE56WVdkbExuUnBiV1ZTWVc1blpTazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNodFpYTnpZV2RsTG5GMVpYSjVLU0I3WEc0Z0lDQWdJQ0FnSUdSbGNITlRkR0Z5ZEM1a1lYUmhMbkYxWlhKNUxuRjFaWEo1VTNSeWFXNW5Mbk5sZEZGMVpYSjVLRzFsYzNOaFoyVXVjWFZsY25rcE8xeHVJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQnBaaUFvYldWemMyRm5aUzVtYVd4MFpYSnpLU0I3WEc0Z0lDQWdJQ0FnSUdSbGNITlRkR0Z5ZEM1a1lYUmhMbkYxWlhKNUxtWnBiSFJsY2sxaGJtRm5aWEl1YzJWMFJtbHNkR1Z5Y3lodFpYTnpZV2RsTG1acGJIUmxjbk1nWVhNZ1lXNTVLVHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQjlMRnh1SUNBZ0lGdGtaWEJ6VTNSaGNuUXVaR0YwWVYxY2JpQWdLVHRjYmx4dUlDQjFjMlZGWm1abFkzUW9LQ2tnUFQ0Z2UxeHVJQ0FnSUdOdmJuTjBJRzl1VFdWemMyRm5aU0E5SUNobGRtVnVkRG9nVFdWemMyRm5aVVYyWlc1MEtTQTlQaUI3WEc0Z0lDQWdJQ0JwWmlBb0lXRnNiRzkzWldSUVlYSmxiblJQY21sbmFXNXpVbVZtTG1OMWNuSmxiblF1YVc1amJIVmtaWE1vWlhabGJuUXViM0pwWjJsdUtTa2dlMXh1SUNBZ0lDQWdJQ0J5WlhSMWNtNDdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR2xtSUNnaGFYTlRkMmwwWTJoRVlYTm9ZbTloY21STlpYTnpZV2RsS0dWMlpXNTBMbVJoZEdFcEtTQjdYRzRnSUNBZ0lDQWdJSEpsZEhWeWJqdGNiaUFnSUNBZ0lIMWNibHh1SUNBZ0lDQWdiR0Z6ZEZCaGNtVnVkRTl5YVdkcGJsSmxaaTVqZFhKeVpXNTBJRDBnWlhabGJuUXViM0pwWjJsdU8xeHVYRzRnSUNBZ0lDQmhjSEJzZVZOb1lYSmxaRVJoYzJoaWIyRnlaRk4wWVhSbEtHVjJaVzUwTG1SaGRHRXBPMXh1SUNBZ0lDQWdjMlYwUkdGemFHSnZZWEprU1dRb1pYWmxiblF1WkdGMFlTNWtZWE5vWW05aGNtUkpaQ2s3WEc0Z0lDQWdmVHRjYmx4dUlDQWdJSGRwYm1SdmR5NWhaR1JGZG1WdWRFeHBjM1JsYm1WeUtDZHRaWE56WVdkbEp5d2diMjVOWlhOellXZGxLVHRjYmx4dUlDQWdJSEJ2YzNSVWIxQmhjbVZ1ZENoY2JpQWdJQ0FnSUh0Y2JpQWdJQ0FnSUNBZ2RIbHdaVG9nSjA5U1IxOUVRVk5JUWs5QlVrUmZSVTFDUlVSZlVrVkJSRmtuTEZ4dUlDQWdJQ0FnSUNCa1lYTm9ZbTloY21SSlpGeHVJQ0FnSUNBZ2ZTeGNiaUFnSUNBZ0lHeGhjM1JRWVhKbGJuUlBjbWxuYVc1U1pXWXVZM1Z5Y21WdWRGeHVJQ0FnSUNrN1hHNWNiaUFnSUNCeVpYUjFjbTRnS0NrZ1BUNGdkMmx1Wkc5M0xuSmxiVzkyWlVWMlpXNTBUR2x6ZEdWdVpYSW9KMjFsYzNOaFoyVW5MQ0J2YmsxbGMzTmhaMlVwTzF4dUlDQjlMQ0JiWVhCd2JIbFRhR0Z5WldSRVlYTm9ZbTloY21SVGRHRjBaU3dnWkdGemFHSnZZWEprU1dSZEtUdGNibHh1SUNCMWMyVkZabVpsWTNRb0tDa2dQVDRnZTF4dUlDQWdJR2xtSUNnaFpHRnphR0p2WVhKa1NXUWdmSHdnSVhKdmIzUlNaV1l1WTNWeWNtVnVkQ2tnZTF4dUlDQWdJQ0FnY21WMGRYSnVPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHeGxkQ0JqWVc1alpXeHNaV1FnUFNCbVlXeHpaVHRjYmx4dUlDQWdJR0Z6ZVc1aklHWjFibU4wYVc5dUlISmxibVJsY2tSaGMyaGliMkZ5WkNncElIdGNiaUFnSUNBZ0lITmxkRXh2WVdScGJtY29kSEoxWlNrN1hHNWNiaUFnSUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0FnSUdSbGMzUnliM2xEZFhKeVpXNTBSR0Z6YUdKdllYSmtLQ2s3WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWm1GamRHOXllU0E5WEc0Z0lDQWdJQ0FnSUNBZ1pHVndjMU4wWVhKMExtVnRZbVZrWkdGaWJHVXVaMlYwUlcxaVpXUmtZV0pzWlVaaFkzUnZjbmsvTGlnblpHRnphR0p2WVhKa0p5a2dmSHhjYmlBZ0lDQWdJQ0FnSUNCa1pYQnpVM1JoY25RdVpXMWlaV1JrWVdKc1pTNW5aWFJGYldKbFpHUmhZbXhsUm1GamRHOXllVDh1S0Nka1lYTm9ZbTloY21SZlkyOXVkR0ZwYm1WeUp5azdYRzVjYmlBZ0lDQWdJQ0FnYVdZZ0tDRm1ZV04wYjNKNUtTQjdYRzRnSUNBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUVWeWNtOXlLQ2RMYVdKaGJtRWdaR0Z6YUdKdllYSmtJR1Z0WW1Wa1pHRmliR1VnWm1GamRHOXllU0IzWVhNZ2JtOTBJR1p2ZFc1a0xpY3BPMXh1SUNBZ0lDQWdJQ0I5WEc1Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnWlcxaVpXUmtZV0pzWlNBOUlHRjNZV2wwSUdaaFkzUnZjbmt1WTNKbFlYUmxLSHRjYmlBZ0lDQWdJQ0FnSUNCcFpEb2daR0Z6YUdKdllYSmtTV1FzWEc0Z0lDQWdJQ0FnSUNBZ2MyRjJaV1JQWW1wbFkzUkpaRG9nWkdGemFHSnZZWEprU1dRc1hHNGdJQ0FnSUNBZ0lDQWdkbWxsZDAxdlpHVTZJQ2QyYVdWM0p5eGNiaUFnSUNBZ0lDQWdJQ0JvYVdSbFVHRnVaV3hVYVhSc1pYTTZJR1poYkhObExGeHVJQ0FnSUNBZ0lDQWdJSFZ6WlUxaGNtZHBibk02SUhSeWRXVXNYRzRnSUNBZ0lDQWdJQ0FnYzNsdVkwTnZiRzl5Y3pvZ2RISjFaU3hjYmlBZ0lDQWdJQ0FnSUNCemVXNWpRM1Z5YzI5eU9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lITjVibU5VYjI5c2RHbHdjem9nZEhKMVpTeGNiaUFnSUNBZ0lDQWdJQ0IwYVcxbFVtRnVaMlU2SUdSbGNITlRkR0Z5ZEM1a1lYUmhMbkYxWlhKNUxuUnBiV1ZtYVd4MFpYSXVkR2x0WldacGJIUmxjaTVuWlhSVWFXMWxLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ2NYVmxjbms2SUdSbGNITlRkR0Z5ZEM1a1lYUmhMbkYxWlhKNUxuRjFaWEo1VTNSeWFXNW5MbWRsZEZGMVpYSjVLQ2tzWEc0Z0lDQWdJQ0FnSUNBZ1ptbHNkR1Z5Y3pvZ1pHVndjMU4wWVhKMExtUmhkR0V1Y1hWbGNua3VabWxzZEdWeVRXRnVZV2RsY2k1blpYUkdhV3gwWlhKektDbGNiaUFnSUNBZ0lDQWdmU0JoY3lCaGJua3BPMXh1WEc0Z0lDQWdJQ0FnSUdsbUlDaGpZVzVqWld4c1pXUXBJSHRjYmlBZ0lDQWdJQ0FnSUNCbGJXSmxaR1JoWW14bExtUmxjM1J5YjNrL0xpZ3BPMXh1SUNBZ0lDQWdJQ0FnSUhKbGRIVnlianRjYmlBZ0lDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNBZ0lHVnRZbVZrWkdGaWJHVXVjbVZ1WkdWeUtISnZiM1JTWldZdVkzVnljbVZ1ZENFcE8xeHVJQ0FnSUNBZ0lDQnRiM1Z1ZEdWa1JHRnphR0p2WVhKa1VtVm1MbU4xY25KbGJuUWdQU0JsYldKbFpHUmhZbXhsTzF4dVhHNGdJQ0FnSUNBZ0lIQnZjM1JVYjFCaGNtVnVkQ2hjYmlBZ0lDQWdJQ0FnSUNCN1hHNGdJQ0FnSUNBZ0lDQWdJQ0IwZVhCbE9pQW5UMUpIWDBSQlUwaENUMEZTUkY5RlRVSkZSRjlTUlU1RVJWSkZSQ2NzWEc0Z0lDQWdJQ0FnSUNBZ0lDQmtZWE5vWW05aGNtUkpaRnh1SUNBZ0lDQWdJQ0FnSUgwc1hHNGdJQ0FnSUNBZ0lDQWdiR0Z6ZEZCaGNtVnVkRTl5YVdkcGJsSmxaaTVqZFhKeVpXNTBYRzRnSUNBZ0lDQWdJQ2s3WEc0Z0lDQWdJQ0I5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnRaWE56WVdkbElEMWNiaUFnSUNBZ0lDQWdJQ0JsY25KdmNpQnBibk4wWVc1alpXOW1JRVZ5Y205eUlEOGdaWEp5YjNJdWJXVnpjMkZuWlNBNklDZFZibXR1YjNkdUlHUmhjMmhpYjJGeVpDQmxjbkp2Y2ljN1hHNWNiaUFnSUNBZ0lDQWdhV1lnS0hKdmIzUlNaV1l1WTNWeWNtVnVkQ2tnZTF4dUlDQWdJQ0FnSUNBZ0lISnZiM1JTWldZdVkzVnljbVZ1ZEM1cGJtNWxja2hVVFV3Z1BTQmNYR0JjYmlBZ0lDQWdJQ0FnSUNBZ0lEeGthWFlnYzNSNWJHVTlYQ0pjYmlBZ0lDQWdJQ0FnSUNBZ0lDQWdjR0ZrWkdsdVp6b2dNalJ3ZUR0Y2JpQWdJQ0FnSUNBZ0lDQWdJQ0FnWm05dWRDMW1ZVzFwYkhrNklITmhibk10YzJWeWFXWTdYRzRnSUNBZ0lDQWdJQ0FnSUNBZ0lHTnZiRzl5T2lBalltUXlOekZsTzF4dUlDQWdJQ0FnSUNBZ0lDQWdYQ0krWEc0Z0lDQWdJQ0FnSUNBZ0lDQWdJRVpoYVd4bFpDQjBieUJ5Wlc1a1pYSWdaR0Z6YUdKdllYSmtPaUJjWENSN2JXVnpjMkZuWlgxY2JpQWdJQ0FnSUNBZ0lDQWdJRHd2WkdsMlBseHVJQ0FnSUNBZ0lDQWdJRnhjWUR0Y2JpQWdJQ0FnSUNBZ2ZWeHVYRzRnSUNBZ0lDQWdJSEJ2YzNSVWIxQmhjbVZ1ZENoY2JpQWdJQ0FnSUNBZ0lDQjdYRzRnSUNBZ0lDQWdJQ0FnSUNCMGVYQmxPaUFuVDFKSFgwUkJVMGhDVDBGU1JGOUZUVUpGUkY5RlVsSlBVaWNzWEc0Z0lDQWdJQ0FnSUNBZ0lDQmtZWE5vWW05aGNtUkpaQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lHMWxjM05oWjJWY2JpQWdJQ0FnSUNBZ0lDQjlMRnh1SUNBZ0lDQWdJQ0FnSUd4aGMzUlFZWEpsYm5SUGNtbG5hVzVTWldZdVkzVnljbVZ1ZEZ4dUlDQWdJQ0FnSUNBcE8xeHVJQ0FnSUNBZ2ZTQm1hVzVoYkd4NUlIdGNiaUFnSUNBZ0lDQWdhV1lnS0NGallXNWpaV3hzWldRcElIdGNiaUFnSUNBZ0lDQWdJQ0J6WlhSTWIyRmthVzVuS0daaGJITmxLVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dUlDQWdJSDFjYmx4dUlDQWdJSEpsYm1SbGNrUmhjMmhpYjJGeVpDZ3BPMXh1WEc0Z0lDQWdjbVYwZFhKdUlDZ3BJRDArSUh0Y2JpQWdJQ0FnSUdOaGJtTmxiR3hsWkNBOUlIUnlkV1U3WEc0Z0lDQWdmVHRjYmlBZ2ZTd2dXMlJoYzJoaWIyRnlaRWxrTENCa1pYQnpVM1JoY25Rc0lHUmxjM1J5YjNsRGRYSnlaVzUwUkdGemFHSnZZWEprWFNrN1hHNWNiaUFnZFhObFJXWm1aV04wS0NncElEMCtJSHRjYmlBZ0lDQnlaWFIxY200Z0tDa2dQVDRnZTF4dUlDQWdJQ0FnWkdWemRISnZlVU4xY25KbGJuUkVZWE5vWW05aGNtUW9LVHRjYmlBZ0lDQjlPMXh1SUNCOUxDQmJaR1Z6ZEhKdmVVTjFjbkpsYm5SRVlYTm9ZbTloY21SZEtUdGNibHh1SUNCeVpYUjFjbTRnS0Z4dUlDQWdJRHhrYVhaY2JpQWdJQ0FnSUhOMGVXeGxQWHQ3WEc0Z0lDQWdJQ0FnSUhCdmMybDBhVzl1T2lBblptbDRaV1FuTEZ4dUlDQWdJQ0FnSUNCcGJuTmxkRG9nTUN4Y2JpQWdJQ0FnSUNBZ2QybGtkR2c2SUNjeE1EQjJkeWNzWEc0Z0lDQWdJQ0FnSUdobGFXZG9kRG9nSnpFd01IWm9KeXhjYmlBZ0lDQWdJQ0FnYjNabGNtWnNiM2M2SUNkb2FXUmtaVzRuTEZ4dUlDQWdJQ0FnSUNCaVlXTnJaM0p2ZFc1a09pQW5JMlptWmlkY2JpQWdJQ0FnSUgxOVhHNGdJQ0FnUGx4dUlDQWdJQ0FnZTJ4dllXUnBibWNnSmlZZ0tGeHVJQ0FnSUNBZ0lDQThaR2wyWEc0Z0lDQWdJQ0FnSUNBZ2MzUjViR1U5ZTN0Y2JpQWdJQ0FnSUNBZ0lDQWdJSEJ2YzJsMGFXOXVPaUFuWVdKemIyeDFkR1VuTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdhVzV6WlhRNklEQXNYRzRnSUNBZ0lDQWdJQ0FnSUNCNlNXNWtaWGc2SURFd0xGeHVJQ0FnSUNBZ0lDQWdJQ0FnWkdsemNHeGhlVG9nSjJac1pYZ25MRnh1SUNBZ0lDQWdJQ0FnSUNBZ1lXeHBaMjVKZEdWdGN6b2dKMk5sYm5SbGNpY3NYRzRnSUNBZ0lDQWdJQ0FnSUNCcWRYTjBhV1o1UTI5dWRHVnVkRG9nSjJObGJuUmxjaWNzWEc0Z0lDQWdJQ0FnSUNBZ0lDQm1iMjUwUm1GdGFXeDVPaUFuYzJGdWN5MXpaWEpwWmljc1hHNGdJQ0FnSUNBZ0lDQWdJQ0JpWVdOclozSnZkVzVrT2lBbkkyWm1aaWRjYmlBZ0lDQWdJQ0FnSUNCOWZWeHVJQ0FnSUNBZ0lDQStYRzRnSUNBZ0lDQWdJQ0FnVEc5aFpHbHVaeUJrWVhOb1ltOWhjbVRpZ0taY2JpQWdJQ0FnSUNBZ1BDOWthWFkrWEc0Z0lDQWdJQ0FwZlZ4dVhHNGdJQ0FnSUNBOFpHbDJYRzRnSUNBZ0lDQWdJSEpsWmoxN2NtOXZkRkpsWm4xY2JpQWdJQ0FnSUNBZ2MzUjViR1U5ZTN0Y2JpQWdJQ0FnSUNBZ0lDQndiM05wZEdsdmJqb2dKMkZpYzI5c2RYUmxKeXhjYmlBZ0lDQWdJQ0FnSUNCcGJuTmxkRG9nTUN4Y2JpQWdJQ0FnSUNBZ0lDQjNhV1IwYURvZ0p6RXdNQ1VuTEZ4dUlDQWdJQ0FnSUNBZ0lHaGxhV2RvZERvZ0p6RXdNQ1VuWEc0Z0lDQWdJQ0FnSUgxOVhHNGdJQ0FnSUNBdlBseHVJQ0FnSUR3dlpHbDJQbHh1SUNBcE8xeHVmVnh1WUR0Y2JseHVZMjl1YzNRZ1UwVlNWa1ZTWDBsT1JFVllJRDBnWUdsdGNHOXlkQ0IwZVhCbElIc2dVR3gxWjJsdVNXNXBkR2xoYkdsNlpYSkRiMjUwWlhoMElIMGdabkp2YlNBblFHdGliaTlqYjNKbEwzTmxjblpsY2ljN1hHNXBiWEJ2Y25RZ2V5QlBjbWRFWVhOb1ltOWhjbVJGYldKbFpGTmxjblpsY2xCc2RXZHBiaUI5SUdaeWIyMGdKeTR2Y0d4MVoybHVKenRjYmx4dVpYaHdiM0owSUdaMWJtTjBhVzl1SUhCc2RXZHBiaWhwYm1sMGFXRnNhWHBsY2tOdmJuUmxlSFE2SUZCc2RXZHBia2x1YVhScFlXeHBlbVZ5UTI5dWRHVjRkQ2tnZTF4dUlDQnlaWFIxY200Z2JtVjNJRTl5WjBSaGMyaGliMkZ5WkVWdFltVmtVMlZ5ZG1WeVVHeDFaMmx1S0dsdWFYUnBZV3hwZW1WeVEyOXVkR1Y0ZENrN1hHNTlYRzVnTzF4dVhHNWpiMjV6ZENCVFJWSldSVkpmVUV4VlIwbE9JRDBnWUdsdGNHOXlkQ0IwZVhCbElIdGNiaUFnUTI5eVpWTmxkSFZ3TEZ4dUlDQkRiM0psVTNSaGNuUXNYRzRnSUZCc2RXZHBiaXhjYmlBZ1VHeDFaMmx1U1c1cGRHbGhiR2w2WlhKRGIyNTBaWGgwWEc1OUlHWnliMjBnSjBCclltNHZZMjl5WlM5elpYSjJaWEluTzF4dVhHNWxlSEJ2Y25RZ1kyeGhjM01nVDNKblJHRnphR0p2WVhKa1JXMWlaV1JUWlhKMlpYSlFiSFZuYVc0Z2FXMXdiR1Z0Wlc1MGN5QlFiSFZuYVc0Z2UxeHVJQ0JqYjI1emRISjFZM1J2Y2lod2NtbDJZWFJsSUhKbFlXUnZibXg1SUdsdWFYUnBZV3hwZW1WeVEyOXVkR1Y0ZERvZ1VHeDFaMmx1U1c1cGRHbGhiR2w2WlhKRGIyNTBaWGgwS1NCN2ZWeHVYRzRnSUhCMVlteHBZeUJ6WlhSMWNDaGpiM0psT2lCRGIzSmxVMlYwZFhBcElIdGNiaUFnSUNCamIyNXpkQ0J5YjNWMFpYSWdQU0JqYjNKbExtaDBkSEF1WTNKbFlYUmxVbTkxZEdWeUtDazdYRzVjYmlBZ0lDQnliM1YwWlhJdVoyVjBLRnh1SUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0J3WVhSb09pQW5MMkZ3YVM4a2UwdEpRa0ZPUVY5QlVGQmZTVVI5TDJobFlXeDBhQ2NzWEc0Z0lDQWdJQ0FnSUhaaGJHbGtZWFJsT2lCbVlXeHpaVnh1SUNBZ0lDQWdmU3hjYmlBZ0lDQWdJR0Z6ZVc1aklDaGpiMjUwWlhoMExDQnlaWEYxWlhOMExDQnlaWE53YjI1elpTa2dQVDRnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnY21WemNHOXVjMlV1YjJzb2UxeHVJQ0FnSUNBZ0lDQWdJR0p2WkhrNklIdGNiaUFnSUNBZ0lDQWdJQ0FnSUc5ck9pQjBjblZsTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdjR3gxWjJsdU9pQW5KSHRMU1VKQlRrRmZRVkJRWDBsRWZTZGNiaUFnSUNBZ0lDQWdJQ0I5WEc0Z0lDQWdJQ0FnSUgwcE8xeHVJQ0FnSUNBZ2ZWeHVJQ0FnSUNrN1hHNGdJSDFjYmx4dUlDQndkV0pzYVdNZ2MzUmhjblFvWTI5eVpUb2dRMjl5WlZOMFlYSjBLU0I3ZlZ4dVhHNGdJSEIxWW14cFl5QnpkRzl3S0NrZ2UzMWNibjFjYm1BN1hHNWNibU52Ym5OMElGSkZRVVJOUlNBOUlHQWpJQ1I3UzBsQ1FVNUJYMUJNVlVkSlRsOUpSSDFjYmx4dVRYVnNkR2t0ZEdWdVlXNTBMQ0J2Y21jdFlXZHViM04wYVdNZ1MybGlZVzVoSUdSaGMyaGliMkZ5WkNCbGJXSmxaQ0J3YkhWbmFXNHVYRzVjYmxSb1pYSmxJR2x6SUc1bGRtVnlJSE53WVdObElITjNhWFJqYUdsdVp5NGdSV0ZqYUNCdmNtY2dZV3h5WldGa2VTQnNZVzVrY3lCcGJpQnBkSE1nYjNkdUlFdHBZbUZ1WVNCemNHRmpaVnh1ZEdoeWIzVm5hQ0IwYUdVZ1ltRmphMlZ1WkNCd2NtOTRlUzl6WlhOemFXOXVJRlZTVEN3Z1lXNWtJSFJvWlNCd2JIVm5hVzRnYjI1c2VTQnpkMmwwWTJobGN5QmtZWE5vWW05aGNtUnpYRzUzYVhSb2FXNGdkR2hsSUdOMWNuSmxiblFnYzNCaFkyVXVYRzVjYmlNaklFSjFhV3hrWEc1Y2JrdHBZbUZ1WVNCd2JIVm5hVzV6SUcxMWMzUWdiV0YwWTJnZ2RHaGxJR1Y0WVdOMElFdHBZbUZ1WVNCMlpYSnphVzl1SUdGdVpDQnRkWE4wSUdKbElHSjFhV3gwSUhkcGRHaHBiaUIwYUdWY2JrdHBZbUZ1WVNCeVpYQnZJQ2h6WldVZ2EySnVMWEJzZFdkcGJpMW5aVzVsY21GMGIzSXBMaUJRYkdGalpTQjBhR2x6SUdScGNtVmpkRzl5ZVNCMWJtUmxjbHh1WEZ4Z2EybGlZVzVoTFdWNGRISmhMMXhjWUNBb2IzSWdYRnhnY0d4MVoybHVjeTljWEdBcElHRnVaQ0J5ZFc0Z2RHaGxJRXRwWW1GdVlTQndiSFZuYVc0Z1luVnBiR1FzSUdVdVp5NDZYRzVjYmx4Y1lGeGNZRnhjWUZ4dWVXRnliaUJpZFdsc1pGeHVYRnhnWEZ4Z1hGeGdYRzVjYmlNaklFVnRZbVZrSUZWU1RGeHVYRzVjWEdCY1hHQmNYR0JjYmk5cmFXSmhibUV2WVhCd0x5UjdTMGxDUVU1QlgwRlFVRjlKUkgwL1pHRnphR0p2WVhKa1NXUTlQR2xrUGlad1lYSmxiblJQY21sbmFXNDlQRzl5YVdkcGJqNWNibHhjWUZ4Y1lGeGNZRnh1WEc0akl5Qk5aWE56WVdkbElIQnliM1J2WTI5c1hHNWNiaTBnVUdGeVpXNTBJQzArSUhCc2RXZHBiam9nWEZ4Z1QxSkhYMFJCVTBoQ1QwRlNSRjlGVFVKRlJGOVRWMGxVUTBoZlJFRlRTRUpQUVZKRVhGeGdYRzR0SUZCc2RXZHBiaUF0UGlCd1lYSmxiblE2SUZ4Y1lFOVNSMTlFUVZOSVFrOUJVa1JmUlUxQ1JVUmZVa1ZCUkZsY1hHQWdMeUJjWEdCUFVrZGZSRUZUU0VKUFFWSkVYMFZOUWtWRVgxSkZUa1JGVWtWRVhGeGdJQzhnWEZ4Z1QxSkhYMFJCVTBoQ1QwRlNSRjlGVFVKRlJGOUZVbEpQVWx4Y1lGeHVYRzVXWlhKemFXOXVPaUFrZTB0SlFrRk9RVjlRVEZWSFNVNWZWa1ZTVTBsUFRuMWNibUE3WEc1Y2JpOHFLbHh1SUNvZ1VtVjBkWEp1Y3lCMGFHVWdablZzYkNCelpYUWdiMllnWjJWdVpYSmhkR1ZrSUhCc2RXZHBiaUJtYVd4bGN5Qm1iM0lnWVNCMFlYSm5aWFFnUzJsaVlXNWhJSFpsY25OcGIyNHVYRzRnS2x4dUlDb2dRSEJoY21GdElIUmhjbWRsZEZabGNuTnBiMjRnTFNCTGFXSmhibUVnZG1WeWMybHZiaUJpWVd0bFpDQnBiblJ2SUdCcmFXSmhibUV1YW5OdmJtQXVYRzRnS2k5Y2JtVjRjRzl5ZENCbWRXNWpkR2x2YmlCcmFXSmhibUZRYkhWbmFXNUdhV3hsY3loMFlYSm5aWFJXWlhKemFXOXVPaUJ6ZEhKcGJtY3BPaUJMYVdKaGJtRlFiSFZuYVc1R2FXeGxXMTBnZTF4dUlDQmpiMjV6ZENCdFlXNXBabVZ6ZENBOUlFcFRUMDR1YzNSeWFXNW5hV1o1S0Z4dUlDQWdJSHRjYmlBZ0lDQWdJR2xrT2lCTFNVSkJUa0ZmVUV4VlIwbE9YMGxFTEZ4dUlDQWdJQ0FnZG1WeWMybHZiam9nUzBsQ1FVNUJYMUJNVlVkSlRsOVdSVkpUU1U5T0xGeHVJQ0FnSUNBZ2EybGlZVzVoVm1WeWMybHZiam9nZEdGeVoyVjBWbVZ5YzJsdmJpeGNiaUFnSUNBZ0lITmxjblpsY2pvZ2RISjFaU3hjYmlBZ0lDQWdJSFZwT2lCMGNuVmxMRnh1SUNBZ0lDQWdjbVZ4ZFdseVpXUlFiSFZuYVc1ek9pQmJYQ0prWVhOb1ltOWhjbVJjSWl3Z1hDSmxiV0psWkdSaFlteGxYQ0lzSUZ3aVpHRjBZVndpWFN4Y2JpQWdJQ0FnSUc5d2RHbHZibUZzVUd4MVoybHVjem9nVzEwc1hHNGdJQ0FnZlN4Y2JpQWdJQ0J1ZFd4c0xGeHVJQ0FnSURKY2JpQWdLVHRjYmx4dUlDQnlaWFIxY200Z1cxeHVJQ0FnSUhzZ2NHRjBhRG9nWENKcmFXSmhibUV1YW5OdmJsd2lMQ0JqYjI1MFpXNTBPaUJnSkh0dFlXNXBabVZ6ZEgxY1hHNWdJSDBzWEc0Z0lDQWdleUJ3WVhSb09pQmNJblJ6WTI5dVptbG5MbXB6YjI1Y0lpd2dZMjl1ZEdWdWREb2dZQ1I3VkZOZlEwOU9Sa2xIZlZ4Y2JtQWdmU3hjYmlBZ0lDQjdJSEJoZEdnNklGd2lVa1ZCUkUxRkxtMWtYQ0lzSUdOdmJuUmxiblE2SUZKRlFVUk5SU0I5TEZ4dUlDQWdJSHNnY0dGMGFEb2dYQ0p3ZFdKc2FXTXZkSGx3WlhNdWRITmNJaXdnWTI5dWRHVnVkRG9nVUZWQ1RFbERYMVJaVUVWVElIMHNYRzRnSUNBZ2V5QndZWFJvT2lCY0luQjFZbXhwWXk5cGJtUmxlQzUwYzF3aUxDQmpiMjUwWlc1ME9pQlFWVUpNU1VOZlNVNUVSVmdnZlN4Y2JpQWdJQ0I3SUhCaGRHZzZJRndpY0hWaWJHbGpMM0JzZFdkcGJpNTBjM2hjSWl3Z1kyOXVkR1Z1ZERvZ1VGVkNURWxEWDFCTVZVZEpUaUI5TEZ4dUlDQWdJSHNnY0dGMGFEb2dYQ0p3ZFdKc2FXTXZZWEJ3YkdsallYUnBiMjR1ZEhONFhDSXNJR052Ym5SbGJuUTZJRkJWUWt4SlExOUJVRkJNU1VOQlZFbFBUaUI5TEZ4dUlDQWdJSHNnY0dGMGFEb2dYQ0p6WlhKMlpYSXZhVzVrWlhndWRITmNJaXdnWTI5dWRHVnVkRG9nVTBWU1ZrVlNYMGxPUkVWWUlIMHNYRzRnSUNBZ2V5QndZWFJvT2lCY0luTmxjblpsY2k5d2JIVm5hVzR1ZEhOY0lpd2dZMjl1ZEdWdWREb2dVMFZTVmtWU1gxQk1WVWRKVGlCOUxGeHVJQ0JkTzF4dWZWeHVJbDE5Il19
|
|
502
|
+
//# sourceMappingURL=templates.js.map
|
|
503
|
+
//# sourceMappingURL=templates.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins/kibana/templates.cjs","sourceRoot":"","sources":["plugins/kibana/templates.js"],"names":[],"mappings":";;AA4dA,8CAqBC;AAjfD;;;;;;;;GAQG;AACH,+CAAuF;AACvF,MAAM,SAAS,GAAG;;;;CAIjB,CAAC;AACF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BpB,CAAC;AACF,MAAM,YAAY,GAAG;;;;;;CAMpB,CAAC;AACF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;;aAgBT,2BAAa;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BzB,CAAC;AACF,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6S1B,CAAC;AACF,MAAM,YAAY,GAAG;;;;;;CAMpB,CAAC;AACF,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;sBAeA,2BAAa;;;;;;;uBAOZ,2BAAa;;;;;;;;;;;CAWnC,CAAC;AACF,MAAM,MAAM,GAAG,KAAK,8BAAgB;;;;;;;;;;;;;;;;;;;;;cAqBtB,2BAAa;;;;;;;;WAQhB,mCAAqB;CAC/B,CAAC;AACF;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,aAAa;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,EAAE,EAAE,8BAAgB;QACpB,OAAO,EAAE,mCAAqB;QAC9B,aAAa,EAAE,aAAa;QAC5B,MAAM,EAAE,IAAI;QACZ,EAAE,EAAE,IAAI;QACR,eAAe,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC;QACpD,eAAe,EAAE,EAAE;KACtB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACZ,OAAO;QACH,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,QAAQ,IAAI,EAAE;QACjD,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,SAAS,IAAI,EAAE;QACpD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE;QACtC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE;QAClD,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE;QAClD,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,aAAa,EAAE;QACrD,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,kBAAkB,EAAE;QAC/D,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE;QAClD,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,aAAa,EAAE;KACvD,CAAC;AACN,CAAC;AACD,qCAAqC"}
|
|
@@ -29,5 +29,5 @@ Object.defineProperty(exports, "KIBANA_PLUGIN_VERSION", { enumerable: true, get:
|
|
|
29
29
|
Object.defineProperty(exports, "buildKibanaManifest", { enumerable: true, get: function () { return manifest_js_1.buildKibanaManifest; } });
|
|
30
30
|
var templates_js_1 = require("./templates.cjs");
|
|
31
31
|
Object.defineProperty(exports, "kibanaPluginFiles", { enumerable: true, get: function () { return templates_js_1.kibanaPluginFiles; } });
|
|
32
|
-
//# sourceMappingURL=
|
|
33
|
-
//# sourceMappingURL=
|
|
32
|
+
//# sourceMappingURL=types.js.map
|
|
33
|
+
//# sourceMappingURL=types.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins/kibana/types.cjs","sourceRoot":"","sources":["plugins/kibana/types.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;GAKG;AACH,mDAAiC;AACjC,6CAA6G;AAApG,+GAAA,gBAAgB,OAAA;AAAE,4GAAA,aAAa,OAAA;AAAE,oHAAA,qBAAqB,OAAA;AAAE,kHAAA,mBAAmB,OAAA;AACpF,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAC1B,iCAAiC"}
|
|
@@ -22,5 +22,5 @@ Object.defineProperty(exports, "buildSupersetEmbedUrl", { enumerable: true, get:
|
|
|
22
22
|
function sendSupersetSwitchDashboardMessage(target, payload, targetOrigin) {
|
|
23
23
|
(0, contract_js_1.sendSwitchDashboardMessage)(target, payload, targetOrigin);
|
|
24
24
|
}
|
|
25
|
-
//# sourceMappingURL=
|
|
26
|
-
//# sourceMappingURL=
|
|
25
|
+
//# sourceMappingURL=host.js.map
|
|
26
|
+
//# sourceMappingURL=host.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins/superset/host.cjs","sourceRoot":"","sources":["plugins/superset/host.js"],"names":[],"mappings":";;;AAiBA,gFAEC;AAnBD;;;;;;GAMG;AACH,kDAA6E;AAC7E,iDAAuD;AAC9C,sGADA,oCAAqB,OACA;AAC9B;;;;;;GAMG;AACH,SAAgB,kCAAkC,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY;IAC5E,IAAA,wCAAU,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAC9C,CAAC;AACD,gCAAgC"}
|
|
@@ -36,5 +36,5 @@ Object.defineProperty(exports, "buildSupersetEmbedUrl", { enumerable: true, get:
|
|
|
36
36
|
Object.defineProperty(exports, "SUPERSET_DEFAULT_BASE_PATH", { enumerable: true, get: function () { return installer_js_1.SUPERSET_DEFAULT_BASE_PATH; } });
|
|
37
37
|
var host_js_1 = require("./host.cjs");
|
|
38
38
|
Object.defineProperty(exports, "sendSupersetSwitchDashboardMessage", { enumerable: true, get: function () { return host_js_1.sendSupersetSwitchDashboardMessage; } });
|
|
39
|
-
//# sourceMappingURL=
|
|
40
|
-
//# sourceMappingURL=
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
40
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins/superset/index.cjs","sourceRoot":"","sources":["plugins/superset/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA;;;;;;;;GAQG;AACH,mDAAiC;AACjC,6CAA2B;AAC3B,gDAA8B;AAC9B,iDAA+B;AAC/B,+CAAoL;AAA3K,4HAAA,4BAA4B,OAAA;AAAE,4HAAA,4BAA4B,OAAA;AAAE,kIAAA,kCAAkC,OAAA;AAAE,qHAAA,qBAAqB,OAAA;AAAE,0HAAA,0BAA0B,OAAA;AAC1J,qCAAgE;AAAvD,6HAAA,kCAAkC,OAAA;AAC3C,iCAAiC"}
|