@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
|
@@ -398,5 +398,5 @@ class OnePasswordSecretService extends core_1.ClientBasedService {
|
|
|
398
398
|
}
|
|
399
399
|
}
|
|
400
400
|
exports.OnePasswordSecretService = OnePasswordSecretService;
|
|
401
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlY3JldHMvb25lcGFzc3dvcmQvT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQWtCLDJCQUEyQjtBQU9qRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsMkJBQTJCO0FBQzdFLE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsd0JBQXdCLEdBRXpCLDJCQUEyQjtBQUM1QixPQUFPLEVBQ0wsa0JBQWtCLEdBR25CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV2RSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEsa0JBRzdDO0lBSEQ7O1FBSVcsYUFBUSxHQUFtQixXQUFXLENBQUM7SUFvaUJsRCxDQUFDO0lBbGlCQyxLQUFLLENBQUMsVUFBVSxDQUNkLEdBQUcsSUFBeUI7UUFFNUIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBbUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3hCLE1BQU0sSUFBSSxhQUFhLENBQ3JCLHNEQUFzRCxDQUN2RCxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsS0FBSyxDQUNULElBQWdCLEVBQ2hCLEtBQVEsRUFDUixHQUFHLElBQTZCO1FBRWhDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFL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QUFlLENBQzNCLEtBQWEsRUFDYixPQUFlO1FBRWYsSUFBSSxDQUFDO1lBQ0gsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsT0FBTyxRQUFRLENBQUMsQ0FBQztZQUN0RSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDOUQsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQ3RELENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQWMsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWNyZXRFcnJvciwgU2VjcmV0UHJvdmlkZXIgfSBmcm9tIFwiLi4vLi4vc2VjcmV0cy9jb3JlXCI7XG5pbXBvcnQge1xuICBTZWNyZXROYW1lLFxuICBTZWNyZXRQYXlsb2FkLFxuICBTZWNyZXRSZWZlcmVuY2UsXG4gIFNlY3JldE1ldGFkYXRhLFxufSBmcm9tIFwiLi4vLi4vc2VjcmV0cy9jb3JlXCI7XG5pbXBvcnQgeyB2YWxpZGF0ZVNlY3JldE5hbWUsIG5vcm1hbGl6ZVNlY3JldE5hbWUgfSBmcm9tIFwiLi4vLi4vc2VjcmV0cy9jb3JlXCI7XG5pbXBvcnQge1xuICBzZXJpYWxpemVTZWNyZXRQYXlsb2FkLFxuICBkZXNlcmlhbGl6ZVNlY3JldFBheWxvYWQsXG4gIHR5cGUgU2VyaWFsaXplZFNlY3JldFBheWxvYWQsXG59IGZyb20gXCIuLi8uLi9zZWNyZXRzL2NvcmVcIjtcbmltcG9ydCB7XG4gIENsaWVudEJhc2VkU2VydmljZSxcbiAgdHlwZSBDb250ZXh0dWFsQXJncyxcbiAgdHlwZSBNYXliZUNvbnRleHR1YWxBcmcsXG59IGZyb20gXCJAZGVjYWYtdHMvY29yZVwiO1xuaW1wb3J0IHsgT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlQ29uZmlnIH0gZnJvbSBcIi4vT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlQ29uZmlnXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yLCBOb3RGb3VuZEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5cbmV4cG9ydCBjbGFzcyBPbmVQYXNzd29yZFNlY3JldFNlcnZpY2UgZXh0ZW5kcyBDbGllbnRCYXNlZFNlcnZpY2U8XG4gIHVua25vd24sXG4gIE9uZVBhc3N3b3JkU2VjcmV0U2VydmljZUNvbmZpZ1xuPiB7XG4gIHJlYWRvbmx5IHByb3ZpZGVyOiBTZWNyZXRQcm92aWRlciA9IFwiMXBhc3N3b3JkXCI7XG5cbiAgYXN5bmMgaW5pdGlhbGl6ZShcbiAgICAuLi5hcmdzOiBDb250ZXh0dWFsQXJnczxhbnk+XG4gICk6IFByb21pc2U8eyBjb25maWc6IE9uZVBhc3N3b3JkU2VjcmV0U2VydmljZUNvbmZpZzsgY2xpZW50OiB1bmtub3duIH0+IHtcbiAgICBjb25zdCBjb25maWcgPSBhcmdzWzBdIGFzIE9uZVBhc3N3b3JkU2VjcmV0U2VydmljZUNvbmZpZztcbiAgICBpZiAoIWNvbmZpZy5jb25uZWN0SG9zdCkge1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIFwiMVBhc3N3b3JkIHNlcnZpY2UgcmVxdWlyZXMgY29ubmVjdEhvc3QgY29uZmlndXJhdGlvblwiXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4geyBjb25maWcsIGNsaWVudDoge30gfTtcbiAgfVxuXG4gIGFzeW5jIHN0b3JlPFQgZXh0ZW5kcyBTZWNyZXRQYXlsb2FkID0gU2VjcmV0UGF5bG9hZD4oXG4gICAgbmFtZTogU2VjcmV0TmFtZSxcbiAgICB2YWx1ZTogVCxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPFNlY3JldFJlZmVyZW5jZT4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJzdG9yZVwiLCB0cnVlKSkuZm9yKHRoaXMuc3RvcmUpO1xuICAgIGxvZy52ZXJib3NlKGBTdG9yaW5nIHNlY3JldCAke25hbWV9YCk7XG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlU2VjcmV0TmFtZShuYW1lKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG5cbiAgICBjb25zdCBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHNlcmlhbGl6ZVNlY3JldFBheWxvYWQodmFsdWUpO1xuICAgIGNvbnN0IHZhdWx0SWQgPSB0aGlzLmNvbmZpZy52YXVsdElkO1xuXG4gICAgaWYgKCF2YXVsdElkKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCIxUGFzc3dvcmQgcHJvdmlkZXIgcmVxdWlyZXMgYSB2YXVsdCBJRCBpbiBjb25maWd1cmF0aW9uXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgaXRlbSA9IHtcbiAgICAgIHRpdGxlOiBub3JtYWxpemVkTmFtZSxcbiAgICAgIGNhdGVnb3J5OiBcImxvZ2luXCIsXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiBcInNlY3JldFwiLFxuICAgICAgICAgIHZhbHVlOiBzZXJpYWxpemVkLnZhbHVlLFxuICAgICAgICAgIHB1cnBvc2U6IFwicGFzc3dvcmRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBub3RlczogYENyZWF0ZWQgYnkgREVDQUYgU2VjcmV0IFNlcnZpY2UgYXQgJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9YCxcbiAgICB9O1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5wb3N0UmVxdWVzdChcbiAgICAgICAgYC92MS92YXVsdHMvJHt2YXVsdElkfS9pdGVtc2AsXG4gICAgICAgIGl0ZW1cbiAgICAgICk7XG5cbiAgICAgIGlmICghcmVzcG9uc2UuaWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IFNlY3JldEVycm9yKFxuICAgICAgICAgIFwiU0VDUkVUX1BST1ZJREVSX0NPTkZMSUNUXCIsXG4gICAgICAgICAgXCJGYWlsZWQgdG8gc3RvcmUgc2VjcmV0OiBObyBpdGVtIElEIHJldHVybmVkXCJcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICAgIG5hbWU6IG5vcm1hbGl6ZWROYW1lLFxuICAgICAgICB2ZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgaWQ6IHJlc3BvbnNlLmlkLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyByZXRyaWV2ZTxUIGV4dGVuZHMgU2VjcmV0UGF5bG9hZCA9IFNlY3JldFBheWxvYWQ+KFxuICAgIG5hbWVPclJlZjogU2VjcmV0TmFtZSB8IFNlY3JldFJlZmVyZW5jZSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwicmV0cmlldmVcIiwgdHJ1ZSkpLmZvcihcbiAgICAgIHRoaXMucmV0cmlldmVcbiAgICApO1xuICAgIGNvbnN0IG5hbWVTdHIgPSB0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiID8gbmFtZU9yUmVmIDogbmFtZU9yUmVmLm5hbWU7XG4gICAgbG9nLnZlcmJvc2UoYFJldHJpZXZpbmcgc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuICAgIGNvbnN0IHZhdWx0SWQgPSB0aGlzLmNvbmZpZy52YXVsdElkO1xuXG4gICAgaWYgKCF2YXVsdElkKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCIxUGFzc3dvcmQgcHJvdmlkZXIgcmVxdWlyZXMgYSB2YXVsdCBJRCBpbiBjb25maWd1cmF0aW9uXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGl0ZW1JZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUgJiZcbiAgICAgIHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlLmluY2x1ZGVzKFwiJHtuYW1lfVwiKVxuICAgICkge1xuICAgICAgaXRlbUlkID0gdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUucmVwbGFjZShcIiR7bmFtZX1cIiwgbm9ybWFsaXplZE5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMuZ2V0SXRlbXNCeVRpdGxlKG5vcm1hbGl6ZWROYW1lLCB2YXVsdElkKTtcbiAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhyb3cgbmV3IE5vdEZvdW5kRXJyb3IoXG4gICAgICAgICAgYFNlY3JldCBcIiR7bm9ybWFsaXplZE5hbWV9XCIgbm90IGZvdW5kIGluIHZhdWx0YFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaXRlbUlkID0gaXRlbXNbMF0uaWQ7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCB0aGlzLmdldFJlcXVlc3QoXG4gICAgICAgIGAvdjEvdmF1bHRzLyR7dmF1bHRJZH0vaXRlbXMvJHtpdGVtSWR9YFxuICAgICAgKTtcblxuICAgICAgbGV0IHZhbHVlID0gXCJcIjtcbiAgICAgIGlmIChpdGVtLmZpZWxkcyAmJiBBcnJheS5pc0FycmF5KGl0ZW0uZmllbGRzKSkge1xuICAgICAgICBjb25zdCBzZWNyZXRGaWVsZCA9IGl0ZW0uZmllbGRzLmZpbmQoXG4gICAgICAgICAgKGY6IGFueSkgPT4gZi5wdXJwb3NlID09PSBcInBhc3N3b3JkXCIgfHwgZi5sYWJlbCA9PT0gXCJzZWNyZXRcIlxuICAgICAgICApO1xuICAgICAgICBpZiAoc2VjcmV0RmllbGQgJiYgc2VjcmV0RmllbGQudmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHZhbHVlID0gc2VjcmV0RmllbGQudmFsdWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCF2YWx1ZSAmJiBpdGVtLmRldGFpbHMgJiYgaXRlbS5kZXRhaWxzLmZpZWxkcykge1xuICAgICAgICBjb25zdCBmaWVsZHMgPSBBcnJheS5pc0FycmF5KGl0ZW0uZGV0YWlscy5maWVsZHMpXG4gICAgICAgICAgPyBpdGVtLmRldGFpbHMuZmllbGRzXG4gICAgICAgICAgOiBbXTtcbiAgICAgICAgY29uc3Qgc2VjcmV0RmllbGQgPSBmaWVsZHMuZmluZChcbiAgICAgICAgICAoZjogYW55KSA9PiBmLnB1cnBvc2UgPT09IFwicGFzc3dvcmRcIiB8fCBmLmxhYmVsID09PSBcInNlY3JldFwiXG4gICAgICAgICk7XG4gICAgICAgIGlmIChzZWNyZXRGaWVsZCAmJiBzZWNyZXRGaWVsZC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdmFsdWUgPSBzZWNyZXRGaWVsZC52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgIHRocm93IG5ldyBTZWNyZXRFcnJvcihcbiAgICAgICAgICBcIlNFQ1JFVF9OT1RfRk9VTkRcIixcbiAgICAgICAgICBgTm8gc2VjcmV0IHZhbHVlIGZvdW5kIGZvciBpdGVtIFwiJHtpdGVtSWR9XCJgXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBheWxvYWQ6IFNlcmlhbGl6ZWRTZWNyZXRQYXlsb2FkID0ge1xuICAgICAgICBlbmNvZGluZzogXCJ1dGY4XCIsXG4gICAgICAgIHZhbHVlLFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGRlc2VyaWFsaXplU2VjcmV0UGF5bG9hZChwYXlsb2FkKSBhcyBUO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IgYXMgRXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGRlbGV0ZShcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZVwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlKTtcbiAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgIGxvZy52ZXJib3NlKGBEZWxldGluZyBzZWNyZXQgJHtuYW1lU3RyfWApO1xuXG4gICAgbGV0IG5hbWU6IHN0cmluZztcblxuICAgIGlmICh0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmLm5hbWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlU2VjcmV0TmFtZShuYW1lKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG5cbiAgICBjb25zdCBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgY29uc3QgdmF1bHRJZCA9IHRoaXMuY29uZmlnLnZhdWx0SWQ7XG5cbiAgICBpZiAoIXZhdWx0SWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIjFQYXNzd29yZCBwcm92aWRlciByZXF1aXJlcyBhIHZhdWx0IElEIGluIGNvbmZpZ3VyYXRpb25cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgaXRlbUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZSAmJlxuICAgICAgdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUuaW5jbHVkZXMoXCIke25hbWV9XCIpXG4gICAgKSB7XG4gICAgICBpdGVtSWQgPSB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZS5yZXBsYWNlKFwiJHtuYW1lfVwiLCBub3JtYWxpemVkTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gYXdhaXQgdGhpcy5nZXRJdGVtc0J5VGl0bGUobm9ybWFsaXplZE5hbWUsIHZhdWx0SWQpO1xuICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpdGVtSWQgPSBpdGVtc1swXS5pZDtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5kZWxldGVSZXF1ZXN0KGAvdjEvdmF1bHRzLyR7dmF1bHRJZH0vaXRlbXMvJHtpdGVtSWR9YCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZXhpc3RzKFxuICAgIG5hbWVPclJlZjogU2VjcmV0TmFtZSB8IFNlY3JldFJlZmVyZW5jZSxcbiAgICAuLi5hcmdzOiBNYXliZUNvbnRleHR1YWxBcmc8YW55PlxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwiZXhpc3RzXCIsIHRydWUpKS5mb3IodGhpcy5leGlzdHMpO1xuICAgIGNvbnN0IG5hbWVTdHIgPSB0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiID8gbmFtZU9yUmVmIDogbmFtZU9yUmVmLm5hbWU7XG4gICAgbG9nLnZlcmJvc2UoYENoZWNraW5nIGlmIHNlY3JldCAke25hbWVTdHJ9IGV4aXN0c2ApO1xuXG4gICAgbGV0IG5hbWU6IHN0cmluZztcblxuICAgIGlmICh0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmO1xuICAgIH0gZWxzZSB7XG4gICAgICBuYW1lID0gbmFtZU9yUmVmLm5hbWU7XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIHZhbGlkYXRlU2VjcmV0TmFtZShuYW1lKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG5cbiAgICBjb25zdCBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgY29uc3QgdmF1bHRJZCA9IHRoaXMuY29uZmlnLnZhdWx0SWQ7XG5cbiAgICBpZiAoIXZhdWx0SWQpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBcIjFQYXNzd29yZCBwcm92aWRlciByZXF1aXJlcyBhIHZhdWx0IElEIGluIGNvbmZpZ3VyYXRpb25cIlxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgaXRlbUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZSAmJlxuICAgICAgdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUuaW5jbHVkZXMoXCIke25hbWV9XCIpXG4gICAgKSB7XG4gICAgICBpdGVtSWQgPSB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZS5yZXBsYWNlKFwiJHtuYW1lfVwiLCBub3JtYWxpemVkTmFtZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGl0ZW1zID0gYXdhaXQgdGhpcy5nZXRJdGVtc0J5VGl0bGUobm9ybWFsaXplZE5hbWUsIHZhdWx0SWQpO1xuICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpdGVtSWQgPSBpdGVtc1swXS5pZDtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5nZXRSZXF1ZXN0KGAvdjEvdmF1bHRzLyR7dmF1bHRJZH0vaXRlbXMvJHtpdGVtSWR9YCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc3QgZXJyID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgICBpZiAoXG4gICAgICAgIGVyci5tZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHxcbiAgICAgICAgZXJyLm1lc3NhZ2UuaW5jbHVkZXMoXCI0MDRcIilcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBsaXN0KC4uLmFyZ3M6IE1heWJlQ29udGV4dHVhbEFyZzxhbnk+KTogUHJvbWlzZTxTZWNyZXRNZXRhZGF0YVtdPiB7XG4gICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImxpc3RcIiwgdHJ1ZSkpLmZvcih0aGlzLmxpc3QpO1xuICAgIGxvZy52ZXJib3NlKFwiTGlzdGluZyBzZWNyZXRzXCIpO1xuICAgIGNvbnN0IHJlc3VsdDogU2VjcmV0TWV0YWRhdGFbXSA9IFtdO1xuICAgIGNvbnN0IHZhdWx0SWQgPSB0aGlzLmNvbmZpZy52YXVsdElkO1xuXG4gICAgaWYgKCF2YXVsdElkKSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMuZ2V0UmVxdWVzdChgL3YxL3ZhdWx0cy8ke3ZhdWx0SWR9L2l0ZW1zYCk7XG5cbiAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBBcnJheS5pc0FycmF5KGl0ZW1zKSA/IGl0ZW1zIDogW2l0ZW1zXSkge1xuICAgICAgICBpZiAoaXRlbS5pZCAmJiBpdGVtLnRpdGxlKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICAgICAgICBuYW1lOiBpdGVtLnRpdGxlLFxuICAgICAgICAgICAgdmVyc2lvbjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgY3JlYXRlZEF0OiBpdGVtLmNyZWF0ZWRBdCA/IG5ldyBEYXRlKGl0ZW0uY3JlYXRlZEF0KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIHVwZGF0ZWRBdDogaXRlbS51cGRhdGVkQXQgPyBuZXcgRGF0ZShpdGVtLnVwZGF0ZWRBdCkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICAgICAgZXh0ZXJuYWxJZDogaXRlbS5pZCxcbiAgICAgICAgICAgIHRhZ3M6IGl0ZW0uY2F0ZWdvcnkgPyB7IGNhdGVnb3J5OiBpdGVtLmNhdGVnb3J5IH0gOiB1bmRlZmluZWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBtZXRhZGF0YShcbiAgICBuYW1lT3JSZWY6IFNlY3JldE5hbWUgfCBTZWNyZXRSZWZlcmVuY2UsXG4gICAgLi4uYXJnczogTWF5YmVDb250ZXh0dWFsQXJnPGFueT5cbiAgKTogUHJvbWlzZTxTZWNyZXRNZXRhZGF0YSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJtZXRhZGF0YVwiLCB0cnVlKSkuZm9yKFxuICAgICAgdGhpcy5tZXRhZGF0YVxuICAgICk7XG4gICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICBsb2cudmVyYm9zZShgR2V0dGluZyBtZXRhZGF0YSBmb3Igc2VjcmV0ICR7bmFtZVN0cn1gKTtcblxuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICB9IGVsc2Uge1xuICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvciBhcyBFcnJvcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuICAgIGNvbnN0IHZhdWx0SWQgPSB0aGlzLmNvbmZpZy52YXVsdElkO1xuXG4gICAgaWYgKCF2YXVsdElkKSB7XG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgXCIxUGFzc3dvcmQgcHJvdmlkZXIgcmVxdWlyZXMgYSB2YXVsdCBJRCBpbiBjb25maWd1cmF0aW9uXCJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGl0ZW1JZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUgJiZcbiAgICAgIHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlLmluY2x1ZGVzKFwiJHtuYW1lfVwiKVxuICAgICkge1xuICAgICAgaXRlbUlkID0gdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUucmVwbGFjZShcIiR7bmFtZX1cIiwgbm9ybWFsaXplZE5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMuZ2V0SXRlbXNCeVRpdGxlKG5vcm1hbGl6ZWROYW1lLCB2YXVsdElkKTtcbiAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIGl0ZW1JZCA9IGl0ZW1zWzBdLmlkO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBpdGVtID0gYXdhaXQgdGhpcy5nZXRSZXF1ZXN0KFxuICAgICAgICBgL3YxL3ZhdWx0cy8ke3ZhdWx0SWR9L2l0ZW1zLyR7aXRlbUlkfWBcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IG1ldGE6IFNlY3JldE1ldGFkYXRhID0ge1xuICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgbmFtZTogaXRlbS50aXRsZSB8fCBub3JtYWxpemVkTmFtZSxcbiAgICAgICAgdmVyc2lvbjogdW5kZWZpbmVkLFxuICAgICAgICBjcmVhdGVkQXQ6IGl0ZW0uY3JlYXRlZEF0ID8gbmV3IERhdGUoaXRlbS5jcmVhdGVkQXQpIDogdW5kZWZpbmVkLFxuICAgICAgICB1cGRhdGVkQXQ6IGl0ZW0udXBkYXRlZEF0ID8gbmV3IERhdGUoaXRlbS51cGRhdGVkQXQpIDogdW5kZWZpbmVkLFxuICAgICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgICBleHRlcm5hbElkOiBpdGVtLmlkLFxuICAgICAgICB0YWdzOiBpdGVtLmNhdGVnb3J5ID8geyBjYXRlZ29yeTogaXRlbS5jYXRlZ29yeSB9IDogdW5kZWZpbmVkLFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIG1ldGE7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yO1xuICAgICAgaWYgKFxuICAgICAgICBlcnIubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8XG4gICAgICAgIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnIpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBwYXJzZUVycm9yKGVycm9yOiB1bmtub3duKTogU2VjcmV0RXJyb3Ige1xuICAgIGNvbnN0IGVyciA9IGVycm9yIGFzIEVycm9yO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIubWVzc2FnZSB8fCBlcnIubmFtZSB8fCBcIlVua25vd24gZXJyb3JcIjtcbiAgICBjb25zdCBsb3dlck1lc3NhZ2UgPSBtZXNzYWdlLnRvTG93ZXJDYXNlKCk7XG5cbiAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcbiAgICAgICAgXCJTRUNSRVRfTk9UX0ZPVU5EXCIsXG4gICAgICAgIGBTZWNyZXQgbm90IGZvdW5kOiAke21lc3NhZ2V9YCxcbiAgICAgICAgZXJyXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImFscmVhZHkgZXhpc3RzXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJjb25mbGljdFwiKSB8fFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDA5XCIpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3IFNlY3JldEVycm9yKFxuICAgICAgICBcIlNFQ1JFVF9BTFJFQURZX0VYSVNUU1wiLFxuICAgICAgICBgU2VjcmV0IGFscmVhZHkgZXhpc3RzOiAke21lc3NhZ2V9YCxcbiAgICAgICAgZXJyXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJ1bmF1dGhvcml6ZWRcIikgfHwgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiNDAxXCIpKSB7XG4gICAgICByZXR1cm4gbmV3IFNlY3JldEVycm9yKFxuICAgICAgICBcIlNFQ1JFVF9QUk9WSURFUl9BVVRIX0ZBSUxFRFwiLFxuICAgICAgICBgQXV0aGVudGljYXRpb24gZmFpbGVkOiAke21lc3NhZ2V9YCxcbiAgICAgICAgZXJyXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJwZXJtaXNzaW9uXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwM1wiKSkge1xuICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcbiAgICAgICAgXCJTRUNSRVRfUFJPVklERVJfUEVSTUlTU0lPTl9ERU5JRURcIixcbiAgICAgICAgYFBlcm1pc3Npb24gZGVuaWVkOiAke21lc3NhZ2V9YCxcbiAgICAgICAgZXJyXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJyYXRlIGxpbWl0XCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQyOVwiKSkge1xuICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcbiAgICAgICAgXCJTRUNSRVRfUFJPVklERVJfUkFURV9MSU1JVEVEXCIsXG4gICAgICAgIGBSYXRlIGxpbWl0ZWQ6ICR7bWVzc2FnZX1gLFxuICAgICAgICBlcnJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwicHJvdmlkZXJcIikgfHxcbiAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInVuYXZhaWxhYmxlXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJjb25uZWN0aW9uXCIpIHx8XG4gICAgICBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJ0aW1lb3V0XCIpXG4gICAgKSB7XG4gICAgICByZXR1cm4gbmV3IFNlY3JldEVycm9yKFxuICAgICAgICBcIlNFQ1JFVF9QUk9WSURFUl9VTkFWQUlMQUJMRVwiLFxuICAgICAgICBgUHJvdmlkZXIgdW5hdmFpbGFibGU6ICR7bWVzc2FnZX1gLFxuICAgICAgICBlcnJcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcbiAgICAgIFwiU0VDUkVUX1BST1ZJREVSX0NPTkZMSUNUXCIsXG4gICAgICBgUHJvdmlkZXIgZXJyb3I6ICR7bWVzc2FnZX1gLFxuICAgICAgZXJyXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0UmVxdWVzdChwYXRoOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuY29uZmlnLmNvbm5lY3RIb3N0fSR7cGF0aH1gO1xuICAgIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICB9O1xuICAgIGlmICh0aGlzLmNvbmZpZy5jb25uZWN0VG9rZW4pIHtcbiAgICAgIGhlYWRlcnNbXCJBdXRob3JpemF0aW9uXCJdID0gYEJlYXJlciAke3RoaXMuY29uZmlnLmNvbm5lY3RUb2tlbn1gO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICBoZWFkZXJzLFxuICAgIH0pO1xuXG4gICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgY29uc3QgZXJyb3JCb2R5ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpLmNhdGNoKCgpID0+IFwiXCIpO1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGAxUGFzc3dvcmQgQVBJIGVycm9yICgke3Jlc3BvbnNlLnN0YXR1c30pOiAke2Vycm9yQm9keSB8fCByZXNwb25zZS5zdGF0dXNUZXh0fWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcG9zdFJlcXVlc3QocGF0aDogc3RyaW5nLCBib2R5OiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHVybCA9IGAke3RoaXMuY29uZmlnLmNvbm5lY3RIb3N0fSR7cGF0aH1gO1xuICAgIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICB9O1xuICAgIGlmICh0aGlzLmNvbmZpZy5jb25uZWN0VG9rZW4pIHtcbiAgICAgIGhlYWRlcnNbXCJBdXRob3JpemF0aW9uXCJdID0gYEJlYXJlciAke3RoaXMuY29uZmlnLmNvbm5lY3RUb2tlbn1gO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7XG4gICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgaGVhZGVycyxcbiAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGJvZHkpLFxuICAgIH0pO1xuXG4gICAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgICAgY29uc3QgZXJyb3JCb2R5ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpLmNhdGNoKCgpID0+IFwiXCIpO1xuICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXG4gICAgICAgIGAxUGFzc3dvcmQgQVBJIGVycm9yICgke3Jlc3BvbnNlLnN0YXR1c30pOiAke2Vycm9yQm9keSB8fCByZXNwb25zZS5zdGF0dXNUZXh0fWBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZGVsZXRlUmVxdWVzdChwYXRoOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmNvbmZpZy5jb25uZWN0SG9zdH0ke3BhdGh9YDtcbiAgICBjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgfTtcbiAgICBpZiAodGhpcy5jb25maWcuY29ubmVjdFRva2VuKSB7XG4gICAgICBoZWFkZXJzW1wiQXV0aG9yaXphdGlvblwiXSA9IGBCZWFyZXIgJHt0aGlzLmNvbmZpZy5jb25uZWN0VG9rZW59YDtcbiAgICB9XG5cbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgbWV0aG9kOiBcIkRFTEVURVwiLFxuICAgICAgaGVhZGVycyxcbiAgICB9KTtcblxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIGNvbnN0IGVycm9yQm9keSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKS5jYXRjaCgoKSA9PiBcIlwiKTtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgMVBhc3N3b3JkIEFQSSBlcnJvciAoJHtyZXNwb25zZS5zdGF0dXN9KTogJHtlcnJvckJvZHkgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dH1gXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZ2V0SXRlbXNCeVRpdGxlKFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgdmF1bHRJZDogc3RyaW5nXG4gICk6IFByb21pc2U8YW55W10+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgYWxsSXRlbXMgPSBhd2FpdCB0aGlzLmdldFJlcXVlc3QoYC92MS92YXVsdHMvJHt2YXVsdElkfS9pdGVtc2ApO1xuICAgICAgY29uc3QgaXRlbXMgPSBBcnJheS5pc0FycmF5KGFsbEl0ZW1zKSA/IGFsbEl0ZW1zIDogW2FsbEl0ZW1zXTtcbiAgICAgIHJldHVybiBpdGVtcy5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udGl0bGUgPT09IHRpdGxlKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yIGFzIEVycm9yKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
402
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlEQUFpRDtBQUNqRCxpREFBNkU7QUFDN0UsaURBQXVGO0FBQ3ZGLHlDQUFxRDtBQUNyRCwyREFBdUU7QUFDdkUsTUFBYSx3QkFBeUIsU0FBUSx5QkFBa0I7SUFDNUQ7UUFDSSxLQUFLLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztJQUNoQyxDQUFDO0lBQ0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUk7UUFDcEIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsTUFBTSxJQUFJLDZCQUFhLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUNwRixDQUFDO1FBQ0QsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUNELEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUk7UUFDNUIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pFLEdBQUcsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDO1lBQ0QsSUFBQSw2QkFBa0IsRUFBQyxJQUFJLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBQ0QsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFB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QUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNYLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0wsQ0FBQztDQUNKO0FBdFlELDREQXNZQztBQUNELHNreENBQXNreEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWNyZXRFcnJvciB9IGZyb20gXCIuLy4uL2NvcmUvaW5kZXguanNcIjtcbmltcG9ydCB7IHZhbGlkYXRlU2VjcmV0TmFtZSwgbm9ybWFsaXplU2VjcmV0TmFtZSB9IGZyb20gXCIuLy4uL2NvcmUvaW5kZXguanNcIjtcbmltcG9ydCB7IHNlcmlhbGl6ZVNlY3JldFBheWxvYWQsIGRlc2VyaWFsaXplU2VjcmV0UGF5bG9hZCwgfSBmcm9tIFwiLi8uLi9jb3JlL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBDbGllbnRCYXNlZFNlcnZpY2UsIH0gZnJvbSBcIkBkZWNhZi10cy9jb3JlXCI7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yLCBOb3RGb3VuZEVycm9yIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5leHBvcnQgY2xhc3MgT25lUGFzc3dvcmRTZWNyZXRTZXJ2aWNlIGV4dGVuZHMgQ2xpZW50QmFzZWRTZXJ2aWNlIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgdGhpcy5wcm92aWRlciA9IFwiMXBhc3N3b3JkXCI7XG4gICAgfVxuICAgIGFzeW5jIGluaXRpYWxpemUoLi4uYXJncykge1xuICAgICAgICBjb25zdCBjb25maWcgPSBhcmdzWzBdO1xuICAgICAgICBpZiAoIWNvbmZpZy5jb25uZWN0SG9zdCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCIxUGFzc3dvcmQgc2VydmljZSByZXF1aXJlcyBjb25uZWN0SG9zdCBjb25maWd1cmF0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IGNvbmZpZywgY2xpZW50OiB7fSB9O1xuICAgIH1cbiAgICBhc3luYyBzdG9yZShuYW1lLCB2YWx1ZSwgLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwic3RvcmVcIiwgdHJ1ZSkpLmZvcih0aGlzLnN0b3JlKTtcbiAgICAgICAgbG9nLnZlcmJvc2UoYFN0b3Jpbmcgc2VjcmV0ICR7bmFtZX1gKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhbGlkYXRlU2VjcmV0TmFtZShuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuICAgICAgICBjb25zdCBzZXJpYWxpemVkID0gc2VyaWFsaXplU2VjcmV0UGF5bG9hZCh2YWx1ZSk7XG4gICAgICAgIGNvbnN0IHZhdWx0SWQgPSB0aGlzLmNvbmZpZy52YXVsdElkO1xuICAgICAgICBpZiAoIXZhdWx0SWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiMVBhc3N3b3JkIHByb3ZpZGVyIHJlcXVpcmVzIGEgdmF1bHQgSUQgaW4gY29uZmlndXJhdGlvblwiKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpdGVtID0ge1xuICAgICAgICAgICAgdGl0bGU6IG5vcm1hbGl6ZWROYW1lLFxuICAgICAgICAgICAgY2F0ZWdvcnk6IFwibG9naW5cIixcbiAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IFwic2VjcmV0XCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZXJpYWxpemVkLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICBwdXJwb3NlOiBcInBhc3N3b3JkXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBub3RlczogYENyZWF0ZWQgYnkgREVDQUYgU2VjcmV0IFNlcnZpY2UgYXQgJHtuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCl9YCxcbiAgICAgICAgfTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5wb3N0UmVxdWVzdChgL3YxL3ZhdWx0cy8ke3ZhdWx0SWR9L2l0ZW1zYCwgaXRlbSk7XG4gICAgICAgICAgICBpZiAoIXJlc3BvbnNlLmlkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFNlY3JldEVycm9yKFwiU0VDUkVUX1BST1ZJREVSX0NPTkZMSUNUXCIsIFwiRmFpbGVkIHRvIHN0b3JlIHNlY3JldDogTm8gaXRlbSBJRCByZXR1cm5lZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgbmFtZTogbm9ybWFsaXplZE5hbWUsXG4gICAgICAgICAgICAgICAgdmVyc2lvbjogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiByZXNwb25zZS5pZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgcmV0cmlldmUobmFtZU9yUmVmLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJyZXRyaWV2ZVwiLCB0cnVlKSkuZm9yKHRoaXMucmV0cmlldmUpO1xuICAgICAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgICAgICBsb2cudmVyYm9zZShgUmV0cmlldmluZyBzZWNyZXQgJHtuYW1lU3RyfWApO1xuICAgICAgICBsZXQgbmFtZTtcbiAgICAgICAgaWYgKHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lT3JSZWY7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBuYW1lID0gbmFtZU9yUmVmLm5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhbGlkYXRlU2VjcmV0TmFtZShuYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZE5hbWUgPSBub3JtYWxpemVTZWNyZXROYW1lKG5hbWUpO1xuICAgICAgICBjb25zdCB2YXVsdElkID0gdGhpcy5jb25maWcudmF1bHRJZDtcbiAgICAgICAgaWYgKCF2YXVsdElkKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcIjFQYXNzd29yZCBwcm92aWRlciByZXF1aXJlcyBhIHZhdWx0IElEIGluIGNvbmZpZ3VyYXRpb25cIik7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGl0ZW1JZDtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlICYmXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZS5pbmNsdWRlcyhcIiR7bmFtZX1cIikpIHtcbiAgICAgICAgICAgIGl0ZW1JZCA9IHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlLnJlcGxhY2UoXCIke25hbWV9XCIsIG5vcm1hbGl6ZWROYW1lKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gYXdhaXQgdGhpcy5nZXRJdGVtc0J5VGl0bGUobm9ybWFsaXplZE5hbWUsIHZhdWx0SWQpO1xuICAgICAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBOb3RGb3VuZEVycm9yKGBTZWNyZXQgXCIke25vcm1hbGl6ZWROYW1lfVwiIG5vdCBmb3VuZCBpbiB2YXVsdGApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbUlkID0gaXRlbXNbMF0uaWQ7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCB0aGlzLmdldFJlcXVlc3QoYC92MS92YXVsdHMvJHt2YXVsdElkfS9pdGVtcy8ke2l0ZW1JZH1gKTtcbiAgICAgICAgICAgIGxldCB2YWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICBpZiAoaXRlbS5maWVsZHMgJiYgQXJyYXkuaXNBcnJheShpdGVtLmZpZWxkcykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBzZWNyZXRGaWVsZCA9IGl0ZW0uZmllbGRzLmZpbmQoKGYpID0+IGYucHVycG9zZSA9PT0gXCJwYXNzd29yZFwiIHx8IGYubGFiZWwgPT09IFwic2VjcmV0XCIpO1xuICAgICAgICAgICAgICAgIGlmIChzZWNyZXRGaWVsZCAmJiBzZWNyZXRGaWVsZC52YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gc2VjcmV0RmllbGQudmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCF2YWx1ZSAmJiBpdGVtLmRldGFpbHMgJiYgaXRlbS5kZXRhaWxzLmZpZWxkcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpZWxkcyA9IEFycmF5LmlzQXJyYXkoaXRlbS5kZXRhaWxzLmZpZWxkcylcbiAgICAgICAgICAgICAgICAgICAgPyBpdGVtLmRldGFpbHMuZmllbGRzXG4gICAgICAgICAgICAgICAgICAgIDogW107XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VjcmV0RmllbGQgPSBmaWVsZHMuZmluZCgoZikgPT4gZi5wdXJwb3NlID09PSBcInBhc3N3b3JkXCIgfHwgZi5sYWJlbCA9PT0gXCJzZWNyZXRcIik7XG4gICAgICAgICAgICAgICAgaWYgKHNlY3JldEZpZWxkICYmIHNlY3JldEZpZWxkLnZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBzZWNyZXRGaWVsZC52YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFNlY3JldEVycm9yKFwiU0VDUkVUX05PVF9GT1VORFwiLCBgTm8gc2VjcmV0IHZhbHVlIGZvdW5kIGZvciBpdGVtIFwiJHtpdGVtSWR9XCJgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgICAgICAgICAgZW5jb2Rpbmc6IFwidXRmOFwiLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBkZXNlcmlhbGl6ZVNlY3JldFBheWxvYWQocGF5bG9hZCk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIGRlbGV0ZShuYW1lT3JSZWYsIC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3QgeyBsb2cgfSA9IChhd2FpdCB0aGlzLmxvZ0N0eChhcmdzLCBcImRlbGV0ZVwiLCB0cnVlKSkuZm9yKHRoaXMuZGVsZXRlKTtcbiAgICAgICAgY29uc3QgbmFtZVN0ciA9IHR5cGVvZiBuYW1lT3JSZWYgPT09IFwic3RyaW5nXCIgPyBuYW1lT3JSZWYgOiBuYW1lT3JSZWYubmFtZTtcbiAgICAgICAgbG9nLnZlcmJvc2UoYERlbGV0aW5nIHNlY3JldCAke25hbWVTdHJ9YCk7XG4gICAgICAgIGxldCBuYW1lO1xuICAgICAgICBpZiAodHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgbmFtZSA9IG5hbWVPclJlZjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG5hbWUgPSBuYW1lT3JSZWYubmFtZTtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFsaWRhdGVTZWNyZXROYW1lKG5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBub3JtYWxpemVkTmFtZSA9IG5vcm1hbGl6ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgICAgIGNvbnN0IHZhdWx0SWQgPSB0aGlzLmNvbmZpZy52YXVsdElkO1xuICAgICAgICBpZiAoIXZhdWx0SWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFwiMVBhc3N3b3JkIHByb3ZpZGVyIHJlcXVpcmVzIGEgdmF1bHQgSUQgaW4gY29uZmlndXJhdGlvblwiKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgaXRlbUlkO1xuICAgICAgICBpZiAodGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUgJiZcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLml0ZW1JZFRlbXBsYXRlLmluY2x1ZGVzKFwiJHtuYW1lfVwiKSkge1xuICAgICAgICAgICAgaXRlbUlkID0gdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUucmVwbGFjZShcIiR7bmFtZX1cIiwgbm9ybWFsaXplZE5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCB0aGlzLmdldEl0ZW1zQnlUaXRsZShub3JtYWxpemVkTmFtZSwgdmF1bHRJZCk7XG4gICAgICAgICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbUlkID0gaXRlbXNbMF0uaWQ7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZGVsZXRlUmVxdWVzdChgL3YxL3ZhdWx0cy8ke3ZhdWx0SWR9L2l0ZW1zLyR7aXRlbUlkfWApO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgdGhpcy5wYXJzZUVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBleGlzdHMobmFtZU9yUmVmLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJleGlzdHNcIiwgdHJ1ZSkpLmZvcih0aGlzLmV4aXN0cyk7XG4gICAgICAgIGNvbnN0IG5hbWVTdHIgPSB0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiID8gbmFtZU9yUmVmIDogbmFtZU9yUmVmLm5hbWU7XG4gICAgICAgIGxvZy52ZXJib3NlKGBDaGVja2luZyBpZiBzZWNyZXQgJHtuYW1lU3RyfSBleGlzdHNgKTtcbiAgICAgICAgbGV0IG5hbWU7XG4gICAgICAgIGlmICh0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBuYW1lID0gbmFtZU9yUmVmO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcbiAgICAgICAgY29uc3QgdmF1bHRJZCA9IHRoaXMuY29uZmlnLnZhdWx0SWQ7XG4gICAgICAgIGlmICghdmF1bHRJZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCIxUGFzc3dvcmQgcHJvdmlkZXIgcmVxdWlyZXMgYSB2YXVsdCBJRCBpbiBjb25maWd1cmF0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpdGVtSWQ7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZSAmJlxuICAgICAgICAgICAgdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUuaW5jbHVkZXMoXCIke25hbWV9XCIpKSB7XG4gICAgICAgICAgICBpdGVtSWQgPSB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZS5yZXBsYWNlKFwiJHtuYW1lfVwiLCBub3JtYWxpemVkTmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMuZ2V0SXRlbXNCeVRpdGxlKG5vcm1hbGl6ZWROYW1lLCB2YXVsdElkKTtcbiAgICAgICAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpdGVtSWQgPSBpdGVtc1swXS5pZDtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5nZXRSZXF1ZXN0KGAvdjEvdmF1bHRzLyR7dmF1bHRJZH0vaXRlbXMvJHtpdGVtSWR9YCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnN0IGVyciA9IGVycm9yO1xuICAgICAgICAgICAgaWYgKGVyci5tZXNzYWdlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoXCJub3QgZm91bmRcIikgfHxcbiAgICAgICAgICAgICAgICBlcnIubWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGFzeW5jIGxpc3QoLi4uYXJncykge1xuICAgICAgICBjb25zdCB7IGxvZyB9ID0gKGF3YWl0IHRoaXMubG9nQ3R4KGFyZ3MsIFwibGlzdFwiLCB0cnVlKSkuZm9yKHRoaXMubGlzdCk7XG4gICAgICAgIGxvZy52ZXJib3NlKFwiTGlzdGluZyBzZWNyZXRzXCIpO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICAgICAgY29uc3QgdmF1bHRJZCA9IHRoaXMuY29uZmlnLnZhdWx0SWQ7XG4gICAgICAgIGlmICghdmF1bHRJZCkge1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCB0aGlzLmdldFJlcXVlc3QoYC92MS92YXVsdHMvJHt2YXVsdElkfS9pdGVtc2ApO1xuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIEFycmF5LmlzQXJyYXkoaXRlbXMpID8gaXRlbXMgOiBbaXRlbXNdKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uaWQgJiYgaXRlbS50aXRsZSkge1xuICAgICAgICAgICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm92aWRlcjogdGhpcy5wcm92aWRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGl0ZW0udGl0bGUsXG4gICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGVkQXQ6IGl0ZW0uY3JlYXRlZEF0ID8gbmV3IERhdGUoaXRlbS5jcmVhdGVkQXQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlZEF0OiBpdGVtLnVwZGF0ZWRBdCA/IG5ldyBEYXRlKGl0ZW0udXBkYXRlZEF0KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHRlcm5hbElkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFnczogaXRlbS5jYXRlZ29yeSA/IHsgY2F0ZWdvcnk6IGl0ZW0uY2F0ZWdvcnkgfSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgYXN5bmMgbWV0YWRhdGEobmFtZU9yUmVmLCAuLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHsgbG9nIH0gPSAoYXdhaXQgdGhpcy5sb2dDdHgoYXJncywgXCJtZXRhZGF0YVwiLCB0cnVlKSkuZm9yKHRoaXMubWV0YWRhdGEpO1xuICAgICAgICBjb25zdCBuYW1lU3RyID0gdHlwZW9mIG5hbWVPclJlZiA9PT0gXCJzdHJpbmdcIiA/IG5hbWVPclJlZiA6IG5hbWVPclJlZi5uYW1lO1xuICAgICAgICBsb2cudmVyYm9zZShgR2V0dGluZyBtZXRhZGF0YSBmb3Igc2VjcmV0ICR7bmFtZVN0cn1gKTtcbiAgICAgICAgbGV0IG5hbWU7XG4gICAgICAgIGlmICh0eXBlb2YgbmFtZU9yUmVmID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICBuYW1lID0gbmFtZU9yUmVmO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbmFtZSA9IG5hbWVPclJlZi5uYW1lO1xuICAgICAgICB9XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB2YWxpZGF0ZVNlY3JldE5hbWUobmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5vcm1hbGl6ZWROYW1lID0gbm9ybWFsaXplU2VjcmV0TmFtZShuYW1lKTtcbiAgICAgICAgY29uc3QgdmF1bHRJZCA9IHRoaXMuY29uZmlnLnZhdWx0SWQ7XG4gICAgICAgIGlmICghdmF1bHRJZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCIxUGFzc3dvcmQgcHJvdmlkZXIgcmVxdWlyZXMgYSB2YXVsdCBJRCBpbiBjb25maWd1cmF0aW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpdGVtSWQ7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZSAmJlxuICAgICAgICAgICAgdGhpcy5jb25maWcuaXRlbUlkVGVtcGxhdGUuaW5jbHVkZXMoXCIke25hbWV9XCIpKSB7XG4gICAgICAgICAgICBpdGVtSWQgPSB0aGlzLmNvbmZpZy5pdGVtSWRUZW1wbGF0ZS5yZXBsYWNlKFwiJHtuYW1lfVwiLCBub3JtYWxpemVkTmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtcyA9IGF3YWl0IHRoaXMuZ2V0SXRlbXNCeVRpdGxlKG5vcm1hbGl6ZWROYW1lLCB2YXVsdElkKTtcbiAgICAgICAgICAgIGlmIChpdGVtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaXRlbUlkID0gaXRlbXNbMF0uaWQ7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBhd2FpdCB0aGlzLmdldFJlcXVlc3QoYC92MS92YXVsdHMvJHt2YXVsdElkfS9pdGVtcy8ke2l0ZW1JZH1gKTtcbiAgICAgICAgICAgIGNvbnN0IG1ldGEgPSB7XG4gICAgICAgICAgICAgICAgcHJvdmlkZXI6IHRoaXMucHJvdmlkZXIsXG4gICAgICAgICAgICAgICAgbmFtZTogaXRlbS50aXRsZSB8fCBub3JtYWxpemVkTmFtZSxcbiAgICAgICAgICAgICAgICB2ZXJzaW9uOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgY3JlYXRlZEF0OiBpdGVtLmNyZWF0ZWRBdCA/IG5ldyBEYXRlKGl0ZW0uY3JlYXRlZEF0KSA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICB1cGRhdGVkQXQ6IGl0ZW0udXBkYXRlZEF0ID8gbmV3IERhdGUoaXRlbS51cGRhdGVkQXQpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgZXh0ZXJuYWxJZDogaXRlbS5pZCxcbiAgICAgICAgICAgICAgICB0YWdzOiBpdGVtLmNhdGVnb3J5ID8geyBjYXRlZ29yeTogaXRlbS5jYXRlZ29yeSB9IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBtZXRhO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc3QgZXJyID0gZXJyb3I7XG4gICAgICAgICAgICBpZiAoZXJyLm1lc3NhZ2UudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhcIm5vdCBmb3VuZFwiKSB8fFxuICAgICAgICAgICAgICAgIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiNDA0XCIpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRocm93IHRoaXMucGFyc2VFcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHBhcnNlRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgY29uc3QgZXJyID0gZXJyb3I7XG4gICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBlcnIubWVzc2FnZSB8fCBlcnIubmFtZSB8fCBcIlVua25vd24gZXJyb3JcIjtcbiAgICAgICAgY29uc3QgbG93ZXJNZXNzYWdlID0gbWVzc2FnZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwibm90IGZvdW5kXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwNFwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcIlNFQ1JFVF9OT1RfRk9VTkRcIiwgYFNlY3JldCBub3QgZm91bmQ6ICR7bWVzc2FnZX1gLCBlcnIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJhbHJlYWR5IGV4aXN0c1wiKSB8fFxuICAgICAgICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwiY29uZmxpY3RcIikgfHxcbiAgICAgICAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwOVwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcIlNFQ1JFVF9BTFJFQURZX0VYSVNUU1wiLCBgU2VjcmV0IGFscmVhZHkgZXhpc3RzOiAke21lc3NhZ2V9YCwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdXRob3JpemVkXCIpIHx8IGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcIjQwMVwiKSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBTZWNyZXRFcnJvcihcIlNFQ1JFVF9QUk9WSURFUl9BVVRIX0ZBSUxFRFwiLCBgQXV0aGVudGljYXRpb24gZmFpbGVkOiAke21lc3NhZ2V9YCwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwicGVybWlzc2lvblwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MDNcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2VjcmV0RXJyb3IoXCJTRUNSRVRfUFJPVklERVJfUEVSTUlTU0lPTl9ERU5JRURcIiwgYFBlcm1pc3Npb24gZGVuaWVkOiAke21lc3NhZ2V9YCwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwicmF0ZSBsaW1pdFwiKSB8fCBsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCI0MjlcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2VjcmV0RXJyb3IoXCJTRUNSRVRfUFJPVklERVJfUkFURV9MSU1JVEVEXCIsIGBSYXRlIGxpbWl0ZWQ6ICR7bWVzc2FnZX1gLCBlcnIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb3dlck1lc3NhZ2UuaW5jbHVkZXMoXCJwcm92aWRlclwiKSB8fFxuICAgICAgICAgICAgbG93ZXJNZXNzYWdlLmluY2x1ZGVzKFwidW5hdmFpbGFibGVcIikgfHxcbiAgICAgICAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcImNvbm5lY3Rpb25cIikgfHxcbiAgICAgICAgICAgIGxvd2VyTWVzc2FnZS5pbmNsdWRlcyhcInRpbWVvdXRcIikpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgU2VjcmV0RXJyb3IoXCJTRUNSRVRfUFJPVklERVJfVU5BVkFJTEFCTEVcIiwgYFByb3ZpZGVyIHVuYXZhaWxhYmxlOiAke21lc3NhZ2V9YCwgZXJyKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFNlY3JldEVycm9yKFwiU0VDUkVUX1BST1ZJREVSX0NPTkZMSUNUXCIsIGBQcm92aWRlciBlcnJvcjogJHttZXNzYWdlfWAsIGVycik7XG4gICAgfVxuICAgIGFzeW5jIGdldFJlcXVlc3QocGF0aCkge1xuICAgICAgICBjb25zdCB1cmwgPSBgJHt0aGlzLmNvbmZpZy5jb25uZWN0SG9zdH0ke3BhdGh9YDtcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICB9O1xuICAgICAgICBpZiAodGhpcy5jb25maWcuY29ubmVjdFRva2VuKSB7XG4gICAgICAgICAgICBoZWFkZXJzW1wiQXV0aG9yaXphdGlvblwiXSA9IGBCZWFyZXIgJHt0aGlzLmNvbmZpZy5jb25uZWN0VG9rZW59YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKHVybCwge1xuICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgICAgICAgIGNvbnN0IGVycm9yQm9keSA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKS5jYXRjaCgoKSA9PiBcIlwiKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGAxUGFzc3dvcmQgQVBJIGVycm9yICgke3Jlc3BvbnNlLnN0YXR1c30pOiAke2Vycm9yQm9keSB8fCByZXNwb25zZS5zdGF0dXNUZXh0fWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXNwb25zZS5qc29uKCk7XG4gICAgfVxuICAgIGFzeW5jIHBvc3RSZXF1ZXN0KHBhdGgsIGJvZHkpIHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWcuY29ubmVjdEhvc3R9JHtwYXRofWA7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmNvbm5lY3RUb2tlbikge1xuICAgICAgICAgICAgaGVhZGVyc1tcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7dGhpcy5jb25maWcuY29ubmVjdFRva2VufWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoYm9keSksXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvckJvZHkgPSBhd2FpdCByZXNwb25zZS50ZXh0KCkuY2F0Y2goKCkgPT4gXCJcIik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgMVBhc3N3b3JkIEFQSSBlcnJvciAoJHtyZXNwb25zZS5zdGF0dXN9KTogJHtlcnJvckJvZHkgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dH1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzcG9uc2UuanNvbigpO1xuICAgIH1cbiAgICBhc3luYyBkZWxldGVSZXF1ZXN0KHBhdGgpIHtcbiAgICAgICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWcuY29ubmVjdEhvc3R9JHtwYXRofWA7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmNvbm5lY3RUb2tlbikge1xuICAgICAgICAgICAgaGVhZGVyc1tcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7dGhpcy5jb25maWcuY29ubmVjdFRva2VufWA7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcbiAgICAgICAgICAgIGhlYWRlcnMsXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICBjb25zdCBlcnJvckJvZHkgPSBhd2FpdCByZXNwb25zZS50ZXh0KCkuY2F0Y2goKCkgPT4gXCJcIik7XG4gICAgICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgMVBhc3N3b3JkIEFQSSBlcnJvciAoJHtyZXNwb25zZS5zdGF0dXN9KTogJHtlcnJvckJvZHkgfHwgcmVzcG9uc2Uuc3RhdHVzVGV4dH1gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBhc3luYyBnZXRJdGVtc0J5VGl0bGUodGl0bGUsIHZhdWx0SWQpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGFsbEl0ZW1zID0gYXdhaXQgdGhpcy5nZXRSZXF1ZXN0KGAvdjEvdmF1bHRzLyR7dmF1bHRJZH0vaXRlbXNgKTtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheShhbGxJdGVtcykgPyBhbGxJdGVtcyA6IFthbGxJdGVtc107XG4gICAgICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnRpdGxlID09PSB0aXRsZSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLnBhcnNlRXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUoyWlhKemFXOXVJam96TENKbWFXeGxJam9pVDI1bFVHRnpjM2R2Y21SVFpXTnlaWFJUWlhKMmFXTmxMbXB6SWl3aWMyOTFjbU5sVW05dmRDSTZJaUlzSW5OdmRYSmpaWE1pT2xzaUxpNHZMaTR2TGk0dkxpNHZjM0pqTDNObFkzSmxkSE12YjI1bGNHRnpjM2R2Y21RdlQyNWxVR0Z6YzNkdmNtUlRaV055WlhSVFpYSjJhV05sTG5SeklsMHNJbTVoYldWeklqcGJYU3dpYldGd2NHbHVaM01pT2lKQlFVRkJMRTlCUVU4c1JVRkJSU3hYUVVGWExFVkJRV3RDTERKQ1FVRXlRanRCUVU5cVJTeFBRVUZQTEVWQlFVVXNhMEpCUVd0Q0xFVkJRVVVzYlVKQlFXMUNMRVZCUVVVc01rSkJRVEpDTzBGQlF6ZEZMRTlCUVU4c1JVRkRUQ3h6UWtGQmMwSXNSVUZEZEVJc2QwSkJRWGRDTEVkQlJYcENMREpDUVVFeVFqdEJRVU0xUWl4UFFVRlBMRVZCUTB3c2EwSkJRV3RDTEVkQlIyNUNMRTFCUVUwc1owSkJRV2RDTEVOQlFVTTdRVUZGZUVJc1QwRkJUeXhGUVVGRkxHRkJRV0VzUlVGQlJTeGhRVUZoTEVWQlFVVXNUVUZCVFN4NVFrRkJlVUlzUTBGQlF6dEJRVVYyUlN4TlFVRk5MRTlCUVU4c2QwSkJRWGxDTEZOQlFWRXNhMEpCUnpkRE8wbEJTRVE3TzFGQlNWY3NZVUZCVVN4SFFVRnRRaXhYUVVGWExFTkJRVU03U1VGdmFVSnNSQ3hEUVVGRE8wbEJiR2xDUXl4TFFVRkxMRU5CUVVNc1ZVRkJWU3hEUVVOa0xFZEJRVWNzU1VGQmVVSTdVVUZGTlVJc1RVRkJUU3hOUVVGTkxFZEJRVWNzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCYlVNc1EwRkJRenRSUVVONlJDeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRmRCUVZjc1JVRkJSU3hEUVVGRE8xbEJRM2hDTEUxQlFVMHNTVUZCU1N4aFFVRmhMRU5CUTNKQ0xITkVRVUZ6UkN4RFFVTjJSQ3hEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVU5FTEU5QlFVOHNSVUZCUlN4TlFVRk5MRVZCUVVVc1RVRkJUU3hGUVVGRkxFVkJRVVVzUlVGQlJTeERRVUZETzBsQlEyaERMRU5CUVVNN1NVRkZSQ3hMUVVGTExFTkJRVU1zUzBGQlN5eERRVU5VTEVsQlFXZENMRVZCUTJoQ0xFdEJRVkVzUlVGRFVpeEhRVUZITEVsQlFUWkNPMUZCUldoRExFMUJRVTBzUlVGQlJTeEhRVUZITEVWQlFVVXNSMEZCUnl4RFFVRkRMRTFCUVUwc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eEpRVUZKTEVWQlFVVXNUMEZCVHl4RlFVRkZMRWxCUVVrc1EwRkJReXhEUVVGRExFTkJRVU1zUjBGQlJ5eERRVUZETEVsQlFVa3NRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRSUVVONlJTeEhRVUZITEVOQlFVTXNUMEZCVHl4RFFVRkRMR3RDUVVGclFpeEpRVUZKTEVWQlFVVXNRMEZCUXl4RFFVRkRPMUZCUTNSRExFbEJRVWtzUTBGQlF6dFpRVU5JTEd0Q1FVRnJRaXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlF6TkNMRU5CUVVNN1VVRkJReXhQUVVGUExFdEJRVXNzUlVGQlJTeERRVUZETzFsQlEyWXNUVUZCVFN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRV01zUTBGQlF5eERRVUZETzFGQlEzaERMRU5CUVVNN1VVRkZSQ3hOUVVGTkxHTkJRV01zUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU5xUkN4TlFVRk5MRlZCUVZVc1IwRkJSeXh6UWtGQmMwSXNRMEZCUXl4TFFVRkxMRU5CUVVNc1EwRkJRenRSUVVOcVJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF6dFJRVVZ3UXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03V1VGRFlpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXg1UkVGQmVVUXNRMEZETVVRc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJDeE5RVUZOTEVsQlFVa3NSMEZCUnp0WlFVTllMRXRCUVVzc1JVRkJSU3hqUVVGak8xbEJRM0pDTEZGQlFWRXNSVUZCUlN4UFFVRlBPMWxCUTJwQ0xFMUJRVTBzUlVGQlJUdG5Ra0ZEVGp0dlFrRkRSU3hMUVVGTExFVkJRVVVzVVVGQlVUdHZRa0ZEWml4TFFVRkxMRVZCUVVVc1ZVRkJWU3hEUVVGRExFdEJRVXM3YjBKQlEzWkNMRTlCUVU4c1JVRkJSU3hWUVVGVk8ybENRVU53UWp0aFFVTkdPMWxCUTBRc1MwRkJTeXhGUVVGRkxITkRRVUZ6UXl4SlFVRkpMRWxCUVVrc1JVRkJSU3hEUVVGRExGZEJRVmNzUlVGQlJTeEZRVUZGTzFOQlEzaEZMRU5CUVVNN1VVRkZSaXhKUVVGSkxFTkJRVU03V1VGRFNDeE5RVUZOTEZGQlFWRXNSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhYUVVGWExFTkJRM0pETEdOQlFXTXNUMEZCVHl4UlFVRlJMRVZCUXpkQ0xFbEJRVWtzUTBGRFRDeERRVUZETzFsQlJVWXNTVUZCU1N4RFFVRkRMRkZCUVZFc1EwRkJReXhGUVVGRkxFVkJRVVVzUTBGQlF6dG5Ra0ZEYWtJc1RVRkJUU3hKUVVGSkxGZEJRVmNzUTBGRGJrSXNNRUpCUVRCQ0xFVkJRekZDTERaRFFVRTJReXhEUVVNNVF5eERRVUZETzFsQlEwb3NRMEZCUXp0WlFVVkVMRTlCUVU4N1owSkJRMHdzVVVGQlVTeEZRVUZGTEVsQlFVa3NRMEZCUXl4UlFVRlJPMmRDUVVOMlFpeEpRVUZKTEVWQlFVVXNZMEZCWXp0blFrRkRjRUlzVDBGQlR5eEZRVUZGTEZOQlFWTTdaMEpCUTJ4Q0xGRkJRVkVzUlVGQlJUdHZRa0ZEVWl4RlFVRkZMRVZCUVVVc1VVRkJVU3hEUVVGRExFVkJRVVU3YVVKQlEyaENPMkZCUTBZc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGQlF5eFBRVUZQTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTJZc1RVRkJUU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFXTXNRMEZCUXl4RFFVRkRPMUZCUTNoRExFTkJRVU03U1VGRFNDeERRVUZETzBsQlJVUXNTMEZCU3l4RFFVRkRMRkZCUVZFc1EwRkRXaXhUUVVGMVF5eEZRVU4yUXl4SFFVRkhMRWxCUVRaQ08xRkJSV2hETEUxQlFVMHNSVUZCUlN4SFFVRkhMRVZCUVVVc1IwRkJSeXhEUVVGRExFMUJRVTBzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4SlFVRkpMRVZCUVVVc1ZVRkJWU3hGUVVGRkxFbEJRVWtzUTBGQlF5eERRVUZETEVOQlFVTXNSMEZCUnl4RFFVTTNSQ3hKUVVGSkxFTkJRVU1zVVVGQlVTeERRVU5rTEVOQlFVTTdVVUZEUml4TlFVRk5MRTlCUVU4c1IwRkJSeXhQUVVGUExGTkJRVk1zUzBGQlN5eFJRVUZSTEVOQlFVTXNRMEZCUXl4RFFVRkRMRk5CUVZNc1EwRkJReXhEUVVGRExFTkJRVU1zVTBGQlV5eERRVUZETEVsQlFVa3NRMEZCUXp0UlFVTXpSU3hIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEhGQ1FVRnhRaXhQUVVGUExFVkJRVVVzUTBGQlF5eERRVUZETzFGQlJUVkRMRWxCUVVrc1NVRkJXU3hEUVVGRE8xRkJSV3BDTEVsQlFVa3NUMEZCVHl4VFFVRlRMRXRCUVVzc1VVRkJVU3hGUVVGRkxFTkJRVU03V1VGRGJFTXNTVUZCU1N4SFFVRkhMRk5CUVZNc1EwRkJRenRSUVVOdVFpeERRVUZETzJGQlFVMHNRMEZCUXp0WlFVTk9MRWxCUVVrc1IwRkJSeXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETzFGQlEzaENMRU5CUVVNN1VVRkZSQ3hKUVVGSkxFTkJRVU03V1VGRFNDeHJRa0ZCYTBJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU16UWl4RFFVRkRPMUZCUVVNc1QwRkJUeXhMUVVGTExFVkJRVVVzUTBGQlF6dFpRVU5tTEUxQlFVMHNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhMUVVGakxFTkJRVU1zUTBGQlF6dFJRVU40UXl4RFFVRkRPMUZCUlVRc1RVRkJUU3hqUVVGakxFZEJRVWNzYlVKQlFXMUNMRU5CUVVNc1NVRkJTU3hEUVVGRExFTkJRVU03VVVGRGFrUXNUVUZCVFN4UFFVRlBMRWRCUVVjc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFBRVUZQTEVOQlFVTTdVVUZGY0VNc1NVRkJTU3hEUVVGRExFOUJRVThzUlVGQlJTeERRVUZETzFsQlEySXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzZVVSQlFYbEVMRU5CUXpGRUxFTkJRVU03VVVGRFNpeERRVUZETzFGQlJVUXNTVUZCU1N4TlFVRXdRaXhEUVVGRE8xRkJSUzlDTEVsQlEwVXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhqUVVGak8xbEJRekZDTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVGRExGRkJRVkVzUTBGQlF5eFRRVUZUTEVOQlFVTXNSVUZET1VNc1EwRkJRenRaUVVORUxFMUJRVTBzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMR05CUVdNc1EwRkJReXhQUVVGUExFTkJRVU1zVTBGQlV5eEZRVUZGTEdOQlFXTXNRMEZCUXl4RFFVRkRPMUZCUTNwRkxFTkJRVU03WVVGQlRTeERRVUZETzFsQlEwNHNUVUZCVFN4TFFVRkxMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zWlVGQlpTeERRVUZETEdOQlFXTXNSVUZCUlN4UFFVRlBMRU5CUVVNc1EwRkJRenRaUVVOc1JTeEpRVUZKTEV0QlFVc3NRMEZCUXl4TlFVRk5MRXRCUVVzc1EwRkJReXhGUVVGRkxFTkJRVU03WjBKQlEzWkNMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRM0pDTEZkQlFWY3NZMEZCWXl4elFrRkJjMElzUTBGRGFFUXNRMEZCUXp0WlFVTktMRU5CUVVNN1dVRkRSQ3hOUVVGTkxFZEJRVWNzUzBGQlN5eERRVUZETEVOQlFVTXNRMEZCUXl4RFFVRkRMRVZCUVVVc1EwRkJRenRSUVVOMlFpeERRVUZETzFGQlJVUXNTVUZCU1N4RFFVRkRPMWxCUTBnc1RVRkJUU3hKUVVGSkxFZEJRVWNzVFVGQlRTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVTm9ReXhqUVVGakxFOUJRVThzVlVGQlZTeE5RVUZOTEVWQlFVVXNRMEZEZUVNc1EwRkJRenRaUVVWR0xFbEJRVWtzUzBGQlN5eEhRVUZITEVWQlFVVXNRMEZCUXp0WlFVTm1MRWxCUVVrc1NVRkJTU3hEUVVGRExFMUJRVTBzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zUlVGQlJTeERRVUZETzJkQ1FVTTVReXhOUVVGTkxGZEJRVmNzUjBGQlJ5eEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkRiRU1zUTBGQlF5eERRVUZOTEVWQlFVVXNSVUZCUlN4RFFVRkRMRU5CUVVNc1EwRkJReXhQUVVGUExFdEJRVXNzVlVGQlZTeEpRVUZKTEVOQlFVTXNRMEZCUXl4TFFVRkxMRXRCUVVzc1VVRkJVU3hEUVVNM1JDeERRVUZETzJkQ1FVTkdMRWxCUVVrc1YwRkJWeXhKUVVGSkxGZEJRVmNzUTBGQlF5eExRVUZMTEV0QlFVc3NVMEZCVXl4RlFVRkZMRU5CUVVNN2IwSkJRMjVFTEV0QlFVc3NSMEZCUnl4WFFVRlhMRU5CUVVNc1MwRkJTeXhEUVVGRE8yZENRVU0xUWl4RFFVRkRPMWxCUTBnc1EwRkJRenRaUVVWRUxFbEJRVWtzUTBGQlF5eExRVUZMTEVsQlFVa3NTVUZCU1N4RFFVRkRMRTlCUVU4c1NVRkJTU3hKUVVGSkxFTkJRVU1zVDBGQlR5eERRVUZETEUxQlFVMHNSVUZCUlN4RFFVRkRPMmRDUVVOc1JDeE5RVUZOTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExFbEJRVWtzUTBGQlF5eFBRVUZQTEVOQlFVTXNUVUZCVFN4RFFVRkRPMjlDUVVNdlF5eERRVUZETEVOQlFVTXNTVUZCU1N4RFFVRkRMRTlCUVU4c1EwRkJReXhOUVVGTk8yOUNRVU55UWl4RFFVRkRMRU5CUVVNc1JVRkJSU3hEUVVGRE8yZENRVU5RTEUxQlFVMHNWMEZCVnl4SFFVRkhMRTFCUVUwc1EwRkJReXhKUVVGSkxFTkJRemRDTEVOQlFVTXNRMEZCVFN4RlFVRkZMRVZCUVVVc1EwRkJReXhEUVVGRExFTkJRVU1zVDBGQlR5eExRVUZMTEZWQlFWVXNTVUZCU1N4RFFVRkRMRU5CUVVNc1MwRkJTeXhMUVVGTExGRkJRVkVzUTBGRE4wUXNRMEZCUXp0blFrRkRSaXhKUVVGSkxGZEJRVmNzU1VGQlNTeFhRVUZYTEVOQlFVTXNTMEZCU3l4TFFVRkxMRk5CUVZNc1JVRkJSU3hEUVVGRE8yOUNRVU51UkN4TFFVRkxMRWRCUVVjc1YwRkJWeXhEUVVGRExFdEJRVXNzUTBGQlF6dG5Ra0ZETlVJc1EwRkJRenRaUVVOSUxFTkJRVU03V1VGRlJDeEpRVUZKTEVOQlFVTXNTMEZCU3l4RlFVRkZMRU5CUVVNN1owSkJRMWdzVFVGQlRTeEpRVUZKTEZkQlFWY3NRMEZEYmtJc2EwSkJRV3RDTEVWQlEyeENMRzFEUVVGdFF5eE5RVUZOTEVkQlFVY3NRMEZETjBNc1EwRkJRenRaUVVOS0xFTkJRVU03V1VGRlJDeE5RVUZOTEU5QlFVOHNSMEZCTkVJN1owSkJRM1pETEZGQlFWRXNSVUZCUlN4TlFVRk5PMmRDUVVOb1FpeExRVUZMTzJGQlEwNHNRMEZCUXp0WlFVVkdMRTlCUVU4c2QwSkJRWGRDTEVOQlFVTXNUMEZCVHl4RFFVRk5MRU5CUVVNN1VVRkRhRVFzUTBGQlF6dFJRVUZETEU5QlFVOHNTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRaaXhOUVVGTkxFbEJRVWtzUTBGQlF5eFZRVUZWTEVOQlFVTXNTMEZCWXl4RFFVRkRMRU5CUVVNN1VVRkRlRU1zUTBGQlF6dEpRVU5JTEVOQlFVTTdTVUZGUkN4TFFVRkxMRU5CUVVNc1RVRkJUU3hEUVVOV0xGTkJRWFZETEVWQlEzWkRMRWRCUVVjc1NVRkJOa0k3VVVGRmFFTXNUVUZCVFN4RlFVRkZMRWRCUVVjc1JVRkJSU3hIUVVGSExFTkJRVU1zVFVGQlRTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMRWxCUVVrc1JVRkJSU3hSUVVGUkxFVkJRVVVzU1VGQlNTeERRVUZETEVOQlFVTXNRMEZCUXl4SFFVRkhMRU5CUVVNc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eERRVUZETzFGQlF6TkZMRTFCUVUwc1QwRkJUeXhIUVVGSExFOUJRVThzVTBGQlV5eExRVUZMTEZGQlFWRXNRMEZCUXl4RFFVRkRMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eFRRVUZUTEVOQlFVTXNTVUZCU1N4RFFVRkRPMUZCUXpORkxFZEJRVWNzUTBGQlF5eFBRVUZQTEVOQlFVTXNiVUpCUVcxQ0xFOUJRVThzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZGTVVNc1NVRkJTU3hKUVVGWkxFTkJRVU03VVVGRmFrSXNTVUZCU1N4UFFVRlBMRk5CUVZNc1MwRkJTeXhSUVVGUkxFVkJRVVVzUTBGQlF6dFpRVU5zUXl4SlFVRkpMRWRCUVVjc1UwRkJVeXhEUVVGRE8xRkJRMjVDTEVOQlFVTTdZVUZCVFN4RFFVRkRPMWxCUTA0c1NVRkJTU3hIUVVGSExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTTdVVUZEZUVJc1EwRkJRenRSUVVWRUxFbEJRVWtzUTBGQlF6dFpRVU5JTEd0Q1FVRnJRaXhEUVVGRExFbEJRVWtzUTBGQlF5eERRVUZETzFGQlF6TkNMRU5CUVVNN1VVRkJReXhQUVVGUExFdEJRVXNzUlVGQlJTeERRVUZETzFsQlEyWXNUVUZCVFN4SlFVRkpMRU5CUVVNc1ZVRkJWU3hEUVVGRExFdEJRV01zUTBGQlF5eERRVUZETzFGQlEzaERMRU5CUVVNN1VVRkZSQ3hOUVVGTkxHTkJRV01zUjBGQlJ5eHRRa0ZCYlVJc1EwRkJReXhKUVVGSkxFTkJRVU1zUTBGQlF6dFJRVU5xUkN4TlFVRk5MRTlCUVU4c1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEU5QlFVOHNRMEZCUXp0UlFVVndReXhKUVVGSkxFTkJRVU1zVDBGQlR5eEZRVUZGTEVOQlFVTTdXVUZEWWl4TlFVRk5MRWxCUVVrc1lVRkJZU3hEUVVOeVFpeDVSRUZCZVVRc1EwRkRNVVFzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZGUkN4SlFVRkpMRTFCUVRCQ0xFTkJRVU03VVVGRkwwSXNTVUZEUlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExHTkJRV003V1VGRE1VSXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhqUVVGakxFTkJRVU1zVVVGQlVTeERRVUZETEZOQlFWTXNRMEZCUXl4RlFVTTVReXhEUVVGRE8xbEJRMFFzVFVGQlRTeEhRVUZITEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1kwRkJZeXhEUVVGRExFOUJRVThzUTBGQlF5eFRRVUZUTEVWQlFVVXNZMEZCWXl4RFFVRkRMRU5CUVVNN1VVRkRla1VzUTBGQlF6dGhRVUZOTEVOQlFVTTdXVUZEVGl4TlFVRk5MRXRCUVVzc1IwRkJSeXhOUVVGTkxFbEJRVWtzUTBGQlF5eGxRVUZsTEVOQlFVTXNZMEZCWXl4RlFVRkZMRTlCUVU4c1EwRkJReXhEUVVGRE8xbEJRMnhGTEVsQlFVa3NTMEZCU3l4RFFVRkRMRTFCUVUwc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dG5Ra0ZEZGtJc1QwRkJUenRaUVVOVUxFTkJRVU03V1VGRFJDeE5RVUZOTEVkQlFVY3NTMEZCU3l4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExFVkJRVVVzUTBGQlF6dFJRVU4yUWl4RFFVRkRPMUZCUlVRc1NVRkJTU3hEUVVGRE8xbEJRMGdzVFVGQlRTeEpRVUZKTEVOQlFVTXNZVUZCWVN4RFFVRkRMR05CUVdNc1QwRkJUeXhWUVVGVkxFMUJRVTBzUlVGQlJTeERRVUZETEVOQlFVTTdVVUZEY0VVc1EwRkJRenRSUVVGRExFOUJRVThzUzBGQlN5eEZRVUZGTEVOQlFVTTdXVUZEWml4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQll5eERRVUZETEVOQlFVTTdVVUZEZUVNc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNUVUZCVFN4RFFVTldMRk5CUVhWRExFVkJRM1pETEVkQlFVY3NTVUZCTmtJN1VVRkZhRU1zVFVGQlRTeEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4UlFVRlJMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlFVTXNTVUZCU1N4RFFVRkRMRTFCUVUwc1EwRkJReXhEUVVGRE8xRkJRek5GTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTlCUVU4c1UwRkJVeXhMUVVGTExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETzFGQlF6TkZMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zYzBKQlFYTkNMRTlCUVU4c1UwRkJVeXhEUVVGRExFTkJRVU03VVVGRmNFUXNTVUZCU1N4SlFVRlpMRU5CUVVNN1VVRkZha0lzU1VGQlNTeFBRVUZQTEZOQlFWTXNTMEZCU3l4UlFVRlJMRVZCUVVVc1EwRkJRenRaUVVOc1F5eEpRVUZKTEVkQlFVY3NVMEZCVXl4RFFVRkRPMUZCUTI1Q0xFTkJRVU03WVVGQlRTeERRVUZETzFsQlEwNHNTVUZCU1N4SFFVRkhMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGVFSXNRMEZCUXp0UlFVVkVMRWxCUVVrc1EwRkJRenRaUVVOSUxHdENRVUZyUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRek5DTEVOQlFVTTdVVUZCUXl4UFFVRlBMRXRCUVVzc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRXRCUVdNc1EwRkJReXhEUVVGRE8xRkJRM2hETEVOQlFVTTdVVUZGUkN4TlFVRk5MR05CUVdNc1IwRkJSeXh0UWtGQmJVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOcVJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF6dFJRVVZ3UXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03V1VGRFlpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXg1UkVGQmVVUXNRMEZETVVRc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJDeEpRVUZKTEUxQlFUQkNMRU5CUVVNN1VVRkZMMElzU1VGRFJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMR05CUVdNN1dVRkRNVUlzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4alFVRmpMRU5CUVVNc1VVRkJVU3hEUVVGRExGTkJRVk1zUTBGQlF5eEZRVU01UXl4RFFVRkRPMWxCUTBRc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTlCUVU4c1EwRkJReXhUUVVGVExFVkJRVVVzWTBGQll5eERRVUZETEVOQlFVTTdVVUZEZWtVc1EwRkJRenRoUVVGTkxFTkJRVU03V1VGRFRpeE5RVUZOTEV0QlFVc3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zWTBGQll5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFbEJRVWtzUzBGQlN5eERRVUZETEUxQlFVMHNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJRenRuUWtGRGRrSXNUMEZCVHl4TFFVRkxMRU5CUVVNN1dVRkRaaXhEUVVGRE8xbEJRMFFzVFVGQlRTeEhRVUZITEV0QlFVc3NRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxFTkJRVU03VVVGRGRrSXNRMEZCUXp0UlFVVkVMRWxCUVVrc1EwRkJRenRaUVVOSUxFMUJRVTBzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4alFVRmpMRTlCUVU4c1ZVRkJWU3hOUVVGTkxFVkJRVVVzUTBGQlF5eERRVUZETzFsQlF5OUVMRTlCUVU4c1NVRkJTU3hEUVVGRE8xRkJRMlFzUTBGQlF6dFJRVUZETEU5QlFVOHNTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRaaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZqTEVOQlFVTTdXVUZETTBJc1NVRkRSU3hIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFTkJRVU03WjBKQlF5OURMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RlFVTXpRaXhEUVVGRE8yZENRVU5FTEU5QlFVOHNTMEZCU3l4RFFVRkRPMWxCUTJZc1EwRkJRenRaUVVORUxFMUJRVTBzU1VGQlNTeERRVUZETEZWQlFWVXNRMEZCUXl4SFFVRkhMRU5CUVVNc1EwRkJRenRSUVVNM1FpeERRVUZETzBsQlEwZ3NRMEZCUXp0SlFVVkVMRXRCUVVzc1EwRkJReXhKUVVGSkxFTkJRVU1zUjBGQlJ5eEpRVUUyUWp0UlFVTjZReXhOUVVGTkxFVkJRVVVzUjBGQlJ5eEZRVUZGTEVkQlFVY3NRMEZCUXl4TlFVRk5MRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zU1VGQlNTeEZRVUZGTEUxQlFVMHNSVUZCUlN4SlFVRkpMRU5CUVVNc1EwRkJReXhEUVVGRExFZEJRVWNzUTBGQlF5eEpRVUZKTEVOQlFVTXNTVUZCU1N4RFFVRkRMRU5CUVVNN1VVRkRka1VzUjBGQlJ5eERRVUZETEU5QlFVOHNRMEZCUXl4cFFrRkJhVUlzUTBGQlF5eERRVUZETzFGQlF5OUNMRTFCUVUwc1RVRkJUU3hIUVVGeFFpeEZRVUZGTEVOQlFVTTdVVUZEY0VNc1RVRkJUU3hQUVVGUExFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4UFFVRlBMRU5CUVVNN1VVRkZjRU1zU1VGQlNTeERRVUZETEU5QlFVOHNSVUZCUlN4RFFVRkRPMWxCUTJJc1QwRkJUeXhOUVVGTkxFTkJRVU03VVVGRGFFSXNRMEZCUXp0UlFVVkVMRWxCUVVrc1EwRkJRenRaUVVOSUxFMUJRVTBzUzBGQlN5eEhRVUZITEUxQlFVMHNTVUZCU1N4RFFVRkRMRlZCUVZVc1EwRkJReXhqUVVGakxFOUJRVThzVVVGQlVTeERRVUZETEVOQlFVTTdXVUZGYmtVc1MwRkJTeXhOUVVGTkxFbEJRVWtzU1VGQlNTeExRVUZMTEVOQlFVTXNUMEZCVHl4RFFVRkRMRXRCUVVzc1EwRkJReXhEUVVGRExFTkJRVU1zUTBGQlF5eExRVUZMTEVOQlFVTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dG5Ra0ZETVVRc1NVRkJTU3hKUVVGSkxFTkJRVU1zUlVGQlJTeEpRVUZKTEVsQlFVa3NRMEZCUXl4TFFVRkxMRVZCUVVVc1EwRkJRenR2UWtGRE1VSXNUVUZCVFN4RFFVRkRMRWxCUVVrc1EwRkJRenQzUWtGRFZpeFJRVUZSTEVWQlFVVXNTVUZCU1N4RFFVRkRMRkZCUVZFN2QwSkJRM1pDTEVsQlFVa3NSVUZCUlN4SlFVRkpMRU5CUVVNc1MwRkJTenQzUWtGRGFFSXNUMEZCVHl4RlFVRkZMRk5CUVZNN2QwSkJRMnhDTEZOQlFWTXNSVUZCUlN4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eEpRVUZKTEVsQlFVa3NRMEZCUXl4SlFVRkpMRU5CUVVNc1UwRkJVeXhEUVVGRExFTkJRVU1zUTBGQlF5eERRVUZETEZOQlFWTTdkMEpCUTJoRkxGTkJRVk1zUlVGQlJTeEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhKUVVGSkxFbEJRVWtzUTBGQlF5eEpRVUZKTEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk03ZDBKQlEyaEZMRTlCUVU4c1JVRkJSU3hKUVVGSk8zZENRVU5pTEZWQlFWVXNSVUZCUlN4SlFVRkpMRU5CUVVNc1JVRkJSVHQzUWtGRGJrSXNTVUZCU1N4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUTBGQlF5eERRVUZETEVWQlFVVXNVVUZCVVN4RlFVRkZMRWxCUVVrc1EwRkJReXhSUVVGUkxFVkJRVVVzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXp0eFFrRkRPVVFzUTBGQlF5eERRVUZETzJkQ1FVTk1MRU5CUVVNN1dVRkRTQ3hEUVVGRE8xbEJSVVFzVDBGQlR5eE5RVUZOTEVOQlFVTTdVVUZEYUVJc1EwRkJRenRSUVVGRExFOUJRVThzUzBGQlN5eEZRVUZGTEVOQlFVTTdXVUZEWml4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRVU1zUzBGQll5eERRVUZETEVOQlFVTTdVVUZEZUVNc1EwRkJRenRKUVVOSUxFTkJRVU03U1VGRlJDeExRVUZMTEVOQlFVTXNVVUZCVVN4RFFVTmFMRk5CUVhWRExFVkJRM1pETEVkQlFVY3NTVUZCTmtJN1VVRkZhRU1zVFVGQlRTeEZRVUZGTEVkQlFVY3NSVUZCUlN4SFFVRkhMRU5CUVVNc1RVRkJUU3hKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEVsQlFVa3NSVUZCUlN4VlFVRlZMRVZCUVVVc1NVRkJTU3hEUVVGRExFTkJRVU1zUTBGQlF5eEhRVUZITEVOQlF6ZEVMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRMlFzUTBGQlF6dFJRVU5HTEUxQlFVMHNUMEZCVHl4SFFVRkhMRTlCUVU4c1UwRkJVeXhMUVVGTExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNVMEZCVXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVExFTkJRVU1zU1VGQlNTeERRVUZETzFGQlF6TkZMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zSzBKQlFTdENMRTlCUVU4c1JVRkJSU3hEUVVGRExFTkJRVU03VVVGRmRFUXNTVUZCU1N4SlFVRlpMRU5CUVVNN1VVRkZha0lzU1VGQlNTeFBRVUZQTEZOQlFWTXNTMEZCU3l4UlFVRlJMRVZCUVVVc1EwRkJRenRaUVVOc1F5eEpRVUZKTEVkQlFVY3NVMEZCVXl4RFFVRkRPMUZCUTI1Q0xFTkJRVU03WVVGQlRTeERRVUZETzFsQlEwNHNTVUZCU1N4SFFVRkhMRk5CUVZNc1EwRkJReXhKUVVGSkxFTkJRVU03VVVGRGVFSXNRMEZCUXp0UlFVVkVMRWxCUVVrc1EwRkJRenRaUVVOSUxHdENRVUZyUWl4RFFVRkRMRWxCUVVrc1EwRkJReXhEUVVGRE8xRkJRek5DTEVOQlFVTTdVVUZCUXl4UFFVRlBMRXRCUVVzc1JVRkJSU3hEUVVGRE8xbEJRMllzVFVGQlRTeEpRVUZKTEVOQlFVTXNWVUZCVlN4RFFVRkRMRXRCUVdNc1EwRkJReXhEUVVGRE8xRkJRM2hETEVOQlFVTTdVVUZGUkN4TlFVRk5MR05CUVdNc1IwRkJSeXh0UWtGQmJVSXNRMEZCUXl4SlFVRkpMRU5CUVVNc1EwRkJRenRSUVVOcVJDeE5RVUZOTEU5QlFVOHNSMEZCUnl4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExFOUJRVThzUTBGQlF6dFJRVVZ3UXl4SlFVRkpMRU5CUVVNc1QwRkJUeXhGUVVGRkxFTkJRVU03V1VGRFlpeE5RVUZOTEVsQlFVa3NZVUZCWVN4RFFVTnlRaXg1UkVGQmVVUXNRMEZETVVRc1EwRkJRenRSUVVOS0xFTkJRVU03VVVGRlJDeEpRVUZKTEUxQlFUQkNMRU5CUVVNN1VVRkZMMElzU1VGRFJTeEpRVUZKTEVOQlFVTXNUVUZCVFN4RFFVRkRMR05CUVdNN1dVRkRNVUlzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4alFVRmpMRU5CUVVNc1VVRkJVU3hEUVVGRExGTkJRVk1zUTBGQlF5eEZRVU01UXl4RFFVRkRPMWxCUTBRc1RVRkJUU3hIUVVGSExFbEJRVWtzUTBGQlF5eE5RVUZOTEVOQlFVTXNZMEZCWXl4RFFVRkRMRTlCUVU4c1EwRkJReXhUUVVGVExFVkJRVVVzWTBGQll5eERRVUZETEVOQlFVTTdVVUZEZWtVc1EwRkJRenRoUVVGTkxFTkJRVU03V1VGRFRpeE5RVUZOTEV0QlFVc3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhsUVVGbExFTkJRVU1zWTBGQll5eEZRVUZGTEU5QlFVOHNRMEZCUXl4RFFVRkRPMWxCUTJ4RkxFbEJRVWtzUzBGQlN5eERRVUZETEUxQlFVMHNTMEZCU3l4RFFVRkRMRVZCUVVVc1EwRkJRenRuUWtGRGRrSXNUMEZCVHl4VFFVRlRMRU5CUVVNN1dVRkRia0lzUTBGQlF6dFpRVU5FTEUxQlFVMHNSMEZCUnl4TFFVRkxMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zUlVGQlJTeERRVUZETzFGQlEzWkNMRU5CUVVNN1VVRkZSQ3hKUVVGSkxFTkJRVU03V1VGRFNDeE5RVUZOTEVsQlFVa3NSMEZCUnl4TlFVRk5MRWxCUVVrc1EwRkJReXhWUVVGVkxFTkJRMmhETEdOQlFXTXNUMEZCVHl4VlFVRlZMRTFCUVUwc1JVRkJSU3hEUVVONFF5eERRVUZETzFsQlJVWXNUVUZCVFN4SlFVRkpMRWRCUVcxQ08yZENRVU16UWl4UlFVRlJMRVZCUVVVc1NVRkJTU3hEUVVGRExGRkJRVkU3WjBKQlEzWkNMRWxCUVVrc1JVRkJSU3hKUVVGSkxFTkJRVU1zUzBGQlN5eEpRVUZKTEdOQlFXTTdaMEpCUTJ4RExFOUJRVThzUlVGQlJTeFRRVUZUTzJkQ1FVTnNRaXhUUVVGVExFVkJRVVVzU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1NVRkJTU3hKUVVGSkxFTkJRVU1zU1VGQlNTeERRVUZETEZOQlFWTXNRMEZCUXl4RFFVRkRMRU5CUVVNc1EwRkJReXhUUVVGVE8yZENRVU5vUlN4VFFVRlRMRVZCUVVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNTVUZCU1N4SlFVRkpMRU5CUVVNc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4VFFVRlRPMmRDUVVOb1JTeFBRVUZQTEVWQlFVVXNTVUZCU1R0blFrRkRZaXhWUVVGVkxFVkJRVVVzU1VGQlNTeERRVUZETEVWQlFVVTdaMEpCUTI1Q0xFbEJRVWtzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RFFVRkRMRU5CUVVNc1EwRkJReXhGUVVGRkxGRkJRVkVzUlVGQlJTeEpRVUZKTEVOQlFVTXNVVUZCVVN4RlFVRkZMRU5CUVVNc1EwRkJReXhEUVVGRExGTkJRVk03WVVGRE9VUXNRMEZCUXp0WlFVVkdMRTlCUVU4c1NVRkJTU3hEUVVGRE8xRkJRMlFzUTBGQlF6dFJRVUZETEU5QlFVOHNTMEZCU3l4RlFVRkZMRU5CUVVNN1dVRkRaaXhOUVVGTkxFZEJRVWNzUjBGQlJ5eExRVUZqTEVOQlFVTTdXVUZETTBJc1NVRkRSU3hIUVVGSExFTkJRVU1zVDBGQlR5eERRVUZETEZkQlFWY3NSVUZCUlN4RFFVRkRMRkZCUVZFc1EwRkJReXhYUVVGWExFTkJRVU03WjBKQlF5OURMRWRCUVVjc1EwRkJReXhQUVVGUExFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RlFVTXpRaXhEUVVGRE8yZENRVU5FTEU5QlFVOHNVMEZCVXl4RFFVRkRPMWxCUTI1Q0xFTkJRVU03V1VGRFJDeE5RVUZOTEVsQlFVa3NRMEZCUXl4VlFVRlZMRU5CUVVNc1IwRkJSeXhEUVVGRExFTkJRVU03VVVGRE4wSXNRMEZCUXp0SlFVTklMRU5CUVVNN1NVRkZVeXhWUVVGVkxFTkJRVU1zUzBGQll6dFJRVU5xUXl4TlFVRk5MRWRCUVVjc1IwRkJSeXhMUVVGakxFTkJRVU03VVVGRE0wSXNUVUZCVFN4UFFVRlBMRWRCUVVjc1IwRkJSeXhEUVVGRExFOUJRVThzU1VGQlNTeEhRVUZITEVOQlFVTXNTVUZCU1N4SlFVRkpMR1ZCUVdVc1EwRkJRenRSUVVNelJDeE5RVUZOTEZsQlFWa3NSMEZCUnl4UFFVRlBMRU5CUVVNc1YwRkJWeXhGUVVGRkxFTkJRVU03VVVGRk0wTXNTVUZCU1N4WlFVRlpMRU5CUVVNc1VVRkJVU3hEUVVGRExGZEJRVmNzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU4yUlN4UFFVRlBMRWxCUVVrc1YwRkJWeXhEUVVOd1FpeHJRa0ZCYTBJc1JVRkRiRUlzY1VKQlFYRkNMRTlCUVU4c1JVRkJSU3hGUVVNNVFpeEhRVUZITEVOQlEwb3NRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkZSQ3hKUVVORkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNaMEpCUVdkQ0xFTkJRVU03V1VGRGRrTXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhWUVVGVkxFTkJRVU03V1VGRGFrTXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhMUVVGTExFTkJRVU1zUlVGRE5VSXNRMEZCUXp0WlFVTkVMRTlCUVU4c1NVRkJTU3hYUVVGWExFTkJRM0JDTEhWQ1FVRjFRaXhGUVVOMlFpd3dRa0ZCTUVJc1QwRkJUeXhGUVVGRkxFVkJRMjVETEVkQlFVY3NRMEZEU2l4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVWRUxFbEJRVWtzV1VGQldTeERRVUZETEZGQlFWRXNRMEZCUXl4alFVRmpMRU5CUVVNc1NVRkJTU3haUVVGWkxFTkJRVU1zVVVGQlVTeERRVUZETEV0QlFVc3NRMEZCUXl4RlFVRkZMRU5CUVVNN1dVRkRNVVVzVDBGQlR5eEpRVUZKTEZkQlFWY3NRMEZEY0VJc05rSkJRVFpDTEVWQlF6ZENMREJDUVVFd1FpeFBRVUZQTEVWQlFVVXNSVUZEYmtNc1IwRkJSeXhEUVVOS0xFTkJRVU03VVVGRFNpeERRVUZETzFGQlJVUXNTVUZCU1N4WlFVRlpMRU5CUVVNc1VVRkJVU3hEUVVGRExGbEJRVmtzUTBGQlF5eEpRVUZKTEZsQlFWa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1MwRkJTeXhEUVVGRExFVkJRVVVzUTBGQlF6dFpRVU40UlN4UFFVRlBMRWxCUVVrc1YwRkJWeXhEUVVOd1FpeHRRMEZCYlVNc1JVRkRia01zYzBKQlFYTkNMRTlCUVU4c1JVRkJSU3hGUVVNdlFpeEhRVUZITEVOQlEwb3NRMEZCUXp0UlFVTktMRU5CUVVNN1VVRkZSQ3hKUVVGSkxGbEJRVmtzUTBGQlF5eFJRVUZSTEVOQlFVTXNXVUZCV1N4RFFVRkRMRWxCUVVrc1dVRkJXU3hEUVVGRExGRkJRVkVzUTBGQlF5eExRVUZMTEVOQlFVTXNSVUZCUlN4RFFVRkRPMWxCUTNoRkxFOUJRVThzU1VGQlNTeFhRVUZYTEVOQlEzQkNMRGhDUVVFNFFpeEZRVU01UWl4cFFrRkJhVUlzVDBGQlR5eEZRVUZGTEVWQlF6RkNMRWRCUVVjc1EwRkRTaXhEUVVGRE8xRkJRMG9zUTBGQlF6dFJRVVZFTEVsQlEwVXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhWUVVGVkxFTkJRVU03V1VGRGFrTXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhoUVVGaExFTkJRVU03V1VGRGNFTXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhaUVVGWkxFTkJRVU03V1VGRGJrTXNXVUZCV1N4RFFVRkRMRkZCUVZFc1EwRkJReXhUUVVGVExFTkJRVU1zUlVGRGFFTXNRMEZCUXp0WlFVTkVMRTlCUVU4c1NVRkJTU3hYUVVGWExFTkJRM0JDTERaQ1FVRTJRaXhGUVVNM1FpeDVRa0ZCZVVJc1QwRkJUeXhGUVVGRkxFVkJRMnhETEVkQlFVY3NRMEZEU2l4RFFVRkRPMUZCUTBvc1EwRkJRenRSUVVWRUxFOUJRVThzU1VGQlNTeFhRVUZYTEVOQlEzQkNMREJDUVVFd1FpeEZRVU14UWl4dFFrRkJiVUlzVDBGQlR5eEZRVUZGTEVWQlF6VkNMRWRCUVVjc1EwRkRTaXhEUVVGRE8wbEJRMG9zUTBGQlF6dEpRVVZQTEV0QlFVc3NRMEZCUXl4VlFVRlZMRU5CUVVNc1NVRkJXVHRSUVVOdVF5eE5RVUZOTEVkQlFVY3NSMEZCUnl4SFFVRkhMRWxCUVVrc1EwRkJReXhOUVVGTkxFTkJRVU1zVjBGQlZ5eEhRVUZITEVsQlFVa3NSVUZCUlN4RFFVRkRPMUZCUTJoRUxFMUJRVTBzVDBGQlR5eEhRVUV5UWp0WlFVTjBReXhqUVVGakxFVkJRVVVzYTBKQlFXdENPMU5CUTI1RExFTkJRVU03VVVGRFJpeEpRVUZKTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU03V1VGRE4wSXNUMEZCVHl4RFFVRkRMR1ZCUVdVc1EwRkJReXhIUVVGSExGVkJRVlVzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4WlFVRlpMRVZCUVVVc1EwRkJRenRSUVVOc1JTeERRVUZETzFGQlJVUXNUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hMUVVGTExFTkJRVU1zUjBGQlJ5eEZRVUZGTzFsQlEyaERMRTFCUVUwc1JVRkJSU3hMUVVGTE8xbEJRMklzVDBGQlR6dFRRVU5TTEVOQlFVTXNRMEZCUXp0UlFVVklMRWxCUVVrc1EwRkJReXhSUVVGUkxFTkJRVU1zUlVGQlJTeEZRVUZGTEVOQlFVTTdXVUZEYWtJc1RVRkJUU3hUUVVGVExFZEJRVWNzVFVGQlRTeFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNc1MwRkJTeXhEUVVGRExFZEJRVWNzUlVGQlJTeERRVUZETEVWQlFVVXNRMEZCUXl4RFFVRkRPMWxCUTNoRUxFMUJRVTBzU1VGQlNTeGhRVUZoTEVOQlEzSkNMSGRDUVVGM1FpeFJRVUZSTEVOQlFVTXNUVUZCVFN4TlFVRk5MRk5CUVZNc1NVRkJTU3hSUVVGUkxFTkJRVU1zVlVGQlZTeEZRVUZGTEVOQlEyaEdMRU5CUVVNN1VVRkRTaXhEUVVGRE8xRkJSVVFzVDBGQlR5eFJRVUZSTEVOQlFVTXNTVUZCU1N4RlFVRkZMRU5CUVVNN1NVRkRla0lzUTBGQlF6dEpRVVZQTEV0QlFVc3NRMEZCUXl4WFFVRlhMRU5CUVVNc1NVRkJXU3hGUVVGRkxFbEJRVk03VVVGREwwTXNUVUZCVFN4SFFVRkhMRWRCUVVjc1IwRkJSeXhKUVVGSkxFTkJRVU1zVFVGQlRTeERRVUZETEZkQlFWY3NSMEZCUnl4SlFVRkpMRVZCUVVVc1EwRkJRenRSUVVOb1JDeE5RVUZOTEU5QlFVOHNSMEZCTWtJN1dVRkRkRU1zWTBGQll5eEZRVUZGTEd0Q1FVRnJRanRUUVVOdVF5eERRVUZETzFGQlEwWXNTVUZCU1N4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETzFsQlF6ZENMRTlCUVU4c1EwRkJReXhsUVVGbExFTkJRVU1zUjBGQlJ5eFZRVUZWTEVsQlFVa3NRMEZCUXl4TlFVRk5MRU5CUVVNc1dVRkJXU3hGUVVGRkxFTkJRVU03VVVGRGJFVXNRMEZCUXp0UlFVVkVMRTFCUVUwc1VVRkJVU3hIUVVGSExFMUJRVTBzUzBGQlN5eERRVUZETEVkQlFVY3NSVUZCUlR0WlFVTm9ReXhOUVVGTkxFVkJRVVVzVFVGQlRUdFpRVU5rTEU5QlFVODdXVUZEVUN4SlFVRkpMRVZCUVVVc1NVRkJTU3hEUVVGRExGTkJRVk1zUTBGQlF5eEpRVUZKTEVOQlFVTTdVMEZETTBJc1EwRkJReXhEUVVGRE8xRkJSVWdzU1VGQlNTeERRVUZETEZGQlFWRXNRMEZCUXl4RlFVRkZMRVZCUVVVc1EwRkJRenRaUVVOcVFpeE5RVUZOTEZOQlFWTXNSMEZCUnl4TlFVRk5MRkZCUVZFc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF5eExRVUZMTEVOQlFVTXNSMEZCUnl4RlFVRkZMRU5CUVVNc1JVRkJSU3hEUVVGRExFTkJRVU03V1VGRGVFUXNUVUZCVFN4SlFVRkpMR0ZCUVdFc1EwRkRja0lzZDBKQlFYZENMRkZCUVZFc1EwRkJReXhOUVVGTkxFMUJRVTBzVTBGQlV5eEpRVUZKTEZGQlFWRXNRMEZCUXl4VlFVRlZMRVZCUVVVc1EwRkRhRVlzUTBGQlF6dFJRVU5LTEVOQlFVTTdVVUZGUkN4UFFVRlBMRkZCUVZFc1EwRkJReXhKUVVGSkxFVkJRVVVzUTBGQlF6dEpRVU42UWl4RFFVRkRPMGxCUlU4c1MwRkJTeXhEUVVGRExHRkJRV0VzUTBGQlF5eEpRVUZaTzFGQlEzUkRMRTFCUVUwc1IwRkJSeXhIUVVGSExFZEJRVWNzU1VGQlNTeERRVUZETEUxQlFVMHNRMEZCUXl4WFFVRlhMRWRCUVVjc1NVRkJTU3hGUVVGRkxFTkJRVU03VVVGRGFFUXNUVUZCVFN4UFFVRlBMRWRCUVRKQ08xbEJRM1JETEdOQlFXTXNSVUZCUlN4clFrRkJhMEk3VTBGRGJrTXNRMEZCUXp0UlFVTkdMRWxCUVVrc1NVRkJTU3hEUVVGRExFMUJRVTBzUTBGQlF5eFpRVUZaTEVWQlFVVXNRMEZCUXp0WlFVTTNRaXhQUVVGUExFTkJRVU1zWlVGQlpTeERRVUZETEVkQlFVY3NWVUZCVlN4SlFVRkpMRU5CUVVNc1RVRkJUU3hEUVVGRExGbEJRVmtzUlVGQlJTeERRVUZETzFGQlEyeEZMRU5CUVVNN1VVRkZSQ3hOUVVGTkxGRkJRVkVzUjBGQlJ5eE5RVUZOTEV0QlFVc3NRMEZCUXl4SFFVRkhMRVZCUVVVN1dVRkRhRU1zVFVGQlRTeEZRVUZGTEZGQlFWRTdXVUZEYUVJc1QwRkJUenRUUVVOU0xFTkJRVU1zUTBGQlF6dFJRVVZJTEVsQlFVa3NRMEZCUXl4UlFVRlJMRU5CUVVNc1JVRkJSU3hGUVVGRkxFTkJRVU03V1VGRGFrSXNUVUZCVFN4VFFVRlRMRWRCUVVjc1RVRkJUU3hSUVVGUkxFTkJRVU1zU1VGQlNTeEZRVUZGTEVOQlFVTXNTMEZCU3l4RFFVRkRMRWRCUVVjc1JVRkJSU3hEUVVGRExFVkJRVVVzUTBGQlF5eERRVUZETzFsQlEzaEVMRTFCUVUwc1NVRkJTU3hoUVVGaExFTkJRM0pDTEhkQ1FVRjNRaXhSUVVGUkxFTkJRVU1zVFVGQlRTeE5RVUZOTEZOQlFWTXNTVUZCU1N4UlFVRlJMRU5CUVVNc1ZVRkJWU3hGUVVGRkxFTkJRMmhHTEVOQlFVTTdVVUZEU2l4RFFVRkRPMGxCUTBnc1EwRkJRenRKUVVWUExFdEJRVXNzUTBGQlF5eGxRVUZsTEVOQlF6TkNMRXRCUVdFc1JVRkRZaXhQUVVGbE8xRkJSV1lzU1VGQlNTeERRVUZETzFsQlEwZ3NUVUZCVFN4UlFVRlJMRWRCUVVjc1RVRkJUU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEdOQlFXTXNUMEZCVHl4UlFVRlJMRU5CUVVNc1EwRkJRenRaUVVOMFJTeE5RVUZOTEV0QlFVc3NSMEZCUnl4TFFVRkxMRU5CUVVNc1QwRkJUeXhEUVVGRExGRkJRVkVzUTBGQlF5eERRVUZETEVOQlFVTXNRMEZCUXl4UlFVRlJMRU5CUVVNc1EwRkJReXhEUVVGRExFTkJRVU1zVVVGQlVTeERRVUZETEVOQlFVTTdXVUZET1VRc1QwRkJUeXhMUVVGTExFTkJRVU1zVFVGQlRTeERRVUZETEVOQlFVTXNTVUZCU1N4RlFVRkZMRVZCUVVVc1EwRkJReXhKUVVGSkxFTkJRVU1zUzBGQlN5eExRVUZMTEV0QlFVc3NRMEZCUXl4RFFVRkRPMUZCUTNSRUxFTkJRVU03VVVGQlF5eFBRVUZQTEV0QlFVc3NSVUZCUlN4RFFVRkRPMWxCUTJZc1RVRkJUU3hKUVVGSkxFTkJRVU1zVlVGQlZTeERRVUZETEV0QlFXTXNRMEZCUXl4RFFVRkRPMUZCUTNoRExFTkJRVU03U1VGRFNDeERRVUZETzBOQlEwWWlMQ0p6YjNWeVkyVnpRMjl1ZEdWdWRDSTZXeUpwYlhCdmNuUWdleUJUWldOeVpYUkZjbkp2Y2l3Z1UyVmpjbVYwVUhKdmRtbGtaWElnZlNCbWNtOXRJRndpTGk0dkxpNHZjMlZqY21WMGN5OWpiM0psWENJN1hHNXBiWEJ2Y25RZ2UxeHVJQ0JUWldOeVpYUk9ZVzFsTEZ4dUlDQlRaV055WlhSUVlYbHNiMkZrTEZ4dUlDQlRaV055WlhSU1pXWmxjbVZ1WTJVc1hHNGdJRk5sWTNKbGRFMWxkR0ZrWVhSaExGeHVmU0JtY205dElGd2lMaTR2TGk0dmMyVmpjbVYwY3k5amIzSmxYQ0k3WEc1cGJYQnZjblFnZXlCMllXeHBaR0YwWlZObFkzSmxkRTVoYldVc0lHNXZjbTFoYkdsNlpWTmxZM0psZEU1aGJXVWdmU0JtY205dElGd2lMaTR2TGk0dmMyVmpjbVYwY3k5amIzSmxYQ0k3WEc1cGJYQnZjblFnZTF4dUlDQnpaWEpwWVd4cGVtVlRaV055WlhSUVlYbHNiMkZrTEZ4dUlDQmtaWE5sY21saGJHbDZaVk5sWTNKbGRGQmhlV3h2WVdRc1hHNGdJSFI1Y0dVZ1UyVnlhV0ZzYVhwbFpGTmxZM0psZEZCaGVXeHZZV1FzWEc1OUlHWnliMjBnWENJdUxpOHVMaTl6WldOeVpYUnpMMk52Y21WY0lqdGNibWx0Y0c5eWRDQjdYRzRnSUVOc2FXVnVkRUpoYzJWa1UyVnlkbWxqWlN4Y2JpQWdkSGx3WlNCRGIyNTBaWGgwZFdGc1FYSm5jeXhjYmlBZ2RIbHdaU0JOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWNzWEc1OUlHWnliMjBnWENKQVpHVmpZV1l0ZEhNdlkyOXlaVndpTzF4dWFXMXdiM0owSUhzZ1QyNWxVR0Z6YzNkdmNtUlRaV055WlhSVFpYSjJhV05sUTI5dVptbG5JSDBnWm5KdmJTQmNJaTR2VDI1bFVHRnpjM2R2Y21SVFpXTnlaWFJUWlhKMmFXTmxRMjl1Wm1sblhDSTdYRzVwYlhCdmNuUWdleUJKYm5SbGNtNWhiRVZ5Y205eUxDQk9iM1JHYjNWdVpFVnljbTl5SUgwZ1puSnZiU0JjSWtCa1pXTmhaaTEwY3k5a1lpMWtaV052Y21GMGIzSnpYQ0k3WEc1Y2JtVjRjRzl5ZENCamJHRnpjeUJQYm1WUVlYTnpkMjl5WkZObFkzSmxkRk5sY25acFkyVWdaWGgwWlc1a2N5QkRiR2xsYm5SQ1lYTmxaRk5sY25acFkyVThYRzRnSUhWdWEyNXZkMjRzWEc0Z0lFOXVaVkJoYzNOM2IzSmtVMlZqY21WMFUyVnlkbWxqWlVOdmJtWnBaMXh1UGlCN1hHNGdJSEpsWVdSdmJteDVJSEJ5YjNacFpHVnlPaUJUWldOeVpYUlFjbTkyYVdSbGNpQTlJRndpTVhCaGMzTjNiM0prWENJN1hHNWNiaUFnWVhONWJtTWdhVzVwZEdsaGJHbDZaU2hjYmlBZ0lDQXVMaTVoY21kek9pQkRiMjUwWlhoMGRXRnNRWEpuY3p4aGJuaytYRzRnSUNrNklGQnliMjFwYzJVOGV5QmpiMjVtYVdjNklFOXVaVkJoYzNOM2IzSmtVMlZqY21WMFUyVnlkbWxqWlVOdmJtWnBaenNnWTJ4cFpXNTBPaUIxYm10dWIzZHVJSDArSUh0Y2JpQWdJQ0JqYjI1emRDQmpiMjVtYVdjZ1BTQmhjbWR6V3pCZElHRnpJRTl1WlZCaGMzTjNiM0prVTJWamNtVjBVMlZ5ZG1salpVTnZibVpwWnp0Y2JpQWdJQ0JwWmlBb0lXTnZibVpwWnk1amIyNXVaV04wU0c5emRDa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lGd2lNVkJoYzNOM2IzSmtJSE5sY25acFkyVWdjbVZ4ZFdseVpYTWdZMjl1Ym1WamRFaHZjM1FnWTI5dVptbG5kWEpoZEdsdmJsd2lYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNiaUFnSUNCeVpYUjFjbTRnZXlCamIyNW1hV2NzSUdOc2FXVnVkRG9nZTMwZ2ZUdGNiaUFnZlZ4dVhHNGdJR0Z6ZVc1aklITjBiM0psUEZRZ1pYaDBaVzVrY3lCVFpXTnlaWFJRWVhsc2IyRmtJRDBnVTJWamNtVjBVR0Y1Ykc5aFpENG9YRzRnSUNBZ2JtRnRaVG9nVTJWamNtVjBUbUZ0WlN4Y2JpQWdJQ0IyWVd4MVpUb2dWQ3hjYmlBZ0lDQXVMaTVoY21kek9pQk5ZWGxpWlVOdmJuUmxlSFIxWVd4QmNtYzhZVzU1UGx4dUlDQXBPaUJRY205dGFYTmxQRk5sWTNKbGRGSmxabVZ5Wlc1alpUNGdlMXh1SUNBZ0lHTnZibk4wSUhzZ2JHOW5JSDBnUFNBb1lYZGhhWFFnZEdocGN5NXNiMmREZEhnb1lYSm5jeXdnWENKemRHOXlaVndpTENCMGNuVmxLU2t1Wm05eUtIUm9hWE11YzNSdmNtVXBPMXh1SUNBZ0lHeHZaeTUyWlhKaWIzTmxLR0JUZEc5eWFXNW5JSE5sWTNKbGRDQWtlMjVoYldWOVlDazdYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJSFpoYkdsa1lYUmxVMlZqY21WMFRtRnRaU2h1WVcxbEtUdGNiaUFnSUNCOUlHTmhkR05vSUNobGNuSnZjaWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dkR2hwY3k1d1lYSnpaVVZ5Y205eUtHVnljbTl5SUdGeklFVnljbTl5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnViM0p0WVd4cGVtVmtUbUZ0WlNBOUlHNXZjbTFoYkdsNlpWTmxZM0psZEU1aGJXVW9ibUZ0WlNrN1hHNGdJQ0FnWTI5dWMzUWdjMlZ5YVdGc2FYcGxaQ0E5SUhObGNtbGhiR2w2WlZObFkzSmxkRkJoZVd4dllXUW9kbUZzZFdVcE8xeHVJQ0FnSUdOdmJuTjBJSFpoZFd4MFNXUWdQU0IwYUdsekxtTnZibVpwWnk1MllYVnNkRWxrTzF4dVhHNGdJQ0FnYVdZZ0tDRjJZWFZzZEVsa0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1hDSXhVR0Z6YzNkdmNtUWdjSEp2ZG1sa1pYSWdjbVZ4ZFdseVpYTWdZU0IyWVhWc2RDQkpSQ0JwYmlCamIyNW1hV2QxY21GMGFXOXVYQ0pjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2FYUmxiU0E5SUh0Y2JpQWdJQ0FnSUhScGRHeGxPaUJ1YjNKdFlXeHBlbVZrVG1GdFpTeGNiaUFnSUNBZ0lHTmhkR1ZuYjNKNU9pQmNJbXh2WjJsdVhDSXNYRzRnSUNBZ0lDQm1hV1ZzWkhNNklGdGNiaUFnSUNBZ0lDQWdlMXh1SUNBZ0lDQWdJQ0FnSUd4aFltVnNPaUJjSW5ObFkzSmxkRndpTEZ4dUlDQWdJQ0FnSUNBZ0lIWmhiSFZsT2lCelpYSnBZV3hwZW1Wa0xuWmhiSFZsTEZ4dUlDQWdJQ0FnSUNBZ0lIQjFjbkJ2YzJVNklGd2ljR0Z6YzNkdmNtUmNJaXhjYmlBZ0lDQWdJQ0FnZlN4Y2JpQWdJQ0FnSUYwc1hHNGdJQ0FnSUNCdWIzUmxjem9nWUVOeVpXRjBaV1FnWW5rZ1JFVkRRVVlnVTJWamNtVjBJRk5sY25acFkyVWdZWFFnSkh0dVpYY2dSR0YwWlNncExuUnZTVk5QVTNSeWFXNW5LQ2w5WUN4Y2JpQWdJQ0I5TzF4dVhHNGdJQ0FnZEhKNUlIdGNiaUFnSUNBZ0lHTnZibk4wSUhKbGMzQnZibk5sSUQwZ1lYZGhhWFFnZEdocGN5NXdiM04wVW1WeGRXVnpkQ2hjYmlBZ0lDQWdJQ0FnWUM5Mk1TOTJZWFZzZEhNdkpIdDJZWFZzZEVsa2ZTOXBkR1Z0YzJBc1hHNGdJQ0FnSUNBZ0lHbDBaVzFjYmlBZ0lDQWdJQ2s3WEc1Y2JpQWdJQ0FnSUdsbUlDZ2hjbVZ6Y0c5dWMyVXVhV1FwSUh0Y2JpQWdJQ0FnSUNBZ2RHaHliM2NnYm1WM0lGTmxZM0psZEVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0FnSUZ3aVUwVkRVa1ZVWDFCU1QxWkpSRVZTWDBOUFRrWk1TVU5VWENJc1hHNGdJQ0FnSUNBZ0lDQWdYQ0pHWVdsc1pXUWdkRzhnYzNSdmNtVWdjMlZqY21WME9pQk9ieUJwZEdWdElFbEVJSEpsZEhWeWJtVmtYQ0pjYmlBZ0lDQWdJQ0FnS1R0Y2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUh0Y2JpQWdJQ0FnSUNBZ2NISnZkbWxrWlhJNklIUm9hWE11Y0hKdmRtbGtaWElzWEc0Z0lDQWdJQ0FnSUc1aGJXVTZJRzV2Y20xaGJHbDZaV1JPWVcxbExGeHVJQ0FnSUNBZ0lDQjJaWEp6YVc5dU9pQjFibVJsWm1sdVpXUXNYRzRnSUNBZ0lDQWdJRzFsZEdGa1lYUmhPaUI3WEc0Z0lDQWdJQ0FnSUNBZ2FXUTZJSEpsYzNCdmJuTmxMbWxrTEZ4dUlDQWdJQ0FnSUNCOUxGeHVJQ0FnSUNBZ2ZUdGNiaUFnSUNCOUlHTmhkR05vSUNobGNuSnZjaWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dkR2hwY3k1d1lYSnpaVVZ5Y205eUtHVnljbTl5SUdGeklFVnljbTl5S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJ5WlhSeWFXVjJaVHhVSUdWNGRHVnVaSE1nVTJWamNtVjBVR0Y1Ykc5aFpDQTlJRk5sWTNKbGRGQmhlV3h2WVdRK0tGeHVJQ0FnSUc1aGJXVlBjbEpsWmpvZ1UyVmpjbVYwVG1GdFpTQjhJRk5sWTNKbGRGSmxabVZ5Wlc1alpTeGNiaUFnSUNBdUxpNWhjbWR6T2lCTllYbGlaVU52Ym5SbGVIUjFZV3hCY21jOFlXNTVQbHh1SUNBcE9pQlFjbTl0YVhObFBGUStJSHRjYmlBZ0lDQmpiMjV6ZENCN0lHeHZaeUI5SUQwZ0tHRjNZV2wwSUhSb2FYTXViRzluUTNSNEtHRnlaM01zSUZ3aWNtVjBjbWxsZG1WY0lpd2dkSEoxWlNrcExtWnZjaWhjYmlBZ0lDQWdJSFJvYVhNdWNtVjBjbWxsZG1WY2JpQWdJQ0FwTzF4dUlDQWdJR052Ym5OMElHNWhiV1ZUZEhJZ1BTQjBlWEJsYjJZZ2JtRnRaVTl5VW1WbUlEMDlQU0JjSW5OMGNtbHVaMXdpSUQ4Z2JtRnRaVTl5VW1WbUlEb2dibUZ0WlU5eVVtVm1MbTVoYldVN1hHNGdJQ0FnYkc5bkxuWmxjbUp2YzJVb1lGSmxkSEpwWlhacGJtY2djMlZqY21WMElDUjdibUZ0WlZOMGNuMWdLVHRjYmx4dUlDQWdJR3hsZENCdVlXMWxPaUJ6ZEhKcGJtYzdYRzVjYmlBZ0lDQnBaaUFvZEhsd1pXOW1JRzVoYldWUGNsSmxaaUE5UFQwZ1hDSnpkSEpwYm1kY0lpa2dlMXh1SUNBZ0lDQWdibUZ0WlNBOUlHNWhiV1ZQY2xKbFpqdGNiaUFnSUNCOUlHVnNjMlVnZTF4dUlDQWdJQ0FnYm1GdFpTQTlJRzVoYldWUGNsSmxaaTV1WVcxbE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQjJZV3hwWkdGMFpWTmxZM0psZEU1aGJXVW9ibUZ0WlNrN1hHNGdJQ0FnZlNCallYUmphQ0FvWlhKeWIzSXBJSHRjYmlBZ0lDQWdJSFJvY205M0lIUm9hWE11Y0dGeWMyVkZjbkp2Y2lobGNuSnZjaUJoY3lCRmNuSnZjaWs3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdZMjl1YzNRZ2JtOXliV0ZzYVhwbFpFNWhiV1VnUFNCdWIzSnRZV3hwZW1WVFpXTnlaWFJPWVcxbEtHNWhiV1VwTzF4dUlDQWdJR052Ym5OMElIWmhkV3gwU1dRZ1BTQjBhR2x6TG1OdmJtWnBaeTUyWVhWc2RFbGtPMXh1WEc0Z0lDQWdhV1lnS0NGMllYVnNkRWxrS1NCN1hHNGdJQ0FnSUNCMGFISnZkeUJ1WlhjZ1NXNTBaWEp1WVd4RmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWENJeFVHRnpjM2R2Y21RZ2NISnZkbWxrWlhJZ2NtVnhkV2x5WlhNZ1lTQjJZWFZzZENCSlJDQnBiaUJqYjI1bWFXZDFjbUYwYVc5dVhDSmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2JHVjBJR2wwWlcxSlpEb2djM1J5YVc1bklId2dkVzVrWldacGJtVmtPMXh1WEc0Z0lDQWdhV1lnS0Z4dUlDQWdJQ0FnZEdocGN5NWpiMjVtYVdjdWFYUmxiVWxrVkdWdGNHeGhkR1VnSmlaY2JpQWdJQ0FnSUhSb2FYTXVZMjl1Wm1sbkxtbDBaVzFKWkZSbGJYQnNZWFJsTG1sdVkyeDFaR1Z6S0Z3aUpIdHVZVzFsZlZ3aUtWeHVJQ0FnSUNrZ2UxeHVJQ0FnSUNBZ2FYUmxiVWxrSUQwZ2RHaHBjeTVqYjI1bWFXY3VhWFJsYlVsa1ZHVnRjR3hoZEdVdWNtVndiR0ZqWlNoY0lpUjdibUZ0WlgxY0lpd2dibTl5YldGc2FYcGxaRTVoYldVcE8xeHVJQ0FnSUgwZ1pXeHpaU0I3WEc0Z0lDQWdJQ0JqYjI1emRDQnBkR1Z0Y3lBOUlHRjNZV2wwSUhSb2FYTXVaMlYwU1hSbGJYTkNlVlJwZEd4bEtHNXZjbTFoYkdsNlpXUk9ZVzFsTENCMllYVnNkRWxrS1R0Y2JpQWdJQ0FnSUdsbUlDaHBkR1Z0Y3k1c1pXNW5kR2dnUFQwOUlEQXBJSHRjYmlBZ0lDQWdJQ0FnZEdoeWIzY2dibVYzSUU1dmRFWnZkVzVrUlhKeWIzSW9YRzRnSUNBZ0lDQWdJQ0FnWUZObFkzSmxkQ0JjSWlSN2JtOXliV0ZzYVhwbFpFNWhiV1Y5WENJZ2JtOTBJR1p2ZFc1a0lHbHVJSFpoZFd4MFlGeHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdmVnh1SUNBZ0lDQWdhWFJsYlVsa0lEMGdhWFJsYlhOYk1GMHVhV1E3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR2wwWlcwZ1BTQmhkMkZwZENCMGFHbHpMbWRsZEZKbGNYVmxjM1FvWEc0Z0lDQWdJQ0FnSUdBdmRqRXZkbUYxYkhSekx5UjdkbUYxYkhSSlpIMHZhWFJsYlhNdkpIdHBkR1Z0U1dSOVlGeHVJQ0FnSUNBZ0tUdGNibHh1SUNBZ0lDQWdiR1YwSUhaaGJIVmxJRDBnWENKY0lqdGNiaUFnSUNBZ0lHbG1JQ2hwZEdWdExtWnBaV3hrY3lBbUppQkJjbkpoZVM1cGMwRnljbUY1S0dsMFpXMHVabWxsYkdSektTa2dlMXh1SUNBZ0lDQWdJQ0JqYjI1emRDQnpaV055WlhSR2FXVnNaQ0E5SUdsMFpXMHVabWxsYkdSekxtWnBibVFvWEc0Z0lDQWdJQ0FnSUNBZ0tHWTZJR0Z1ZVNrZ1BUNGdaaTV3ZFhKd2IzTmxJRDA5UFNCY0luQmhjM04zYjNKa1hDSWdmSHdnWmk1c1lXSmxiQ0E5UFQwZ1hDSnpaV055WlhSY0lseHVJQ0FnSUNBZ0lDQXBPMXh1SUNBZ0lDQWdJQ0JwWmlBb2MyVmpjbVYwUm1sbGJHUWdKaVlnYzJWamNtVjBSbWxsYkdRdWRtRnNkV1VnSVQwOUlIVnVaR1ZtYVc1bFpDa2dlMXh1SUNBZ0lDQWdJQ0FnSUhaaGJIVmxJRDBnYzJWamNtVjBSbWxsYkdRdWRtRnNkV1U3WEc0Z0lDQWdJQ0FnSUgxY2JpQWdJQ0FnSUgxY2JseHVJQ0FnSUNBZ2FXWWdLQ0YyWVd4MVpTQW1KaUJwZEdWdExtUmxkR0ZwYkhNZ0ppWWdhWFJsYlM1a1pYUmhhV3h6TG1acFpXeGtjeWtnZTF4dUlDQWdJQ0FnSUNCamIyNXpkQ0JtYVdWc1pITWdQU0JCY25KaGVTNXBjMEZ5Y21GNUtHbDBaVzB1WkdWMFlXbHNjeTVtYVdWc1pITXBYRzRnSUNBZ0lDQWdJQ0FnUHlCcGRHVnRMbVJsZEdGcGJITXVabWxsYkdSelhHNGdJQ0FnSUNBZ0lDQWdPaUJiWFR0Y2JpQWdJQ0FnSUNBZ1kyOXVjM1FnYzJWamNtVjBSbWxsYkdRZ1BTQm1hV1ZzWkhNdVptbHVaQ2hjYmlBZ0lDQWdJQ0FnSUNBb1pqb2dZVzU1S1NBOVBpQm1MbkIxY25CdmMyVWdQVDA5SUZ3aWNHRnpjM2R2Y21SY0lpQjhmQ0JtTG14aFltVnNJRDA5UFNCY0luTmxZM0psZEZ3aVhHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQWdJR2xtSUNoelpXTnlaWFJHYVdWc1pDQW1KaUJ6WldOeVpYUkdhV1ZzWkM1MllXeDFaU0FoUFQwZ2RXNWtaV1pwYm1Wa0tTQjdYRzRnSUNBZ0lDQWdJQ0FnZG1Gc2RXVWdQU0J6WldOeVpYUkdhV1ZzWkM1MllXeDFaVHRjYmlBZ0lDQWdJQ0FnZlZ4dUlDQWdJQ0FnZlZ4dVhHNGdJQ0FnSUNCcFppQW9JWFpoYkhWbEtTQjdYRzRnSUNBZ0lDQWdJSFJvY205M0lHNWxkeUJUWldOeVpYUkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ0lDQmNJbE5GUTFKRlZGOU9UMVJmUms5VlRrUmNJaXhjYmlBZ0lDQWdJQ0FnSUNCZ1RtOGdjMlZqY21WMElIWmhiSFZsSUdadmRXNWtJR1p2Y2lCcGRHVnRJRndpSkh0cGRHVnRTV1I5WENKZ1hHNGdJQ0FnSUNBZ0lDazdYRzRnSUNBZ0lDQjlYRzVjYmlBZ0lDQWdJR052Ym5OMElIQmhlV3h2WVdRNklGTmxjbWxoYkdsNlpXUlRaV055WlhSUVlYbHNiMkZrSUQwZ2UxeHVJQ0FnSUNBZ0lDQmxibU52WkdsdVp6b2dYQ0oxZEdZNFhDSXNYRzRnSUNBZ0lDQWdJSFpoYkhWbExGeHVJQ0FnSUNBZ2ZUdGNibHh1SUNBZ0lDQWdjbVYwZFhKdUlHUmxjMlZ5YVdGc2FYcGxVMlZqY21WMFVHRjViRzloWkNod1lYbHNiMkZrS1NCaGN5QlVPMXh1SUNBZ0lIMGdZMkYwWTJnZ0tHVnljbTl5S1NCN1hHNGdJQ0FnSUNCMGFISnZkeUIwYUdsekxuQmhjbk5sUlhKeWIzSW9aWEp5YjNJZ1lYTWdSWEp5YjNJcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lHRnplVzVqSUdSbGJHVjBaU2hjYmlBZ0lDQnVZVzFsVDNKU1pXWTZJRk5sWTNKbGRFNWhiV1VnZkNCVFpXTnlaWFJTWldabGNtVnVZMlVzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHgyYjJsa1BpQjdYRzRnSUNBZ1kyOXVjM1FnZXlCc2IyY2dmU0E5SUNoaGQyRnBkQ0IwYUdsekxteHZaME4wZUNoaGNtZHpMQ0JjSW1SbGJHVjBaVndpTENCMGNuVmxLU2t1Wm05eUtIUm9hWE11WkdWc1pYUmxLVHRjYmlBZ0lDQmpiMjV6ZENCdVlXMWxVM1J5SUQwZ2RIbHdaVzltSUc1aGJXVlBjbEpsWmlBOVBUMGdYQ0p6ZEhKcGJtZGNJaUEvSUc1aGJXVlBjbEpsWmlBNklHNWhiV1ZQY2xKbFppNXVZVzFsTzF4dUlDQWdJR3h2Wnk1MlpYSmliM05sS0dCRVpXeGxkR2x1WnlCelpXTnlaWFFnSkh0dVlXMWxVM1J5ZldBcE8xeHVYRzRnSUNBZ2JHVjBJRzVoYldVNklITjBjbWx1Wnp0Y2JseHVJQ0FnSUdsbUlDaDBlWEJsYjJZZ2JtRnRaVTl5VW1WbUlEMDlQU0JjSW5OMGNtbHVaMXdpS1NCN1hHNGdJQ0FnSUNCdVlXMWxJRDBnYm1GdFpVOXlVbVZtTzF4dUlDQWdJSDBnWld4elpTQjdYRzRnSUNBZ0lDQnVZVzFsSUQwZ2JtRnRaVTl5VW1WbUxtNWhiV1U3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdkSEo1SUh0Y2JpQWdJQ0FnSUhaaGJHbGtZWFJsVTJWamNtVjBUbUZ0WlNodVlXMWxLVHRjYmlBZ0lDQjlJR05oZEdOb0lDaGxjbkp2Y2lrZ2UxeHVJQ0FnSUNBZ2RHaHliM2NnZEdocGN5NXdZWEp6WlVWeWNtOXlLR1Z5Y205eUlHRnpJRVZ5Y205eUtUdGNiaUFnSUNCOVhHNWNiaUFnSUNCamIyNXpkQ0J1YjNKdFlXeHBlbVZrVG1GdFpTQTlJRzV2Y20xaGJHbDZaVk5sWTNKbGRFNWhiV1VvYm1GdFpTazdYRzRnSUNBZ1kyOXVjM1FnZG1GMWJIUkpaQ0E5SUhSb2FYTXVZMjl1Wm1sbkxuWmhkV3gwU1dRN1hHNWNiaUFnSUNCcFppQW9JWFpoZFd4MFNXUXBJSHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQmNJakZRWVhOemQyOXlaQ0J3Y205MmFXUmxjaUJ5WlhGMWFYSmxjeUJoSUhaaGRXeDBJRWxFSUdsdUlHTnZibVpwWjNWeVlYUnBiMjVjSWx4dUlDQWdJQ0FnS1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JzWlhRZ2FYUmxiVWxrT2lCemRISnBibWNnZkNCMWJtUmxabWx1WldRN1hHNWNiaUFnSUNCcFppQW9YRzRnSUNBZ0lDQjBhR2x6TG1OdmJtWnBaeTVwZEdWdFNXUlVaVzF3YkdGMFpTQW1KbHh1SUNBZ0lDQWdkR2hwY3k1amIyNW1hV2N1YVhSbGJVbGtWR1Z0Y0d4aGRHVXVhVzVqYkhWa1pYTW9YQ0lrZTI1aGJXVjlYQ0lwWEc0Z0lDQWdLU0I3WEc0Z0lDQWdJQ0JwZEdWdFNXUWdQU0IwYUdsekxtTnZibVpwWnk1cGRHVnRTV1JVWlcxd2JHRjBaUzV5WlhCc1lXTmxLRndpSkh0dVlXMWxmVndpTENCdWIzSnRZV3hwZW1Wa1RtRnRaU2s3WEc0Z0lDQWdmU0JsYkhObElIdGNiaUFnSUNBZ0lHTnZibk4wSUdsMFpXMXpJRDBnWVhkaGFYUWdkR2hwY3k1blpYUkpkR1Z0YzBKNVZHbDBiR1VvYm05eWJXRnNhWHBsWkU1aGJXVXNJSFpoZFd4MFNXUXBPMXh1SUNBZ0lDQWdhV1lnS0dsMFpXMXpMbXhsYm1kMGFDQTlQVDBnTUNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200N1hHNGdJQ0FnSUNCOVhHNGdJQ0FnSUNCcGRHVnRTV1FnUFNCcGRHVnRjMXN3WFM1cFpEdGNiaUFnSUNCOVhHNWNiaUFnSUNCMGNua2dlMXh1SUNBZ0lDQWdZWGRoYVhRZ2RHaHBjeTVrWld4bGRHVlNaWEYxWlhOMEtHQXZkakV2ZG1GMWJIUnpMeVI3ZG1GMWJIUkpaSDB2YVhSbGJYTXZKSHRwZEdWdFNXUjlZQ2s3WEc0Z0lDQWdmU0JqWVhSamFDQW9aWEp5YjNJcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUhSb2FYTXVjR0Z5YzJWRmNuSnZjaWhsY25KdmNpQmhjeUJGY25KdmNpazdYRzRnSUNBZ2ZWeHVJQ0I5WEc1Y2JpQWdZWE41Ym1NZ1pYaHBjM1J6S0Z4dUlDQWdJRzVoYldWUGNsSmxaam9nVTJWamNtVjBUbUZ0WlNCOElGTmxZM0psZEZKbFptVnlaVzVqWlN4Y2JpQWdJQ0F1TGk1aGNtZHpPaUJOWVhsaVpVTnZiblJsZUhSMVlXeEJjbWM4WVc1NVBseHVJQ0FwT2lCUWNtOXRhWE5sUEdKdmIyeGxZVzQrSUh0Y2JpQWdJQ0JqYjI1emRDQjdJR3h2WnlCOUlEMGdLR0YzWVdsMElIUm9hWE11Ykc5blEzUjRLR0Z5WjNNc0lGd2laWGhwYzNSelhDSXNJSFJ5ZFdVcEtTNW1iM0lvZEdocGN5NWxlR2x6ZEhNcE8xeHVJQ0FnSUdOdmJuTjBJRzVoYldWVGRISWdQU0IwZVhCbGIyWWdibUZ0WlU5eVVtVm1JRDA5UFNCY0luTjBjbWx1WjF3aUlEOGdibUZ0WlU5eVVtVm1JRG9nYm1GdFpVOXlVbVZtTG01aGJXVTdYRzRnSUNBZ2JHOW5MblpsY21KdmMyVW9ZRU5vWldOcmFXNW5JR2xtSUhObFkzSmxkQ0FrZTI1aGJXVlRkSEo5SUdWNGFYTjBjMkFwTzF4dVhHNGdJQ0FnYkdWMElHNWhiV1U2SUhOMGNtbHVaenRjYmx4dUlDQWdJR2xtSUNoMGVYQmxiMllnYm1GdFpVOXlVbVZtSUQwOVBTQmNJbk4wY21sdVoxd2lLU0I3WEc0Z0lDQWdJQ0J1WVcxbElEMGdibUZ0WlU5eVVtVm1PMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCdVlXMWxJRDBnYm1GdFpVOXlVbVZtTG01aGJXVTdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2RISjVJSHRjYmlBZ0lDQWdJSFpoYkdsa1lYUmxVMlZqY21WMFRtRnRaU2h1WVcxbEtUdGNiaUFnSUNCOUlHTmhkR05vSUNobGNuSnZjaWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dkR2hwY3k1d1lYSnpaVVZ5Y205eUtHVnljbTl5SUdGeklFVnljbTl5S1R0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnViM0p0WVd4cGVtVmtUbUZ0WlNBOUlHNXZjbTFoYkdsNlpWTmxZM0psZEU1aGJXVW9ibUZ0WlNrN1hHNGdJQ0FnWTI5dWMzUWdkbUYxYkhSSlpDQTlJSFJvYVhNdVkyOXVabWxuTG5aaGRXeDBTV1E3WEc1Y2JpQWdJQ0JwWmlBb0lYWmhkV3gwU1dRcElIdGNiaUFnSUNBZ0lIUm9jbTkzSUc1bGR5QkpiblJsY201aGJFVnljbTl5S0Z4dUlDQWdJQ0FnSUNCY0lqRlFZWE56ZDI5eVpDQndjbTkyYVdSbGNpQnlaWEYxYVhKbGN5QmhJSFpoZFd4MElFbEVJR2x1SUdOdmJtWnBaM1Z5WVhScGIyNWNJbHh1SUNBZ0lDQWdLVHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQnNaWFFnYVhSbGJVbGtPaUJ6ZEhKcGJtY2dmQ0IxYm1SbFptbHVaV1E3WEc1Y2JpQWdJQ0JwWmlBb1hHNGdJQ0FnSUNCMGFHbHpMbU52Ym1acFp5NXBkR1Z0U1dSVVpXMXdiR0YwWlNBbUpseHVJQ0FnSUNBZ2RHaHBjeTVqYjI1bWFXY3VhWFJsYlVsa1ZHVnRjR3hoZEdVdWFXNWpiSFZrWlhNb1hDSWtlMjVoYldWOVhDSXBYRzRnSUNBZ0tTQjdYRzRnSUNBZ0lDQnBkR1Z0U1dRZ1BTQjBhR2x6TG1OdmJtWnBaeTVwZEdWdFNXUlVaVzF3YkdGMFpTNXlaWEJzWVdObEtGd2lKSHR1WVcxbGZWd2lMQ0J1YjNKdFlXeHBlbVZrVG1GdFpTazdYRzRnSUNBZ2ZTQmxiSE5sSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR2wwWlcxeklEMGdZWGRoYVhRZ2RHaHBjeTVuWlhSSmRHVnRjMEo1VkdsMGJHVW9ibTl5YldGc2FYcGxaRTVoYldVc0lIWmhkV3gwU1dRcE8xeHVJQ0FnSUNBZ2FXWWdLR2wwWlcxekxteGxibWQwYUNBOVBUMGdNQ2tnZTF4dUlDQWdJQ0FnSUNCeVpYUjFjbTRnWm1Gc2MyVTdYRzRnSUNBZ0lDQjlYRzRnSUNBZ0lDQnBkR1Z0U1dRZ1BTQnBkR1Z0YzFzd1hTNXBaRHRjYmlBZ0lDQjlYRzVjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnWVhkaGFYUWdkR2hwY3k1blpYUlNaWEYxWlhOMEtHQXZkakV2ZG1GMWJIUnpMeVI3ZG1GMWJIUkpaSDB2YVhSbGJYTXZKSHRwZEdWdFNXUjlZQ2s3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdkSEoxWlR0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1pYSnlJRDBnWlhKeWIzSWdZWE1nUlhKeWIzSTdYRzRnSUNBZ0lDQnBaaUFvWEc0Z0lDQWdJQ0FnSUdWeWNpNXRaWE56WVdkbExuUnZURzkzWlhKRFlYTmxLQ2t1YVc1amJIVmtaWE1vWENKdWIzUWdabTkxYm1SY0lpa2dmSHhjYmlBZ0lDQWdJQ0FnWlhKeUxtMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSTBNRFJjSWlsY2JpQWdJQ0FnSUNrZ2UxeHVJQ0FnSUNBZ0lDQnlaWFIxY200Z1ptRnNjMlU3WEc0Z0lDQWdJQ0I5WEc0Z0lDQWdJQ0IwYUhKdmR5QjBhR2x6TG5CaGNuTmxSWEp5YjNJb1pYSnlLVHRjYmlBZ0lDQjlYRzRnSUgxY2JseHVJQ0JoYzNsdVl5QnNhWE4wS0M0dUxtRnlaM002SUUxaGVXSmxRMjl1ZEdWNGRIVmhiRUZ5Wnp4aGJuaytLVG9nVUhKdmJXbHpaVHhUWldOeVpYUk5aWFJoWkdGMFlWdGRQaUI3WEc0Z0lDQWdZMjl1YzNRZ2V5QnNiMmNnZlNBOUlDaGhkMkZwZENCMGFHbHpMbXh2WjBOMGVDaGhjbWR6TENCY0lteHBjM1JjSWl3Z2RISjFaU2twTG1admNpaDBhR2x6TG14cGMzUXBPMXh1SUNBZ0lHeHZaeTUyWlhKaWIzTmxLRndpVEdsemRHbHVaeUJ6WldOeVpYUnpYQ0lwTzF4dUlDQWdJR052Ym5OMElISmxjM1ZzZERvZ1UyVmpjbVYwVFdWMFlXUmhkR0ZiWFNBOUlGdGRPMXh1SUNBZ0lHTnZibk4wSUhaaGRXeDBTV1FnUFNCMGFHbHpMbU52Ym1acFp5NTJZWFZzZEVsa08xeHVYRzRnSUNBZ2FXWWdLQ0YyWVhWc2RFbGtLU0I3WEc0Z0lDQWdJQ0J5WlhSMWNtNGdjbVZ6ZFd4ME8xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCcGRHVnRjeUE5SUdGM1lXbDBJSFJvYVhNdVoyVjBVbVZ4ZFdWemRDaGdMM1l4TDNaaGRXeDBjeThrZTNaaGRXeDBTV1I5TDJsMFpXMXpZQ2s3WEc1Y2JpQWdJQ0FnSUdadmNpQW9ZMjl1YzNRZ2FYUmxiU0J2WmlCQmNuSmhlUzVwYzBGeWNtRjVLR2wwWlcxektTQS9JR2wwWlcxeklEb2dXMmwwWlcxelhTa2dlMXh1SUNBZ0lDQWdJQ0JwWmlBb2FYUmxiUzVwWkNBbUppQnBkR1Z0TG5ScGRHeGxLU0I3WEc0Z0lDQWdJQ0FnSUNBZ2NtVnpkV3gwTG5CMWMyZ29lMXh1SUNBZ0lDQWdJQ0FnSUNBZ2NISnZkbWxrWlhJNklIUm9hWE11Y0hKdmRtbGtaWElzWEc0Z0lDQWdJQ0FnSUNBZ0lDQnVZVzFsT2lCcGRHVnRMblJwZEd4bExGeHVJQ0FnSUNBZ0lDQWdJQ0FnZG1WeWMybHZiam9nZFc1a1pXWnBibVZrTEZ4dUlDQWdJQ0FnSUNBZ0lDQWdZM0psWVhSbFpFRjBPaUJwZEdWdExtTnlaV0YwWldSQmRDQS9JRzVsZHlCRVlYUmxLR2wwWlcwdVkzSmxZWFJsWkVGMEtTQTZJSFZ1WkdWbWFXNWxaQ3hjYmlBZ0lDQWdJQ0FnSUNBZ0lIVndaR0YwWldSQmREb2dhWFJsYlM1MWNHUmhkR1ZrUVhRZ1B5QnVaWGNnUkdGMFpTaHBkR1Z0TG5Wd1pHRjBaV1JCZENrZ09pQjFibVJsWm1sdVpXUXNYRzRnSUNBZ0lDQWdJQ0FnSUNCbGJtRmliR1ZrT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0FnSUNBZ1pYaDBaWEp1WVd4SlpEb2dhWFJsYlM1cFpDeGNiaUFnSUNBZ0lDQWdJQ0FnSUhSaFozTTZJR2wwWlcwdVkyRjBaV2R2Y25rZ1B5QjdJR05oZEdWbmIzSjVPaUJwZEdWdExtTmhkR1ZuYjNKNUlIMGdPaUIxYm1SbFptbHVaV1FzWEc0Z0lDQWdJQ0FnSUNBZ2ZTazdYRzRnSUNBZ0lDQWdJSDFjYmlBZ0lDQWdJSDFjYmx4dUlDQWdJQ0FnY21WMGRYSnVJSEpsYzNWc2REdGNiaUFnSUNCOUlHTmhkR05vSUNobGNuSnZjaWtnZTF4dUlDQWdJQ0FnZEdoeWIzY2dkR2hwY3k1d1lYSnpaVVZ5Y205eUtHVnljbTl5SUdGeklFVnljbTl5S1R0Y2JpQWdJQ0I5WEc0Z0lIMWNibHh1SUNCaGMzbHVZeUJ0WlhSaFpHRjBZU2hjYmlBZ0lDQnVZVzFsVDNKU1pXWTZJRk5sWTNKbGRFNWhiV1VnZkNCVFpXTnlaWFJTWldabGNtVnVZMlVzWEc0Z0lDQWdMaTR1WVhKbmN6b2dUV0Y1WW1WRGIyNTBaWGgwZFdGc1FYSm5QR0Z1ZVQ1Y2JpQWdLVG9nVUhKdmJXbHpaVHhUWldOeVpYUk5aWFJoWkdGMFlTQjhJSFZ1WkdWbWFXNWxaRDRnZTF4dUlDQWdJR052Ym5OMElIc2diRzluSUgwZ1BTQW9ZWGRoYVhRZ2RHaHBjeTVzYjJkRGRIZ29ZWEpuY3l3Z1hDSnRaWFJoWkdGMFlWd2lMQ0IwY25WbEtTa3VabTl5S0Z4dUlDQWdJQ0FnZEdocGN5NXRaWFJoWkdGMFlWeHVJQ0FnSUNrN1hHNGdJQ0FnWTI5dWMzUWdibUZ0WlZOMGNpQTlJSFI1Y0dWdlppQnVZVzFsVDNKU1pXWWdQVDA5SUZ3aWMzUnlhVzVuWENJZ1B5QnVZVzFsVDNKU1pXWWdPaUJ1WVcxbFQzSlNaV1l1Ym1GdFpUdGNiaUFnSUNCc2IyY3VkbVZ5WW05elpTaGdSMlYwZEdsdVp5QnRaWFJoWkdGMFlTQm1iM0lnYzJWamNtVjBJQ1I3Ym1GdFpWTjBjbjFnS1R0Y2JseHVJQ0FnSUd4bGRDQnVZVzFsT2lCemRISnBibWM3WEc1Y2JpQWdJQ0JwWmlBb2RIbHdaVzltSUc1aGJXVlBjbEpsWmlBOVBUMGdYQ0p6ZEhKcGJtZGNJaWtnZTF4dUlDQWdJQ0FnYm1GdFpTQTlJRzVoYldWUGNsSmxaanRjYmlBZ0lDQjlJR1ZzYzJVZ2UxeHVJQ0FnSUNBZ2JtRnRaU0E5SUc1aGJXVlBjbEpsWmk1dVlXMWxPMXh1SUNBZ0lIMWNibHh1SUNBZ0lIUnllU0I3WEc0Z0lDQWdJQ0IyWVd4cFpHRjBaVk5sWTNKbGRFNWhiV1VvYm1GdFpTazdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUhSb2NtOTNJSFJvYVhNdWNHRnljMlZGY25KdmNpaGxjbkp2Y2lCaGN5QkZjbkp2Y2lrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnWTI5dWMzUWdibTl5YldGc2FYcGxaRTVoYldVZ1BTQnViM0p0WVd4cGVtVlRaV055WlhST1lXMWxLRzVoYldVcE8xeHVJQ0FnSUdOdmJuTjBJSFpoZFd4MFNXUWdQU0IwYUdsekxtTnZibVpwWnk1MllYVnNkRWxrTzF4dVhHNGdJQ0FnYVdZZ0tDRjJZWFZzZEVsa0tTQjdYRzRnSUNBZ0lDQjBhSEp2ZHlCdVpYY2dTVzUwWlhKdVlXeEZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1hDSXhVR0Z6YzNkdmNtUWdjSEp2ZG1sa1pYSWdjbVZ4ZFdseVpYTWdZU0IyWVhWc2RDQkpSQ0JwYmlCamIyNW1hV2QxY21GMGFXOXVYQ0pjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdiR1YwSUdsMFpXMUpaRG9nYzNSeWFXNW5JSHdnZFc1a1pXWnBibVZrTzF4dVhHNGdJQ0FnYVdZZ0tGeHVJQ0FnSUNBZ2RHaHBjeTVqYjI1bWFXY3VhWFJsYlVsa1ZHVnRjR3hoZEdVZ0ppWmNiaUFnSUNBZ0lIUm9hWE11WTI5dVptbG5MbWwwWlcxSlpGUmxiWEJzWVhSbExtbHVZMngxWkdWektGd2lKSHR1WVcxbGZWd2lLVnh1SUNBZ0lDa2dlMXh1SUNBZ0lDQWdhWFJsYlVsa0lEMGdkR2hwY3k1amIyNW1hV2N1YVhSbGJVbGtWR1Z0Y0d4aGRHVXVjbVZ3YkdGalpTaGNJaVI3Ym1GdFpYMWNJaXdnYm05eWJXRnNhWHBsWkU1aGJXVXBPMXh1SUNBZ0lIMGdaV3h6WlNCN1hHNGdJQ0FnSUNCamIyNXpkQ0JwZEdWdGN5QTlJR0YzWVdsMElIUm9hWE11WjJWMFNYUmxiWE5DZVZScGRHeGxLRzV2Y20xaGJHbDZaV1JPWVcxbExDQjJZWFZzZEVsa0tUdGNiaUFnSUNBZ0lHbG1JQ2hwZEdWdGN5NXNaVzVuZEdnZ1BUMDlJREFwSUh0Y2JpQWdJQ0FnSUNBZ2NtVjBkWEp1SUhWdVpHVm1hVzVsWkR0Y2JpQWdJQ0FnSUgxY2JpQWdJQ0FnSUdsMFpXMUpaQ0E5SUdsMFpXMXpXekJkTG1sa08xeHVJQ0FnSUgxY2JseHVJQ0FnSUhSeWVTQjdYRzRnSUNBZ0lDQmpiMjV6ZENCcGRHVnRJRDBnWVhkaGFYUWdkR2hwY3k1blpYUlNaWEYxWlhOMEtGeHVJQ0FnSUNBZ0lDQmdMM1l4TDNaaGRXeDBjeThrZTNaaGRXeDBTV1I5TDJsMFpXMXpMeVI3YVhSbGJVbGtmV0JjYmlBZ0lDQWdJQ2s3WEc1Y2JpQWdJQ0FnSUdOdmJuTjBJRzFsZEdFNklGTmxZM0psZEUxbGRHRmtZWFJoSUQwZ2UxeHVJQ0FnSUNBZ0lDQndjbTkyYVdSbGNqb2dkR2hwY3k1d2NtOTJhV1JsY2l4Y2JpQWdJQ0FnSUNBZ2JtRnRaVG9nYVhSbGJTNTBhWFJzWlNCOGZDQnViM0p0WVd4cGVtVmtUbUZ0WlN4Y2JpQWdJQ0FnSUNBZ2RtVnljMmx2YmpvZ2RXNWtaV1pwYm1Wa0xGeHVJQ0FnSUNBZ0lDQmpjbVZoZEdWa1FYUTZJR2wwWlcwdVkzSmxZWFJsWkVGMElEOGdibVYzSUVSaGRHVW9hWFJsYlM1amNtVmhkR1ZrUVhRcElEb2dkVzVrWldacGJtVmtMRnh1SUNBZ0lDQWdJQ0IxY0dSaGRHVmtRWFE2SUdsMFpXMHVkWEJrWVhSbFpFRjBJRDhnYm1WM0lFUmhkR1VvYVhSbGJTNTFjR1JoZEdWa1FYUXBJRG9nZFc1a1pXWnBibVZrTEZ4dUlDQWdJQ0FnSUNCbGJtRmliR1ZrT2lCMGNuVmxMRnh1SUNBZ0lDQWdJQ0JsZUhSbGNtNWhiRWxrT2lCcGRHVnRMbWxrTEZ4dUlDQWdJQ0FnSUNCMFlXZHpPaUJwZEdWdExtTmhkR1ZuYjNKNUlEOGdleUJqWVhSbFoyOXllVG9nYVhSbGJTNWpZWFJsWjI5eWVTQjlJRG9nZFc1a1pXWnBibVZrTEZ4dUlDQWdJQ0FnZlR0Y2JseHVJQ0FnSUNBZ2NtVjBkWEp1SUcxbGRHRTdYRzRnSUNBZ2ZTQmpZWFJqYUNBb1pYSnliM0lwSUh0Y2JpQWdJQ0FnSUdOdmJuTjBJR1Z5Y2lBOUlHVnljbTl5SUdGeklFVnljbTl5TzF4dUlDQWdJQ0FnYVdZZ0tGeHVJQ0FnSUNBZ0lDQmxjbkl1YldWemMyRm5aUzUwYjB4dmQyVnlRMkZ6WlNncExtbHVZMngxWkdWektGd2libTkwSUdadmRXNWtYQ0lwSUh4OFhHNGdJQ0FnSUNBZ0lHVnljaTV0WlhOellXZGxMbWx1WTJ4MVpHVnpLRndpTkRBMFhDSXBYRzRnSUNBZ0lDQXBJSHRjYmlBZ0lDQWdJQ0FnY21WMGRYSnVJSFZ1WkdWbWFXNWxaRHRjYmlBZ0lDQWdJSDFjYmlBZ0lDQWdJSFJvY205M0lIUm9hWE11Y0dGeWMyVkZjbkp2Y2lobGNuSXBPMXh1SUNBZ0lIMWNiaUFnZlZ4dVhHNGdJSEJ5YjNSbFkzUmxaQ0J3WVhKelpVVnljbTl5S0dWeWNtOXlPaUIxYm10dWIzZHVLVG9nVTJWamNtVjBSWEp5YjNJZ2UxeHVJQ0FnSUdOdmJuTjBJR1Z5Y2lBOUlHVnljbTl5SUdGeklFVnljbTl5TzF4dUlDQWdJR052Ym5OMElHMWxjM05oWjJVZ1BTQmxjbkl1YldWemMyRm5aU0I4ZkNCbGNuSXVibUZ0WlNCOGZDQmNJbFZ1YTI1dmQyNGdaWEp5YjNKY0lqdGNiaUFnSUNCamIyNXpkQ0JzYjNkbGNrMWxjM05oWjJVZ1BTQnRaWE56WVdkbExuUnZURzkzWlhKRFlYTmxLQ2s3WEc1Y2JpQWdJQ0JwWmlBb2JHOTNaWEpOWlhOellXZGxMbWx1WTJ4MVpHVnpLRndpYm05MElHWnZkVzVrWENJcElIeDhJR3h2ZDJWeVRXVnpjMkZuWlM1cGJtTnNkV1JsY3loY0lqUXdORndpS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QlRaV055WlhSRmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWENKVFJVTlNSVlJmVGs5VVgwWlBWVTVFWENJc1hHNGdJQ0FnSUNBZ0lHQlRaV055WlhRZ2JtOTBJR1p2ZFc1a09pQWtlMjFsYzNOaFoyVjlZQ3hjYmlBZ0lDQWdJQ0FnWlhKeVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaGNiaUFnSUNBZ0lHeHZkMlZ5VFdWemMyRm5aUzVwYm1Oc2RXUmxjeWhjSW1Gc2NtVmhaSGtnWlhocGMzUnpYQ0lwSUh4OFhHNGdJQ0FnSUNCc2IzZGxjazFsYzNOaFoyVXVhVzVqYkhWa1pYTW9YQ0pqYjI1bWJHbGpkRndpS1NCOGZGeHVJQ0FnSUNBZ2JHOTNaWEpOWlhOellXZGxMbWx1WTJ4MVpHVnpLRndpTkRBNVhDSXBYRzRnSUNBZ0tTQjdYRzRnSUNBZ0lDQnlaWFIxY200Z2JtVjNJRk5sWTNKbGRFVnljbTl5S0Z4dUlDQWdJQ0FnSUNCY0lsTkZRMUpGVkY5QlRGSkZRVVJaWDBWWVNWTlVVMXdpTEZ4dUlDQWdJQ0FnSUNCZ1UyVmpjbVYwSUdGc2NtVmhaSGtnWlhocGMzUnpPaUFrZTIxbGMzTmhaMlY5WUN4Y2JpQWdJQ0FnSUNBZ1pYSnlYRzRnSUNBZ0lDQXBPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHbG1JQ2hzYjNkbGNrMWxjM05oWjJVdWFXNWpiSFZrWlhNb1hDSjFibUYxZEdodmNtbDZaV1JjSWlrZ2ZId2diRzkzWlhKTlpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aU5EQXhYQ0lwS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lGTmxZM0psZEVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JjSWxORlExSkZWRjlRVWs5V1NVUkZVbDlCVlZSSVgwWkJTVXhGUkZ3aUxGeHVJQ0FnSUNBZ0lDQmdRWFYwYUdWdWRHbGpZWFJwYjI0Z1ptRnBiR1ZrT2lBa2UyMWxjM05oWjJWOVlDeGNiaUFnSUNBZ0lDQWdaWEp5WEc0Z0lDQWdJQ0FwTzF4dUlDQWdJSDFjYmx4dUlDQWdJR2xtSUNoc2IzZGxjazFsYzNOaFoyVXVhVzVqYkhWa1pYTW9YQ0p3WlhKdGFYTnphVzl1WENJcElIeDhJR3h2ZDJWeVRXVnpjMkZuWlM1cGJtTnNkV1JsY3loY0lqUXdNMXdpS1NrZ2UxeHVJQ0FnSUNBZ2NtVjBkWEp1SUc1bGR5QlRaV055WlhSRmNuSnZjaWhjYmlBZ0lDQWdJQ0FnWENKVFJVTlNSVlJmVUZKUFZrbEVSVkpmVUVWU1RVbFRVMGxQVGw5RVJVNUpSVVJjSWl4Y2JpQWdJQ0FnSUNBZ1lGQmxjbTFwYzNOcGIyNGdaR1Z1YVdWa09pQWtlMjFsYzNOaFoyVjlZQ3hjYmlBZ0lDQWdJQ0FnWlhKeVhHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JseHVJQ0FnSUdsbUlDaHNiM2RsY2sxbGMzTmhaMlV1YVc1amJIVmtaWE1vWENKeVlYUmxJR3hwYldsMFhDSXBJSHg4SUd4dmQyVnlUV1Z6YzJGblpTNXBibU5zZFdSbGN5aGNJalF5T1Z3aUtTa2dlMXh1SUNBZ0lDQWdjbVYwZFhKdUlHNWxkeUJUWldOeVpYUkZjbkp2Y2loY2JpQWdJQ0FnSUNBZ1hDSlRSVU5TUlZSZlVGSlBWa2xFUlZKZlVrRlVSVjlNU1UxSlZFVkVYQ0lzWEc0Z0lDQWdJQ0FnSUdCU1lYUmxJR3hwYldsMFpXUTZJQ1I3YldWemMyRm5aWDFnTEZ4dUlDQWdJQ0FnSUNCbGNuSmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2FXWWdLRnh1SUNBZ0lDQWdiRzkzWlhKTlpYTnpZV2RsTG1sdVkyeDFaR1Z6S0Z3aWNISnZkbWxrWlhKY0lpa2dmSHhjYmlBZ0lDQWdJR3h2ZDJWeVRXVnpjMkZuWlM1cGJtTnNkV1JsY3loY0luVnVZWFpoYVd4aFlteGxYQ0lwSUh4OFhHNGdJQ0FnSUNCc2IzZGxjazFsYzNOaFoyVXVhVzVqYkhWa1pYTW9YQ0pqYjI1dVpXTjBhVzl1WENJcElIeDhYRzRnSUNBZ0lDQnNiM2RsY2sxbGMzTmhaMlV1YVc1amJIVmtaWE1vWENKMGFXMWxiM1YwWENJcFhHNGdJQ0FnS1NCN1hHNGdJQ0FnSUNCeVpYUjFjbTRnYm1WM0lGTmxZM0psZEVWeWNtOXlLRnh1SUNBZ0lDQWdJQ0JjSWxORlExSkZWRjlRVWs5V1NVUkZVbDlWVGtGV1FVbE1RVUpNUlZ3aUxGeHVJQ0FnSUNBZ0lDQmdVSEp2ZG1sa1pYSWdkVzVoZG1GcGJHRmliR1U2SUNSN2JXVnpjMkZuWlgxZ0xGeHVJQ0FnSUNBZ0lDQmxjbkpjYmlBZ0lDQWdJQ2s3WEc0Z0lDQWdmVnh1WEc0Z0lDQWdjbVYwZFhKdUlHNWxkeUJUWldOeVpYUkZjbkp2Y2loY2JpQWdJQ0FnSUZ3aVUwVkRVa1ZVWDFCU1QxWkpSRVZTWDBOUFRrWk1TVU5VWENJc1hHNGdJQ0FnSUNCZ1VISnZkbWxrWlhJZ1pYSnliM0k2SUNSN2JXVnpjMkZuWlgxZ0xGeHVJQ0FnSUNBZ1pYSnlYRzRnSUNBZ0tUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdZWE41Ym1NZ1oyVjBVbVZ4ZFdWemRDaHdZWFJvT2lCemRISnBibWNwT2lCUWNtOXRhWE5sUEdGdWVUNGdlMXh1SUNBZ0lHTnZibk4wSUhWeWJDQTlJR0FrZTNSb2FYTXVZMjl1Wm1sbkxtTnZibTVsWTNSSWIzTjBmU1I3Y0dGMGFIMWdPMXh1SUNBZ0lHTnZibk4wSUdobFlXUmxjbk02SUZKbFkyOXlaRHh6ZEhKcGJtY3NJSE4wY21sdVp6NGdQU0I3WEc0Z0lDQWdJQ0JjSWtOdmJuUmxiblF0Vkhsd1pWd2lPaUJjSW1Gd2NHeHBZMkYwYVc5dUwycHpiMjVjSWl4Y2JpQWdJQ0I5TzF4dUlDQWdJR2xtSUNoMGFHbHpMbU52Ym1acFp5NWpiMjV1WldOMFZHOXJaVzRwSUh0Y2JpQWdJQ0FnSUdobFlXUmxjbk5iWENKQmRYUm9iM0pwZW1GMGFXOXVYQ0pkSUQwZ1lFSmxZWEpsY2lBa2UzUm9hWE11WTI5dVptbG5MbU52Ym01bFkzUlViMnRsYm4xZ08xeHVJQ0FnSUgxY2JseHVJQ0FnSUdOdmJuTjBJSEpsYzNCdmJuTmxJRDBnWVhkaGFYUWdabVYwWTJnb2RYSnNMQ0I3WEc0Z0lDQWdJQ0J0WlhSb2IyUTZJRndpUjBWVVhDSXNYRzRnSUNBZ0lDQm9aV0ZrWlhKekxGeHVJQ0FnSUgwcE8xeHVYRzRnSUNBZ2FXWWdLQ0Z5WlhOd2IyNXpaUzV2YXlrZ2UxeHVJQ0FnSUNBZ1kyOXVjM1FnWlhKeWIzSkNiMlI1SUQwZ1lYZGhhWFFnY21WemNHOXVjMlV1ZEdWNGRDZ3BMbU5oZEdOb0tDZ3BJRDArSUZ3aVhDSXBPMXh1SUNBZ0lDQWdkR2h5YjNjZ2JtVjNJRWx1ZEdWeWJtRnNSWEp5YjNJb1hHNGdJQ0FnSUNBZ0lHQXhVR0Z6YzNkdmNtUWdRVkJKSUdWeWNtOXlJQ2drZTNKbGMzQnZibk5sTG5OMFlYUjFjMzBwT2lBa2UyVnljbTl5UW05a2VTQjhmQ0J5WlhOd2IyNXpaUzV6ZEdGMGRYTlVaWGgwZldCY2JpQWdJQ0FnSUNrN1hHNGdJQ0FnZlZ4dVhHNGdJQ0FnY21WMGRYSnVJSEpsYzNCdmJuTmxMbXB6YjI0b0tUdGNiaUFnZlZ4dVhHNGdJSEJ5YVhaaGRHVWdZWE41Ym1NZ2NHOXpkRkpsY1hWbGMzUW9jR0YwYURvZ2MzUnlhVzVuTENCaWIyUjVPaUJoYm5rcE9pQlFjbTl0YVhObFBHRnVlVDRnZTF4dUlDQWdJR052Ym5OMElIVnliQ0E5SUdBa2UzUm9hWE11WTI5dVptbG5MbU52Ym01bFkzUkliM04wZlNSN2NHRjBhSDFnTzF4dUlDQWdJR052Ym5OMElHaGxZV1JsY25NNklGSmxZMjl5WkR4emRISnBibWNzSUhOMGNtbHVaejRnUFNCN1hHNGdJQ0FnSUNCY0lrTnZiblJsYm5RdFZIbHdaVndpT2lCY0ltRndjR3hwWTJGMGFXOXVMMnB6YjI1Y0lpeGNiaUFnSUNCOU8xeHVJQ0FnSUdsbUlDaDBhR2x6TG1OdmJtWnBaeTVqYjI1dVpXTjBWRzlyWlc0cElIdGNiaUFnSUNBZ0lHaGxZV1JsY25OYlhDSkJkWFJvYjNKcGVtRjBhVzl1WENKZElEMGdZRUpsWVhKbGNpQWtlM1JvYVhNdVkyOXVabWxuTG1OdmJtNWxZM1JVYjJ0bGJuMWdPMXh1SUNBZ0lIMWNibHh1SUNBZ0lHTnZibk4wSUhKbGMzQnZibk5sSUQwZ1lYZGhhWFFnWm1WMFkyZ29kWEpzTENCN1hHNGdJQ0FnSUNCdFpYUm9iMlE2SUZ3aVVFOVRWRndpTEZ4dUlDQWdJQ0FnYUdWaFpHVnljeXhjYmlBZ0lDQWdJR0p2WkhrNklFcFRUMDR1YzNSeWFXNW5hV1o1S0dKdlpIa3BMRnh1SUNBZ0lIMHBPMXh1WEc0Z0lDQWdhV1lnS0NGeVpYTndiMjV6WlM1dmF5a2dlMXh1SUNBZ0lDQWdZMjl1YzNRZ1pYSnliM0pDYjJSNUlEMGdZWGRoYVhRZ2NtVnpjRzl1YzJVdWRHVjRkQ2dwTG1OaGRHTm9LQ2dwSUQwK0lGd2lYQ0lwTzF4dUlDQWdJQ0FnZEdoeWIzY2dibVYzSUVsdWRHVnlibUZzUlhKeWIzSW9YRzRnSUNBZ0lDQWdJR0F4VUdGemMzZHZjbVFnUVZCSklHVnljbTl5SUNna2UzSmxjM0J2Ym5ObExuTjBZWFIxYzMwcE9pQWtlMlZ5Y205eVFtOWtlU0I4ZkNCeVpYTndiMjV6WlM1emRHRjBkWE5VWlhoMGZXQmNiaUFnSUNBZ0lDazdYRzRnSUNBZ2ZWeHVYRzRnSUNBZ2NtVjBkWEp1SUhKbGMzQnZibk5sTG1wemIyNG9LVHRjYmlBZ2ZWeHVYRzRnSUhCeWFYWmhkR1VnWVhONWJtTWdaR1ZzWlhSbFVtVnhkV1Z6ZENod1lYUm9PaUJ6ZEhKcGJtY3BPaUJRY205dGFYTmxQSFp2YVdRK0lIdGNiaUFnSUNCamIyNXpkQ0IxY213Z1BTQmdKSHQwYUdsekxtTnZibVpwWnk1amIyNXVaV04wU0c5emRIMGtlM0JoZEdoOVlEdGNiaUFnSUNCamIyNXpkQ0JvWldGa1pYSnpPaUJTWldOdmNtUThjM1J5YVc1bkxDQnpkSEpwYm1jK0lEMGdlMXh1SUNBZ0lDQWdYQ0pEYjI1MFpXNTBMVlI1Y0dWY0lqb2dYQ0poY0hCc2FXTmhkR2x2Ymk5cWMyOXVYQ0lzWEc0Z0lDQWdmVHRjYmlBZ0lDQnBaaUFvZEdocGN5NWpiMjVtYVdjdVkyOXVibVZqZEZSdmEyVnVLU0I3WEc0Z0lDQWdJQ0JvWldGa1pYSnpXMXdpUVhWMGFHOXlhWHBoZEdsdmJsd2lYU0E5SUdCQ1pXRnlaWElnSkh0MGFHbHpMbU52Ym1acFp5NWpiMjV1WldOMFZHOXJaVzU5WUR0Y2JpQWdJQ0I5WEc1Y2JpQWdJQ0JqYjI1emRDQnlaWE53YjI1elpTQTlJR0YzWVdsMElHWmxkR05vS0hWeWJDd2dlMXh1SUNBZ0lDQWdiV1YwYUc5a09pQmNJa1JGVEVWVVJWd2lMRnh1SUNBZ0lDQWdhR1ZoWkdWeWN5eGNiaUFnSUNCOUtUdGNibHh1SUNBZ0lHbG1JQ2doY21WemNHOXVjMlV1YjJzcElIdGNiaUFnSUNBZ0lHTnZibk4wSUdWeWNtOXlRbTlrZVNBOUlHRjNZV2wwSUhKbGMzQnZibk5sTG5SbGVIUW9LUzVqWVhSamFDZ29LU0E5UGlCY0lsd2lLVHRjYmlBZ0lDQWdJSFJvY205M0lHNWxkeUJKYm5SbGNtNWhiRVZ5Y205eUtGeHVJQ0FnSUNBZ0lDQmdNVkJoYzNOM2IzSmtJRUZRU1NCbGNuSnZjaUFvSkh0eVpYTndiMjV6WlM1emRHRjBkWE45S1RvZ0pIdGxjbkp2Y2tKdlpIa2dmSHdnY21WemNHOXVjMlV1YzNSaGRIVnpWR1Y0ZEgxZ1hHNGdJQ0FnSUNBcE8xeHVJQ0FnSUgxY2JpQWdmVnh1WEc0Z0lIQnlhWFpoZEdVZ1lYTjVibU1nWjJWMFNYUmxiWE5DZVZScGRHeGxLRnh1SUNBZ0lIUnBkR3hsT2lCemRISnBibWNzWEc0Z0lDQWdkbUYxYkhSSlpEb2djM1J5YVc1blhHNGdJQ2s2SUZCeWIyMXBjMlU4WVc1NVcxMCtJSHRjYmlBZ0lDQjBjbmtnZTF4dUlDQWdJQ0FnWTI5dWMzUWdZV3hzU1hSbGJYTWdQU0JoZDJGcGRDQjBhR2x6TG1kbGRGSmxjWFZsYzNRb1lDOTJNUzkyWVhWc2RITXZKSHQyWVhWc2RFbGtmUzlwZEdWdGMyQXBPMXh1SUNBZ0lDQWdZMjl1YzNRZ2FYUmxiWE1nUFNCQmNuSmhlUzVwYzBGeWNtRjVLR0ZzYkVsMFpXMXpLU0EvSUdGc2JFbDBaVzF6SURvZ1cyRnNiRWwwWlcxelhUdGNiaUFnSUNBZ0lISmxkSFZ5YmlCcGRHVnRjeTVtYVd4MFpYSW9LR2wwWlcwcElEMCtJR2wwWlcwdWRHbDBiR1VnUFQwOUlIUnBkR3hsS1R0Y2JpQWdJQ0I5SUdOaGRHTm9JQ2hsY25KdmNpa2dlMXh1SUNBZ0lDQWdkR2h5YjNjZ2RHaHBjeTV3WVhKelpVVnljbTl5S0dWeWNtOXlJR0Z6SUVWeWNtOXlLVHRjYmlBZ0lDQjlYRzRnSUgxY2JuMWNiaUpkZlE9PSJdfQ==
|
|
401
|
+
//# sourceMappingURL=OnePasswordSecretService.js.map
|
|
402
|
+
//# sourceMappingURL=OnePasswordSecretService.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets/onepassword/OnePasswordSecretService.cjs","sourceRoot":"","sources":["secrets/onepassword/OnePasswordSecretService.js"],"names":[],"mappings":";;;AAAA,iDAAiD;AACjD,iDAA6E;AAC7E,iDAAuF;AACvF,yCAAqD;AACrD,2DAAuE;AACvE,MAAa,wBAAyB,SAAQ,yBAAkB;IAC5D;QACI,KAAK,CAAC,GAAG,SAAS,CAAC,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;IAChC,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,IAAI,6BAAa,CAAC,sDAAsD,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClC,CAAC;IACD,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI;QAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzE,GAAG,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC;QACtC,IAAI,CAAC;YACD,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,cAAc,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAA,iCAAsB,EAAC,KAAK,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,6BAAa,CAAC,yDAAyD,CAAC,CAAC;QACvF,CAAC;QACD,MAAM,IAAI,GAAG;YACT,KAAK,EAAE,cAAc;YACrB,QAAQ,EAAE,OAAO;YACjB,MAAM,EAAE;gBACJ;oBACI,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,OAAO,EAAE,UAAU;iBACtB;aACJ;YACD,KAAK,EAAE,sCAAsC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;SAC1E,CAAC;QACF,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,OAAO,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7E,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,IAAI,sBAAW,CAAC,0BAA0B,EAAE,6CAA6C,CAAC,CAAC;YACrG,CAAC;YACD,OAAO;gBACH,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,SAAS;gBAClB,QAAQ,EAAE;oBACN,EAAE,EAAE,QAAQ,CAAC,EAAE;iBAClB;aACJ,CAAC;QACN,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,IAAI;QAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3E,GAAG,CAAC,OAAO,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;QAC5C,IAAI,IAAI,CAAC;QACT,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,GAAG,SAAS,CAAC;QACrB,CAAC;aACI,CAAC;YACF,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC;YACD,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,cAAc,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,6BAAa,CAAC,yDAAyD,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc;YAC1B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3E,CAAC;aACI,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,MAAM,IAAI,6BAAa,CAAC,WAAW,cAAc,sBAAsB,CAAC,CAAC;YAC7E,CAAC;YACD,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,OAAO,UAAU,MAAM,EAAE,CAAC,CAAC;YAC5E,IAAI,KAAK,GAAG,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;gBAC9F,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACjD,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC9B,CAAC;YACL,CAAC;YACD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBAC7C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;oBACrB,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;gBACzF,IAAI,WAAW,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;oBACjD,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;gBAC9B,CAAC;YACL,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,IAAI,sBAAW,CAAC,kBAAkB,EAAE,mCAAmC,MAAM,GAAG,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,OAAO,GAAG;gBACZ,QAAQ,EAAE,MAAM;gBAChB,KAAK;aACR,CAAC;YACF,OAAO,IAAA,mCAAwB,EAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI;QAC3B,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3E,GAAG,CAAC,OAAO,CAAC,mBAAmB,OAAO,EAAE,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC;QACT,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,GAAG,SAAS,CAAC;QACrB,CAAC;aACI,CAAC;YACF,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC;YACD,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,cAAc,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,6BAAa,CAAC,yDAAyD,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc;YAC1B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3E,CAAC;aACI,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO;YACX,CAAC;YACD,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,OAAO,UAAU,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,IAAI;QAC3B,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3E,GAAG,CAAC,OAAO,CAAC,sBAAsB,OAAO,SAAS,CAAC,CAAC;QACpD,IAAI,IAAI,CAAC;QACT,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,GAAG,SAAS,CAAC;QACrB,CAAC;aACI,CAAC;YACF,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC;YACD,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,cAAc,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,6BAAa,CAAC,yDAAyD,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc;YAC1B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3E,CAAC;aACI,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,OAAO,UAAU,MAAM,EAAE,CAAC,CAAC;YAC/D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,KAAK,CAAC;YAClB,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC/C,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI;QACd,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvE,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAC/B,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,OAAO,QAAQ,CAAC,CAAC;YACnE,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACxB,MAAM,CAAC,IAAI,CAAC;wBACR,QAAQ,EAAE,IAAI,CAAC,QAAQ;wBACvB,IAAI,EAAE,IAAI,CAAC,KAAK;wBAChB,OAAO,EAAE,SAAS;wBAClB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;wBAChE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;wBAChE,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,IAAI,CAAC,EAAE;wBACnB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;qBAChE,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,IAAI;QAC7B,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/E,MAAM,OAAO,GAAG,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;QAC3E,GAAG,CAAC,OAAO,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC;QACT,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,GAAG,SAAS,CAAC;QACrB,CAAC;aACI,CAAC;YACF,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC;YACD,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,cAAc,GAAG,IAAA,8BAAmB,EAAC,IAAI,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,MAAM,IAAI,6BAAa,CAAC,yDAAyD,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,MAAM,CAAC;QACX,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc;YAC1B,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjD,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3E,CAAC;aACI,CAAC;YACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;YAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrB,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,OAAO,UAAU,MAAM,EAAE,CAAC,CAAC;YAC5E,MAAM,IAAI,GAAG;gBACT,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,cAAc;gBAClC,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBAChE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;gBAChE,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS;aAChE,CAAC;YACF,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,KAAK,CAAC;YAClB,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAC/C,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IACD,UAAU,CAAC,KAAK;QACZ,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,IAAI,eAAe,CAAC;QAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,OAAO,IAAI,sBAAW,CAAC,kBAAkB,EAAE,qBAAqB,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACvC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;YACjC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,sBAAW,CAAC,uBAAuB,EAAE,0BAA0B,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO,IAAI,sBAAW,CAAC,6BAA6B,EAAE,0BAA0B,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACpG,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,sBAAW,CAAC,mCAAmC,EAAE,sBAAsB,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,OAAO,IAAI,sBAAW,CAAC,8BAA8B,EAAE,iBAAiB,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;YACjC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC;YACpC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC;YACnC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,IAAI,sBAAW,CAAC,6BAA6B,EAAE,yBAAyB,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;QACnG,CAAC;QACD,OAAO,IAAI,sBAAW,CAAC,0BAA0B,EAAE,mBAAmB,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;IAC1F,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,IAAI;QACjB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG;YACZ,cAAc,EAAE,kBAAkB;SACrC,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3B,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACpE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,KAAK;YACb,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,IAAI,6BAAa,CAAC,wBAAwB,QAAQ,CAAC,MAAM,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI;QACxB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG;YACZ,cAAc,EAAE,kBAAkB;SACrC,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3B,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACpE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,MAAM;YACd,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,IAAI,6BAAa,CAAC,wBAAwB,QAAQ,CAAC,MAAM,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7G,CAAC;QACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IACD,KAAK,CAAC,aAAa,CAAC,IAAI;QACpB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG;YACZ,cAAc,EAAE,kBAAkB;SACrC,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC3B,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACpE,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,MAAM,EAAE,QAAQ;YAChB,OAAO;SACV,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,MAAM,IAAI,6BAAa,CAAC,wBAAwB,QAAQ,CAAC,MAAM,MAAM,SAAS,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7G,CAAC;IACL,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO;QAChC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,OAAO,QAAQ,CAAC,CAAC;YACtE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC9D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACL,CAAC;CACJ;AAtYD,4DAsYC;AACD,oDAAoD"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=
|
|
4
|
-
//# sourceMappingURL=
|
|
3
|
+
//# sourceMappingURL=OnePasswordSecretServiceConfig.js.map
|
|
4
|
+
//# sourceMappingURL=OnePasswordSecretServiceConfig.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets/onepassword/OnePasswordSecretServiceConfig.cjs","sourceRoot":"","sources":["secrets/onepassword/OnePasswordSecretServiceConfig.js"],"names":[],"mappings":";;AACA,0DAA0D"}
|
|
@@ -21,5 +21,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
*/
|
|
22
22
|
__exportStar(require("./OnePasswordSecretService.cjs"), exports);
|
|
23
23
|
__exportStar(require("./OnePasswordSecretServiceConfig.cjs"), exports);
|
|
24
|
-
//# sourceMappingURL=
|
|
25
|
-
//# sourceMappingURL=
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
25
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secrets/onepassword/index.cjs","sourceRoot":"","sources":["secrets/onepassword/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,gEAA8C;AAC9C,sEAAoD;AACpD,iCAAiC"}
|