@decaf-ts/ui-decorators 0.20.6 → 0.20.7
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/ui-decorators.cjs +1059 -2
- package/dist/ui-decorators.js +1090 -2
- package/lib/cjs/dashboard/constants.cjs +11 -0
- package/lib/cjs/dashboard/decorators.cjs +61 -0
- package/lib/cjs/dashboard/index.cjs +23 -0
- package/lib/cjs/dashboard/reader.cjs +67 -0
- package/lib/cjs/dashboard/registry.cjs +45 -0
- package/lib/cjs/dashboard/types.cjs +4 -0
- package/lib/cjs/graph/GraphExecutionStateMapper.cjs +2 -2
- package/lib/cjs/graph/GraphResolution.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphCredentialReference.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphIconReference.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodeCapability.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodeManifest.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphParameterBase.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphParameterOption.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphParameterValidation.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphPortManifest.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphValueSchema.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs +2 -2
- package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs +2 -2
- package/lib/cjs/graph/catalog/index.cjs +2 -2
- package/lib/cjs/graph/constants.cjs +2 -2
- package/lib/cjs/graph/decorators.cjs +2 -2
- package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs +2 -2
- package/lib/cjs/graph/document/GraphEdgeInstance.cjs +2 -2
- package/lib/cjs/graph/document/GraphEndpoint.cjs +2 -2
- package/lib/cjs/graph/document/GraphJsonValue.cjs +2 -2
- package/lib/cjs/graph/document/GraphLoopConfiguration.cjs +2 -2
- package/lib/cjs/graph/document/GraphNodeBinding.cjs +2 -2
- package/lib/cjs/graph/document/GraphNodeInstance.cjs +2 -2
- package/lib/cjs/graph/document/GraphWorkflowDocument.cjs +2 -2
- package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs +2 -2
- package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs +2 -2
- package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs +2 -2
- package/lib/cjs/graph/document/GraphWorkflowUiState.cjs +2 -2
- package/lib/cjs/graph/document/index.cjs +2 -2
- package/lib/cjs/graph/index.cjs +2 -2
- package/lib/cjs/graph/nodes/agents/agent.cjs +2 -2
- package/lib/cjs/graph/nodes/base.cjs +2 -2
- package/lib/cjs/graph/nodes/boundary/input-value.cjs +2 -2
- package/lib/cjs/graph/nodes/category-styles.cjs +2 -2
- package/lib/cjs/graph/nodes/flow-control/break.cjs +2 -2
- package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs +2 -2
- package/lib/cjs/graph/nodes/flow-control/human-approval.cjs +2 -2
- package/lib/cjs/graph/nodes/flow-control/if.cjs +2 -2
- package/lib/cjs/graph/nodes/flow-control/parallel.cjs +2 -2
- package/lib/cjs/graph/nodes/flow-control/switch.cjs +2 -2
- package/lib/cjs/graph/nodes/index.cjs +2 -2
- package/lib/cjs/graph/nodes/loops/foreach.cjs +2 -2
- package/lib/cjs/graph/nodes/loops/until.cjs +2 -2
- package/lib/cjs/graph/nodes/loops/while.cjs +2 -2
- package/lib/cjs/graph/nodes/manifests.cjs +2 -2
- package/lib/cjs/graph/nodes/triggers/chat.cjs +2 -2
- package/lib/cjs/graph/nodes/triggers/event.cjs +2 -2
- package/lib/cjs/graph/nodes/triggers/form.cjs +2 -2
- package/lib/cjs/graph/nodes/triggers/manual.cjs +2 -2
- package/lib/cjs/graph/nodes/triggers/schedule.cjs +2 -2
- package/lib/cjs/graph/nodes/triggers/webhook.cjs +2 -2
- package/lib/cjs/graph/nodes/utility/code.cjs +2 -2
- package/lib/cjs/graph/nodes/utility/delay.cjs +2 -2
- package/lib/cjs/graph/nodes/utility/log.cjs +2 -2
- package/lib/cjs/graph/nodes/utility/map.cjs +2 -2
- package/lib/cjs/graph/nodes/utility/merge.cjs +2 -2
- package/lib/cjs/graph/nodes/utility/return.cjs +2 -2
- package/lib/cjs/graph/nodes/utility/utility-log.cjs +2 -2
- package/lib/cjs/graph/overrides/Metadata.cjs +2 -2
- package/lib/cjs/graph/overrides/Rendering.cjs +2 -2
- package/lib/cjs/graph/overrides/index.cjs +2 -2
- package/lib/cjs/graph/overrides/overrides.cjs +2 -2
- package/lib/cjs/graph/reader.cjs +2 -2
- package/lib/cjs/graph/registry.cjs +2 -2
- package/lib/cjs/graph/snapshot.cjs +2 -2
- package/lib/cjs/graph/types.cjs +2 -2
- package/lib/cjs/index.cjs +6 -5
- package/lib/cjs/model/Renderable.cjs +2 -2
- package/lib/cjs/model/decorators.cjs +2 -2
- package/lib/cjs/model/index.cjs +2 -2
- package/lib/cjs/model/model.cjs +2 -2
- package/lib/cjs/model/overrides.cjs +2 -2
- package/lib/cjs/overrides/ModelBuilderExtensions.cjs +2 -2
- package/lib/cjs/overrides/index.cjs +2 -2
- package/lib/cjs/ui/DecafComponent.cjs +2 -2
- package/lib/cjs/ui/DecafEventHandler.cjs +2 -2
- package/lib/cjs/ui/DecafTranslateService.cjs +2 -2
- package/lib/cjs/ui/Rendering.cjs +2 -2
- package/lib/cjs/ui/UIValidator.cjs +2 -2
- package/lib/cjs/ui/constants.cjs +2 -2
- package/lib/cjs/ui/decorators.cjs +2 -2
- package/lib/cjs/ui/errors.cjs +2 -2
- package/lib/cjs/ui/index.cjs +2 -2
- package/lib/cjs/ui/interfaces/IDecafModal.cjs +2 -2
- package/lib/cjs/ui/interfaces/IDecafRouter.cjs +2 -2
- package/lib/cjs/ui/interfaces/IDecafSpinner.cjs +2 -2
- package/lib/cjs/ui/interfaces/IDecafToast.cjs +2 -2
- package/lib/cjs/ui/interfaces/index.cjs +2 -2
- package/lib/cjs/ui/overrides.cjs +2 -2
- package/lib/cjs/ui/types.cjs +2 -2
- package/lib/cjs/ui/utils.cjs +2 -2
- package/lib/cjs/ui/validator.cjs +2 -2
- package/lib/cjs/user-requests/UserRequestHandler.cjs +2 -2
- package/lib/cjs/user-requests/constants.cjs +2 -2
- package/lib/cjs/user-requests/decorators.cjs +2 -2
- package/lib/cjs/user-requests/errors.cjs +2 -2
- package/lib/cjs/user-requests/index.cjs +2 -2
- package/lib/cjs/user-requests/types.cjs +2 -2
- package/lib/esm/dashboard/constants.js +24 -0
- package/lib/esm/dashboard/decorators.js +57 -0
- package/lib/esm/dashboard/index.js +6 -0
- package/lib/esm/dashboard/reader.js +62 -0
- package/lib/esm/dashboard/registry.js +39 -0
- package/lib/esm/dashboard/types.js +9 -0
- package/lib/esm/graph/GraphExecutionStateMapper.js +1 -1
- package/lib/esm/graph/GraphResolution.js +1 -1
- package/lib/esm/graph/catalog/GraphConnectionPolicy.js +1 -1
- package/lib/esm/graph/catalog/GraphCredentialReference.js +1 -1
- package/lib/esm/graph/catalog/GraphCredentialRequirement.js +1 -1
- package/lib/esm/graph/catalog/GraphDynamicPortRule.js +1 -1
- package/lib/esm/graph/catalog/GraphIconReference.js +1 -1
- package/lib/esm/graph/catalog/GraphManifestCompiler.js +1 -1
- package/lib/esm/graph/catalog/GraphNodeCapability.js +1 -1
- package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js +1 -1
- package/lib/esm/graph/catalog/GraphNodeManifest.js +1 -1
- package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js +1 -1
- package/lib/esm/graph/catalog/GraphNodeMethodManifest.js +1 -1
- package/lib/esm/graph/catalog/GraphNodePolicyManifest.js +1 -1
- package/lib/esm/graph/catalog/GraphParameterBase.js +1 -1
- package/lib/esm/graph/catalog/GraphParameterDefinition.js +1 -1
- package/lib/esm/graph/catalog/GraphParameterOption.js +1 -1
- package/lib/esm/graph/catalog/GraphParameterValidation.js +1 -1
- package/lib/esm/graph/catalog/GraphPortManifest.js +1 -1
- package/lib/esm/graph/catalog/GraphResourceLocatorMode.js +1 -1
- package/lib/esm/graph/catalog/GraphValueSchema.js +1 -1
- package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js +1 -1
- package/lib/esm/graph/catalog/GraphVisibilityExpression.js +1 -1
- package/lib/esm/graph/catalog/index.js +1 -1
- package/lib/esm/graph/constants.js +1 -1
- package/lib/esm/graph/decorators.js +1 -1
- package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js +1 -1
- package/lib/esm/graph/document/GraphEdgeInstance.js +1 -1
- package/lib/esm/graph/document/GraphEndpoint.js +1 -1
- package/lib/esm/graph/document/GraphJsonValue.js +1 -1
- package/lib/esm/graph/document/GraphLoopConfiguration.js +1 -1
- package/lib/esm/graph/document/GraphNodeBinding.js +1 -1
- package/lib/esm/graph/document/GraphNodeInstance.js +1 -1
- package/lib/esm/graph/document/GraphWorkflowDocument.js +1 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js +1 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentReader.js +1 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js +1 -1
- package/lib/esm/graph/document/GraphWorkflowUiState.js +1 -1
- package/lib/esm/graph/document/index.js +1 -1
- package/lib/esm/graph/index.js +1 -1
- package/lib/esm/graph/nodes/agents/agent.js +1 -1
- package/lib/esm/graph/nodes/base.js +1 -1
- package/lib/esm/graph/nodes/boundary/input-value.js +1 -1
- package/lib/esm/graph/nodes/category-styles.js +1 -1
- package/lib/esm/graph/nodes/flow-control/break.js +1 -1
- package/lib/esm/graph/nodes/flow-control/error-boundary.js +1 -1
- package/lib/esm/graph/nodes/flow-control/human-approval.js +1 -1
- package/lib/esm/graph/nodes/flow-control/if.js +1 -1
- package/lib/esm/graph/nodes/flow-control/parallel.js +1 -1
- package/lib/esm/graph/nodes/flow-control/switch.js +1 -1
- package/lib/esm/graph/nodes/index.js +1 -1
- package/lib/esm/graph/nodes/loops/foreach.js +1 -1
- package/lib/esm/graph/nodes/loops/until.js +1 -1
- package/lib/esm/graph/nodes/loops/while.js +1 -1
- package/lib/esm/graph/nodes/manifests.js +1 -1
- package/lib/esm/graph/nodes/triggers/chat.js +1 -1
- package/lib/esm/graph/nodes/triggers/event.js +1 -1
- package/lib/esm/graph/nodes/triggers/form.js +1 -1
- package/lib/esm/graph/nodes/triggers/manual.js +1 -1
- package/lib/esm/graph/nodes/triggers/schedule.js +1 -1
- package/lib/esm/graph/nodes/triggers/webhook.js +1 -1
- package/lib/esm/graph/nodes/utility/code.js +1 -1
- package/lib/esm/graph/nodes/utility/delay.js +1 -1
- package/lib/esm/graph/nodes/utility/log.js +1 -1
- package/lib/esm/graph/nodes/utility/map.js +1 -1
- package/lib/esm/graph/nodes/utility/merge.js +1 -1
- package/lib/esm/graph/nodes/utility/return.js +1 -1
- package/lib/esm/graph/nodes/utility/utility-log.js +1 -1
- package/lib/esm/graph/overrides/Metadata.js +1 -1
- package/lib/esm/graph/overrides/Rendering.js +1 -1
- package/lib/esm/graph/overrides/index.js +1 -1
- package/lib/esm/graph/overrides/overrides.js +1 -1
- package/lib/esm/graph/reader.js +1 -1
- package/lib/esm/graph/registry.js +1 -1
- package/lib/esm/graph/snapshot.js +1 -1
- package/lib/esm/graph/types.js +1 -1
- package/lib/esm/index.js +5 -4
- package/lib/esm/model/Renderable.js +1 -1
- package/lib/esm/model/decorators.js +1 -1
- package/lib/esm/model/index.js +1 -1
- package/lib/esm/model/model.js +1 -1
- package/lib/esm/model/overrides.js +1 -1
- package/lib/esm/overrides/ModelBuilderExtensions.js +1 -1
- package/lib/esm/overrides/index.js +1 -1
- package/lib/esm/ui/DecafComponent.js +1 -1
- package/lib/esm/ui/DecafEventHandler.js +1 -1
- package/lib/esm/ui/DecafTranslateService.js +1 -1
- package/lib/esm/ui/Rendering.js +1 -1
- package/lib/esm/ui/UIValidator.js +1 -1
- package/lib/esm/ui/constants.js +1 -1
- package/lib/esm/ui/decorators.js +1 -1
- package/lib/esm/ui/errors.js +1 -1
- package/lib/esm/ui/index.js +1 -1
- package/lib/esm/ui/interfaces/IDecafModal.js +1 -1
- package/lib/esm/ui/interfaces/IDecafRouter.js +1 -1
- package/lib/esm/ui/interfaces/IDecafSpinner.js +1 -1
- package/lib/esm/ui/interfaces/IDecafToast.js +1 -1
- package/lib/esm/ui/interfaces/index.js +1 -1
- package/lib/esm/ui/overrides.js +1 -1
- package/lib/esm/ui/types.js +1 -1
- package/lib/esm/ui/utils.js +1 -1
- package/lib/esm/ui/validator.js +1 -1
- package/lib/esm/user-requests/UserRequestHandler.js +1 -1
- package/lib/esm/user-requests/constants.js +1 -1
- package/lib/esm/user-requests/decorators.js +1 -1
- package/lib/esm/user-requests/errors.js +1 -1
- package/lib/esm/user-requests/index.js +1 -1
- package/lib/esm/user-requests/types.js +1 -1
- package/lib/types/dashboard/constants.d.cts +22 -0
- package/lib/types/dashboard/constants.d.mts +22 -0
- package/lib/types/dashboard/decorators.d.cts +34 -0
- package/lib/types/dashboard/decorators.d.mts +34 -0
- package/lib/types/dashboard/index.d.cts +5 -0
- package/lib/types/dashboard/index.d.mts +5 -0
- package/lib/types/dashboard/reader.d.cts +30 -0
- package/lib/types/dashboard/reader.d.mts +30 -0
- package/lib/types/dashboard/registry.d.cts +29 -0
- package/lib/types/dashboard/registry.d.mts +29 -0
- package/lib/types/dashboard/types.d.cts +67 -0
- package/lib/types/dashboard/types.d.mts +67 -0
- package/lib/types/index.d.cts +4 -3
- package/lib/types/index.d.mts +4 -3
- package/package.json +1 -1
- package/dist/ui-decorators.cjs.map +0 -1
- package/dist/ui-decorators.js.map +0 -1
- package/lib/cjs/graph/GraphExecutionStateMapper.cjs.map +0 -1
- package/lib/cjs/graph/GraphResolution.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphConnectionPolicy.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphCredentialReference.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphCredentialRequirement.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphDynamicPortRule.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphIconReference.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphManifestCompiler.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodeCapability.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodeDisplayManifest.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodeManifest.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodeManifestSerialization.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodeMethodManifest.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphNodePolicyManifest.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphParameterBase.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphParameterDefinition.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphParameterOption.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphParameterValidation.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphPortManifest.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphResourceLocatorMode.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphValueSchema.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphValueSchemaDerivation.cjs.map +0 -1
- package/lib/cjs/graph/catalog/GraphVisibilityExpression.cjs.map +0 -1
- package/lib/cjs/graph/catalog/index.cjs.map +0 -1
- package/lib/cjs/graph/constants.cjs.map +0 -1
- package/lib/cjs/graph/decorators.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphDecoratedWorkflowCompiler.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphEdgeInstance.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphEndpoint.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphJsonValue.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphLoopConfiguration.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphNodeBinding.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphNodeInstance.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphWorkflowDocument.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphWorkflowDocumentBuilder.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphWorkflowDocumentReader.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphWorkflowDocumentSerializer.cjs.map +0 -1
- package/lib/cjs/graph/document/GraphWorkflowUiState.cjs.map +0 -1
- package/lib/cjs/graph/document/index.cjs.map +0 -1
- package/lib/cjs/graph/index.cjs.map +0 -1
- package/lib/cjs/graph/nodes/agents/agent.cjs.map +0 -1
- package/lib/cjs/graph/nodes/base.cjs.map +0 -1
- package/lib/cjs/graph/nodes/boundary/input-value.cjs.map +0 -1
- package/lib/cjs/graph/nodes/category-styles.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/break.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/error-boundary.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/human-approval.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/if.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/parallel.cjs.map +0 -1
- package/lib/cjs/graph/nodes/flow-control/switch.cjs.map +0 -1
- package/lib/cjs/graph/nodes/index.cjs.map +0 -1
- package/lib/cjs/graph/nodes/loops/foreach.cjs.map +0 -1
- package/lib/cjs/graph/nodes/loops/until.cjs.map +0 -1
- package/lib/cjs/graph/nodes/loops/while.cjs.map +0 -1
- package/lib/cjs/graph/nodes/manifests.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/chat.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/event.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/form.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/manual.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/schedule.cjs.map +0 -1
- package/lib/cjs/graph/nodes/triggers/webhook.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/code.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/delay.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/log.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/map.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/merge.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/return.cjs.map +0 -1
- package/lib/cjs/graph/nodes/utility/utility-log.cjs.map +0 -1
- package/lib/cjs/graph/overrides/Metadata.cjs.map +0 -1
- package/lib/cjs/graph/overrides/Rendering.cjs.map +0 -1
- package/lib/cjs/graph/overrides/index.cjs.map +0 -1
- package/lib/cjs/graph/overrides/overrides.cjs.map +0 -1
- package/lib/cjs/graph/reader.cjs.map +0 -1
- package/lib/cjs/graph/registry.cjs.map +0 -1
- package/lib/cjs/graph/snapshot.cjs.map +0 -1
- package/lib/cjs/graph/types.cjs.map +0 -1
- package/lib/cjs/index.cjs.map +0 -1
- package/lib/cjs/model/Renderable.cjs.map +0 -1
- package/lib/cjs/model/decorators.cjs.map +0 -1
- package/lib/cjs/model/index.cjs.map +0 -1
- package/lib/cjs/model/model.cjs.map +0 -1
- package/lib/cjs/model/overrides.cjs.map +0 -1
- package/lib/cjs/overrides/ModelBuilderExtensions.cjs.map +0 -1
- package/lib/cjs/overrides/index.cjs.map +0 -1
- package/lib/cjs/ui/DecafComponent.cjs.map +0 -1
- package/lib/cjs/ui/DecafEventHandler.cjs.map +0 -1
- package/lib/cjs/ui/DecafTranslateService.cjs.map +0 -1
- package/lib/cjs/ui/Rendering.cjs.map +0 -1
- package/lib/cjs/ui/UIValidator.cjs.map +0 -1
- package/lib/cjs/ui/constants.cjs.map +0 -1
- package/lib/cjs/ui/decorators.cjs.map +0 -1
- package/lib/cjs/ui/errors.cjs.map +0 -1
- package/lib/cjs/ui/index.cjs.map +0 -1
- package/lib/cjs/ui/interfaces/IDecafModal.cjs.map +0 -1
- package/lib/cjs/ui/interfaces/IDecafRouter.cjs.map +0 -1
- package/lib/cjs/ui/interfaces/IDecafSpinner.cjs.map +0 -1
- package/lib/cjs/ui/interfaces/IDecafToast.cjs.map +0 -1
- package/lib/cjs/ui/interfaces/index.cjs.map +0 -1
- package/lib/cjs/ui/overrides.cjs.map +0 -1
- package/lib/cjs/ui/types.cjs.map +0 -1
- package/lib/cjs/ui/utils.cjs.map +0 -1
- package/lib/cjs/ui/validator.cjs.map +0 -1
- package/lib/cjs/user-requests/UserRequestHandler.cjs.map +0 -1
- package/lib/cjs/user-requests/constants.cjs.map +0 -1
- package/lib/cjs/user-requests/decorators.cjs.map +0 -1
- package/lib/cjs/user-requests/errors.cjs.map +0 -1
- package/lib/cjs/user-requests/index.cjs.map +0 -1
- package/lib/cjs/user-requests/types.cjs.map +0 -1
- package/lib/esm/graph/GraphExecutionStateMapper.js.map +0 -1
- package/lib/esm/graph/GraphResolution.js.map +0 -1
- package/lib/esm/graph/catalog/GraphConnectionPolicy.js.map +0 -1
- package/lib/esm/graph/catalog/GraphCredentialReference.js.map +0 -1
- package/lib/esm/graph/catalog/GraphCredentialRequirement.js.map +0 -1
- package/lib/esm/graph/catalog/GraphDynamicPortRule.js.map +0 -1
- package/lib/esm/graph/catalog/GraphIconReference.js.map +0 -1
- package/lib/esm/graph/catalog/GraphManifestCompiler.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodeCapability.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodeDisplayManifest.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodeManifest.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodeManifestSerialization.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodeMethodManifest.js.map +0 -1
- package/lib/esm/graph/catalog/GraphNodePolicyManifest.js.map +0 -1
- package/lib/esm/graph/catalog/GraphParameterBase.js.map +0 -1
- package/lib/esm/graph/catalog/GraphParameterDefinition.js.map +0 -1
- package/lib/esm/graph/catalog/GraphParameterOption.js.map +0 -1
- package/lib/esm/graph/catalog/GraphParameterValidation.js.map +0 -1
- package/lib/esm/graph/catalog/GraphPortManifest.js.map +0 -1
- package/lib/esm/graph/catalog/GraphResourceLocatorMode.js.map +0 -1
- package/lib/esm/graph/catalog/GraphValueSchema.js.map +0 -1
- package/lib/esm/graph/catalog/GraphValueSchemaDerivation.js.map +0 -1
- package/lib/esm/graph/catalog/GraphVisibilityExpression.js.map +0 -1
- package/lib/esm/graph/catalog/index.js.map +0 -1
- package/lib/esm/graph/constants.js.map +0 -1
- package/lib/esm/graph/decorators.js.map +0 -1
- package/lib/esm/graph/document/GraphDecoratedWorkflowCompiler.js.map +0 -1
- package/lib/esm/graph/document/GraphEdgeInstance.js.map +0 -1
- package/lib/esm/graph/document/GraphEndpoint.js.map +0 -1
- package/lib/esm/graph/document/GraphJsonValue.js.map +0 -1
- package/lib/esm/graph/document/GraphLoopConfiguration.js.map +0 -1
- package/lib/esm/graph/document/GraphNodeBinding.js.map +0 -1
- package/lib/esm/graph/document/GraphNodeInstance.js.map +0 -1
- package/lib/esm/graph/document/GraphWorkflowDocument.js.map +0 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentBuilder.js.map +0 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentReader.js.map +0 -1
- package/lib/esm/graph/document/GraphWorkflowDocumentSerializer.js.map +0 -1
- package/lib/esm/graph/document/GraphWorkflowUiState.js.map +0 -1
- package/lib/esm/graph/document/index.js.map +0 -1
- package/lib/esm/graph/index.js.map +0 -1
- package/lib/esm/graph/nodes/agents/agent.js.map +0 -1
- package/lib/esm/graph/nodes/base.js.map +0 -1
- package/lib/esm/graph/nodes/boundary/input-value.js.map +0 -1
- package/lib/esm/graph/nodes/category-styles.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/break.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/error-boundary.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/human-approval.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/if.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/parallel.js.map +0 -1
- package/lib/esm/graph/nodes/flow-control/switch.js.map +0 -1
- package/lib/esm/graph/nodes/index.js.map +0 -1
- package/lib/esm/graph/nodes/loops/foreach.js.map +0 -1
- package/lib/esm/graph/nodes/loops/until.js.map +0 -1
- package/lib/esm/graph/nodes/loops/while.js.map +0 -1
- package/lib/esm/graph/nodes/manifests.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/chat.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/event.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/form.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/manual.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/schedule.js.map +0 -1
- package/lib/esm/graph/nodes/triggers/webhook.js.map +0 -1
- package/lib/esm/graph/nodes/utility/code.js.map +0 -1
- package/lib/esm/graph/nodes/utility/delay.js.map +0 -1
- package/lib/esm/graph/nodes/utility/log.js.map +0 -1
- package/lib/esm/graph/nodes/utility/map.js.map +0 -1
- package/lib/esm/graph/nodes/utility/merge.js.map +0 -1
- package/lib/esm/graph/nodes/utility/return.js.map +0 -1
- package/lib/esm/graph/nodes/utility/utility-log.js.map +0 -1
- package/lib/esm/graph/overrides/Metadata.js.map +0 -1
- package/lib/esm/graph/overrides/Rendering.js.map +0 -1
- package/lib/esm/graph/overrides/index.js.map +0 -1
- package/lib/esm/graph/overrides/overrides.js.map +0 -1
- package/lib/esm/graph/reader.js.map +0 -1
- package/lib/esm/graph/registry.js.map +0 -1
- package/lib/esm/graph/snapshot.js.map +0 -1
- package/lib/esm/graph/types.js.map +0 -1
- package/lib/esm/index.js.map +0 -1
- package/lib/esm/model/Renderable.js.map +0 -1
- package/lib/esm/model/decorators.js.map +0 -1
- package/lib/esm/model/index.js.map +0 -1
- package/lib/esm/model/model.js.map +0 -1
- package/lib/esm/model/overrides.js.map +0 -1
- package/lib/esm/overrides/ModelBuilderExtensions.js.map +0 -1
- package/lib/esm/overrides/index.js.map +0 -1
- package/lib/esm/ui/DecafComponent.js.map +0 -1
- package/lib/esm/ui/DecafEventHandler.js.map +0 -1
- package/lib/esm/ui/DecafTranslateService.js.map +0 -1
- package/lib/esm/ui/Rendering.js.map +0 -1
- package/lib/esm/ui/UIValidator.js.map +0 -1
- package/lib/esm/ui/constants.js.map +0 -1
- package/lib/esm/ui/decorators.js.map +0 -1
- package/lib/esm/ui/errors.js.map +0 -1
- package/lib/esm/ui/index.js.map +0 -1
- package/lib/esm/ui/interfaces/IDecafModal.js.map +0 -1
- package/lib/esm/ui/interfaces/IDecafRouter.js.map +0 -1
- package/lib/esm/ui/interfaces/IDecafSpinner.js.map +0 -1
- package/lib/esm/ui/interfaces/IDecafToast.js.map +0 -1
- package/lib/esm/ui/interfaces/index.js.map +0 -1
- package/lib/esm/ui/overrides.js.map +0 -1
- package/lib/esm/ui/types.js.map +0 -1
- package/lib/esm/ui/utils.js.map +0 -1
- package/lib/esm/ui/validator.js.map +0 -1
- package/lib/esm/user-requests/UserRequestHandler.js.map +0 -1
- package/lib/esm/user-requests/constants.js.map +0 -1
- package/lib/esm/user-requests/decorators.js.map +0 -1
- package/lib/esm/user-requests/errors.js.map +0 -1
- package/lib/esm/user-requests/index.js.map +0 -1
- package/lib/esm/user-requests/types.js.map +0 -1
|
@@ -196,4 +196,4 @@ export class DecafComponent extends LoggedClass {
|
|
|
196
196
|
return result;
|
|
197
197
|
}
|
|
198
198
|
}
|
|
199
|
-
//# sourceMappingURL=DecafComponent.js.map
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjYWZDb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvRGVjYWZDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBUWhELE9BQU8sRUFBZSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUdyRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQWdCO0FBSTdDOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixjQUFnQyxTQUFRLFdBQVc7SUFrUXZFO1FBQ0UsS0FBSyxFQUFFLENBQUM7UUF4SVY7Ozs7Ozs7V0FPRztRQUNPLG1CQUFjLEdBQVksSUFBSSxDQUFDO1FBRXpDOzs7Ozs7O1dBT0c7UUFDTyxlQUFVLEdBQVksS0FBSyxDQUFDO1FBV3RDOzs7Ozs7O1dBT0c7UUFDSCxTQUFJLEdBQTRCLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBRTVDOzs7Ozs7O1dBT0c7UUFDSCxVQUFLLEdBQTRCLEVBQUUsQ0FBQztRQUVwQzs7Ozs7O1dBTUc7UUFDSCxVQUFLLEdBQVksRUFBRSxDQUFDO1FBRXBCOzs7O1dBSUc7UUFDSCxZQUFPLEdBQVksS0FBSyxDQUFDO1FBeUJ6Qjs7Ozs7Ozs7V0FRRztRQUNnQixrQkFBYSxHQUFHLGFBQWEsQ0FBQztRQXlCakQ7Ozs7OztXQU1HO1FBQ08sZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFN0IsV0FBTSxHQUFvQixFQUFFLENBQUM7UUFFN0IsYUFBUSxHQUFvQixFQUFFLENBQUM7SUFJekMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQTZCLENBQUM7SUFDNUMsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLFVBQTBCO1FBQ3ZDLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFD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LE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNDLE1BQU0sSUFBSSxHQUFHLEdBQWEsQ0FBQztZQUMzQixNQUFNLEdBQUcsR0FBSSxFQUFxQixFQUFFLENBQUM7WUFDckMsSUFBSSxrQkFBa0IsQ0FBSSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUMvQixNQUFNLEVBQUUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDLEdBQWMsQ0FBbUIsQ0FBQztnQkFDdkQsSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDUCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNsQixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDN0IsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUM3QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dnZWRDbGFzcyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuaW1wb3J0IHtcbiAgQ3J1ZE9wZXJhdGlvbktleXMsXG4gIFVJRXZlbnRIYW5kbGVyLFxuICBVSUV2ZW50UHJvcGVydHksXG4gIFVJRnVuY3Rpb25MaWtlLFxufSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBJUmVwb3NpdG9yeSwgT3BlcmF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuaW1wb3J0IHsgRGVjYWZFdmVudEhhbmRsZXIgfSBmcm9tIFwiLi9EZWNhZkV2ZW50SGFuZGxlclwiO1xuaW1wb3J0IHsgRGVjYWZUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4vRGVjYWZUcmFuc2xhdGVTZXJ2aWNlXCI7XG5pbXBvcnQgeyBpc0NsYXNzQ29uc3RydWN0b3IgfSBmcm9tIFwiLi91dGlsc1wiO1xuXG50eXBlIFByaW1hcnlLZXlUeXBlID0gc3RyaW5nIHwgbnVtYmVyIHwgYmlnaW50O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBCYXNlIGNsYXNzIGZvciBhbGwgRGVjYWYgVUkgY29tcG9uZW50c1xuICogQHN1bW1hcnkgQmFzZSBjbGFzcyBmb3IgYWxsIERlY2FmIFVJIGNvbXBvbmVudHMsIHByb3ZpZGluZyBjb21tb24gc3RhdGUgbWFuYWdlbWVudCxcbiAqIGxvZ2dpbmcsIGxvY2FsaXphdGlvbiwgbmF2aWdhdGlvbiBob29rcywgQ1JVRCBjb250ZXh0IG1ldGFkYXRhLCBhbmRcbiAqIHJlcG9zaXRvcnkgaW50ZWdyYXRpb24gdXNlZCBieSBoaWdoZXItbGV2ZWwgZGVjb3JhdG9ycyBhbmQgcmVuZGVyZXJzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGVjYWZDb21wb25lbnQ8TSBleHRlbmRzIE1vZGVsPiBleHRlbmRzIExvZ2dlZENsYXNzIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEYXRhIG1vZGVsIG9yIG1vZGVsIG5hbWUgZm9yIGNvbXBvbmVudCBvcGVyYXRpb25zLlxuICAgKiBAc3VtbWFyeSBUaGUgZGF0YSBtb2RlbCB0aGF0IHRoaXMgY29tcG9uZW50IHdpbGwgdXNlIGZvciBDUlVEIG9wZXJhdGlvbnMuIFRoaXMgY2FuIGJlIHByb3ZpZGVkXG4gICAqIGFzIGEgTW9kZWwgaW5zdGFuY2UsIGEgbW9kZWwgY29uc3RydWN0b3IsIG9yIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUgbW9kZWwncyByZWdpc3RlcmVkIG5hbWUuXG4gICAqIFdoZW4gc2V0LCB0aGlzIHByb3BlcnR5IHByb3ZpZGVzIHRoZSBjb21wb25lbnQgd2l0aCBhY2Nlc3MgdG8gdGhlIG1vZGVsJ3Mgc2NoZW1hLCB2YWxpZGF0aW9uIHJ1bGVzLFxuICAgKiBhbmQgbWV0YWRhdGEgbmVlZGVkIGZvciByZW5kZXJpbmcgYW5kIGRhdGEgb3BlcmF0aW9ucy5cbiAgICovXG4gIG1vZGVsITogTSB8IE1vZGVsIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUHJpbWFyeSBrZXkgdmFsdWUgb2YgdGhlIGN1cnJlbnQgbW9kZWwgaW5zdGFuY2UuXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgcHJpbWFyeSBrZXkgdmFsdWUgZm9yIHRoZSBjdXJyZW50IG1vZGVsIHJlY29yZCBiZWluZyBkaXNwbGF5ZWQgb3JcbiAgICogbWFuaXB1bGF0ZWQgYnkgdGhlIGNvbXBvbmVudC4gVGhpcyBpZGVudGlmaWVyIGlzIHVzZWQgZm9yIENSVUQgb3BlcmF0aW9ucyB0aGF0IHRhcmdldFxuICAgKiBzcGVjaWZpYyByZWNvcmRzLCBzdWNoIGFzIHJlYWQsIHVwZGF0ZSwgYW5kIGRlbGV0ZSBvcGVyYXRpb25zLiBUaGUgdmFsdWUgY29ycmVzcG9uZHMgdG9cbiAgICogdGhlIGZpZWxkIGRlc2lnbmF0ZWQgYXMgdGhlIHByaW1hcnkga2V5IGluIHRoZSBtb2RlbCBkZWZpbml0aW9uLlxuICAgKi9cbiAgbW9kZWxJZD86IFByaW1hcnlLZXlUeXBlIHwgUHJpbWFyeUtleVR5cGVbXTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByZS1idWlsdCBmaWx0ZXJpbmcgZXhwcmVzc2lvbiBhcHBsaWVkIHRvIHJlcG9zaXRvcnkgcXVlcmllcy5cbiAgICogQHN1bW1hcnkgU3VwcGx5IGEgY3VzdG9tIGBBdHRyaWJ1dGVPcHRpb25gIHRvIGNvbnRyb2wgaG93IHJlY29yZHMgYXJlIGNvbnN0cmFpbmVkLiBXaGVuIG9taXR0ZWQsXG4gICAqIHRoZSBkaXJlY3RpdmUgZGVyaXZlcyBhIGNvbmRpdGlvbiBmcm9tIGBmaWx0ZXJCeWAgb3IgYHBrYCwgY29tcGFyaW5nIGl0IGFnYWluc3QgYG1vZGVsSWRgLlxuICAgKi9cbiAgZmlsdGVyITogYW55O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTW9kZWwgZmllbGQgdXNlZCB3aGVuIGdlbmVyYXRpbmcgdGhlIGRlZmF1bHQgY29uZGl0aW9uLlxuICAgKiBAc3VtbWFyeSBJbmRpY2F0ZXMgd2hpY2gga2V5IHNob3VsZCBiZSBjb21wYXJlZCB0byBgbW9kZWxJZGAgd2hlbiBgZmlsdGVyYCBpcyBub3QgcHJvdmlkZWQuXG4gICAqIERlZmF1bHRzIHRvIHRoZSBjb25maWd1cmVkIHByaW1hcnkga2V5IHNvIG92ZXJyaWRlcyBhcmUgb25seSBuZWVkZWQgZm9yIGN1c3RvbSBsb29rdXBzLlxuICAgKi9cbiAgZmlsdGVyQnkhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBUaGUgQ1JVRCBvcGVyYXRpb24gdHlwZSB0byBiZSBwZXJmb3JtZWQgb24gdGhlIG1vZGVsLlxuICAgKiBAc3VtbWFyeSBTcGVjaWZpZXMgd2hpY2ggb3BlcmF0aW9uIChDcmVhdGUsIFJlYWQsIFVwZGF0ZSwgRGVsZXRlKSB0aGlzIGNvbXBvbmVudCBpbnN0YW5jZVxuICAgKiBzaG91bGQgcGVyZm9ybS4gVGhpcyBkZXRlcm1pbmVzIHRoZSBVSSBiZWhhdmlvciwgZm9ybSBjb25maWd1cmF0aW9uLCBhbmQgYXZhaWxhYmxlIGFjdGlvbnMuXG4gICAqIFRoZSBvcGVyYXRpb24gYWZmZWN0cyBmb3JtIHZhbGlkYXRpb24sIGZpZWxkIGF2YWlsYWJpbGl0eSwgYW5kIHRoZSBzcGVjaWZpYyByZXBvc2l0b3J5XG4gICAqIG1ldGhvZCBjYWxsZWQgZHVyaW5nIGRhdGEgc3VibWlzc2lvbi5cbiAgICpcbiAgICogQHR5cGUge09wZXJhdGlvbktleXN9XG4gICAqL1xuICBvcGVyYXRpb24/OiBPcGVyYXRpb25LZXlzO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUm91dGVyIGluc3RhbmNlIGZvciBwcm9ncmFtbWF0aWMgbmF2aWdhdGlvbi5cbiAgICogQHN1bW1hcnkgSW5qZWN0ZWQgUm91dGVyIHNlcnZpY2UgdXNlZCBmb3IgcHJvZ3JhbW1hdGljIG5hdmlnYXRpb24gYmV0d2VlbiByb3V0ZXNcbiAgICogaW4gdGhlIGFwcGxpY2F0aW9uLiBUaGlzIHNlcnZpY2UgZW5hYmxlcyBuYXZpZ2F0aW9uIHRvIGRpZmZlcmVudCB2aWV3cyBhbmQgb3BlcmF0aW9ucyxcbiAgICogaGFuZGxlcyByb3V0ZSBwYXJhbWV0ZXJzLCBhbmQgbWFuYWdlcyB0aGUgYnJvd3NlcidzIG5hdmlnYXRpb24gaGlzdG9yeS5cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcm91dGVyPzogYW55O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTmFtZSBpZGVudGlmaWVyIGZvciB0aGUgY29tcG9uZW50IGluc3RhbmNlLlxuICAgKiBAc3VtbWFyeSBQcm92aWRlcyBhIHN0cmluZyBpZGVudGlmaWVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gbmFtZSBvciBsYWJlbCB0aGUgY29tcG9uZW50XG4gICAqIGluc3RhbmNlLiBUaGlzIG5hbWUgY2FuIGJlIHVzZWQgZm9yIGRlYnVnZ2luZyBwdXJwb3NlcywgbG9nZ2luZywgb3IgdG8gaWRlbnRpZnkgc3BlY2lmaWNcbiAgICogY29tcG9uZW50IGluc3RhbmNlcyB3aXRoaW4gYSBsYXJnZXIgYXBwbGljYXRpb24gc3RydWN0dXJlLiBJdCBzZXJ2ZXMgYXMgYSBodW1hbi1yZWFkYWJsZVxuICAgKiBpZGVudGlmaWVyIHRoYXQgaGVscHMgZGlzdGluZ3Vpc2ggYmV0d2VlbiBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgdGhlIHNhbWUgY29tcG9uZW50IHR5cGUuXG4gICAqL1xuICBuYW1lITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUGFyZW50IGNvbXBvbmVudCBpZGVudGlmaWVyIGZvciBoaWVyYXJjaGljYWwgY29tcG9uZW50IHJlbGF0aW9uc2hpcHMuXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgaWRlbnRpZmllciBvZiB0aGUgcGFyZW50IGNvbXBvbmVudCBpbiBhIGhpZXJhcmNoaWNhbCBjb21wb25lbnQgc3RydWN0dXJlLlxuICAgKiBUaGlzIHByb3BlcnR5IGVzdGFibGlzaGVzIGEgcGFyZW50LWNoaWxkIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGNvbXBvbmVudHMsIGFsbG93aW5nIGZvclxuICAgKiBwcm9wZXIgbmVzdGluZyBhbmQgb3JnYW5pemF0aW9uIG9mIGNvbXBvbmVudHMgd2l0aGluIGEgbGF5b3V0LiBJdCBjYW4gYmUgdXNlZCB0byB0cmFja1xuICAgKiBjb21wb25lbnQgZGVwZW5kZW5jaWVzIGFuZCBlc3RhYmxpc2ggY29tcG9uZW50IGhpZXJhcmNoaWVzIGZvciByZW5kZXJpbmcgYW5kIGV2ZW50IHByb3BhZ2F0aW9uLlxuICAgKi9cbiAgY2hpbGRPZiE6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY29tcG9uZW50IGluc3RhbmNlLlxuICAgKiBAc3VtbWFyeSBBIHVuaXF1ZSBpZGVudGlmaWVyIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGZvciBlYWNoIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICogVGhpcyBVSUQgaXMgdXNlZCBmb3IgRE9NIGVsZW1lbnQgaWRlbnRpZmljYXRpb24sIGNvbXBvbmVudCB0cmFja2luZywgYW5kIGRlYnVnZ2luZyBwdXJwb3Nlcy5cbiAgICogQnkgZGVmYXVsdCwgaXQgZ2VuZXJhdGVzIGEgcmFuZG9tIDE2LWNoYXJhY3RlciB2YWx1ZSwgYnV0IGl0IGNhbiBiZSBleHBsaWNpdGx5IHNldCB2aWEgaW5wdXQuXG4gICAqL1xuICB1aWQ/OiBQcmltYXJ5S2V5VHlwZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByaW1hcnkga2V5IGZpZWxkIG5hbWUgZm9yIHRoZSBkYXRhIG1vZGVsLlxuICAgKiBAc3VtbWFyeSBTcGVjaWZpZXMgd2hpY2ggZmllbGQgaW4gdGhlIG1vZGVsIHNob3VsZCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGtleS5cbiAgICogVGhpcyBpcyB0eXBpY2FsbHkgdXNlZCBmb3IgaWRlbnRpZnlpbmcgdW5pcXVlIHJlY29yZHMgaW4gb3BlcmF0aW9ucyBsaWtlIHVwZGF0ZSBhbmQgZGVsZXRlLlxuICAgKiBJZiBub3QgZXhwbGljaXRseSBzZXQsIGl0IGRlZmF1bHRzIHRvIHRoZSByZXBvc2l0b3J5J3MgY29uZmlndXJlZCBwcmltYXJ5IGtleSBvciAnaWQnLlxuMSAgICovXG4gIHBrITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVHJhbnNsYXRpb24gc2VydmljZSBmb3IgYXBwbGljYXRpb24gaW50ZXJuYXRpb25hbGl6YXRpb24uXG4gICAqIEBzdW1tYXJ5IEluamVjdGVkIHNlcnZpY2UgdGhhdCBwcm92aWRlcyB0cmFuc2xhdGlvbiBjYXBhYmlsaXRpZXMgZm9yIFVJIHRleHQuXG4gICAqIFVzZWQgdG8gdHJhbnNsYXRlIGJ1dHRvbiBsYWJlbHMsIHZhbGlkYXRpb24gbWVzc2FnZXMsIGFuZCBvdGhlciB0ZXh0IGNvbnRlbnQgYmFzZWRcbiAgICogb24gdGhlIGN1cnJlbnQgbG9jYWxlIHNldHRpbmcsIGVuYWJsaW5nIG11bHRpbGluZ3VhbCBzdXBwb3J0IHRocm91Z2hvdXQgdGhlIGFwcGxpY2F0aW9uLlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICB0cmFuc2xhdGVTZXJ2aWNlITogRGVjYWZUcmFuc2xhdGVTZXJ2aWNlO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQW5ndWxhciBjaGFuZ2UgZGV0ZWN0aW9uIHNlcnZpY2UgZm9yIG1hbnVhbCBjaGFuZ2UgZGV0ZWN0aW9uIGNvbnRyb2wuXG4gICAqIEBzdW1tYXJ5IEluamVjdGVkIHNlcnZpY2UgdGhhdCBwcm92aWRlcyBtYW51YWwgY29udHJvbCBvdmVyIGNoYW5nZSBkZXRlY3Rpb24gY3ljbGVzLlxuICAgKiBUaGlzIGlzIGVzc2VudGlhbCBmb3IgZW5zdXJpbmcgdGhhdCBwcm9ncmFtbWF0aWMgRE9NIGNoYW5nZXMgKGxpa2Ugc2V0dGluZyBhY2NvcmRpb25cbiAgICogYXR0cmlidXRlcykgYXJlIHByb3Blcmx5IHJlZmxlY3RlZCBpbiB0aGUgY29tcG9uZW50J3Mgc3RhdGUgYW5kIHRyaWdnZXIgYXBwcm9wcmlhdGVcbiAgICogdmlldyB1cGRhdGVzIHdoZW4gbW9kaWZpY2F0aW9ucyBvY2N1ciBvdXRzaWRlIHRoZSBub3JtYWwgQW5ndWxhciBjaGFuZ2UgZGV0ZWN0aW9uIGZsb3cuXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZj86IGFueTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbnRyb2xzIGZpZWxkIHZpc2liaWxpdHkgYmFzZWQgb24gQ1JVRCBvcGVyYXRpb25zLlxuICAgKiBAc3VtbWFyeSBDYW4gYmUgYSBib29sZWFuIG9yIGFuIGFycmF5IG9mIG9wZXJhdGlvbiBrZXlzIHdoZXJlIHRoZSBmaWVsZCBzaG91bGQgYmUgaGlkZGVuLlxuICAgKi9cbiAgaGlkZGVuPzogYm9vbGVhbiB8IENydWRPcGVyYXRpb25LZXlzW107XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBMYWJlbCBmb3IgdGhlIGZpbGUgdXBsb2FkIGZpZWxkLlxuICAgKiBAc3VtbWFyeSBQcm92aWRlcyBhIHVzZXItZnJpZW5kbHkgbGFiZWwgZm9yIHRoZSBmaWxlIHVwbG9hZCBpbnB1dC5cbiAgICovXG4gIGxhYmVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gV2hldGhlciB0aGUgZmllbGQgaXMgcmVhZC1vbmx5LlxuICAgKi9cbiAgcmVhZG9ubHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmxhZyB0byBlbmFibGUgb3IgZGlzYWJsZSBkYXJrIG1vZGUgc3VwcG9ydCBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICogQHN1bW1hcnkgV2hlbiBlbmFibGVkLCB0aGUgY29tcG9uZW50IHdpbGwgYXV0b21hdGljYWxseSBkZXRlY3QgdGhlIHN5c3RlbSdzIGRhcmsgbW9kZVxuICAgKiBwcmVmZXJlbmNlIHVzaW5nIHRoZSBtZWRpYSBzZXJ2aWNlIGFuZCBhcHBseSBhcHByb3ByaWF0ZSBzdHlsaW5nIGNsYXNzZXMuIFRoaXMgZmxhZ1xuICAgKiBjb250cm9scyB3aGV0aGVyIHRoZSBjb21wb25lbnQgc2hvdWxkIHJlc3BvbmQgdG8gZGFyayBtb2RlIGNoYW5nZXMgYW5kIGFwcGx5IHRoZVxuICAgKiBkYXJrIHBhbGV0dGUgY2xhc3MgdG8gaXRzIERPTSBlbGVtZW50LiBCeSBkZWZhdWx0LCBkYXJrIG1vZGUgc3VwcG9ydCBpcyBkaXNhYmxlZC5cbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGVuYWJsZURhcmtNb2RlOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZsYWcgdG8gZW5hYmxlIG9yIGRpc2FibGUgZGFyayBtb2RlIHN1cHBvcnQgZm9yIHRoZSBjb21wb25lbnQuXG4gICAqIEBzdW1tYXJ5IFdoZW4gZW5hYmxlZCwgdGhlIGNvbXBvbmVudCB3aWxsIGF1dG9tYXRpY2FsbHkgZGV0ZWN0IHRoZSBzeXN0ZW0ncyBkYXJrIG1vZGVcbiAgICogcHJlZmVyZW5jZSB1c2luZyB0aGUgbWVkaWEgc2VydmljZSBhbmQgYXBwbHkgYXBwcm9wcmlhdGUgc3R5bGluZyBjbGFzc2VzLiBUaGlzIGZsYWdcbiAgICogY29udHJvbHMgd2hldGhlciB0aGUgY29tcG9uZW50IHNob3VsZCByZXNwb25kIHRvIGRhcmsgbW9kZSBjaGFuZ2VzIGFuZCBhcHBseSB0aGVcbiAgICogZGFyayBwYWxldHRlIGNsYXNzIHRvIGl0cyBET00gZWxlbWVudC4gQnkgZGVmYXVsdCwgZGFyayBtb2RlIHN1cHBvcnQgaXMgZGlzYWJsZWQuXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBpc0RhcmtNb2RlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDdXJyZW50IGxvY2FsZSBpZGVudGlmaWVyIGZvciBjb21wb25lbnQgaW50ZXJuYXRpb25hbGl6YXRpb24uXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgbG9jYWxlIGNvZGUgKGUuZy4sICdlbi1VUycsICdwdC1CUicpIHVzZWQgZm9yIHRyYW5zbGF0aW5nIFVJIHRleHRcbiAgICogYW5kIGZvcm1hdHRpbmcgZGF0YSBhY2NvcmRpbmcgdG8gcmVnaW9uYWwgY29udmVudGlvbnMuIFRoaXMgcHJvcGVydHkgY2FuIGJlIHNldCB0byBvdmVycmlkZVxuICAgKiB0aGUgZGVmYXVsdCBhcHBsaWNhdGlvbiBsb2NhbGUgZm9yIHRoaXMgc3BlY2lmaWMgY29tcG9uZW50IGluc3RhbmNlLCBlbmFibGluZyBwZXItY29tcG9uZW50XG4gICAqIGxvY2FsaXphdGlvbiB3aGVuIG5lZWRlZC5cbiAgICovXG4gIGxvY2FsZT86IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbmZpZ3VyYXRpb24gZm9yIGxpc3QgaXRlbSByZW5kZXJpbmcgYmVoYXZpb3IuXG4gICAqIEBzdW1tYXJ5IERlZmluZXMgaG93IGxpc3QgaXRlbXMgc2hvdWxkIGJlIHJlbmRlcmVkIGluIHRoZSBjb21wb25lbnQuXG4gICAqIFRoaXMgcHJvcGVydHkgaG9sZHMgYSBjb25maWd1cmF0aW9uIG9iamVjdCB0aGF0IHNwZWNpZmllcyB0aGUgdGFnIG5hbWVcbiAgICogYW5kIG90aGVyIHByb3BlcnRpZXMgbmVlZGVkIHRvIHJlbmRlciBsaXN0IGl0ZW1zIGNvcnJlY3RseS4gVGhlIHRhZyBwcm9wZXJ0eVxuICAgKiBpZGVudGlmaWVzIHdoaWNoIGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZCB0byByZW5kZXIgZWFjaCBpdGVtIGluIGEgbGlzdC5cbiAgICogQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGNhbiBiZSBpbmNsdWRlZCB0byBjdXN0b21pemUgdGhlIHJlbmRlcmluZyBiZWhhdmlvci5cbiAgICovXG4gIGl0ZW06IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0geyB0YWc6IFwiXCIgfTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIER5bmFtaWMgcHJvcGVydGllcyBjb25maWd1cmF0aW9uIGZvciBydW50aW1lIGN1c3RvbWl6YXRpb24uXG4gICAqIEBzdW1tYXJ5IENvbnRhaW5zIGtleS12YWx1ZSBwYWlycyBvZiBkeW5hbWljIHByb3BlcnRpZXMgdGhhdCBjYW4gYmUgYXBwbGllZCB0byB0aGUgY29tcG9uZW50XG4gICAqIGF0IHJ1bnRpbWUuIFRoaXMgZmxleGlibGUgY29uZmlndXJhdGlvbiBvYmplY3QgYWxsb3dzIGZvciBkeW5hbWljIHByb3BlcnR5IGFzc2lnbm1lbnQgd2l0aG91dFxuICAgKiByZXF1aXJpbmcgZXhwbGljaXQgaW5wdXQgYmluZGluZ3MgZm9yIGV2ZXJ5IHBvc3NpYmxlIGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBQcm9wZXJ0aWVzIGZyb21cbiAgICogdGhpcyBvYmplY3QgYXJlIHBhcnNlZCBhbmQgYXBwbGllZCB0byB0aGUgY29tcG9uZW50IGluc3RhbmNlIHRocm91Z2ggdGhlIHBhcnNlUHJvcHMgbWV0aG9kLFxuICAgKiBlbmFibGluZyBjdXN0b21pemFibGUgY29tcG9uZW50IGJlaGF2aW9yIGJhc2VkIG9uIGV4dGVybmFsIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwcm9wczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEJhc2Ugcm91dGUgcGF0aCBmb3IgY29tcG9uZW50IG5hdmlnYXRpb24uXG4gICAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIGJhc2Ugcm91dGUgcGF0aCB1c2VkIGZvciBuYXZpZ2F0aW9uIGFjdGlvbnMgcmVsYXRlZCB0byB0aGlzIGNvbXBvbmVudC5cbiAgICogVGhpcyBpcyBvZnRlbiB1c2VkIGFzIGEgcHJlZml4IGZvciBjb25zdHJ1Y3RpbmcgbmF2aWdhdGlvbiBVUkxzIHdoZW4gdHJhbnNpdGlvbmluZyBiZXR3ZWVuXG4gICAqIGRpZmZlcmVudCBvcGVyYXRpb25zIG9yIHZpZXdzLiBUaGUgcm91dGUgaGVscHMgZXN0YWJsaXNoIHRoZSBjb21wb25lbnQncyBwb3NpdGlvbiBpbiB0aGVcbiAgICogYXBwbGljYXRpb24ncyByb3V0aW5nIGhpZXJhcmNoeS5cbiAgICovXG4gIHJvdXRlPzogc3RyaW5nID0gXCJcIjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbnRyb2xzIHdoZXRoZXIgYm9yZGVycyBhcmUgZGlzcGxheWVkIGFyb3VuZCB0aGUgY29tcG9uZW50LlxuICAgKiBAc3VtbWFyeSBCb29sZWFuIGZsYWcgdGhhdCBkZXRlcm1pbmVzIGlmIHRoZSBjb21wb25lbnQgc2hvdWxkIGJlIHZpc3VhbGx5IG91dGxpbmVkIHdpdGggYm9yZGVycy5cbiAgICogV2hlbiB0cnVlLCBib3JkZXJzIGFyZSBzaG93biB0byB2aXN1YWxseSBzZXBhcmF0ZSB0aGUgY29tcG9uZW50IGZyb20gc3Vycm91bmRpbmcgY29udGVudC5cbiAgICovXG4gIGJvcmRlcnM6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbXBvbmVudCBuYW1lIGlkZW50aWZpZXIgZm9yIGxvZ2dpbmcgYW5kIGxvY2FsaXphdGlvbiBjb250ZXh0cy5cbiAgICogQHN1bW1hcnkgU3RvcmVzIHRoZSBjb21wb25lbnQncyBuYW1lIHdoaWNoIGlzIHVzZWQgYXMgYSBrZXkgZm9yIGxvZ2dpbmcgY29udGV4dHNcbiAgICogYW5kIGFzIGEgYmFzZSBmb3IgbG9jYWxlIHJlc29sdXRpb24uXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBjb21wb25lbnROYW1lPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUm9vdCBrZXkgZm9yIGNvbXBvbmVudCBsb2NhbGUgY29udGV4dCByZXNvbHV0aW9uLlxuICAgKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBiYXNlIGtleSB1c2VkIHRvIHJlc29sdmUgbG9jYWxpemF0aW9uIGNvbnRleHRzIGZvciB0aGlzIGNvbXBvbmVudC5cbiAgICogSWYgbm90IGV4cGxpY2l0bHkgcHJvdmlkZWQsIGl0IGRlZmF1bHRzIHRvIHRoZSBjb21wb25lbnQncyBuYW1lLiBUaGlzIGtleSBpcyB1c2VkIHRvXG4gICAqIGxvYWQgYXBwcm9wcmlhdGUgdHJhbnNsYXRpb24gcmVzb3VyY2VzIGFuZCBsb2NhbGUtc3BlY2lmaWMgY29uZmlndXJhdGlvbnMuXG4gICAqIEBwcm90ZWN0ZWRcbiAgICovXG4gIHByb3RlY3RlZCBsb2NhbGVSb290Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ3VycmVudCB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKiBAc3VtbWFyeSBDYW4gYmUgYSBzdHJpbmcsIG51bWJlciwgZGF0ZSwgb3IgYXJyYXkgb2Ygc3RyaW5nIG9yIG9iamVjdHMuXG4gICAqL1xuICB2YWx1ZT86IGFueTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlZmVyZW5jZSB0byBDUlVEIG9wZXJhdGlvbiBjb25zdGFudHMgZm9yIHRlbXBsYXRlIHVzYWdlLlxuICAgKiBAc3VtbWFyeSBFeHBvc2VzIHRoZSBPcGVyYXRpb25LZXlzIGVudW0gdG8gdGhlIGNvbXBvbmVudCB0ZW1wbGF0ZSwgZW5hYmxpbmdcbiAgICogY29uZGl0aW9uYWwgcmVuZGVyaW5nIGFuZCBiZWhhdmlvciBiYXNlZCBvbiBvcGVyYXRpb24gdHlwZXMuIFRoaXMgcHJvdGVjdGVkXG4gICAqIHJlYWRvbmx5IHByb3BlcnR5IGVuc3VyZXMgdGhhdCB0ZW1wbGF0ZSBsb2dpYyBjYW4gYWNjZXNzIG9wZXJhdGlvbiBjb25zdGFudHNcbiAgICogd2hpbGUgbWFpbnRhaW5pbmcgZW5jYXBzdWxhdGlvbiBhbmQgcHJldmVudGluZyBhY2NpZGVudGFsIG1vZGlmaWNhdGlvbi5cbiAgICogQHByb3RlY3RlZFxuICAgKiBAcmVhZG9ubHlcbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBPcGVyYXRpb25LZXlzID0gT3BlcmF0aW9uS2V5cztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFuZ3VsYXIgTG9jYXRpb24gc2VydmljZS5cbiAgICogQHN1bW1hcnkgSW5qZWN0ZWQgc2VydmljZSB0aGF0IHByb3ZpZGVzIGRpcmVjdCBhY2Nlc3MgdG8gdGhlIGJyb3dzZXIncyBVUkwgYW5kIGhpc3RvcnkuXG4gICAqIFVubGlrZSB0aGUgUm91dGVyLCBMb2NhdGlvbiBhbGxvd3MgZm9yIGxvdy1sZXZlbCBtYW5pcHVsYXRpb24gb2YgdGhlIGJyb3dzZXIncyBoaXN0b3J5IHN0YWNrXG4gICAqIGFuZCBVUkwgcGF0aCwgc3VjaCBhcyBwcm9ncmFtbWF0aWNhbGx5IG5hdmlnYXRpbmcgYmFjayBvciBmb3J3YXJkLCBvciB1cGRhdGluZyB0aGUgVVJMIHdpdGhvdXRcbiAgICogdHJpZ2dlcmluZyBhIHJvdXRlIGNoYW5nZS4gVGhpcyBpcyB1c2VmdWwgZm9yIHNjZW5hcmlvcyB3aGVyZSB5b3UgbmVlZCB0byBpbnRlcmFjdCB3aXRoIHRoZVxuICAgKiBicm93c2VyIGhpc3Rvcnkgb3IgVVJMIG91dHNpZGUgb2YgQW5ndWxhcidzIHJvdXRpbmcgc3lzdGVtLCBzdWNoIGFzIGNsb3NpbmcgbW9kYWxzLCBoYW5kbGluZ1xuICAgKiBwb3BzdGF0ZSBldmVudHMsIG9yIHN1cHBvcnRpbmcgY3VzdG9tIG5hdmlnYXRpb24gbG9naWMuXG4gICAqXG4gICAqL1xuICBsb2NhdGlvbiE6IGFueTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlcG9zaXRvcnkgaW5zdGFuY2UgZm9yIGRhdGEgbGF5ZXIgb3BlcmF0aW9ucy5cbiAgICogQHN1bW1hcnkgUHJvdmlkZXMgYSBjb25uZWN0aW9uIHRvIHRoZSBkYXRhIGxheWVyIGZvciByZXRyaWV2aW5nIGFuZCBtYW5pcHVsYXRpbmcgZGF0YS5cbiAgICogVGhpcyBpcyBhbiBpbnN0YW5jZSBvZiB0aGUgRGVjYWZSZXBvc2l0b3J5IGNsYXNzLCBpbml0aWFsaXplZCBsYXppbHkgaW4gdGhlIHJlcG9zaXRvcnkgZ2V0dGVyLlxuICAgKiBUaGUgcmVwb3NpdG9yeSBpcyB1c2VkIHRvIHBlcmZvcm0gQ1JVRCAoQ3JlYXRlLCBSZWFkLCBVcGRhdGUsIERlbGV0ZSkgb3BlcmF0aW9ucyBvbiB0aGVcbiAgICogZGF0YSBtb2RlbCBhbmQgcHJvdmlkZXMgbWV0aG9kcyBmb3IgcXVlcnlpbmcgYW5kIGZpbHRlcmluZyBkYXRhIGJhc2VkIG9uIHNwZWNpZmljIGNyaXRlcmlhLlxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgX3JlcG9zaXRvcnk/OiBJUmVwb3NpdG9yeTxNPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemF0aW9uIHN0YXR1cyBmbGFnIGZvciB0aGUgY29tcG9uZW50LlxuICAgKiBAc3VtbWFyeSBUcmFja3Mgd2hldGhlciB0aGUgY29tcG9uZW50IGhhcyBjb21wbGV0ZWQgaXRzIGluaXRpYWxpemF0aW9uIHByb2Nlc3MuXG4gICAqIFRoaXMgZmxhZyBpcyB1c2VkIHRvIHByZXZlbnQgZHVwbGljYXRlIGluaXRpYWxpemF0aW9uIGFuZCB0byBkZXRlcm1pbmUgaWZcbiAgICogY2VydGFpbiBvcGVyYXRpb25zIHRoYXQgcmVxdWlyZSBpbml0aWFsaXphdGlvbiBjYW4gYmUgcGVyZm9ybWVkLlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcHJvdGVjdGVkIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGV2ZW50czogVUlFdmVudFByb3BlcnR5ID0ge307XG5cbiAgcHJvdGVjdGVkIGhhbmRsZXJzOiBVSUV2ZW50UHJvcGVydHkgPSB7fTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCByZXBvc2l0b3J5KCk6IElSZXBvc2l0b3J5PE0+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVwb3NpdG9yeSBhcyBJUmVwb3NpdG9yeTxNPjtcbiAgfVxuXG4gIHNldCByZXBvc2l0b3J5KHJlcG9zaXRvcnk6IElSZXBvc2l0b3J5PE0+KSB7XG4gICAgdGhpcy5fcmVwb3NpdG9yeSA9IHJlcG9zaXRvcnk7XG4gIH1cblxuICBhc3luYyByZW5kZXIoLi4uYXJnczogdW5rbm93bltdKTogUHJvbWlzZTxhbnk+IHtcbiAgICB0aGlzLmxvZ1xuICAgICAgLmZvcih0aGlzLnJlbmRlcilcbiAgICAgIC5pbmZvKGByZW5kZXIgZm9yICR7dGhpcy5jb21wb25lbnROYW1lfSB3aXRoICR7SlNPTi5zdHJpbmdpZnkoYXJncyl9YCk7XG4gIH1cblxuICBhc3luYyByZWZyZXNoKC4uLmFyZ3M6IHVua25vd25bXSk6IFByb21pc2U8YW55PiB7XG4gICAgdGhpcy5sb2cuZm9yKHRoaXMucmVmcmVzaCkuaW5mbyhgUmVmcmVzaCBjYWxsZWQgd2l0aCBhcmdzOiAke2FyZ3N9YCk7XG4gIH1cblxuICAvKipcbiAgICogQXN5bmNocm9ub3VzbHkgaW5pdGlhbGl6ZXMgdGhlIGNvbXBvbmVudCB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMuXG4gICAqIFRoaXMgbWV0aG9kIHNldHMgdGhlIGBpbml0aWFsaXplZGAgcHJvcGVydHkgdG8gYHRydWVgIG9uY2UgdGhlIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLlxuICAgKlxuICAgKiBAcGFyYW0gYXJncyAtIEEgdmFyaWFibGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBvZiB1bmtub3duIHR5cGVzIHRoYXQgY2FuIGJlIHVzZWQgZm9yIGluaXRpYWxpemF0aW9uLlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBpbml0aWFsaXphdGlvbiBpcyBjb21wbGV0ZS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgYXN5bmMgaW5pdGlhbGl6ZSguLi5hcmdzOiB1bmtub3duW10pOiBQcm9taXNlPGFueT4ge1xuICAgIHRoaXMuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyYW5zbGF0ZXMgY29udGVudCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgYXJndW1lbnRzLlxuICAgKiBMb2dzIHRoZSB0cmFuc2xhdGlvbiByZXF1ZXN0IHdpdGggdGhlIGNvbXBvbmVudCBuYW1lIGFuZCBhcmd1bWVudHMuXG4gICAqXG4gICAqIEBwYXJhbSBhcmdzIC0gQSB2YXJpYWJsZSBudW1iZXIgb2YgYXJndW1lbnRzIHVzZWQgZm9yIHRyYW5zbGF0aW9uLlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSB0cmFuc2xhdGlvbiByZXN1bHQuXG4gICAqL1xuICBhc3luYyB0cmFuc2xhdGUoLi4uYXJnczogdW5rbm93bltdKTogUHJvbWlzZTxhbnk+IHtcbiAgICB0aGlzLmxvZ1xuICAgICAgLmZvcih0aGlzLnRyYW5zbGF0ZSlcbiAgICAgIC5pbmZvKGB0cmFuc2xhdGUgZm9yICR7dGhpcy5jb21wb25lbnROYW1lfSB3aXRoICR7SlNPTi5zdHJpbmdpZnkoYXJncyl9YCk7XG4gIH1cblxuICBhc3luYyBwcmV2aWV3KC4uLmFyZ3M6IHVua25vd25bXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubG9nLmZvcih0aGlzLnByZXZpZXcpLmRlYnVnKGBQcmV2aWV3IGNhbGxlZCB3aXRoIGFyZ3M6ICR7YXJnc31gKTtcbiAgfVxuXG4gIC8vIGFzeW5jIHByb2Nlc3MoLi4uYXJnczogdW5rbm93bltdKTogUHJvbWlzZTxhbnk+IHtcbiAgLy8gICB0aGlzLmxvZy5mb3IodGhpcy5wcm9jZXNzKS5kZWJ1ZyhgUHJvY2VzcyBjYWxsZWQgd2l0aCBhcmdzOiAke2FyZ3N9YCk7XG4gIC8vIH1cblxuICAvLyBhc3luYyBiYXRjaE9wZXJhdGlvbiguLi5hcmdzOiB1bmtub3duW10pOiBQcm9taXNlPGFueT4ge1xuICAvLyAgIHRoaXMubG9nXG4gIC8vICAgICAuZm9yKHRoaXMuYmF0Y2hPcGVyYXRpb24pXG4gIC8vICAgICAuZGVidWcoYEJhdGNoT3BlcmF0aW9uIGNhbGxlZCB3aXRoIGFyZ3M6ICR7YXJnc31gKTtcbiAgLy8gfVxuXG4gIC8qKlxuICAgKiBTdWJtaXRzIGRhdGEgb3IgcGVyZm9ybXMgYW4gYWN0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gYXJncyAtIEEgdmFyaWFibGUgbnVtYmVyIG9mIGFyZ3VtZW50cyBvZiBhbnkgdHlwZSB0byBiZSBwYXNzZWQgdG8gdGhlIHN1Ym1pdCBvcGVyYXRpb24uXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHJlc3VsdCBvZiB0aGUgc3VibWl0IG9wZXJhdGlvbi5cbiAgICovXG4gIGFzeW5jIHN1Ym1pdCguLi5hcmdzOiB1bmtub3duW10pOiBQcm9taXNlPGFueT4ge1xuICAgIHRoaXMubG9nXG4gICAgICAuZm9yKHRoaXMuc3VibWl0KVxuICAgICAgLmluZm8oYHN1Ym1pdCBmb3IgJHt0aGlzLmNvbXBvbmVudE5hbWV9IHdpdGggJHtKU09OLnN0cmluZ2lmeShhcmdzKX1gKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTm9ybWFsaXplcyBoYW5kbGVyIGRlZmluaXRpb25zIGludG8gZXhlY3V0YWJsZSBmdW5jdGlvbnMuXG4gICAqIEBzdW1tYXJ5IEl0ZXJhdGVzIHRocm91Z2ggYSBoYW5kbGVycyBtYXAgYW5kIGVuc3VyZXMgZWFjaCBlbnRyeSBpcyBzdG9yZWQgYXMgYSBjYWxsYWJsZVxuICAgKiBmdW5jdGlvbiBvbiB0aGUgY29tcG9uZW50LiBQbGFpbiBmdW5jdGlvbnMgYXJlIHN0b3JlZCBkaXJlY3RseSwgd2hpbGUgaGFuZGxlciBjbGFzc2VzIGFyZVxuICAgKiBpbnN0YW50aWF0ZWQgc28gdGhlaXIgYGhhbmRsZWAgbWV0aG9kIChvciBhIGtleWVkIG92ZXJyaWRlKSBiZWNvbWVzIHRoZSByZWdpc3RlcmVkIGhhbmRsZXIuXG4gICAqIFRoaXMgYWxsb3dzIGRlY29yYXRvcnMgdG8gYWNjZXB0IGVpdGhlciBpbmxpbmUgZnVuY3Rpb25zIG9yIGhhbmRsZXIgY2xhc3NlcyB0cmFuc3BhcmVudGx5LlxuICAgKiBAdGVtcGxhdGUgVCBFeHRlbmRzIGBEZWNhZkV2ZW50SGFuZGxlcmAgdG8gY29uc3RyYWluIGhhbmRsZXIgY2xhc3MgdHlwZXMuXG4gICAqIEBwYXJhbSBoYW5kbGVycyAtIERpY3Rpb25hcnkgb2YgaGFuZGxlciBuYW1lcyBtYXBwZWQgdG8gZnVuY3Rpb25zIG9yIGhhbmRsZXIgY29uc3RydWN0b3JzLlxuICAgKiBAcGFyYW0gaW5zdGFuY2UgLSBPcHRpb25hbCB0YXJnZXQgaGFuZGxlciBpbnN0YW5jZTsgZGVmYXVsdHMgdG8gdGhlIGN1cnJlbnQgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdGVjdGVkIHBhcnNlSGFuZGxlcnM8VCBleHRlbmRzIERlY2FmRXZlbnRIYW5kbGVyPihcbiAgICBoYW5kbGVyczogVUlFdmVudFByb3BlcnR5LFxuICAgIGluc3RhbmNlOiBUXG4gICk6IFVJRXZlbnRQcm9wZXJ0eSB7XG4gICAgY29uc3QgcmVzdWx0OiBVSUV2ZW50UHJvcGVydHkgPSB7fTtcbiAgICBPYmplY3QuZW50cmllcyhoYW5kbGVycykuZm9yRWFjaCgoW2tleSwgZm5dKSA9PiB7XG4gICAgICBpZiAoaXNDbGFzc0NvbnN0cnVjdG9yPERlY2FmRXZlbnRIYW5kbGVyPihmbikpIHtcbiAgICAgICAgY29uc3QgY2xhenogPSBuZXcgZm4oKSBhcyBEZWNhZkV2ZW50SGFuZGxlcjtcbiAgICAgICAgY29uc3QgZXZlbnQgPVxuICAgICAgICAgIGtleSBpbiBjbGF6eiA/IGNsYXp6W2tleSBhcyBrZXlvZiBEZWNhZkV2ZW50SGFuZGxlcl0gOiBjbGF6ei5oYW5kbGU7XG4gICAgICAgIHJlc3VsdFtrZXldID0gZXZlbnQ7XG4gICAgICAgIGluc3RhbmNlLmhhbmRsZXJzW2tleV0gPSBldmVudDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdFtrZXldID0gZm47XG4gICAgICAgIGluc3RhbmNlLmhhbmRsZXJzW2tleV0gPSBmbjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZWdpc3RlcnMgZXZlbnQgY2FsbGJhY2tzIG9uIHRoZSBjb21wb25lbnQgaW5zdGFuY2UuXG4gICAqIEBzdW1tYXJ5IFByb2Nlc3NlcyBhbiBldmVudHMgbWFwIHByb2R1Y2VkIGJ5IGRlY29yYXRvcnMgd2hlcmUgZWFjaCB2YWx1ZSBjYW4gYmUgYSBmYWN0b3J5XG4gICAqIHJldHVybmluZyBhIGZ1bmN0aW9uIG9yIGEgY29tcG9uZW50IGNvbnN0cnVjdG9yLiBXaGVuIGEgY29uc3RydWN0b3IgaXMgcmV0dXJuZWQsIHRoZSBtZXRob2RcbiAgICogbWF0Y2hpbmcgdGhlIGV2ZW50IGtleSBpcyBpbnN0YW50aWF0ZWQgYW5kIHN0b3JlZDsgb3RoZXJ3aXNlIHRoZSBwcm9kdWNlZCBmdW5jdGlvbiBpc1xuICAgKiBhc3NpZ25lZCBkaXJlY3RseS4gVGhpcyBlbmFibGVzIGZsZXhpYmxlIGV2ZW50IGJpbmRpbmcgZGVmaW5pdGlvbnMgZm9yIGRlcml2ZWQgY29tcG9uZW50cy5cbiAgICogQHRlbXBsYXRlIFQgRXh0ZW5kcyBgRGVjYWZDb21wb25lbnQ8TW9kZWw+YCB0byBzY29wZSBhY2NlcHRhYmxlIGV2ZW50IG93bmVycy5cbiAgICogQHBhcmFtIGV2ZW50cyAtIERpY3Rpb25hcnkgb2YgZXZlbnQgbmFtZXMgbWFwcGVkIHRvIGZ1bmN0aW9uIGZhY3RvcmllcyBvciBjb21wb25lbnQgY29uc3RydWN0b3JzLlxuICAgKiBAcGFyYW0gaW5zdGFuY2UgLSBPcHRpb25hbCBjb21wb25lbnQgaW5zdGFuY2UgdG8gcmVjZWl2ZSB0aGUgZXZlbnRzOyBkZWZhdWx0cyB0byBgdGhpc2AuXG4gICAqL1xuICBwcm90ZWN0ZWQgcGFyc2VFdmVudHM8VCBleHRlbmRzIERlY2FmQ29tcG9uZW50PE1vZGVsPj4oXG4gICAgZXZlbnRzOiBVSUV2ZW50UHJvcGVydHksXG4gICAgaW5zdGFuY2U6IFRcbiAgKTogVUlFdmVudFByb3BlcnR5IHtcbiAgICBjb25zdCByZXN1bHQ6IFVJRXZlbnRQcm9wZXJ0eSA9IHt9O1xuICAgIE9iamVjdC5lbnRyaWVzKGV2ZW50cykuZm9yRWFjaCgoW2tleSwgZm5dKSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0ga2V5IGFzIHN0cmluZztcbiAgICAgIGNvbnN0IGV2dCA9IChmbiBhcyBVSUZ1bmN0aW9uTGlrZSkoKTtcbiAgICAgIGlmIChpc0NsYXNzQ29uc3RydWN0b3I8VD4oZXZ0KSkge1xuICAgICAgICBjb25zdCBmbiA9IG5ldyBldnQoKVtrZXkgYXMga2V5b2YgVF0gYXMgVUlFdmVudEhhbmRsZXI7XG4gICAgICAgIGlmIChmbikge1xuICAgICAgICAgIHJlc3VsdFtuYW1lXSA9IGZuO1xuICAgICAgICAgIGluc3RhbmNlLmV2ZW50c1tuYW1lXSA9IGZuO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHRbbmFtZV0gPSBmbjtcbiAgICAgICAgaW5zdGFuY2UuZXZlbnRzW25hbWVdID0gZm47XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIl19
|
|
@@ -54,4 +54,4 @@ export class DecafEventHandler extends DecafComponent {
|
|
|
54
54
|
.info(`component ${this.componentName} handling action ${JSON.stringify(args)}`);
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
|
-
//# sourceMappingURL=
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjYWZFdmVudEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvRGVjYWZFdmVudEhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGNBQWMsRUFBRSw0QkFBeUI7QUFFbEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxjQUFxQjtJQUMxRDs7Ozs7T0FLRztJQUNIO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLEdBQUcsSUFBZTtRQUN2QixJQUFJLENBQUMsR0FBRzthQUNMLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO2FBQ2hCLElBQUksQ0FBQyxhQUFhLElBQUksQ0FBQyxhQUFhLGFBQWEsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxHQUFHLElBQWU7UUFDNUIsSUFBSSxDQUFDLEdBQUc7YUFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQzthQUNyQixJQUFJLENBQ0gsYUFBYSxJQUFJLENBQUMsYUFBYSxtQkFBbUIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUN6RSxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILFlBQVksQ0FBQyxHQUFHLElBQWU7UUFDN0IsSUFBSSxDQUFDLEdBQUc7YUFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUN0QixJQUFJLENBQ0gsYUFBYSxJQUFJLENBQUMsYUFBYSxvQkFBb0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUMxRSxDQUFDO0lBQ04sQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kZWwgfSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBEZWNhZkNvbXBvbmVudCB9IGZyb20gXCIuL0RlY2FmQ29tcG9uZW50XCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENsYXNzIHJlcHJlc2VudGluZyBhbiBldmVudCBoYW5kbGVyXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBzdHJ1Y3R1cmUgZm9yIGhhbmRsaW5nIGV2ZW50cyBpbiB0aGUgVUkgZGVjb3JhdG9ycyBzeXN0ZW1cbiAqIFRoaXMgY2xhc3MgcHJvdmlkZXMgYSBmb3VuZGF0aW9uIGZvciBtYW5hZ2luZyBhbmQgcHJvY2Vzc2luZyBldmVudHMgdGhhdCBvY2N1clxuICogd2l0aGluIHRoZSBVSSBjb21wb25lbnRzIGdlbmVyYXRlZCBieSB0aGUgZGVjb3JhdG9ycy5cbiAqIEBjbGFzcyBFdmVudEhhbmRsZXJcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9ycy91aVxuICovXG5leHBvcnQgY2xhc3MgRGVjYWZFdmVudEhhbmRsZXIgZXh0ZW5kcyBEZWNhZkNvbXBvbmVudDxNb2RlbD4ge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgRGVjYWZFdmVudEhhbmRsZXJcbiAgICogQHN1bW1hcnkgSW5pdGlhbGl6ZXMgYSBuZXcgRXZlbnRIYW5kbGVyIG9iamVjdFxuICAgKiBUaGlzIGNvbnN0cnVjdG9yIGN1cnJlbnRseSBkb2Vzbid0IHRha2UgYW55IHBhcmFtZXRlcnMsIGJ1dCBpdCBjYW4gYmVcbiAgICogZXh0ZW5kZWQgaW4gdGhlIGZ1dHVyZSB0byBhY2NlcHQgY29uZmlndXJhdGlvbiBvcHRpb25zIGlmIG5lZWRlZC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBhbiBldmVudCB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMuXG4gICAqIExvZ3MgdGhlIGV2ZW50IGhhbmRsaW5nIHByb2Nlc3MsIGluY2x1ZGluZyB0aGUgY29tcG9uZW50IG5hbWUgYW5kIHRoZSBhcmd1bWVudHMgcGFzc2VkLlxuICAgKlxuICAgKiBAcGFyYW0gYXJncyAtIFRoZSBhcmd1bWVudHMgZm9yIHRoZSBldmVudCBoYW5kbGVyLlxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBoYW5kbGUoLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgdGhpcy5sb2dcbiAgICAgIC5mb3IodGhpcy5oYW5kbGUpXG4gICAgICAuaW5mbyhgY29tcG9uZW50ICR7dGhpcy5jb21wb25lbnROYW1lfSBoYW5kbGluZyAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWApO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgYW4gY2xpY2sgZXZlbnQgd2l0aCB0aGUgcHJvdmlkZWQgYXJndW1lbnRzLlxuICAgKiBMb2dzIHRoZSBldmVudCBoYW5kbGluZyBwcm9jZXNzLCBpbmNsdWRpbmcgdGhlIGNvbXBvbmVudCBuYW1lIGFuZCB0aGUgYXJndW1lbnRzIHBhc3NlZC5cbiAgICpcbiAgICogQHBhcmFtIGFyZ3MgLSBUaGUgYXJndW1lbnRzIGZvciB0aGUgZXZlbnQgaGFuZGxlci5cbiAgICogQHJldHVybnMgdm9pZFxuICAgKi9cbiAgaGFuZGxlQ2xpY2soLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgdGhpcy5sb2dcbiAgICAgIC5mb3IodGhpcy5oYW5kbGVDbGljaylcbiAgICAgIC5pbmZvKFxuICAgICAgICBgY29tcG9uZW50ICR7dGhpcy5jb21wb25lbnROYW1lfSBoYW5kbGluZyBjbGljayAke0pTT04uc3RyaW5naWZ5KGFyZ3MpfWBcbiAgICAgICk7XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxlcyBhbiBjbGljayBldmVudCB3aXRoIHRoZSBwcm92aWRlZCBhcmd1bWVudHMuXG4gICAqIExvZ3MgdGhlIGV2ZW50IGhhbmRsaW5nIHByb2Nlc3MsIGluY2x1ZGluZyB0aGUgY29tcG9uZW50IG5hbWUgYW5kIHRoZSBhcmd1bWVudHMgcGFzc2VkLlxuICAgKlxuICAgKiBAcGFyYW0gYXJncyAtIFRoZSBhcmd1bWVudHMgZm9yIHRoZSBldmVudCBoYW5kbGVyLlxuICAgKiBAcmV0dXJucyB2b2lkXG4gICAqL1xuICBoYW5kbGVBY3Rpb24oLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgdGhpcy5sb2dcbiAgICAgIC5mb3IodGhpcy5oYW5kbGVBY3Rpb24pXG4gICAgICAuaW5mbyhcbiAgICAgICAgYGNvbXBvbmVudCAke3RoaXMuY29tcG9uZW50TmFtZX0gaGFuZGxpbmcgYWN0aW9uICR7SlNPTi5zdHJpbmdpZnkoYXJncyl9YFxuICAgICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -11,4 +11,4 @@ export class DecafTranslateService extends LoggedClass {
|
|
|
11
11
|
.info(`Must translate ${key} with params ${JSON.stringify(params || {})}`);
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGVjYWZUcmFuc2xhdGVTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpL0RlY2FmVHJhbnNsYXRlU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFaEQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFdBQVc7SUFDcEQsU0FBUyxDQUFDLEdBQVcsRUFBRSxNQUE0QjtRQUNqRCxJQUFJLENBQUMsR0FBRzthQUNMLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO2FBQ25CLElBQUksQ0FDSCxrQkFBa0IsR0FBRyxnQkFBZ0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FDcEUsQ0FBQztJQUNOLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBVyxFQUFFLE1BQTRCO1FBQy9DLElBQUksQ0FBQyxHQUFHO2FBQ0wsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDakIsSUFBSSxDQUNILGtCQUFrQixHQUFHLGdCQUFnQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsRUFBRSxDQUNwRSxDQUFDO0lBQ04sQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9nZ2VkQ2xhc3MgfSBmcm9tIFwiQGRlY2FmLXRzL2xvZ2dpbmdcIjtcblxuZXhwb3J0IGNsYXNzIERlY2FmVHJhbnNsYXRlU2VydmljZSBleHRlbmRzIExvZ2dlZENsYXNzIHtcbiAgdHJhbnNsYXRlKGtleTogc3RyaW5nLCBwYXJhbXM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogYW55IHtcbiAgICB0aGlzLmxvZ1xuICAgICAgLmZvcih0aGlzLnRyYW5zbGF0ZSlcbiAgICAgIC5pbmZvKFxuICAgICAgICBgTXVzdCB0cmFuc2xhdGUgJHtrZXl9IHdpdGggcGFyYW1zICR7SlNPTi5zdHJpbmdpZnkocGFyYW1zIHx8IHt9KX1gXG4gICAgICApO1xuICB9XG5cbiAgaW5zdGFudChrZXk6IHN0cmluZywgcGFyYW1zPzogUmVjb3JkPHN0cmluZywgYW55Pik6IGFueSB7XG4gICAgdGhpcy5sb2dcbiAgICAgIC5mb3IodGhpcy5pbnN0YW50KVxuICAgICAgLmluZm8oXG4gICAgICAgIGBNdXN0IHRyYW5zbGF0ZSAke2tleX0gd2l0aCBwYXJhbXMgJHtKU09OLnN0cmluZ2lmeShwYXJhbXMgfHwge30pfWBcbiAgICAgICk7XG4gIH1cbn1cbiJdfQ==
|
package/lib/esm/ui/Rendering.js
CHANGED
|
@@ -575,4 +575,4 @@ export class RenderingEngine {
|
|
|
575
575
|
// },
|
|
576
576
|
// })
|
|
577
577
|
// .apply();
|
|
578
|
-
//# sourceMappingURL=Rendering.js.map
|
|
578
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVuZGVyaW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpL1JlbmRlcmluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsZUFBZSxFQUNmLE1BQU0sRUFDTixzQkFBc0IsRUFDdEIsaUJBQWlCLEdBQ2xCLHVCQUFvQjtBQWVyQixPQUFPLEVBQUUsY0FBYyxFQUFFLG9CQUFpQjtBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLG1CQUFnQjtBQUMxRCxPQUFPLEVBQWUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDN0QsT0FBTyxFQUNMLEtBQUssRUFFTCxVQUFVLEVBQ1YsY0FBYyxFQUNkLGNBQWMsR0FFZixNQUFNLGdDQUFnQyxDQUFDO0FBUXhDOzs7Ozs7Ozs7Ozs7R0FZRztBQUNIOzs7OztHQUtHO0FBQ0gsTUFBTSxPQUFnQixlQUFlO0lBQ25DOzs7O09BSUc7YUFDWSxVQUFLLEdBSWhCLEVBQUUsQUFKYyxDQUliO0lBZ0JQLFlBQStCLE9BQWU7UUFBZixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBTDlDOztXQUVHO1FBQ08sZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHckMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMvQixPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsT0FBTywwQkFBMEIsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUF3QkQ7Ozs7Ozs7T0FPRztJQUNILFNBQVMsQ0FBQyxHQUFXLEVBQUUsU0FBa0IsSUFBSTtRQUMzQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsUUFBUSxHQUFHLEVBQUUsQ0FBQztnQkFDWixLQUFLLGNBQWMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtvQkFDM0MsT0FBTyxlQUFl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TyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQzdELENBQUM7O0FBRUgsRUFBRTtBQUNGLDRCQUE0QjtBQUM1QixjQUFjO0FBQ2QsZ0VBQWdFO0FBQ2hFLHFFQUFxRTtBQUNyRSxpQ0FBaUM7QUFDakMsZ0VBQWdFO0FBQ2hFLHNCQUFzQjtBQUN0QiwwQkFBMEI7QUFDMUIsZUFBZTtBQUNmLFdBQVc7QUFDWCxTQUFTO0FBQ1QsT0FBTztBQUNQLGNBQWM7QUFDZCxFQUFFO0FBQ0YsbUNBQW1DO0FBQ25DLGNBQWM7QUFDZCw0REFBNEQ7QUFDNUQsMENBQTBDO0FBQzFDLFNBQVM7QUFDVCxPQUFPO0FBQ1AsY0FBYztBQUNkLEVBQUU7QUFDRixrQ0FBa0M7QUFDbEMsY0FBYztBQUNkLHVDQUF1QztBQUN2QyxtRUFBbUU7QUFDbkUsU0FBUztBQUNULE9BQU87QUFDUCxjQUFjO0FBQ2QsRUFBRTtBQUNGLDhCQUE4QjtBQUM5QixjQUFjO0FBQ2Qsd0NBQXdDO0FBQ3hDLG1FQUFtRTtBQUNuRSxTQUFTO0FBQ1QsT0FBTztBQUNQLGNBQWM7QUFDZCxFQUFFO0FBQ0YsOEJBQThCO0FBQzlCLGNBQWM7QUFDZCx3Q0FBd0M7QUFDeEMsbUVBQW1FO0FBQ25FLFNBQVM7QUFDVCxPQUFPO0FBQ1AsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEludGVybmFsRXJyb3IsIE5vdEZvdW5kRXJyb3IgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7XG4gIEhUTUw1RGF0ZUZvcm1hdCxcbiAgSFRNTDVJbnB1dFR5cGVzLFxuICBVSUtleXMsXG4gIFZhbGlkYXRhYmxlQnlBdHRyaWJ1dGUsXG4gIFZhbGlkYXRhYmxlQnlUeXBlLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIENydWRPcGVyYXRpb25LZXlzLFxuICBEZWNhZlNwaW5uZXJPcHRpb25zLFxuICBEZWNhZlRvYXN0T3B0aW9ucyxcbiAgRmllbGREZWZpbml0aW9uLFxuICBGaWVsZFByb3BlcnRpZXMsXG4gIFVJQ2xhc3NNZXRhZGF0YSxcbiAgVUlFbGVtZW50TWV0YWRhdGEsXG4gIFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhdGEsXG4gIFVJTGlzdFByb3BNZXRhZGF0YSxcbiAgVUlNb2RlbE1ldGFkYXRhLFxuICBVSVByb3BNZXRhZGF0YSxcbiAgSVBhZ2VkQ29tcG9uZW50UHJvcGVydGllcyxcbn0gZnJvbSBcIi4vdHlwZXNcIjtcbmltcG9ydCB7IFJlbmRlcmluZ0Vycm9yIH0gZnJvbSBcIi4vZXJyb3JzXCI7XG5pbXBvcnQgeyBmb3JtYXRCeVR5cGUsIGdlbmVyYXRlVUlNb2RlbElEIH0gZnJvbSBcIi4vdXRpbHNcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHtcbiAgTW9kZWwsXG4gIE1vZGVsQ29uc3RydWN0b3IsXG4gIFByaW1pdGl2ZXMsXG4gIFJlc2VydmVkTW9kZWxzLFxuICBWYWxpZGF0aW9uS2V5cyxcbiAgVmFsaWRhdGlvbk1ldGFkYXRhLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBJRGVjYWZNb2RhbCB9IGZyb20gXCIuL2ludGVyZmFjZXMvSURlY2FmTW9kYWxcIjtcbmltcG9ydCB7IERlY2FmQ29tcG9uZW50IH0gZnJvbSBcIi4vRGVjYWZDb21wb25lbnRcIjtcblxuaW1wb3J0IHsgSURlY2FmU3Bpbm5lciB9IGZyb20gXCIuL2ludGVyZmFjZXMvSURlY2FmU3Bpbm5lclwiO1xuaW1wb3J0IHsgSURlY2FmUm91dGVyIH0gZnJvbSBcIi4vaW50ZXJmYWNlcy9JRGVjYWZSb3V0ZXJcIjtcbmltcG9ydCB7IElEZWNhZlRvYXN0IH0gZnJvbSBcIi4vaW50ZXJmYWNlcy9JRGVjYWZUb2FzdFwiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBBYnN0cmFjdCBjbGFzcyBmb3IgcmVuZGVyaW5nIFVJIGNvbXBvbmVudHMgYmFzZWQgb24gbW9kZWwgbWV0YWRhdGEuXG4gKiBAc3VtbWFyeSBUaGUgUmVuZGVyaW5nRW5naW5lIGNsYXNzIHByb3ZpZGVzIGEgZnJhbWV3b3JrIGZvciBjb252ZXJ0aW5nIG1vZGVsIG1ldGFkYXRhIGludG8gVUkgZmllbGQgZGVmaW5pdGlvbnMuXG4gKiBJdCBoYW5kbGVzIHRoZSB0cmFuc2xhdGlvbiBvZiBtb2RlbCBwcm9wZXJ0aWVzIHRvIFVJIGVsZW1lbnRzLCBhcHBsaWVzIHZhbGlkYXRpb24gcnVsZXMsIGFuZCBtYW5hZ2VzIGRpZmZlcmVudCByZW5kZXJpbmcgZmxhdm9ycy5cbiAqIFRoaXMgY2xhc3MgaXMgZGVzaWduZWQgdG8gYmUgZXh0ZW5kZWQgYnkgc3BlY2lmaWMgcmVuZGVyaW5nIGltcGxlbWVudGF0aW9ucy5cbiAqXG4gKiBAdGVtcGxhdGUgVCBUaGUgdHlwZSBvZiB0aGUgcmVuZGVyaW5nIHJlc3VsdCwgZGVmYXVsdHMgdG8gdm9pZFxuICogQHRlbXBsYXRlIFIgVGhlIHR5cGUgb2YgdGhlIGZpZWxkIGRlZmluaXRpb24sIGRlZmF1bHRzIHRvIEZpZWxkRGVmaW5pdGlvbjxUPlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBmbGF2b3VyIC0gVGhlIGZsYXZvciBvZiB0aGUgcmVuZGVyaW5nIGVuZ2luZS5cbiAqXG4gKiBAY2xhc3MgUmVuZGVyaW5nRW5naW5lXG4gKi9cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgYmFzZSBhYnN0cmFjdGlvbiBmb3IgZGVjYWYgcmVuZGVyaW5nIGVuZ2luZXMsIGhhbmRsaW5nIGVuZ2luZSByZWdpc3RyYXRpb24sXG4gKiBpbml0aWFsaXphdGlvbiwgbW9kZWwtdG8tZmllbGQgdHJhbnNsYXRpb24sIGFuZCBydW50aW1lIHJlbmRlcmluZyBvcmNoZXN0cmF0aW9uLlxuICogSW1wbGVtZW50YXRpb25zIG11c3QgcHJvdmlkZSBpbml0aWFsaXphdGlvbiBhbmQgcmVuZGVyaW5nIGxvZ2ljIHdoaWxlIGxldmVyYWdpbmcgdGhlIHNoYXJlZFxuICogbWV0YWRhdGEtZHJpdmVuIGNvbnZlcnNpb24gdXRpbGl0aWVzIHN1cHBsaWVkIGhlcmUuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBSZW5kZXJpbmdFbmdpbmU8VCA9IHZvaWQsIFIgPSBGaWVsZERlZmluaXRpb248VD4+IHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDYWNoZSBmb3Igc3RvcmluZyByZW5kZXJpbmcgZW5naW5lIGluc3RhbmNlcyBvciBjb25zdHJ1Y3RvcnMuXG4gICAqIEBwcml2YXRlXG4gICAqIEBzdGF0aWNcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGNhY2hlOiBSZWNvcmQ8XG4gICAgc3RyaW5nLFxuICAgIHwgQ29uc3RydWN0b3I8UmVuZGVyaW5nRW5naW5lPHVua25vd24sIHVua25vd24+PlxuICAgIHwgUmVuZGVyaW5nRW5naW5lPHVua25vd24sIHVua25vd24+XG4gID4gPSB7fTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRoZSBjdXJyZW50bHkgYWN0aXZlIHJlbmRlcmluZyBlbmdpbmUuXG4gICAqIEBwcml2YXRlXG4gICAqIEBzdGF0aWNcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGN1cnJlbnQ6XG4gICAgfCBDb25zdHJ1Y3RvcjxSZW5kZXJpbmdFbmdpbmU8dW5rbm93biwgdW5rbm93bj4+XG4gICAgfCBSZW5kZXJpbmdFbmdpbmU8dW5rbm93biwgdW5rbm93bj47XG5cbiAgLyoqXG4gICAqIEZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSByZW5kZXJpbmcgZW5naW5lIGhhcyBiZWVuIGluaXRpYWxpemVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGluaXRpYWxpemVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGZsYXZvdXI6IHN0cmluZykge1xuICAgIFJlbmRlcmluZ0VuZ2luZS5yZWdpc3Rlcih0aGlzKTtcbiAgICBjb25zb2xlLmxvZyhgZGVjYWYncyAke2ZsYXZvdXJ9IHJlbmRlcmluZyBlbmdpbmUgbG9hZGVkYCk7XG4gIH1cblxuICBhYnN0cmFjdCBnZXRNb2RhbDxDIGV4dGVuZHMgRGVjYWZDb21wb25lbnQ8TW9kZWw+PihcbiAgICBjb21wb25lbnQ6IFBhcnRpYWw8Qz4sXG4gICAgLi4uYXJnczogYW55W11cbiAgKTogUHJvbWlzZTxJRGVjYWZNb2RhbD47XG5cbiAgYWJzdHJhY3QgZ2V0VG9hc3Qob3B0aW9uczogRGVjYWZUb2FzdE9wdGlvbnMpOiBQcm9taXNlPElEZWNhZlRvYXN0PjtcblxuICBhYnN0cmFjdCBnZXRTcGlubmVyKG9wdGlvbnM6IERlY2FmU3Bpbm5lck9wdGlvbnMpOiBQcm9taXNlPElEZWNhZlNwaW5uZXI+O1xuXG4gIGFic3RyYWN0IHJvdXRlcigpOiBJRGVjYWZSb3V0ZXI7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBJbml0aWFsaXplcyB0aGUgcmVuZGVyaW5nIGVuZ2luZS5cbiAgICogQHN1bW1hcnkgQWJzdHJhY3QgbWV0aG9kIHRvIGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMgZm9yIHNwZWNpZmljIGluaXRpYWxpemF0aW9uIGxvZ2ljLlxuICAgKlxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIG5lZWRlZCBmb3IgaW5pdGlhbGl6YXRpb24uXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLlxuICAgKlxuICAgKiBAYWJzdHJhY3RcbiAgICovXG4gIGFic3RyYWN0IGluaXRpYWxpemUoLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVHJhbnNsYXRlcyBiZXR3ZWVuIG1vZGVsIHR5cGVzIGFuZCBIVE1MIGlucHV0IHR5cGVzLlxuICAgKiBAc3VtbWFyeSBDb252ZXJ0cyBtb2RlbCBkYXRhIHR5cGVzIHRvIGFwcHJvcHJpYXRlIEhUTUwgaW5wdXQgdHlwZXMgYW5kIHZpY2UgdmVyc2EuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBUaGUga2V5IHRvIHRyYW5zbGF0ZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBbdG9WaWV3PXRydWVdIC0gRGlyZWN0aW9uIG9mIHRyYW5zbGF0aW9uICh0cnVlIGZvciBtb2RlbCB0byB2aWV3LCBmYWxzZSBmb3IgdmlldyB0byBtb2RlbCkuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB0cmFuc2xhdGVkIHR5cGUuXG4gICAqL1xuICB0cmFuc2xhdGUoa2V5OiBzdHJpbmcsIHRvVmlldzogYm9vbGVhbiA9IHRydWUpOiBzdHJpbmcge1xuICAgIGlmICh0b1ZpZXcpIHtcbiAgICAgIHN3aXRjaCAoa2V5KSB7XG4gICAgICAgIGNhc2UgUmVzZXJ2ZWRNb2RlbHMuU1RSSU5HLm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgICByZXR1cm4gSFRNTDVJbnB1dFR5cGVzLlRFWFQ7XG4gICAgICAgIGNhc2UgUmVzZXJ2ZWRNb2RlbHMuTlVNQkVSLm5hbWUudG9Mb3dlckNhc2UoKTpcbiAgICAgICAgY2FzZSBSZXNlcnZlZE1vZGVscy5CSUdJTlQubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICAgIHJldHVybiBIVE1MNUlucHV0VHlwZXMuTlVNQkVSO1xuICAgICAgICBjYXNlIFJlc2VydmVkTW9kZWxzLkJPT0xFQU4ubmFtZS50b0xvd2VyQ2FzZSgpOlxuICAgICAgICAgIHJldHVybiBIVE1MNUlucHV0VHlwZXMuQ0hFQ0tCT1g7XG4gICAgICAgIGNhc2UgUmVzZXJ2ZWRNb2RlbHMuREFURS5uYW1lLnRvTG93ZXJDYXNlKCk6XG4gICAgICAgICAgcmV0dXJuIEhUTUw1SW5wdXRUeXBlcy5EQVRFO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBzd2l0Y2ggKGtleSkge1xuICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5TRUxFQ1Q6XG4gICAgICAgIGNhc2UgSFRNTDVJbnB1dFR5cGVzLlRFWFQ6XG4gICAgICAgIGNhc2UgSFRNTDVJbnB1dFR5cGVzLkVNQUlMOlxuICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5DT0xPUjpcbiAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuUEFTU1dPUkQ6XG4gICAgICAgIGNhc2UgSFRNTDVJbnB1dFR5cGVzLlRFTDpcbiAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuVVJMOlxuICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5TRUFSQ0g6XG4gICAgICAgIGNhc2UgSFRNTDVJbnB1dFR5cGVzLkhJRERFTjpcbiAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuVEVYVEFSRUE6XG4gICAgICAgIGNhc2UgSFRNTDVJbnB1dFR5cGVzLlJBRElPOlxuICAgICAgICAgIHJldHVybiBSZXNlcnZlZE1vZGVscy5TVFJJTkcubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5OVU1CRVI6XG4gICAgICAgICAgcmV0dXJuIFJlc2VydmVkTW9kZWxzLk5VTUJFUi5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNhc2UgSFRNTDVJbnB1dFR5cGVzLkNIRUNLQk9YOlxuICAgICAgICAgIHJldHVybiBSZXNlcnZlZE1vZGVscy5CT09MRUFOLm5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuREFURTpcbiAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuREFURVRJTUVfTE9DQUw6XG4gICAgICAgIGNhc2UgSFRNTDVJbnB1dFR5cGVzLlRJTUU6XG4gICAgICAgICAgcmV0dXJuIFJlc2VydmVkTW9kZWxzLkRBVEUubmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ga2V5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgY2xhc3MgZGVjb3JhdG9yIG1ldGFkYXRhIGZvciBhIG1vZGVsIGluc3RhbmNlXG4gICAqIEBzdW1tYXJ5IEV4dHJhY3RzIFVJLXJlbGF0ZWQgY2xhc3MgZGVjb3JhdG9ycyBmcm9tIGEgbW9kZWwgYW5kIHJldHVybnMgdGhlbSBhcyBhbiBhcnJheVxuICAgKiBUaGlzIG1ldGhvZCBjb2xsZWN0cyBtZXRhZGF0YSBmcm9tIHZhcmlvdXMgVUkgY2xhc3MgZGVjb3JhdG9ycyBpbmNsdWRpbmcgQHVpbW9kZWwsXG4gICAqIEB1aWxpc3Rtb2RlbCwgQHVpaGFuZGxlcnMsIGFuZCBAdWlsYXlvdXQgYXBwbGllZCB0byB0aGUgbW9kZWwgY2xhc3MuXG4gICAqXG4gICAqIEB0ZW1wbGF0ZSBNIFR5cGUgZXh0ZW5kaW5nIE1vZGVsXG4gICAqIEBwYXJhbSB7TX0gbW9kZWwgLSBUaGUgbW9kZWwgaW5zdGFuY2UgdG8gZXh0cmFjdCBtZXRhZGF0YSBmcm9tXG4gICAqIEByZXR1cm5zIHtVSUNsYXNzTWV0YWRhdGFbXX0gQXJyYXkgb2YgVUkgY2xhc3MgbWV0YWRhdGEgb2JqZWN0c1xuICAgKlxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRDbGFzc0RlY29yYXRvcnNNZXRhZGF0YTxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIG1vZGVsOiBNXG4gICk6IFVJQ2xhc3NNZXRhZGF0YVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgTW9kZWwudWlNb2RlbE9mKG1vZGVsLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yPE0+KSxcbiAgICAgIE1vZGVsLnVpTGlzdE1vZGVsT2YobW9kZWwuY29uc3RydWN0b3IgYXMgQ29uc3RydWN0b3I8TT4pLFxuICAgICAgTW9kZWwudWlIYW5kbGVyc0Zvcihtb2RlbC5jb25zdHJ1Y3RvciBhcyBDb25zdHJ1Y3RvcjxNPiksXG4gICAgICBNb2RlbC51aUxheW91dE9mKG1vZGVsLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yPE0+KSxcbiAgICBdLmZpbHRlcihCb29sZWFuKSBhcyBVSUNsYXNzTWV0YWRhdGFbXTtcbiAgfVxuXG4gIHByaXZhdGUgc29ydENoaWxkcmVuQnlPcmRlcihjaGlsZHJlbjogRmllbGREZWZpbml0aW9uPGFueT5bXSA9IFtdKSB7XG4gICAgcmV0dXJuIGNoaWxkcmVuLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgIGNvbnN0IGFPcmRlciA9IGEucHJvcHM/Lm9yZGVyID8/IDA7XG4gICAgICBjb25zdCBiT3JkZXIgPSBiLnByb3BzPy5vcmRlciA/PyAwO1xuICAgICAgY29uc3Qgd2VpZ2h0ID0gKHY6IG51bWJlciB8IHN0cmluZykgPT5cbiAgICAgICAgdiA9PT0gVUlLZXlzLkZJUlNUXG4gICAgICAgICAgPyAwXG4gICAgICAgICAgOiB0eXBlb2YgdiA9PT0gUHJpbWl0aXZlcy5OVU1CRVJcbiAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgOiB2ID09PSBVSUtleXMuTEFTVFxuICAgICAgICAgICAgICA/IC8vVE9ETzogcmV2aWV3IHRoaXNcbiAgICAgICAgICAgICAgICBjaGlsZHJlbi5sZW5ndGggKyBjaGlsZHJlbi5pbmRleE9mKGIpXG4gICAgICAgICAgICAgIDogMTtcblxuICAgICAgY29uc3QgYVdlaWdodCA9IHdlaWdodChhT3JkZXIpO1xuICAgICAgY29uc3QgYldlaWdodCA9IHdlaWdodChiT3JkZXIpO1xuICAgICAgaWYgKGFXZWlnaHQgIT09IGJXZWlnaHQpIHtcbiAgICAgICAgcmV0dXJuIGFXZWlnaHQgLSBiV2VpZ2h0O1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIGFXZWlnaHQgPT09IDEgJiZcbiAgICAgICAgdHlwZW9mIGFPcmRlciA9PT0gUHJpbWl0aXZlcy5OVU1CRVIgJiZcbiAgICAgICAgdHlwZW9mIGJPcmRlciA9PT0gUHJpbWl0aXZlcy5OVU1CRVJcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gYU9yZGVyIC0gYk9yZGVyO1xuICAgICAgfVxuICAgICAgcmV0dXJuIDA7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENoZWNrcyBpZiBhIHZhbGlkYXRpb24ga2V5IHJlcHJlc2VudHMgYSBjdXN0b20gdmFsaWRhdG9yIChpLmUuLCBub3QgYSBidWlsdC1pbiB2YWxpZGF0aW9uIG9yIFVJIGtleSkuXG4gICAqIEBzdW1tYXJ5IERldGVybWluZXMgd2hldGhlciB0aGUgcHJvdmlkZWQga2V5IGNvcnJlc3BvbmRzIHRvIGEgdXNlci1kZWZpbmVkIHZhbGlkYXRvciBieSBleGNsdWRpbmcgYWxsIGJ1aWx0LWluIFZhbGlkYXRpb25LZXlzIGFuZCBVSUtleXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBUaGUgdmFsaWRhdGlvbiBrZXkgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBrZXkgaXMgYSBjdXN0b20gdmFsaWRhdG9yLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBUcnVlIGlmIHRoZSBrZXkgaXMgbm90IGEgYnVpbHQtaW4gdmFsaWRhdGlvbiBrZXkgb3IgVUkga2V5IChpLmUuIGlzIGN1c3RvbSksIGZhbHNlIG90aGVyd2lzZS5cbiAgICovXG4gIHByb3RlY3RlZCBpc0N1c3RvbVZhbGlkYXRvcihrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhT2JqZWN0LnZhbHVlcyhWYWxpZGF0aW9uS2V5cykuaW5jbHVkZXMoXG4gICAgICAgIGtleSBhcyAodHlwZW9mIFZhbGlkYXRpb25LZXlzKVtrZXlvZiB0eXBlb2YgVmFsaWRhdGlvbktleXNdXG4gICAgICApICYmICFPYmplY3QudmFsdWVzKFVJS2V5cykuaW5jbHVkZXMoa2V5KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENoZWNrcyBpZiBhIHR5cGUgaXMgdmFsaWRhdGFibGUgYnkgaXRzIG5hdHVyZS5cbiAgICogQHN1bW1hcnkgRGV0ZXJtaW5lcyBpZiBhIGdpdmVuIFVJIGtleSByZXByZXNlbnRzIGEgdHlwZSB0aGF0IGlzIGluaGVyZW50bHkgdmFsaWRhdGFibGUuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBUaGUgVUkga2V5IHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gVHJ1ZSBpZiB0aGUgdHlwZSBpcyB2YWxpZGF0YWJsZSwgZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGlzVmFsaWRhdGFibGVCeVR5cGUoa2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoVmFsaWRhdGFibGVCeVR5cGUpLmluY2x1ZGVzKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENoZWNrcyBpZiBhIHR5cGUgaXMgdmFsaWRhdGFibGUgYnkgYXR0cmlidXRlLlxuICAgKiBAc3VtbWFyeSBEZXRlcm1pbmVzIGlmIGEgZ2l2ZW4gVUkga2V5IHJlcHJlc2VudHMgYSB2YWxpZGF0aW9uIHRoYXQgY2FuIGJlIGFwcGxpZWQgYXMgYW4gYXR0cmlidXRlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gVGhlIFVJIGtleSB0byBjaGVjay5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgdGhlIHR5cGUgaXMgdmFsaWRhdGFibGUgYnkgYXR0cmlidXRlLCBmYWxzZSBvdGhlcndpc2UuXG4gICAqL1xuICBwcm90ZWN0ZWQgaXNWYWxpZGF0YWJsZUJ5QXR0cmlidXRlKGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKFZhbGlkYXRhYmxlQnlBdHRyaWJ1dGUpLmluY2x1ZGVzKGtleSk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbnZlcnRzIHZhbGlkYXRpb24gbWV0YWRhdGEgdG8gYW4gYXR0cmlidXRlIHZhbHVlLlxuICAgKiBAc3VtbWFyeSBUcmFuc2Zvcm1zIHZhbGlkYXRpb24gbWV0YWRhdGEgaW50byBhIHZhbHVlIHN1aXRhYmxlIGZvciB1c2UgYXMgYW4gSFRNTCBhdHRyaWJ1dGUuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgLSBUaGUgdmFsaWRhdGlvbiBrZXkuXG4gICAqIEBwYXJhbSB7VmFsaWRhdGlvbk1ldGFkYXRhfSB2YWx1ZSAtIFRoZSB2YWxpZGF0aW9uIG1ldGFkYXRhLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbn0gVGhlIGNvbnZlcnRlZCBhdHRyaWJ1dGUgdmFsdWUuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgZ2l2ZW4ga2V5IGlzIG5vdCB2YWxpZGF0YWJsZSBieSBhdHRyaWJ1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgdG9BdHRyaWJ1dGVWYWx1ZShcbiAgICBrZXk6IHN0cmluZyxcbiAgICB2YWx1ZTogVmFsaWRhdGlvbk1ldGFkYXRhXG4gICk6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4ge1xuICAgIGlmICghT2JqZWN0LmtleXMoVmFsaWRhdGFibGVCeUF0dHJpYnV0ZSkuaW5jbHVkZXMoa2V5KSlcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEludmFsaWQgYXR0cmlidXRlIGtleSBcIiR7a2V5fVwiLiBFeHBlY3RlZCBvbmUgb2Y6ICR7T2JqZWN0LmtleXMoVmFsaWRhdGFibGVCeUF0dHJpYnV0ZSkuam9pbihcIiwgXCIpfS5gXG4gICAgICApO1xuXG4gICAgcmV0dXJuIGtleSA9PT0gVUlLZXlzLlJFUVVJUkVEID8gdHJ1ZSA6IHZhbHVlW2tleV07XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbnZlcnRzIGEgbW9kZWwgdG8gYSBmaWVsZCBkZWZpbml0aW9uLlxuICAgKiBAc3VtbWFyeSBQcm9jZXNzZXMgYSBtb2RlbCBpbnN0YW5jZSwgZXh0cmFjdGluZyBVSS1yZWxhdGVkIG1ldGFkYXRhIGFuZCB2YWxpZGF0aW9uIHJ1bGVzIHRvIGNyZWF0ZSBhIGZpZWxkIGRlZmluaXRpb24uXG4gICAqXG4gICAqIEB0ZW1wbGF0ZSBNIFR5cGUgZXh0ZW5kaW5nIE1vZGVsXG4gICAqIEB0ZW1wbGF0ZSBUIFR5cGUgcmVmZXJlbmNpbmcgdGhlIHNwZWNpZmljIFJlbmRlcmluZyBlbmdpbmUgZmllbGQgcHJvcGVydGllcy9pbnB1dHNcbiAgICogQHBhcmFtIHtNfSBtb2RlbCAtIFRoZSBtb2RlbCBpbnN0YW5jZSB0byBjb252ZXJ0LlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSBbZ2xvYmFsUHJvcHM9e31dIC0gR2xvYmFsIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gYWxsIGNoaWxkIGVsZW1lbnRzLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtnZW5lcmF0ZUlkPXRydWVdIC0gRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdG8gcG9wdWxhdGUgdGhlIHJlbmRlcmVySWQgcHJvcGVydHkuXG4gICAqIEByZXR1cm5zIHtGaWVsZERlZmluaXRpb248VD59IEEgZmllbGQgZGVmaW5pdGlvbiBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBVSSBzdHJ1Y3R1cmUgb2YgdGhlIG1vZGVsLlxuICAgKiBAdGhyb3dzIHtSZW5kZXJpbmdFcnJvcn0gSWYgbm8gVUkgZGVmaW5pdGlvbnMgYXJlIHNldCBmb3IgdGhlIG1vZGVsIG9yIGlmIHRoZXJlIGFyZSBpbnZhbGlkIGRlY29yYXRvcnMuXG4gICAqXG4gICAqIEBtZXJtYWlkXG4gICAqIHNlcXVlbmNlRGlhZ3JhbVxuICAgKiAgcGFydGljaXBhbnQgQyBhcyBDbGllbnRcbiAgICogIHBhcnRpY2lwYW50IFJFIGFzIFJlbmRlcmluZ0VuZ2luZVxuICAgKiAgcGFydGljaXBhbnQgUiBhcyBSZWZsZWN0aW9uXG4gICAqICBwYXJ0aWNpcGFudCBNIGFzIE1vZGVsXG4gICAqICBDLT4+UkU6IHRvRmllbGREZWZpbml0aW9uKG1vZGVsLCBnbG9iYWxQcm9wcylcbiAgICogIFJFLT4+UjogZ2V0TWV0YWRhdGEoVUlLZXlzLlVJTU9ERUwsIG1vZGVsLmNvbnN0cnVjdG9yKVxuICAgKiAgUi0tPj5SRTogVUlNb2RlbE1ldGFkYXRhXG4gICAqICBSRS0+PlI6IGdldEFsbFByb3BlcnR5RGVjb3JhdG9ycyhtb2RlbCwgVUlLZXlzLlJFRkxFQ1QpXG4gICAqICBSLS0+PlJFOiBSZWNvcmQ8c3RyaW5nLCBEZWNvcmF0b3JNZXRhZGF0YVtdPlxuICAgKiAgUkUtPj5SOiBnZXRBbGxQcm9wZXJ0eURlY29yYXRvcnMobW9kZWwsIFZhbGlkYXRpb25LZXlzLlJFRkxFQ1QpXG4gICAqICBSLS0+PlJFOiBSZWNvcmQ8c3RyaW5nLCBEZWNvcmF0b3JNZXRhZGF0YTxWYWxpZGF0aW9uTWV0YWRhdGE+W10+XG4gICAqICBsb29wIEZvciBlYWNoIHByb3BlcnR5XG4gICAqICAgIFJFLT4+UkU6IFByb2Nlc3MgVUkgZGVjb3JhdG9yc1xuICAgKiAgICBSRS0+PlJFOiBBcHBseSB2YWxpZGF0aW9uIHJ1bGVzXG4gICAqICBlbmRcbiAgICogIFJFLS0+PkM6IEZpZWxkRGVmaW5pdGlvbjxUPlxuICAgKi9cbiAgcHJvdGVjdGVkIHRvRmllbGREZWZpbml0aW9uPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgbW9kZWw6IE0sXG4gICAgZ2xvYmFsUHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge30sXG4gICAgZ2VuZXJhdGVJZDogYm9vbGVhbiA9IHRydWVcbiAgKTogRmllbGREZWZpbml0aW9uPFQ+IHtcbiAgICBjb25zdCB7IGluaGVyaXRQcm9wcywgLi4uZ2xvYmFsUHJvcHNXaXRob3V0SW5oZXJpdHMgfSA9IGdsb2JhbFByb3BzO1xuICAgIGdsb2JhbFByb3BzID0gZ2xvYmFsUHJvcHNXaXRob3V0SW5oZXJpdHM7XG5cbiAgICBjb25zdCBjbGFzc0RlY29yYXRvcnMgPSB0aGlzLmdldENsYXNzRGVjb3JhdG9yc01ldGFkYXRhPE0+KG1vZGVsKTtcblxuICAgIGlmICghY2xhc3NEZWNvcmF0b3JzLmxlbmd0aClcbiAgICAgIHRocm93IG5ldyBSZW5kZXJpbmdFcnJvcihcbiAgICAgICAgYE5vIHVpIGRlZmluaXRpb25zIHNldCBmb3IgbW9kZWwgJHttb2RlbC5jb25zdHJ1Y3Rvci5uYW1lfS4gRGlkIHlvdSB1c2UgQHVpbW9kZWw/YFxuICAgICAgKTtcblxuICAgIGNvbnN0IGNsYXNzRGVjb3JhdG9yID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHt9LFxuICAgICAgLi4uY2xhc3NEZWNvcmF0b3JzLFxuICAgICAgaW5oZXJpdFByb3BzID8gaW5oZXJpdFByb3BzIDoge30gLy8gb3ZlcnJpZGUgdGFnIGFuZCBwcm9wZXJ0aWVzIHdoZW4gaXQgaXMgYSBjb21wb25lbnQgdGhhdCBzaG91bGQgaW5oZXJpdCBwcm9wZXJ0aWVzIGZyb20gaXRzIHBhcmVudC5cbiAgICApO1xuICAgIGNvbnN0IHsgdGFnLCBwcm9wcywgaXRlbSwgaGFuZGxlcnMgfSA9IGNsYXNzRGVjb3JhdG9yO1xuXG4gICAgY29uc3QgdWlEZWNvcmF0b3JzID0gTW9kZWwudWlQcm9wZXJ0aWVzT2YoXG4gICAgICBtb2RlbC5jb25zdHJ1Y3RvciBhcyBDb25zdHJ1Y3RvcjxNPlxuICAgICkgYXMgKGtleW9mIE0pW107XG5cbiAgICAvLyBjb25zdCB1aURlY29yYXRvcnM6IFJlY29yZDxzdHJpbmcsIERlY29yYXRvck1ldGFkYXRhW10+ID1cbiAgICAvLyAgIFJlZmxlY3Rpb24uZ2V0QWxsUHJvcGVydHlEZWNvcmF0b3JzKG1vZGVsLCBVSUtleXMuUkVGTEVDVCkgYXMgUmVjb3JkPFxuICAgIC8vICAgICBzdHJpbmcsXG4gICAgLy8gICAgIERlY29yYXRvck1ldGFkYXRhW11cbiAgICAvLyAgID47XG4gICAgbGV0IGNoaWxkcmVuOiBGaWVsZERlZmluaXRpb248UmVjb3JkPHN0cmluZywgYW55Pj5bXSB8IHVuZGVmaW5lZDtcbiAgICBsZXQgY2hpbGRQcm9wczogUmVjb3JkPHN0cmluZywgYW55PiA9IGl0ZW0/LnByb3BzIHx8IHt9O1xuICAgIGxldCBtYXBwZXI6IFJlY29yZDxzdHJpbmcsIGFueT4gPSB7fTtcbiAgICBjb25zdCBnZXRQYXRoID0gKHBhcmVudDogc3RyaW5nIHwgdW5kZWZpbmVkLCBwcm9wOiBzdHJpbmcpID0+IHtcbiAgICAgIHJldHVybiBwYXJlbnQgPyBbcGFyZW50LCBwcm9wXS5qb2luKFwiLlwiKSA6IHByb3A7XG4gICAgfTtcblxuICAgIGlmICh1aURlY29yYXRvcnMpIHtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25EZWNvcmF0b3JzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID1cbiAgICAgICAgTWV0YWRhdGEuZ2V0KFxuICAgICAgICAgIG1vZGVsLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yLFxuICAgICAgICAgIFZhbGlkYXRpb25LZXlzLlJFRkxFQ1RcbiAgICAgICAgKSB8fCB7fTtcbiAgICAgIC8vIGNvbnN0IHZhbGlkYXRpb25EZWNvcmF0b3JzOiBSZWNvcmQ8XG4gICAgICAvLyAgIHN0cmluZyxcbiAgICAgIC8vICAgRGVjb3JhdG9yTWV0YWRhdGE8VmFsaWRhdGlvbk1ldGFkYXRhPltdXG4gICAgICAvLyA+ID0gUmVmbGVjdGlvbi5nZXRBbGxQcm9wZXJ0eURlY29yYXRvcnMoXG4gICAgICAvLyAgIG1vZGVsLFxuICAgICAgLy8gICBWYWxpZGF0aW9uS2V5cy5SRUZMRUNUXG4gICAgICAvLyApIGFzIFJlY29yZDxzdHJpbmcsIERlY29yYXRvck1ldGFkYXRhPFZhbGlkYXRpb25NZXRhZGF0YT5bXT47XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiB1aURlY29yYXRvcnMpIHtcbiAgICAgICAgY29uc3QgZGVjcyA9IE1vZGVsLnVpRGVjb3JhdGlvbk9mKFxuICAgICAgICAgIG1vZGVsLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yPE0+LFxuICAgICAgICAgIGtleVxuICAgICAgICApO1xuICAgICAgICBsZXQgdHlwZTogYW55O1xuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICB0eXBlID0gTW9kZWwudWlUeXBlT2YobW9kZWwuY29uc3RydWN0b3IgYXMgQ29uc3RydWN0b3I8TT4sIGtleSk7XG4gICAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgICBpZiAoIShlIGluc3RhbmNlb2YgTm90Rm91bmRFcnJvcikpIHRocm93IGU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gY29uc3QgdHlwZXMgPSBPYmplY3QudmFsdWVzKGRlY3MpLmZpbHRlcigoeyBrZXkgfSkgPT5cbiAgICAgICAgLy8gICBbVUlLZXlzLlBST1AsIFVJS2V5cy5FTEVNRU5ULCBVSUtleXMuQ0hJTERdLmluY2x1ZGVzKGtleSlcbiAgICAgICAgLy8gKTtcbiAgICAgICAgLy8gaWYgKCF0eXBlKVxuICAgICAgICAvLyAgIHRocm93IG5ldyBSZW5kZXJpbmdFcnJvcihcbiAgICAgICAgLy8gICAgIGBPbmx5IG9uZSB0eXBlIG9mIGRlY29yYXRpb24gaXMgYWxsb3dlZC4gUGxlYXNlIGNob29zZSBiZXR3ZWVuIEB1aXByb3AsIEB1aWNoaWxkIG9yIEB1aWVsZW1lbnRgXG4gICAgICAgIC8vICAgKTtcbiAgICAgICAgY29uc3QgaGFzSGlkZU9uRGVjb3JhdG9yID0gTW9kZWwudWlJc0hpZGRlbihcbiAgICAgICAgICBtb2RlbC5jb25zdHJ1Y3RvciBhcyBDb25zdHJ1Y3RvcjxNPixcbiAgICAgICAgICBrZXlcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGhhc0hpZGVPbkRlY29yYXRvcikge1xuICAgICAgICAgIGNvbnN0IGhhc1VpRWxlbWVudERlY29yYXRvciA9IE1vZGVsLnVpRWxlbWVudE9mKFxuICAgICAgICAgICAgbW9kZWwuY29uc3RydWN0b3IgYXMgQ29uc3RydWN0b3I8TT4sXG4gICAgICAgICAgICBrZXlcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmICghaGFzVWlFbGVtZW50RGVjb3JhdG9yKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFJlbmRlcmluZ0Vycm9yKFxuICAgICAgICAgICAgICBgQHVpZWxlbWVudCBubyBmb3VuZCBpbiBcIiR7a2V5IGFzIHN0cmluZ31cIi4gSXQgaXMgcmVxdWlyZWQgdG8gdXNlIGhpZGRlbk9uIGRlY29yYXRvci5gXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNvcnRlZCA9IE9iamVjdC5lbnRyaWVzKGRlY3MpXG4gICAgICAgICAgLm1hcCgoW2ssIHZdKSA9PiAoe1xuICAgICAgICAgICAga2V5OiBrLFxuICAgICAgICAgICAgcHJvcHM6IHYsXG4gICAgICAgICAgfSkpXG4gICAgICAgICAgLnNvcnQoKGEpID0+IHtcbiAgICAgICAgICAgIHJldHVybiBbVUlLZXlzLkVMRU1FTlQsIFVJS2V5cy5DSElMRF0uaW5jbHVkZXMoYS5rZXkpID8gLTEgOiAxO1xuICAgICAgICAgIH0pO1xuICAgICAgICBzb3J0ZWQuZm9yRWFjaCgoZGVjKSA9PiB7XG4gICAgICAgICAgaWYgKCFkZWMpIHRocm93IG5ldyBSZW5kZXJpbmdFcnJvcihgTm8gZGVjb3JhdG9yIGZvdW5kYCk7XG5cbiAgICAgICAgICBzd2l0Y2ggKGRlYy5rZXkpIHtcbiAgICAgICAgICAgIGNhc2UgVUlLZXlzLlBST1A6IHtcbiAgICAgICAgICAgICAgY2hpbGRQcm9wc1trZXkgYXMgYW55XSA9IGRlYy5wcm9wcyBhcyBVSVByb3BNZXRhZGF0YTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIFVJS2V5cy5DSElMRDoge1xuICAgICAgICAgICAgICBjb25zdCBtb2RlbE5hbWUgPVxuICAgICAgICAgICAgICAgIChkZWMucHJvcHMgYXMgVUlNb2RlbE1ldGFkYXRhKT8ucHJvcHM/Lm5hbWUgfHwgKGtleSBhcyBzdHJpbmcpO1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzUHJvcGVydHlNb2RlbCA9XG4gICAgICAgICAgICAgICAgICBNb2RlbC5pc01vZGVsKE1vZGVsLmJ1aWxkKHt9LCBtb2RlbE5hbWUpKSB8fFxuICAgICAgICAgICAgICAgICAgTW9kZWwuaXNQcm9wZXJ0eU1vZGVsKG1vZGVsLCBtb2RlbE5hbWUpO1xuICAgICAgICAgICAgICAgIGlmICghaXNQcm9wZXJ0eU1vZGVsKVxuICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJlbmRlcmluZ0Vycm9yKFxuICAgICAgICAgICAgICAgICAgICBgQ2hpbGQgXCIke21vZGVsTmFtZSBhcyBzdHJpbmd9XCIgbXVzdCBiZSBhIG1vZGVsLmBcbiAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJlbmRlcmluZ0Vycm9yKFxuICAgICAgICAgICAgICAgICAgYENoaWxkIFwiJHttb2RlbE5hbWUgYXMgc3RyaW5nfVwiIG11c3QgYmUgYSBtb2RlbC5gXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGxldCBDbGF6ejtcbiAgICAgICAgICAgICAgY29uc3Qgc3VibW9kZWwgPSAobW9kZWwgYXMgUmVjb3JkPHN0cmluZywgYW55PilbXG4gICAgICAgICAgICAgICAga2V5IGFzIGFueVxuICAgICAgICAgICAgICBdIGFzIE1vZGVsO1xuICAgICAgICAgICAgICBjb25zdCBjb25zdHJ1Y3RhYmxlID1cbiAgICAgICAgICAgICAgICB0eXBlb2Ygc3VibW9kZWwgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgICAgICAgICBzdWJtb2RlbCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgICFBcnJheS5pc0FycmF5KHN1Ym1vZGVsKTtcbiAgICAgICAgICAgICAgLy8gY3JlYXRlIGluc3RhbmNlIGlmIHVuZGVmaW5lZFxuICAgICAgICAgICAgICBpZiAoIWNvbnN0cnVjdGFibGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGF6ek5hbWUgPSAoXG4gICAgICAgICAgICAgICAgICAoZGVjLnByb3BzIGFzIGFueSkucHJvcHMgYXMgUmVjb3JkPHN0cmluZywgYW55PlxuICAgICAgICAgICAgICAgICk/Lm5hbWUgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICAgIENsYXp6ID0gbmV3IChNb2RlbC5nZXQoY2xhenpOYW1lKSBhcyBNb2RlbENvbnN0cnVjdG9yPE1vZGVsPikoKTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGNoaWxkcmVuID0gY2hpbGRyZW4gfHwgW107XG4gICAgICAgICAgICAgIGNvbnN0IGNoaWxkcmVuR2xvYmFsUHJvcHMgPSBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgIGdsb2JhbFByb3BzIHx8IHt9LFxuICAgICAgICAgICAgICAgIHsgbW9kZWw6IENsYXp6IH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgaW5oZXJpdFByb3BzOiBkZWMucHJvcHMgYXMgVUlNb2RlbE1ldGFkYXRhLFxuICAgICAgICAgICAgICAgICAgY2hpbGRPZjogZ2V0UGF0aChcbiAgICAgICAgICAgICAgICAgICAgZ2xvYmFsUHJvcHM/LmNoaWxkT2YgYXMgc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICBrZXkgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgY29uc3QgY2hpbGREZWZpbml0aW9uID0gdGhpcy50b0ZpZWxkRGVmaW5pdGlvbihcbiAgICAgICAgICAgICAgICBzdWJtb2RlbCB8fCBDbGF6eiwgLy8gTXVzdCBhdm9pZCB1bmRlZmluZWQgdmFsdWVzIOKAlCBhbiBpbnN0YW5jZSBpcyByZXF1aXJlZCB0byByZXRyaWV2ZSBwcm9wZXJ0aWVzLlxuICAgICAgICAgICAgICAgIGNoaWxkcmVuR2xvYmFsUHJvcHMsXG4gICAgICAgICAgICAgICAgZmFsc2VcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgY29uc3QgeyBpbmhlcml0UHJvcHMgfSA9IGNoaWxkcmVuR2xvYmFsUHJvcHM7XG4gICAgICAgICAgICAgIGlmIChpbmhlcml0UHJvcHMpXG4gICAgICAgICAgICAgICAgY2hpbGREZWZpbml0aW9uLnByb3BzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgY2hpbGREZWZpbml0aW9uLnByb3BzLFxuICAgICAgICAgICAgICAgICAgaW5oZXJpdFByb3BzLnByb3BzIHx8IHt9XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChcbiAgICAgICAgICAgICAgICBjaGlsZERlZmluaXRpb24gYXMgRmllbGREZWZpbml0aW9uPFJlY29yZDxzdHJpbmcsIGFueT4+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBVSUtleXMuVUlMSVNUUFJPUDoge1xuICAgICAgICAgICAgICBtYXBwZXIgPSBtYXBwZXIgfHwge307XG4gICAgICAgICAgICAgIGNvbnN0IGRlY1Byb3BzID0gZGVjLnByb3BzIGFzIFVJTGlzdFByb3BNZXRhZGF0YTtcbiAgICAgICAgICAgICAgaWYgKGRlY1Byb3BzLm5hbWUpXG4gICAgICAgICAgICAgICAgbWFwcGVyW2RlY1Byb3BzLm5hbWVdID1cbiAgICAgICAgICAgICAgICAgIHR5cGVvZiBkZWNQcm9wcz8ucHJvcHMgPT09IFwib2JqZWN0XCIgJiZcbiAgICAgICAgICAgICAgICAgIFVJS2V5cy5TRVFVRU5DRSBpbiBkZWNQcm9wcy5wcm9wc1xuICAgICAgICAgICAgICAgICAgICA/IGRlY1Byb3BzLnByb3BzXG4gICAgICAgICAgICAgICAgICAgIDoga2V5O1xuXG4gICAgICAgICAgICAgIGNvbnN0IHByb3BzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgICAgICB7fSxcbiAgICAgICAgICAgICAgICBjbGFzc0RlY29yYXRvci5wcm9wcz8uaXRlbSB8fCB7fSxcbiAgICAgICAgICAgICAgICBpdGVtPy5wcm9wcyB8fCB7fSxcbiAgICAgICAgICAgICAgICBkZWNQcm9wcz8ucHJvcHMgfHwge30sXG4gICAgICAgICAgICAgICAgZ2xvYmFsUHJvcHNcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgY2hpbGRQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICB0YWc6IGl0ZW0/LnRhZyB8fCBwcm9wcy5yZW5kZXIgfHwgXCJcIixcbiAgICAgICAgICAgICAgICBwcm9wczogT2JqZWN0LmFzc2lnbih7fSwgY2hpbGRQcm9wcz8ucHJvcHMsIHsgbWFwcGVyIH0sIHByb3BzKSxcbiAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgVUlLZXlzLkVWRU5UUzpcbiAgICAgICAgICAgIGNhc2UgVUlLZXlzLkhJRERFTjpcbiAgICAgICAgICAgIGNhc2UgVUlLZXlzLkhJREVfRk9SOlxuICAgICAgICAgICAgY2FzZSBVSUtleXMuU0hPV19GT1I6XG4gICAgICAgICAgICBjYXNlIFVJS2V5cy5QQUdFOlxuICAgICAgICAgICAgY2FzZSBVSUtleXMuT1JERVI6XG4gICAgICAgICAgICBjYXNlIFVJS2V5cy5VSUxBWU9VVFBST1A6XG4gICAgICAgICAgICBjYXNlIFVJS2V5cy5FTEVNRU5UOiB7XG4gICAgICAgICAgICAgIGNoaWxkcmVuID0gY2hpbGRyZW4gfHwgW107XG4gICAgICAgICAgICAgIGNvbnN0IHVpUHJvcHM6IFVJRWxlbWVudE1ldGFkYXRhID0gZGVjLnByb3BzIGFzIFVJRWxlbWVudE1ldGFkYXRhO1xuICAgICAgICAgICAgICBjb25zdCB2aXNpYmlsaXR5UHJvcHMgPVxuICAgICAgICAgICAgICAgIGRlYy5rZXkgPT09IFVJS2V5cy5ISURFX0ZPUlxuICAgICAgICAgICAgICAgICAgPyB7IGhpZGVGb3I6IGRlYy5wcm9wcyBhcyBzdHJpbmdbXSB9XG4gICAgICAgICAgICAgICAgICA6IGRlYy5rZXkgPT09IFVJS2V5cy5TSE9XX0ZPUlxuICAgICAgICAgICAgICAgICAgICA/IHsgc2hvd0ZvcjogZGVjLnByb3BzIGFzIHN0cmluZ1tdIH1cbiAgICAgICAgICAgICAgICAgICAgOiB7fTtcbiAgICAgICAgICAgICAgY29uc3QgcHJvcHMgPSBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgIGNoaWxkUHJvcHM/LnByb3BzLFxuICAgICAgICAgICAgICAgIHVpUHJvcHMucHJvcHMgfHwge30sXG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eVByb3BzLFxuICAgICAgICAgICAgICAgIHVpUHJvcHM/LnByb3BzPy5uYW1lXG4gICAgICAgICAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgICAgICAgICBwYXRoOiBnZXRQYXRoKFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsUHJvcHM/LmNoaWxkT2YgYXMgc3RyaW5nLFxuICAgICAgICAgICAgICAgICAgICAgICAgdWlQcm9wcy5wcm9wcyEubmFtZVxuICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgY2hpbGRPZjogdW5kZWZpbmVkLCAvLyBUaGUgY2hpbGRPZiBwcm9wIGlzIHBhc3NlZCBieSBnbG9iYWxQcm9wcyB3aGVuIGl0IGlzIGEgbmVzdGVkIHByb3BcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgOiB7fSxcbiAgICAgICAgICAgICAgICBnbG9iYWxQcm9wcyxcbiAgICAgICAgICAgICAgICB7IG5hbWU6IHVpUHJvcHMucHJvcHM/Lm5hbWUgfHwga2V5IH1cbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICBpZiAoZGVjLmtleSA9PT0gVUlLZXlzLkVMRU1FTlQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaGlsZERlZmluaXRpb246IEZpZWxkRGVmaW5pdGlvbjxSZWNvcmQ8c3RyaW5nLCBhbnk+PiA9IHtcbiAgICAgICAgICAgICAgICAgIHRhZzogdWlQcm9wcy50YWcgfHwgY2hpbGRQcm9wcz8udGFnIHx8IHRhZyB8fCBcIlwiLFxuICAgICAgICAgICAgICAgICAgcHJvcHMsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBjb25zdCB2YWxpZGF0aW9uRGVjcyA9IHZhbGlkYXRpb25EZWNvcmF0b3JzW1xuICAgICAgICAgICAgICAgICAga2V5IGFzIGFueVxuICAgICAgICAgICAgICAgIF0gYXMgVmFsaWRhdGlvbk1ldGFkYXRhW107XG4gICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRpb25EZWNzKSB7XG4gICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGRlYyBvZiBPYmplY3QuZW50cmllcyh2YWxpZGF0aW9uRGVjcykubWFwKFxuICAgICAgICAgICAgICAgICAgICAoW2ssIHZdKSA9PiAoeyBrZXk6IGssIHByb3BzOiB2IH0pXG4gICAgICAgICAgICAgICAgICApKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWRhdGFibGVCeUF0dHJpYnV0ZShkZWMua2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgIGNoaWxkRGVmaW5pdGlvbi5wcm9wc1t0aGlzLnRyYW5zbGF0ZShkZWMua2V5KV0gPVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b0F0dHJpYnV0ZVZhbHVlKGRlYy5rZXksIGRlYy5wcm9wcyk7XG4gICAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaXNWYWxpZGF0YWJsZUJ5VHlwZShkZWMua2V5KSkge1xuICAgICAgICAgICAgICAgICAgICAgIGlmIChkZWMua2V5ID09PSBIVE1MNUlucHV0VHlwZXMuREFURSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGREZWZpbml0aW9uLnByb3BzW1VJS2V5cy5GT1JNQVRdID1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGVjLnByb3BzLmZvcm1hdCB8fCBIVE1MNURhdGVGb3JtYXQ7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgIGNoaWxkRGVmaW5pdGlvbi5wcm9wc1tVSUtleXMuVFlQRV0gPSBkZWMua2V5O1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzQ3VzdG9tVmFsaWRhdG9yKGRlYy5rZXkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgcHJvcHNbVUlLZXlzLlNVQl9UWVBFXSA9IGRlYy5rZXk7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGRlYy5wcm9wcz8ubWVzc2FnZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHNbVUlLZXlzLlZBTElEQVRJT05fTUVTU0FHRV0gPSBkZWMucHJvcHMubWVzc2FnZTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoIWNoaWxkRGVmaW5pdGlvbi5wcm9wc1tVSUtleXMuVFlQRV0pIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IGJhc2ljVHlwZSA9IE1ldGFkYXRhLnR5cGUoXG4gICAgICAgICAgICAgICAgICAgIG1vZGVsLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yLFxuICAgICAgICAgICAgICAgICAgICBrZXkgYXMgc3RyaW5nXG4gICAgICAgICAgICAgICAgICApLm5hbWU7XG4gICAgICAgICAgICAgICAgICBjaGlsZERlZmluaXRpb24ucHJvcHNbVUlLZXlzLlRZUEVdID0gdGhpcy50cmFuc2xhdGUoXG4gICAgICAgICAgICAgICAgICAgIGJhc2ljVHlwZS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICAgICAgICAgICAgICB0cnVlXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNoaWxkRGVmaW5pdGlvbi5wcm9wcy52YWx1ZSA9IGZvcm1hdEJ5VHlwZShcbiAgICAgICAgICAgICAgICAgIGNoaWxkRGVmaW5pdGlvbi5wcm9wc1tVSUtleXMuVFlQRV0sXG4gICAgICAgICAgICAgICAgICBtb2RlbFtrZXkgYXMga2V5b2YgTV0sXG4gICAgICAgICAgICAgICAgICBjaGlsZERlZmluaXRpb24ucHJvcHNbVUlLZXlzLkZPUk1BVF1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2goY2hpbGREZWZpbml0aW9uKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgY29uc3QgY2hpbGQgPSBjaGlsZHJlbi5maW5kKFxuICAgICAgICAgICAgICAgIChjKSA9PlxuICAgICAgICAgICAgICAgICAgYy5wcm9wcz8ubmFtZSA9PT0ga2V5IHx8XG4gICAgICAgICAgICAgICAgICAoW1VJS2V5cy5VSUxBWU9VVFBST1AsIFVJS2V5cy5QQUdFLCBVSUtleXMuRVZFTlRTXS5pbmNsdWRlcyhcbiAgICAgICAgICAgICAgICAgICAgZGVjLmtleVxuICAgICAgICAgICAgICAgICAgKSAmJlxuICAgICAgICAgICAgICAgICAgICAoYy5wcm9wcz8uY2hpbGRPZiA9PT0ga2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgYy5wcm9wcz8uY2hpbGRPZj8uZW5kc1dpdGgoYC4ke2tleSBhcyBzdHJpbmd9YCkpKVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICBpZiAoY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgZGVjLmtleSA9PT0gVUlLZXlzLkhJREVfRk9SIHx8XG4gICAgICAgICAgICAgICAgICAgIGRlYy5rZXkgPT09IFVJS2V5cy5TSE9XX0ZPUlxuICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkLnByb3BzID0gT2JqZWN0LmFzc2lnbih7fSwgY2hpbGQucHJvcHMsIHZpc2liaWxpdHlQcm9wcyk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRlYy5rZXkgIT09IFVJS2V5cy5VSUxBWU9VVFBST1ApIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQucHJvcHMgPSBPYmplY3QuYXNzaWduKHt9LCBjaGlsZC5wcm9wcywge1xuICAgICAgICAgICAgICAgICAgICAgIFtkZWMua2V5XTogdWlQcm9wcyxcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHJvdywgY29sLCBwcm9wcyB9ID0gZGVjLnByb3BzIGFzIGFueTtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGQucHJvcHMgPSBPYmplY3QuYXNzaWduKFxuICAgICAgICAgICAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgICAgICAgICAgIHByb3BzIHx8IHt9LFxuICAgICAgICAgICAgICAgICAgICAgIGNoaWxkLnByb3BzLFxuICAgICAgICAgICAgICAgICAgICAgIHJvdyxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICB0aHJvdyBuZXcgUmVuZGVyaW5nRXJyb3IoYEludmFsaWQga2V5OiAke2RlYy5rZXl9YCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBnbG9iYWxQcm9wcyA9IE9iamVjdC5hc3NpZ24oe30sIHByb3BzLCBnbG9iYWxQcm9wcywge1xuICAgICAgaGFuZGxlcnM6IGhhbmRsZXJzIHx8IHt9LFxuICAgIH0pO1xuXG4gICAgY29uc3QgY3VycmVudE5hbWVzcGFjZXMgPSBuZXcgU2V0KFxuICAgICAgW1xuICAgICAgICAuLi4oQXJyYXkuaXNBcnJheShnbG9iYWxQcm9wcz8ubmFtZXNwYWNlcylcbiAgICAgICAgICA/IChnbG9iYWxQcm9wcy5uYW1lc3BhY2VzIGFzIHN0cmluZ1tdKVxuICAgICAgICAgIDogW10pLFxuICAgICAgICAuLi4odHlwZW9mIGdsb2JhbFByb3BzPy5uYW1lc3BhY2UgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICA/IFtnbG9iYWxQcm9wcy5uYW1lc3BhY2UgYXMgc3RyaW5nXVxuICAgICAgICAgIDogW10pLFxuICAgICAgXS5maWx0ZXIoQm9vbGVhbilcbiAgICApO1xuICAgIGNvbnN0IG9wZXJhdGlvbiA9IGdsb2JhbFByb3BzPy5vcGVyYXRpb247XG4gICAgY2hpbGRyZW4gPSB0aGlzLnNvcnRDaGlsZHJlbkJ5T3JkZXIoY2hpbGRyZW4pLmZpbHRlcigoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgaGlkZGVuT24gPSAoaXRlbT8ucHJvcHM/LmhpZGRlbiBhcyBDcnVkT3BlcmF0aW9uS2V5c1tdKSB8fCBbXTtcbiAgICAgIGlmIChcbiAgICAgICAgaGlkZGVuT24ubGVuZ3RoID4gMCAmJlxuICAgICAgICBoaWRkZW5Pbi5pbmNsdWRlcyhvcGVyYXRpb24gYXMgQ3J1ZE9wZXJhdGlvbktleXMpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBoaWRlRm9yID0gKGl0ZW0/LnByb3BzPy5oaWRlRm9yIGFzIHN0cmluZ1tdKSB8fCBbXTtcbiAgICAgIGNvbnN0IHNob3dGb3IgPSAoaXRlbT8ucHJvcHM/LnNob3dGb3IgYXMgc3RyaW5nW10pIHx8IFtdO1xuICAgICAgaWYgKFxuICAgICAgICBoaWRlRm9yLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgWy4uLmN1cnJlbnROYW1lc3BhY2VzXS5zb21lKChuYW1lc3BhY2UpID0+IGhpZGVGb3IuaW5jbHVkZXMobmFtZXNwYWNlKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAoXG4gICAgICAgIHNob3dGb3IubGVuZ3RoID4gMCAmJlxuICAgICAgICAhWy4uLmN1cnJlbnROYW1lc3BhY2VzXS5zb21lKChuYW1lc3BhY2UpID0+IHNob3dGb3IuaW5jbHVkZXMobmFtZXNwYWNlKSlcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbiAgICBjb25zdCByZXN1bHQ6IEZpZWxkRGVmaW5pdGlvbjxUPiA9IHtcbiAgICAgIHRhZzogdGFnLFxuICAgICAgaXRlbTogY2hpbGRQcm9wcyBhcyBVSUxpc3RJdGVtRWxlbWVudE1ldGFkYXRhLFxuICAgICAgcHJvcHM6IGdsb2JhbFByb3BzIGFzIFQgJiBGaWVsZFByb3BlcnRpZXMgJiBJUGFnZWRDb21wb25lbnRQcm9wZXJ0aWVzLFxuICAgICAgY2hpbGRyZW46IGNoaWxkcmVuPy5sZW5ndGhcbiAgICAgICAgPyAoY2hpbGRyZW4gYXMgRmllbGREZWZpbml0aW9uPGFueT5bXSlcbiAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgfTtcblxuICAgIGlmIChnZW5lcmF0ZUlkKSByZXN1bHQucmVuZGVyZXJJZCA9IGdlbmVyYXRlVUlNb2RlbElEKG1vZGVsKTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZW5kZXJzIGEgbW9kZWwgd2l0aCBnbG9iYWwgcHJvcGVydGllcyBhbmQgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4gICAqIEBzdW1tYXJ5IEFic3RyYWN0IG1ldGhvZCB0byBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzIHRvIGRlZmluZSBzcGVjaWZpYyByZW5kZXJpbmcgYmVoYXZpb3IuXG4gICAqXG4gICAqIEB0ZW1wbGF0ZSBNIFR5cGUgZXh0ZW5kaW5nIE1vZGVsXG4gICAqIEB0ZW1wbGF0ZSBSIFJlbmRlcmluZyBlbmdpbmUgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgb3V0cHV0IHR5cGVcbiAgICogQHBhcmFtIHtNfSBtb2RlbCAtIFRoZSBtb2RlbCB0byBiZSByZW5kZXJlZC5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCB1bmtub3duPn0gZ2xvYmFsUHJvcHMgLSBHbG9iYWwgcHJvcGVydGllcyB0byBiZSBhcHBsaWVkIHRvIGFsbCBlbGVtZW50cyBkdXJpbmcgcmVuZGVyaW5nLlxuICAgKiBAcGFyYW0gey4uLmFueVtdfSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMgdGhhdCBtYXkgYmUgcmVxdWlyZWQgZm9yIHNwZWNpZmljIHJlbmRlcmluZyBpbXBsZW1lbnRhdGlvbnMuXG4gICAqIEByZXR1cm5zIHtSfSBUaGUgcmVuZGVyZWQgcmVzdWx0LCB0eXBlIGRlcGVuZHMgb24gdGhlIHNwZWNpZmljIGltcGxlbWVudGF0aW9uLlxuICAgKlxuICAgKiBAYWJzdHJhY3RcbiAgICovXG4gIGFic3RyYWN0IHJlbmRlcjxNIGV4dGVuZHMgTW9kZWw+KFxuICAgIG1vZGVsOiBNLFxuICAgIGdsb2JhbFByb3BzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAuLi5hcmdzOiBhbnlbXVxuICApOiBSO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVnaXN0ZXJzIGEgcmVuZGVyaW5nIGVuZ2luZSBpbnN0YW5jZS5cbiAgICogQHN1bW1hcnkgQWRkcyBhIHJlbmRlcmluZyBlbmdpbmUgdG8gdGhlIHN0YXRpYyBjYWNoZSBhbmQgc2V0cyBpdCBhcyB0aGUgY3VycmVudCBlbmdpbmUuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVuZGVyaW5nRW5naW5lPHVua25vd24sIHVua25vd24+fSBlbmdpbmUgLSBUaGUgcmVuZGVyaW5nIGVuZ2luZSB0byByZWdpc3Rlci5cbiAgICogQHRocm93cyB7SW50ZXJuYWxFcnJvcn0gSWYgYW4gZW5naW5lIHdpdGggdGhlIHNhbWUgZmxhdm9yIGFscmVhZHkgZXhpc3RzLlxuICAgKlxuICAgKiBAc3RhdGljXG4gICAqL1xuICBzdGF0aWMgcmVnaXN0ZXIoZW5naW5lOiBSZW5kZXJpbmdFbmdpbmU8dW5rbm93biwgdW5rbm93bj4pIHtcbiAgICBpZiAoZW5naW5lLmZsYXZvdXIgaW4gdGhpcy5jYWNoZSlcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgUmVuZGVyaW5nIGVuZ2luZSB1bmRlciAke2VuZ2luZS5mbGF2b3VyfSBhbHJlYWR5IGV4aXN0c2BcbiAgICAgICk7XG4gICAgdGhpcy5jYWNoZVtlbmdpbmUuZmxhdm91cl0gPSBlbmdpbmU7XG4gICAgdGhpcy5jdXJyZW50ID0gZW5naW5lO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgb3IgaW5pdGlhbGl6ZXMgYSByZW5kZXJpbmcgZW5naW5lLlxuICAgKiBAc3VtbWFyeSBHZXRzIGFuIGV4aXN0aW5nIGVuZ2luZSBpbnN0YW5jZSBvciBjcmVhdGVzIGFuZCBpbml0aWFsaXplcyBhIG5ldyBvbmUgaWYgZ2l2ZW4gYSBjb25zdHJ1Y3Rvci5cbiAgICpcbiAgICogQHRlbXBsYXRlIE8gVGhlIHR5cGUgb2YgdGhlIHJlbmRlcmluZyBlbmdpbmUgb3V0cHV0XG4gICAqIEBwYXJhbSB7Q29uc3RydWN0b3I8UmVuZGVyaW5nRW5naW5lPE8+PiB8IFJlbmRlcmluZ0VuZ2luZTxPPn0gb2JqIC0gVGhlIGVuZ2luZSBpbnN0YW5jZSBvciBjb25zdHJ1Y3Rvci5cbiAgICogQHJldHVybnMge1JlbmRlcmluZ0VuZ2luZTxPPn0gVGhlIGluaXRpYWxpemVkIHJlbmRlcmluZyBlbmdpbmUuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqIEBzdGF0aWNcbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGdldE9yQm9vdDxPPihcbiAgICBvYmo6IENvbnN0cnVjdG9yPFJlbmRlcmluZ0VuZ2luZTxPPj4gfCBSZW5kZXJpbmdFbmdpbmU8Tz5cbiAgKTogUmVuZGVyaW5nRW5naW5lPE8+IHtcbiAgICBpZiAob2JqIGluc3RhbmNlb2YgUmVuZGVyaW5nRW5naW5lKSByZXR1cm4gb2JqIGFzIFJlbmRlcmluZ0VuZ2luZTxPPjtcbiAgICBjb25zdCBlbmdpbmU6IFJlbmRlcmluZ0VuZ2luZTxPPiA9IG5ldyBvYmooKTtcbiAgICBlbmdpbmUuaW5pdGlhbGl6ZSgpOyAvLyBtYWtlIHRoZSBib290aW5nIGFzeW5jLiB1c2UgdGhlIGluaXRpYWxpemVkIGZsYWcgdG8gY29udHJvbCBpdFxuICAgIHJldHVybiBlbmdpbmUgYXMgUmVuZGVyaW5nRW5naW5lPE8+O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgYSByZW5kZXJpbmcgZW5naW5lIGJ5IGZsYXZvci5cbiAgICogQHN1bW1hcnkgR2V0cyB0aGUgY3VycmVudCByZW5kZXJpbmcgZW5naW5lIG9yIGEgc3BlY2lmaWMgb25lIGJ5IGZsYXZvci5cbiAgICpcbiAgICogQHRlbXBsYXRlIE8gVGhlIHR5cGUgb2YgdGhlIHJlbmRlcmluZyBlbmdpbmUgb3V0cHV0XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZmxhdm91cl0gLSBUaGUgZmxhdm9yIG9mIHRoZSByZW5kZXJpbmcgZW5naW5lIHRvIHJldHJpZXZlLlxuICAgKiBAcmV0dXJucyB7UmVuZGVyaW5nRW5naW5lPE8+fSBUaGUgcmVxdWVzdGVkIHJlbmRlcmluZyBlbmdpbmUuXG4gICAqIEB0aHJvd3Mge0ludGVybmFsRXJyb3J9IElmIHRoZSByZXF1ZXN0ZWQgZmxhdm9yIGRvZXMgbm90IGV4aXN0LlxuICAgKlxuICAgKiBAc3RhdGljXG4gICAqL1xuICBzdGF0aWMgZ2V0PE8+KGZsYXZvdXI/OiBzdHJpbmcpOiBSZW5kZXJpbmdFbmdpbmU8Tz4ge1xuICAgIGlmICghZmxhdm91cilcbiAgICAgIHJldHVybiB0aGlzLmdldE9yQm9vdDxPPihcbiAgICAgICAgdGhpcy5jdXJyZW50IGFzIENvbnN0cnVjdG9yPFJlbmRlcmluZ0VuZ2luZTxPPj4gfCBSZW5kZXJpbmdFbmdpbmU8Tz5cbiAgICAgICk7XG4gICAgaWYgKCEoZmxhdm91ciBpbiB0aGlzLmNhY2hlKSlcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgUmVuZGVyaW5nIGVuZ2luZSB1bmRlciAke2ZsYXZvdXJ9IGRvZXMgbm90IGV4aXN0YFxuICAgICAgKTtcbiAgICByZXR1cm4gdGhpcy5nZXRPckJvb3Q8Tz4oXG4gICAgICB0aGlzLmNhY2hlW2ZsYXZvdXJdIGFzXG4gICAgICAgIHwgQ29uc3RydWN0b3I8UmVuZGVyaW5nRW5naW5lPE8+PlxuICAgICAgICB8IFJlbmRlcmluZ0VuZ2luZTxPPlxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlbmRlcnMgYSBtb2RlbCB1c2luZyB0aGUgYXBwcm9wcmlhdGUgcmVuZGVyaW5nIGVuZ2luZS5cbiAgICogQHN1bW1hcnkgRGV0ZXJtaW5lcyB0aGUgY29ycmVjdCByZW5kZXJpbmcgZW5naW5lIGZvciBhIG1vZGVsIGFuZCBpbnZva2VzIGl0cyByZW5kZXIgbWV0aG9kLlxuICAgKlxuICAgKiBAdGVtcGxhdGUgTSBUeXBlIGV4dGVuZGluZyBNb2RlbFxuICAgKiBAcGFyYW0ge019IG1vZGVsIC0gVGhlIG1vZGVsIHRvIHJlbmRlci5cbiAgICogQHBhcmFtIHsuLi5hbnlbXX0gYXJncyAtIEFkZGl0aW9uYWwgYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIHJlbmRlciBtZXRob2QuXG4gICAqIEByZXR1cm5zIHthbnl9IFRoZSByZXN1bHQgb2YgdGhlIHJlbmRlcmluZyBwcm9jZXNzLlxuICAgKiBAdGhyb3dzIHtJbnRlcm5hbEVycm9yfSBJZiBubyByZWdpc3RlcmVkIG1vZGVsIGlzIGZvdW5kLlxuICAgKlxuICAgKiBAc3RhdGljXG4gICAqL1xuICBzdGF0aWMgcmVuZGVyPE0gZXh0ZW5kcyBNb2RlbD4obW9kZWw6IE0sIC4uLmFyZ3M6IGFueVtdKTogYW55IHtcbiAgICBjb25zdCBjb25zdHJ1Y3RvciA9XG4gICAgICBNb2RlbC5nZXQobW9kZWwuY29uc3RydWN0b3IubmFtZSkgfHwgTW9kZWwuZnJvbU9iamVjdChtb2RlbCk7XG4gICAgaWYgKCFjb25zdHJ1Y3RvcikgdGhyb3cgbmV3IEludGVybmFsRXJyb3IoXCJObyBtb2RlbCByZWdpc3RlcmVkIGZvdW5kXCIpO1xuICAgIGNvbnN0IGZsYXZvdXIgPSBNb2RlbC5yZW5kZXJlZEJ5KG1vZGVsLmNvbnN0cnVjdG9yIGFzIENvbnN0cnVjdG9yPE0+KTtcblxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZm9yIHRoZSB2YXIgYXJncyB0eXBlIGNoZWNrXG4gICAgcmV0dXJuIFJlbmRlcmluZ0VuZ2luZS5nZXQoZmxhdm91cikucmVuZGVyKG1vZGVsLCAuLi5hcmdzKTtcbiAgfVxufVxuLy9cbi8vIERlY29yYXRpb24uZm9yKERCS2V5cy5JRClcbi8vICAgLmV4dGVuZCh7XG4vLyAgICAgZGVjb3JhdG9yOiBmdW5jdGlvbiBwayhvcHRpb25zOiB7IGdlbmVyYXRlZDogYm9vbGVhbiB9KSB7XG4vLyAgICAgICByZXR1cm4gZnVuY3Rpb24gaW5uZXJQayh0YXJnZXQ6IG9iamVjdCwgcHJvcGVydHlLZXk/OiBhbnkpIHtcbi8vICAgICAgICAgaWYgKG9wdGlvbnMuZ2VuZXJhdGVkKVxuLy8gICAgICAgICAgIGhpZGVPbihPcGVyYXRpb25LZXlzLkNSRUFURSwgT3BlcmF0aW9uS2V5cy5VUERBVEUpKFxuLy8gICAgICAgICAgICAgdGFyZ2V0LFxuLy8gICAgICAgICAgICAgcHJvcGVydHlLZXlcbi8vICAgICAgICAgICApO1xuLy8gICAgICAgfTtcbi8vICAgICB9LFxuLy8gICB9KVxuLy8gICAuYXBwbHkoKTtcbi8vXG4vLyBEZWNvcmF0aW9uLmZvcihEQktleXMuVElNRVNUQU1QKVxuLy8gICAuZXh0ZW5kKHtcbi8vICAgICBkZWNvcmF0b3I6IGZ1bmN0aW9uIHRpbWVzdGFtcChvcHM6IE9wZXJhdGlvbktleXNbXSkge1xuLy8gICAgICAgcmV0dXJuIGhpZGVPbiguLi4ob3BzIGFzIGFueVtdKSk7XG4vLyAgICAgfSxcbi8vICAgfSlcbi8vICAgLmFwcGx5KCk7XG4vL1xuLy8gRGVjb3JhdGlvbi5mb3IoREJLZXlzLkNPTVBPU0VEKVxuLy8gICAuZXh0ZW5kKHtcbi8vICAgICBkZWNvcmF0b3I6IGZ1bmN0aW9uIGNvbXBvc2VkKCkge1xuLy8gICAgICAgcmV0dXJuIGhpZGVPbihPcGVyYXRpb25LZXlzLkNSRUFURSwgT3BlcmF0aW9uS2V5cy5VUERBVEUpO1xuLy8gICAgIH0sXG4vLyAgIH0pXG4vLyAgIC5hcHBseSgpO1xuLy9cbi8vIERlY29yYXRpb24uZm9yKFwiY3JlYXRlZEJ5XCIpXG4vLyAgIC5leHRlbmQoe1xuLy8gICAgIGRlY29yYXRvcjogZnVuY3Rpb24gY3JlYXRlZEJ5KCkge1xuLy8gICAgICAgcmV0dXJuIGhpZGVPbihPcGVyYXRpb25LZXlzLkNSRUFURSwgT3BlcmF0aW9uS2V5cy5VUERBVEUpO1xuLy8gICAgIH0sXG4vLyAgIH0pXG4vLyAgIC5hcHBseSgpO1xuLy9cbi8vIERlY29yYXRpb24uZm9yKFwidXBkYXRlZEJ5XCIpXG4vLyAgIC5leHRlbmQoe1xuLy8gICAgIGRlY29yYXRvcjogZnVuY3Rpb24gY3JlYXRlZEJ5KCkge1xuLy8gICAgICAgcmV0dXJuIGhpZGVPbihPcGVyYXRpb25LZXlzLkNSRUFURSwgT3BlcmF0aW9uS2V5cy5VUERBVEUpO1xuLy8gICAgIH0sXG4vLyAgIH0pXG4vLyAgIC5hcHBseSgpO1xuIl19
|
|
@@ -6,4 +6,4 @@ export class UIValidator extends Validator {
|
|
|
6
6
|
return super.getMessage(message, ...args);
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVUlWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvVUlWYWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRzNELE1BQU0sT0FBZ0IsV0FBWSxTQUFRLFNBQVM7SUFHeEMsVUFBVSxDQUFDLE9BQWUsRUFBRSxHQUFHLElBQVc7UUFDakQsSUFBSSxXQUFXLENBQUMsZ0JBQWdCO1lBQzlCLE9BQU8sV0FBVyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUNsRSxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDNUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgRGVjYWZUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIi4vRGVjYWZUcmFuc2xhdGVTZXJ2aWNlXCI7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBVSVZhbGlkYXRvciBleHRlbmRzIFZhbGlkYXRvciB7XG4gIHN0YXRpYyB0cmFuc2xhdGVTZXJ2aWNlOiBEZWNhZlRyYW5zbGF0ZVNlcnZpY2U7XG5cbiAgb3ZlcnJpZGUgZ2V0TWVzc2FnZShtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogc3RyaW5nIHtcbiAgICBpZiAoVUlWYWxpZGF0b3IudHJhbnNsYXRlU2VydmljZSlcbiAgICAgIHJldHVybiBVSVZhbGlkYXRvci50cmFuc2xhdGVTZXJ2aWNlLnRyYW5zbGF0ZShtZXNzYWdlLCAuLi5hcmdzKTtcbiAgICByZXR1cm4gc3VwZXIuZ2V0TWVzc2FnZShtZXNzYWdlLCAuLi5hcmdzKTtcbiAgfVxufVxuIl19
|
package/lib/esm/ui/constants.js
CHANGED
|
@@ -378,4 +378,4 @@ export const WindowColorSchemes = {
|
|
|
378
378
|
dark: "dark",
|
|
379
379
|
undefined: "undefined",
|
|
380
380
|
};
|
|
381
|
-
//# sourceMappingURL=constants.js.map
|
|
381
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBRUgsT0FBTyxFQUNMLGFBQWEsRUFDYixhQUFhLEVBQ2IsY0FBYyxFQUNkLGVBQWUsRUFDZiwyQkFBMkIsRUFDM0Isb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUN4QixpQkFBaUIsRUFDakIsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixrQkFBa0IsRUFDbEIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixZQUFZLEVBQ1osY0FBYyxHQUVmLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE1BQU0sQ0FBTixJQUFZLGtCQUtYO0FBTEQsV0FBWSxrQkFBa0I7SUFDNUIscUNBQWUsQ0FBQTtJQUNmLHVDQUFpQixDQUFBO0lBQ2pCLHFDQUFlLENBQUE7SUFDZix1Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTFcsa0JBQWtCLEtBQWxCLGtCQUFrQixRQUs3QjtBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRDRztBQUNILE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRztJQUNwQixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFdBQVcsRUFBRSxhQUFhO0lBQzFCLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFQUFFLFNBQVM7SUFDaEIsSUFBSSxFQUFFLE1BQU07SUFDWixXQUFXLEVBQUUsUUFBUTtJQUNyQixrQkFBa0IsRUFBRSxtQkFBbUI7SUFFdkMsV0FBVyxFQUFFLGFBQWE7SUFDMUIsVUFBVSxFQUFFLFlBQVk7SUFDeEIsUUFBUSxFQUFF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RUFBRSxVQUFVO0lBQ3BCLElBQUksRUFBRSxFQUFFO0NBQ0EsQ0FBQztBQUVYOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRztJQUN6QixNQUFNLEVBQUUsUUFBUTtJQUNoQixPQUFPLEVBQUUsU0FBUztJQUNsQixNQUFNLEVBQUUsUUFBUTtJQUNoQixLQUFLLEVBQUUsT0FBTztJQUNkLElBQUksRUFBRSxNQUFNO0lBQ1osQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsYUFBYSxDQUFDLE1BQU07SUFDNUMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsYUFBYSxDQUFDLElBQUk7SUFDeEMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsYUFBYSxDQUFDLE1BQU07SUFDNUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsYUFBYSxDQUFDLE1BQU07Q0FDcEMsQ0FBQztBQUVYOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUc7SUFDaEMsS0FBSyxFQUFFLE9BQU87SUFDZCxJQUFJLEVBQUUsTUFBTTtJQUNaLFNBQVMsRUFBRSxXQUFXO0NBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIENvbnN0YW50cyBhbmQgZW51bXMgZm9yIFVJIHJlbmRlcmluZyBhbmQgdmFsaWRhdGlvblxuICogQHN1bW1hcnkgRGVmaW5lcyBrZXlzLCBtYXBwaW5ncywgYW5kIEhUTUw1IGlucHV0IHR5cGVzIGZvciBVSSBjb21wb25lbnRzXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBjb25zdGFudHMgdXNlZCB0aHJvdWdob3V0IHRoZSBVSSBkZWNvcmF0b3JzIGxpYnJhcnkgZm9yXG4gKiByZW5kZXJpbmcsIHZhbGlkYXRpb24sIGFuZCBIVE1MIGVsZW1lbnQgZ2VuZXJhdGlvbi5cbiAqIEBtb2R1bGUgdWkvY29uc3RhbnRzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuXG5pbXBvcnQge1xuICBEYXRlVmFsaWRhdG9yLFxuICBEaWZmVmFsaWRhdG9yLFxuICBFbWFpbFZhbGlkYXRvcixcbiAgRXF1YWxzVmFsaWRhdG9yLFxuICBHcmVhdGVyVGhhbk9yRXF1YWxWYWxpZGF0b3IsXG4gIEdyZWF0ZXJUaGFuVmFsaWRhdG9yLFxuICBMZXNzVGhhbk9yRXF1YWxWYWxpZGF0b3IsXG4gIExlc3NUaGFuVmFsaWRhdG9yLFxuICBNYXhMZW5ndGhWYWxpZGF0b3IsXG4gIE1heFZhbGlkYXRvcixcbiAgTWluTGVuZ3RoVmFsaWRhdG9yLFxuICBNaW5WYWxpZGF0b3IsXG4gIFBhc3N3b3JkVmFsaWRhdG9yLFxuICBQYXR0ZXJuVmFsaWRhdG9yLFxuICBSZXF1aXJlZFZhbGlkYXRvcixcbiAgU3RlcFZhbGlkYXRvcixcbiAgVVJMVmFsaWRhdG9yLFxuICBWYWxpZGF0aW9uS2V5cyxcbiAgVmFsaWRhdG9yLFxufSBmcm9tIFwiQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uXCI7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHsgT3BlcmF0aW9uS2V5cyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG5leHBvcnQgZW51bSBVSU1lZGlhQnJlYWtQb2ludHMge1xuICBTTUFMTCA9IFwic21hbGxcIixcbiAgTUVESVVNID0gXCJtZWRpdW1cIixcbiAgTEFSR0UgPSBcImxhcmdlXCIsXG4gIFhMQVJHRSA9IFwieGxhcmdlXCIsXG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEtleSBjb25zdGFudHMgdXNlZCBmb3IgVUkgbWV0YWRhdGEgYW5kIHJlbmRlcmluZ1xuICogQHN1bW1hcnkgQ29sbGVjdGlvbiBvZiBzdHJpbmcgY29uc3RhbnRzIHVzZWQgYXMga2V5cyBmb3IgVUktcmVsYXRlZCBtZXRhZGF0YVxuICogVGhlc2Uga2V5cyBhcmUgdXNlZCB0aHJvdWdob3V0IHRoZSBsaWJyYXJ5IHRvIHN0b3JlIGFuZCByZXRyaWV2ZSBtZXRhZGF0YSByZWxhdGVkIHRvXG4gKiBVSSBtb2RlbHMsIGVsZW1lbnRzLCBwcm9wZXJ0aWVzLCBhbmQgdmFsaWRhdGlvbiBydWxlcy5cbiAqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBVSUtleXNUeXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVGTEVDVCAtIEJhc2UgcmVmbGVjdGlvbiBrZXkgZm9yIFVJIG1ldGFkYXRhXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVUlNT0RFTCAtIEtleSBmb3IgVUkgbW9kZWwgbWV0YWRhdGFcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBSRU5ERVJFRF9CWSAtIEtleSBmb3Igc3BlY2lmeWluZyByZW5kZXJpbmcgZW5naW5lXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRUxFTUVOVCAtIEtleSBmb3IgZWxlbWVudCBtZXRhZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFBST1AgLSBLZXkgZm9yIHByb3BlcnR5IG1ldGFkYXRhXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTkFNRSAtIEtleSBmb3IgbmFtZSBhdHRyaWJ1dGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBOQU1FX1BSRUZJWCAtIFByZWZpeCBmb3IgaW5wdXQgbmFtZXNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBDVVNUT01fUFJPUFMgLSBLZXkgZm9yIGN1c3RvbSB2YWxpZGF0aW9uIHByb3BlcnRpZXNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBVSUxJU1RNT0RFTCAtIEtleSBmb3IgbGlzdCBpdGVtIG1ldGFkYXRhXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVUlMSVNUUFJPUCAtIEtleSBmb3IgbGlzdCBwcm9wZXJ0eSBtZXRhZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFRZUEUgLSBLZXkgZm9yIHR5cGUgbWV0YWRhdGFcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBTVUJfVFlQRSAtIEtleSBmb3Igc3VidHlwZSBtZXRhZGF0YVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEhJRERFTiAtIEtleSBmb3IgaGlkZGVuIGF0dHJpYnV0ZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEZPUk1BVCAtIEtleSBmb3IgZm9ybWF0IG1ldGFkYXRhXG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkVBRF9PTkxZIC0gS2V5IGZvciByZWFkb25seSBhdHRyaWJ1dGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBSRVFVSVJFRCAtIEtleSBmb3IgcmVxdWlyZWQgdmFsaWRhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1JTiAtIEtleSBmb3IgbWluaW11bSB2YWx1ZSB2YWxpZGF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUlOX0xFTkdUSCAtIEtleSBmb3IgbWluaW11bSBsZW5ndGggdmFsaWRhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IE1BWCAtIEtleSBmb3IgbWF4aW11bSB2YWx1ZSB2YWxpZGF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTUFYX0xFTkdUSCAtIEtleSBmb3IgbWF4aW11bSBsZW5ndGggdmFsaWRhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFBBVFRFUk4gLSBLZXkgZm9yIHBhdHRlcm4gdmFsaWRhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFVSTCAtIEtleSBmb3IgVVJMIHZhbGlkYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBTVEVQIC0gS2V5IGZvciBzdGVwIHZhbGlkYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBEQVRFIC0gS2V5IGZvciBkYXRlIHZhbGlkYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBFTUFJTCAtIEtleSBmb3IgZW1haWwgdmFsaWRhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFBBU1NXT1JEIC0gS2V5IGZvciBwYXNzd29yZCB2YWxpZGF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRVFVQUxTIC0gS2V5IGZvciBlcXVhbGl0eSB2YWxpZGF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gRElGRiAtIEtleSBmb3IgZGlmZmVyZW5jZSB2YWxpZGF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTEVTU19USEFOIC0gS2V5IGZvciBsZXNzIHRoYW4gdmFsaWRhdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IExFU1NfVEhBTl9PUl9FUVVBTCAtIEtleSBmb3IgbGVzcyB0aGFuIG9yIGVxdWFsIHZhbGlkYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBHUkVBVEVSX1RIQU4gLSBLZXkgZm9yIGdyZWF0ZXIgdGhhbiB2YWxpZGF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gR1JFQVRFUl9USEFOX09SX0VRVUFMIC0gS2V5IGZvciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdmFsaWRhdGlvblxuICpcbiAqIEBjb25zdCBVSUtleXNcbiAqIEB0eXBlIHtVSUtleXNUeXBlfVxuICogQHJlYWRvbmx5XG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFVJS2V5cyA9IHtcbiAgUkVGTEVDVDogYHVpYCxcbiAgVUlNT0RFTDogXCJ1aW1vZGVsXCIsXG4gIFJFTkRFUkVEX0JZOiBcInJlbmRlcmVkLWJ5XCIsXG4gIEVMRU1FTlQ6IFwidWllbGVtZW50XCIsXG4gIFBST1A6IFwidWlwcm9wXCIsXG4gIENISUxEOiBcInVpY2hpbGRcIixcbiAgTkFNRTogXCJuYW1lXCIsXG4gIE5BTUVfUFJFRklYOiBcImlucHV0LVwiLFxuICBWQUxJREFUSU9OX01FU1NBR0U6IFwidmFsaWRhdGlvbk1lc3NhZ2VcIixcblxuICBVSUxJU1RNT0RFTDogXCJ1aWxpc3Rtb2RlbFwiLFxuICBVSUxJU1RQUk9QOiBcInVpbGlzdHByb3BcIixcbiAgVUlMQVlPVVQ6IFwidWlsYXlvdXRcIixcbiAgVUlMQVlPVVRQUk9QOiBcInVpbGF5b3V0cHJvcFwiLFxuICBIQU5ETEVSUzogXCJoYW5kbGVyc1wiLFxuXG4gIFRZUEU6IFwidHlwZVwiLFxuICBTVUJfVFlQRTogXCJzdWJUeXBlXCIsXG5cbiAgSElEREVOOiBcImhpZGRlblwiLFxuICBISURFX0ZPUjogXCJoaWRlLWZvclwiLFxuICBTSE9XX0ZPUjogXCJzaG93LWZvclwiLFxuICBSRU5ERVJfSUY6IFwicmVuZGVyLWlmXCIsXG4gIEZPUk1BVDogXCJmb3JtYXRcIixcbiAgT1JERVI6IFwib3JkZXJcIixcbiAgUEFHRTogXCJwYWdlXCIsXG4gIEVWRU5UUzogXCJldmVudHNcIixcblxuICBGSVJTVDogXCJmaXJzdFwiLFxuICBMQVNUOiBcImxhc3RcIixcblxuICBSRUFEX09OTFk6IFwicmVhZG9ubHlcIixcbiAgU0VRVUVOQ0U6IFwic2VxdWVuY2VcIixcbiAgUkVRVUlSRUQ6IFZhbGlkYXRpb25LZXlzLlJFUVVJUkVELFxuICBNSU46IFZhbGlkYXRpb25LZXlzLk1JTixcbiAgTUlOX0xFTkdUSDogVmFsaWRhdGlvbktleXMuTUlOX0xFTkdUSCxcbiAgTUFYOiBWYWxpZGF0aW9uS2V5cy5NQVgsXG4gIE1BWF9MRU5HVEg6IFZhbGlkYXRpb25LZXlzLk1BWF9MRU5HVEgsXG4gIFBBVFRFUk46IFZhbGlkYXRpb25LZXlzLlBBVFRFUk4sXG4gIFVSTDogVmFsaWRhdGlvbktleXMuVVJMLFxuICBTVEVQOiBWYWxpZGF0aW9uS2V5cy5TVEVQLFxuICBEQVRFOiBWYWxpZGF0aW9uS2V5cy5EQVRFLFxuICBFTUFJTDogVmFsaWRhdGlvbktleXMuRU1BSUwsXG4gIFBBU1NXT1JEOiBWYWxpZGF0aW9uS2V5cy5QQVNTV09SRCxcbiAgRVFVQUxTOiBWYWxpZGF0aW9uS2V5cy5FUVVBTFMsXG4gIERJRkY6IFZhbGlkYXRpb25LZXlzLkRJRkYsXG4gIExFU1NfVEhBTjogVmFsaWRhdGlvbktleXMuTEVTU19USEFOLFxuICBMRVNTX1RIQU5fT1JfRVFVQUw6IFZhbGlkYXRpb25LZXlzLkxFU1NfVEhBTl9PUl9FUVVBTCxcbiAgR1JFQVRFUl9USEFOOiBWYWxpZGF0aW9uS2V5cy5HUkVBVEVSX1RIQU4sXG4gIEdSRUFURVJfVEhBTl9PUl9FUVVBTDogVmFsaWRhdGlvbktleXMuR1JFQVRFUl9USEFOX09SX0VRVUFMLFxufTtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gTWFwcGluZyBvZiBpbnB1dCB0eXBlcyB0byB0aGVpciBjb3JyZXNwb25kaW5nIHZhbGlkYXRvcnNcbiAqIEBzdW1tYXJ5IE1hcHMgc3BlY2lhbCBpbnB1dCB0eXBlcyB0byB0aGVpciB2YWxpZGF0b3IgY2xhc3Nlc1xuICogVGhpcyBjb25zdGFudCBtYXBzIGlucHV0IHR5cGVzIGxpa2UgZW1haWwsIFVSTCwgZGF0ZSwgYW5kIHBhc3N3b3JkIHRvIHRoZWlyXG4gKiBjb3JyZXNwb25kaW5nIHZhbGlkYXRvciBjbGFzc2VzIGZyb20gdGhlIGRlY29yYXRvci12YWxpZGF0aW9uIGxpYnJhcnkuXG4gKlxuICogQHR5cGVkZWYge09iamVjdC48c3RyaW5nLCBDb25zdHJ1Y3RvcjxWYWxpZGF0b3I+Pn0gVmFsaWRhdGFibGVCeVR5cGVNYXBcbiAqIEBwcm9wZXJ0eSB7Q29uc3RydWN0b3I8RW1haWxWYWxpZGF0b3I+fSBlbWFpbCAtIFZhbGlkYXRvciBmb3IgZW1haWwgaW5wdXRzXG4gKiBAcHJvcGVydHkge0NvbnN0cnVjdG9yPFVSTFZhbGlkYXRvcj59IHVybCAtIFZhbGlkYXRvciBmb3IgVVJMIGlucHV0c1xuICogQHByb3BlcnR5IHtDb25zdHJ1Y3RvcjxEYXRlVmFsaWRhdG9yPn0gZGF0ZSAtIFZhbGlkYXRvciBmb3IgZGF0ZSBpbnB1dHNcbiAqIEBwcm9wZXJ0eSB7Q29uc3RydWN0b3I8UGFzc3dvcmRWYWxpZGF0b3I+fSBwYXNzd29yZCAtIFZhbGlkYXRvciBmb3IgcGFzc3dvcmQgaW5wdXRzXG4gKlxuICogQGNvbnN0IFZhbGlkYXRhYmxlQnlUeXBlXG4gKiBAdHlwZSB7VmFsaWRhdGFibGVCeVR5cGVNYXB9XG4gKiBAcmVhZG9ubHlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5leHBvcnQgY29uc3QgVmFsaWRhdGFibGVCeVR5cGU6IFJlY29yZDxzdHJpbmcsIENvbnN0cnVjdG9yPFZhbGlkYXRvcj4+ID0ge1xuICBbVUlLZXlzLkVNQUlMXTogRW1haWxWYWxpZGF0b3IsXG4gIFtVSUtleXMuVVJMXTogVVJMVmFsaWRhdG9yLFxuICBbVUlLZXlzLkRBVEVdOiBEYXRlVmFsaWRhdG9yLFxuICBbVUlLZXlzLlBBU1NXT1JEXTogUGFzc3dvcmRWYWxpZGF0b3IsXG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBNYXBwaW5nIG9mIHZhbGlkYXRpb24gYXR0cmlidXRlcyB0byB0aGVpciBjb3JyZXNwb25kaW5nIHZhbGlkYXRvcnNcbiAqIEBzdW1tYXJ5IE1hcHMgSFRNTCB2YWxpZGF0aW9uIGF0dHJpYnV0ZXMgdG8gdGhlaXIgdmFsaWRhdG9yIGNsYXNzZXNcbiAqIFRoaXMgY29uc3RhbnQgbWFwcyBIVE1MIHZhbGlkYXRpb24gYXR0cmlidXRlcyBsaWtlIHJlcXVpcmVkLCBtaW4sIG1heCwgcGF0dGVybiwgZXRjLlxuICogdG8gdGhlaXIgY29ycmVzcG9uZGluZyB2YWxpZGF0b3IgY2xhc3NlcyBmcm9tIHRoZSBkZWNvcmF0b3ItdmFsaWRhdGlvbiBsaWJyYXJ5LlxuICpcbiAqIEB0eXBlZGVmIHtPYmplY3QuPHN0cmluZywgQ29uc3RydWN0b3I8VmFsaWRhdG9yPj59IFZhbGlkYXRhYmxlQnlBdHRyaWJ1dGVNYXBcbiAqIEBwcm9wZXJ0eSB7Q29uc3RydWN0b3I8UmVxdWlyZWRWYWxpZGF0b3I+fSByZXF1aXJlZCAtIFZhbGlkYXRvciBmb3IgcmVxdWlyZWQgZmllbGRzXG4gKiBAcHJvcGVydHkge0NvbnN0cnVjdG9yPE1pblZhbGlkYXRvcj59IG1pbiAtIFZhbGlkYXRvciBmb3IgbWluaW11bSB2YWx1ZVxuICogQHByb3BlcnR5IHtDb25zdHJ1Y3RvcjxNYXhWYWxpZGF0b3I+fSBtYXggLSBWYWxpZGF0b3IgZm9yIG1heGltdW0gdmFsdWVcbiAqIEBwcm9wZXJ0eSB7Q29uc3RydWN0b3I8U3RlcFZhbGlkYXRvcj59IHN0ZXAgLSBWYWxpZGF0b3IgZm9yIHN0ZXAgdmFsdWVcbiAqIEBwcm9wZXJ0eSB7Q29uc3RydWN0b3I8TWluTGVuZ3RoVmFsaWRhdG9yPn0gbWlubGVuZ3RoIC0gVmFsaWRhdG9yIGZvciBtaW5pbXVtIGxlbmd0aFxuICogQHByb3BlcnR5IHtDb25zdHJ1Y3RvcjxNYXhMZW5ndGhWYWxpZGF0b3I+fSBtYXhsZW5ndGggLSBWYWxpZGF0b3IgZm9yIG1heGltdW0gbGVuZ3RoXG4gKiBAcHJvcGVydHkge0NvbnN0cnVjdG9yPFBhdHRlcm5WYWxpZGF0b3I+fSBwYXR0ZXJuIC0gVmFsaWRhdG9yIGZvciByZWdleCBwYXR0ZXJuXG4gKiBAcHJvcGVydHkge0NvbnN0cnVjdG9yPEVxdWFsc1ZhbGlkYXRvcj59IGVxdWFscyAtIFZhbGlkYXRvciBmb3IgZXF1YWxpdHlcbiAqIEBwcm9wZXJ0eSB7Q29uc3RydWN0b3I8RGlmZlZhbGlkYXRvcj59IGRpZmYgLSBWYWxpZGF0b3IgZm9yIGRpZmZlcmVuY2VcbiAqIEBwcm9wZXJ0eSB7Q29uc3RydWN0b3I8TGVzc1RoYW5WYWxpZGF0b3I+fSBsZXNzdGhhbiAtIFZhbGlkYXRvciBmb3IgbGVzcyB0aGFuIGNvbXBhcmlzb25cbiAqIEBwcm9wZXJ0eSB7Q29uc3RydWN0b3I8TGVzc1RoYW5PckVxdWFsVmFsaWRhdG9yPn0gbGVzc3RoYW5vcmVxdWFsIC0gVmFsaWRhdG9yIGZvciBsZXNzIHRoYW4gb3IgZXF1YWwgY29tcGFyaXNvblxuICogQHByb3BlcnR5IHtDb25zdHJ1Y3RvcjxHcmVhdGVyVGhhblZhbGlkYXRvcj59IGdyZWF0ZXJ0aGFuIC0gVmFsaWRhdG9yIGZvciBncmVhdGVyIHRoYW4gY29tcGFyaXNvblxuICogQHByb3BlcnR5IHtDb25zdHJ1Y3RvcjxHcmVhdGVyVGhhbk9yRXF1YWxWYWxpZGF0b3I+fSBncmVhdGVydGhhbm9yZXF1YWwgLSBWYWxpZGF0b3IgZm9yIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCBjb21wYXJpc29uXG4gKlxuICogQGNvbnN0IFZhbGlkYXRhYmxlQnlBdHRyaWJ1dGVcbiAqIEB0eXBlIHtWYWxpZGF0YWJsZUJ5QXR0cmlidXRlTWFwfVxuICogQHJlYWRvbmx5XG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IFZhbGlkYXRhYmxlQnlBdHRyaWJ1dGU6IFJlY29yZDxzdHJpbmcsIENvbnN0cnVjdG9yPFZhbGlkYXRvcj4+ID0ge1xuICBbVUlLZXlzLlJFUVVJUkVEXTogUmVxdWlyZWRWYWxpZGF0b3IsXG4gIFtVSUtleXMuTUlOXTogTWluVmFsaWRhdG9yLFxuICBbVUlLZXlzLk1BWF06IE1heFZhbGlkYXRvcixcbiAgW1VJS2V5cy5TVEVQXTogU3RlcFZhbGlkYXRvcixcbiAgW1VJS2V5cy5NSU5fTEVOR1RIXTogTWluTGVuZ3RoVmFsaWRhdG9yLFxuICBbVUlLZXlzLk1BWF9MRU5HVEhdOiBNYXhMZW5ndGhWYWxpZGF0b3IsXG4gIFtVSUtleXMuUEFUVEVSTl06IFBhdHRlcm5WYWxpZGF0b3IsXG4gIFtVSUtleXMuRVFVQUxTXTogRXF1YWxzVmFsaWRhdG9yLFxuICBbVUlLZXlzLkRJRkZdOiBEaWZmVmFsaWRhdG9yLFxuICBbVUlLZXlzLkxFU1NfVEhBTl06IExlc3NUaGFuVmFsaWRhdG9yLFxuICBbVUlLZXlzLkxFU1NfVEhBTl9PUl9FUVVBTF06IExlc3NUaGFuT3JFcXVhbFZhbGlkYXRvcixcbiAgW1VJS2V5cy5HUkVBVEVSX1RIQU5dOiBHcmVhdGVyVGhhblZhbGlkYXRvcixcbiAgW1VJS2V5cy5HUkVBVEVSX1RIQU5fT1JfRVFVQUxdOiBHcmVhdGVyVGhhbk9yRXF1YWxWYWxpZGF0b3IsXG59O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBTdGFuZGFyZCBkYXRlIGZvcm1hdCBzdHJpbmcgZm9yIEhUTUw1IGRhdGUgaW5wdXRzXG4gKiBAc3VtbWFyeSBGb3JtYXQgc3RyaW5nIGZvciBIVE1MNSBkYXRlIGlucHV0cyAoeXl5eS1NTS1kZClcbiAqIFRoaXMgY29uc3RhbnQgZGVmaW5lcyB0aGUgc3RhbmRhcmQgZGF0ZSBmb3JtYXQgc3RyaW5nIHVzZWQgZm9yIEhUTUw1IGRhdGUgaW5wdXRzLlxuICpcbiAqIEBjb25zdCBIVE1MNURhdGVGb3JtYXRcbiAqIEB0eXBlIHtzdHJpbmd9XG4gKiBAcmVhZG9ubHlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5leHBvcnQgY29uc3QgSFRNTDVEYXRlRm9ybWF0ID0gXCJ5eXl5LU1NLWRkXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbGxlY3Rpb24gb2YgSFRNTDUgaW5wdXQgdHlwZSB2YWx1ZXNcbiAqIEBzdW1tYXJ5IE1hcHMgaW5wdXQgdHlwZSBjb25zdGFudHMgdG8gdGhlaXIgSFRNTCBhdHRyaWJ1dGUgdmFsdWVzXG4gKiBUaGlzIGNvbnN0YW50IHByb3ZpZGVzIGEgbWFwcGluZyBvZiBpbnB1dCB0eXBlIGNvbnN0YW50cyB0byB0aGVpciBjb3JyZXNwb25kaW5nXG4gKiBIVE1MIGF0dHJpYnV0ZSB2YWx1ZXMgZm9yIHVzZSBpbiBmb3JtIGVsZW1lbnRzLlxuICpcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEhUTUw1SW5wdXRUeXBlc01hcFxuICogQHByb3BlcnR5IHtzdHJpbmd9IEJVVFRPTiAtIEJ1dHRvbiBpbnB1dCB0eXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gQ0hFQ0tCT1ggLSBDaGVja2JveCBpbnB1dCB0eXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gQ09MT1IgLSBDb2xvciBwaWNrZXIgaW5wdXQgdHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IERBVEUgLSBEYXRlIHBpY2tlciBpbnB1dCB0eXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gREFURVRJTUVfTE9DQUwgLSBMb2NhbCBkYXRldGltZSBwaWNrZXIgaW5wdXQgdHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEVNQUlMIC0gRW1haWwgaW5wdXQgdHlwZSB3aXRoIHZhbGlkYXRpb25cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBGSUxFIC0gRmlsZSB1cGxvYWQgaW5wdXQgdHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IEhJRERFTiAtIEhpZGRlbiBpbnB1dCB0eXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gSU1BR0UgLSBJbWFnZSBpbnB1dCB0eXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gTU9OVEggLSBNb250aCBwaWNrZXIgaW5wdXQgdHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IE5VTUJFUiAtIE51bWVyaWMgaW5wdXQgdHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFBBU1NXT1JEIC0gUGFzc3dvcmQgaW5wdXQgdHlwZSB3aXRoIG1hc2tlZCB0ZXh0XG4gKiBAcHJvcGVydHkge3N0cmluZ30gUkFESU8gLSBSYWRpbyBidXR0b24gaW5wdXQgdHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFJBTkdFIC0gUmFuZ2Ugc2xpZGVyIGlucHV0IHR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBSRVNFVCAtIEZvcm0gcmVzZXQgYnV0dG9uIGlucHV0IHR5cGVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBTRUFSQ0ggLSBTZWFyY2ggaW5wdXQgdHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFNVQk1JVCAtIEZvcm0gc3VibWl0IGJ1dHRvbiBpbnB1dCB0eXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVEVMIC0gVGVsZXBob25lIG51bWJlciBpbnB1dCB0eXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVEVYVCAtIEJhc2ljIHRleHQgaW5wdXQgdHlwZVxuICogQHByb3BlcnR5IHtzdHJpbmd9IFRJTUUgLSBUaW1lIHBpY2tlciBpbnB1dCB0eXBlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gVVJMIC0gVVJMIGlucHV0IHR5cGUgd2l0aCB2YWxpZGF0aW9uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gV0VFSyAtIFdlZWsgcGlja2VyIGlucHV0IHR5cGVcbiAqXG4gKiBAY29uc3QgSFRNTDVJbnB1dFR5cGVzXG4gKiBAdHlwZSB7SFRNTDVJbnB1dFR5cGVzTWFwfVxuICogQHJlYWRvbmx5XG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IGNvbnN0IEhUTUw1SW5wdXRUeXBlcyA9IHtcbiAgQlVUVE9OOiBcImJ1dHRvblwiLFxuICBDSEVDS0JPWDogXCJjaGVja2JveFwiLFxuICBDT0xPUjogXCJjb2xvclwiLFxuICBEQVRFOiBVSUtleXMuREFURSxcbiAgREFURVRJTUVfTE9DQUw6IFwiZGF0ZXRpbWUtbG9jYWxcIixcbiAgRU1BSUw6IFVJS2V5cy5FTUFJTCxcbiAgRklMRTogXCJmaWxlXCIsXG4gIEhJRERFTjogXCJoaWRkZW5cIixcbiAgSU1BR0U6IFwiaW1hZ2VcIixcbiAgTU9OVEg6IFwibW9udGhcIixcbiAgTlVNQkVSOiBcIm51bWJlclwiLFxuICBQQVNTV09SRDogVUlLZXlzLlBBU1NXT1JELFxuICBSQURJTzogXCJyYWRpb1wiLFxuICBSQU5HRTogXCJyYW5nZVwiLFxuICBSRVNFVDogXCJyZXNldFwiLFxuICBTRUFSQ0g6IFwic2VhcmNoXCIsXG4gIFNVQk1JVDogXCJzdWJtaXRcIixcbiAgVEVMOiBcInRlbFwiLFxuICBURVhUOiBcInRleHRcIixcbiAgVEVYVEFSRUE6IFwidGV4dGFyZWFcIixcbiAgU0VMRUNUOiBcInNlbGVjdFwiLFxuICBUSU1FOiBcInRpbWVcIixcbiAgVVJMOiBVSUtleXMuVVJMLFxuICBXRUVLOiBcIndlZWtcIixcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEFycmF5IG9mIEhUTUw1IGlucHV0IHR5cGVzIHRoYXQgdXNlIGNoZWNrYm94ZXNcbiAqIEBzdW1tYXJ5IExpc3Qgb2YgaW5wdXQgdHlwZXMgdGhhdCByZXByZXNlbnQgY2hlY2thYmxlIGNvbnRyb2xzXG4gKiBUaGlzIGNvbnN0YW50IGRlZmluZXMgYW4gYXJyYXkgb2YgSFRNTDUgaW5wdXQgdHlwZXMgdGhhdCByZXByZXNlbnRcbiAqIGNoZWNrYWJsZSBjb250cm9scyAoY2hlY2tib3ggYW5kIHJhZGlvKS5cbiAqXG4gKiBAY29uc3QgSFRNTDVDaGVja1R5cGVzXG4gKiBAdHlwZSB7c3RyaW5nW119XG4gKiBAcmVhZG9ubHlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5leHBvcnQgY29uc3QgSFRNTDVDaGVja1R5cGVzOiBzdHJpbmdbXSA9IFtcbiAgSFRNTDVJbnB1dFR5cGVzLkNIRUNLQk9YLFxuICBIVE1MNUlucHV0VHlwZXMuUkFESU8sXG5dO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBFdmVudCBuYW1lIGNvbnN0YW50cy5cbiAqIEBzdW1tYXJ5IENvbnRhaW5zIGNvbnN0YW50cyBmb3Igc3RhbmRhcmRpemVkIGV2ZW50IG5hbWVzIHVzZWQgdGhyb3VnaG91dCB0aGUgYXBwbGljYXRpb24uXG4gKiBUaGVzZSBjb25zdGFudHMgZW5zdXJlIGNvbnNpc3RlbnQgZXZlbnQgbmFtaW5nIGFjcm9zcyBjb21wb25lbnRzIGFuZCBtYWtlIGl0IGVhc2llciB0b1xuICogdHJhY2sgYW5kIGhhbmRsZSBldmVudHMuIEVhY2ggY29uc3RhbnQgcmVwcmVzZW50cyBhIHNwZWNpZmljIGFwcGxpY2F0aW9uIGV2ZW50IHR5cGUuXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBDb21wb25lbnRFdmVudE5hbWVzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gQmFja0J1dHRvbkNsaWNrRXZlbnQgLSBFdmVudCBmaXJlZCB3aGVuIGJhY2sgYnV0dG9uIG5hdmlnYXRpb24gZW5kc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFJlbmRlciAtIEV2ZW50IGFmdGVyIGNvbXBvbmVudCBpbml0aWFsaXplIGFjdGlvbiBvY2N1cnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBSZWZyZXNoIC0gRXZlbnQgZmlyZWQgd2hlbiBhIHJlZnJlc2ggYWN0aW9uIG9jY3Vyc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IENsaWNrIC0gRXZlbnQgZmlyZWQgd2hlbiBhIGNsaWNrIGFjdGlvbiBvY2N1cnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBDaGFuZ2UgLSBFdmVudCBmaXJlZCB3aGVuIGEgY2hhbmdlIGFjdGlvbiBvY2N1cnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBTdWJtaXQgLSBFdmVudCBmaXJlZCB3aGVuIGEgZm9ybSBzdWJtaXNzaW9uIG9jY3Vyc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFZhbGlkYXRpb25FcnJvciAtIEV2ZW50IGZpcmVkIHdoZW4gYSB2YWxpZGF0aW9uIGVycm9yIG9jY3Vyc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFRoZW1lQ2hhbmdlIC0gRXZlbnQgZmlyZWQgd2hlbiBhIHRoZW1lIGNoYW5nZSBvY2N1cnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBGb3JtR3JvdXBMb2FkZWQgLSBFdmVudCBmaXJlZCB3aGVuIGEgcmVhY3R2ZSBmb3JtIGdyb3VwIGlzIGxvYWRlZFxuICogQGNvbnN0IENvbXBvbmVudEV2ZW50TmFtZXNcbiAqL1xuZXhwb3J0IGNvbnN0IENvbXBvbmVudEV2ZW50TmFtZXMgPSB7XG4gIFJlbmRlcjogXCJyZW5kZXJcIixcbiAgQmFja0J1dHRvbkNsaWNrRXZlbnQ6IFwiYmFja0J1dHRvbk5hdmlnYXRpb25FbmRFdmVudFwiLFxuICBSZWZyZXNoOiBcIlJlZnJlc2hFdmVudFwiLFxuICBDbGljazogXCJDbGlja0V2ZW50XCIsXG4gIENoYW5nZTogXCJDaGFuZ2VFdmVudFwiLFxuICBTdWJtaXQ6IFwiU3VibWl0RXZlbnRcIixcbiAgVmFsaWRhdGlvbkVycm9yOiBcInZhbGlkYXRpb25FcnJvckV2ZW50XCIsXG4gIFRoZW1lQ2hhbmdlOiBcInRoZW1lQ2hhbmdlRXZlbnRcIixcbiAgRm9ybUdyb3VwTG9hZGVkOiBcImZvcm1Hcm91cExvYWRlZEV2ZW50XCIsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBMaWZlY3ljbGUgaG9vayBsYWJlbHMgZm9yIHJlcG9zaXRvcnkgdHJhbnNhY3Rpb25zLlxuICogQHN1bW1hcnkgUHJvdmlkZXMgY2Fub25pY2FsIG5hbWVzIGZvciBDUlVEIGxpZmVjeWNsZSBjYWxsYmFja3Mgc28gZGVjb3JhdG9ycyBhbmRcbiAqIGNvbXBvbmVudHMgY2FuIHJlZ2lzdGVyIHdvcmsgYmVmb3JlIG9yIGFmdGVyIHJlcG9zaXRvcnkgb3BlcmF0aW9ucyBpbiBhIGNvbnNpc3RlbnQgd2F5LlxuICogRWFjaCBrZXkgbWFwcyB0byB0aGUgc3RyaW5nIHVzZWQgd2hlbiB3aXJpbmcgdHJhbnNhY3Rpb24gbWlkZGxld2FyZS5cbiAqIEBjb25zdCBUcmFuc2FjdGlvbkhvb2tzXG4gKi9cbmV4cG9ydCBjb25zdCBUcmFuc2FjdGlvbkhvb2tzID0ge1xuICBCZWZvcmVSZWFkOiBcImJlZm9yZVJlYWRcIixcbiAgQWZ0ZXJSZWFkOiBcImFmdGVyUmVhZFwiLFxuICBCZWZvcmVDcmVhdGU6IFwiYmVmb3JlQ3JlYXRlXCIsXG4gIEFmdGVyQ3JlYXRlOiBcImFmdGVyQ3JlYXRlXCIsXG4gIEJlZm9yZVVwZGF0ZTogXCJiZWZvcmVVcGRhdGVcIixcbiAgQWZ0ZXJVcGRhdGU6IFwiYWZ0ZXJVcGRhdGVcIixcbiAgQmVmb3JlRGVsZXRlOiBcImJlZm9yZURlbGV0ZVwiLFxuICBBZnRlckRlbGV0ZTogXCJhZnRlckRlbGV0ZVwiLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gU3RhbmRhcmRpemVkIHNpemUgdG9rZW5zIGZvciBVSSBlbGVtZW50cy5cbiAqIEBzdW1tYXJ5IERlZmluZXMgdGhlIHNlbWFudGljIHNpemUga2V5d29yZHMgc3VwcG9ydGVkIGJ5IGxheW91dCBhbmQgZm9ybSBkZWNvcmF0b3JzLlxuICogVGhlc2UgdmFsdWVzIGZlZWQgcmVuZGVyaW5nIGVuZ2luZXMgc28gY29tcG9uZW50cyBjYW4gZXhwcmVzcyBzaXppbmcgaW4gYSB1bmlmb3JtIHZvY2FidWxhcnkuXG4gKiBAY29uc3QgRWxlbWVudFNpemVzXG4gKi9cbmV4cG9ydCBjb25zdCBFbGVtZW50U2l6ZXMgPSB7XG4gIHhzbWFsbDogXCJ4c21hbGxcIixcbiAgc21hbGw6IFwic21hbGxcIixcbiAgbWVkaXVtOiBcIm1lZGl1bVwiLFxuICBkZWZhdWx0OiBcImRlZmF1bHRcIixcbiAgbGFyZ2U6IFwibGFyZ2VcIixcbiAgeExhcmdlOiBcInhsYXJnZVwiLFxuICBcIjJ4TGFyZ2VcIjogXCIyeGxhcmdlXCIsXG4gIGF1dG86IFwiYXV0b1wiLFxuICBleHBhbmQ6IFwiZXhwYW5kXCIsXG4gIGJsb2NrOiBcImJsb2NrXCIsXG4gIGhhbGY6IFwiaGFsZlwiLFxuICBmdWxsOiBcImZ1bGxcIixcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEFsaWdubWVudCBrZXl3b3JkcyBmb3IgZWxlbWVudCBwb3NpdGlvbmluZy5cbiAqIEBzdW1tYXJ5IFN1cHBsaWVzIGNhbm9uaWNhbCBwb3NpdGlvbiB2YWx1ZXMgKGhvcml6b250YWwgYW5kIHZlcnRpY2FsKSB0aGF0IGRlY29yYXRvcnMgY2FuXG4gKiB1c2Ugd2hlbiBhbGlnbmluZyBsYWJlbHMsIGNvbnRyb2xzLCBvciBoZWxwZXIgdGV4dCBhY3Jvc3MgY29tcG9uZW50cy5cbiAqIEBjb25zdCBFbGVtZW50UG9zaXRpb25zXG4gKi9cbmV4cG9ydCBjb25zdCBFbGVtZW50UG9zaXRpb25zID0ge1xuICBsZWZ0OiBcImxlZnRcIixcbiAgY2VudGVyOiBcImNlbnRlclwiLFxuICByaWdodDogXCJyaWdodFwiLFxuICB0b3A6IFwidG9wXCIsXG4gIGJvdHRvbTogXCJib3R0b21cIixcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEdyaWQgc3BhY2luZyBwcmVzZXRzIGZvciBsYXlvdXQgZGVjb3JhdG9ycy5cbiAqIEBzdW1tYXJ5IE1hcHMgaHVtYW4tcmVhZGFibGUgZ2FwIHNpemVzIHRvIHRoZSB0b2tlbnMgaW50ZXJwcmV0ZWQgYnkgdGhlIHJlbmRlcmluZyBlbmdpbmVcbiAqIHdoZW4gYnVpbGRpbmcgQ1NTIGdyaWQgbGF5b3V0cywgZW5hYmxpbmcgcHJlZGljdGFibGUgc3BhY2luZyBhY3Jvc3MgY29tcG9uZW50cy5cbiAqIEBjb25zdCBMYXlvdXRHcmlkR2Fwc1xuICovXG5leHBvcnQgY29uc3QgTGF5b3V0R3JpZEdhcHMgPSB7XG4gIHNtYWxsOiBcInNtYWxsXCIsXG4gIG1lZGl1bTogXCJtZWRpdW1cIixcbiAgbGFyZ2U6IFwibGFyZ2VcIixcbiAgY29sbGFwc2U6IFwiY29sbGFwc2VcIixcbiAgbm9uZTogXCJcIixcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENhbm9uaWNhbCBhY3Rpb24gcm9sZSBpZGVudGlmaWVycyBmb3IgVUkgY29udHJvbHMuXG4gKiBAc3VtbWFyeSBFbnVtZXJhdGVzIHRoZSBzZW1hbnRpYyByb2xlcyBhIGJ1dHRvbiBvciBhY3Rpb24gbWF5IHJlcHJlc2VudCBzbyBkZWNvcmF0b3JzIGFuZFxuICogcmVuZGVyZXJzIGNhbiBhdHRhY2ggY29uc2lzdGVudCBiZWhhdmlvcnMgYW5kIHN0eWxpbmcgKGluY2x1ZGluZyBDUlVEIHZlcmJzIHRpZWQgdG9cbiAqIGBPcGVyYXRpb25LZXlzYCkuXG4gKiBAY29uc3QgQWN0aW9uUm9sZXNcbiAqL1xuZXhwb3J0IGNvbnN0IEFjdGlvblJvbGVzID0ge1xuICBjYW5jZWw6IFwiY2FuY2VsXCIsXG4gIGNvbmZpcm06IFwiY29uZmlybVwiLFxuICBzdWJtaXQ6IFwic3VibWl0XCIsXG4gIGNsZWFyOiBcImNsZWFyXCIsXG4gIGJhY2s6IFwiYmFja1wiLFxuICBbT3BlcmF0aW9uS2V5cy5DUkVBVEVdOiBPcGVyYXRpb25LZXlzLkNSRUFURSxcbiAgW09wZXJhdGlvbktleXMuUkVBRF06IE9wZXJhdGlvbktleXMuUkVBRCxcbiAgW09wZXJhdGlvbktleXMuVVBEQVRFXTogT3BlcmF0aW9uS2V5cy5VUERBVEUsXG4gIFtPcGVyYXRpb25LZXlzLkRFTEVURV06IE9wZXJhdGlvbktleXMuREVMRVRFLFxufSBhcyBjb25zdDtcblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gQWxsb3dlZCBjb2xvciBzY2hlbWUgdG9rZW5zIGZvciB3aW5kb3dlZCBzdXJmYWNlcy5cbiAqIEBzdW1tYXJ5IFByb3ZpZGVzIHRoZSBzdXBwb3J0ZWQgdGhlbWUgaWRlbnRpZmllcnMgZXhwb3NlZCB0byBjb25zdW1pbmcgYXBwcyBzbyB0aGV5XG4gKiBjYW4gdGFyZ2V0IGxpZ2h0LCBkYXJrLCBvciB1bnNldCB3aW5kb3cgY29sb3Igc2NoZW1lcyBpbiBhIHByZWRpY3RhYmxlIHdheS5cbiAqIEBjb25zdCBXaW5kb3dDb2xvclNjaGVtZXNcbiAqL1xuZXhwb3J0IGNvbnN0IFdpbmRvd0NvbG9yU2NoZW1lcyA9IHtcbiAgbGlnaHQ6IFwibGlnaHRcIixcbiAgZGFyazogXCJkYXJrXCIsXG4gIHVuZGVmaW5lZDogXCJ1bmRlZmluZWRcIixcbn0gYXMgY29uc3Q7XG4iXX0=
|
package/lib/esm/ui/decorators.js
CHANGED
|
@@ -577,4 +577,4 @@ export function uitablecol(sequence = UIKeys.LAST, valueParserFn) {
|
|
|
577
577
|
propMetadata(getUIAttributeKey(propertyKey, UIKeys.UILISTPROP), metadata)(target, propertyKey);
|
|
578
578
|
};
|
|
579
579
|
}
|
|
580
|
-
//# sourceMappingURL=decorators.js.map
|
|
580
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91aS9kZWNvcmF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsdUJBQW9CO0FBQ3JDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQVlwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLG1CQUFnQjtBQUU1Qzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDRztBQUNILE1BQU0sVUFBVSxNQUFNLENBQUMsR0FBRyxVQUErQjtJQUN2RCxPQUFPLFNBQVMsTUFBTSxDQUFDLE1BQVcsRUFBRSxXQUFpQjtRQUNuRCxPQUFPLFlBQVksQ0FDakIsaUJBQWlCLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFDN0MsVUFBVSxDQUNYLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3pCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLEdBQUcsVUFBb0I7SUFDN0MsT0FBTyxTQUFTLE9BQU8sQ0FBQyxNQUFXLEVBQUUsV0FBaUI7UUFDcEQsT0FBTyxZQUFZLENBQ2pCLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQy9DLFVBQVUsQ0FDWCxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztJQUN6QixDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLE9BQU8sQ0FBQyxHQUFHLFVBQW9CO0lBQzdDLE9BQU8sU0FBUyxPQUFPLENBQUMsTUFBVyxFQUFFLFdBQWlCO1FBQ3BELE9BQU8sWUFBWSxDQUNqQixpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFD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QzVCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLE9BQXVCO0lBQy9DLE9BQU8sSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN0QyxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FBQyxPQUF1QjtJQUNoRCxPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDakMsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ0c7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUN4QixXQUE4RCxNQUFNLENBQUMsSUFBSSxFQUN6RSxhQUE4QjtJQUU5QixPQUFPLENBQUMsTUFBVyxFQUFFLFdBQWlCLEVBQUUsRUFBRTtRQUN4QyxNQUFNLFFBQVEsR0FBZ0M7WUFDNUMsSUFBSSxFQUFFLFdBQVc7WUFDakIsS0FBSyxFQUFFO2dCQUNMLFFBQVE7Z0JBQ1IsR0FBRyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsYUFBYSxFQUFFLENBQUM7YUFDN0M7U0FDRixDQUFDO1FBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQ3ZFLE1BQU0sRUFDTixXQUFXLENBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSUtleXMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IHByb3BNZXRhZGF0YSB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdGlvblwiO1xuaW1wb3J0IHtcbiAgQ3J1ZE9wZXJhdGlvbktleXMsXG4gIFVJRWxlbWVudE1ldGFkYXRhLFxuICBVSUV2ZW50SGFuZGxlcixcbiAgVUlFdmVudE5hbWUsXG4gIFVJRnVuY3Rpb25MaWtlLFxuICBVSUxheW91dENvbCxcbiAgVUlMYXlvdXRQcm9wTWV0YWRhdGEsXG4gIFVJTGlzdFByb3BNZXRhZGF0YSxcbiAgVUlQcm9wTWV0YWRhdGEsXG59IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBPcGVyYXRpb25LZXlzIH0gZnJvbSBcIkBkZWNhZi10cy9kYi1kZWNvcmF0b3JzXCI7XG5pbXBvcnQgeyBnZXRVSUF0dHJpYnV0ZUtleSB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IGhpZGVzIGEgcHJvcGVydHkgZHVyaW5nIHNwZWNpZmljIENSVUQgb3BlcmF0aW9uc1xuICogQHN1bW1hcnkgQ29udHJvbHMgcHJvcGVydHkgdmlzaWJpbGl0eSBiYXNlZCBvbiBvcGVyYXRpb24gdHlwZVxuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBzcGVjaWZ5IHdoaWNoIENSVUQgb3BlcmF0aW9ucyBzaG91bGQgaGlkZSBhIHByb3BlcnR5XG4gKiBpbiB0aGUgVUkuIFRoZSBwcm9wZXJ0eSB3aWxsIG9ubHkgYmUgdmlzaWJsZSBkdXJpbmcgb3BlcmF0aW9ucyBub3Qgc3BlY2lmaWVkLlxuICpcbiAqIEBwYXJhbSBvcGVyYXRpb25zIC0gVGhlIENSVUQgb3BlcmF0aW9ucyBkdXJpbmcgd2hpY2ggdGhlIHByb3BlcnR5IHNob3VsZCBiZSBoaWRkZW5cbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiBoaWRlT25cbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIEhpZGUgdGhlIHBhc3N3b3JkIGZpZWxkIGR1cmluZyBSRUFEIG9wZXJhdGlvbnNcbiAqIGNsYXNzIFVzZXIge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgdXNlcm5hbWU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAaGlkZU9uKE9wZXJhdGlvbktleXMuUkVBRClcbiAqICAgcGFzc3dvcmQ6IHN0cmluZztcbiAqIH1cbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IGhpZGVPblxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgcGFydGljaXBhbnQgVUlcbiAqICAgTW9kZWwtPj5oaWRlT246IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIGhpZGVPbi0+Pk1vZGVsOiBBZGQgaGlkZGVuIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBDaGVjayBpZiBwcm9wZXJ0eSBzaG91bGQgYmUgaGlkZGVuXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gaGlkZGVuIG9wZXJhdGlvbnNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+VUk6IFJlbmRlciBvciBoaWRlIGJhc2VkIG9uIGN1cnJlbnQgb3BlcmF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRlT24oLi4ub3BlcmF0aW9uczogQ3J1ZE9wZXJhdGlvbktleXNbXSkge1xuICByZXR1cm4gZnVuY3Rpb24gaGlkZU9uKG9iamVjdDogYW55LCBwcm9wZXJ0eUtleT86IGFueSkge1xuICAgIHJldHVybiBwcm9wTWV0YWRhdGEoXG4gICAgICBnZXRVSUF0dHJpYnV0ZUtleShwcm9wZXJ0eUtleSwgVUlLZXlzLkhJRERFTiksXG4gICAgICBvcGVyYXRpb25zXG4gICAgKShvYmplY3QsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgaGlkZXMgYSBwcm9wZXJ0eSBmb3Igc3BlY2lmaWMgbmFtZXNwYWNlcy5cbiAqIEBzdW1tYXJ5IENvbnRyb2xzIHByb3BlcnR5IHZpc2liaWxpdHkgYmFzZWQgb24gbmFtZXNwYWNlIG1lbWJlcnNoaXAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRlRm9yKC4uLm5hbWVzcGFjZXM6IHN0cmluZ1tdKSB7XG4gIHJldHVybiBmdW5jdGlvbiBoaWRlRm9yKG9iamVjdDogYW55LCBwcm9wZXJ0eUtleT86IGFueSkge1xuICAgIHJldHVybiBwcm9wTWV0YWRhdGEoXG4gICAgICBnZXRVSUF0dHJpYnV0ZUtleShwcm9wZXJ0eUtleSwgVUlLZXlzLkhJREVfRk9SKSxcbiAgICAgIG5hbWVzcGFjZXNcbiAgICApKG9iamVjdCwgcHJvcGVydHlLZXkpO1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBzaG93cyBhIHByb3BlcnR5IG9ubHkgZm9yIHNwZWNpZmljIG5hbWVzcGFjZXMuXG4gKiBAc3VtbWFyeSBOYW1lc3BhY2UtYXdhcmUgY291bnRlcnBhcnQgdG8gYGhpZGVGb3JgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2hvd0ZvciguLi5uYW1lc3BhY2VzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gZnVuY3Rpb24gc2hvd0ZvcihvYmplY3Q6IGFueSwgcHJvcGVydHlLZXk/OiBhbnkpIHtcbiAgICByZXR1cm4gcHJvcE1ldGFkYXRhKFxuICAgICAgZ2V0VUlBdHRyaWJ1dGVLZXkocHJvcGVydHlLZXksIFVJS2V5cy5TSE9XX0ZPUiksXG4gICAgICBuYW1lc3BhY2VzXG4gICAgKShvYmplY3QsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgcmVuZGVycyBhIHByb3BlcnR5IG9ubHkgd2hlbiB0aGUgbmFtZXNwYWNlIG1hdGNoZXMuXG4gKiBAc3VtbWFyeSBDb252ZW5pZW5jZSBhbGlhcyBmb3IgbmFtZXNwYWNlLXNjb3BlZCB2aXNpYmlsaXR5IGNvbnRyb2wuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW5kZXJJZiguLi5uYW1lc3BhY2VzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gc2hvd0ZvciguLi5uYW1lc3BhY2VzKTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgc2V0cyB0aGUgb3JkZXIgb2YgYSBVSSBlbGVtZW50XG4gKiBAc3VtbWFyeSBTcGVjaWZpZXMgdGhlIHJlbmRlcmluZyBvcmRlciBmb3IgVUkgY29tcG9uZW50c1xuICogVGhpcyBkZWNvcmF0b3IgYXBwbGllcyBtZXRhZGF0YSB0byB0aGUgcHJvcGVydHkgb3IgY2xhc3MsIGluZGljYXRpbmcgaXRzIG9yZGVyIGluIHRoZSBVSSByZW5kZXJpbmcgc2VxdWVuY2UuXG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IFtvcmRlcj0xXSBUaGUgb3JkZXIgdmFsdWUgZm9yIHRoZSBVSSBlbGVtZW50IChkZWZhdWx0IGlzIDEpXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBvciBjbGFzcyBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gdWlvcmRlclxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gU2V0IG9yZGVyIGZvciBhIGZpZWxkXG4gKiBAdWlvcmRlcigyKVxuICogZmllbGROYW1lOiBzdHJpbmc7XG4gKlxuICogLy8gU2V0IG9yZGVyIGZvciBhIGNsYXNzXG4gKiBAdWlvcmRlcigxKVxuICogY2xhc3MgVXNlclByb2ZpbGUgeyAuLi4gfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgU3lzdGVtXG4gKiAgIHBhcnRpY2lwYW50IHVpb3JkZXJcbiAqICAgcGFydGljaXBhbnQgcHJvcGVydHlcbiAqICAgU3lzdGVtLT4+dWlvcmRlcjpkbyhwcm9wZXJ0eSlcbiAqICAgdWlvcmRlci0+PnByb3BlcnR5OiBzZXRzIG9yZGVyIG1ldGFkYXRhXG4gKiAgIHVpb3JkZXItPj5TeXN0ZW06IHJldHVybnMgZGVjb3JhdGVkIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aW9yZGVyKFxuICBvcmRlcjogbnVtYmVyIHwgdHlwZW9mIFVJS2V5cy5GSVJTVCB8IHR5cGVvZiBVSUtleXMuTEFTVCA9IFVJS2V5cy5GSVJTVFxuKSB7XG4gIHJldHVybiBmdW5jdGlvbiB1aW9yZGVyKG9iamVjdDogYW55LCBwcm9wZXJ0eUtleT86IGFueSkge1xuICAgIHJldHVybiBwcm9wTWV0YWRhdGEoZ2V0VUlBdHRyaWJ1dGVLZXkocHJvcGVydHlLZXksIFVJS2V5cy5PUkRFUiksIG9yZGVyKShcbiAgICAgIG9iamVjdCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAZGVzY3JpcHRpb24gRGVjb3JhdG9yIHRoYXQgY29tcGxldGVseSBoaWRlcyBhIHByb3BlcnR5IGluIGFsbCBVSSBvcGVyYXRpb25zXG4gKiBAc3VtbWFyeSBNYWtlcyBhIHByb3BlcnR5IGludmlzaWJsZSBpbiBhbGwgQ1JVRCBvcGVyYXRpb25zXG4gKiBUaGlzIGRlY29yYXRvciBpcyBhIGNvbnZlbmllbmNlIHdyYXBwZXIgYXJvdW5kIGhpZGVPbiB0aGF0IGhpZGVzIGEgcHJvcGVydHlcbiAqIGR1cmluZyBhbGwgQ1JVRCBvcGVyYXRpb25zIChDUkVBVEUsIFJFQUQsIFVQREFURSwgREVMRVRFKS5cbiAqXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gaGlkZGVuXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBDb21wbGV0ZWx5IGhpZGUgdGhlIGludGVybmFsSWQgZmllbGQgaW4gdGhlIFVJXG4gKiBjbGFzcyBQcm9kdWN0IHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIG5hbWU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAaGlkZGVuKClcbiAqICAgaW50ZXJuYWxJZDogc3RyaW5nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgaGlkZGVuXG4gKiAgIHBhcnRpY2lwYW50IGhpZGVPblxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgTW9kZWwtPj5oaWRkZW46IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIGhpZGRlbi0+PmhpZGVPbjogQ2FsbCB3aXRoIGFsbCBvcGVyYXRpb25zXG4gKiAgIGhpZGVPbi0+Pk1vZGVsOiBBZGQgaGlkZGVuIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBDaGVjayBpZiBwcm9wZXJ0eSBzaG91bGQgYmUgaGlkZGVuXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gYWxsIG9wZXJhdGlvbnNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+VUk6IEFsd2F5cyBoaWRlIHByb3BlcnR5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoaWRkZW4oKSB7XG4gIHJldHVybiBoaWRlT24oXG4gICAgT3BlcmF0aW9uS2V5cy5DUkVBVEUsXG4gICAgT3BlcmF0aW9uS2V5cy5SRUFELFxuICAgIE9wZXJhdGlvbktleXMuVVBEQVRFLFxuICAgIE9wZXJhdGlvbktleXMuREVMRVRFXG4gICk7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IHNwZWNpZmllcyBob3cgYSBwcm9wZXJ0eSBzaG91bGQgYmUgcmVuZGVyZWQgYXMgYSBVSSBlbGVtZW50XG4gKiBAc3VtbWFyeSBNYXBzIGEgbW9kZWwgcHJvcGVydHkgdG8gYSBzcGVjaWZpYyBVSSBlbGVtZW50IHdpdGggY3VzdG9tIHByb3BlcnRpZXNcbiAqIFRoaXMgZGVjb3JhdG9yIGFsbG93cyB5b3UgdG8gZGVmaW5lIHdoaWNoIEhUTUwgZWxlbWVudCBvciBjb21wb25lbnQgc2hvdWxkIGJlIHVzZWRcbiAqIHRvIHJlbmRlciBhIHNwZWNpZmljIHByb3BlcnR5LCBhbG9uZyB3aXRoIGFueSBhZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGF0IGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHRhZyBUaGUgSFRNTCBlbGVtZW50IG9yIGNvbXBvbmVudCB0YWcgbmFtZSB0byB1c2UgZm9yIHJlbmRlcmluZ1xuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbcHJvcHNdIEFkZGl0aW9uYWwgcHJvcGVydGllcyB0byBwYXNzIHRvIHRoZSBlbGVtZW50XG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtzZXJpYWxpemU9ZmFsc2VdIFdoZXRoZXIgdGhlIHByb3BlcnR5IHNob3VsZCBiZSBzZXJpYWxpemVkXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gdWllbGVtZW50XG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBSZW5kZXIgYSBwcm9wZXJ0eSBhcyBhIHRleHQgaW5wdXRcbiAqIGNsYXNzIExvZ2luRm9ybSB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWllbGVtZW50KCdpbnB1dCcsIHsgdHlwZTogJ3RleHQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIHVzZXJuYW1lJyB9KVxuICogICB1c2VybmFtZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWVsZW1lbnQoJ2lucHV0JywgeyB0eXBlOiAncGFzc3dvcmQnLCBwbGFjZWhvbGRlcjogJ0VudGVyIHBhc3N3b3JkJyB9KVxuICogICBwYXNzd29yZDogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWVsZW1lbnQoJ2J1dHRvbicsIHsgY2xhc3M6ICdidG4tcHJpbWFyeScgfSlcbiAqICAgc3VibWl0OiBzdHJpbmcgPSAnTG9naW4nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgdWllbGVtZW50XG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBwYXJ0aWNpcGFudCBVSVxuICogICBNb2RlbC0+PnVpZWxlbWVudDogQXBwbHkgdG8gcHJvcGVydHlcbiAqICAgdWllbGVtZW50LT4+TW9kZWw6IEFkZCBlbGVtZW50IG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgZWxlbWVudCBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIHRhZyBhbmQgcHJvcHNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+VUk6IFJlbmRlciB3aXRoIHNwZWNpZmllZCBlbGVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aWVsZW1lbnQoXG4gIHRhZzogc3RyaW5nIHwgUmVjb3JkPHN0cmluZywgYW55PixcbiAgcHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LFxuICBzZXJpYWxpemU6IGJvb2xlYW4gPSBmYWxzZVxuKSB7XG4gIHJldHVybiAob3JpZ2luYWw6IGFueSwgcHJvcGVydHlLZXk/OiBhbnkpID0+IHtcbiAgICBpZiAodHlwZW9mIHRhZyA9PT0gXCJvYmplY3RcIikge1xuICAgICAgcHJvcHMgPSB0YWc7XG4gICAgICB0YWcgPSBcIlwiO1xuICAgIH1cbiAgICBjb25zdCBtZXRhZGF0YTogVUlFbGVtZW50TWV0YWRhdGEgPSB7XG4gICAgICB0YWc6IHRhZyBhcyBzdHJpbmcsXG4gICAgICBzZXJpYWxpemU6IHNlcmlhbGl6ZSxcbiAgICAgIHByb3BzOiBPYmplY3QuYXNzaWduKHt9LCBwcm9wcyB8fCB7fSwge1xuICAgICAgICBuYW1lOiBwcm9wZXJ0eUtleSxcbiAgICAgIH0pLFxuICAgIH07XG5cbiAgICByZXR1cm4gcHJvcE1ldGFkYXRhKFxuICAgICAgZ2V0VUlBdHRyaWJ1dGVLZXkocHJvcGVydHlLZXksIFVJS2V5cy5FTEVNRU5UKSxcbiAgICAgIG1ldGFkYXRhXG4gICAgKShvcmlnaW5hbCwgcHJvcGVydHlLZXkpO1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBtYXBzIGEgbW9kZWwgcHJvcGVydHkgdG8gYSBVSSBjb21wb25lbnQgcHJvcGVydHlcbiAqIEBzdW1tYXJ5IFNwZWNpZmllcyBob3cgYSBwcm9wZXJ0eSBzaG91bGQgYmUgcGFzc2VkIHRvIGEgVUkgY29tcG9uZW50XG4gKiBUaGlzIGRlY29yYXRvciBhbGxvd3MgeW91IHRvIGRlZmluZSBob3cgYSBtb2RlbCBwcm9wZXJ0eSBzaG91bGQgYmUgbWFwcGVkIHRvXG4gKiBhIHByb3BlcnR5IG9mIHRoZSBVSSBjb21wb25lbnQgd2hlbiByZW5kZXJpbmcuIEl0IHJlcXVpcmVzIHRoZSBjbGFzcyB0byBiZVxuICogZGVjb3JhdGVkIHdpdGggQHVpbW9kZWwuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IFtwcm9wTmFtZV0gVGhlIG5hbWUgb2YgdGhlIHByb3BlcnR5IHRvIHBhc3MgdG8gdGhlIGNvbXBvbmVudCAoZGVmYXVsdHMgdG8gdGhlIHByb3BlcnR5IGtleSlcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3N0cmluZ2lmeT1mYWxzZV0gV2hldGhlciB0byBzdHJpbmdpZnkgdGhlIHByb3BlcnR5IHZhbHVlXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gdWlwcm9wXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBNYXAgbW9kZWwgcHJvcGVydGllcyB0byBjb21wb25lbnQgcHJvcGVydGllc1xuICogQHVpbW9kZWwoJ3VzZXItcHJvZmlsZScpXG4gKiBjbGFzcyBVc2VyUHJvZmlsZSB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlwcm9wKCkgLy8gV2lsbCBiZSBwYXNzZWQgYXMgJ2Z1bGxOYW1lJyB0byB0aGUgY29tcG9uZW50XG4gKiAgIGZ1bGxOYW1lOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpcHJvcCgndXNlckVtYWlsJykgLy8gV2lsbCBiZSBwYXNzZWQgYXMgJ3VzZXJFbWFpbCcgdG8gdGhlIGNvbXBvbmVudFxuICogICBlbWFpbDogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aXByb3AoJ3VzZXJEYXRhJywgdHJ1ZSkgLy8gV2lsbCBiZSBwYXNzZWQgYXMgc3RyaW5naWZpZWQgSlNPTlxuICogICB1c2VyRGF0YTogUmVjb3JkPHN0cmluZywgYW55PjtcbiAqIH1cbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IHVpcHJvcFxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgcGFydGljaXBhbnQgQ29tcG9uZW50XG4gKiAgIE1vZGVsLT4+dWlwcm9wOiBBcHBseSB0byBwcm9wZXJ0eVxuICogICB1aXByb3AtPj5Nb2RlbDogQWRkIHByb3AgbWV0YWRhdGFcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TW9kZWw6IEdldCBwcm9wIG1ldGFkYXRhXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gcHJvcCBuYW1lIGFuZCBzdHJpbmdpZnkgZmxhZ1xuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Db21wb25lbnQ6IFBhc3MgcHJvcGVydHkgd2l0aCBzcGVjaWZpZWQgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdWlwcm9wKFxuICBwcm9wTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBzdHJpbmdpZnk6IGJvb2xlYW4gPSBmYWxzZVxuKSB7XG4gIHJldHVybiAodGFyZ2V0OiBhbnksIHByb3BlcnR5S2V5PzogYW55KSA9PiB7XG4gICAgY29uc3QgbWV0YWRhdGE6IFVJUHJvcE1ldGFkYXRhID0ge1xuICAgICAgbmFtZTogcHJvcE5hbWUgfHwgcHJvcGVydHlLZXksXG4gICAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeSxcbiAgICB9O1xuICAgIHByb3BNZXRhZGF0YShnZXRVSUF0dHJpYnV0ZUtleShwcm9wZXJ0eUtleSwgVUlLZXlzLlBST1ApLCBtZXRhZGF0YSkoXG4gICAgICB0YXJnZXQsXG4gICAgICBwcm9wZXJ0eUtleVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IG1hcHMgYSBuZXN0ZWQgbW9kZWwgcHJvcGVydHkgdG8gYSBVSSBjb21wb25lbnQgcHJvcGVydHkuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIGhvdyBhIHBhcmVudCBjb21wb25lbnQgc2hvdWxkIHJlbmRlciB0aGUgY2hpbGQgbW9kZWwgd2hlbiBuZXN0ZWQuXG4gKlxuICogVGhpcyBkZWNvcmF0b3IgaXMgdXNlZCB0byBkZWNvcmF0ZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIG5lc3RlZCBtb2RlbHMuXG4gKiBXaGVuIGFwcGxpZWQsIGl0IGFsbG93cyBvdmVycmlkaW5nIHRoZSBkZWZhdWx0IHRhZyBvZiB0aGUgY2hpbGQgbW9kZWwgd2l0aCB0aGUgcHJvdmlkZWQgb25lLFxuICogZW5hYmxpbmcgZGlmZmVyZW50IHJlbmRlcmluZyBiZWhhdmlvciB3aGVuIHRoZSBtb2RlbCBhY3RzIGFzIGEgY2hpbGQgKG5lc3RlZClcbiAqIGNvbXBhcmVkIHRvIHdoZW4gaXQgaXMgcmVuZGVyZWQgYXMgdGhlIHBhcmVudCBtb2RlbC5cbiAqXG4gKiBJdCByZXF1aXJlcyB0aGUgY2xhc3MgdG8gYmUgZGVjb3JhdGVkIHdpdGggYEB1aW1vZGVsYC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gY2xhenogVGhlIG1vZGVsIGNsYXNzIG5hbWUgdG8gcGFzcyB0byB0aGUgY29tcG9uZW50IChkZWZhdWx0cyB0byB0aGUgcHJvcGVydHkga2V5KS5cbiAqIEBwYXJhbSB7c3RyaW5nfSB0YWcgVGhlIEhUTUwgZWxlbWVudCBvciBjb21wb25lbnQgdGFnIG5hbWUgdG8gb3ZlcnJpZGUgdGhlIFVJIHRhZyBvZiB0aGUgbmVzdGVkIG1vZGVsXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIGFueT59IFtwcm9wc10gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHRvIHBhc3MgdG8gdGhlIGVsZW1lbnRcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gW3NlcmlhbGl6ZT1mYWxzZV0gV2hldGhlciB0aGUgcHJvcGVydHkgc2hvdWxkIGJlIHNlcmlhbGl6ZWRcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvbi5cbiAqXG4gKiBAZnVuY3Rpb24gdWljaGlsZFxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gTWFwIGEgbmVzdGVkIG1vZGVsIHRvIGEgY29tcG9uZW50IHByb3BlcnR5IHdpdGggYSBkaWZmZXJlbnQgdGFnIHdoZW4gbmVzdGVkXG4gKiBAdWltb2RlbCgnYWRkcmVzcy1jb21wb25lbnQnKVxuICogY2xhc3MgQWRkcmVzcyB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBzdHJlZXQ6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBjaXR5OiBzdHJpbmc7XG4gKiB9XG4gKlxuICogQHVpbW9kZWwoJ3VzZXItcHJvZmlsZScpXG4gKiBjbGFzcyBVc2VyUHJvZmlsZSB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWljaGlsZChBZGRyZXNzLm5hbWUsICdhZGRyZXNzLWNoaWxkLWNvbXBvbmVudCcpXG4gKiAgIGFkZHJlc3M6IEFkZHJlc3M7XG4gKiB9XG4gKlxuICogLy8gSW4gdGhpcyBleGFtcGxlLCB0aGUgQWRkcmVzcyBtb2RlbCBoYXMgdGhlIGRlZmF1bHQgdGFnICdhZGRyZXNzLWNvbXBvbmVudCcgd2hlbiByZW5kZXJlZCBhcyBhIHJvb3QgY29tcG9uZW50LFxuICogLy8gYnV0IHdoZW4gdXNlZCBpbnNpZGUgVXNlclByb2ZpbGUsIGl0IGlzIHJlbmRlcmVkIHdpdGggdGhlIG92ZXJyaWRkZW4gdGFnICdhZGRyZXNzLWNoaWxkLWNvbXBvbmVudCdcbiAqXG4gKiBAbWVybWFpZFxuICogc2VxdWVuY2VEaWFncmFtXG4gKiAgIHBhcnRpY2lwYW50IE1vZGVsXG4gKiAgIHBhcnRpY2lwYW50IHVpY2hpbGRcbiAqICAgcGFydGljaXBhbnQgUmVuZGVyaW5nRW5naW5lXG4gKiAgIHBhcnRpY2lwYW50IENvbXBvbmVudFxuICogICBNb2RlbC0+PnVpY2hpbGQ6IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIHVpY2hpbGQtPj5Nb2RlbDogQWRkIGNoaWxkIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgY2hpbGQgbWV0YWRhdGFcbiAqICAgTW9kZWwtPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiBwcm9wIG5hbWUsIHN0cmluZ2lmeSBmbGFnLCBhbmQgY2hpbGQgdGFnIG92ZXJyaWRlXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PkNvbXBvbmVudDogUGFzcyBwcm9wZXJ0eSB3aXRoIHNwZWNpZmllZCBuYW1lIGFuZCByZW5kZXIgd2l0aCBvdmVycmlkZGVuIHRhZyBpZiBuZXN0ZWRcbiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gdWljaGlsZChcbiAgY2xheno6IHN0cmluZyxcbiAgdGFnOiBzdHJpbmcsXG4gIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge30sXG4gIGlzQXJyYXk6IGJvb2xlYW4gPSBmYWxzZSxcbiAgc2VyaWFsaXplOiBib29sZWFuID0gZmFsc2Vcbikge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleT86IGFueSkgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBVSUVsZW1lbnRNZXRhZGF0YSA9IHtcbiAgICAgIHRhZzogdGFnLFxuICAgICAgc2VyaWFsaXplOiBzZXJpYWxpemUsXG4gICAgICBwcm9wczogT2JqZWN0LmFzc2lnbihcbiAgICAgICAge30sXG4gICAgICAgIHByb3BzIHx8IHt9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogY2xhenogfHwgcHJvcGVydHlLZXksXG4gICAgICAgIH0sXG4gICAgICAgIGlzQXJyYXlcbiAgICAgICAgICA/IHsgY3VzdG9tVHlwZXM6IFtBcnJheS5uYW1lXSwgbXVsdGlwbGU6IHRydWUgfVxuICAgICAgICAgIDogeyBtdWx0aXBsZTogcHJvcHM/Lm11bHRpcGxlIHx8IGZhbHNlIH1cbiAgICAgICksXG4gICAgfTtcblxuICAgIHByb3BNZXRhZGF0YShnZXRVSUF0dHJpYnV0ZUtleShwcm9wZXJ0eUtleSwgVUlLZXlzLkNISUxEKSwgbWV0YWRhdGEpKFxuICAgICAgdGFyZ2V0LFxuICAgICAgcHJvcGVydHlLZXlcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBEZWNvcmF0b3IgdGhhdCBtYXBzIGEgbW9kZWwgcHJvcGVydHkgdG8gYSBsaXN0IGl0ZW0gY29tcG9uZW50XG4gKiBAc3VtbWFyeSBTcGVjaWZpZXMgaG93IGEgcHJvcGVydHkgc2hvdWxkIGJlIHJlbmRlcmVkIGluIGEgbGlzdCBjb250ZXh0XG4gKiBUaGlzIGRlY29yYXRvciBhbGxvd3MgeW91IHRvIGRlZmluZSBob3cgYSBtb2RlbCBwcm9wZXJ0eSBjb250YWluaW5nIGEgbGlzdFxuICogc2hvdWxkIGJlIHJlbmRlcmVkLiBJdCByZXF1aXJlcyB0aGUgY2xhc3MgdG8gYmUgZGVjb3JhdGVkIHdpdGggQHVpbGlzdG1vZGVsLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbcHJvcE5hbWVdIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB0byBwYXNzIHRvIHRoZSBsaXN0IGNvbXBvbmVudCAoZGVmYXVsdHMgdG8gdGhlIHByb3BlcnR5IGtleSlcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3Byb3BzXSBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGUgbGlzdCBjb250YWluZXJcbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiB1aWxpc3Rwcm9wXG4gKiBAY2F0ZWdvcnkgUHJvcGVydHkgRGVjb3JhdG9yc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBEZWZpbmUgYSBsaXN0IHByb3BlcnR5IHdpdGggY3VzdG9tIHJlbmRlcmluZ1xuICogQHVpbW9kZWwoJ3RvZG8tbGlzdCcpXG4gKiBjbGFzcyBUb2RvTGlzdCB7XG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICB0aXRsZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWxpc3Rwcm9wKCdpdGVtcycsIHsgY2xhc3M6ICd0b2RvLWl0ZW1zLWNvbnRhaW5lcicgfSlcbiAqICAgaXRlbXM6IFRvZG9JdGVtW107XG4gKiB9XG4gKlxuICogQHVpbGlzdG1vZGVsKCdsaScsIHsgY2xhc3M6ICd0b2RvLWl0ZW0nIH0pXG4gKiBjbGFzcyBUb2RvSXRlbSBleHRlbmRzIE1vZGVsIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIHRleHQ6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBjb21wbGV0ZWQ6IGJvb2xlYW47XG4gKiB9XG4gKlxuICogQG1lcm1haWRcbiAqIHNlcXVlbmNlRGlhZ3JhbVxuICogICBwYXJ0aWNpcGFudCBNb2RlbFxuICogICBwYXJ0aWNpcGFudCB1aWxpc3Rwcm9wXG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBwYXJ0aWNpcGFudCBMaXN0Q29udGFpbmVyXG4gKiAgIHBhcnRpY2lwYW50IExpc3RJdGVtc1xuICogICBNb2RlbC0+PnVpbGlzdHByb3A6IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIHVpbGlzdHByb3AtPj5Nb2RlbDogQWRkIGxpc3QgcHJvcCBtZXRhZGF0YVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Nb2RlbDogR2V0IGxpc3QgcHJvcCBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIHByb3AgbmFtZSBhbmQgY29udGFpbmVyIHByb3BzXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pkxpc3RDb250YWluZXI6IENyZWF0ZSBjb250YWluZXIgd2l0aCBwcm9wc1xuICogICBSZW5kZXJpbmdFbmdpbmUtPj5MaXN0SXRlbXM6IFJlbmRlciBlYWNoIGl0ZW0gdXNpbmcgQHVpbGlzdG1vZGVsXG4gKiAgIExpc3RDb250YWluZXItPj5SZW5kZXJpbmdFbmdpbmU6IFJldHVybiByZW5kZXJlZCBsaXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aWxpc3Rwcm9wKFxuICBwcm9wTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT5cbikge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleT86IGFueSkgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBQYXJ0aWFsPFVJTGlzdFByb3BNZXRhZGF0YT4gPSB7XG4gICAgICBuYW1lOiBwcm9wTmFtZSB8fCBwcm9wZXJ0eUtleSxcbiAgICAgIHByb3BzOiBwcm9wcyB8fCB7fSxcbiAgICB9O1xuICAgIHByb3BNZXRhZGF0YShnZXRVSUF0dHJpYnV0ZUtleShwcm9wZXJ0eUtleSwgVUlLZXlzLlVJTElTVFBST1ApLCBtZXRhZGF0YSkoXG4gICAgICB0YXJnZXQsXG4gICAgICBwcm9wZXJ0eUtleVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IHBvc2l0aW9ucyBhIHByb3BlcnR5IGluIGEgc3BlY2lmaWMgZ3JpZCBsYXlvdXQgcG9zaXRpb25cbiAqIEBzdW1tYXJ5IFNwZWNpZmllcyB0aGUgY29sdW1uIGFuZCByb3cgcG9zaXRpb24gZm9yIGEgcHJvcGVydHkgaW4gYSBVSSBsYXlvdXQgZ3JpZFxuICogVGhpcyBkZWNvcmF0b3IgYWxsb3dzIHlvdSB0byBkZWZpbmUgdGhlIHNwZWNpZmljIHBvc2l0aW9uIG9mIGEgcHJvcGVydHkgd2l0aGluXG4gKiBhIGdyaWQtYmFzZWQgbGF5b3V0IHN5c3RlbS4gSXQgc3BlY2lmaWVzIHdoaWNoIGNvbHVtbiBhbmQgcm93IHRoZSBwcm9wZXJ0eVxuICogc2hvdWxkIG9jY3VweSB3aGVuIHJlbmRlcmVkIGluIHRoZSBVSS5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gY29sIFRoZSBjb2x1bW4gcG9zaXRpb24gaW4gdGhlIGdyaWQgbGF5b3V0XG4gKiBAcGFyYW0ge251bWJlcn0gW3Jvdz0xXSBUaGUgcm93IHBvc2l0aW9uIGluIHRoZSBncmlkIGxheW91dCAoZGVmYXVsdHMgdG8gMSlcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW3Byb3BzPXt9XSBBZGRpdGlvbmFsIHByb3BlcnRpZXMgdG8gcGFzcyB0byB0aGUgbGF5b3V0IGl0ZW1cbiAqIEByZXR1cm4ge0Z1bmN0aW9ufSBBIHByb3BlcnR5IGRlY29yYXRvciBmdW5jdGlvblxuICpcbiAqIEBmdW5jdGlvbiB1aWxheW91dHByb3BcbiAqIEBjYXRlZ29yeSBQcm9wZXJ0eSBEZWNvcmF0b3JzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFBvc2l0aW9uIHByb3BlcnRpZXMgaW4gYSBncmlkIGxheW91dFxuICogQHVpbGF5b3V0KCd1c2VyLWZvcm0nLCAyLCAzKSAvLyAyIGNvbHVtbnMsIDMgcm93c1xuICogQG1vZGVsKClcbiAqIGNsYXNzIFVzZXJGb3JtIHtcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWxheW91dHByb3AoMSwgMSkgLy8gT25lIGNvbHVtbiwgZmlyc3Qgcm93XG4gKiAgIGZpcnN0TmFtZTogc3RyaW5nO1xuICpcbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aWxheW91dHByb3AoMiwgMSkgLy8gT25lIGNvbHVtbiwgZmlyc3Qgcm93XG4gKiAgIGxhc3ROYW1lOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpbGF5b3V0cHJvcCgxLCAyKSAvLyBPbmUgY29sdW1uLCBzZWNvbmQgcm93XG4gKiAgIGVtYWlsOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpbGF5b3V0cHJvcCgyLCAzKSAvLyBBbGwgY29sdW1ucywgdGhpcmQgcm93XG4gKiAgIGJpbzogc3RyaW5nO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgdWlsYXlvdXRwcm9wXG4gKiAgIHBhcnRpY2lwYW50IFJlbmRlcmluZ0VuZ2luZVxuICogICBwYXJ0aWNpcGFudCBMYXlvdXRDb250YWluZXJcbiAqICAgTW9kZWwtPj51aWxheW91dHByb3A6IEFwcGx5IHRvIHByb3BlcnR5XG4gKiAgIHVpbGF5b3V0cHJvcC0+Pk1vZGVsOiBBZGQgbGF5b3V0IGl0ZW0gbWV0YWRhdGFcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TW9kZWw6IEdldCBsYXlvdXQgaXRlbSBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIGNvbHVtbiwgcm93LCBhbmQgcHJvcHNcbiAqICAgUmVuZGVyaW5nRW5naW5lLT4+TGF5b3V0Q29udGFpbmVyOiBQb3NpdGlvbiBlbGVtZW50IGF0IGdyaWQgY29vcmRpbmF0ZXNcbiAqICAgTGF5b3V0Q29udGFpbmVyLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gcG9zaXRpb25lZCBlbGVtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aWxheW91dHByb3AoY29sOiBVSUxheW91dENvbCA9IDEsIHJvdzogbnVtYmVyID0gMSkge1xuICByZXR1cm4gKHRhcmdldDogYW55LCBwcm9wZXJ0eUtleT86IGFueSkgPT4ge1xuICAgIGNvbnN0IG1ldGFkYXRhOiBVSUxheW91dFByb3BNZXRhZGF0YSA9IHtcbiAgICAgIG5hbWU6IHByb3BlcnR5S2V5LFxuICAgICAgLy8gY29sLFxuICAgICAgLy8gcm93LFxuICAgICAgcHJvcHM6IE9iamVjdC5hc3NpZ24oe30sIHsgcm93LCBjb2wgfSksXG4gICAgfTtcbiAgICBwcm9wTWV0YWRhdGEoZ2V0VUlBdHRyaWJ1dGVLZXkocHJvcGVydHlLZXksIFVJS2V5cy5VSUxBWU9VVFBST1ApLCBtZXRhZGF0YSkoXG4gICAgICB0YXJnZXQsXG4gICAgICBwcm9wZXJ0eUtleVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IGFzc2lnbnMgYSBwcm9wZXJ0eSB0byBhIHNwZWNpZmljIHBhZ2UgaW4gbXVsdGktcGFnZSBmb3Jtc1xuICogQHN1bW1hcnkgU3BlY2lmaWVzIHdoaWNoIHBhZ2UgYSBwcm9wZXJ0eSBzaG91bGQgYXBwZWFyIG9uIGluIHBhZ2luYXRlZCBVSSBsYXlvdXRzXG4gKiBUaGlzIGRlY29yYXRvciBhcHBsaWVzIG1ldGFkYXRhIHRvIHRoZSBwcm9wZXJ0eSwgaW5kaWNhdGluZyB3aGljaCBwYWdlIG51bWJlciBpdCBiZWxvbmdzIHRvXG4gKiBpbiBhIG11bHRpLXBhZ2UgZm9ybSBvciB3aXphcmQuIFByb3BlcnRpZXMgd2l0aCB0aGUgc2FtZSBwYWdlIG51bWJlciBhcmUgZ3JvdXBlZCB0b2dldGhlclxuICogYW5kIHJlbmRlcmVkIG9uIHRoZSBzYW1lIHBhZ2UuIFRoaXMgaXMgdHlwaWNhbGx5IHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBAdWlzdGVwcGVkbW9kZWwgdG9cbiAqIG9yZ2FuaXplIGxhcmdlIGZvcm1zIGludG8gbWFuYWdlYWJsZSBzZWN0aW9ucy5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gW3BhZ2U9MV0gVGhlIHBhZ2UgbnVtYmVyIHdoZXJlIHRoZSBwcm9wZXJ0eSBzaG91bGQgYXBwZWFyIChkZWZhdWx0IGlzIDEpXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gdWlwYWdlcHJvcFxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ3JlYXRlIGEgbXVsdGktc3RlcCByZWdpc3RyYXRpb24gZm9ybSB3aXRoIHBhZ2UtYmFzZWQgbGF5b3V0XG4gKiBAdWlzdGVwcGVkbW9kZWwoJ3JlZ2lzdHJhdGlvbi1mb3JtJywgMiwgdHJ1ZSlcbiAqIEBtb2RlbCgpXG4gKiBjbGFzcyBSZWdpc3RyYXRpb25Gb3JtIHtcbiAqICAgLy8gUGFnZSAxOiBQZXJzb25hbCBJbmZvcm1hdGlvblxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpcGFnZXByb3AoMSlcbiAqICAgZmlyc3ROYW1lOiBzdHJpbmc7XG4gKlxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpcGFnZXByb3AoMSlcbiAqICAgbGFzdE5hbWU6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlwYWdlcHJvcCgxKVxuICogICBkYXRlT2ZCaXJ0aDogRGF0ZTtcbiAqXG4gKiAgIC8vIFBhZ2UgMjogQ29udGFjdCBJbmZvcm1hdGlvblxuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpcGFnZXByb3AoMilcbiAqICAgZW1haWw6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWlwYWdlcHJvcCgyKVxuICogICBwaG9uZTogc3RyaW5nO1xuICpcbiAqICAgLy8gUGFnZSAzOiBDb25maXJtYXRpb25cbiAqICAgQGF0dHJpYnV0ZSgpXG4gKiAgIEB1aXBhZ2Vwcm9wKDMpXG4gKiAgIGFjY2VwdFRlcm1zOiBib29sZWFuO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgdWlwYWdlcHJvcFxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgcGFydGljaXBhbnQgUGFnaW5hdGlvbkNvbnRyb2xsZXJcbiAqICAgcGFydGljaXBhbnQgVUlcbiAqICAgTW9kZWwtPj51aXBhZ2Vwcm9wOiBBcHBseSB0byBwcm9wZXJ0eVxuICogICB1aXBhZ2Vwcm9wLT4+TW9kZWw6IEFkZCBwYWdlIG1ldGFkYXRhXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+Pk1vZGVsOiBHZXQgcGFnZSBtZXRhZGF0YVxuICogICBNb2RlbC0+PlJlbmRlcmluZ0VuZ2luZTogUmV0dXJuIHBhZ2UgbnVtYmVyXG4gKiAgIFJlbmRlcmluZ0VuZ2luZS0+PlBhZ2luYXRpb25Db250cm9sbGVyOiBHcm91cCBwcm9wZXJ0aWVzIGJ5IHBhZ2VcbiAqICAgUGFnaW5hdGlvbkNvbnRyb2xsZXItPj5VSTogUmVuZGVyIGN1cnJlbnQgcGFnZSBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aXBhZ2Vwcm9wKHBhZ2U6IG51bWJlciA9IDEpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHVpcGFnZXByb3Aob3JpZ2luYWw6IGFueSwgcHJvcGVydHlLZXk/OiBhbnkpIHtcbiAgICByZXR1cm4gcHJvcE1ldGFkYXRhKGdldFVJQXR0cmlidXRlS2V5KHByb3BlcnR5S2V5LCBVSUtleXMuUEFHRSksIHBhZ2UpKFxuICAgICAgb3JpZ2luYWwsXG4gICAgICBwcm9wZXJ0eUtleVxuICAgICk7XG4gIH07XG59XG5cbi8qKlxuICogQSBkZWNvcmF0b3IgZmFjdG9yeSB0aGF0IGJpbmRzIGEgVUkgZXZlbnQgdG8gYSBzcGVjaWZpZWQgaGFuZGxlciBmdW5jdGlvbi5cbiAqIFRoaXMgaXMgdXNlZCB0byBhdHRhY2ggZXZlbnQgaGFuZGxlcnMgdG8gc3BlY2lmaWMgbGlmZWN5Y2xlIGV2ZW50cyBvZiBhIGBEZWNhZkNvbXBvbmVudGAsXG4gKiBzdWNoIGFzIGByZW5kZXJgIHwgYGluaXRpYWxpemVgIHwgYGhhbmRsZUNsaWNrYCB8IGByZWZyZXNoYFxuICpcbiAqIEBwYXJhbSBldmVudCAtIFRoZSBuYW1lIG9mIHRoZSBsaWZlY3ljbGUgZXZlbnQgdG8gYmluZCB0aGUgaGFuZGxlciB0by5cbiAqICAgICAgICAgICAgICAgIE11c3QgYmUgb25lIG9mIHRoZSBrZXlzIGluIGBQaWNrPERlY2FmQ29tcG9uZW50LCAncmVuZGVyJyB8ICdpbml0aWFsaXplJz5gLlxuICogQHBhcmFtIGhhbmRsZXIgLSBUaGUgZnVuY3Rpb24gdG8gYmUgZXhlY3V0ZWQgd2hlbiB0aGUgc3BlY2lmaWVkIGV2ZW50IG9jY3Vycy5cbiAqXG4gKiBAcmV0dXJucyBBIGRlY29yYXRvciBmdW5jdGlvbiB0aGF0IGFwcGxpZXMgdGhlIGV2ZW50LWhhbmRsZXIgYmluZGluZyB0byB0aGUgdGFyZ2V0IG9iamVjdC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY2xhc3MgTXlDb21wb25lbnQge1xuICogICBAdWlvbigncmVuZGVyJywgKCkgPT4gY29uc29sZS5sb2coJ1JlbmRlcmluZy4uLicpKVxuICogICBzb21lUHJvcGVydHk6IHN0cmluZztcbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdWlvbihcbiAgZXZlbnQ6IFVJRXZlbnROYW1lLFxuICBoYW5kbGVyOiBVSUV2ZW50SGFuZGxlclxuKTogKG9yaWdpbmFsOiBvYmplY3QsIHByb3BlcnR5S2V5Pzogc3RyaW5nKSA9PiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIHVpb24oXG4gIGV2ZW50czogUmVjb3JkPHN0cmluZywgVUlFdmVudEhhbmRsZXI+XG4pOiAob3JpZ2luYWw6IG9iamVjdCwgcHJvcGVydHlLZXk/OiBzdHJpbmcpID0+IHZvaWQ7XG5leHBvcnQgZnVuY3Rpb24gdWlvbihcbiAgZXZlbnQ6IFVJRXZlbnROYW1lIHwgUmVjb3JkPHN0cmluZywgVUlFdmVudEhhbmRsZXI+LFxuICBoYW5kbGVyPzogVUlFdmVudEhhbmRsZXJcbikge1xuICByZXR1cm4gZnVuY3Rpb24gdWlvbihvcmlnaW5hbDogb2JqZWN0LCBwcm9wZXJ0eUtleT86IHN0cmluZykge1xuICAgIHByb3BNZXRhZGF0YShnZXRVSUF0dHJpYnV0ZUtleShwcm9wZXJ0eUtleSBhcyBzdHJpbmcsIFVJS2V5cy5FVkVOVFMpLCB7XG4gICAgICAuLi4odHlwZW9mIGV2ZW50ID09PSBcIm9iamVjdFwiID8gZXZlbnQgOiB7IFtldmVudF06IGhhbmRsZXIgfSksXG4gICAgfSkob3JpZ2luYWwsIHByb3BlcnR5S2V5KTtcbiAgfTtcbn1cblxuLyoqXG4gKiBBIGRlY29yYXRvciBmdW5jdGlvbiB0aGF0IGFzc29jaWF0ZXMgYSBVSSBjbGljayBoYW5kbGVyIHdpdGggdGhlICdoYW5kbGVDbGljaycgZXZlbnQuXG4gKlxuICogQHBhcmFtIGhhbmRsZXIgLSBBIGZ1bmN0aW9uIHRoYXQgY29uZm9ybXMgdG8gdGhlIGBVSUV2ZW50SGFuZGxlcmAgdHlwZSwgd2hpY2ggd2lsbCBiZSBleGVjdXRlZFxuICogICAgICAgICAgICAgICAgICB3aGVuIHRoZSAnaGFuZGxlQ2xpY2snIGV2ZW50IGlzIHRyaWdnZXJlZC5cbiAqIEByZXR1cm5zIEEgZGVjb3JhdGVkIGZ1bmN0aW9uIHRoYXQgYmluZHMgdGhlIGhhbmRsZXIgdG8gdGhlICdoYW5kbGVDbGljaycgZXZlbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1aW9uY2xpY2soaGFuZGxlcjogVUlFdmVudEhhbmRsZXIpIHtcbiAgcmV0dXJuIHVpb24oXCJoYW5kbGVDbGlja1wiLCBoYW5kbGVyKTtcbn1cblxuLyoqXG4gKiBBIGRlY29yYXRvciBmdW5jdGlvbiB0aGF0IGFzc29jaWF0ZXMgYSBVSSByZW5kZXJpbmcgaGFuZGxlciB3aXRoIHRoZSAncmVuZGVyJyBldmVudC5cbiAqXG4gKiBAcGFyYW0gaGFuZGxlciAtIEEgZnVuY3Rpb24gdGhhdCBjb25mb3JtcyB0byB0aGUgYFVJRXZlbnRIYW5kbGVyIGAgdHlwZSwgd2hpY2ggd2lsbCBiZSBleGVjdXRlZFxuICogICAgICAgICAgICAgICAgICB3aGVuIHRoZSAncmVuZGVyJyBldmVudCBpcyB0cmlnZ2VyZWQuXG4gKiBAcmV0dXJucyBBIGRlY29yYXRlZCBmdW5jdGlvbiB0aGF0IGJpbmRzIHRoZSBoYW5kbGVyIHRvIHRoZSAncmVuZGVyJyBldmVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVpb25yZW5kZXIoaGFuZGxlcjogVUlFdmVudEhhbmRsZXIpIHtcbiAgcmV0dXJuIHVpb24oXCJyZW5kZXJcIiwgaGFuZGxlcik7XG59XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERlY29yYXRvciB0aGF0IG1hcmtzIGEgcHJvcGVydHkgYXMgYSBjb2x1bW4gaW4gYSBVSSB0YWJsZVxuICogQHN1bW1hcnkgQ29udHJvbHMgY29sdW1uIG9yZGVyaW5nIGFuZCBvcHRpb25hbCB2YWx1ZSBwYXJzaW5nIGZvciB0YWJsZSBwcm9wc1xuICogVXNlIHRoaXMgZGVjb3JhdG9yIHRvIHJlZ2lzdGVyIGxpc3QgcHJvcGVydGllcyBhcyB0YWJsZSBjb2x1bW5zLCBkZWZpbmUgdGhlXG4gKiBzZXF1ZW5jZSBpbiB3aGljaCB0aGV5IGFwcGVhciwgYW5kIG9wdGlvbmFsbHkgcHJvdmlkZSBhIHBhcnNlciB0aGF0IGZvcm1hdHNcbiAqIHRoZSB2YWx1ZSBiZWZvcmUgcmVuZGVyaW5nLlxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBzZXF1ZW5jZSBUaGUgZGlzcGxheSBvcmRlciBmb3IgdGhlIGNvbHVtbiAobG93ZXIgbWVhbnMgZmlyc3QpXG4gKiBAcGFyYW0ge1VJRnVuY3Rpb25MaWtlfSBbdmFsdWVQYXJzZXJGbl0gT3B0aW9uYWwgZm9ybWF0dGVyIGV4ZWN1dGVkIHBlciBjZWxsXG4gKiBAcmV0dXJuIHtGdW5jdGlvbn0gQSBwcm9wZXJ0eSBkZWNvcmF0b3IgZnVuY3Rpb25cbiAqXG4gKiBAZnVuY3Rpb24gdWl0YWJsZWNvbFxuICogQGNhdGVnb3J5IFByb3BlcnR5IERlY29yYXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogY2xhc3MgT3JkZXIge1xuICogICBAYXR0cmlidXRlKClcbiAqICAgQHVpdGFibGVjb2woMSlcbiAqICAgb3JkZXJOdW1iZXI6IHN0cmluZztcbiAqXG4gKiAgIEBhdHRyaWJ1dGUoKVxuICogICBAdWl0YWJsZWNvbCgyLCAodmFsdWUpID0+IGAkJHt2YWx1ZT8udG9GaXhlZCgyKX1gKVxuICogICB0b3RhbDogbnVtYmVyO1xuICogfVxuICpcbiAqIEBtZXJtYWlkXG4gKiBzZXF1ZW5jZURpYWdyYW1cbiAqICAgcGFydGljaXBhbnQgTW9kZWxcbiAqICAgcGFydGljaXBhbnQgdWl0YWJsZWNvbFxuICogICBwYXJ0aWNpcGFudCBSZW5kZXJpbmdFbmdpbmVcbiAqICAgcGFydGljaXBhbnQgVGFibGVcbiAqICAgTW9kZWwtPj51aXRhYmxlY29sOiBBcHBseSB0byBwcm9wZXJ0eVxuICogICB1aXRhYmxlY29sLT4+TW9kZWw6IFN0b3JlIGNvbHVtbiBtZXRhZGF0YVxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5Nb2RlbDogUmV0cmlldmUgY29sdW1uIHByb3BzXG4gKiAgIE1vZGVsLT4+UmVuZGVyaW5nRW5naW5lOiBSZXR1cm4gb3JkZXIgYW5kIHBhcnNlclxuICogICBSZW5kZXJpbmdFbmdpbmUtPj5UYWJsZTogUmVuZGVyIGNvbHVtbiBpbiBzZXF1ZW5jZVxuICovXG5leHBvcnQgZnVuY3Rpb24gdWl0YWJsZWNvbChcbiAgc2VxdWVuY2U6IG51bWJlciB8IHR5cGVvZiBVSUtleXMuRklSU1QgfCB0eXBlb2YgVUlLZXlzLkxBU1QgPSBVSUtleXMuTEFTVCxcbiAgdmFsdWVQYXJzZXJGbj86IFVJRnVuY3Rpb25MaWtlXG4pIHtcbiAgcmV0dXJuICh0YXJnZXQ6IGFueSwgcHJvcGVydHlLZXk/OiBhbnkpID0+IHtcbiAgICBjb25zdCBtZXRhZGF0YTogUGFydGlhbDxVSUxpc3RQcm9wTWV0YWRhdGE+ID0ge1xuICAgICAgbmFtZTogcHJvcGVydHlLZXksXG4gICAgICBwcm9wczoge1xuICAgICAgICBzZXF1ZW5jZSxcbiAgICAgICAgLi4uKCF2YWx1ZVBhcnNlckZuID8ge30gOiB7IHZhbHVlUGFyc2VyRm4gfSksXG4gICAgICB9LFxuICAgIH07XG4gICAgcHJvcE1ldGFkYXRhKGdldFVJQXR0cmlidXRlS2V5KHByb3BlcnR5S2V5LCBVSUtleXMuVUlMSVNUUFJPUCksIG1ldGFkYXRhKShcbiAgICAgIHRhcmdldCxcbiAgICAgIHByb3BlcnR5S2V5XG4gICAgKTtcbiAgfTtcbn1cbiJdfQ==
|
package/lib/esm/ui/errors.js
CHANGED
|
@@ -32,4 +32,4 @@ export class RenderingError extends InternalError {
|
|
|
32
32
|
super(msg, RenderingError.name);
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFeEQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUFDL0M7Ozs7T0FJRztJQUNILFlBQVksR0FBbUI7UUFDN0IsS0FBSyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBFcnJvciB0aHJvd24gd2hlbiBhIHJlbmRlcmluZyBvcGVyYXRpb24gZmFpbHNcbiAqIEBzdW1tYXJ5IFNwZWNpYWxpemVkIGVycm9yIGZvciByZW5kZXJpbmcgZmFpbHVyZXMgaW4gVUkgY29tcG9uZW50c1xuICogVGhpcyBlcnJvciBpcyB0aHJvd24gd2hlbiB0aGUgcmVuZGVyaW5nIGVuZ2luZSBlbmNvdW50ZXJzIGFuIGVycm9yIHdoaWxlXG4gKiBhdHRlbXB0aW5nIHRvIHJlbmRlciBhIFVJIGNvbXBvbmVudCBvciBtb2RlbC5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ3xFcnJvcn0gbXNnIFRoZSBlcnJvciBtZXNzYWdlIG9yIG9yaWdpbmFsIGVycm9yXG4gKlxuICogQGNsYXNzIFJlbmRlcmluZ0Vycm9yXG4gKiBAZXh0ZW5kcyBCYXNlRXJyb3JcbiAqIEBjYXRlZ29yeSBFcnJvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhyb3dpbmcgYSByZW5kZXJpbmcgZXJyb3JcbiAqIHRyeSB7XG4gKiAgIC8vIFJlbmRlcmluZyBjb2RlIHRoYXQgbWlnaHQgZmFpbFxuICogICBpZiAoIWNvbXBvbmVudC5jYW5SZW5kZXIoKSkge1xuICogICAgIHRocm93IG5ldyBSZW5kZXJpbmdFcnJvcignQ29tcG9uZW50IGNhbm5vdCBiZSByZW5kZXJlZCcpO1xuICogICB9XG4gKiB9IGNhdGNoIChlcnJvcikge1xuICogICBjb25zb2xlLmVycm9yKCdSZW5kZXJpbmcgZmFpbGVkOicsIGVycm9yLm1lc3NhZ2UpO1xuICogfVxuICovXG5leHBvcnQgY2xhc3MgUmVuZGVyaW5nRXJyb3IgZXh0ZW5kcyBJbnRlcm5hbEVycm9yIHtcbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGEgbmV3IFJlbmRlcmluZ0Vycm9yIGluc3RhbmNlXG4gICAqIEBzdW1tYXJ5IEluaXRpYWxpemVzIHRoZSBlcnJvciB3aXRoIGEgbWVzc2FnZSBvciBvcmlnaW5hbCBlcnJvclxuICAgKiBAcGFyYW0ge3N0cmluZ3xFcnJvcn0gbXNnIFRoZSBlcnJvciBtZXNzYWdlIG9yIG9yaWdpbmFsIGVycm9yXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihtc2c6IHN0cmluZyB8IEVycm9yKSB7XG4gICAgc3VwZXIobXNnLCBSZW5kZXJpbmdFcnJvci5uYW1lKTtcbiAgfVxufVxuIl19
|
package/lib/esm/ui/index.js
CHANGED
|
@@ -11,4 +11,4 @@ export * from "./DecafComponent.js";
|
|
|
11
11
|
export * from "./DecafEventHandler.js";
|
|
12
12
|
export * from "./DecafTranslateService.js";
|
|
13
13
|
export * from "./interfaces/index.js";
|
|
14
|
-
//# sourceMappingURL=
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0JBQXdCO0FBQ3hCLCtCQUErQjtBQUUvQiwrQkFBNEI7QUFDNUIsZ0NBQTZCO0FBQzdCLDRCQUF5QjtBQUN6QiwrQkFBNEI7QUFDNUIsMkJBQXdCO0FBQ3hCLDJCQUF3QjtBQUN4QixpQ0FBOEI7QUFDOUIsb0NBQWlDO0FBQ2pDLHVDQUFvQztBQUNwQywyQ0FBd0M7QUFDeEMsc0NBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiLy8gaW1wb3J0IFwiLi92YWxpZGF0b3JcIjtcbi8vIGV4cG9ydCAqIGZyb20gXCIuL292ZXJyaWRlc1wiO1xuXG5leHBvcnQgKiBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RlY29yYXRvcnNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2Vycm9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vUmVuZGVyaW5nXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vdXRpbHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL1VJVmFsaWRhdG9yXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9EZWNhZkNvbXBvbmVudFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vRGVjYWZFdmVudEhhbmRsZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0RlY2FmVHJhbnNsYXRlU2VydmljZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZXJmYWNlc1wiO1xuIl19
|
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* @memberOf module:ui-decorators
|
|
8
8
|
*/
|
|
9
9
|
export {};
|
|
10
|
-
//# sourceMappingURL=
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSURlY2FmTW9kYWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdWkvaW50ZXJmYWNlcy9JRGVjYWZNb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVzY3JpcHRpb24gSW50ZXJmYWNlIGZvciBtb2RhbCBwcmVzZW50YXRpb24gYW5kIGxpZmVjeWNsZSBjb250cm9sIGluIERlY2FmIFVJLlxuICogQHN1bW1hcnkgRGVzY3JpYmVzIHRoZSBwdWJsaWMgY29udHJhY3QgZm9yIG1vZGFsIGNvbmZpZ3VyYXRpb24sIHByZXNlbnRhdGlvbixcbiAqIGRpc21pc3NhbCwgYW5kIGV2ZW50IGhhbmRsaW5nIHVzZWQgYnkgdGhlIG1vZGFsIGNvbXBvbmVudCBsYXllci5cbiAqXG4gKiBAbW9kdWxlIHVpL2ludGVyZmFjZXMvSURlY2FmTW9kYWxcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5cbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgRGVjYWZDb21wb25lbnQgfSBmcm9tIFwiLi4vRGVjYWZDb21wb25lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJRGVjYWZNb2RhbCBleHRlbmRzIERlY2FmQ29tcG9uZW50PE1vZGVsPiB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVmZXJlbmNlIHRvIHRoZSBtb2RhbCBpbnN0YW5jZSBjb250cm9sbGVyLlxuICAgKiBAc3VtbWFyeSBFeHBvc2VzIHRoZSBkaXNtaXNzIGNhcGFiaWxpdHkgdXNlZCB0byBjbG9zZSB0aGUgbW9kYWwgcHJvZ3JhbW1hdGljYWxseS5cbiAgICovXG4gIG1vZGFsPzogYW55O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGl0bGUgZGlzcGxheWVkIGluIHRoZSBtb2RhbCBoZWFkZXIuXG4gICAqIEBzdW1tYXJ5IE9wdGlvbmFsIGhlYWRlciB0ZXh0IHJlbmRlcmVkIGFib3ZlIHRoZSBtb2RhbCBjb250ZW50LlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDb250cm9scyB3aGV0aGVyIHRoZSBtb2RhbCBpcyBvcGVuLlxuICAgKiBAc3VtbWFyeSBTaWduYWxzIHRoZSBjdXJyZW50IHByZXNlbnRhdGlvbiBzdGF0ZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICBpc09wZW46IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBPcHRpb25hbCB0YWcgdXNlZCB0byBpZGVudGlmeSB0aGUgbW9kYWwgaW5zdGFuY2UuXG4gICAqIEBzdW1tYXJ5IFByb3ZpZGVzIGEgc3RhYmxlIGlkZW50aWZpZXIgdGhhdCBjYW4gYmUgdXNlZCBieSByZW5kZXJpbmcgYW5kIGxvb2t1cCBsb2dpYy5cbiAgICovXG4gIHRhZz86IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEFkZGl0aW9uYWwgbW9kYWwgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuICAgKiBAc3VtbWFyeSBTdG9yZXMgY3VzdG9tIGNvbmZpZ3VyYXRpb24gcGFzc2VkIGludG8gbW9kYWwgY3JlYXRpb24gYW5kIHByZXNlbnRhdGlvbi5cbiAgICovXG4gIG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEdsb2JhbCBjb25maWd1cmF0aW9uIHZhbHVlcyBhdmFpbGFibGUgdG8gdGhlIG1vZGFsLlxuICAgKiBAc3VtbWFyeSBIb2xkcyBzaGFyZWQgcnVudGltZSBkYXRhIHRoYXQgY2FuIGJlIGNvbnN1bWVkIGJ5IG1vZGFsIGNvbnRlbnQgYW5kIGhhbmRsZXJzLlxuICAgKi9cbiAgZ2xvYmFscz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gSW5saW5lIGNvbnRlbnQgcmVuZGVyZWQgaW5zaWRlIHRoZSBtb2RhbCBib2R5LlxuICAgKiBAc3VtbWFyeSBBY2NlcHRzIEhUTUwgdGV4dCBvciBET00gY29udGVudCB0byBiZSBzYW5pdGl6ZWQgYW5kIGRpc3BsYXllZC5cbiAgICovXG4gIGlubGluZUNvbnRlbnQ/OiBzdHJpbmcgfCBhbnk7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBQb3NpdGlvbiBvZiB0aGUgaW5saW5lIGNvbnRlbnQgd2l0aGluIHRoZSBtb2RhbC5cbiAgICogQHN1bW1hcnkgRGV0ZXJtaW5lcyB3aGV0aGVyIGlubGluZSBjb250ZW50IGFwcGVhcnMgYmVmb3JlIG9yIGFmdGVyIHRoZSBtYWluIGJvZHkuXG4gICAqL1xuICBpbmxpbmVDb250ZW50UG9zaXRpb246IFwidG9wXCIgfCBcImJvdHRvbVwiO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRW5hYmxlcyBmdWxsc2NyZWVuIHByZXNlbnRhdGlvbiBmb3IgdGhlIG1vZGFsLlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB3aGV0aGVyIHRoZSBtb2RhbCBvY2N1cGllcyB0aGUgZW50aXJlIHZpZXdwb3J0LlxuICAgKi9cbiAgZnVsbHNjcmVlbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEVuYWJsZXMgZXhwYW5kYWJsZSBwcmVzZW50YXRpb24gZm9yIHRoZSBtb2RhbC5cbiAgICogQHN1bW1hcnkgU2lnbmFscyB3aGV0aGVyIHRoZSBtb2RhbCBjYW4gYmUgZXhwYW5kZWQgYnkgdGhlIHVzZXIuXG4gICAqL1xuICBleHBhbmRhYmxlOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ29udHJvbHMgYm9yZGVyIHJlbmRlcmluZyBmb3IgdGhlIG1vZGFsIGNvbnRlbnQuXG4gICAqIEBzdW1tYXJ5IEVuYWJsZXMgb3IgZGlzYWJsZXMgdmlzdWFsIGJvcmRlcnMgYWNjb3JkaW5nIHRvIHRoZSBjb21wb25lbnQgc3R5bGluZyBydWxlcy5cbiAgICovXG4gIGJvcmRlcnM6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBFbmFibGVzIGxpZ2h0Ym94IHByZXNlbnRhdGlvbiBmb3IgdGhlIG1vZGFsLlxuICAgKiBAc3VtbWFyeSBDb250cm9scyB3aGV0aGVyIHRoZSBtb2RhbCBpcyBkaXNwbGF5ZWQgd2l0aCBhIGxpZ2h0Ym94LXN0eWxlIG92ZXJsYXkuXG4gICAqL1xuICBsaWdodEJveDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbnRyb2xzIHRoZSB0cmFuc3BhcmVuY3kgb2YgdGhlIG1vZGFsIGhlYWRlci5cbiAgICogQHN1bW1hcnkgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIG1vZGFsIGhlYWRlciBzaG91bGQgYmUgcmVuZGVyZWQgd2l0aCBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuXG4gICAqL1xuICBoZWFkZXJUcmFuc3BhcmVudDogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIG1vZGFsIGhlYWRlci5cbiAgICogQHN1bW1hcnkgU3RvcmVzIHRoZSBoZWFkZXIgY29sb3IgdG9rZW4gdXNlZCB0byBzdHlsZSB0aGUgbW9kYWwgaGVhZGVyIHJlZ2lvbi5cbiAgICovXG4gIGhlYWRlckJhY2tncm91bmQ6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENvbnRyb2xzIHRoZSB2aXNpYmlsaXR5IG9mIHRoZSBtb2RhbCBoZWFkZXIuXG4gICAqIEBzdW1tYXJ5IEluZGljYXRlcyB3aGV0aGVyIHRoZSBoZWFkZXIgc2VjdGlvbiBzaG91bGQgYmUgcmVuZGVyZWQuXG4gICAqL1xuICBzaG93SGVhZGVyOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ29udHJvbHMgdGhlIHZpc2liaWxpdHkgb2YgdGhlIG1vZGFsIGNsb3NlIGJ1dHRvbi5cbiAgICogQHN1bW1hcnkgSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNsb3NlIGFjdGlvbiBzaG91bGQgYmUgc2hvd24gaW4gdGhlIGhlYWRlci5cbiAgICovXG4gIHNob3dDbG9zZUJ1dHRvbjogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEVtaXRzIG1vZGFsIGRpc21pc3MgZGV0YWlscy5cbiAgICogQHN1bW1hcnkgTm90aWZpZXMgY29uc3VtZXJzIHdoZW4gdGhlIG1vZGFsIGlzIGFib3V0IHRvIGJlIGRpc21pc3NlZC5cbiAgICovXG4gIHdpbGxEaXNtaXNzRXZlbnQ6IHtcbiAgICBlbWl0KHZhbHVlOiB1bmtub3duKTogdm9pZDtcbiAgfTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluZGljYXRlcyB3aGV0aGVyIHRoZSBtb2RhbCBjb250ZW50IGlzIGV4cGFuZGVkLlxuICAgKiBAc3VtbWFyeSBUcmFja3MgdGhlIGN1cnJlbnQgZXhwYW5kZWQgb3IgY29sbGFwc2VkIHN0YXRlIG9mIHRoZSBtb2RhbCBib2R5LlxuICAgKi9cbiAgZXhwYW5kZWQ6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEZWZpbmVzIHRoZSBpY29uIGNvbG9yIHVzZWQgYnkgdGhlIG1vZGFsLlxuICAgKiBAc3VtbWFyeSBTdG9yZXMgdGhlIGNvbG9yIHRva2VuIHVzZWQgZm9yIG1vZGFsIGljb25zIGFuZCBhY3Rpb25zLlxuICAgKi9cbiAgaWNvbkNvbG9yOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBJbml0aWFsaXplcyB0aGUgbW9kYWwgY29tcG9uZW50IHN0YXRlLlxuICAgKiBAc3VtbWFyeSBQcmVwYXJlcyB0aGUgbW9kYWwgYmVmb3JlIHByZXNlbnRhdGlvbiBhbmQgYXBwbGllcyBpbmxpbmUgY29udGVudCBzYW5pdGl6YXRpb24uXG4gICAqXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IFJlc29sdmVzIHdoZW4gaW5pdGlhbGl6YXRpb24gY29tcGxldGVzLlxuICAgKi9cbiAgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFByZXBhcmVzIHRoZSBtb2RhbCB3aXRoIHRoZSBwcm92aWRlZCBvcHRpb25zLlxuICAgKiBAc3VtbWFyeSBNZXJnZXMgZGVmYXVsdHMsIGFwcGxpZXMgZ2xvYmFsIHJ1bnRpbWUgc2V0dGluZ3MsIGFuZCByZWdpc3RlcnMgY3VzdG9tIGhhbmRsZXJzLlxuICAgKlxuICAgKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsIHVua25vd24+fSBbb3B0aW9ucz17fV0gQWRkaXRpb25hbCBtb2RhbCBpbml0aWFsaXphdGlvbiBvcHRpb25zLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyB3aGVuIHByZXBhcmF0aW9uIGNvbXBsZXRlcy5cbiAgICovXG4gIHByZXBhcmUob3B0aW9ucz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFNhbml0aXplcyBhbmQgbm9ybWFsaXplcyBpbmxpbmUgY29udGVudC5cbiAgICogQHN1bW1hcnkgQ29udmVydHMgRE9NIGNvbnRlbnQgdG8gSFRNTCB0ZXh0IHdoZW4gbmVlZGVkIGFuZCBwcmVwYXJlcyBpdCBmb3Igc2FmZSByZW5kZXJpbmcuXG4gICAqXG4gICAqIEByZXR1cm4ge3ZvaWR9IERvZXMgbm90IHJldHVybiBhIHZhbHVlLlxuICAgKi9cbiAgcGFyc2VJbmxpbmVDb250ZW50KCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDcmVhdGVzIGFuZCBwcmVzZW50cyB0aGUgbW9kYWwuXG4gICAqIEBzdW1tYXJ5IFByZXBhcmVzIHRoZSBtb2RhbCwgcHJlc2VudHMgaXQsIGFuZCByZXR1cm5zIHRoZSBhY3RpdmUgbW9kYWwgaW5zdGFuY2UgY29udHJhY3QuXG4gICAqXG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IFtwcm9wcz17fV0gTW9kYWwgcHJvcGVydGllcyB1c2VkIGR1cmluZyBjcmVhdGlvbi5cbiAgICogQHJldHVybiB7UHJvbWlzZTxhbnk+fSBSZXNvbHZlcyB3aXRoIHRoZSBtb2RhbCBpbnN0YW5jZSBjb250cmFjdC5cbiAgICovXG4gIGNyZWF0ZShwcm9wcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogUHJvbWlzZTxhbnk+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUHJlc2VudHMgdGhlIG1vZGFsLlxuICAgKiBAc3VtbWFyeSBTZXRzIHRoZSBtb2RhbCBhcyB2aXNpYmxlIGFuZCB0cmlnZ2VycyBhbnkgcHJlc2VudGF0aW9uLXRpbWUgdXBkYXRlcy5cbiAgICpcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gUmVzb2x2ZXMgd2hlbiB0aGUgbW9kYWwgaXMgdmlzaWJsZS5cbiAgICovXG4gIHByZXNlbnQoKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEhhbmRsZXMgYSBjdXN0b20gZXZlbnQgdHJpZ2dlcmVkIGJ5IHRoZSBtb2RhbC5cbiAgICogQHN1bW1hcnkgU3RvcHMgZXZlbnQgcHJvcGFnYXRpb24gd2hlbiBuZWVkZWQgYW5kIHJvdXRlcyB0aGUgZXZlbnQgdG8gY29uZmlybSBvciBjYW5jZWwgYWN0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHthbnl9IGV2ZW50IEV2ZW50IHBheWxvYWQgZW1pdHRlZCBieSB0aGUgbW9kYWwuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59IFJlc29sdmVzIHdoZW4gZXZlbnQgaGFuZGxpbmcgY29tcGxldGVzLlxuICAgKi9cbiAgaGFuZGxlRXZlbnQoZXZlbnQ6IGFueSk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBIYW5kbGVzIHRoZSBtb2RhbCBkaXNtaXNzIGV2ZW50LlxuICAgKiBAc3VtbWFyeSBFbWl0cyB0aGUgZGlzbWlzcyBwYXlsb2FkIGFuZCByZXR1cm5zIHRoZSBvdmVybGF5IGRldGFpbCBvYmplY3QgdG8gY2FsbGVycy5cbiAgICpcbiAgICogQHBhcmFtIHthbnl9IGV2ZW50IERpc21pc3MgZXZlbnQgZW1pdHRlZCBieSB0aGUgbW9kYWwuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8eyBkYXRhPzogdW5rbm93biB9Pn0gUmVzb2x2ZXMgd2l0aCB0aGUgZGlzbWlzcyBldmVudCBkZXRhaWxzLlxuICAgKi9cbiAgaGFuZGxlV2lsbERpc21pc3MoZXZlbnQ6IGFueSk6IFByb21pc2U8e1xuICAgIGRhdGE/OiB1bmtub3duO1xuICB9PjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFRvZ2dsZXMgdGhlIGV4cGFuZGVkIHN0YXRlIG9mIHRoZSBtb2RhbC5cbiAgICogQHN1bW1hcnkgU3dpdGNoZXMgYmV0d2VlbiBleHBhbmRlZCBhbmQgY29sbGFwc2VkIHByZXNlbnRhdGlvbiBtb2Rlcy5cbiAgICpcbiAgICogQHJldHVybiB7dm9pZH0gRG9lcyBub3QgcmV0dXJuIGEgdmFsdWUuXG4gICAqL1xuICBoYW5kbGVFeHBhbmRUb2dnbGUoKTogdm9pZDtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENhbmNlbHMgdGhlIG1vZGFsLlxuICAgKiBAc3VtbWFyeSBEaXNtaXNzZXMgdGhlIG1vZGFsIHVzaW5nIHRoZSBjYW5jZWwgcm9sZS5cbiAgICpcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn0gUmVzb2x2ZXMgd2hlbiB0aGUgbW9kYWwgaGFzIGJlZW4gZGlzbWlzc2VkLlxuICAgKi9cbiAgY2FuY2VsKCk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBDb25maXJtcyB0aGUgbW9kYWwuXG4gICAqIEBzdW1tYXJ5IERpc21pc3NlcyB0aGUgbW9kYWwgdXNpbmcgdGhlIGNvbmZpcm0gcm9sZSBhbmQgb3B0aW9uYWwgZXZlbnQgZGF0YS5cbiAgICpcbiAgICogQHBhcmFtIHthbnl9IFtldmVudF0gT3B0aW9uYWwgZXZlbnQgcGF5bG9hZCBmb3J3YXJkZWQgdG8gdGhlIGRpc21pc3MgYWN0aW9uLlxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyB3aGVuIHRoZSBtb2RhbCBoYXMgYmVlbiBkaXNtaXNzZWQuXG4gICAqL1xuICBjb25maXJtKGV2ZW50PzogYW55KTogUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSURlY2FmUm91dGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3VpL2ludGVyZmFjZXMvSURlY2FmUm91dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBDb250cmFjdCBmb3Igcm91dGVyIGhlbHBlcnMgdXNlZCBieSBEZWNhZiBVSSBjb21wb25lbnRzLlxuICogQHN1bW1hcnkgRGVmaW5lcyBuYXZpZ2F0aW9uIGFuZCBxdWVyeS1wYXJhbWV0ZXIgdXRpbGl0aWVzIHRoYXQgYWJzdHJhY3QgdGhlXG4gKiB1bmRlcmx5aW5nIHJvdXRpbmcgaW1wbGVtZW50YXRpb24gZm9yIFVJIGNvbXBvbmVudHMgYW5kIHNlcnZpY2VzLlxuICpcbiAqIEBpbnRlcmZhY2UgSURlY2FmUm91dGVyXG4gKiBAc2luY2UgMjAyNi0wNi0xOVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzL3VpL2ludGVyZmFjZXNcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRGVjYWZSb3V0ZXIge1xuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBhcnNlcyBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUuXG4gICAqIEBzdW1tYXJ5IEV4dHJhY3RzIHNwZWNpZmllZCBxdWVyeSBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgcm91dGUgYW5kIHJldHVybnMgdGhlbVxuICAgKiBhcyBhbiBhcnJheSBvZiBrZXktdmFsdWUgcGFpcnMuIFdoZW4gbm8gcGFyYW1zIGFyZSBwcm92aWRlZCwgYWxsIHF1ZXJ5IHBhcmFtZXRlcnNcbiAgICogYXJlIGV4dHJhY3RlZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBzdHJpbmdbXX0gW3BhcmFtc10gLSBUaGUgcGFyYW1ldGVyIG5hbWUocykgdG8gZXh0cmFjdCBmcm9tIHRoZSByb3V0ZVxuICAgKlxuICAgKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnMvdWkvaW50ZXJmYWNlc1xuICAgKi9cbiAgcGFyc2VBbGxRdWVyeVBhcmFtcyhwYXJhbXM/OiBzdHJpbmcgfCBzdHJpbmdbXSk6IFJlY29yZDxzdHJpbmcsIGFueT5bXTtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENoZWNrcyBpZiBhIHF1ZXJ5IHBhcmFtZXRlciBleGlzdHMgaW4gdGhlIGN1cnJlbnQgcm91dGUuXG4gICAqIEBzdW1tYXJ5IERldGVybWluZXMgd2hldGhlciBhIHNwZWNpZmljIHF1ZXJ5IHBhcmFtZXRlciBpcyBwcmVzZW50IGluIHRoZSBjdXJyZW50XG4gICAqIHJvdXRlJ3MgcXVlcnkgcGFyYW1ldGVycy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtIC0gVGhlIG5hbWUgb2YgdGhlIHF1ZXJ5IHBhcmFtZXRlciB0byBjaGVja1xuICAgKiBAcmV0dXJuIHtib29sZWFufSBUcnVlIGlmIHRoZSBwYXJhbWV0ZXIgZXhpc3RzLCBmYWxzZSBvdGhlcndpc2VcbiAgICpcbiAgICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzL3VpL2ludGVyZmFjZXNcbiAgICovXG4gIGhhc1F1ZXJ5UGFyYW0ocGFyYW06IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgYSBzcGVjaWZpYyBxdWVyeSBwYXJhbWV0ZXIgZnJvbSB0aGUgY3VycmVudCByb3V0ZS5cbiAgICogQHN1bW1hcnkgRXh0cmFjdHMgYSBzaW5nbGUgcXVlcnkgcGFyYW1ldGVyIGZyb20gdGhlIGN1cnJlbnQgcm91dGUgYW5kIHJldHVybnMgaXRcbiAgICogYXMgYSBrZXktdmFsdWUgcGFpciwgb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhcmFtIC0gVGhlIG5hbWUgb2YgdGhlIHF1ZXJ5IHBhcmFtZXRlciB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJuIHtSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgdW5kZWZpbmVkfSBBIGtleS12YWx1ZSBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBwYXJhbWV0ZXIsIG9yIHVuZGVmaW5lZCBpZiBub3QgZm91bmRcbiAgICpcbiAgICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzL3VpL2ludGVyZmFjZXNcbiAgICovXG4gIGdldFF1ZXJ5UGFyYW0ocGFyYW06IHN0cmluZyk6IFJlY29yZDxzdHJpbmcsIGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWMgcXVlcnkgcGFyYW1ldGVyLlxuICAgKiBAc3VtbWFyeSBFeHRyYWN0cyBvbmx5IHRoZSBzdHJpbmcgdmFsdWUgb2YgYSBzaW5nbGUgcXVlcnkgcGFyYW1ldGVyIGZyb20gdGhlIGN1cnJlbnRcbiAgICogcm91dGUsIG9yIHVuZGVmaW5lZCBpZiBub3QgZm91bmQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJhbSAtIFRoZSBuYW1lIG9mIHRoZSBxdWVyeSBwYXJhbWV0ZXIgdG8gcmV0cmlldmVcbiAgICogQHJldHVybiB7c3RyaW5nIHwgdW5kZWZpbmVkfSBUaGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlciwgb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZFxuICAgKlxuICAgKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnMvdWkvaW50ZXJmYWNlc1xuICAgKi9cbiAgZ2V0UXVlcnlQYXJhbVZhbHVlKHBhcmFtOiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgdGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgY3VycmVudCBVUkwuXG4gICAqIEBzdW1tYXJ5IEV4dHJhY3RzIHRoZSBmaW5hbCBwYXRoIHNlZ21lbnQgZnJvbSB0aGUgY3VycmVudCBVUkwuIEZhbGxzIGJhY2sgdG8gdGhlXG4gICAqIGJyb3dzZXIncyB3aW5kb3cgbG9jYXRpb24gd2hlbiB0aGUgQW5ndWxhciBSb3V0ZXIgVVJMIGlzIHVuYXZhaWxhYmxlLlxuICAgKlxuICAgKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBsYXN0IHNlZ21lbnQgb2YgdGhlIGN1cnJlbnQgVVJMIHBhdGhcbiAgICpcbiAgICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzL3VpL2ludGVyZmFjZXNcbiAgICovXG4gIGdldExhc3RVcmxTZWdtZW50KCk6IHN0cmluZztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJldHJpZXZlcyB0aGUgY3VycmVudCBVUkwgb2YgdGhlIGFwcGxpY2F0aW9uLlxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRoZSBjdXJyZW50IFVSTCBwYXRoLCBzdHJpcHBpbmcgdGhlIGxlYWRpbmcgZm9yd2FyZCBzbGFzaC5cbiAgICogRmFsbHMgYmFjayB0byB0aGUgYnJvd3NlcidzIHBhdGhuYW1lIHdoZW4gdGhlIEFuZ3VsYXIgUm91dGVyIHJldHVybnMgb25seSAnLycuXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGN1cnJlbnQgVVJMIHdpdGhvdXQgdGhlIGxlYWRpbmcgc2xhc2hcbiAgICpcbiAgICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzL3VpL2ludGVyZmFjZXNcbiAgICovXG4gIGdldEN1cnJlbnRVcmwoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIHRoZSBVUkwgb2YgdGhlIHByZXZpb3VzIHBhZ2UuXG4gICAqIEBzdW1tYXJ5IEV4dHJhY3RzIHRoZSBVUkwgb2YgdGhlIHByZXZpb3VzIHBhZ2UgZnJvbSB0aGUgcm91dGVyJ3MgbmF2aWdhdGlvbiBoaXN0b3J5LFxuICAgKiB1c2VmdWwgZm9yIGJhY2sgbmF2aWdhdGlvbiBhbmQgdHJhY2tpbmcgdGhlIHVzZXIncyBuYXZpZ2F0aW9uIHBhdGguXG4gICAqXG4gICAqIEByZXR1cm4ge3N0cmluZ30gVGhlIFVSTCBvZiB0aGUgcHJldmlvdXMgcGFnZVxuICAgKlxuICAgKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnMvdWkvaW50ZXJmYWNlc1xuICAgKi9cbiAgZ2V0UHJldmlvdXNVcmwoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gTmF2aWdhdGVzIGJhY2sgdG8gdGhlIHByZXZpb3VzIHBhZ2UuXG4gICAqIEBzdW1tYXJ5IERpc3BhdGNoZXMgYSB7QGxpbmsgQ29tcG9uZW50RXZlbnROYW1lcy5CYWNrQnV0dG9uQ2xpY2tFdmVudH0gY3VzdG9tIGV2ZW50XG4gICAqIGFuZCB0aGVuIHRyaWdnZXJzIGJyb3dzZXIgYmFjayBuYXZpZ2F0aW9uIHZpYSBBbmd1bGFyJ3MgTG9jYXRpb24gc2VydmljZS5cbiAgICpcbiAgICogQHJldHVybiB7dm9pZH1cbiAgICpcbiAgICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzL3VpL2ludGVyZmFjZXNcbiAgICovXG4gIGJhY2tUb0xhc3RQYWdlKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBOYXZpZ2F0ZXMgdG8gYSBzcGVjaWZpZWQgcGFnZS5cbiAgICogQHN1bW1hcnkgVHJpZ2dlcnMgbmF2aWdhdGlvbiB0byB0aGUgZ2l2ZW4gcGFnZSB1c2luZyB0aGUgSW9uaWMgTmF2Q29udHJvbGxlcixcbiAgICogc3VwcG9ydGluZyBST09ULCBGT1JXQVJELCBhbmQgQkFDSyBkaXJlY3Rpb25zLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFnZSAtIFRoZSB0YXJnZXQgcGFnZSBwYXRoXG4gICAqIEBwYXJhbSB7XCJmb3J3YXJkXCIgfCBcImJhY2tcIiB8IFwicm9vdFwifSBbZGlyZWN0aW9uXSAtIFRoZSBkaXJlY3Rpb24gb2YgbmF2aWdhdGlvbiAoZGVmYXVsdDogRk9SV0FSRClcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbb3B0aW9uc10gLSBBZGRpdGlvbmFsIG5hdmlnYXRpb24gb3B0aW9uc1xuICAgKiBAcmV0dXJuIHtQcm9taXNlPGJvb2xlYW4+fSBSZXNvbHZlcyB0byB0cnVlIGlmIG5hdmlnYXRpb24gc3VjY2VlZHMsIGZhbHNlIG90aGVyd2lzZVxuICAgKlxuICAgKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnMvdWkvaW50ZXJmYWNlc1xuICAgKi9cbiAgbmF2aWdhdGUoXG4gICAgcGFnZTogc3RyaW5nLFxuICAgIGRpcmVjdGlvbj86IFwiZm9yd2FyZFwiIHwgXCJiYWNrXCIgfCBcInJvb3RcIixcbiAgICBvcHRpb25zPzogUmVjb3JkPHN0cmluZywgYW55PlxuICApOiBQcm9taXNlPGJvb2xlYW4+O1xufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSURlY2FmU3Bpbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS9pbnRlcmZhY2VzL0lEZWNhZlNwaW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGRlc2NyaXB0aW9uIENvbnRyYWN0IGZvciBsb2FkaW5nIG92ZXJsYXkgbWFuYWdlbWVudCBpbiBEZWNhZiBhcHBsaWNhdGlvbnMuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBwdWJsaWMgQVBJIGZvciBkaXNwbGF5aW5nLCB1cGRhdGluZywgYW5kIGRpc21pc3NpbmcgbG9hZGluZyBvdmVybGF5c1xuICogd2l0aCBvcHRpb25hbCBwcm9ncmVzcyB0cmFja2luZyBhbmQgbWVzc2FnZSB1cGRhdGVzLlxuICpcbiAqIEBpbnRlcmZhY2UgSURlY2FmU3Bpbm5lclxuICogQHNpbmNlIDIwMjYtMDYtMTlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9ycy91aS9pbnRlcmZhY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURlY2FmU3Bpbm5lciB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gQ2hlY2tzIGlmIGEgbG9hZGluZyBvdmVybGF5IGlzIGN1cnJlbnRseSB2aXNpYmxlLlxuICAgKiBAc3VtbWFyeSBSZXR1cm5zIHRydWUgd2hlbiBhIGxvYWRpbmcgb3ZlcmxheSBpcyBhY3RpdmUgYW5kIGRpc3BsYXllZCB0byB0aGUgdXNlci5cbiAgICpcbiAgICogQHJldHVybnMge2Jvb2xlYW59IFRydWUgaWYgYSBsb2FkaW5nIG92ZXJsYXkgaXMgdmlzaWJsZSwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9ycy91aS9pbnRlcmZhY2VzXG4gICAqL1xuICBpc1Zpc2libGUoKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERpc3BsYXlzIGEgbG9hZGluZyBvdmVybGF5IHdpdGggdGhlIHNwZWNpZmllZCBtZXNzYWdlIGFuZCBvcHRpb25zLlxuICAgKiBAc3VtbWFyeSBDcmVhdGVzIGFuZCBwcmVzZW50cyBhIGxvYWRpbmcgb3ZlcmxheS4gSWYgb25lIGlzIGFscmVhZHkgdmlzaWJsZSxcbiAgICogdXBkYXRlcyB0aGUgZXhpc3Rpbmcgb3ZlcmxheSBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgbmV3IG9uZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+fSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gZGlzcGxheSwgb3IgYSBmdWxsIG9wdGlvbnMgb2JqZWN0XG4gICAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW29wdGlvbnNdIC0gT3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhlIGxvYWRpbmcgb3ZlcmxheVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gUmVzb2x2ZXMgd2hlbiB0aGUgbG9hZGluZyBvdmVybGF5IGlzIGRpc3BsYXllZFxuICAgKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnMvdWkvaW50ZXJmYWNlc1xuICAgKi9cbiAgc2hvdyhtZXNzYWdlOiBzdHJpbmcgfCBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBvcHRpb25zPzogUmVjb3JkPHN0cmluZywgYW55Pik6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGVzIHRoZSBsb2FkaW5nIG92ZXJsYXkgbWVzc2FnZSBhbmQgb3B0aW9uYWxseSB0cmFja3MgcHJvZ3Jlc3MuXG4gICAqIEBzdW1tYXJ5IE1vZGlmaWVzIHRoZSBjdXJyZW50IG92ZXJsYXkgbWVzc2FnZS4gV2hlbiB7QGxpbmsgaXNQcm9ncmVzc1VwZGF0ZX0gaXMgYSBudW1iZXIsXG4gICAqIGRpc3BsYXlzIHByb2dyZXNzIGFzIGEgcGVyY2VudGFnZS4gV2hlbiBubyBvdmVybGF5IGV4aXN0cywgY3JlYXRlcyBvbmUgd2l0aCBhIGRlZmF1bHQgZHVyYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIG5ldyBtZXNzYWdlIHRvIGRpc3BsYXlcbiAgICogQHBhcmFtIHtib29sZWFuIHwgbnVtYmVyfSBbaXNQcm9ncmVzc1VwZGF0ZT1mYWxzZV0gLSBQcm9ncmVzcyBwZXJjZW50YWdlIChudW1iZXIpIG9yIGZsYWcgKGJvb2xlYW4pXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyB3aGVuIHRoZSB1cGRhdGUgaXMgYXBwbGllZFxuICAgKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnMvdWkvaW50ZXJmYWNlc1xuICAgKi9cbiAgdXBkYXRlKG1lc3NhZ2U6IHN0cmluZywgaXNQcm9ncmVzc1VwZGF0ZT86IGJvb2xlYW4gfCBudW1iZXIpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVtb3ZlcyB0aGUgbG9hZGluZyBvdmVybGF5IGZyb20gZGlzcGxheS5cbiAgICogQHN1bW1hcnkgRGlzbWlzc2VzIHRoZSBhY3RpdmUgbG9hZGluZyBvdmVybGF5IGFuZCByZXNldHMgaW50ZXJuYWwgcHJvZ3Jlc3Mgc3RhdGUuXG4gICAqIFNhZmUgdG8gY2FsbCBldmVuIHdoZW4gbm8gb3ZlcmxheSBpcyBhY3RpdmUuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyB3aGVuIHRoZSBvdmVybGF5IGlzIGRpc21pc3NlZFxuICAgKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnMvdWkvaW50ZXJmYWNlc1xuICAgKi9cbiAgcmVtb3ZlKCk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBNZXJnZXMgY3VzdG9tIG9wdGlvbnMgd2l0aCB0aGUgZGVmYXVsdCBsb2FkaW5nIGNvbmZpZ3VyYXRpb24uXG4gICAqIEBzdW1tYXJ5IENvbWJpbmVzIGRlZmF1bHRzIHdpdGggdXNlci1wcm92aWRlZCBvcHRpb25zLiBUaGUge0BsaW5rIG1lc3NhZ2V9IHBhcmFtZXRlclxuICAgKiB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgYW55IG1lc3NhZ2Ugc2V0IGluIHtAbGluayBvcHRpb25zfS5cbiAgICpcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbb3B0aW9ucz17fV0gLSBDdXN0b20gbG9hZGluZyBvcHRpb25zIHRvIG1lcmdlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbbWVzc2FnZV0gLSBPcHRpb25hbCBtZXNzYWdlIG92ZXJyaWRlXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFJlY29yZDxzdHJpbmcsIGFueT4+fSBUaGUgbWVyZ2VkIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gICAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9ycy91aS9pbnRlcmZhY2VzXG4gICAqL1xuICBnZXRPcHRpb25zKG9wdGlvbnM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+LCBtZXNzYWdlPzogc3RyaW5nKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJldHJpZXZlcyB0aGUgY3VycmVudCBsb2FkaW5nIG1lc3NhZ2UuXG4gICAqIEBzdW1tYXJ5IFJldHVybnMgdGhlIG1lc3NhZ2UgY3VycmVudGx5IGJlaW5nIGRpc3BsYXllZCBpbiB0aGUgYWN0aXZlIGxvYWRpbmcgb3ZlcmxheS5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gUmVzb2x2ZXMgdG8gdGhlIGN1cnJlbnQgbG9hZGluZyBtZXNzYWdlXG4gICAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9ycy91aS9pbnRlcmZhY2VzXG4gICAqL1xuICBnZXRNZXNzYWdlKCk6IFByb21pc2U8c3RyaW5nPjtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSURlY2FmVG9hc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdWkvaW50ZXJmYWNlcy9JRGVjYWZUb2FzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVjYWZUb2FzdE9wdGlvbnMsIERlY2FmVG9hc3RSb2xlIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIENvbnRyYWN0IGZvciB0b2FzdCBub3RpZmljYXRpb24gbWFuYWdlbWVudCBpbiBEZWNhZiBhcHBsaWNhdGlvbnMuXG4gKiBAc3VtbWFyeSBEZWZpbmVzIHRoZSBwdWJsaWMgQVBJIGZvciBkaXNwbGF5aW5nIHRvYXN0IG1lc3NhZ2VzIHdpdGggc2VtYW50aWMgdHlwZXNcbiAqIChlcnJvciwgc3VjY2Vzcywgd2FybmluZywgaW5mbyksIGN1c3RvbSBvcHRpb25zLCBhbmQgZGlzbWlzc2FsIHJvbGUgdHJhY2tpbmcuXG4gKlxuICogQGludGVyZmFjZSBJRGVjYWZUb2FzdFxuICogQHNpbmNlIDIwMjYtMDYtMTlcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9ycy91aS9pbnRlcmZhY2VzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURlY2FmVG9hc3Qge1xuICBvcHRpb25zOiBEZWNhZlRvYXN0T3B0aW9ucztcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERpc3BsYXlzIGFuIGVycm9yIHRvYXN0IHdpdGggZGFuZ2VyIHN0eWxpbmcuXG4gICAqIEBzdW1tYXJ5IFByZXNlbnRzIGEgdG9hc3Qgd2l0aCB0aGUgZGFuZ2VyIGNvbG9yIGFuZCB3YWl0cyBmb3IgZGlzbWlzc2FsLFxuICAgKiByZXR1cm5pbmcgdGhlIHJvbGUgdGhhdCBjYXVzZWQgaXQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheVxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxEZWNhZlRvYXN0Um9sZT59IFJlc29sdmVzIHdpdGggdGhlIGRpc21pc3NhbCByb2xlXG4gICAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9ycy91aS9pbnRlcmZhY2VzXG4gICAqL1xuICBlcnJvcihtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPERlY2FmVG9hc3RSb2xlPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYW5kIHByZXNlbnRzIGEgdG9hc3QgZnJvbSBhIGZ1bGwgb3B0aW9ucyBvYmplY3QuXG4gICAqIEBzdW1tYXJ5IENvbnZlbmllbmNlIHdyYXBwZXIgYXJvdW5kIHtAbGluayBzaG93fSBmb3IgY2FsbGVycyB0aGF0IGFscmVhZHlcbiAgICogaGF2ZSBhIGNvbXBsZXRlIHtAbGluayBEZWNhZlRvYXN0T3B0aW9uc30gb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge0RlY2FmVG9hc3RPcHRpb25zfSBvcHRpb25zIC0gRnVsbCB0b2FzdCBjb25maWd1cmF0aW9uIG9wdGlvbnNcbiAgICogQHJldHVybnMge1Byb21pc2U8b2JqZWN0Pn0gUmVzb2x2ZXMgd2l0aCB0aGUgY3JlYXRlZCB0b2FzdCBlbGVtZW50XG4gICAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9ycy91aS9pbnRlcmZhY2VzXG4gICAqL1xuICBjcmVhdGUob3B0aW9uczogRGVjYWZUb2FzdE9wdGlvbnMpOiBQcm9taXNlPG9iamVjdD47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEaXNwbGF5cyBhbiBpbmZvcm1hdGlvbmFsIHRvYXN0IHdpdGggZGVmYXVsdCBzdHlsaW5nLlxuICAgKiBAc3VtbWFyeSBQcmVzZW50cyBhIHRvYXN0IHdpdGhvdXQgYSBzZW1hbnRpYyBjb2xvciwgc3VpdGFibGUgZm9yIG5ldXRyYWwgbWVzc2FnZXMuXG4gICAqIEFkZGl0aW9uYWwgb3B0aW9ucyBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHRzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSAtIFRoZSBpbmZvcm1hdGlvbmFsIG1lc3NhZ2UgdG8gZGlzcGxheVxuICAgKiBAcGFyYW0ge0RlY2FmVG9hc3RPcHRpb25zfSBbb3B0aW9ucz17fV0gLSBPcHRpb25hbCBvdmVycmlkZXMgZm9yIHRvYXN0IGNvbmZpZ3VyYXRpb25cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IFJlc29sdmVzIHdoZW4gdGhlIHRvYXN0IGlzIHByZXNlbnRlZFxuICAgKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnMvdWkvaW50ZXJmYWNlc1xuICAgKi9cbiAgc2hvdyhtZXNzYWdlOiBzdHJpbmcsIG9wdGlvbnM/OiBEZWNhZlRvYXN0T3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBEaXNwbGF5cyBhIHN1Y2Nlc3MgdG9hc3Qgd2l0aCBzdWNjZXNzIHN0eWxpbmcuXG4gICAqIEBzdW1tYXJ5IFByZXNlbnRzIGEgdG9hc3Qgd2l0aCB0aGUgc3VjY2VzcyBjb2xvciBmb3IgcG9zaXRpdmUgZmVlZGJhY2sgbWVzc2FnZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIHN1Y2Nlc3MgbWVzc2FnZSB0byBkaXNwbGF5XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSBSZXNvbHZlcyB3aGVuIHRoZSB0b2FzdCBpcyBwcmVzZW50ZWRcbiAgICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzL3VpL2ludGVyZmFjZXNcbiAgICovXG4gIHN1Y2Nlc3MobWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIERpc3BsYXlzIGEgd2FybmluZyB0b2FzdCB3aXRoIHdhcm5pbmcgc3R5bGluZy5cbiAgICogQHN1bW1hcnkgUHJlc2VudHMgYSB0b2FzdCB3aXRoIHRoZSB3YXJuaW5nIGNvbG9yIGFuZCB3YWl0cyBmb3IgZGlzbWlzc2FsLFxuICAgKiByZXR1cm5pbmcgdGhlIHJvbGUgdGhhdCBjYXVzZWQgaXQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIHdhcm5pbmcgbWVzc2FnZSB0byBkaXNwbGF5XG4gICAqIEByZXR1cm5zIHtQcm9taXNlPERlY2FmVG9hc3RSb2xlPn0gUmVzb2x2ZXMgd2l0aCB0aGUgZGlzbWlzc2FsIHJvbGVcbiAgICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzL3VpL2ludGVyZmFjZXNcbiAgICovXG4gIHdhcm4obWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTxEZWNhZlRvYXN0Um9sZT47XG59XG4iXX0=
|
|
@@ -2,4 +2,4 @@ export * from "./IDecafModal.js";
|
|
|
2
2
|
export * from "./IDecafToast.js";
|
|
3
3
|
export * from "./IDecafSpinner.js";
|
|
4
4
|
export * from "./IDecafRouter.js";
|
|
5
|
-
//# sourceMappingURL=
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdWkvaW50ZXJmYWNlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBOEI7QUFDOUIsaUNBQThCO0FBQzlCLG1DQUFnQztBQUNoQyxrQ0FBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi9JRGVjYWZNb2RhbFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vSURlY2FmVG9hc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0lEZWNhZlNwaW5uZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0lEZWNhZlJvdXRlclwiO1xuIl19
|
package/lib/esm/ui/overrides.js
CHANGED
|
@@ -5,4 +5,4 @@ Validator.getMessage = function (message, ...args) {
|
|
|
5
5
|
return Validator.translateService.translate(message, ...args);
|
|
6
6
|
return this.getMessage(message, ...args);
|
|
7
7
|
};
|
|
8
|
-
//# sourceMappingURL=
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3VpL292ZXJyaWRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0Qsd0JBQXFCO0FBRXBCLFNBQWlCLENBQUMsVUFBVSxHQUFHLFVBQVUsT0FBZSxFQUFFLEdBQUcsSUFBVztJQUN2RSxJQUFLLFNBQWlCLENBQUMsZ0JBQWdCO1FBQ3JDLE9BQVEsU0FBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDekUsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvciB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCBcIi4vdmFsaWRhdG9yXCI7XG5cbihWYWxpZGF0b3IgYXMgYW55KS5nZXRNZXNzYWdlID0gZnVuY3Rpb24gKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogYW55W10pIHtcbiAgaWYgKChWYWxpZGF0b3IgYXMgYW55KS50cmFuc2xhdGVTZXJ2aWNlKVxuICAgIHJldHVybiAoVmFsaWRhdG9yIGFzIGFueSkudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGUobWVzc2FnZSwgLi4uYXJncyk7XG4gIHJldHVybiB0aGlzLmdldE1lc3NhZ2UobWVzc2FnZSwgLi4uYXJncyk7XG59O1xuIl19
|
package/lib/esm/ui/types.js
CHANGED
|
@@ -7,4 +7,4 @@
|
|
|
7
7
|
* @memberOf module:ui-decorators
|
|
8
8
|
*/
|
|
9
9
|
import { UIKeys } from "./constants.js";
|
|
10
|
-
//# sourceMappingURL=types.js.map
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdWkvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7R0FPRztBQUdILE9BQU8sRUFBZ0IsTUFBTSxFQUFzQix1QkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBkZXNjcmlwdGlvbiBUeXBlIGRlZmluaXRpb25zIGZvciBVSSBjb21wb25lbnRzIGFuZCByZW5kZXJpbmdcbiAqIEBzdW1tYXJ5IERlZmluZXMgdHlwZXMgYW5kIGludGVyZmFjZXMgdXNlZCB0aHJvdWdob3V0IHRoZSBVSSBkZWNvcmF0b3JzIGxpYnJhcnlcbiAqIFRoaXMgbW9kdWxlIGNvbnRhaW5zIHR5cGUgZGVmaW5pdGlvbnMgZm9yIGZpZWxkIHByb3BlcnRpZXMsIFVJIG1ldGFkYXRhLFxuICogYW5kIG90aGVyIHN0cnVjdHVyZXMgdXNlZCBpbiByZW5kZXJpbmcgVUkgY29tcG9uZW50cy5cbiAqIEBtb2R1bGUgdWkvdHlwZXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5cbmltcG9ydCB7IE9wZXJhdGlvbktleXMgfSBmcm9tIFwiQGRlY2FmLXRzL2RiLWRlY29yYXRvcnNcIjtcbmltcG9ydCB7IEVsZW1lbnRTaXplcywgVUlLZXlzLCBVSU1lZGlhQnJlYWtQb2ludHMgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IERlY2FmRXZlbnRIYW5kbGVyIH0gZnJvbSBcIi4vRGVjYWZFdmVudEhhbmRsZXJcIjtcbmltcG9ydCB7IERlY2FmQ29tcG9uZW50IH0gZnJvbSBcIi4vRGVjYWZDb21wb25lbnRcIjtcbmltcG9ydCB7IE1vZGVsIH0gZnJvbSBcIkBkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvblwiO1xuaW1wb3J0IHsgUmVuZGVyaW5nRW5naW5lIH0gZnJvbSBcIi4vUmVuZGVyaW5nXCI7XG5pbXBvcnQgeyBDcnVkT3BlcmF0aW9ucyB9IGZyb20gXCJAZGVjYWYtdHMvZGItZGVjb3JhdG9yc1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2UgZm9yIGRlZmluaW5nIGEgVUkgZmllbGQgb3IgY29tcG9uZW50XG4gKiBAc3VtbWFyeSBSZXByZXNlbnRzIGEgcmVuZGVyYWJsZSBVSSBlbGVtZW50IHdpdGggcHJvcGVydGllcyBhbmQgY2hpbGRyZW5cbiAqIFRoaXMgaW50ZXJmYWNlIGRlZmluZXMgdGhlIHN0cnVjdHVyZSBvZiBhIFVJIGZpZWxkIG9yIGNvbXBvbmVudCwgaW5jbHVkaW5nXG4gKiBpdHMgdGFnIG5hbWUsIHByb3BlcnRpZXMsIGFuZCBvcHRpb25hbCBjaGlsZHJlbiBlbGVtZW50cy5cbiAqXG4gKiBAaW50ZXJmYWNlIEZpZWxkRGVmaW5pdGlvblxuICogQHRlbXBsYXRlIFQgQWRkaXRpb25hbCBwcm9wZXJ0aWVzIHR5cGUgKGRlZmF1bHRzIHRvIHZvaWQpXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdGFnIC0gVGhlIEhUTUwgZWxlbWVudCBvciBjb21wb25lbnQgdGFnIG5hbWVcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcmVuZGVyZXJJZF0gLSBPcHRpb25hbCBJRCBvZiB0aGUgcmVuZGVyZXIgdG8gdXNlXG4gKiBAcHJvcGVydHkgcHJvcHMgLSBDb21iaW5lZCBwcm9wZXJ0aWVzIGZvciB0aGUgZmllbGRcbiAqIEBwcm9wZXJ0eSB7RmllbGREZWZpbml0aW9uW119IFtjaGlsZHJlbl0gLSBPcHRpb25hbCBjaGlsZCBlbGVtZW50c1xuICogQHByb3BlcnR5IHtVSUxpc3RJdGVtRWxlbWVudE1ldGFkYXRhfSBbaXRlbV0gLSBPcHRpb25hbCBsaXN0IGl0ZW0gbWV0YWRhdGFcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWVsZERlZmluaXRpb248VCA9IHZvaWQ+IHtcbiAgdGFnOiBzdHJpbmc7XG4gIHJlbmRlcmVySWQ/OiBzdHJpbmc7XG4gIHByb3BzOiBUICYgRmllbGRQcm9wZXJ0aWVzO1xuICBjaGlsZHJlbj86IEZpZWxkRGVmaW5pdGlvbjxUPltdO1xuICBpdGVtPzogVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YTtcbiAgY29sPzogbnVtYmVyIHwgc3RyaW5nW107XG4gIHJvdz86IG51bWJlciB8IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2UgZm9yIGZpZWxkIHByb3BlcnRpZXMgaW5jbHVkaW5nIHZhbGlkYXRpb25cbiAqIEBzdW1tYXJ5IERlZmluZXMgY29tbW9uIHByb3BlcnRpZXMgYW5kIHZhbGlkYXRpb24gcnVsZXMgZm9yIFVJIGZpZWxkc1xuICogVGhpcyBpbnRlcmZhY2UgZGVmaW5lcyB0aGUgc3RhbmRhcmQgcHJvcGVydGllcyB0aGF0IGNhbiBiZSBhcHBsaWVkIHRvXG4gKiBVSSBmaWVsZHMsIGluY2x1ZGluZyBiYXNpYyBhdHRyaWJ1dGVzIGFuZCB2YWxpZGF0aW9uIHJ1bGVzLlxuICpcbiAqIEBpbnRlcmZhY2UgRmllbGRQcm9wZXJ0aWVzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IHBhdGggLSBUaGUgZnVsbCBoaWVyYXJjaGljYWwgcGF0aCBvZiB0aGUgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBjaGlsZE9mIC0gVGhlIHBhcmVudCBwYXRoIG9mIHRoZSBpbW1lZGlhdGUgcGFyZW50IGZpZWxkLCBpZiBuZXN0ZWRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0eXBlIC0gVGhlIHR5cGUgb2YgdGhlIGZpZWxkIChlLmcuLCAndGV4dCcsICdudW1iZXInKVxuICogQHByb3BlcnR5IHtzdHJpbmd8bnVtYmVyfERhdGV9IHZhbHVlIC0gVGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIGZpZWxkXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtoaWRkZW5dIC0gV2hldGhlciB0aGUgZmllbGQgaXMgaGlkZGVuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtkaXNhYmxlZF0gLSBXaGV0aGVyIHRoZSBmaWVsZCBpcyBkaXNhYmxlZFxuICogQHByb3BlcnR5IHtib29sZWFufSBbcmVxdWlyZWRdIC0gV2hldGhlciB0aGUgZmllbGQgaXMgcmVxdWlyZWRcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3JlYWRvbmx5XSAtIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHJlYWQtb25seVxuICogQHByb3BlcnR5IHtudW1iZXJ9IFttYXhMZW5ndGhdIC0gTWF4aW11bSBsZW5ndGggZm9yIHRleHQgZmllbGRzXG4gKiBAcHJvcGVydHkge251bWJlcn0gW21pbkxlbmd0aF0gLSBNaW5pbXVtIGxlbmd0aCBmb3IgdGV4dCBmaWVsZHNcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfERhdGV9IFttYXhdIC0gTWF4aW11bSB2YWx1ZSBmb3IgbnVtZXJpYyBvciBkYXRlIGZpZWxkc1xuICogQHByb3BlcnR5IHtudW1iZXJ8RGF0ZX0gW21pbl0gLSBNaW5pbXVtIHZhbHVlIGZvciBudW1lcmljIG9yIGRhdGUgZmllbGRzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3BhdHRlcm5dIC0gUmVnZXggcGF0dGVybiBmb3IgdmFsaWRhdGlvblxuICogQHByb3BlcnR5IHtudW1iZXJ9IFtzdGVwXSAtIFN0ZXAgdmFsdWUgZm9yIG51bWVyaWMgZmllbGRzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2Zvcm1hdF0gLSBGb3JtYXQgc3RyaW5nIGZvciBkYXRlIGZpZWxkc1xuICogQHByb3BlcnR5IHtzdHJpbmd9IFtlcXVhbHNdIC0gRmllbGQgbXVzdCBlcXVhbCB0aGUgdmFsdWUgb2YgdGhpcyBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtkaWZmXSAtIEZpZWxkIG11c3QgZGlmZmVyIGZyb20gdGhlIHZhbHVlIG9mIHRoaXMgZmllbGRcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbbGVzc1RoYW5dIC0gRmllbGQgbXVzdCBiZSBsZXNzIHRoYW4gdGhpcyBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtsZXNzVGhhbk9yRXF1YWxdIC0gRmllbGQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdGhpcyBmaWVsZFxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtncmVhdGVyVGhhbl0gLSBGaWVsZCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB0aGlzIGZpZWxkXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2dyZWF0ZXJUaGFuT3JFcXVhbF0gLSBGaWVsZCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGlzIGZpZWxkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRQcm9wZXJ0aWVzIHtcbiAgbmFtZTogc3RyaW5nO1xuICBwYXRoOiBzdHJpbmc7XG4gIGNoaWxkT2Y/OiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbiAgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IERhdGUgfCBzdHJpbmdbXSB8IG51bWJlcltdIHwgRGF0ZVtdO1xuICBoaWRkZW4/OiBib29sZWFuIHwgQ3J1ZE9wZXJhdGlvbktleXNbXTtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvLyBWYWxpZGF0aW9uXG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgcmVhZG9ubHk/OiBib29sZWFuO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgbWF4PzogbnVtYmVyIHwgRGF0ZTtcbiAgbWluPzogbnVtYmVyIHwgRGF0ZTtcbiAgcGF0dGVybj86IHN0cmluZztcbiAgc3RlcD86IG51bWJlcjtcbiAgZm9ybWF0Pzogc3RyaW5nO1xuICBwaz86IHN0cmluZztcbiAgc3ViVHlwZT86IHN0cmluZztcbiAgbXVsdGlwbGU/OiBib29sZWFuO1xuICBjdXN0b21UeXBlcz86IHN0cmluZyB8IHN0cmluZ1tdO1xuICB2YWxpZGF0aW9uTWVzc2FnZT86IHN0cmluZyB8IHN0cmluZ1tdO1xuICBvcHRpb25zPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5bXTtcbiAgcm93PzogbnVtYmVyO1xuICBjb2w/OiBudW1iZXI7XG4gIHBhZ2U/OiBudW1iZXI7XG4gIC8vIHBhZ2VzPzogbnVtYmVyIHwgSVBhZ2VkQ29tcG9uZW50UHJvcGVydGllc1tdO1xuICBbVUlLZXlzLkVRVUFMU10/OiBzdHJpbmc7XG4gIFtVSUtleXMuRElGRl0/OiBzdHJpbmc7XG4gIFtVSUtleXMuTEVTU19USEFOXT86IHN0cmluZztcbiAgW1VJS2V5cy5MRVNTX1RIQU5fT1JfRVFVQUxdPzogc3RyaW5nO1xuICBbVUlLZXlzLkdSRUFURVJfVEhBTl0/OiBzdHJpbmc7XG4gIFtVSUtleXMuR1JFQVRFUl9USEFOX09SX0VRVUFMXT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBAdHlwZWRlZiBVSUVsZW1lbnRNZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJRWxlbWVudE1ldGFkYXRhID0ge1xuICB0YWc6IHN0cmluZztcbiAgcHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICBzZXJpYWxpemU/OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUVsZW1lbnRNZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTW9kZWxNZXRhZGF0YSA9IE9taXQ8VUlFbGVtZW50TWV0YWRhdGEsIFwic2VyaWFsaXplXCI+O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJUHJvcE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlQcm9wTWV0YWRhdGEgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgc3RyaW5naWZ5OiBib29sZWFuO1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBDcnVkT3BlcmF0aW9uS2V5c1xuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIENydWRPcGVyYXRpb25LZXlzID1cbiAgfCBPcGVyYXRpb25LZXlzLkNSRUFURVxuICB8IE9wZXJhdGlvbktleXMuUkVBRFxuICB8IE9wZXJhdGlvbktleXMuVVBEQVRFXG4gIHwgT3BlcmF0aW9uS2V5cy5ERUxFVEU7XG5cbi8qKlxuICogQHR5cGVkZWYgVUlMaXN0UHJvcE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0UHJvcE1ldGFkYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxpc3RNb2RlbE1ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlMaXN0TW9kZWxNZXRhZGF0YSA9IHtcbiAgaXRlbTogVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YTtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYgVUlMaXN0SXRlbUVsZW1lbnRNZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTGlzdEl0ZW1FbGVtZW50TWV0YWRhdGEgPSB7XG4gIHRhZzogc3RyaW5nO1xuICBwcm9wcz86IFJlY29yZDxzdHJpbmcsIGFueT47XG4gIG1hcHBlcj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIFVJTGF5b3V0TWV0YWRhdGFcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5leHBvcnQgdHlwZSBVSUxheW91dE1ldGFkYXRhID0ge1xuICBjb2xzPzogbnVtYmVyO1xuICByb3dzPzogbnVtYmVyIHwgc3RyaW5nW107XG4gIHByb3BzPzogUmVjb3JkPHN0cmluZywgYW55Pjtcbn07XG5cbi8qKlxuICogQHR5cGVkZWYgVUlDbGFzc01ldGFkYXRhXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqL1xuZXhwb3J0IHR5cGUgVUlDbGFzc01ldGFkYXRhID1cbiAgfCBVSUxheW91dE1ldGFkYXRhXG4gIHwgVUlNb2RlbE1ldGFkYXRhXG4gIHwgVUlIYW5kbGVyTWV0YWRhdGFcbiAgfCBVSUxpc3RNb2RlbE1ldGFkYXRhO1xuXG5leHBvcnQgdHlwZSBVSUxheW91dENvbCA9XG4gIHwgbnVtYmVyXG4gIHwgdHlwZW9mIEVsZW1lbnRTaXplcy5oYWxmXG4gIHwgdHlwZW9mIEVsZW1lbnRTaXplcy5mdWxsXG4gIHwgdHlwZW9mIEVsZW1lbnRTaXplcy5hdXRvXG4gIHwgdHlwZW9mIEVsZW1lbnRTaXplcy5leHBhbmQ7XG5cbmV4cG9ydCB0eXBlIFVJTGlzdEl0ZW1Qb3NpdGlvbiA9IFwidGl0bGVcIiB8IFwiZGVzY3JpcHRpb25cIiB8IFwiaW5mb1wiIHwgXCJzdWJpbmZvXCI7XG5cbmV4cG9ydCB0eXBlIFVJRnVuY3Rpb25MaWtlID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkgfCBQcm9taXNlPGFueT47XG5cbmV4cG9ydCB0eXBlIFVJRXZlbnRIYW5kbGVyID0gKFxuICBpbnN0YW5jZTogRGVjYWZDb21wb25lbnQ8TW9kZWw+LFxuICByZW5kZXJFbmdpbmU6IFJlbmRlcmluZ0VuZ2luZSxcbiAgLi4uYXJnczogYW55W11cbikgPT4gYW55IHwgUHJvbWlzZTxhbnk+O1xuXG5leHBvcnQgdHlwZSBVSUV2ZW50TmFtZSA9IGtleW9mIFBpY2s8XG4gIERlY2FmRXZlbnRIYW5kbGVyLFxuICBcInJlbmRlclwiIHwgXCJpbml0aWFsaXplXCIgfCBcImhhbmRsZUNsaWNrXCIgfCBcInJlZnJlc2hcIlxuPjtcblxuZXhwb3J0IHR5cGUgVUlFdmVudFByb3BlcnR5ID0gUmVjb3JkPHN0cmluZywgVUlGdW5jdGlvbkxpa2U+O1xuZXhwb3J0IHR5cGUgVUlIYW5kbGVyTWV0YWRhdGEgPSB7XG4gIGhhbmRsZXJzPzogVUlFdmVudFByb3BlcnR5O1xufTtcblxuLyoqXG4gKiBAdHlwZWRlZiBVSUxheW91dFByb3BNZXRhZGF0YVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIFVJTGF5b3V0UHJvcE1ldGFkYXRhID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHByb3BzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+ICYge1xuICAgIGNvbDogVUlMYXlvdXRDb2w7XG4gICAgcm93OiBudW1iZXIgfCBzdHJpbmdbXTtcbiAgfTtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIERpc21pc3NhbCByb2xlIHJldHVybmVkIGJ5IHRvYXN0IGFjdGlvbnMuXG4gKiBAc3VtbWFyeSBSZXByZXNlbnRzIHRoZSByb2xlIHJlcG9ydGVkIHdoZW4gYSB0b2FzdCBpcyBjbG9zZWQsIGluY2x1ZGluZyB0aGVcbiAqIGRlZmF1bHQgY2FuY2VsIHJvbGUsIGN1c3RvbSByb2xlcywgb3IgYW4gdW5kZWZpbmVkIHJlc3VsdCB3aGVuIG5vIHJvbGUgaXMgc2V0LlxuICpcbiAqIEB0eXBlZGVmIHsoJ2NhbmNlbCcgfCBzdHJpbmcgfCB1bmRlZmluZWQpfSBEZWNhZlRvYXN0Um9sZVxuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKi9cbmV4cG9ydCB0eXBlIERlY2FmVG9hc3RSb2xlID0gXCJjYW5jZWxcIiB8IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgVUlNZWRpYUJyZWFrUG9pbnRzVHlwZSA9XG4gIHwgVUlNZWRpYUJyZWFrUG9pbnRzLlNNQUxMXG4gIHwgVUlNZWRpYUJyZWFrUG9pbnRzLk1FRElVTVxuICB8IFVJTWVkaWFCcmVha1BvaW50cy5MQVJHRVxuICB8IFVJTWVkaWFCcmVha1BvaW50cy5YTEFSR0U7XG5cbmV4cG9ydCB0eXBlIERlY2FmU3Bpbm5lck9wdGlvbnMgPSB7XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBkdXJhdGlvbj86IG51bWJlcjtcbiAgbWVzc2FnZT86IHN0cmluZztcbiAgW2tleTogc3RyaW5nXTogYW55O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBEZWNhZk1vZGFsT3B0aW9uczxUIGV4dGVuZHMgRGVjYWZDb21wb25lbnQ8TW9kZWw+PiB7XG4gIGNvbXBvbmVudDogVDtcbiAgY29tcG9uZW50UHJvcHM/OiBQYXJ0aWFsPGtleW9mIERlY2FmQ29tcG9uZW50PE1vZGVsPj4gJlxuICAgIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xufVxuXG5leHBvcnQgdHlwZSBEZWNhZlRvYXN0T3B0aW9ucyA9IHtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBkdXJhdGlvbjogMzAwMDtcbiAgcG9zaXRpb246IFwidG9wXCIgfCBcImJvdHRvbVwiIHwgXCJtaWRkbGVcIjtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn07XG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEludGVyZmFjZXMgZm9yIFVJIGZvcm0gY29tcG9uZW50c1xuICogQHN1bW1hcnkgRGVmaW5lcyBpbnRlcmZhY2VzIGZvciBmb3JtIGZpZWxkcyB3aXRoIENSVUQgb3BlcmF0aW9uc1xuICogVGhpcyBtb2R1bGUgY29udGFpbnMgaW50ZXJmYWNlcyB0aGF0IGV4dGVuZCBiYXNpYyBmaWVsZCBwcm9wZXJ0aWVzIHdpdGhcbiAqIENSVUQgb3BlcmF0aW9uIGluZm9ybWF0aW9uIGZvciBmb3JtIGdlbmVyYXRpb24uXG4gKiBAbW9kdWxlIHVpL2ludGVyZmFjZXNcbiAqIEBtZW1iZXJPZiBtb2R1bGU6dWktZGVjb3JhdG9yc1xuICovXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIEZvcm0gZmllbGQgaW50ZXJmYWNlIHdpdGggQ1JVRCBvcGVyYXRpb24gaW5mb3JtYXRpb25cbiAqIEBzdW1tYXJ5IEV4dGVuZHMgYmFzaWMgZmllbGQgcHJvcGVydGllcyB3aXRoIGEgc3BlY2lmaWMgQ1JVRCBvcGVyYXRpb25cbiAqIFRoaXMgaW50ZXJmYWNlIHJlcHJlc2VudHMgYSBmb3JtIGZpZWxkIHRoYXQgaXMgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWNcbiAqIENSVUQgb3BlcmF0aW9uIChDcmVhdGUsIFJlYWQsIFVwZGF0ZSwgRGVsZXRlKS4gSXQgY29tYmluZXMgYWxsIHRoZSBzdGFuZGFyZFxuICogZmllbGQgcHJvcGVydGllcyB3aXRoIGFuIG9wZXJhdGlvbiBwcm9wZXJ0eS5cbiAqXG4gKiBAaW50ZXJmYWNlIENydWRGb3JtRmllbGRcbiAqIEBleHRlbmRzIEZpZWxkUHJvcGVydGllc1xuICogQG1lbWJlck9mIG1vZHVsZTp1aS1kZWNvcmF0b3JzXG4gKlxuICogQHByb3BlcnR5IHtDcnVkT3BlcmF0aW9uc30gb3BlcmF0aW9uIC0gVGhlIENSVUQgb3BlcmF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGZpZWxkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ3J1ZEZvcm1GaWVsZCBleHRlbmRzIEZpZWxkUHJvcGVydGllcyB7XG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gVGhlIENSVUQgb3BlcmF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGZpZWxkXG4gICAqIEBzdW1tYXJ5IFNwZWNpZmllcyB3aGljaCBvcGVyYXRpb24gKENyZWF0ZSwgUmVhZCwgVXBkYXRlLCBEZWxldGUpIHRoaXMgZmllbGQgaXMgZm9yXG4gICAqL1xuICBvcGVyYXRpb246IENydWRPcGVyYXRpb25zO1xufVxuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBJbnRlcmZhY2UgZm9yIGRlZmluaW5nIGEgcGFnZS9zdGVwIGluIGEgbXVsdGktc3RlcCBmb3JtIG9yIHdpemFyZFxuICogQHN1bW1hcnkgUHJvdmlkZXMgbWV0YWRhdGEgZm9yIGluZGl2aWR1YWwgcGFnZXMgaW4gc3RlcHBlZCBtb2RlbCBmb3Jtc1xuICogVGhpcyBpbnRlcmZhY2UgcmVwcmVzZW50cyBhIHNpbmdsZSBwYWdlIG9yIHN0ZXAgaW4gYSBtdWx0aS1zdGVwIGZvcm0gd29ya2Zsb3cuXG4gKiBJdCBhbGxvd3MgZGVmaW5pbmcgb3B0aW9uYWwgdGl0bGUgYW5kIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGZvciBlYWNoIHBhZ2UsXG4gKiB3aGljaCBjYW4gYmUgdXNlZCB0byBkaXNwbGF5IHN0ZXAgaW5kaWNhdG9ycywgcHJvZ3Jlc3MgYmFycywgb3IgbmF2aWdhdGlvbiBsYWJlbHMuXG4gKiBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIEB1aXN0ZXBwZWRtb2RlbCBkZWNvcmF0b3IuXG4gKlxuICogQGludGVyZmFjZSBJUGFnZWRDb21wb25lbnRQcm9wZXJ0aWVzXG4gKiBAbWVtYmVyT2YgbW9kdWxlOnVpLWRlY29yYXRvcnNcbiAqXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3RpdGxlXSAtIE9wdGlvbmFsIHRpdGxlIGZvciB0aGUgcGFnZS9zdGVwIChlLmcuLCBcIlBlcnNvbmFsIEluZm9ybWF0aW9uXCIpXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2Rlc2NyaXB0aW9uXSAtIE9wdGlvbmFsIGRlc2NyaXB0aW9uIHByb3ZpZGluZyBhZGRpdGlvbmFsIGNvbnRleHQgZm9yIHRoZSBwYWdlXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIERlZmluZSBwYWdlcyBmb3IgYSBtdWx0aS1zdGVwIHdpemFyZFxuICogY29uc3Qgd2l6YXJkUGFnZXM6IElQYWdlZENvbXBvbmVudFByb3BlcnRpZXNbXSA9IFtcbiAqICAgeyB0aXRsZTogJ1BlcnNvbmFsIEluZm8nLCBkZXNjcmlwdGlvbjogJ0VudGVyIHlvdXIgYmFzaWMgZGV0YWlscycgfSxcbiAqICAgeyB0aXRsZTogJ0NvbnRhY3QnLCBkZXNjcmlwdGlvbjogJ1Byb3ZpZGUgeW91ciBjb250YWN0IGluZm9ybWF0aW9uJyB9LFxuICogICB7IHRpdGxlOiAnUmV2aWV3JywgZGVzY3JpcHRpb246ICdSZXZpZXcgYW5kIGNvbmZpcm0geW91ciBpbmZvcm1hdGlvbicgfVxuICogXTtcbiAqXG4gKiBAdWlzdGVwcGVkbW9kZWwoJ2RpdicsIHdpemFyZFBhZ2VzLCB0cnVlKVxuICogY2xhc3MgUmVnaXN0cmF0aW9uV2l6YXJkIGV4dGVuZHMgTW9kZWwge1xuICogICAvLyBQcm9wZXJ0aWVzIHdpdGggQHVpcGFnZXByb3AgZGVjb3JhdG9yc1xuICogfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQYWdlZENvbXBvbmVudFByb3BlcnRpZXMge1xuICB0aXRsZT86IHN0cmluZztcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIHBhZ2VzPzogbnVtYmVyIHwgSVBhZ2VkQ29tcG9uZW50UHJvcGVydGllc1tdO1xuICByb3dzPzogbnVtYmVyIHwgc3RyaW5nW107XG4gIGNvbHM/OiBudW1iZXIgfCBzdHJpbmdbXTtcbn1cbiJdfQ==
|