mumucc 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +297 -0
- package/bin/mumucc +3 -8
- package/bun.lock +44 -141
- package/defaults/mcp-servers.json +0 -6
- package/package.json +3 -3
- package/shims/bun-bundle.ts +0 -3
- package/shims/globals.d.ts +15 -0
- package/shims/globals.ts +1 -1
- package/src/QueryEngine.ts +1 -0
- package/src/assistant/gate.ts +4 -1
- package/src/assistant/index.ts +29 -1
- package/src/assistant/sessionDiscovery.ts +10 -1
- package/src/bootstrap/state.ts +6 -1
- package/src/buddy/CompanionSprite.tsx +1 -0
- package/src/buddy/observer.ts +6 -0
- package/src/buddy/useBuddyNotification.tsx +1 -0
- package/src/cli/handlers/util.tsx +1 -0
- package/src/cli/print.ts +4 -1
- package/src/cli/structuredIO.ts +6 -1
- package/src/commands/add-dir/add-dir.tsx +1 -0
- package/src/commands/branch/branch.ts +1 -0
- package/src/commands/bridge/bridge.tsx +2 -1
- package/src/commands/btw/btw.tsx +1 -0
- package/src/commands/buddy/index.ts +2 -1
- package/src/commands/chrome/chrome.tsx +1 -0
- package/src/commands/clear/caches.ts +1 -0
- package/src/commands/compact/compact.ts +1 -0
- package/src/commands/context/context-noninteractive.ts +1 -0
- package/src/commands/context/context.tsx +1 -0
- package/src/commands/copy/copy.tsx +2 -1
- package/src/commands/effort/effort.tsx +1 -0
- package/src/commands/extra-usage/extra-usage.tsx +1 -0
- package/src/commands/fast/fast.tsx +1 -0
- package/src/commands/fork/index.ts +2 -1
- package/src/commands/ide/ide.tsx +2 -1
- package/src/commands/insights.ts +1 -0
- package/src/commands/install-github-app/ApiKeyStep.tsx +1 -0
- package/src/commands/install-github-app/CheckExistingSecretStep.tsx +1 -0
- package/src/commands/install-github-app/ChooseRepoStep.tsx +1 -0
- package/src/commands/install-github-app/CreatingStep.tsx +1 -0
- package/src/commands/install-github-app/ErrorStep.tsx +1 -0
- package/src/commands/install-github-app/ExistingWorkflowStep.tsx +1 -0
- package/src/commands/install-github-app/InstallAppStep.tsx +1 -0
- package/src/commands/install-github-app/OAuthFlowStep.tsx +1 -0
- package/src/commands/install-github-app/SuccessStep.tsx +1 -0
- package/src/commands/install-github-app/WarningsStep.tsx +1 -0
- package/src/commands/install-github-app/install-github-app.tsx +2 -1
- package/src/commands/install.tsx +1 -0
- package/src/commands/login/CodexLogin.tsx +39 -12
- package/src/commands/login/CustomProviderLogin.tsx +45 -9
- package/src/commands/login/ThirdPartyLogin.tsx +24 -6
- package/src/commands/login/login.tsx +37 -10
- package/src/commands/login/profileDefaults.ts +25 -0
- package/src/commands/mcp/mcp.tsx +1 -0
- package/src/commands/mobile/mobile.tsx +1 -0
- package/src/commands/model/model.tsx +14 -3
- package/src/commands/peers/index.ts +2 -1
- package/src/commands/permissions/permissions.tsx +1 -0
- package/src/commands/plan/plan.tsx +1 -0
- package/src/commands/plugin/DiscoverPlugins.tsx +1 -0
- package/src/commands/plugin/ManageMarketplaces.tsx +1 -0
- package/src/commands/plugin/ManagePlugins.tsx +1 -0
- package/src/commands/plugin/PluginOptionsDialog.tsx +1 -0
- package/src/commands/plugin/PluginSettings.tsx +2 -1
- package/src/commands/plugin/UnifiedInstalledCell.tsx +1 -0
- package/src/commands/plugin/ValidatePlugin.tsx +1 -0
- package/src/commands/plugin/pluginDetailsHelpers.tsx +1 -0
- package/src/commands/rate-limit-options/rate-limit-options.tsx +1 -0
- package/src/commands/remote-setup/remote-setup.tsx +1 -0
- package/src/commands/resume/resume.tsx +1 -0
- package/src/commands/review/UltrareviewOverageDialog.tsx +1 -0
- package/src/commands/review/ultrareviewCommand.tsx +1 -0
- package/src/commands/session/session.tsx +1 -0
- package/src/commands/tag/tag.tsx +1 -0
- package/src/commands/terminalSetup/terminalSetup.tsx +1 -0
- package/src/commands/theme/theme.tsx +1 -0
- package/src/commands/thinkback/thinkback.tsx +2 -1
- package/src/commands/ultraplan.tsx +11 -1
- package/src/commands/upgrade/upgrade.tsx +1 -0
- package/src/commands/workflows/index.ts +2 -1
- package/src/components/AgentProgressLine.tsx +1 -0
- package/src/components/App.tsx +1 -0
- package/src/components/ApproveApiKey.tsx +1 -0
- package/src/components/AutoModeOptInDialog.tsx +1 -0
- package/src/components/AutoUpdater.tsx +1 -0
- package/src/components/AutoUpdaterWrapper.tsx +1 -0
- package/src/components/AwsAuthStatusBox.tsx +1 -0
- package/src/components/BaseTextInput.tsx +1 -0
- package/src/components/BashModeProgress.tsx +1 -0
- package/src/components/BridgeDialog.tsx +2 -1
- package/src/components/BypassPermissionsModeDialog.tsx +1 -0
- package/src/components/ChannelDowngradeDialog.tsx +1 -0
- package/src/components/ClaudeInChromeOnboarding.tsx +1 -0
- package/src/components/ClaudeMdExternalIncludesDialog.tsx +1 -0
- package/src/components/ClickableImageRef.tsx +1 -0
- package/src/components/CompactSummary.tsx +1 -0
- package/src/components/ConfigurableShortcutHint.tsx +1 -0
- package/src/components/ConsoleOAuthFlow.tsx +1 -0
- package/src/components/ContextSuggestions.tsx +1 -0
- package/src/components/ContextVisualization.tsx +2 -1
- package/src/components/CoordinatorAgentStatus.tsx +3 -4
- package/src/components/CostThresholdDialog.tsx +1 -0
- package/src/components/CtrlOToExpand.tsx +1 -0
- package/src/components/CustomSelect/SelectMulti.tsx +1 -0
- package/src/components/CustomSelect/select-input-option.tsx +1 -0
- package/src/components/CustomSelect/select-option.tsx +1 -0
- package/src/components/CustomSelect/select.tsx +2 -1
- package/src/components/CustomSelect/use-multi-select-state.ts +1 -0
- package/src/components/DesktopHandoff.tsx +1 -0
- package/src/components/DesktopUpsell/DesktopUpsellStartup.tsx +1 -0
- package/src/components/DevBar.tsx +1 -0
- package/src/components/DevChannelsDialog.tsx +1 -0
- package/src/components/DiagnosticsDisplay.tsx +1 -0
- package/src/components/EffortCallout.tsx +1 -0
- package/src/components/ExitFlow.tsx +1 -0
- package/src/components/FallbackToolUseErrorMessage.tsx +1 -0
- package/src/components/FastIcon.tsx +1 -0
- package/src/components/Feedback.tsx +1 -0
- package/src/components/FeedbackSurvey/FeedbackSurvey.tsx +1 -0
- package/src/components/FeedbackSurvey/FeedbackSurveyView.tsx +1 -0
- package/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx +1 -0
- package/src/components/FeedbackSurvey/useFrustrationDetection.ts +6 -1
- package/src/components/FeedbackSurvey/useMemorySurvey.tsx +1 -0
- package/src/components/FeedbackSurvey/usePostCompactSurvey.tsx +2 -1
- package/src/components/FileEditToolDiff.tsx +1 -0
- package/src/components/FileEditToolUpdatedMessage.tsx +1 -0
- package/src/components/FileEditToolUseRejectedMessage.tsx +1 -0
- package/src/components/FilePathLink.tsx +1 -0
- package/src/components/FullscreenLayout.tsx +1 -0
- package/src/components/GlobalSearchDialog.tsx +2 -1
- package/src/components/HelpV2/Commands.tsx +1 -0
- package/src/components/HelpV2/HelpV2.tsx +1 -0
- package/src/components/HighlightedCode/Fallback.tsx +1 -0
- package/src/components/HighlightedCode.tsx +1 -0
- package/src/components/HistorySearchDialog.tsx +1 -0
- package/src/components/IdeAutoConnectDialog.tsx +1 -0
- package/src/components/IdeOnboardingDialog.tsx +1 -0
- package/src/components/IdeStatusIndicator.tsx +1 -0
- package/src/components/IdleReturnDialog.tsx +1 -0
- package/src/components/InvalidConfigDialog.tsx +1 -0
- package/src/components/InvalidSettingsDialog.tsx +1 -0
- package/src/components/KeybindingWarnings.tsx +1 -0
- package/src/components/LanguagePicker.tsx +1 -0
- package/src/components/LogSelector.tsx +2 -1
- package/src/components/LogoV2/ChannelsNotice.tsx +6 -5
- package/src/components/LogoV2/Clawd.tsx +1 -0
- package/src/components/LogoV2/CondensedLogo.tsx +1 -0
- package/src/components/LogoV2/Feed.tsx +1 -0
- package/src/components/LogoV2/FeedColumn.tsx +1 -0
- package/src/components/LogoV2/LogoV2.tsx +2 -1
- package/src/components/LogoV2/OverageCreditUpsell.tsx +1 -0
- package/src/components/LogoV2/WelcomeV2.tsx +1 -0
- package/src/components/LogoV2/feedConfigs.tsx +1 -0
- package/src/components/MCPServerApprovalDialog.tsx +1 -0
- package/src/components/MCPServerDesktopImportDialog.tsx +1 -0
- package/src/components/MCPServerMultiselectDialog.tsx +1 -0
- package/src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.tsx +1 -0
- package/src/components/Markdown.tsx +1 -0
- package/src/components/MemoryUsageIndicator.tsx +1 -0
- package/src/components/Message.tsx +2 -1
- package/src/components/MessageModel.tsx +1 -0
- package/src/components/MessageResponse.tsx +1 -0
- package/src/components/MessageRow.tsx +1 -0
- package/src/components/MessageSelector.tsx +2 -1
- package/src/components/MessageTimestamp.tsx +1 -0
- package/src/components/Messages.tsx +1 -0
- package/src/components/ModelPicker.tsx +4 -3
- package/src/components/NativeAutoUpdater.tsx +1 -0
- package/src/components/NotebookEditToolUseRejectedMessage.tsx +1 -0
- package/src/components/Onboarding.tsx +1 -0
- package/src/components/OutputStylePicker.tsx +1 -0
- package/src/components/PackageManagerAutoUpdater.tsx +1 -0
- package/src/components/PrBadge.tsx +1 -0
- package/src/components/PromptInput/HistorySearchInput.tsx +1 -0
- package/src/components/PromptInput/Notifications.tsx +1 -0
- package/src/components/PromptInput/PromptInput.tsx +10 -8
- package/src/components/PromptInput/PromptInputFooter.tsx +1 -0
- package/src/components/PromptInput/PromptInputFooterLeftSide.tsx +1 -0
- package/src/components/PromptInput/PromptInputFooterSuggestions.tsx +1 -0
- package/src/components/PromptInput/PromptInputHelpMenu.tsx +1 -0
- package/src/components/PromptInput/PromptInputModeIndicator.tsx +1 -0
- package/src/components/PromptInput/PromptInputStashNotice.tsx +1 -0
- package/src/components/PromptInput/SandboxPromptFooterHint.tsx +1 -0
- package/src/components/PromptInput/ShimmeredInput.tsx +1 -0
- package/src/components/PromptInput/VoiceIndicator.tsx +1 -0
- package/src/components/QuickOpenDialog.tsx +2 -1
- package/src/components/RemoteEnvironmentDialog.tsx +2 -1
- package/src/components/ResumeTask.tsx +1 -0
- package/src/components/SandboxViolationExpandedView.tsx +1 -0
- package/src/components/SearchBox.tsx +1 -0
- package/src/components/SessionBackgroundHint.tsx +1 -0
- package/src/components/SessionPreview.tsx +1 -0
- package/src/components/Settings/Config.tsx +1 -0
- package/src/components/Settings/Settings.tsx +1 -0
- package/src/components/Settings/Status.tsx +2 -1
- package/src/components/Settings/Usage.tsx +1 -0
- package/src/components/ShowInIDEPrompt.tsx +1 -0
- package/src/components/SkillImprovementSurvey.tsx +1 -0
- package/src/components/Spinner/FlashingChar.tsx +1 -0
- package/src/components/Spinner/GlimmerMessage.tsx +1 -0
- package/src/components/Spinner/ShimmerChar.tsx +1 -0
- package/src/components/Spinner/SpinnerAnimationRow.tsx +1 -0
- package/src/components/Spinner/SpinnerGlyph.tsx +1 -0
- package/src/components/Spinner/TeammateSpinnerTree.tsx +1 -0
- package/src/components/Spinner/utils.ts +1 -0
- package/src/components/Spinner.tsx +2 -1
- package/src/components/Stats.tsx +2 -1
- package/src/components/StatusNotices.tsx +1 -0
- package/src/components/StructuredDiff/Fallback.tsx +1 -0
- package/src/components/StructuredDiff.tsx +2 -1
- package/src/components/StructuredDiffList.tsx +1 -0
- package/src/components/TaskListV2.tsx +1 -0
- package/src/components/TeammateViewHeader.tsx +1 -0
- package/src/components/TeleportError.tsx +1 -0
- package/src/components/TeleportProgress.tsx +1 -0
- package/src/components/TeleportRepoMismatchDialog.tsx +1 -0
- package/src/components/TeleportResumeWrapper.tsx +1 -0
- package/src/components/TextInput.tsx +1 -0
- package/src/components/ThemePicker.tsx +1 -0
- package/src/components/ThinkingToggle.tsx +1 -0
- package/src/components/TokenWarning.tsx +1 -0
- package/src/components/ToolUseLoader.tsx +1 -0
- package/src/components/TrustDialog/TrustDialog.tsx +1 -0
- package/src/components/ValidationErrorsList.tsx +1 -0
- package/src/components/VimTextInput.tsx +1 -0
- package/src/components/VirtualMessageList.tsx +1 -0
- package/src/components/WorkflowMultiselectDialog.tsx +1 -0
- package/src/components/agents/AgentDetail.tsx +1 -0
- package/src/components/agents/AgentEditor.tsx +1 -0
- package/src/components/agents/AgentNavigationFooter.tsx +1 -0
- package/src/components/agents/AgentsList.tsx +2 -1
- package/src/components/agents/AgentsMenu.tsx +2 -1
- package/src/components/agents/ColorPicker.tsx +1 -0
- package/src/components/agents/ModelSelector.tsx +1 -0
- package/src/components/agents/ToolSelector.tsx +2 -1
- package/src/components/agents/generateAgent.ts +1 -0
- package/src/components/agents/new-agent-creation/CreateAgentWizard.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ColorStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ConfirmStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/LocationStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/MemoryStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/MethodStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ModelStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/PromptStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ToolsStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/TypeStep.tsx +1 -0
- package/src/components/design-system/Byline.tsx +1 -0
- package/src/components/design-system/Dialog.tsx +1 -0
- package/src/components/design-system/Divider.tsx +1 -0
- package/src/components/design-system/FuzzyPicker.tsx +1 -0
- package/src/components/design-system/KeyboardShortcutHint.tsx +1 -0
- package/src/components/design-system/ListItem.tsx +1 -0
- package/src/components/design-system/LoadingState.tsx +1 -0
- package/src/components/design-system/Pane.tsx +1 -0
- package/src/components/design-system/ProgressBar.tsx +1 -0
- package/src/components/design-system/Ratchet.tsx +1 -0
- package/src/components/design-system/StatusIcon.tsx +1 -0
- package/src/components/design-system/Tabs.tsx +2 -1
- package/src/components/design-system/ThemeProvider.tsx +1 -0
- package/src/components/design-system/ThemedBox.tsx +1 -0
- package/src/components/design-system/ThemedText.tsx +1 -0
- package/src/components/diff/DiffDetailView.tsx +1 -0
- package/src/components/diff/DiffDialog.tsx +1 -0
- package/src/components/diff/DiffFileList.tsx +1 -0
- package/src/components/grove/Grove.tsx +2 -1
- package/src/components/hooks/HooksConfigMenu.tsx +2 -1
- package/src/components/hooks/PromptDialog.tsx +1 -0
- package/src/components/hooks/SelectEventMode.tsx +1 -0
- package/src/components/hooks/SelectHookMode.tsx +1 -0
- package/src/components/hooks/SelectMatcherMode.tsx +1 -0
- package/src/components/hooks/ViewHookMode.tsx +1 -0
- package/src/components/mcp/CapabilitiesSection.tsx +1 -0
- package/src/components/mcp/ElicitationDialog.tsx +1 -0
- package/src/components/mcp/MCPAgentServerMenu.tsx +1 -0
- package/src/components/mcp/MCPListPanel.tsx +2 -1
- package/src/components/mcp/MCPReconnect.tsx +1 -0
- package/src/components/mcp/MCPRemoteServerMenu.tsx +1 -0
- package/src/components/mcp/MCPSettings.tsx +2 -1
- package/src/components/mcp/MCPStdioServerMenu.tsx +1 -0
- package/src/components/mcp/MCPToolDetailView.tsx +1 -0
- package/src/components/mcp/MCPToolListView.tsx +1 -0
- package/src/components/mcp/McpParsingWarnings.tsx +1 -0
- package/src/components/memory/MemoryFileSelector.tsx +2 -1
- package/src/components/memory/MemoryUpdateNotification.tsx +1 -0
- package/src/components/messageActions.tsx +1 -0
- package/src/components/messages/AdvisorMessage.tsx +1 -0
- package/src/components/messages/AssistantRedactedThinkingMessage.tsx +1 -0
- package/src/components/messages/AssistantTextMessage.tsx +1 -0
- package/src/components/messages/AssistantThinkingMessage.tsx +1 -0
- package/src/components/messages/AssistantToolUseMessage.tsx +1 -0
- package/src/components/messages/AttachmentMessage.tsx +2 -1
- package/src/components/messages/CollapsedReadSearchContent.tsx +2 -1
- package/src/components/messages/GroupedToolUseContent.tsx +1 -0
- package/src/components/messages/HighlightedThinkingText.tsx +1 -0
- package/src/components/messages/HookProgressMessage.tsx +1 -0
- package/src/components/messages/PlanApprovalMessage.tsx +1 -0
- package/src/components/messages/RateLimitMessage.tsx +1 -0
- package/src/components/messages/ShutdownMessage.tsx +1 -0
- package/src/components/messages/SystemAPIErrorMessage.tsx +1 -0
- package/src/components/messages/SystemTextMessage.tsx +2 -1
- package/src/components/messages/TaskAssignmentMessage.tsx +1 -0
- package/src/components/messages/UserAgentNotificationMessage.tsx +1 -0
- package/src/components/messages/UserBashInputMessage.tsx +1 -0
- package/src/components/messages/UserBashOutputMessage.tsx +1 -0
- package/src/components/messages/UserChannelMessage.tsx +1 -0
- package/src/components/messages/UserCommandMessage.tsx +1 -0
- package/src/components/messages/UserImageMessage.tsx +1 -0
- package/src/components/messages/UserLocalCommandOutputMessage.tsx +1 -0
- package/src/components/messages/UserMemoryInputMessage.tsx +1 -0
- package/src/components/messages/UserPlanMessage.tsx +1 -0
- package/src/components/messages/UserResourceUpdateMessage.tsx +1 -0
- package/src/components/messages/UserTeammateMessage.tsx +1 -0
- package/src/components/messages/UserTextMessage.tsx +1 -0
- package/src/components/messages/UserToolResultMessage/RejectedPlanMessage.tsx +1 -0
- package/src/components/messages/UserToolResultMessage/UserToolErrorMessage.tsx +1 -0
- package/src/components/messages/UserToolResultMessage/UserToolRejectMessage.tsx +1 -0
- package/src/components/messages/UserToolResultMessage/UserToolResultMessage.tsx +1 -0
- package/src/components/messages/UserToolResultMessage/utils.tsx +1 -0
- package/src/components/messages/nullRenderingAttachments.ts +1 -0
- package/src/components/messages/teamMemCollapsed.tsx +1 -0
- package/src/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx +2 -1
- package/src/components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx +1 -0
- package/src/components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx +2 -1
- package/src/components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx +2 -1
- package/src/components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx +1 -0
- package/src/components/permissions/BashPermissionRequest/BashPermissionRequest.tsx +1 -0
- package/src/components/permissions/BashPermissionRequest/bashToolUseOptions.tsx +1 -0
- package/src/components/permissions/ComputerUseApproval/ComputerUseApproval.tsx +2 -1
- package/src/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx +1 -0
- package/src/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx +1 -0
- package/src/components/permissions/FallbackPermissionRequest.tsx +1 -0
- package/src/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx +1 -0
- package/src/components/permissions/FilePermissionDialog/FilePermissionDialog.tsx +1 -0
- package/src/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx +1 -0
- package/src/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx +1 -0
- package/src/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx +1 -0
- package/src/components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx +1 -0
- package/src/components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx +2 -1
- package/src/components/permissions/PermissionDecisionDebugInfo.tsx +2 -1
- package/src/components/permissions/PermissionDialog.tsx +1 -0
- package/src/components/permissions/PermissionExplanation.tsx +2 -1
- package/src/components/permissions/PermissionPrompt.tsx +2 -1
- package/src/components/permissions/PermissionRequest.tsx +1 -0
- package/src/components/permissions/PermissionRequestTitle.tsx +1 -0
- package/src/components/permissions/PermissionRuleExplanation.tsx +1 -0
- package/src/components/permissions/SandboxPermissionRequest.tsx +1 -0
- package/src/components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx +1 -0
- package/src/components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx +1 -0
- package/src/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx +1 -0
- package/src/components/permissions/WorkerBadge.tsx +1 -0
- package/src/components/permissions/WorkerPendingPermission.tsx +1 -0
- package/src/components/permissions/rules/AddPermissionRules.tsx +1 -0
- package/src/components/permissions/rules/AddWorkspaceDirectory.tsx +2 -1
- package/src/components/permissions/rules/PermissionRuleDescription.tsx +1 -0
- package/src/components/permissions/rules/PermissionRuleInput.tsx +1 -0
- package/src/components/permissions/rules/PermissionRuleList.tsx +2 -1
- package/src/components/permissions/rules/RecentDenialsTab.tsx +1 -0
- package/src/components/permissions/rules/RemoveWorkspaceDirectory.tsx +1 -0
- package/src/components/permissions/rules/WorkspaceTab.tsx +1 -0
- package/src/components/sandbox/SandboxConfigTab.tsx +1 -0
- package/src/components/sandbox/SandboxDependenciesTab.tsx +1 -0
- package/src/components/sandbox/SandboxDoctorSection.tsx +1 -0
- package/src/components/sandbox/SandboxOverridesTab.tsx +1 -0
- package/src/components/sandbox/SandboxSettings.tsx +1 -0
- package/src/components/shell/ExpandShellOutputContext.tsx +1 -0
- package/src/components/shell/OutputLine.tsx +1 -0
- package/src/components/shell/ShellProgressMessage.tsx +1 -0
- package/src/components/shell/ShellTimeDisplay.tsx +1 -0
- package/src/components/skills/SkillsMenu.tsx +1 -0
- package/src/components/tasks/AsyncAgentDetailDialog.tsx +1 -0
- package/src/components/tasks/BackgroundTask.tsx +1 -0
- package/src/components/tasks/BackgroundTaskStatus.tsx +2 -1
- package/src/components/tasks/BackgroundTasksDialog.tsx +2 -1
- package/src/components/tasks/DreamDetailDialog.tsx +1 -0
- package/src/components/tasks/InProcessTeammateDetailDialog.tsx +1 -0
- package/src/components/tasks/RemoteSessionDetailDialog.tsx +2 -1
- package/src/components/tasks/RemoteSessionProgress.tsx +1 -0
- package/src/components/tasks/ShellDetailDialog.tsx +2 -1
- package/src/components/tasks/ShellProgress.tsx +1 -0
- package/src/components/tasks/taskStatusUtils.tsx +1 -0
- package/src/components/teams/TeamStatus.tsx +1 -0
- package/src/components/teams/TeamsDialog.tsx +2 -1
- package/src/components/ui/OrderedList.tsx +1 -0
- package/src/components/ui/OrderedListItem.tsx +1 -0
- package/src/components/ui/TreeSelect.tsx +2 -1
- package/src/components/wizard/WizardDialogLayout.tsx +1 -0
- package/src/components/wizard/WizardProvider.tsx +2 -1
- package/src/components/wizard/useWizard.ts +1 -0
- package/src/constants/betas.ts +1 -0
- package/src/constants/prompts.ts +1 -0
- package/src/context/QueuedMessageContext.tsx +1 -0
- package/src/context/fpsMetrics.tsx +1 -0
- package/src/context/mailbox.tsx +1 -0
- package/src/context/modalContext.tsx +1 -0
- package/src/context/overlayContext.tsx +1 -0
- package/src/context/promptOverlayContext.tsx +1 -0
- package/src/context/stats.tsx +1 -0
- package/src/context/voice.tsx +1 -0
- package/src/cost-tracker.ts +1 -0
- package/src/dialogLaunchers.tsx +1 -0
- package/src/entrypoints/agentSdkTypes.ts +4 -17
- package/src/entrypoints/cli.tsx +1 -0
- package/src/entrypoints/sdk/controlTypes.ts +86 -10
- package/src/entrypoints/sdk/coreTypes.generated.ts +99 -2
- package/src/entrypoints/sdk/runtimeTypes.ts +53 -18
- package/src/entrypoints/sdk/settingsTypes.generated.ts +2 -1
- package/src/hooks/notifs/useAntOrgWarningNotification.ts +1 -1
- package/src/hooks/notifs/useCanSwitchToExistingSubscription.tsx +1 -0
- package/src/hooks/notifs/useDeprecationWarningNotification.tsx +1 -0
- package/src/hooks/notifs/useFastModeNotification.tsx +1 -0
- package/src/hooks/notifs/useIDEStatusIndicator.tsx +1 -0
- package/src/hooks/notifs/useInstallMessages.tsx +1 -0
- package/src/hooks/notifs/useLspInitializationNotification.tsx +1 -0
- package/src/hooks/notifs/useMcpConnectivityStatus.tsx +1 -0
- package/src/hooks/notifs/useNpmDeprecationNotification.tsx +1 -0
- package/src/hooks/notifs/usePluginAutoupdateNotification.tsx +1 -0
- package/src/hooks/notifs/usePluginInstallationStatus.tsx +1 -0
- package/src/hooks/notifs/useRateLimitWarningNotification.tsx +1 -0
- package/src/hooks/useCanUseTool.tsx +2 -1
- package/src/hooks/useChromeExtensionNotification.tsx +1 -0
- package/src/hooks/useClaudeCodeHintRecommendation.tsx +1 -0
- package/src/hooks/useCommandKeybindings.tsx +1 -0
- package/src/hooks/useDiffData.ts +1 -0
- package/src/hooks/useIDEIntegration.tsx +1 -0
- package/src/hooks/useLspPluginRecommendation.tsx +1 -0
- package/src/hooks/useOfficialMarketplaceNotification.tsx +1 -0
- package/src/hooks/usePluginRecommendationBase.tsx +1 -0
- package/src/hooks/usePromptsFromClaudeInChrome.tsx +1 -0
- package/src/hooks/useRemoteSession.ts +1 -0
- package/src/hooks/useReplBridge.tsx +1 -0
- package/src/hooks/useSSHSession.ts +1 -0
- package/src/hooks/useTeleportResume.tsx +1 -0
- package/src/hooks/useTurnDiffs.ts +1 -0
- package/src/hooks/useTypeahead.tsx +1 -0
- package/src/hooks/useVoiceIntegration.tsx +1 -0
- package/src/ink/Ansi.tsx +1 -0
- package/src/ink/bidi.ts +1 -0
- package/src/ink/components/AlternateScreen.tsx +1 -0
- package/src/ink/components/Box.tsx +1 -0
- package/src/ink/components/Button.tsx +1 -0
- package/src/ink/components/ClockContext.tsx +1 -0
- package/src/ink/components/Link.tsx +1 -0
- package/src/ink/components/Newline.tsx +1 -0
- package/src/ink/components/NoSelect.tsx +1 -0
- package/src/ink/components/RawAnsi.tsx +1 -0
- package/src/ink/components/ScrollBox.tsx +1 -0
- package/src/ink/components/TerminalFocusContext.tsx +1 -0
- package/src/ink/components/Text.tsx +1 -0
- package/src/ink/ink.tsx +1 -0
- package/src/ink/reconciler.ts +1 -0
- package/src/ink/render-to-screen.ts +1 -0
- package/src/interactiveHelpers.tsx +4 -4
- package/src/keybindings/KeybindingContext.tsx +2 -1
- package/src/keybindings/KeybindingProviderSetup.tsx +1 -0
- package/src/keybindings/parser.ts +1 -0
- package/src/keybindings/template.ts +1 -0
- package/src/keybindings/validate.ts +1 -0
- package/src/main.tsx +5 -7
- package/src/memdir/findRelevantMemories.ts +1 -0
- package/src/native-ts/color-diff/index.ts +1 -0
- package/src/proactive/index.ts +26 -1
- package/src/proactive/useProactive.ts +13 -1
- package/src/query/stopHooks.ts +1 -0
- package/src/query.ts +1 -0
- package/src/remote/SessionsWebSocket.ts +1 -0
- package/src/screens/Doctor.tsx +2 -1
- package/src/screens/REPL.tsx +13 -6
- package/src/screens/ResumeConversation.tsx +1 -0
- package/src/services/AgentSummary/agentSummary.ts +1 -0
- package/src/services/PromptSuggestion/promptSuggestion.ts +1 -0
- package/src/services/api/claude.ts +33 -31
- package/src/services/api/client.ts +34 -31
- package/src/services/api/errors.ts +1 -0
- package/src/services/api/logging.ts +1 -0
- package/src/services/api/openaiShim.ts +35 -8
- package/src/services/api/withRetry.ts +1 -0
- package/src/services/autoDream/autoDream.ts +1 -0
- package/src/services/claudeAiLimits.ts +1 -0
- package/src/services/compact/autoCompact.ts +1 -0
- package/src/services/compact/cachedMicrocompact.ts +56 -4
- package/src/services/compact/compact.ts +1 -0
- package/src/services/compact/microCompact.ts +1 -0
- package/src/services/compact/postCompactCleanup.ts +1 -0
- package/src/services/compact/reactiveCompact.ts +16 -1
- package/src/services/compact/sessionMemoryCompact.ts +1 -0
- package/src/services/compact/snipCompact.ts +18 -1
- package/src/services/compact/snipProjection.ts +6 -1
- package/src/services/contextCollapse/index.ts +33 -1
- package/src/services/extractMemories/extractMemories.ts +1 -0
- package/src/services/mcp/MCPConnectionManager.tsx +1 -0
- package/src/services/mcp/channelAllowlist.ts +1 -1
- package/src/services/mcp/channelNotification.ts +90 -4
- package/src/services/mcp/channelPermissions.ts +1 -1
- package/src/services/mcp/client.ts +1 -0
- package/src/services/mcp/useManageMCPConnections.ts +5 -3
- package/src/services/notifier.ts +1 -0
- package/src/services/rateLimitMocking.ts +1 -0
- package/src/services/skillSearch/localSearch.ts +1 -1
- package/src/services/skillSearch/prefetch.ts +10 -1
- package/src/services/tips/tipRegistry.ts +1 -0
- package/src/services/toolUseSummary/toolUseSummaryGenerator.ts +1 -0
- package/src/services/tools/StreamingToolExecutor.ts +1 -0
- package/src/services/tools/toolOrchestration.ts +1 -0
- package/src/services/vcr.ts +1 -0
- package/src/services/voice.ts +1 -0
- package/src/setup.ts +1 -0
- package/src/skills/bundled/claudeInChrome.ts +1 -0
- package/src/skills/bundled/keybindings.ts +1 -0
- package/src/skills/bundled/skillify.ts +1 -0
- package/src/state/AppState.tsx +10 -7
- package/src/tasks/LocalMainSessionTask.ts +1 -0
- package/src/tasks/LocalShellTask/LocalShellTask.tsx +1 -0
- package/src/tasks/LocalShellTask/killShellTasks.ts +1 -0
- package/src/tasks/RemoteAgentTask/RemoteAgentTask.tsx +1 -0
- package/src/tools/AgentTool/AgentTool.tsx +30 -3
- package/src/tools/AgentTool/UI.tsx +2 -1
- package/src/tools/AgentTool/agentToolUtils.ts +1 -0
- package/src/tools/AgentTool/builtInAgents.ts +1 -0
- package/src/tools/AgentTool/forkSubagent.ts +1 -0
- package/src/tools/AgentTool/loadAgentsDir.ts +9 -0
- package/src/tools/AgentTool/runAgent.ts +2 -0
- package/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx +1 -0
- package/src/tools/BashTool/BashTool.tsx +1 -0
- package/src/tools/BashTool/BashToolResultMessage.tsx +1 -0
- package/src/tools/BashTool/UI.tsx +1 -0
- package/src/tools/BriefTool/UI.tsx +1 -0
- package/src/tools/FileEditTool/UI.tsx +1 -0
- package/src/tools/FileEditTool/utils.ts +1 -0
- package/src/tools/FileReadTool/FileReadTool.ts +1 -0
- package/src/tools/FileReadTool/imageProcessor.ts +1 -0
- package/src/tools/FileWriteTool/UI.tsx +2 -1
- package/src/tools/GrepTool/UI.tsx +1 -0
- package/src/tools/LSPTool/UI.tsx +1 -0
- package/src/tools/MCPTool/UI.tsx +1 -0
- package/src/tools/NotebookEditTool/NotebookEditTool.ts +1 -0
- package/src/tools/NotebookEditTool/UI.tsx +1 -0
- package/src/tools/PowerShellTool/PowerShellTool.tsx +1 -0
- package/src/tools/SendMessageTool/SendMessageTool.ts +1 -0
- package/src/tools/SkillTool/SkillTool.ts +1 -0
- package/src/tools/TaskOutputTool/TaskOutputTool.tsx +1 -0
- package/src/tools/TaskStopTool/UI.tsx +1 -0
- package/src/tools/ToolSearchTool/prompt.ts +1 -0
- package/src/tools/TungstenTool/TungstenLiveMonitor.ts +3 -0
- package/src/tools/WebBrowserTool/WebBrowserPanel.ts +3 -1
- package/src/tools/WebFetchTool/utils.ts +1 -0
- package/src/tools/WebSearchTool/WebSearchTool.ts +1 -0
- package/src/tools/WorkflowTool/createWorkflowCommand.ts +3 -1
- package/src/tools/testing/TestingPermissionTool.tsx +1 -0
- package/src/tools/utils.ts +1 -0
- package/src/types/commands-js.d.ts +13 -0
- package/src/types/diff.d.ts +1 -0
- package/src/types/hooks.ts +1 -0
- package/src/types/macro.d.ts +15 -0
- package/src/types/markdown.d.ts +4 -0
- package/src/types/message.ts +56 -107
- package/src/types/react-compiler-runtime.d.ts +4 -0
- package/src/types/utils.ts +3 -3
- package/src/utils/advisor.ts +1 -0
- package/src/utils/asciicast.ts +1 -0
- package/src/utils/attachments.ts +1 -0
- package/src/utils/attribution.ts +1 -0
- package/src/utils/autoRunIssue.tsx +1 -0
- package/src/utils/claudeInChrome/mcpServer.ts +1 -0
- package/src/utils/claudeInChrome/setup.ts +1 -0
- package/src/utils/claudemd.ts +1 -0
- package/src/utils/cleanup.ts +1 -0
- package/src/utils/cliHighlight.ts +1 -0
- package/src/utils/collapseReadSearch.ts +1 -0
- package/src/utils/computerUse/executor.ts +1 -0
- package/src/utils/computerUse/gates.ts +1 -0
- package/src/utils/computerUse/hostAdapter.ts +1 -0
- package/src/utils/computerUse/inputLoader.ts +1 -0
- package/src/utils/computerUse/mcpServer.ts +1 -0
- package/src/utils/computerUse/setup.ts +1 -0
- package/src/utils/computerUse/swiftLoader.ts +1 -0
- package/src/utils/computerUse/wrapper.tsx +2 -1
- package/src/utils/context.ts +1 -0
- package/src/utils/contextAnalysis.ts +1 -0
- package/src/utils/conversationRecovery.ts +1 -0
- package/src/utils/deepLink/protocolHandler.ts +1 -0
- package/src/utils/diff.ts +1 -0
- package/src/utils/effort.ts +1 -0
- package/src/utils/envUtils.ts +1 -0
- package/src/utils/execFileNoThrowPortable.ts +1 -0
- package/src/utils/fileHistory.ts +1 -0
- package/src/utils/filePersistence/filePersistence.ts +1 -0
- package/src/utils/filePersistence/outputsScanner.ts +1 -0
- package/src/utils/gitDiff.ts +1 -0
- package/src/utils/groupToolUses.ts +1 -0
- package/src/utils/hooks/hooksConfigManager.ts +1 -0
- package/src/utils/hooks/skillImprovement.ts +1 -0
- package/src/utils/hooks.ts +1 -0
- package/src/utils/imagePaste.ts +1 -0
- package/src/utils/log.ts +1 -0
- package/src/utils/logoV2Utils.ts +6 -6
- package/src/utils/messageQueueManager.ts +1 -0
- package/src/utils/messages.ts +122 -100
- package/src/utils/model/agent.ts +43 -2
- package/src/utils/model/configs.ts +1 -1
- package/src/utils/model/deprecation.ts +1 -0
- package/src/utils/model/fetchModels.ts +11 -1
- package/src/utils/model/model.ts +31 -0
- package/src/utils/model/modelCapabilities.ts +1 -0
- package/src/utils/model/modelOptions.ts +68 -14
- package/src/utils/model/modelStrings.ts +1 -0
- package/src/utils/model/platformProfiles.ts +524 -0
- package/src/utils/model/thirdPartyProviders.ts +158 -15
- package/src/utils/modelCost.ts +1 -0
- package/src/utils/notebook.ts +1 -0
- package/src/utils/permissions/classifierDecision.ts +1 -0
- package/src/utils/permissions/pathValidation.ts +1 -0
- package/src/utils/permissions/permissionExplainer.ts +1 -0
- package/src/utils/plugins/loadPluginHooks.ts +1 -0
- package/src/utils/plugins/lspPluginIntegration.ts +1 -0
- package/src/utils/plugins/pluginLoader.ts +1 -0
- package/src/utils/preflightChecks.tsx +2 -1
- package/src/utils/processUserInput/processSlashCommand.tsx +13 -3
- package/src/utils/queryHelpers.ts +1 -0
- package/src/utils/readFileInRange.ts +1 -0
- package/src/utils/sandbox/sandbox-adapter.ts +24 -22
- package/src/utils/sessionFileAccessHooks.ts +1 -0
- package/src/utils/sessionRestore.ts +1 -0
- package/src/utils/sessionStorage.ts +84 -46
- package/src/utils/settings/types.ts +72 -0
- package/src/utils/shell/prefix.ts +1 -0
- package/src/utils/sideQuery.ts +1 -0
- package/src/utils/sliceAnsi.ts +1 -0
- package/src/utils/staticRender.tsx +1 -0
- package/src/utils/stats.ts +1 -0
- package/src/utils/status.tsx +1 -0
- package/src/utils/swarm/It2SetupPrompt.tsx +2 -1
- package/src/utils/swarm/teammateModel.ts +1 -0
- package/src/utils/taskSummary.ts +6 -1
- package/src/utils/textHighlighting.ts +1 -0
- package/src/utils/thinking.ts +1 -0
- package/src/utils/toolResultStorage.ts +1 -0
- package/src/utils/transcriptSearch.ts +1 -0
- package/src/utils/worktree.ts +1 -0
- package/stubs/@anthropic-ai/mcpb/index.d.ts +23 -1
- package/stubs/@anthropic-ai/sandbox-runtime/index.d.ts +39 -1
- package/.gitignore.bak +0 -11
- package/bin/mumuclaw +0 -154
- package/bin/opencc +0 -50
- package/src/channels/heartbeat-channel.mjs +0 -280
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
1
2
|
import { c as _c } from "react/compiler-runtime";
|
|
2
3
|
import React, { createContext, useCallback, useContext, useEffect, useState } from 'react';
|
|
3
4
|
import { useIsInsideModal, useModalScrollRef } from '../../context/modalContext.js';
|
|
@@ -337,4 +338,4 @@ export function useTabHeaderFocus() {
|
|
|
337
338
|
}
|
|
338
339
|
return t1;
|
|
339
340
|
}
|
|
340
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJ1c2VDYWxsYmFjayIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZUlzSW5zaWRlTW9kYWwiLCJ1c2VNb2RhbFNjcm9sbFJlZiIsInVzZVRlcm1pbmFsU2l6ZSIsIlNjcm9sbEJveCIsIktleWJvYXJkRXZlbnQiLCJzdHJpbmdXaWR0aCIsIkJveCIsIlRleHQiLCJ1c2VLZXliaW5kaW5ncyIsIlRoZW1lIiwiVGFic1Byb3BzIiwiY2hpbGRyZW4iLCJBcnJheSIsIlJlYWN0RWxlbWVudCIsIlRhYlByb3BzIiwidGl0bGUiLCJjb2xvciIsImRlZmF1bHRUYWIiLCJoaWRkZW4iLCJ1c2VGdWxsV2lkdGgiLCJzZWxlY3RlZFRhYiIsIm9uVGFiQ2hhbmdlIiwidGFiSWQiLCJiYW5uZXIiLCJSZWFjdE5vZGUiLCJkaXNhYmxlTmF2aWdhdGlvbiIsImluaXRpYWxIZWFkZXJGb2N1c2VkIiwiY29udGVudEhlaWdodCIsIm5hdkZyb21Db250ZW50IiwiVGFic0NvbnRleHRWYWx1ZSIsIndpZHRoIiwiaGVhZGVyRm9jdXNlZCIsImZvY3VzSGVhZGVyIiwiYmx1ckhlYWRlciIsInJlZ2lzdGVyT3B0SW4iLCJUYWJzQ29udGV4dCIsInVuZGVmaW5lZCIsIlRhYnMiLCJ0MCIsIiQiLCJfYyIsImNvbnRyb2xsZWRTZWxlY3RlZFRhYiIsInQxIiwidDIiLCJjb2x1bW5zIiwidGVybWluYWxXaWR0aCIsInRhYnMiLCJtYXAiLCJfdGVtcCIsImRlZmF1bHRUYWJJbmRleCIsImZpbmRJbmRleCIsInRhYiIsImlzQ29udHJvbGxlZCIsImludGVybmFsU2VsZWN0ZWRUYWIiLCJzZXRJbnRlcm5hbFNlbGVjdGVkVGFiIiwiY29udHJvbGxlZFRhYkluZGV4IiwidGFiXzAiLCJzZWxlY3RlZFRhYkluZGV4IiwibW9kYWxTY3JvbGxSZWYiLCJzZXRIZWFkZXJGb2N1c2VkIiwidDMiLCJTeW1ib2wiLCJmb3IiLCJ0NCIsIm9wdEluQ291bnQiLCJzZXRPcHRJbkNvdW50IiwidDUiLCJfdGVtcDIiLCJfdGVtcDMiLCJvcHRlZEluIiwiaGFuZGxlVGFiQ2hhbmdlIiwib2Zmc2V0IiwibmV3SW5kZXgiLCJsZW5ndGgiLCJuZXdUYWJJZCIsInQ2IiwidDciLCJjb250ZXh0IiwiaXNBY3RpdmUiLCJ0YWJzOm5leHQiLCJ0YWJzOnByZXZpb3VzIiwidDgiLCJlIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVLZXlEb3duIiwidDkiLCJ0MTAiLCJ0aXRsZVdpZHRoIiwidGFic1dpZHRoIiwicmVkdWNlIiwiX3RlbXA0IiwidXNlZFdpZHRoIiwic3BhY2VyV2lkdGgiLCJNYXRoIiwibWF4IiwiY29udGVudFdpZHRoIiwiVDAiLCJ0MTEiLCJ0MTIiLCJ0MTMiLCJ0MTQiLCJ0MTUiLCJ0MTYiLCJpIiwiaWQiLCJ0aXRsZV8wIiwiaXNDdXJyZW50IiwiaGFzQ29sb3JDdXJzb3IiLCJyZXBlYXQiLCJ0MTciLCJ0MTgiLCJzdW0iLCJ0YWJUaXRsZSIsIm5fMCIsIm4iLCJjaGlsZCIsInByb3BzIiwiVGFiIiwiaW5zaWRlTW9kYWwiLCJ1c2VUYWJzV2lkdGgiLCJ1c2VUYWJIZWFkZXJGb2N1cyJdLCJzb3VyY2VzIjpbIlRhYnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBjcmVhdGVDb250ZXh0LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICB1c2VJc0luc2lkZU1vZGFsLFxuICB1c2VNb2RhbFNjcm9sbFJlZixcbn0gZnJvbSAnLi4vLi4vY29udGV4dC9tb2RhbENvbnRleHQuanMnXG5pbXBvcnQgeyB1c2VUZXJtaW5hbFNpemUgfSBmcm9tICcuLi8uLi9ob29rcy91c2VUZXJtaW5hbFNpemUuanMnXG5pbXBvcnQgU2Nyb2xsQm94IGZyb20gJy4uLy4uL2luay9jb21wb25lbnRzL1Njcm9sbEJveC5qcydcbmltcG9ydCB0eXBlIHsgS2V5Ym9hcmRFdmVudCB9IGZyb20gJy4uLy4uL2luay9ldmVudHMva2V5Ym9hcmQtZXZlbnQuanMnXG5pbXBvcnQgeyBzdHJpbmdXaWR0aCB9IGZyb20gJy4uLy4uL2luay9zdHJpbmdXaWR0aC5qcydcbmltcG9ydCB7IEJveCwgVGV4dCB9IGZyb20gJy4uLy4uL2luay5qcydcbmltcG9ydCB7IHVzZUtleWJpbmRpbmdzIH0gZnJvbSAnLi4vLi4va2V5YmluZGluZ3MvdXNlS2V5YmluZGluZy5qcydcbmltcG9ydCB0eXBlIHsgVGhlbWUgfSBmcm9tICcuLi8uLi91dGlscy90aGVtZS5qcydcblxudHlwZSBUYWJzUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBBcnJheTxSZWFjdC5SZWFjdEVsZW1lbnQ8VGFiUHJvcHM+PlxuICB0aXRsZT86IHN0cmluZ1xuICBjb2xvcj86IGtleW9mIFRoZW1lXG4gIGRlZmF1bHRUYWI/OiBzdHJpbmdcbiAgaGlkZGVuPzogYm9vbGVhblxuICB1c2VGdWxsV2lkdGg/OiBib29sZWFuXG4gIC8qKiBDb250cm9sbGVkIG1vZGU6IGN1cnJlbnQgc2VsZWN0ZWQgdGFiIGlkL3RpdGxlICovXG4gIHNlbGVjdGVkVGFiPzogc3RyaW5nXG4gIC8qKiBDb250cm9sbGVkIG1vZGU6IGNhbGxiYWNrIHdoZW4gdGFiIGNoYW5nZXMgKi9cbiAgb25UYWJDaGFuZ2U/OiAodGFiSWQ6IHN0cmluZykgPT4gdm9pZFxuICAvKiogT3B0aW9uYWwgYmFubmVyIHRvIGRpc3BsYXkgYmVsb3cgdGFicyBoZWFkZXIgKi9cbiAgYmFubmVyPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKiBEaXNhYmxlIGtleWJvYXJkIG5hdmlnYXRpb24gKGUuZy4gd2hlbiBhIGNoaWxkIGNvbXBvbmVudCBoYW5kbGVzIGFycm93IGtleXMpICovXG4gIGRpc2FibGVOYXZpZ2F0aW9uPzogYm9vbGVhblxuICAvKipcbiAgICogSW5pdGlhbCBmb2N1cyBzdGF0ZSBmb3IgdGhlIHRhYiBoZWFkZXIgcm93LiBEZWZhdWx0cyB0byB0cnVlIChoZWFkZXJcbiAgICogZm9jdXNlZCwgbmF2IGFsd2F5cyB3b3JrcykuIEtlZXAgdGhlIGRlZmF1bHQgZm9yIFNlbGVjdC9saXN0IGNvbnRlbnQg4oCUXG4gICAqIHRob3NlIG9ubHkgdXNlIHVwL2Rvd24gc28gdGhlcmUncyBubyBjb25mbGljdDsgcGFzc1xuICAgKiBpc0Rpc2FibGVkPXtoZWFkZXJGb2N1c2VkfSB0byB0aGUgU2VsZWN0IGluc3RlYWQuIE9ubHkgc2V0IGZhbHNlIHdoZW5cbiAgICogY29udGVudCBhY3R1YWxseSBiaW5kcyBsZWZ0L3JpZ2h0L3RhYiAoZS5nLiBlbnVtIGN5Y2xpbmcpLCBhbmQgc2hvdyBhXG4gICAqIFwi4oaRIHRhYnNcIiBmb290ZXIgaGludCDigJQgd2l0aG91dCBpdCB0YWJzIGxvb2sgYnJva2VuLlxuICAgKi9cbiAgaW5pdGlhbEhlYWRlckZvY3VzZWQ/OiBib29sZWFuXG4gIC8qKlxuICAgKiBGaXhlZCBoZWlnaHQgZm9yIHRoZSBjb250ZW50IGFyZWEuIFdoZW4gc2V0LCBhbGwgdGFicyByZW5kZXIgd2l0aGluIHRoZVxuICAgKiBzYW1lIGhlaWdodCAob3ZlcmZsb3cgaGlkZGVuKSBzbyBzd2l0Y2hpbmcgdGFicyBkb2Vzbid0IGNhdXNlIGxheW91dFxuICAgKiBzaGlmdHMuIFNob3J0ZXIgdGFicyBnZXQgd2hpdGVzcGFjZTsgdGFsbGVyIHRhYnMgYXJlIGNsaXBwZWQuXG4gICAqL1xuICBjb250ZW50SGVpZ2h0PzogbnVtYmVyXG4gIC8qKlxuICAgKiBMZXQgVGFiL+KGkC/ihpIgc3dpdGNoIHRhYnMgZnJvbSBmb2N1c2VkIGNvbnRlbnQuIE9wdC1pbiBzaW5jZSBzb21lXG4gICAqIGNvbnRlbnQgdXNlcyB0aG9zZSBrZXlzOyBwYXNzIGEgcmVhY3RpdmUgYm9vbGVhbiB0byBjZWRlIHRoZW0gd2hlblxuICAgKiBuZWVkZWQuIFN3aXRjaGluZyBmcm9tIGNvbnRlbnQgZm9jdXNlcyB0aGUgaGVhZGVyLlxuICAgKi9cbiAgbmF2RnJvbUNvbnRlbnQ/OiBib29sZWFuXG59XG5cbnR5cGUgVGFic0NvbnRleHRWYWx1ZSA9IHtcbiAgc2VsZWN0ZWRUYWI6IHN0cmluZyB8IHVuZGVmaW5lZFxuICB3aWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkXG4gIGhlYWRlckZvY3VzZWQ6IGJvb2xlYW5cbiAgZm9jdXNIZWFkZXI6ICgpID0+IHZvaWRcbiAgYmx1ckhlYWRlcjogKCkgPT4gdm9pZFxuICByZWdpc3Rlck9wdEluOiAoKSA9PiAoKSA9PiB2b2lkXG59XG5cbmNvbnN0IFRhYnNDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxUYWJzQ29udGV4dFZhbHVlPih7XG4gIHNlbGVjdGVkVGFiOiB1bmRlZmluZWQsXG4gIHdpZHRoOiB1bmRlZmluZWQsXG4gIC8vIERlZmF1bHQgZm9yIGNvbXBvbmVudHMgcmVuZGVyZWQgb3V0c2lkZSBhIFRhYnMgKHRlc3RzLCBzdGFuZGFsb25lKTpcbiAgLy8gY29udGVudCBoYXMgZm9jdXMsIGZvY3VzSGVhZGVyIGlzIGEgbm8tb3AuXG4gIGhlYWRlckZvY3VzZWQ6IGZhbHNlLFxuICBmb2N1c0hlYWRlcjogKCkgPT4ge30sXG4gIGJsdXJIZWFkZXI6ICgpID0+IHt9LFxuICByZWdpc3Rlck9wdEluOiAoKSA9PiAoKSA9PiB7fSxcbn0pXG5cbmV4cG9ydCBmdW5jdGlvbiBUYWJzKHtcbiAgdGl0bGUsXG4gIGNvbG9yLFxuICBkZWZhdWx0VGFiLFxuICBjaGlsZHJlbixcbiAgaGlkZGVuLFxuICB1c2VGdWxsV2lkdGgsXG4gIHNlbGVjdGVkVGFiOiBjb250cm9sbGVkU2VsZWN0ZWRUYWIsXG4gIG9uVGFiQ2hhbmdlLFxuICBiYW5uZXIsXG4gIGRpc2FibGVOYXZpZ2F0aW9uLFxuICBpbml0aWFsSGVhZGVyRm9jdXNlZCA9IHRydWUsXG4gIGNvbnRlbnRIZWlnaHQsXG4gIG5hdkZyb21Db250ZW50ID0gZmFsc2UsXG59OiBUYWJzUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCB7IGNvbHVtbnM6IHRlcm1pbmFsV2lkdGggfSA9IHVzZVRlcm1pbmFsU2l6ZSgpXG4gIGNvbnN0IHRhYnMgPSBjaGlsZHJlbi5tYXAoY2hpbGQgPT4gW1xuICAgIGNoaWxkLnByb3BzLmlkID8/IGNoaWxkLnByb3BzLnRpdGxlLFxuICAgIGNoaWxkLnByb3BzLnRpdGxlLFxuICBdKVxuICBjb25zdCBkZWZhdWx0VGFiSW5kZXggPSBkZWZhdWx0VGFiXG4gICAgPyB0YWJzLmZpbmRJbmRleCh0YWIgPT4gZGVmYXVsdFRhYiA9PT0gdGFiWzBdKVxuICAgIDogMFxuXG4gIC8vIFN1cHBvcnQgYm90aCBjb250cm9sbGVkIGFuZCB1bmNvbnRyb2xsZWQgbW9kZXNcbiAgY29uc3QgaXNDb250cm9sbGVkID0gY29udHJvbGxlZFNlbGVjdGVkVGFiICE9PSB1bmRlZmluZWRcbiAgY29uc3QgW2ludGVybmFsU2VsZWN0ZWRUYWIsIHNldEludGVybmFsU2VsZWN0ZWRUYWJdID0gdXNlU3RhdGUoXG4gICAgZGVmYXVsdFRhYkluZGV4ICE9PSAtMSA/IGRlZmF1bHRUYWJJbmRleCA6IDAsXG4gIClcblxuICAvLyBJbiBjb250cm9sbGVkIG1vZGUsIGZpbmQgdGhlIGluZGV4IG9mIHRoZSBjb250cm9sbGVkIHRhYlxuICBjb25zdCBjb250cm9sbGVkVGFiSW5kZXggPSBpc0NvbnRyb2xsZWRcbiAgICA/IHRhYnMuZmluZEluZGV4KHRhYiA9PiB0YWJbMF0gPT09IGNvbnRyb2xsZWRTZWxlY3RlZFRhYilcbiAgICA6IC0xXG4gIGNvbnN0IHNlbGVjdGVkVGFiSW5kZXggPSBpc0NvbnRyb2xsZWRcbiAgICA/IGNvbnRyb2xsZWRUYWJJbmRleCAhPT0gLTFcbiAgICAgID8gY29udHJvbGxlZFRhYkluZGV4XG4gICAgICA6IDBcbiAgICA6IGludGVybmFsU2VsZWN0ZWRUYWJcblxuICBjb25zdCBtb2RhbFNjcm9sbFJlZiA9IHVzZU1vZGFsU2Nyb2xsUmVmKClcblxuICAvLyBIZWFkZXIgZm9jdXM6IGxlZnQvcmlnaHQvdGFiIG9ubHkgc3dpdGNoIHRhYnMgd2hlbiB0aGUgaGVhZGVyIHJvdyBpc1xuICAvLyBmb2N1c2VkLiBDaGlsZHJlbiB3aXRoIGludGVyYWN0aXZlIGNvbnRlbnQgY2FsbCBmb2N1c0hlYWRlcigpICh2aWFcbiAgLy8gdXNlVGFiSGVhZGVyRm9jdXMpIG9uIHVwLWFycm93IHRvIGhhbmQgZm9jdXMgYmFjayBoZXJlOyBkb3duLWFycm93XG4gIC8vIHJldHVybnMgaXQuIFRhYnMgdGhhdCBuZXZlciBjYWxsIHRoZSBob29rIHNlZSBubyBiZWhhdmlvciBjaGFuZ2Ug4oCUXG4gIC8vIGluaXRpYWxIZWFkZXJGb2N1c2VkIGRlZmF1bHRzIHRvIHRydWUgc28gbmF2IGFsd2F5cyB3b3Jrcy5cbiAgY29uc3QgW2hlYWRlckZvY3VzZWQsIHNldEhlYWRlckZvY3VzZWRdID0gdXNlU3RhdGUoaW5pdGlhbEhlYWRlckZvY3VzZWQpXG4gIGNvbnN0IGZvY3VzSGVhZGVyID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0SGVhZGVyRm9jdXNlZCh0cnVlKSwgW10pXG4gIGNvbnN0IGJsdXJIZWFkZXIgPSB1c2VDYWxsYmFjaygoKSA9PiBzZXRIZWFkZXJGb2N1c2VkKGZhbHNlKSwgW10pXG4gIC8vIENvdW50IG9mIG1vdW50ZWQgY2hpbGRyZW4gdXNpbmcgdXNlVGFiSGVhZGVyRm9jdXMoKS4gRG93bi1hcnJvdyBibHVyIGFuZFxuICAvLyB0aGUg4oaTIGhpbnQgb25seSBlbmdhZ2Ugd2hlbiBhdCBsZWFzdCBvbmUgY2hpbGQgaGFzIG9wdGVkIGluIOKAlCBvdGhlcndpc2VcbiAgLy8gcHJlc3NpbmcgZG93biBvbiBhIGxlZ2FjeSB0YWIgd291bGQgc3RyYW5kIHRoZSB1c2VyIHdpdGggbmF2IGRpc2FibGVkLlxuICBjb25zdCBbb3B0SW5Db3VudCwgc2V0T3B0SW5Db3VudF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCByZWdpc3Rlck9wdEluID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldE9wdEluQ291bnQobiA9PiBuICsgMSlcbiAgICByZXR1cm4gKCkgPT4gc2V0T3B0SW5Db3VudChuID0+IG4gLSAxKVxuICB9LCBbXSlcbiAgY29uc3Qgb3B0ZWRJbiA9IG9wdEluQ291bnQgPiAwXG5cbiAgY29uc3QgaGFuZGxlVGFiQ2hhbmdlID0gKG9mZnNldDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbmV3SW5kZXggPSAoc2VsZWN0ZWRUYWJJbmRleCArIHRhYnMubGVuZ3RoICsgb2Zmc2V0KSAlIHRhYnMubGVuZ3RoXG4gICAgY29uc3QgbmV3VGFiSWQgPSB0YWJzW25ld0luZGV4XT8uWzBdXG5cbiAgICBpZiAoaXNDb250cm9sbGVkICYmIG9uVGFiQ2hhbmdlICYmIG5ld1RhYklkKSB7XG4gICAgICBvblRhYkNoYW5nZShuZXdUYWJJZClcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0SW50ZXJuYWxTZWxlY3RlZFRhYihuZXdJbmRleClcbiAgICB9XG4gICAgLy8gVGFiIHN3aXRjaGluZyBpcyBhIGhlYWRlciBhY3Rpb24g4oCUIHN0YXkgZm9jdXNlZCBzbyB0aGUgdXNlciBjYW4ga2VlcFxuICAgIC8vIGN5Y2xpbmcuIFRoZSBuZXdseSBtb3VudGVkIHRhYiBjYW4gYmx1ciB2aWEgaXRzIG93biBpbnRlcmFjdGlvbi5cbiAgICBzZXRIZWFkZXJGb2N1c2VkKHRydWUpXG4gIH1cblxuICB1c2VLZXliaW5kaW5ncyhcbiAgICB7XG4gICAgICAndGFiczpuZXh0JzogKCkgPT4gaGFuZGxlVGFiQ2hhbmdlKDEpLFxuICAgICAgJ3RhYnM6cHJldmlvdXMnOiAoKSA9PiBoYW5kbGVUYWJDaGFuZ2UoLTEpLFxuICAgIH0sXG4gICAge1xuICAgICAgY29udGV4dDogJ1RhYnMnLFxuICAgICAgaXNBY3RpdmU6ICFoaWRkZW4gJiYgIWRpc2FibGVOYXZpZ2F0aW9uICYmIGhlYWRlckZvY3VzZWQsXG4gICAgfSxcbiAgKVxuXG4gIC8vIFdoZW4gdGhlIGhlYWRlciBpcyBmb2N1c2VkLCBkb3duLWFycm93IHJldHVybnMgZm9jdXMgdG8gY29udGVudC4gT25seVxuICAvLyBhY3RpdmUgd2hlbiB0aGUgc2VsZWN0ZWQgdGFiIGhhcyBvcHRlZCBpbiB2aWEgdXNlVGFiSGVhZGVyRm9jdXMoKSDigJRcbiAgLy8gbGVnYWN5IHRhYnMgaGF2ZSBub3doZXJlIHRvIHJldHVybiBmb2N1cyB0by5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgaWYgKCFoZWFkZXJGb2N1c2VkIHx8ICFvcHRlZEluIHx8IGhpZGRlbikgcmV0dXJuXG4gICAgaWYgKGUua2V5ID09PSAnZG93bicpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgc2V0SGVhZGVyRm9jdXNlZChmYWxzZSlcbiAgICB9XG4gIH1cblxuICAvLyBPcHQtaW46IHNhbWUgdGFiczpuZXh0L3ByZXZpb3VzIGFjdGlvbnMsIGFjdGl2ZSBmcm9tIGNvbnRlbnQuIEZvY3VzZXNcbiAgLy8gdGhlIGhlYWRlciBzbyBzdWJzZXF1ZW50IHByZXNzZXMgY3ljbGUgdmlhIHRoZSBoYW5kbGVyIGFib3ZlLlxuICB1c2VLZXliaW5kaW5ncyhcbiAgICB7XG4gICAgICAndGFiczpuZXh0JzogKCkgPT4ge1xuICAgICAgICBoYW5kbGVUYWJDaGFuZ2UoMSlcbiAgICAgICAgc2V0SGVhZGVyRm9jdXNlZCh0cnVlKVxuICAgICAgfSxcbiAgICAgICd0YWJzOnByZXZpb3VzJzogKCkgPT4ge1xuICAgICAgICBoYW5kbGVUYWJDaGFuZ2UoLTEpXG4gICAgICAgIHNldEhlYWRlckZvY3VzZWQodHJ1ZSlcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBjb250ZXh0OiAnVGFicycsXG4gICAgICBpc0FjdGl2ZTpcbiAgICAgICAgbmF2RnJvbUNvbnRlbnQgJiZcbiAgICAgICAgIWhlYWRlckZvY3VzZWQgJiZcbiAgICAgICAgb3B0ZWRJbiAmJlxuICAgICAgICAhaGlkZGVuICYmXG4gICAgICAgICFkaXNhYmxlTmF2aWdhdGlvbixcbiAgICB9LFxuICApXG5cbiAgLy8gQ2FsY3VsYXRlIHNwYWNpbmcgdG8gZmlsbCB0aGUgYXZhaWxhYmxlIHdpZHRoLiBObyBrZXlib2FyZCBoaW50IGluIHRoZVxuICAvLyBoZWFkZXIgcm93IOKAlCBjb250ZW50IGZvb3RlcnMgb3duIGhpbnRzIChzZWUgdXNlVGFiSGVhZGVyRm9jdXMgZG9jcykuXG4gIGNvbnN0IHRpdGxlV2lkdGggPSB0aXRsZSA/IHN0cmluZ1dpZHRoKHRpdGxlKSArIDEgOiAwIC8vICsxIGZvciBnYXBcbiAgY29uc3QgdGFic1dpZHRoID0gdGFicy5yZWR1Y2UoXG4gICAgKHN1bSwgWywgdGFiVGl0bGVdKSA9PiBzdW0gKyAodGFiVGl0bGUgPyBzdHJpbmdXaWR0aCh0YWJUaXRsZSkgOiAwKSArIDIgKyAxLCAvLyArMiBmb3IgcGFkZGluZywgKzEgZm9yIGdhcFxuICAgIDAsXG4gIClcbiAgY29uc3QgdXNlZFdpZHRoID0gdGl0bGVXaWR0aCArIHRhYnNXaWR0aFxuICBjb25zdCBzcGFjZXJXaWR0aCA9IHVzZUZ1bGxXaWR0aCA/IE1hdGgubWF4KDAsIHRlcm1pbmFsV2lkdGggLSB1c2VkV2lkdGgpIDogMFxuXG4gIGNvbnN0IGNvbnRlbnRXaWR0aCA9IHVzZUZ1bGxXaWR0aCA/IHRlcm1pbmFsV2lkdGggOiB1bmRlZmluZWRcblxuICByZXR1cm4gKFxuICAgIDxUYWJzQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgc2VsZWN0ZWRUYWI6IHRhYnNbc2VsZWN0ZWRUYWJJbmRleF0hWzBdLFxuICAgICAgICB3aWR0aDogY29udGVudFdpZHRoLFxuICAgICAgICBoZWFkZXJGb2N1c2VkLFxuICAgICAgICBmb2N1c0hlYWRlcixcbiAgICAgICAgYmx1ckhlYWRlcixcbiAgICAgICAgcmVnaXN0ZXJPcHRJbixcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEJveFxuICAgICAgICBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgIC8vIGZsZXhTaHJpbms9MCBpbnNpZGUgbW9kYWwgc2xvdCDigJQgdGhlIG1vZGFsJ3MgYWJzb2x1dGUgQm94IGhhcyBub1xuICAgICAgICAvLyBleHBsaWNpdCBoZWlnaHQgKGdyb3dzIHRvIGZpdCwgbWF4SGVpZ2h0IGNhcCksIHNvIGZsZXhHcm93PTEgaGVyZVxuICAgICAgICAvLyByZXNvbHZlcyB0byAwIG9uIHJlLXJlbmRlciBhbmQgdGhlIGJvZHkgYmxhbmtzIG9uIERvd24gYXJyb3cuXG4gICAgICAgIC8vIFNlZSAjMjM1OTIuIE91dHNpZGUgbW9kYWwsIGxlYXZlIGxheW91dCBhbG9uZS5cbiAgICAgICAgZmxleFNocmluaz17bW9kYWxTY3JvbGxSZWYgPyAwIDogdW5kZWZpbmVkfVxuICAgICAgPlxuICAgICAgICB7IWhpZGRlbiAmJiAoXG4gICAgICAgICAgPEJveFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBmbGV4U2hyaW5rPXttb2RhbFNjcm9sbFJlZiA/IDAgOiB1bmRlZmluZWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3RpdGxlICE9PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICAgICAgICA8VGV4dCBib2xkIGNvbG9yPXtjb2xvcn0+XG4gICAgICAgICAgICAgICAge3RpdGxlfVxuICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge3RhYnMubWFwKChbaWQsIHRpdGxlXSwgaSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBpc0N1cnJlbnQgPSBzZWxlY3RlZFRhYkluZGV4ID09PSBpXG4gICAgICAgICAgICAgIGNvbnN0IGhhc0NvbG9yQ3Vyc29yID0gY29sb3IgJiYgaXNDdXJyZW50ICYmIGhlYWRlckZvY3VzZWRcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICAgICAga2V5PXtpZH1cbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcj17aGFzQ29sb3JDdXJzb3IgPyBjb2xvciA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgIGNvbG9yPXtoYXNDb2xvckN1cnNvciA/ICdpbnZlcnNlVGV4dCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICBpbnZlcnNlPXtpc0N1cnJlbnQgJiYgIWhhc0NvbG9yQ3Vyc29yfVxuICAgICAgICAgICAgICAgICAgYm9sZD17aXNDdXJyZW50fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICB7dGl0bGV9eycgJ31cbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAge3NwYWNlcldpZHRoID4gMCAmJiA8VGV4dD57JyAnLnJlcGVhdChzcGFjZXJXaWR0aCl9PC9UZXh0Pn1cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgKX1cbiAgICAgICAge2Jhbm5lcn1cbiAgICAgICAge21vZGFsU2Nyb2xsUmVmID8gKFxuICAgICAgICAgIC8vIEluc2lkZSB0aGUgbW9kYWwgc2xvdDogb3duIHRoZSBTY3JvbGxCb3ggaGVyZSBzbyB0aGUgdGFic1xuICAgICAgICAgIC8vIGhlYWRlciByb3cgYWJvdmUgc2l0cyBPVVRTSURFIHRoZSBzY3JvbGwgYXJlYSDigJQgaXQgY2FuIG5ldmVyXG4gICAgICAgICAgLy8gc2Nyb2xsIG9mZi4gVGhlIHJlZiByZWFjaGVzIFJFUEwncyBTY3JvbGxLZXliaW5kaW5nSGFuZGxlciB2aWFcbiAgICAgICAgICAvLyBNb2RhbENvbnRleHQuIEtleWVkIGJ5IHNlbGVjdGVkVGFiSW5kZXgg4oaSIHJlbW91bnRzIG9uIHRhYlxuICAgICAgICAgIC8vIHN3aXRjaCwgcmVzZXR0aW5nIHNjcm9sbFRvcCB0byAwIHdpdGhvdXQgc2Nyb2xsVG8oKSB0aW1pbmcgZ2FtZXMuXG4gICAgICAgICAgPEJveCB3aWR0aD17Y29udGVudFdpZHRofSBtYXJnaW5Ub3A9e2hpZGRlbiA/IDAgOiAxfSBmbGV4U2hyaW5rPXswfT5cbiAgICAgICAgICAgIDxTY3JvbGxCb3hcbiAgICAgICAgICAgICAga2V5PXtzZWxlY3RlZFRhYkluZGV4fVxuICAgICAgICAgICAgICByZWY9e21vZGFsU2Nyb2xsUmVmfVxuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgZmxleFNocmluaz17MH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9TY3JvbGxCb3g+XG4gICAgICAgICAgPC9Cb3g+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEJveFxuICAgICAgICAgICAgd2lkdGg9e2NvbnRlbnRXaWR0aH1cbiAgICAgICAgICAgIG1hcmdpblRvcD17aGlkZGVuID8gMCA6IDF9XG4gICAgICAgICAgICBoZWlnaHQ9e2NvbnRlbnRIZWlnaHR9XG4gICAgICAgICAgICBvdmVyZmxvd1k9e2NvbnRlbnRIZWlnaHQgIT09IHVuZGVmaW5lZCA/ICdoaWRkZW4nIDogdW5kZWZpbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgKX1cbiAgICAgIDwvQm94PlxuICAgIDwvVGFic0NvbnRleHQuUHJvdmlkZXI+XG4gIClcbn1cblxudHlwZSBUYWJQcm9wcyA9IHtcbiAgdGl0bGU6IHN0cmluZ1xuICBpZD86IHN0cmluZ1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUYWIoeyB0aXRsZSwgaWQsIGNoaWxkcmVuIH06IFRhYlByb3BzKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgeyBzZWxlY3RlZFRhYiwgd2lkdGggfSA9IHVzZUNvbnRleHQoVGFic0NvbnRleHQpXG4gIGNvbnN0IGluc2lkZU1vZGFsID0gdXNlSXNJbnNpZGVNb2RhbCgpXG4gIGlmIChzZWxlY3RlZFRhYiAhPT0gKGlkID8/IHRpdGxlKSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxCb3ggd2lkdGg9e3dpZHRofSBmbGV4U2hyaW5rPXtpbnNpZGVNb2RhbCA/IDAgOiB1bmRlZmluZWR9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQm94PlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VUYWJzV2lkdGgoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgeyB3aWR0aCB9ID0gdXNlQ29udGV4dChUYWJzQ29udGV4dClcbiAgcmV0dXJuIHdpZHRoXG59XG5cbi8qKlxuICogT3B0IGludG8gaGVhZGVyLWZvY3VzIGdhdGluZy4gUmV0dXJucyB0aGUgY3VycmVudCBoZWFkZXIgZm9jdXMgc3RhdGUgYW5kIGFcbiAqIGNhbGxiYWNrIHRvIGhhbmQgZm9jdXMgYmFjayB0byB0aGUgdGFiIHJvdy4gRm9yIGEgU2VsZWN0LCBwYXNzXG4gKiBgaXNEaXNhYmxlZD17aGVhZGVyRm9jdXNlZH1gIGFuZCBgb25VcEZyb21GaXJzdEl0ZW09e2ZvY3VzSGVhZGVyfWA7IGtlZXAgdGhlXG4gKiBwYXJlbnQgVGFicycgaW5pdGlhbEhlYWRlckZvY3VzZWQgYXQgaXRzIGRlZmF1bHQgc28gdGFiL+KGkC/ihpIgd29yayBvbiBtb3VudC5cbiAqXG4gKiBDYWxsaW5nIHRoaXMgaG9vayByZWdpc3RlcnMgYSDihpMtYmx1cnMtaGVhZGVyIG9wdC1pbiBvbiBtb3VudC4gRG9uJ3QgY2FsbCBpdFxuICogYWJvdmUgYW4gZWFybHkgcmV0dXJuIHRoYXQgcmVuZGVycyBzdGF0aWMgdGV4dCDigJQg4oaTIHdpbGwgYmx1ciB0aGUgaGVhZGVyIHdpdGhcbiAqIG5vIG9uVXBGcm9tRmlyc3RJdGVtIHRvIHJlY292ZXIuIFNwbGl0IHRoZSBjb21wb25lbnQgc28gdGhlIGhvb2sgb25seSBydW5zXG4gKiB3aGVuIHRoZSBTZWxlY3QgcmVuZGVycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVRhYkhlYWRlckZvY3VzKCk6IHtcbiAgaGVhZGVyRm9jdXNlZDogYm9vbGVhblxuICBmb2N1c0hlYWRlcjogKCkgPT4gdm9pZFxuICBibHVySGVhZGVyOiAoKSA9PiB2b2lkXG59IHtcbiAgY29uc3QgeyBoZWFkZXJGb2N1c2VkLCBmb2N1c0hlYWRlciwgYmx1ckhlYWRlciwgcmVnaXN0ZXJPcHRJbiB9ID1cbiAgICB1c2VDb250ZXh0KFRhYnNDb250ZXh0KVxuICB1c2VFZmZlY3QocmVnaXN0ZXJPcHRJbiwgW3JlZ2lzdGVyT3B0SW5dKVxuICByZXR1cm4geyBoZWFkZXJGb2N1c2VkLCBmb2N1c0hlYWRlciwgYmx1ckhlYWRlciB9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQ1ZDLGFBQWEsRUFDYkMsV0FBVyxFQUNYQyxVQUFVLEVBQ1ZDLFNBQVMsRUFDVEMsUUFBUSxRQUNILE9BQU87QUFDZCxTQUNFQyxnQkFBZ0IsRUFDaEJDLGlCQUFpQixRQUNaLCtCQUErQjtBQUN0QyxTQUFTQyxlQUFlLFFBQVEsZ0NBQWdDO0FBQ2hFLE9BQU9DLFNBQVMsTUFBTSxtQ0FBbUM7QUFDekQsY0FBY0MsYUFBYSxRQUFRLG9DQUFvQztBQUN2RSxTQUFTQyxXQUFXLFFBQVEsMEJBQTBCO0FBQ3RELFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLGNBQWM7QUFDeEMsU0FBU0MsY0FBYyxRQUFRLG9DQUFvQztBQUNuRSxjQUFjQyxLQUFLLFFBQVEsc0JBQXNCO0FBRWpELEtBQUtDLFNBQVMsR0FBRztFQUNmQyxRQUFRLEVBQUVDLEtBQUssQ0FBQ2xCLEtBQUssQ0FBQ21CLFlBQVksQ0FBQ0MsUUFBUSxDQUFDLENBQUM7RUFDN0NDLEtBQUssQ0FBQyxFQUFFLE1BQU07RUFDZEMs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
|
|
341
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZUNvbnRleHQiLCJ1c2VDYWxsYmFjayIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsInVzZUlzSW5zaWRlTW9kYWwiLCJ1c2VNb2RhbFNjcm9sbFJlZiIsInVzZVRlcm1pbmFsU2l6ZSIsIlNjcm9sbEJveCIsIktleWJvYXJkRXZlbnQiLCJzdHJpbmdXaWR0aCIsIkJveCIsIlRleHQiLCJ1c2VLZXliaW5kaW5ncyIsIlRoZW1lIiwiVGFic1Byb3BzIiwiY2hpbGRyZW4iLCJBcnJheSIsIlJlYWN0RWxlbWVudCIsIlRhYlByb3BzIiwidGl0bGUiLCJjb2xvciIsImRlZmF1bHRUYWIiLCJoaWRkZW4iLCJ1c2VGdWxsV2lkdGgiLCJzZWxlY3RlZFRhYiIsIm9uVGFiQ2hhbmdlIiwidGFiSWQiLCJiYW5uZXIiLCJSZWFjdE5vZGUiLCJkaXNhYmxlTmF2aWdhdGlvbiIsImluaXRpYWxIZWFkZXJGb2N1c2VkIiwiY29udGVudEhlaWdodCIsIm5hdkZyb21Db250ZW50IiwiVGFic0NvbnRleHRWYWx1ZSIsIndpZHRoIiwiaGVhZGVyRm9jdXNlZCIsImZvY3VzSGVhZGVyIiwiYmx1ckhlYWRlciIsInJlZ2lzdGVyT3B0SW4iLCJUYWJzQ29udGV4dCIsInVuZGVmaW5lZCIsIlRhYnMiLCJ0MCIsIiQiLCJfYyIsImNvbnRyb2xsZWRTZWxlY3RlZFRhYiIsInQxIiwidDIiLCJjb2x1bW5zIiwidGVybWluYWxXaWR0aCIsInRhYnMiLCJtYXAiLCJfdGVtcCIsImRlZmF1bHRUYWJJbmRleCIsImZpbmRJbmRleCIsInRhYiIsImlzQ29udHJvbGxlZCIsImludGVybmFsU2VsZWN0ZWRUYWIiLCJzZXRJbnRlcm5hbFNlbGVjdGVkVGFiIiwiY29udHJvbGxlZFRhYkluZGV4IiwidGFiXzAiLCJzZWxlY3RlZFRhYkluZGV4IiwibW9kYWxTY3JvbGxSZWYiLCJzZXRIZWFkZXJGb2N1c2VkIiwidDMiLCJTeW1ib2wiLCJmb3IiLCJ0NCIsIm9wdEluQ291bnQiLCJzZXRPcHRJbkNvdW50IiwidDUiLCJfdGVtcDIiLCJfdGVtcDMiLCJvcHRlZEluIiwiaGFuZGxlVGFiQ2hhbmdlIiwib2Zmc2V0IiwibmV3SW5kZXgiLCJsZW5ndGgiLCJuZXdUYWJJZCIsInQ2IiwidDciLCJjb250ZXh0IiwiaXNBY3RpdmUiLCJ0YWJzOm5leHQiLCJ0YWJzOnByZXZpb3VzIiwidDgiLCJlIiwia2V5IiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVLZXlEb3duIiwidDkiLCJ0MTAiLCJ0aXRsZVdpZHRoIiwidGFic1dpZHRoIiwicmVkdWNlIiwiX3RlbXA0IiwidXNlZFdpZHRoIiwic3BhY2VyV2lkdGgiLCJNYXRoIiwibWF4IiwiY29udGVudFdpZHRoIiwiVDAiLCJ0MTEiLCJ0MTIiLCJ0MTMiLCJ0MTQiLCJ0MTUiLCJ0MTYiLCJpIiwiaWQiLCJ0aXRsZV8wIiwiaXNDdXJyZW50IiwiaGFzQ29sb3JDdXJzb3IiLCJyZXBlYXQiLCJ0MTciLCJ0MTgiLCJzdW0iLCJ0YWJUaXRsZSIsIm5fMCIsIm4iLCJjaGlsZCIsInByb3BzIiwiVGFiIiwiaW5zaWRlTW9kYWwiLCJ1c2VUYWJzV2lkdGgiLCJ1c2VUYWJIZWFkZXJGb2N1cyJdLCJzb3VyY2VzIjpbIlRhYnMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBjcmVhdGVDb250ZXh0LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlQ29udGV4dCxcbiAgdXNlRWZmZWN0LFxuICB1c2VTdGF0ZSxcbn0gZnJvbSAncmVhY3QnXG5pbXBvcnQge1xuICB1c2VJc0luc2lkZU1vZGFsLFxuICB1c2VNb2RhbFNjcm9sbFJlZixcbn0gZnJvbSAnLi4vLi4vY29udGV4dC9tb2RhbENvbnRleHQuanMnXG5pbXBvcnQgeyB1c2VUZXJtaW5hbFNpemUgfSBmcm9tICcuLi8uLi9ob29rcy91c2VUZXJtaW5hbFNpemUuanMnXG5pbXBvcnQgU2Nyb2xsQm94IGZyb20gJy4uLy4uL2luay9jb21wb25lbnRzL1Njcm9sbEJveC5qcydcbmltcG9ydCB0eXBlIHsgS2V5Ym9hcmRFdmVudCB9IGZyb20gJy4uLy4uL2luay9ldmVudHMva2V5Ym9hcmQtZXZlbnQuanMnXG5pbXBvcnQgeyBzdHJpbmdXaWR0aCB9IGZyb20gJy4uLy4uL2luay9zdHJpbmdXaWR0aC5qcydcbmltcG9ydCB7IEJveCwgVGV4dCB9IGZyb20gJy4uLy4uL2luay5qcydcbmltcG9ydCB7IHVzZUtleWJpbmRpbmdzIH0gZnJvbSAnLi4vLi4va2V5YmluZGluZ3MvdXNlS2V5YmluZGluZy5qcydcbmltcG9ydCB0eXBlIHsgVGhlbWUgfSBmcm9tICcuLi8uLi91dGlscy90aGVtZS5qcydcblxudHlwZSBUYWJzUHJvcHMgPSB7XG4gIGNoaWxkcmVuOiBBcnJheTxSZWFjdC5SZWFjdEVsZW1lbnQ8VGFiUHJvcHM+PlxuICB0aXRsZT86IHN0cmluZ1xuICBjb2xvcj86IGtleW9mIFRoZW1lXG4gIGRlZmF1bHRUYWI/OiBzdHJpbmdcbiAgaGlkZGVuPzogYm9vbGVhblxuICB1c2VGdWxsV2lkdGg/OiBib29sZWFuXG4gIC8qKiBDb250cm9sbGVkIG1vZGU6IGN1cnJlbnQgc2VsZWN0ZWQgdGFiIGlkL3RpdGxlICovXG4gIHNlbGVjdGVkVGFiPzogc3RyaW5nXG4gIC8qKiBDb250cm9sbGVkIG1vZGU6IGNhbGxiYWNrIHdoZW4gdGFiIGNoYW5nZXMgKi9cbiAgb25UYWJDaGFuZ2U/OiAodGFiSWQ6IHN0cmluZykgPT4gdm9pZFxuICAvKiogT3B0aW9uYWwgYmFubmVyIHRvIGRpc3BsYXkgYmVsb3cgdGFicyBoZWFkZXIgKi9cbiAgYmFubmVyPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKiBEaXNhYmxlIGtleWJvYXJkIG5hdmlnYXRpb24gKGUuZy4gd2hlbiBhIGNoaWxkIGNvbXBvbmVudCBoYW5kbGVzIGFycm93IGtleXMpICovXG4gIGRpc2FibGVOYXZpZ2F0aW9uPzogYm9vbGVhblxuICAvKipcbiAgICogSW5pdGlhbCBmb2N1cyBzdGF0ZSBmb3IgdGhlIHRhYiBoZWFkZXIgcm93LiBEZWZhdWx0cyB0byB0cnVlIChoZWFkZXJcbiAgICogZm9jdXNlZCwgbmF2IGFsd2F5cyB3b3JrcykuIEtlZXAgdGhlIGRlZmF1bHQgZm9yIFNlbGVjdC9saXN0IGNvbnRlbnQg4oCUXG4gICAqIHRob3NlIG9ubHkgdXNlIHVwL2Rvd24gc28gdGhlcmUncyBubyBjb25mbGljdDsgcGFzc1xuICAgKiBpc0Rpc2FibGVkPXtoZWFkZXJGb2N1c2VkfSB0byB0aGUgU2VsZWN0IGluc3RlYWQuIE9ubHkgc2V0IGZhbHNlIHdoZW5cbiAgICogY29udGVudCBhY3R1YWxseSBiaW5kcyBsZWZ0L3JpZ2h0L3RhYiAoZS5nLiBlbnVtIGN5Y2xpbmcpLCBhbmQgc2hvdyBhXG4gICAqIFwi4oaRIHRhYnNcIiBmb290ZXIgaGludCDigJQgd2l0aG91dCBpdCB0YWJzIGxvb2sgYnJva2VuLlxuICAgKi9cbiAgaW5pdGlhbEhlYWRlckZvY3VzZWQ/OiBib29sZWFuXG4gIC8qKlxuICAgKiBGaXhlZCBoZWlnaHQgZm9yIHRoZSBjb250ZW50IGFyZWEuIFdoZW4gc2V0LCBhbGwgdGFicyByZW5kZXIgd2l0aGluIHRoZVxuICAgKiBzYW1lIGhlaWdodCAob3ZlcmZsb3cgaGlkZGVuKSBzbyBzd2l0Y2hpbmcgdGFicyBkb2Vzbid0IGNhdXNlIGxheW91dFxuICAgKiBzaGlmdHMuIFNob3J0ZXIgdGFicyBnZXQgd2hpdGVzcGFjZTsgdGFsbGVyIHRhYnMgYXJlIGNsaXBwZWQuXG4gICAqL1xuICBjb250ZW50SGVpZ2h0PzogbnVtYmVyXG4gIC8qKlxuICAgKiBMZXQgVGFiL+KGkC/ihpIgc3dpdGNoIHRhYnMgZnJvbSBmb2N1c2VkIGNvbnRlbnQuIE9wdC1pbiBzaW5jZSBzb21lXG4gICAqIGNvbnRlbnQgdXNlcyB0aG9zZSBrZXlzOyBwYXNzIGEgcmVhY3RpdmUgYm9vbGVhbiB0byBjZWRlIHRoZW0gd2hlblxuICAgKiBuZWVkZWQuIFN3aXRjaGluZyBmcm9tIGNvbnRlbnQgZm9jdXNlcyB0aGUgaGVhZGVyLlxuICAgKi9cbiAgbmF2RnJvbUNvbnRlbnQ/OiBib29sZWFuXG59XG5cbnR5cGUgVGFic0NvbnRleHRWYWx1ZSA9IHtcbiAgc2VsZWN0ZWRUYWI6IHN0cmluZyB8IHVuZGVmaW5lZFxuICB3aWR0aDogbnVtYmVyIHwgdW5kZWZpbmVkXG4gIGhlYWRlckZvY3VzZWQ6IGJvb2xlYW5cbiAgZm9jdXNIZWFkZXI6ICgpID0+IHZvaWRcbiAgYmx1ckhlYWRlcjogKCkgPT4gdm9pZFxuICByZWdpc3Rlck9wdEluOiAoKSA9PiAoKSA9PiB2b2lkXG59XG5cbmNvbnN0IFRhYnNDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxUYWJzQ29udGV4dFZhbHVlPih7XG4gIHNlbGVjdGVkVGFiOiB1bmRlZmluZWQsXG4gIHdpZHRoOiB1bmRlZmluZWQsXG4gIC8vIERlZmF1bHQgZm9yIGNvbXBvbmVudHMgcmVuZGVyZWQgb3V0c2lkZSBhIFRhYnMgKHRlc3RzLCBzdGFuZGFsb25lKTpcbiAgLy8gY29udGVudCBoYXMgZm9jdXMsIGZvY3VzSGVhZGVyIGlzIGEgbm8tb3AuXG4gIGhlYWRlckZvY3VzZWQ6IGZhbHNlLFxuICBmb2N1c0hlYWRlcjogKCkgPT4ge30sXG4gIGJsdXJIZWFkZXI6ICgpID0+IHt9LFxuICByZWdpc3Rlck9wdEluOiAoKSA9PiAoKSA9PiB7fSxcbn0pXG5cbmV4cG9ydCBmdW5jdGlvbiBUYWJzKHtcbiAgdGl0bGUsXG4gIGNvbG9yLFxuICBkZWZhdWx0VGFiLFxuICBjaGlsZHJlbixcbiAgaGlkZGVuLFxuICB1c2VGdWxsV2lkdGgsXG4gIHNlbGVjdGVkVGFiOiBjb250cm9sbGVkU2VsZWN0ZWRUYWIsXG4gIG9uVGFiQ2hhbmdlLFxuICBiYW5uZXIsXG4gIGRpc2FibGVOYXZpZ2F0aW9uLFxuICBpbml0aWFsSGVhZGVyRm9jdXNlZCA9IHRydWUsXG4gIGNvbnRlbnRIZWlnaHQsXG4gIG5hdkZyb21Db250ZW50ID0gZmFsc2UsXG59OiBUYWJzUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCB7IGNvbHVtbnM6IHRlcm1pbmFsV2lkdGggfSA9IHVzZVRlcm1pbmFsU2l6ZSgpXG4gIGNvbnN0IHRhYnMgPSBjaGlsZHJlbi5tYXAoY2hpbGQgPT4gW1xuICAgIGNoaWxkLnByb3BzLmlkID8/IGNoaWxkLnByb3BzLnRpdGxlLFxuICAgIGNoaWxkLnByb3BzLnRpdGxlLFxuICBdKVxuICBjb25zdCBkZWZhdWx0VGFiSW5kZXggPSBkZWZhdWx0VGFiXG4gICAgPyB0YWJzLmZpbmRJbmRleCh0YWIgPT4gZGVmYXVsdFRhYiA9PT0gdGFiWzBdKVxuICAgIDogMFxuXG4gIC8vIFN1cHBvcnQgYm90aCBjb250cm9sbGVkIGFuZCB1bmNvbnRyb2xsZWQgbW9kZXNcbiAgY29uc3QgaXNDb250cm9sbGVkID0gY29udHJvbGxlZFNlbGVjdGVkVGFiICE9PSB1bmRlZmluZWRcbiAgY29uc3QgW2ludGVybmFsU2VsZWN0ZWRUYWIsIHNldEludGVybmFsU2VsZWN0ZWRUYWJdID0gdXNlU3RhdGUoXG4gICAgZGVmYXVsdFRhYkluZGV4ICE9PSAtMSA/IGRlZmF1bHRUYWJJbmRleCA6IDAsXG4gIClcblxuICAvLyBJbiBjb250cm9sbGVkIG1vZGUsIGZpbmQgdGhlIGluZGV4IG9mIHRoZSBjb250cm9sbGVkIHRhYlxuICBjb25zdCBjb250cm9sbGVkVGFiSW5kZXggPSBpc0NvbnRyb2xsZWRcbiAgICA/IHRhYnMuZmluZEluZGV4KHRhYiA9PiB0YWJbMF0gPT09IGNvbnRyb2xsZWRTZWxlY3RlZFRhYilcbiAgICA6IC0xXG4gIGNvbnN0IHNlbGVjdGVkVGFiSW5kZXggPSBpc0NvbnRyb2xsZWRcbiAgICA/IGNvbnRyb2xsZWRUYWJJbmRleCAhPT0gLTFcbiAgICAgID8gY29udHJvbGxlZFRhYkluZGV4XG4gICAgICA6IDBcbiAgICA6IGludGVybmFsU2VsZWN0ZWRUYWJcblxuICBjb25zdCBtb2RhbFNjcm9sbFJlZiA9IHVzZU1vZGFsU2Nyb2xsUmVmKClcblxuICAvLyBIZWFkZXIgZm9jdXM6IGxlZnQvcmlnaHQvdGFiIG9ubHkgc3dpdGNoIHRhYnMgd2hlbiB0aGUgaGVhZGVyIHJvdyBpc1xuICAvLyBmb2N1c2VkLiBDaGlsZHJlbiB3aXRoIGludGVyYWN0aXZlIGNvbnRlbnQgY2FsbCBmb2N1c0hlYWRlcigpICh2aWFcbiAgLy8gdXNlVGFiSGVhZGVyRm9jdXMpIG9uIHVwLWFycm93IHRvIGhhbmQgZm9jdXMgYmFjayBoZXJlOyBkb3duLWFycm93XG4gIC8vIHJldHVybnMgaXQuIFRhYnMgdGhhdCBuZXZlciBjYWxsIHRoZSBob29rIHNlZSBubyBiZWhhdmlvciBjaGFuZ2Ug4oCUXG4gIC8vIGluaXRpYWxIZWFkZXJGb2N1c2VkIGRlZmF1bHRzIHRvIHRydWUgc28gbmF2IGFsd2F5cyB3b3Jrcy5cbiAgY29uc3QgW2hlYWRlckZvY3VzZWQsIHNldEhlYWRlckZvY3VzZWRdID0gdXNlU3RhdGUoaW5pdGlhbEhlYWRlckZvY3VzZWQpXG4gIGNvbnN0IGZvY3VzSGVhZGVyID0gdXNlQ2FsbGJhY2soKCkgPT4gc2V0SGVhZGVyRm9jdXNlZCh0cnVlKSwgW10pXG4gIGNvbnN0IGJsdXJIZWFkZXIgPSB1c2VDYWxsYmFjaygoKSA9PiBzZXRIZWFkZXJGb2N1c2VkKGZhbHNlKSwgW10pXG4gIC8vIENvdW50IG9mIG1vdW50ZWQgY2hpbGRyZW4gdXNpbmcgdXNlVGFiSGVhZGVyRm9jdXMoKS4gRG93bi1hcnJvdyBibHVyIGFuZFxuICAvLyB0aGUg4oaTIGhpbnQgb25seSBlbmdhZ2Ugd2hlbiBhdCBsZWFzdCBvbmUgY2hpbGQgaGFzIG9wdGVkIGluIOKAlCBvdGhlcndpc2VcbiAgLy8gcHJlc3NpbmcgZG93biBvbiBhIGxlZ2FjeSB0YWIgd291bGQgc3RyYW5kIHRoZSB1c2VyIHdpdGggbmF2IGRpc2FibGVkLlxuICBjb25zdCBbb3B0SW5Db3VudCwgc2V0T3B0SW5Db3VudF0gPSB1c2VTdGF0ZSgwKVxuICBjb25zdCByZWdpc3Rlck9wdEluID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldE9wdEluQ291bnQobiA9PiBuICsgMSlcbiAgICByZXR1cm4gKCkgPT4gc2V0T3B0SW5Db3VudChuID0+IG4gLSAxKVxuICB9LCBbXSlcbiAgY29uc3Qgb3B0ZWRJbiA9IG9wdEluQ291bnQgPiAwXG5cbiAgY29uc3QgaGFuZGxlVGFiQ2hhbmdlID0gKG9mZnNldDogbnVtYmVyKSA9PiB7XG4gICAgY29uc3QgbmV3SW5kZXggPSAoc2VsZWN0ZWRUYWJJbmRleCArIHRhYnMubGVuZ3RoICsgb2Zmc2V0KSAlIHRhYnMubGVuZ3RoXG4gICAgY29uc3QgbmV3VGFiSWQgPSB0YWJzW25ld0luZGV4XT8uWzBdXG5cbiAgICBpZiAoaXNDb250cm9sbGVkICYmIG9uVGFiQ2hhbmdlICYmIG5ld1RhYklkKSB7XG4gICAgICBvblRhYkNoYW5nZShuZXdUYWJJZClcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0SW50ZXJuYWxTZWxlY3RlZFRhYihuZXdJbmRleClcbiAgICB9XG4gICAgLy8gVGFiIHN3aXRjaGluZyBpcyBhIGhlYWRlciBhY3Rpb24g4oCUIHN0YXkgZm9jdXNlZCBzbyB0aGUgdXNlciBjYW4ga2VlcFxuICAgIC8vIGN5Y2xpbmcuIFRoZSBuZXdseSBtb3VudGVkIHRhYiBjYW4gYmx1ciB2aWEgaXRzIG93biBpbnRlcmFjdGlvbi5cbiAgICBzZXRIZWFkZXJGb2N1c2VkKHRydWUpXG4gIH1cblxuICB1c2VLZXliaW5kaW5ncyhcbiAgICB7XG4gICAgICAndGFiczpuZXh0JzogKCkgPT4gaGFuZGxlVGFiQ2hhbmdlKDEpLFxuICAgICAgJ3RhYnM6cHJldmlvdXMnOiAoKSA9PiBoYW5kbGVUYWJDaGFuZ2UoLTEpLFxuICAgIH0sXG4gICAge1xuICAgICAgY29udGV4dDogJ1RhYnMnLFxuICAgICAgaXNBY3RpdmU6ICFoaWRkZW4gJiYgIWRpc2FibGVOYXZpZ2F0aW9uICYmIGhlYWRlckZvY3VzZWQsXG4gICAgfSxcbiAgKVxuXG4gIC8vIFdoZW4gdGhlIGhlYWRlciBpcyBmb2N1c2VkLCBkb3duLWFycm93IHJldHVybnMgZm9jdXMgdG8gY29udGVudC4gT25seVxuICAvLyBhY3RpdmUgd2hlbiB0aGUgc2VsZWN0ZWQgdGFiIGhhcyBvcHRlZCBpbiB2aWEgdXNlVGFiSGVhZGVyRm9jdXMoKSDigJRcbiAgLy8gbGVnYWN5IHRhYnMgaGF2ZSBub3doZXJlIHRvIHJldHVybiBmb2N1cyB0by5cbiAgY29uc3QgaGFuZGxlS2V5RG93biA9IChlOiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgaWYgKCFoZWFkZXJGb2N1c2VkIHx8ICFvcHRlZEluIHx8IGhpZGRlbikgcmV0dXJuXG4gICAgaWYgKGUua2V5ID09PSAnZG93bicpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgc2V0SGVhZGVyRm9jdXNlZChmYWxzZSlcbiAgICB9XG4gIH1cblxuICAvLyBPcHQtaW46IHNhbWUgdGFiczpuZXh0L3ByZXZpb3VzIGFjdGlvbnMsIGFjdGl2ZSBmcm9tIGNvbnRlbnQuIEZvY3VzZXNcbiAgLy8gdGhlIGhlYWRlciBzbyBzdWJzZXF1ZW50IHByZXNzZXMgY3ljbGUgdmlhIHRoZSBoYW5kbGVyIGFib3ZlLlxuICB1c2VLZXliaW5kaW5ncyhcbiAgICB7XG4gICAgICAndGFiczpuZXh0JzogKCkgPT4ge1xuICAgICAgICBoYW5kbGVUYWJDaGFuZ2UoMSlcbiAgICAgICAgc2V0SGVhZGVyRm9jdXNlZCh0cnVlKVxuICAgICAgfSxcbiAgICAgICd0YWJzOnByZXZpb3VzJzogKCkgPT4ge1xuICAgICAgICBoYW5kbGVUYWJDaGFuZ2UoLTEpXG4gICAgICAgIHNldEhlYWRlckZvY3VzZWQodHJ1ZSlcbiAgICAgIH0sXG4gICAgfSxcbiAgICB7XG4gICAgICBjb250ZXh0OiAnVGFicycsXG4gICAgICBpc0FjdGl2ZTpcbiAgICAgICAgbmF2RnJvbUNvbnRlbnQgJiZcbiAgICAgICAgIWhlYWRlckZvY3VzZWQgJiZcbiAgICAgICAgb3B0ZWRJbiAmJlxuICAgICAgICAhaGlkZGVuICYmXG4gICAgICAgICFkaXNhYmxlTmF2aWdhdGlvbixcbiAgICB9LFxuICApXG5cbiAgLy8gQ2FsY3VsYXRlIHNwYWNpbmcgdG8gZmlsbCB0aGUgYXZhaWxhYmxlIHdpZHRoLiBObyBrZXlib2FyZCBoaW50IGluIHRoZVxuICAvLyBoZWFkZXIgcm93IOKAlCBjb250ZW50IGZvb3RlcnMgb3duIGhpbnRzIChzZWUgdXNlVGFiSGVhZGVyRm9jdXMgZG9jcykuXG4gIGNvbnN0IHRpdGxlV2lkdGggPSB0aXRsZSA/IHN0cmluZ1dpZHRoKHRpdGxlKSArIDEgOiAwIC8vICsxIGZvciBnYXBcbiAgY29uc3QgdGFic1dpZHRoID0gdGFicy5yZWR1Y2UoXG4gICAgKHN1bSwgWywgdGFiVGl0bGVdKSA9PiBzdW0gKyAodGFiVGl0bGUgPyBzdHJpbmdXaWR0aCh0YWJUaXRsZSkgOiAwKSArIDIgKyAxLCAvLyArMiBmb3IgcGFkZGluZywgKzEgZm9yIGdhcFxuICAgIDAsXG4gIClcbiAgY29uc3QgdXNlZFdpZHRoID0gdGl0bGVXaWR0aCArIHRhYnNXaWR0aFxuICBjb25zdCBzcGFjZXJXaWR0aCA9IHVzZUZ1bGxXaWR0aCA/IE1hdGgubWF4KDAsIHRlcm1pbmFsV2lkdGggLSB1c2VkV2lkdGgpIDogMFxuXG4gIGNvbnN0IGNvbnRlbnRXaWR0aCA9IHVzZUZ1bGxXaWR0aCA/IHRlcm1pbmFsV2lkdGggOiB1bmRlZmluZWRcblxuICByZXR1cm4gKFxuICAgIDxUYWJzQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgc2VsZWN0ZWRUYWI6IHRhYnNbc2VsZWN0ZWRUYWJJbmRleF0hWzBdLFxuICAgICAgICB3aWR0aDogY29udGVudFdpZHRoLFxuICAgICAgICBoZWFkZXJGb2N1c2VkLFxuICAgICAgICBmb2N1c0hlYWRlcixcbiAgICAgICAgYmx1ckhlYWRlcixcbiAgICAgICAgcmVnaXN0ZXJPcHRJbixcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEJveFxuICAgICAgICBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICBvbktleURvd249e2hhbmRsZUtleURvd259XG4gICAgICAgIC8vIGZsZXhTaHJpbms9MCBpbnNpZGUgbW9kYWwgc2xvdCDigJQgdGhlIG1vZGFsJ3MgYWJzb2x1dGUgQm94IGhhcyBub1xuICAgICAgICAvLyBleHBsaWNpdCBoZWlnaHQgKGdyb3dzIHRvIGZpdCwgbWF4SGVpZ2h0IGNhcCksIHNvIGZsZXhHcm93PTEgaGVyZVxuICAgICAgICAvLyByZXNvbHZlcyB0byAwIG9uIHJlLXJlbmRlciBhbmQgdGhlIGJvZHkgYmxhbmtzIG9uIERvd24gYXJyb3cuXG4gICAgICAgIC8vIFNlZSAjMjM1OTIuIE91dHNpZGUgbW9kYWwsIGxlYXZlIGxheW91dCBhbG9uZS5cbiAgICAgICAgZmxleFNocmluaz17bW9kYWxTY3JvbGxSZWYgPyAwIDogdW5kZWZpbmVkfVxuICAgICAgPlxuICAgICAgICB7IWhpZGRlbiAmJiAoXG4gICAgICAgICAgPEJveFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbj1cInJvd1wiXG4gICAgICAgICAgICBnYXA9ezF9XG4gICAgICAgICAgICBmbGV4U2hyaW5rPXttb2RhbFNjcm9sbFJlZiA/IDAgOiB1bmRlZmluZWR9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge3RpdGxlICE9PSB1bmRlZmluZWQgJiYgKFxuICAgICAgICAgICAgICA8VGV4dCBib2xkIGNvbG9yPXtjb2xvcn0+XG4gICAgICAgICAgICAgICAge3RpdGxlfVxuICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge3RhYnMubWFwKChbaWQsIHRpdGxlXSwgaSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBpc0N1cnJlbnQgPSBzZWxlY3RlZFRhYkluZGV4ID09PSBpXG4gICAgICAgICAgICAgIGNvbnN0IGhhc0NvbG9yQ3Vyc29yID0gY29sb3IgJiYgaXNDdXJyZW50ICYmIGhlYWRlckZvY3VzZWRcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICAgICAga2V5PXtpZH1cbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcj17aGFzQ29sb3JDdXJzb3IgPyBjb2xvciA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgIGNvbG9yPXtoYXNDb2xvckN1cnNvciA/ICdpbnZlcnNlVGV4dCcgOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICBpbnZlcnNlPXtpc0N1cnJlbnQgJiYgIWhhc0NvbG9yQ3Vyc29yfVxuICAgICAgICAgICAgICAgICAgYm9sZD17aXNDdXJyZW50fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAgICB7dGl0bGV9eycgJ31cbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAge3NwYWNlcldpZHRoID4gMCAmJiA8VGV4dD57JyAnLnJlcGVhdChzcGFjZXJXaWR0aCl9PC9UZXh0Pn1cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgKX1cbiAgICAgICAge2Jhbm5lcn1cbiAgICAgICAge21vZGFsU2Nyb2xsUmVmID8gKFxuICAgICAgICAgIC8vIEluc2lkZSB0aGUgbW9kYWwgc2xvdDogb3duIHRoZSBTY3JvbGxCb3ggaGVyZSBzbyB0aGUgdGFic1xuICAgICAgICAgIC8vIGhlYWRlciByb3cgYWJvdmUgc2l0cyBPVVRTSURFIHRoZSBzY3JvbGwgYXJlYSDigJQgaXQgY2FuIG5ldmVyXG4gICAgICAgICAgLy8gc2Nyb2xsIG9mZi4gVGhlIHJlZiByZWFjaGVzIFJFUEwncyBTY3JvbGxLZXliaW5kaW5nSGFuZGxlciB2aWFcbiAgICAgICAgICAvLyBNb2RhbENvbnRleHQuIEtleWVkIGJ5IHNlbGVjdGVkVGFiSW5kZXgg4oaSIHJlbW91bnRzIG9uIHRhYlxuICAgICAgICAgIC8vIHN3aXRjaCwgcmVzZXR0aW5nIHNjcm9sbFRvcCB0byAwIHdpdGhvdXQgc2Nyb2xsVG8oKSB0aW1pbmcgZ2FtZXMuXG4gICAgICAgICAgPEJveCB3aWR0aD17Y29udGVudFdpZHRofSBtYXJnaW5Ub3A9e2hpZGRlbiA/IDAgOiAxfSBmbGV4U2hyaW5rPXswfT5cbiAgICAgICAgICAgIDxTY3JvbGxCb3hcbiAgICAgICAgICAgICAga2V5PXtzZWxlY3RlZFRhYkluZGV4fVxuICAgICAgICAgICAgICByZWY9e21vZGFsU2Nyb2xsUmVmfVxuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCJcbiAgICAgICAgICAgICAgZmxleFNocmluaz17MH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9TY3JvbGxCb3g+XG4gICAgICAgICAgPC9Cb3g+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPEJveFxuICAgICAgICAgICAgd2lkdGg9e2NvbnRlbnRXaWR0aH1cbiAgICAgICAgICAgIG1hcmdpblRvcD17aGlkZGVuID8gMCA6IDF9XG4gICAgICAgICAgICBoZWlnaHQ9e2NvbnRlbnRIZWlnaHR9XG4gICAgICAgICAgICBvdmVyZmxvd1k9e2NvbnRlbnRIZWlnaHQgIT09IHVuZGVmaW5lZCA/ICdoaWRkZW4nIDogdW5kZWZpbmVkfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgKX1cbiAgICAgIDwvQm94PlxuICAgIDwvVGFic0NvbnRleHQuUHJvdmlkZXI+XG4gIClcbn1cblxudHlwZSBUYWJQcm9wcyA9IHtcbiAgdGl0bGU6IHN0cmluZ1xuICBpZD86IHN0cmluZ1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBUYWIoeyB0aXRsZSwgaWQsIGNoaWxkcmVuIH06IFRhYlByb3BzKTogUmVhY3QuUmVhY3ROb2RlIHtcbiAgY29uc3QgeyBzZWxlY3RlZFRhYiwgd2lkdGggfSA9IHVzZUNvbnRleHQoVGFic0NvbnRleHQpXG4gIGNvbnN0IGluc2lkZU1vZGFsID0gdXNlSXNJbnNpZGVNb2RhbCgpXG4gIGlmIChzZWxlY3RlZFRhYiAhPT0gKGlkID8/IHRpdGxlKSkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxCb3ggd2lkdGg9e3dpZHRofSBmbGV4U2hyaW5rPXtpbnNpZGVNb2RhbCA/IDAgOiB1bmRlZmluZWR9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQm94PlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VUYWJzV2lkdGgoKTogbnVtYmVyIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgeyB3aWR0aCB9ID0gdXNlQ29udGV4dChUYWJzQ29udGV4dClcbiAgcmV0dXJuIHdpZHRoXG59XG5cbi8qKlxuICogT3B0IGludG8gaGVhZGVyLWZvY3VzIGdhdGluZy4gUmV0dXJucyB0aGUgY3VycmVudCBoZWFkZXIgZm9jdXMgc3RhdGUgYW5kIGFcbiAqIGNhbGxiYWNrIHRvIGhhbmQgZm9jdXMgYmFjayB0byB0aGUgdGFiIHJvdy4gRm9yIGEgU2VsZWN0LCBwYXNzXG4gKiBgaXNEaXNhYmxlZD17aGVhZGVyRm9jdXNlZH1gIGFuZCBgb25VcEZyb21GaXJzdEl0ZW09e2ZvY3VzSGVhZGVyfWA7IGtlZXAgdGhlXG4gKiBwYXJlbnQgVGFicycgaW5pdGlhbEhlYWRlckZvY3VzZWQgYXQgaXRzIGRlZmF1bHQgc28gdGFiL+KGkC/ihpIgd29yayBvbiBtb3VudC5cbiAqXG4gKiBDYWxsaW5nIHRoaXMgaG9vayByZWdpc3RlcnMgYSDihpMtYmx1cnMtaGVhZGVyIG9wdC1pbiBvbiBtb3VudC4gRG9uJ3QgY2FsbCBpdFxuICogYWJvdmUgYW4gZWFybHkgcmV0dXJuIHRoYXQgcmVuZGVycyBzdGF0aWMgdGV4dCDigJQg4oaTIHdpbGwgYmx1ciB0aGUgaGVhZGVyIHdpdGhcbiAqIG5vIG9uVXBGcm9tRmlyc3RJdGVtIHRvIHJlY292ZXIuIFNwbGl0IHRoZSBjb21wb25lbnQgc28gdGhlIGhvb2sgb25seSBydW5zXG4gKiB3aGVuIHRoZSBTZWxlY3QgcmVuZGVycy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZVRhYkhlYWRlckZvY3VzKCk6IHtcbiAgaGVhZGVyRm9jdXNlZDogYm9vbGVhblxuICBmb2N1c0hlYWRlcjogKCkgPT4gdm9pZFxuICBibHVySGVhZGVyOiAoKSA9PiB2b2lkXG59IHtcbiAgY29uc3QgeyBoZWFkZXJGb2N1c2VkLCBmb2N1c0hlYWRlciwgYmx1ckhlYWRlciwgcmVnaXN0ZXJPcHRJbiB9ID1cbiAgICB1c2VDb250ZXh0KFRhYnNDb250ZXh0KVxuICB1c2VFZmZlY3QocmVnaXN0ZXJPcHRJbiwgW3JlZ2lzdGVyT3B0SW5dKVxuICByZXR1cm4geyBoZWFkZXJGb2N1c2VkLCBmb2N1c0hlYWRlciwgYmx1ckhlYWRlciB9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQ1ZDLGFBQWEsRUFDYkMsV0FBVyxFQUNYQyxVQUFVLEVBQ1ZDLFNBQVMsRUFDVEMsUUFBUSxRQUNILE9BQU87QUFDZCxTQUNFQyxnQkFBZ0IsRUFDaEJDLGlCQUFpQixRQUNaLCtCQUErQjtBQUN0QyxTQUFTQyxlQUFlLFFBQVEsZ0NBQWdDO0FBQ2hFLE9BQU9DLFNBQVMsTUFBTSxtQ0FBbUM7QUFDekQsY0FBY0MsYUFBYSxRQUFRLG9DQUFvQztBQUN2RSxTQUFTQyxXQUFXLFFBQVEsMEJBQTBCO0FBQ3RELFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxRQUFRLGNBQWM7QUFDeEMsU0FBU0MsY0FBYyxRQUFRLG9DQUFvQztBQUNuRSxjQUFjQyxLQUFLLFFBQVEsc0JBQXNCO0FBRWpELEtBQUtDLFNBQVMsR0FBRztFQUNmQyxRQUFRLEVBQUVDLEtBQUssQ0FBQ2xCLEtBQUssQ0FBQ21CLFlBQVksQ0FBQ0MsUUFBUSxDQUFDLENBQUM7RUFDN0NDLEtBQUssQ0FBQyxFQUFFLE1BQU07RUFDZEMs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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
1
2
|
import { c as _c } from "react/compiler-runtime";
|
|
2
3
|
import React, { useEffect, useState } from 'react';
|
|
3
4
|
import { type AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, logEvent } from 'src/services/analytics/index.js';
|
|
@@ -460,4 +461,4 @@ export function PrivacySettingsDialog(t0) {
|
|
|
460
461
|
function _temp2() {
|
|
461
462
|
logEvent("tengu_grove_privacy_settings_viewed", {});
|
|
462
463
|
}
|
|
463
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiQW5hbHl0aWNzTWV0YWRhdGFfSV9WRVJJRklFRF9USElTX0lTX05PVF9DT0RFX09SX0ZJTEVQQVRIUyIsImxvZ0V2ZW50IiwiQm94IiwiTGluayIsIlRleHQiLCJ1c2VJbnB1dCIsIkFjY291bnRTZXR0aW5ncyIsImNhbGN1bGF0ZVNob3VsZFNob3dHcm92ZSIsIkdyb3ZlQ29uZmlnIiwiZ2V0R3JvdmVOb3RpY2VDb25maWciLCJnZXRHcm92ZVNldHRpbmdzIiwibWFya0dyb3ZlTm90aWNlVmlld2VkIiwidXBkYXRlR3JvdmVTZXR0aW5ncyIsIlNlbGVjdCIsIkJ5bGluZSIsIkRpYWxvZyIsIktleWJvYXJkU2hvcnRjdXRIaW50IiwiR3JvdmVEZWNpc2lvbiIsIlByb3BzIiwic2hvd0lmQWxyZWFkeVZpZXdlZCIsImxvY2F0aW9uIiwib25Eb25lIiwiZGVjaXNpb24iLCJORVdfVEVSTVNfQVNDSUkiLCJHcmFjZVBlcmlvZENvbnRlbnRCb2R5IiwiJCIsIl9jIiwidDAiLCJTeW1ib2wiLCJmb3IiLCJ0MSIsInQyIiwidDMiLCJ0NCIsInQ1IiwidDYiLCJ0NyIsInQ4IiwiUG9zdEdyYWNlUGVyaW9kQ29udGVudEJvZHkiLCJHcm92ZURpYWxvZyIsInNob3VsZFNob3dEaWFsb2ciLCJzZXRTaG91bGRTaG93RGlhbG9nIiwiZ3JvdmVDb25maWciLCJzZXRHcm92ZUNvbmZpZyIsImNoZWNrR3JvdmVTZXR0aW5ncyIsInNldHRpbmdzUmVzdWx0IiwiY29uZmlnUmVzdWx0IiwiUHJvbWlzZSIsImFsbCIsImNvbmZpZyIsInN1Y2Nlc3MiLCJkYXRhIiwic2hvdWxkU2hvdyIsImRpc21pc3NhYmxlIiwibm90aWNlX2lzX2dyYWNlX3BlcmlvZCIsIm9uQ2hhbmdlIiwidmFsdWUiLCJiYjIxIiwic3RhdGUiLCJkb21haW5fZXhjbHVkZWQiLCJsYWJlbCIsImFjY2VwdE9wdGlvbnMiLCJoYW5kbGVDYW5jZWwiLCJ0OSIsInQxMCIsInQxMSIsInQxMiIsInZhbHVlXzAiLCJ0MTMiLCJ0MTQiLCJfdGVtcCIsImV4aXRTdGF0ZSIsInBlbmRpbmciLCJrZXlOYW1lIiwiUHJpdmFjeVNldHRpbmdzRGlhbG9nUHJvcHMiLCJzZXR0aW5ncyIsImRvbWFpbkV4Y2x1ZGVkIiwiUHJpdmFjeVNldHRpbmdzRGlhbG9nIiwiZ3JvdmVFbmFibGVkIiwic2V0R3JvdmVFbmFibGVkIiwiZ3JvdmVfZW5hYmxlZCIsIl90ZW1wMiIsImlucHV0Iiwia2V5IiwidGFiIiwicmV0dXJuIiwibmV3VmFsdWUiLCJ2YWx1ZUNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIkdyb3ZlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgdHlwZSBBbmFseXRpY3NNZXRhZGF0YV9JX1ZFUklGSUVEX1RISVNfSVNfTk9UX0NPREVfT1JfRklMRVBBVEhTLFxuICBsb2dFdmVudCxcbn0gZnJvbSAnc3JjL3NlcnZpY2VzL2FuYWx5dGljcy9pbmRleC5qcydcbmltcG9ydCB7IEJveCwgTGluaywgVGV4dCwgdXNlSW5wdXQgfSBmcm9tICcuLi8uLi9pbmsuanMnXG5pbXBvcnQge1xuICB0eXBlIEFjY291bnRTZXR0aW5ncyxcbiAgY2FsY3VsYXRlU2hvdWxkU2hvd0dyb3ZlLFxuICB0eXBlIEdyb3ZlQ29uZmlnLFxuICBnZXRHcm92ZU5vdGljZUNvbmZpZyxcbiAgZ2V0R3JvdmVTZXR0aW5ncyxcbiAgbWFya0dyb3ZlTm90aWNlVmlld2VkLFxuICB1cGRhdGVHcm92ZVNldHRpbmdzLFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcGkvZ3JvdmUuanMnXG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi9DdXN0b21TZWxlY3QvaW5kZXguanMnXG5pbXBvcnQgeyBCeWxpbmUgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL0J5bGluZS5qcydcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJy4uL2Rlc2lnbi1zeXN0ZW0vRGlhbG9nLmpzJ1xuaW1wb3J0IHsgS2V5Ym9hcmRTaG9ydGN1dEhpbnQgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL0tleWJvYXJkU2hvcnRjdXRIaW50LmpzJ1xuXG5leHBvcnQgdHlwZSBHcm92ZURlY2lzaW9uID1cbiAgfCAnYWNjZXB0X29wdF9pbidcbiAgfCAnYWNjZXB0X29wdF9vdXQnXG4gIHwgJ2RlZmVyJ1xuICB8ICdlc2NhcGUnXG4gIHwgJ3NraXBfcmVuZGVyaW5nJ1xuXG50eXBlIFByb3BzID0ge1xuICBzaG93SWZBbHJlYWR5Vmlld2VkOiBib29sZWFuXG4gIGxvY2F0aW9uOiAnc2V0dGluZ3MnIHwgJ3BvbGljeV91cGRhdGVfbW9kYWwnIHwgJ29uYm9hcmRpbmcnXG4gIG9uRG9uZShkZWNpc2lvbjogR3JvdmVEZWNpc2lvbik6IHZvaWRcbn1cblxuY29uc3QgTkVXX1RFUk1TX0FTQ0lJID0gYCBfX19fX19fX19fX19fXG4gfCAgICAgICAgICBcXFxcICBcXFxcXG4gfCBORVcgVEVSTVMgXFxcXF9fXFxcXFxuIHwgICAgICAgICAgICAgIHxcbiB8ICAtLS0tLS0tLS0tICB8XG4gfCAgLS0tLS0tLS0tLSAgfFxuIHwgIC0tLS0tLS0tLS0gIHxcbiB8ICAtLS0tLS0tLS0tICB8XG4gfCAgLS0tLS0tLS0tLSAgfFxuIHwgICAgICAgICAgICAgIHxcbiB8X19fX19fX19fX19fX198YFxuXG5mdW5jdGlvbiBHcmFjZVBlcmlvZENvbnRlbnRCb2R5KCk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxUZXh0PlxuICAgICAgICBBbiB1cGRhdGUgdG8gb3VyIENvbnN1bWVyIFRlcm1zIGFuZCBQcml2YWN5IFBvbGljeSB3aWxsIHRha2UgZWZmZWN0IG9ueycgJ31cbiAgICAgICAgPFRleHQgYm9sZD5PY3RvYmVyIDgsIDIwMjU8L1RleHQ+LiBZb3UgY2FuIGFjY2VwdCB0aGUgdXBkYXRlZCB0ZXJtc1xuICAgICAgICB0b2RheS5cbiAgICAgIDwvVGV4dD5cblxuICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCI+XG4gICAgICAgIDxUZXh0PldoYXQmYXBvcztzIGNoYW5naW5nPzwvVGV4dD5cblxuICAgICAgICA8Qm94IHBhZGRpbmdMZWZ0PXsxfT5cbiAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgIDxUZXh0PsK3IDwvVGV4dD5cbiAgICAgICAgICAgIDxUZXh0IGJvbGQ+WW91IGNhbiBoZWxwIGltcHJvdmUgQ2xhdWRlIDwvVGV4dD5cbiAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICDigJQgQWxsb3cgdGhlIHVzZSBvZiB5b3VyIGNoYXRzIGFuZCBjb2Rpbmcgc2Vzc2lvbnMgdG8gdHJhaW4gYW5kXG4gICAgICAgICAgICAgIGltcHJvdmUgQW50aHJvcGljIEFJIG1vZGVscy4gQ2hhbmdlIGFueXRpbWUgaW4geW91ciBQcml2YWN5XG4gICAgICAgICAgICAgIFNldHRpbmdzIChcbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICB1cmw9eydodHRwczovL2NsYXVkZS5haS9zZXR0aW5ncy9kYXRhLXByaXZhY3ktY29udHJvbHMnfVxuICAgICAgICAgICAgICA+PC9MaW5rPlxuICAgICAgICAgICAgICApLlxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9Cb3g+XG4gICAgICAgIDxCb3ggcGFkZGluZ0xlZnQ9ezF9PlxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgPFRleHQ+wrcgPC9UZXh0PlxuICAgICAgICAgICAgPFRleHQgYm9sZD5VcGRhdGVzIHRvIGRhdGEgcmV0ZW50aW9uIDwvVGV4dD5cbiAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICDigJQgVG8gaGVscCB1cyBpbXByb3ZlIG91ciBBSSBtb2RlbHMgYW5kIHNhZmV0eSBwcm90ZWN0aW9ucyxcbiAgICAgICAgICAgICAgd2UmYXBvcztyZSBleHRlbmRpbmcgZGF0YSByZXRlbnRpb24gdG8gNSB5ZWFycy5cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIDwvQm94PlxuICAgICAgPC9Cb3g+XG5cbiAgICAgIDxUZXh0PlxuICAgICAgICBMZWFybiBtb3JlIChcbiAgICAgICAgPExpbmtcbiAgICAgICAgICB1cmw9eydodHRwczovL3d3dy5hbnRocm9waWMuY29tL25ld3MvdXBkYXRlcy10by1vdXItY29uc3VtZXItdGVybXMnfVxuICAgICAgICA+PC9MaW5rPlxuICAgICAgICApIG9yIHJlYWQgdGhlIHVwZGF0ZWQgQ29uc3VtZXIgVGVybXMgKFxuICAgICAgICA8TGluayB1cmw9eydodHRwczovL2FudGhyb3BpYy5jb20vbGVnYWwvdGVybXMnfT48L0xpbms+KSBhbmQgUHJpdmFjeVxuICAgICAgICBQb2xpY3kgKDxMaW5rIHVybD17J2h0dHBzOi8vYW50aHJvcGljLmNvbS9sZWdhbC9wcml2YWN5J30+PC9MaW5rPilcbiAgICAgIDwvVGV4dD5cbiAgICA8Lz5cbiAgKVxufVxuXG5mdW5jdGlvbiBQb3N0R3JhY2VQZXJpb2RDb250ZW50Qm9keSgpOiBSZWFjdC5SZWFjdE5vZGUge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8VGV4dD5XZSZhcG9zO3ZlIHVwZGF0ZWQgb3VyIENvbnN1bWVyIFRlcm1zIGFuZCBQcml2YWN5IFBvbGljeS48L1RleHQ+XG5cbiAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIGdhcD17MX0+XG4gICAgICAgIDxUZXh0PldoYXQmYXBvcztzIGNoYW5naW5nPzwvVGV4dD5cblxuICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICA8VGV4dCBib2xkPkhlbHAgaW1wcm92ZSBDbGF1ZGU8L1RleHQ+XG4gICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICBBbGxvdyB0aGUgdXNlIG9mIHlvdXIgY2hhdHMgYW5kIGNvZGluZyBzZXNzaW9ucyB0byB0cmFpbiBhbmQgaW1wcm92ZVxuICAgICAgICAgICAgQW50aHJvcGljIEFJIG1vZGVscy4gWW91IGNhbiBjaGFuZ2UgdGhpcyBhbnl0aW1lIGluIFByaXZhY3kgU2V0dGluZ3NcbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPExpbmsgdXJsPXsnaHR0cHM6Ly9jbGF1ZGUuYWkvc2V0dGluZ3MvZGF0YS1wcml2YWN5LWNvbnRyb2xzJ30+PC9MaW5rPlxuICAgICAgICA8L0JveD5cblxuICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICA8VGV4dCBib2xkPkhvdyB0aGlzIGFmZmVjdHMgZGF0YSByZXRlbnRpb248L1RleHQ+XG4gICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICBUdXJuaW5nIE9OIHRoZSBpbXByb3ZlIENsYXVkZSBzZXR0aW5nIGV4dGVuZHMgZGF0YSByZXRlbnRpb24gZnJvbSAzMFxuICAgICAgICAgICAgZGF5cyB0byA1IHllYXJzLiBUdXJuaW5nIGl0IE9GRiBrZWVwcyB0aGUgZGVmYXVsdCAzMC1kYXkgZGF0YVxuICAgICAgICAgICAgcmV0ZW50aW9uLiBEZWxldGUgZGF0YSBhbnl0aW1lLlxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L0JveD5cblxuICAgICAgPFRleHQ+XG4gICAgICAgIExlYXJuIG1vcmUgKFxuICAgICAgICA8TGlua1xuICAgICAgICAgIHVybD17J2h0dHBzOi8vd3d3LmFudGhyb3BpYy5jb20vbmV3cy91cGRhdGVzLXRvLW91ci1jb25zdW1lci10ZXJtcyd9XG4gICAgICAgID48L0xpbms+XG4gICAgICAgICkgb3IgcmVhZCB0aGUgdXBkYXRlZCBDb25zdW1lciBUZXJtcyAoXG4gICAgICAgIDxMaW5rIHVybD17J2h0dHBzOi8vYW50aHJvcGljLmNvbS9sZWdhbC90ZXJtcyd9PjwvTGluaz4pIGFuZCBQcml2YWN5XG4gICAgICAgIFBvbGljeSAoPExpbmsgdXJsPXsnaHR0cHM6Ly9hbnRocm9waWMuY29tL2xlZ2FsL3ByaXZhY3knfT48L0xpbms+KVxuICAgICAgPC9UZXh0PlxuICAgIDwvPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBHcm92ZURpYWxvZyh7XG4gIHNob3dJZkFscmVhZHlWaWV3ZWQsXG4gIGxvY2F0aW9uLFxuICBvbkRvbmUsXG59OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IFtzaG91bGRTaG93RGlhbG9nLCBzZXRTaG91bGRTaG93RGlhbG9nXSA9IHVzZVN0YXRlPGJvb2xlYW4gfCBudWxsPihudWxsKVxuICBjb25zdCBbZ3JvdmVDb25maWcsIHNldEdyb3ZlQ29uZmlnXSA9IHVzZVN0YXRlPEdyb3ZlQ29uZmlnIHwgbnVsbD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFzeW5jIGZ1bmN0aW9uIGNoZWNrR3JvdmVTZXR0aW5ncygpIHtcbiAgICAgIGNvbnN0IFtzZXR0aW5nc1Jlc3VsdCwgY29uZmlnUmVzdWx0XSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgZ2V0R3JvdmVTZXR0aW5ncygpLFxuICAgICAgICBnZXRHcm92ZU5vdGljZUNvbmZpZygpLFxuICAgICAgXSlcblxuICAgICAgLy8gRXh0cmFjdCBjb25maWcgZGF0YSBpZiBzdWNjZXNzZnVsLCBvdGhlcndpc2UgbnVsbFxuICAgICAgY29uc3QgY29uZmlnID0gY29uZmlnUmVzdWx0LnN1Y2Nlc3MgPyBjb25maWdSZXN1bHQuZGF0YSA6IG51bGxcbiAgICAgIHNldEdyb3ZlQ29uZmlnKGNvbmZpZylcblxuICAgICAgLy8gRGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBzaG93IHRoZSBkaWFsb2cgKHJldHVybnMgZmFsc2Ugb24gQVBJIGZhaWx1cmUpXG4gICAgICBjb25zdCBzaG91bGRTaG93ID0gY2FsY3VsYXRlU2hvdWxkU2hvd0dyb3ZlKFxuICAgICAgICBzZXR0aW5nc1Jlc3VsdCxcbiAgICAgICAgY29uZmlnUmVzdWx0LFxuICAgICAgICBzaG93SWZBbHJlYWR5Vmlld2VkLFxuICAgICAgKVxuXG4gICAgICBzZXRTaG91bGRTaG93RGlhbG9nKHNob3VsZFNob3cpXG4gICAgICAvLyBJZiB3ZSBzaG91bGRuJ3Qgc2hvdyB0aGUgZGlhbG9nLCBpbW1lZGlhdGVseSBjYWxsIG9uRG9uZVxuICAgICAgaWYgKCFzaG91bGRTaG93KSB7XG4gICAgICAgIG9uRG9uZSgnc2tpcF9yZW5kZXJpbmcnKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIC8vIE1hcmsgYXMgdmlld2VkIGV2ZXJ5IHRpbWUgd2Ugc2hvdyB0aGUgZGlhbG9nIChmb3IgcmVtaW5kZXIgZnJlcXVlbmN5IHRyYWNraW5nKVxuICAgICAgdm9pZCBtYXJrR3JvdmVOb3RpY2VWaWV3ZWQoKVxuICAgICAgLy8gTG9nIHRoYXQgdGhlIEdyb3ZlIHBvbGljeSBkaWFsb2cgd2FzIHNob3duXG4gICAgICBsb2dFdmVudCgndGVuZ3VfZ3JvdmVfcG9saWN5X3ZpZXdlZCcsIHtcbiAgICAgICAgbG9jYXRpb246XG4gICAgICAgICAgbG9jYXRpb24gYXMgQW5hbHl0aWNzTWV0YWRhdGFfSV9WRVJJRklFRF9USElTX0lTX05PVF9DT0RFX09SX0ZJTEVQQVRIUyxcbiAgICAgICAgZGlzbWlzc2FibGU6XG4gICAgICAgICAgY29uZmlnPy5ub3RpY2VfaXNfZ3JhY2VfcGVyaW9kIGFzIEFuYWx5dGljc01ldGFkYXRhX0lfVkVSSUZJRURfVEhJU19JU19OT1RfQ09ERV9PUl9GSUxFUEFUSFMsXG4gICAgICB9KVxuICAgIH1cblxuICAgIHZvaWQgY2hlY2tHcm92ZVNldHRpbmdzKClcbiAgfSwgW3Nob3dJZkFscmVhZHlWaWV3ZWQsIGxvY2F0aW9uLCBvbkRvbmVdKVxuXG4gIC8vIExvYWRpbmcgc3RhdGVcbiAgaWYgKHNob3VsZFNob3dEaWFsb2cgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLy8gVXNlciBoYXMgYWxyZWFkeSBzZXQgcHJlZmVyZW5jZXMsIGRvbid0IHNob3cgZGlhbG9nXG4gIGlmICghc2hvdWxkU2hvd0RpYWxvZykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBvbkNoYW5nZShcbiAgICB2YWx1ZTogJ2FjY2VwdF9vcHRfaW4nIHwgJ2FjY2VwdF9vcHRfb3V0JyB8ICdkZWZlcicgfCAnZXNjYXBlJyxcbiAgKSB7XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSAnYWNjZXB0X29wdF9pbic6IHtcbiAgICAgICAgYXdhaXQgdXBkYXRlR3JvdmVTZXR0aW5ncyh0cnVlKVxuICAgICAgICBsb2dFdmVudCgndGVuZ3VfZ3JvdmVfcG9saWN5X3N1Ym1pdHRlZCcsIHtcbiAgICAgICAgICBzdGF0ZTogdHJ1ZSxcbiAgICAgICAgICBkaXNtaXNzYWJsZTpcbiAgICAgICAgICAgIGdyb3ZlQ29uZmlnPy5ub3RpY2VfaXNfZ3JhY2VfcGVyaW9kIGFzIEFuYWx5dGljc01ldGFkYXRhX0lfVkVSSUZJRURfVEhJU19JU19OT1RfQ09ERV9PUl9GSUxFUEFUSFMsXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdhY2NlcHRfb3B0X291dCc6IHtcbiAgICAgICAgYXdhaXQgdXBkYXRlR3JvdmVTZXR0aW5ncyhmYWxzZSlcbiAgICAgICAgbG9nRXZlbnQoJ3Rlbmd1X2dyb3ZlX3BvbGljeV9zdWJtaXR0ZWQnLCB7XG4gICAgICAgICAgc3RhdGU6IGZhbHNlLFxuICAgICAgICAgIGRpc21pc3NhYmxlOlxuICAgICAgICAgICAgZ3JvdmVDb25maWc/Lm5vdGljZV9pc19ncmFjZV9wZXJpb2QgYXMgQW5hbHl0aWNzTWV0YWRhdGFfSV9WRVJJRklFRF9USElTX0lTX05PVF9DT0RFX09SX0ZJTEVQQVRIUyxcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2RlZmVyJzpcbiAgICAgICAgbG9nRXZlbnQoJ3Rlbmd1X2dyb3ZlX3BvbGljeV9kaXNtaXNzZWQnLCB7XG4gICAgICAgICAgc3RhdGU6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdlc2NhcGUnOlxuICAgICAgICBsb2dFdmVudCgndGVuZ3VfZ3JvdmVfcG9saWN5X2VzY2FwZWQnLCB7fSlcbiAgICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBvbkRvbmUodmFsdWUpXG4gIH1cblxuICBjb25zdCBhY2NlcHRPcHRpb25zID0gZ3JvdmVDb25maWc/LmRvbWFpbl9leGNsdWRlZFxuICAgID8gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6XG4gICAgICAgICAgICAnQWNjZXB0IHRlcm1zIMK3IEhlbHAgaW1wcm92ZSBDbGF1ZGU6IE9GRiAoZm9yIGVtYWlscyB3aXRoIHlvdXIgZG9tYWluKScsXG4gICAgICAgICAgdmFsdWU6ICdhY2NlcHRfb3B0X291dCcsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0FjY2VwdCB0ZXJtcyDCtyBIZWxwIGltcHJvdmUgQ2xhdWRlOiBPTicsXG4gICAgICAgICAgdmFsdWU6ICdhY2NlcHRfb3B0X2luJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnQWNjZXB0IHRlcm1zIMK3IEhlbHAgaW1wcm92ZSBDbGF1ZGU6IE9GRicsXG4gICAgICAgICAgdmFsdWU6ICdhY2NlcHRfb3B0X291dCcsXG4gICAgICAgIH0sXG4gICAgICBdXG5cbiAgZnVuY3Rpb24gaGFuZGxlQ2FuY2VsKCk6IHZvaWQge1xuICAgIGlmIChncm92ZUNvbmZpZz8ubm90aWNlX2lzX2dyYWNlX3BlcmlvZCkge1xuICAgICAgdm9pZCBvbkNoYW5nZSgnZGVmZXInKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHZvaWQgb25DaGFuZ2UoJ2VzY2FwZScpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxEaWFsb2dcbiAgICAgIHRpdGxlPVwiVXBkYXRlcyB0byBDb25zdW1lciBUZXJtcyBhbmQgUG9saWNpZXNcIlxuICAgICAgY29sb3I9XCJwcm9mZXNzaW9uYWxCbHVlXCJcbiAgICAgIG9uQ2FuY2VsPXtoYW5kbGVDYW5jZWx9XG4gICAgICBpbnB1dEd1aWRlPXtleGl0U3RhdGUgPT5cbiAgICAgICAgZXhpdFN0YXRlLnBlbmRpbmcgPyAoXG4gICAgICAgICAgPFRleHQ+UHJlc3Mge2V4aXRTdGF0ZS5rZXlOYW1lfSBhZ2FpbiB0byBleGl0PC9UZXh0PlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxCeWxpbmU+XG4gICAgICAgICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJFbnRlclwiIGFjdGlvbj1cImNvbmZpcm1cIiAvPlxuICAgICAgICAgICAgPEtleWJvYXJkU2hvcnRjdXRIaW50IHNob3J0Y3V0PVwiRXNjXCIgYWN0aW9uPVwiY2FuY2VsXCIgLz5cbiAgICAgICAgICA8L0J5bGluZT5cbiAgICAgICAgKVxuICAgICAgfVxuICAgID5cbiAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBnYXA9ezF9IGZsZXhHcm93PXsxfT5cbiAgICAgICAgICB7Z3JvdmVDb25maWc/Lm5vdGljZV9pc19ncmFjZV9wZXJpb2QgPyAoXG4gICAgICAgICAgICA8R3JhY2VQZXJpb2RDb250ZW50Qm9keSAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8UG9zdEdyYWNlUGVyaW9kQ29udGVudEJvZHkgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0JveD5cbiAgICAgICAgPEJveCBmbGV4U2hyaW5rPXswfT5cbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInByb2Zlc3Npb25hbEJsdWVcIj57TkVXX1RFUk1TX0FTQ0lJfTwvVGV4dD5cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L0JveD5cblxuICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgZ2FwPXsxfT5cbiAgICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCI+XG4gICAgICAgICAgPFRleHQgYm9sZD5QbGVhc2Ugc2VsZWN0IGhvdyB5b3UmYXBvcztkIGxpa2UgdG8gY29udGludWU8L1RleHQ+XG4gICAgICAgICAgPFRleHQ+WW91ciBjaG9pY2UgdGFrZXMgZWZmZWN0IGltbWVkaWF0ZWx5IHVwb24gY29uZmlybWF0aW9uLjwvVGV4dD5cbiAgICAgICAgPC9Cb3g+XG5cbiAgICAgICAgPFNlbGVjdFxuICAgICAgICAgIG9wdGlvbnM9e1tcbiAgICAgICAgICAgIC4uLmFjY2VwdE9wdGlvbnMsXG4gICAgICAgICAgICAvLyBPbmx5IHNob3cgXCJOb3Qgbm93XCIgaWYgaW4gZ3JhY2UgcGVyaW9kXG4gICAgICAgICAgICAuLi4oZ3JvdmVDb25maWc/Lm5vdGljZV9pc19ncmFjZV9wZXJpb2RcbiAgICAgICAgICAgICAgPyBbeyBsYWJlbDogJ05vdCBub3cnLCB2YWx1ZTogJ2RlZmVyJyB9XVxuICAgICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIG9uQ2hhbmdlPXt2YWx1ZSA9PlxuICAgICAgICAgICAgb25DaGFuZ2UodmFsdWUgYXMgJ2FjY2VwdF9vcHRfaW4nIHwgJ2FjY2VwdF9vcHRfb3V0JyB8ICdkZWZlcicpXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2FuY2VsPXtoYW5kbGVDYW5jZWx9XG4gICAgICAgIC8+XG4gICAgICA8L0JveD5cbiAgICA8L0RpYWxvZz5cbiAgKVxufVxuXG50eXBlIFByaXZhY3lTZXR0aW5nc0RpYWxvZ1Byb3BzID0ge1xuICBzZXR0aW5nczogQWNjb3VudFNldHRpbmdzXG4gIGRvbWFpbkV4Y2x1ZGVkPzogYm9vbGVhblxuICBvbkRvbmUoKTogdm9pZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJpdmFjeVNldHRpbmdzRGlhbG9nKHtcbiAgc2V0dGluZ3MsXG4gIGRvbWFpbkV4Y2x1ZGVkLFxuICBvbkRvbmUsXG59OiBQcml2YWN5U2V0dGluZ3NEaWFsb2dQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IFtncm92ZUVuYWJsZWQsIHNldEdyb3ZlRW5hYmxlZF0gPSB1c2VTdGF0ZShzZXR0aW5ncy5ncm92ZV9lbmFibGVkKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbG9nRXZlbnQoJ3Rlbmd1X2dyb3ZlX3ByaXZhY3lfc2V0dGluZ3Nfdmlld2VkJywge30pXG4gIH0sIFtdKVxuXG4gIHVzZUlucHV0KGFzeW5jIChpbnB1dCwga2V5KSA9PiB7XG4gICAgLy8gVG9nZ2xlIHRoZSBzZXR0aW5nIHdoZW4gZW50ZXIvdGFiL3NwYWNlIGlzIHByZXNzZWRcbiAgICBpZiAoIWRvbWFpbkV4Y2x1ZGVkICYmIChrZXkudGFiIHx8IGtleS5yZXR1cm4gfHwgaW5wdXQgPT09ICcgJykpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gIWdyb3ZlRW5hYmxlZFxuICAgICAgc2V0R3JvdmVFbmFibGVkKG5ld1ZhbHVlKVxuICAgICAgYXdhaXQgdXBkYXRlR3JvdmVTZXR0aW5ncyhuZXdWYWx1ZSlcbiAgICB9XG4gIH0pXG5cbiAgbGV0IHZhbHVlQ29tcG9uZW50ID0gPFRleHQgY29sb3I9XCJlcnJvclwiPmZhbHNlPC9UZXh0PlxuICBpZiAoZG9tYWluRXhjbHVkZWQpIHtcbiAgICB2YWx1ZUNvbXBvbmVudCA9IChcbiAgICAgIDxUZXh0IGNvbG9yPVwiZXJyb3JcIj5mYWxzZSAoZm9yIGVtYWlscyB3aXRoIHlvdXIgZG9tYWluKTwvVGV4dD5cbiAgICApXG4gIH0gZWxzZSBpZiAoZ3JvdmVFbmFibGVkKSB7XG4gICAgdmFsdWVDb21wb25lbnQgPSA8VGV4dCBjb2xvcj1cInN1Y2Nlc3NcIj50cnVlPC9UZXh0PlxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8RGlhbG9nXG4gICAgICB0aXRsZT1cIkRhdGEgUHJpdmFjeVwiXG4gICAgICBjb2xvcj1cInByb2Zlc3Npb25hbEJsdWVcIlxuICAgICAgb25DYW5jZWw9e29uRG9uZX1cbiAgICAgIGlucHV0R3VpZGU9e2V4aXRTdGF0ZSA9PlxuICAgICAgICBleGl0U3RhdGUucGVuZGluZyA/IChcbiAgICAgICAgICA8VGV4dD5QcmVzcyB7ZXhpdFN0YXRlLmtleU5hbWV9IGFnYWluIHRvIGV4aXQ8L1RleHQ+XG4gICAgICAgICkgOiBkb21haW5FeGNsdWRlZCA/IChcbiAgICAgICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJFc2NcIiBhY3Rpb249XCJjYW5jZWxcIiAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxCeWxpbmU+XG4gICAgICAgICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJFbnRlci9UYWIvU3BhY2VcIiBhY3Rpb249XCJ0b2dnbGVcIiAvPlxuICAgICAgICAgICAgPEtleWJvYXJkU2hvcnRjdXRIaW50IHNob3J0Y3V0PVwiRXNjXCIgYWN0aW9uPVwiY2FuY2VsXCIgLz5cbiAgICAgICAgICA8L0J5bGluZT5cbiAgICAgICAgKVxuICAgICAgfVxuICAgID5cbiAgICAgIDxUZXh0PlxuICAgICAgICBSZXZpZXcgYW5kIG1hbmFnZSB5b3VyIHByaXZhY3kgc2V0dGluZ3MgYXR7JyAnfVxuICAgICAgICA8TGluayB1cmw9eydodHRwczovL2NsYXVkZS5haS9zZXR0aW5ncy9kYXRhLXByaXZhY3ktY29udHJvbHMnfT48L0xpbms+XG4gICAgICA8L1RleHQ+XG5cbiAgICAgIDxCb3g+XG4gICAgICAgIDxCb3ggd2lkdGg9ezQ0fT5cbiAgICAgICAgICA8VGV4dCBib2xkPkhlbHAgaW1wcm92ZSBDbGF1ZGU8L1RleHQ+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8Qm94Pnt2YWx1ZUNvbXBvbmVudH08L0JveD5cbiAgICAgIDwvQm94PlxuICAgIDwvRGlhbG9nPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFNBQVMs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
|
|
464
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUVmZmVjdCIsInVzZVN0YXRlIiwiQW5hbHl0aWNzTWV0YWRhdGFfSV9WRVJJRklFRF9USElTX0lTX05PVF9DT0RFX09SX0ZJTEVQQVRIUyIsImxvZ0V2ZW50IiwiQm94IiwiTGluayIsIlRleHQiLCJ1c2VJbnB1dCIsIkFjY291bnRTZXR0aW5ncyIsImNhbGN1bGF0ZVNob3VsZFNob3dHcm92ZSIsIkdyb3ZlQ29uZmlnIiwiZ2V0R3JvdmVOb3RpY2VDb25maWciLCJnZXRHcm92ZVNldHRpbmdzIiwibWFya0dyb3ZlTm90aWNlVmlld2VkIiwidXBkYXRlR3JvdmVTZXR0aW5ncyIsIlNlbGVjdCIsIkJ5bGluZSIsIkRpYWxvZyIsIktleWJvYXJkU2hvcnRjdXRIaW50IiwiR3JvdmVEZWNpc2lvbiIsIlByb3BzIiwic2hvd0lmQWxyZWFkeVZpZXdlZCIsImxvY2F0aW9uIiwib25Eb25lIiwiZGVjaXNpb24iLCJORVdfVEVSTVNfQVNDSUkiLCJHcmFjZVBlcmlvZENvbnRlbnRCb2R5IiwiJCIsIl9jIiwidDAiLCJTeW1ib2wiLCJmb3IiLCJ0MSIsInQyIiwidDMiLCJ0NCIsInQ1IiwidDYiLCJ0NyIsInQ4IiwiUG9zdEdyYWNlUGVyaW9kQ29udGVudEJvZHkiLCJHcm92ZURpYWxvZyIsInNob3VsZFNob3dEaWFsb2ciLCJzZXRTaG91bGRTaG93RGlhbG9nIiwiZ3JvdmVDb25maWciLCJzZXRHcm92ZUNvbmZpZyIsImNoZWNrR3JvdmVTZXR0aW5ncyIsInNldHRpbmdzUmVzdWx0IiwiY29uZmlnUmVzdWx0IiwiUHJvbWlzZSIsImFsbCIsImNvbmZpZyIsInN1Y2Nlc3MiLCJkYXRhIiwic2hvdWxkU2hvdyIsImRpc21pc3NhYmxlIiwibm90aWNlX2lzX2dyYWNlX3BlcmlvZCIsIm9uQ2hhbmdlIiwidmFsdWUiLCJiYjIxIiwic3RhdGUiLCJkb21haW5fZXhjbHVkZWQiLCJsYWJlbCIsImFjY2VwdE9wdGlvbnMiLCJoYW5kbGVDYW5jZWwiLCJ0OSIsInQxMCIsInQxMSIsInQxMiIsInZhbHVlXzAiLCJ0MTMiLCJ0MTQiLCJfdGVtcCIsImV4aXRTdGF0ZSIsInBlbmRpbmciLCJrZXlOYW1lIiwiUHJpdmFjeVNldHRpbmdzRGlhbG9nUHJvcHMiLCJzZXR0aW5ncyIsImRvbWFpbkV4Y2x1ZGVkIiwiUHJpdmFjeVNldHRpbmdzRGlhbG9nIiwiZ3JvdmVFbmFibGVkIiwic2V0R3JvdmVFbmFibGVkIiwiZ3JvdmVfZW5hYmxlZCIsIl90ZW1wMiIsImlucHV0Iiwia2V5IiwidGFiIiwicmV0dXJuIiwibmV3VmFsdWUiLCJ2YWx1ZUNvbXBvbmVudCJdLCJzb3VyY2VzIjpbIkdyb3ZlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHtcbiAgdHlwZSBBbmFseXRpY3NNZXRhZGF0YV9JX1ZFUklGSUVEX1RISVNfSVNfTk9UX0NPREVfT1JfRklMRVBBVEhTLFxuICBsb2dFdmVudCxcbn0gZnJvbSAnc3JjL3NlcnZpY2VzL2FuYWx5dGljcy9pbmRleC5qcydcbmltcG9ydCB7IEJveCwgTGluaywgVGV4dCwgdXNlSW5wdXQgfSBmcm9tICcuLi8uLi9pbmsuanMnXG5pbXBvcnQge1xuICB0eXBlIEFjY291bnRTZXR0aW5ncyxcbiAgY2FsY3VsYXRlU2hvdWxkU2hvd0dyb3ZlLFxuICB0eXBlIEdyb3ZlQ29uZmlnLFxuICBnZXRHcm92ZU5vdGljZUNvbmZpZyxcbiAgZ2V0R3JvdmVTZXR0aW5ncyxcbiAgbWFya0dyb3ZlTm90aWNlVmlld2VkLFxuICB1cGRhdGVHcm92ZVNldHRpbmdzLFxufSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hcGkvZ3JvdmUuanMnXG5pbXBvcnQgeyBTZWxlY3QgfSBmcm9tICcuLi9DdXN0b21TZWxlY3QvaW5kZXguanMnXG5pbXBvcnQgeyBCeWxpbmUgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL0J5bGluZS5qcydcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJy4uL2Rlc2lnbi1zeXN0ZW0vRGlhbG9nLmpzJ1xuaW1wb3J0IHsgS2V5Ym9hcmRTaG9ydGN1dEhpbnQgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL0tleWJvYXJkU2hvcnRjdXRIaW50LmpzJ1xuXG5leHBvcnQgdHlwZSBHcm92ZURlY2lzaW9uID1cbiAgfCAnYWNjZXB0X29wdF9pbidcbiAgfCAnYWNjZXB0X29wdF9vdXQnXG4gIHwgJ2RlZmVyJ1xuICB8ICdlc2NhcGUnXG4gIHwgJ3NraXBfcmVuZGVyaW5nJ1xuXG50eXBlIFByb3BzID0ge1xuICBzaG93SWZBbHJlYWR5Vmlld2VkOiBib29sZWFuXG4gIGxvY2F0aW9uOiAnc2V0dGluZ3MnIHwgJ3BvbGljeV91cGRhdGVfbW9kYWwnIHwgJ29uYm9hcmRpbmcnXG4gIG9uRG9uZShkZWNpc2lvbjogR3JvdmVEZWNpc2lvbik6IHZvaWRcbn1cblxuY29uc3QgTkVXX1RFUk1TX0FTQ0lJID0gYCBfX19fX19fX19fX19fXG4gfCAgICAgICAgICBcXFxcICBcXFxcXG4gfCBORVcgVEVSTVMgXFxcXF9fXFxcXFxuIHwgICAgICAgICAgICAgIHxcbiB8ICAtLS0tLS0tLS0tICB8XG4gfCAgLS0tLS0tLS0tLSAgfFxuIHwgIC0tLS0tLS0tLS0gIHxcbiB8ICAtLS0tLS0tLS0tICB8XG4gfCAgLS0tLS0tLS0tLSAgfFxuIHwgICAgICAgICAgICAgIHxcbiB8X19fX19fX19fX19fX198YFxuXG5mdW5jdGlvbiBHcmFjZVBlcmlvZENvbnRlbnRCb2R5KCk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxUZXh0PlxuICAgICAgICBBbiB1cGRhdGUgdG8gb3VyIENvbnN1bWVyIFRlcm1zIGFuZCBQcml2YWN5IFBvbGljeSB3aWxsIHRha2UgZWZmZWN0IG9ueycgJ31cbiAgICAgICAgPFRleHQgYm9sZD5PY3RvYmVyIDgsIDIwMjU8L1RleHQ+LiBZb3UgY2FuIGFjY2VwdCB0aGUgdXBkYXRlZCB0ZXJtc1xuICAgICAgICB0b2RheS5cbiAgICAgIDwvVGV4dD5cblxuICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCI+XG4gICAgICAgIDxUZXh0PldoYXQmYXBvcztzIGNoYW5naW5nPzwvVGV4dD5cblxuICAgICAgICA8Qm94IHBhZGRpbmdMZWZ0PXsxfT5cbiAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgIDxUZXh0PsK3IDwvVGV4dD5cbiAgICAgICAgICAgIDxUZXh0IGJvbGQ+WW91IGNhbiBoZWxwIGltcHJvdmUgQ2xhdWRlIDwvVGV4dD5cbiAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICDigJQgQWxsb3cgdGhlIHVzZSBvZiB5b3VyIGNoYXRzIGFuZCBjb2Rpbmcgc2Vzc2lvbnMgdG8gdHJhaW4gYW5kXG4gICAgICAgICAgICAgIGltcHJvdmUgQW50aHJvcGljIEFJIG1vZGVscy4gQ2hhbmdlIGFueXRpbWUgaW4geW91ciBQcml2YWN5XG4gICAgICAgICAgICAgIFNldHRpbmdzIChcbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICB1cmw9eydodHRwczovL2NsYXVkZS5haS9zZXR0aW5ncy9kYXRhLXByaXZhY3ktY29udHJvbHMnfVxuICAgICAgICAgICAgICA+PC9MaW5rPlxuICAgICAgICAgICAgICApLlxuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9Cb3g+XG4gICAgICAgIDxCb3ggcGFkZGluZ0xlZnQ9ezF9PlxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgPFRleHQ+wrcgPC9UZXh0PlxuICAgICAgICAgICAgPFRleHQgYm9sZD5VcGRhdGVzIHRvIGRhdGEgcmV0ZW50aW9uIDwvVGV4dD5cbiAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICDigJQgVG8gaGVscCB1cyBpbXByb3ZlIG91ciBBSSBtb2RlbHMgYW5kIHNhZmV0eSBwcm90ZWN0aW9ucyxcbiAgICAgICAgICAgICAgd2UmYXBvcztyZSBleHRlbmRpbmcgZGF0YSByZXRlbnRpb24gdG8gNSB5ZWFycy5cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIDwvQm94PlxuICAgICAgPC9Cb3g+XG5cbiAgICAgIDxUZXh0PlxuICAgICAgICBMZWFybiBtb3JlIChcbiAgICAgICAgPExpbmtcbiAgICAgICAgICB1cmw9eydodHRwczovL3d3dy5hbnRocm9waWMuY29tL25ld3MvdXBkYXRlcy10by1vdXItY29uc3VtZXItdGVybXMnfVxuICAgICAgICA+PC9MaW5rPlxuICAgICAgICApIG9yIHJlYWQgdGhlIHVwZGF0ZWQgQ29uc3VtZXIgVGVybXMgKFxuICAgICAgICA8TGluayB1cmw9eydodHRwczovL2FudGhyb3BpYy5jb20vbGVnYWwvdGVybXMnfT48L0xpbms+KSBhbmQgUHJpdmFjeVxuICAgICAgICBQb2xpY3kgKDxMaW5rIHVybD17J2h0dHBzOi8vYW50aHJvcGljLmNvbS9sZWdhbC9wcml2YWN5J30+PC9MaW5rPilcbiAgICAgIDwvVGV4dD5cbiAgICA8Lz5cbiAgKVxufVxuXG5mdW5jdGlvbiBQb3N0R3JhY2VQZXJpb2RDb250ZW50Qm9keSgpOiBSZWFjdC5SZWFjdE5vZGUge1xuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICA8VGV4dD5XZSZhcG9zO3ZlIHVwZGF0ZWQgb3VyIENvbnN1bWVyIFRlcm1zIGFuZCBQcml2YWN5IFBvbGljeS48L1RleHQ+XG5cbiAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIGdhcD17MX0+XG4gICAgICAgIDxUZXh0PldoYXQmYXBvcztzIGNoYW5naW5nPzwvVGV4dD5cblxuICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICA8VGV4dCBib2xkPkhlbHAgaW1wcm92ZSBDbGF1ZGU8L1RleHQ+XG4gICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICBBbGxvdyB0aGUgdXNlIG9mIHlvdXIgY2hhdHMgYW5kIGNvZGluZyBzZXNzaW9ucyB0byB0cmFpbiBhbmQgaW1wcm92ZVxuICAgICAgICAgICAgQW50aHJvcGljIEFJIG1vZGVscy4gWW91IGNhbiBjaGFuZ2UgdGhpcyBhbnl0aW1lIGluIFByaXZhY3kgU2V0dGluZ3NcbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPExpbmsgdXJsPXsnaHR0cHM6Ly9jbGF1ZGUuYWkvc2V0dGluZ3MvZGF0YS1wcml2YWN5LWNvbnRyb2xzJ30+PC9MaW5rPlxuICAgICAgICA8L0JveD5cblxuICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICA8VGV4dCBib2xkPkhvdyB0aGlzIGFmZmVjdHMgZGF0YSByZXRlbnRpb248L1RleHQ+XG4gICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICBUdXJuaW5nIE9OIHRoZSBpbXByb3ZlIENsYXVkZSBzZXR0aW5nIGV4dGVuZHMgZGF0YSByZXRlbnRpb24gZnJvbSAzMFxuICAgICAgICAgICAgZGF5cyB0byA1IHllYXJzLiBUdXJuaW5nIGl0IE9GRiBrZWVwcyB0aGUgZGVmYXVsdCAzMC1kYXkgZGF0YVxuICAgICAgICAgICAgcmV0ZW50aW9uLiBEZWxldGUgZGF0YSBhbnl0aW1lLlxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L0JveD5cblxuICAgICAgPFRleHQ+XG4gICAgICAgIExlYXJuIG1vcmUgKFxuICAgICAgICA8TGlua1xuICAgICAgICAgIHVybD17J2h0dHBzOi8vd3d3LmFudGhyb3BpYy5jb20vbmV3cy91cGRhdGVzLXRvLW91ci1jb25zdW1lci10ZXJtcyd9XG4gICAgICAgID48L0xpbms+XG4gICAgICAgICkgb3IgcmVhZCB0aGUgdXBkYXRlZCBDb25zdW1lciBUZXJtcyAoXG4gICAgICAgIDxMaW5rIHVybD17J2h0dHBzOi8vYW50aHJvcGljLmNvbS9sZWdhbC90ZXJtcyd9PjwvTGluaz4pIGFuZCBQcml2YWN5XG4gICAgICAgIFBvbGljeSAoPExpbmsgdXJsPXsnaHR0cHM6Ly9hbnRocm9waWMuY29tL2xlZ2FsL3ByaXZhY3knfT48L0xpbms+KVxuICAgICAgPC9UZXh0PlxuICAgIDwvPlxuICApXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBHcm92ZURpYWxvZyh7XG4gIHNob3dJZkFscmVhZHlWaWV3ZWQsXG4gIGxvY2F0aW9uLFxuICBvbkRvbmUsXG59OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IFtzaG91bGRTaG93RGlhbG9nLCBzZXRTaG91bGRTaG93RGlhbG9nXSA9IHVzZVN0YXRlPGJvb2xlYW4gfCBudWxsPihudWxsKVxuICBjb25zdCBbZ3JvdmVDb25maWcsIHNldEdyb3ZlQ29uZmlnXSA9IHVzZVN0YXRlPEdyb3ZlQ29uZmlnIHwgbnVsbD4obnVsbClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGFzeW5jIGZ1bmN0aW9uIGNoZWNrR3JvdmVTZXR0aW5ncygpIHtcbiAgICAgIGNvbnN0IFtzZXR0aW5nc1Jlc3VsdCwgY29uZmlnUmVzdWx0XSA9IGF3YWl0IFByb21pc2UuYWxsKFtcbiAgICAgICAgZ2V0R3JvdmVTZXR0aW5ncygpLFxuICAgICAgICBnZXRHcm92ZU5vdGljZUNvbmZpZygpLFxuICAgICAgXSlcblxuICAgICAgLy8gRXh0cmFjdCBjb25maWcgZGF0YSBpZiBzdWNjZXNzZnVsLCBvdGhlcndpc2UgbnVsbFxuICAgICAgY29uc3QgY29uZmlnID0gY29uZmlnUmVzdWx0LnN1Y2Nlc3MgPyBjb25maWdSZXN1bHQuZGF0YSA6IG51bGxcbiAgICAgIHNldEdyb3ZlQ29uZmlnKGNvbmZpZylcblxuICAgICAgLy8gRGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBzaG93IHRoZSBkaWFsb2cgKHJldHVybnMgZmFsc2Ugb24gQVBJIGZhaWx1cmUpXG4gICAgICBjb25zdCBzaG91bGRTaG93ID0gY2FsY3VsYXRlU2hvdWxkU2hvd0dyb3ZlKFxuICAgICAgICBzZXR0aW5nc1Jlc3VsdCxcbiAgICAgICAgY29uZmlnUmVzdWx0LFxuICAgICAgICBzaG93SWZBbHJlYWR5Vmlld2VkLFxuICAgICAgKVxuXG4gICAgICBzZXRTaG91bGRTaG93RGlhbG9nKHNob3VsZFNob3cpXG4gICAgICAvLyBJZiB3ZSBzaG91bGRuJ3Qgc2hvdyB0aGUgZGlhbG9nLCBpbW1lZGlhdGVseSBjYWxsIG9uRG9uZVxuICAgICAgaWYgKCFzaG91bGRTaG93KSB7XG4gICAgICAgIG9uRG9uZSgnc2tpcF9yZW5kZXJpbmcnKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cbiAgICAgIC8vIE1hcmsgYXMgdmlld2VkIGV2ZXJ5IHRpbWUgd2Ugc2hvdyB0aGUgZGlhbG9nIChmb3IgcmVtaW5kZXIgZnJlcXVlbmN5IHRyYWNraW5nKVxuICAgICAgdm9pZCBtYXJrR3JvdmVOb3RpY2VWaWV3ZWQoKVxuICAgICAgLy8gTG9nIHRoYXQgdGhlIEdyb3ZlIHBvbGljeSBkaWFsb2cgd2FzIHNob3duXG4gICAgICBsb2dFdmVudCgndGVuZ3VfZ3JvdmVfcG9saWN5X3ZpZXdlZCcsIHtcbiAgICAgICAgbG9jYXRpb246XG4gICAgICAgICAgbG9jYXRpb24gYXMgQW5hbHl0aWNzTWV0YWRhdGFfSV9WRVJJRklFRF9USElTX0lTX05PVF9DT0RFX09SX0ZJTEVQQVRIUyxcbiAgICAgICAgZGlzbWlzc2FibGU6XG4gICAgICAgICAgY29uZmlnPy5ub3RpY2VfaXNfZ3JhY2VfcGVyaW9kIGFzIEFuYWx5dGljc01ldGFkYXRhX0lfVkVSSUZJRURfVEhJU19JU19OT1RfQ09ERV9PUl9GSUxFUEFUSFMsXG4gICAgICB9KVxuICAgIH1cblxuICAgIHZvaWQgY2hlY2tHcm92ZVNldHRpbmdzKClcbiAgfSwgW3Nob3dJZkFscmVhZHlWaWV3ZWQsIGxvY2F0aW9uLCBvbkRvbmVdKVxuXG4gIC8vIExvYWRpbmcgc3RhdGVcbiAgaWYgKHNob3VsZFNob3dEaWFsb2cgPT09IG51bGwpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgLy8gVXNlciBoYXMgYWxyZWFkeSBzZXQgcHJlZmVyZW5jZXMsIGRvbid0IHNob3cgZGlhbG9nXG4gIGlmICghc2hvdWxkU2hvd0RpYWxvZykge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBvbkNoYW5nZShcbiAgICB2YWx1ZTogJ2FjY2VwdF9vcHRfaW4nIHwgJ2FjY2VwdF9vcHRfb3V0JyB8ICdkZWZlcicgfCAnZXNjYXBlJyxcbiAgKSB7XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSAnYWNjZXB0X29wdF9pbic6IHtcbiAgICAgICAgYXdhaXQgdXBkYXRlR3JvdmVTZXR0aW5ncyh0cnVlKVxuICAgICAgICBsb2dFdmVudCgndGVuZ3VfZ3JvdmVfcG9saWN5X3N1Ym1pdHRlZCcsIHtcbiAgICAgICAgICBzdGF0ZTogdHJ1ZSxcbiAgICAgICAgICBkaXNtaXNzYWJsZTpcbiAgICAgICAgICAgIGdyb3ZlQ29uZmlnPy5ub3RpY2VfaXNfZ3JhY2VfcGVyaW9kIGFzIEFuYWx5dGljc01ldGFkYXRhX0lfVkVSSUZJRURfVEhJU19JU19OT1RfQ09ERV9PUl9GSUxFUEFUSFMsXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdhY2NlcHRfb3B0X291dCc6IHtcbiAgICAgICAgYXdhaXQgdXBkYXRlR3JvdmVTZXR0aW5ncyhmYWxzZSlcbiAgICAgICAgbG9nRXZlbnQoJ3Rlbmd1X2dyb3ZlX3BvbGljeV9zdWJtaXR0ZWQnLCB7XG4gICAgICAgICAgc3RhdGU6IGZhbHNlLFxuICAgICAgICAgIGRpc21pc3NhYmxlOlxuICAgICAgICAgICAgZ3JvdmVDb25maWc/Lm5vdGljZV9pc19ncmFjZV9wZXJpb2QgYXMgQW5hbHl0aWNzTWV0YWRhdGFfSV9WRVJJRklFRF9USElTX0lTX05PVF9DT0RFX09SX0ZJTEVQQVRIUyxcbiAgICAgICAgfSlcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2RlZmVyJzpcbiAgICAgICAgbG9nRXZlbnQoJ3Rlbmd1X2dyb3ZlX3BvbGljeV9kaXNtaXNzZWQnLCB7XG4gICAgICAgICAgc3RhdGU6IHRydWUsXG4gICAgICAgIH0pXG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdlc2NhcGUnOlxuICAgICAgICBsb2dFdmVudCgndGVuZ3VfZ3JvdmVfcG9saWN5X2VzY2FwZWQnLCB7fSlcbiAgICAgICAgYnJlYWtcbiAgICB9XG5cbiAgICBvbkRvbmUodmFsdWUpXG4gIH1cblxuICBjb25zdCBhY2NlcHRPcHRpb25zID0gZ3JvdmVDb25maWc/LmRvbWFpbl9leGNsdWRlZFxuICAgID8gW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6XG4gICAgICAgICAgICAnQWNjZXB0IHRlcm1zIMK3IEhlbHAgaW1wcm92ZSBDbGF1ZGU6IE9GRiAoZm9yIGVtYWlscyB3aXRoIHlvdXIgZG9tYWluKScsXG4gICAgICAgICAgdmFsdWU6ICdhY2NlcHRfb3B0X291dCcsXG4gICAgICAgIH0sXG4gICAgICBdXG4gICAgOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0FjY2VwdCB0ZXJtcyDCtyBIZWxwIGltcHJvdmUgQ2xhdWRlOiBPTicsXG4gICAgICAgICAgdmFsdWU6ICdhY2NlcHRfb3B0X2luJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnQWNjZXB0IHRlcm1zIMK3IEhlbHAgaW1wcm92ZSBDbGF1ZGU6IE9GRicsXG4gICAgICAgICAgdmFsdWU6ICdhY2NlcHRfb3B0X291dCcsXG4gICAgICAgIH0sXG4gICAgICBdXG5cbiAgZnVuY3Rpb24gaGFuZGxlQ2FuY2VsKCk6IHZvaWQge1xuICAgIGlmIChncm92ZUNvbmZpZz8ubm90aWNlX2lzX2dyYWNlX3BlcmlvZCkge1xuICAgICAgdm9pZCBvbkNoYW5nZSgnZGVmZXInKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHZvaWQgb25DaGFuZ2UoJ2VzY2FwZScpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxEaWFsb2dcbiAgICAgIHRpdGxlPVwiVXBkYXRlcyB0byBDb25zdW1lciBUZXJtcyBhbmQgUG9saWNpZXNcIlxuICAgICAgY29sb3I9XCJwcm9mZXNzaW9uYWxCbHVlXCJcbiAgICAgIG9uQ2FuY2VsPXtoYW5kbGVDYW5jZWx9XG4gICAgICBpbnB1dEd1aWRlPXtleGl0U3RhdGUgPT5cbiAgICAgICAgZXhpdFN0YXRlLnBlbmRpbmcgPyAoXG4gICAgICAgICAgPFRleHQ+UHJlc3Mge2V4aXRTdGF0ZS5rZXlOYW1lfSBhZ2FpbiB0byBleGl0PC9UZXh0PlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxCeWxpbmU+XG4gICAgICAgICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJFbnRlclwiIGFjdGlvbj1cImNvbmZpcm1cIiAvPlxuICAgICAgICAgICAgPEtleWJvYXJkU2hvcnRjdXRIaW50IHNob3J0Y3V0PVwiRXNjXCIgYWN0aW9uPVwiY2FuY2VsXCIgLz5cbiAgICAgICAgICA8L0J5bGluZT5cbiAgICAgICAgKVxuICAgICAgfVxuICAgID5cbiAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cInJvd1wiPlxuICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBnYXA9ezF9IGZsZXhHcm93PXsxfT5cbiAgICAgICAgICB7Z3JvdmVDb25maWc/Lm5vdGljZV9pc19ncmFjZV9wZXJpb2QgPyAoXG4gICAgICAgICAgICA8R3JhY2VQZXJpb2RDb250ZW50Qm9keSAvPlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICA8UG9zdEdyYWNlUGVyaW9kQ29udGVudEJvZHkgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L0JveD5cbiAgICAgICAgPEJveCBmbGV4U2hyaW5rPXswfT5cbiAgICAgICAgICA8VGV4dCBjb2xvcj1cInByb2Zlc3Npb25hbEJsdWVcIj57TkVXX1RFUk1TX0FTQ0lJfTwvVGV4dD5cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L0JveD5cblxuICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgZ2FwPXsxfT5cbiAgICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCI+XG4gICAgICAgICAgPFRleHQgYm9sZD5QbGVhc2Ugc2VsZWN0IGhvdyB5b3UmYXBvcztkIGxpa2UgdG8gY29udGludWU8L1RleHQ+XG4gICAgICAgICAgPFRleHQ+WW91ciBjaG9pY2UgdGFrZXMgZWZmZWN0IGltbWVkaWF0ZWx5IHVwb24gY29uZmlybWF0aW9uLjwvVGV4dD5cbiAgICAgICAgPC9Cb3g+XG5cbiAgICAgICAgPFNlbGVjdFxuICAgICAgICAgIG9wdGlvbnM9e1tcbiAgICAgICAgICAgIC4uLmFjY2VwdE9wdGlvbnMsXG4gICAgICAgICAgICAvLyBPbmx5IHNob3cgXCJOb3Qgbm93XCIgaWYgaW4gZ3JhY2UgcGVyaW9kXG4gICAgICAgICAgICAuLi4oZ3JvdmVDb25maWc/Lm5vdGljZV9pc19ncmFjZV9wZXJpb2RcbiAgICAgICAgICAgICAgPyBbeyBsYWJlbDogJ05vdCBub3cnLCB2YWx1ZTogJ2RlZmVyJyB9XVxuICAgICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICBdfVxuICAgICAgICAgIG9uQ2hhbmdlPXt2YWx1ZSA9PlxuICAgICAgICAgICAgb25DaGFuZ2UodmFsdWUgYXMgJ2FjY2VwdF9vcHRfaW4nIHwgJ2FjY2VwdF9vcHRfb3V0JyB8ICdkZWZlcicpXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2FuY2VsPXtoYW5kbGVDYW5jZWx9XG4gICAgICAgIC8+XG4gICAgICA8L0JveD5cbiAgICA8L0RpYWxvZz5cbiAgKVxufVxuXG50eXBlIFByaXZhY3lTZXR0aW5nc0RpYWxvZ1Byb3BzID0ge1xuICBzZXR0aW5nczogQWNjb3VudFNldHRpbmdzXG4gIGRvbWFpbkV4Y2x1ZGVkPzogYm9vbGVhblxuICBvbkRvbmUoKTogdm9pZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gUHJpdmFjeVNldHRpbmdzRGlhbG9nKHtcbiAgc2V0dGluZ3MsXG4gIGRvbWFpbkV4Y2x1ZGVkLFxuICBvbkRvbmUsXG59OiBQcml2YWN5U2V0dGluZ3NEaWFsb2dQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IFtncm92ZUVuYWJsZWQsIHNldEdyb3ZlRW5hYmxlZF0gPSB1c2VTdGF0ZShzZXR0aW5ncy5ncm92ZV9lbmFibGVkKVxuXG4gIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgbG9nRXZlbnQoJ3Rlbmd1X2dyb3ZlX3ByaXZhY3lfc2V0dGluZ3Nfdmlld2VkJywge30pXG4gIH0sIFtdKVxuXG4gIHVzZUlucHV0KGFzeW5jIChpbnB1dCwga2V5KSA9PiB7XG4gICAgLy8gVG9nZ2xlIHRoZSBzZXR0aW5nIHdoZW4gZW50ZXIvdGFiL3NwYWNlIGlzIHByZXNzZWRcbiAgICBpZiAoIWRvbWFpbkV4Y2x1ZGVkICYmIChrZXkudGFiIHx8IGtleS5yZXR1cm4gfHwgaW5wdXQgPT09ICcgJykpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gIWdyb3ZlRW5hYmxlZFxuICAgICAgc2V0R3JvdmVFbmFibGVkKG5ld1ZhbHVlKVxuICAgICAgYXdhaXQgdXBkYXRlR3JvdmVTZXR0aW5ncyhuZXdWYWx1ZSlcbiAgICB9XG4gIH0pXG5cbiAgbGV0IHZhbHVlQ29tcG9uZW50ID0gPFRleHQgY29sb3I9XCJlcnJvclwiPmZhbHNlPC9UZXh0PlxuICBpZiAoZG9tYWluRXhjbHVkZWQpIHtcbiAgICB2YWx1ZUNvbXBvbmVudCA9IChcbiAgICAgIDxUZXh0IGNvbG9yPVwiZXJyb3JcIj5mYWxzZSAoZm9yIGVtYWlscyB3aXRoIHlvdXIgZG9tYWluKTwvVGV4dD5cbiAgICApXG4gIH0gZWxzZSBpZiAoZ3JvdmVFbmFibGVkKSB7XG4gICAgdmFsdWVDb21wb25lbnQgPSA8VGV4dCBjb2xvcj1cInN1Y2Nlc3NcIj50cnVlPC9UZXh0PlxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8RGlhbG9nXG4gICAgICB0aXRsZT1cIkRhdGEgUHJpdmFjeVwiXG4gICAgICBjb2xvcj1cInByb2Zlc3Npb25hbEJsdWVcIlxuICAgICAgb25DYW5jZWw9e29uRG9uZX1cbiAgICAgIGlucHV0R3VpZGU9e2V4aXRTdGF0ZSA9PlxuICAgICAgICBleGl0U3RhdGUucGVuZGluZyA/IChcbiAgICAgICAgICA8VGV4dD5QcmVzcyB7ZXhpdFN0YXRlLmtleU5hbWV9IGFnYWluIHRvIGV4aXQ8L1RleHQ+XG4gICAgICAgICkgOiBkb21haW5FeGNsdWRlZCA/IChcbiAgICAgICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJFc2NcIiBhY3Rpb249XCJjYW5jZWxcIiAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxCeWxpbmU+XG4gICAgICAgICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJFbnRlci9UYWIvU3BhY2VcIiBhY3Rpb249XCJ0b2dnbGVcIiAvPlxuICAgICAgICAgICAgPEtleWJvYXJkU2hvcnRjdXRIaW50IHNob3J0Y3V0PVwiRXNjXCIgYWN0aW9uPVwiY2FuY2VsXCIgLz5cbiAgICAgICAgICA8L0J5bGluZT5cbiAgICAgICAgKVxuICAgICAgfVxuICAgID5cbiAgICAgIDxUZXh0PlxuICAgICAgICBSZXZpZXcgYW5kIG1hbmFnZSB5b3VyIHByaXZhY3kgc2V0dGluZ3MgYXR7JyAnfVxuICAgICAgICA8TGluayB1cmw9eydodHRwczovL2NsYXVkZS5haS9zZXR0aW5ncy9kYXRhLXByaXZhY3ktY29udHJvbHMnfT48L0xpbms+XG4gICAgICA8L1RleHQ+XG5cbiAgICAgIDxCb3g+XG4gICAgICAgIDxCb3ggd2lkdGg9ezQ0fT5cbiAgICAgICAgICA8VGV4dCBib2xkPkhlbHAgaW1wcm92ZSBDbGF1ZGU8L1RleHQ+XG4gICAgICAgIDwvQm94PlxuICAgICAgICA8Qm94Pnt2YWx1ZUNvbXBvbmVudH08L0JveD5cbiAgICAgIDwvQm94PlxuICAgIDwvRGlhbG9nPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFNBQVMs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
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
1
2
|
import { c as _c } from "react/compiler-runtime";
|
|
2
3
|
/**
|
|
3
4
|
* HooksConfigMenu is a read-only browser for configured hooks.
|
|
@@ -575,4 +576,4 @@ function _temp() {
|
|
|
575
576
|
const hooksDisabled = settings?.disableAllHooks === true;
|
|
576
577
|
return hooksDisabled && getSettingsForSource("policySettings")?.disableAllHooks === true;
|
|
577
578
|
}
|
|
578
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsInVzZVN0YXRlIiwiSG9va0V2ZW50IiwidXNlQXBwU3RhdGUiLCJ1c2VBcHBTdGF0ZVN0b3JlIiwiQ29tbWFuZFJlc3VsdERpc3BsYXkiLCJ1c2VTZXR0aW5nc0NoYW5nZSIsIkJveCIsIlRleHQiLCJ1c2VLZXliaW5kaW5nIiwiZ2V0SG9va0V2ZW50TWV0YWRhdGEiLCJnZXRIb29rc0Zvck1hdGNoZXIiLCJnZXRNYXRjaGVyTWV0YWRhdGEiLCJnZXRTb3J0ZWRNYXRjaGVyc0ZvckV2ZW50IiwiZ3JvdXBIb29rc0J5RXZlbnRBbmRNYXRjaGVyIiwiSW5kaXZpZHVhbEhvb2tDb25maWciLCJnZXRTZXR0aW5nc19ERVBSRUNBVEVEIiwiZ2V0U2V0dGluZ3NGb3JTb3VyY2UiLCJwbHVyYWwiLCJEaWFsb2ciLCJTZWxlY3RFdmVudE1vZGUiLCJTZWxlY3RIb29rTW9kZSIsIlNlbGVjdE1hdGNoZXJNb2RlIiwiVmlld0hvb2tNb2RlIiwiUHJvcHMiLCJ0b29sTmFtZXMiLCJvbkV4aXQiLCJyZXN1bHQiLCJvcHRpb25zIiwiZGlzcGxheSIsIk1vZGVTdGF0ZSIsIm1vZGUiLCJldmVudCIsIm1hdGNoZXIiLCJob29rIiwiSG9va3NDb25maWdNZW51IiwidDAiLCIkIiwiX2MiLCJ0MSIsIlN5bWJvbCIsImZvciIsIm1vZGVTdGF0ZSIsInNldE1vZGVTdGF0ZSIsImRpc2FibGVkQnlQb2xpY3kiLCJzZXREaXNhYmxlZEJ5UG9saWN5IiwiX3RlbXAiLCJyZXN0cmljdGVkQnlQb2xpY3kiLCJzZXRSZXN0cmljdGVkQnlQb2xpY3kiLCJfdGVtcDIiLCJ0MiIsInNvdXJjZSIsInNldHRpbmdzXzAiLCJob29rc0Rpc2FibGVkXzAiLCJzZXR0aW5ncyIsImRpc2FibGVBbGxIb29rcyIsImFsbG93TWFuYWdlZEhvb2tzT25seSIsInNlbGVjdGVkRXZlbnQiLCJzZWxlY3RlZE1hdGNoZXIiLCJtY3AiLCJfdGVtcDMiLCJhcHBTdGF0ZVN0b3JlIiwidDMiLCJ0b29scyIsIm1hcCIsIl90ZW1wNCIsImNvbWJpbmVkVG9vbE5hbWVzIiwidDQiLCJnZXRTdGF0ZSIsImhvb2tzQnlFdmVudEFuZE1hdGNoZXIiLCJ0NSIsInNvcnRlZE1hdGNoZXJzRm9yU2VsZWN0ZWRFdmVudCIsInQ2IiwiaG9va3NGb3JTZWxlY3RlZE1hdGNoZXIiLCJ0NyIsImhhbmRsZUV4aXQiLCJ0OCIsInQ5IiwiY29udGV4dCIsImlzQWN0aXZlIiwidDEwIiwidDExIiwidDEyIiwidDEzIiwidW5kZWZpbmVkIiwidDE0IiwidDE1IiwidDE2IiwidDE3IiwidDE4IiwidDE5IiwiaG9va0V2ZW50TWV0YWRhdGEiLCJzZXR0aW5nc18xIiwiaG9va3NEaXNhYmxlZF8xIiwidDIwIiwiYnlFdmVudCIsInRvdGFsIiwiZXZlbnRfMCIsIm1hdGNoZXJzIiwiT2JqZWN0IiwiZW50cmllcyIsImV2ZW50Q291bnQiLCJ2YWx1ZXMiLCJyZWR1Y2UiLCJfdGVtcDUiLCJob29rc0J5RXZlbnQiLCJ0b3RhbEhvb2tzQ291bnQiLCJob29rc0Rpc2FibGVkIiwidDIxIiwidDIyIiwidDIzIiwidDI0IiwidDI1IiwidDI2IiwidDI3IiwidDI4IiwidDI5IiwidDMwIiwidDMxIiwidDMyIiwidDMzIiwidDM0IiwiX3RlbXA2IiwiZXZlbnRfMiIsImRlc2NyaXB0aW9uIiwiaG9va18xIiwiZXZlbnRfMSIsImhvb2tfMCIsInN1bSIsImhvb2tzIiwibGVuZ3RoIiwidG9vbCIsIm5hbWUiLCJzIl0sInNvdXJjZXMiOlsiSG9va3NDb25maWdNZW51LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhvb2tzQ29uZmlnTWVudSBpcyBhIHJlYWQtb25seSBicm93c2VyIGZvciBjb25maWd1cmVkIGhvb2tzLlxuICpcbiAqIFVzZXJzIGNhbiBkcmlsbCBpbnRvIGVhY2ggaG9vayBldmVudCwgc2VlIGNvbmZpZ3VyZWQgbWF0Y2hlcnMgYW5kIGhvb2tzXG4gKiAob2YgYW55IHR5cGU6IGNvbW1hbmQsIHByb21wdCwgYWdlbnQsIGh0dHApLCBhbmQgdmlldyBpbmRpdmlkdWFsIGhvb2tcbiAqIGRldGFpbHMuIFRvIGFkZCBvciBtb2RpZnkgaG9va3MsIHVzZXJzIHNob3VsZCBlZGl0IHNldHRpbmdzLmpzb24gZGlyZWN0bHlcbiAqIG9yIGFzayBDbGF1ZGUg4oCUIHRoZSBtZW51IGRpcmVjdHMgdGhlbSB0aGVyZS5cbiAqXG4gKiBUaGUgbWVudSBpcyByZWFkLW9ubHkgYmVjYXVzZSB0aGUgb2xkIGVkaXRpbmcgVUkgb25seSBzdXBwb3J0ZWRcbiAqIGNvbW1hbmQtdHlwZSBob29rcyBhbmQgZHVwbGljYXRpbmcgdGhlIHNldHRpbmdzLmpzb24gZWRpdGluZyBzdXJmYWNlXG4gKiBpbi1tZW51IGZvciBhbGwgZm91ciB0eXBlcyB3b3VsZCBiZSBhIG1haW50ZW5hbmNlIGJ1cmRlbi5cbiAqL1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgSG9va0V2ZW50IH0gZnJvbSAnc3JjL2VudHJ5cG9pbnRzL2FnZW50U2RrVHlwZXMuanMnXG5pbXBvcnQgeyB1c2VBcHBTdGF0ZSwgdXNlQXBwU3RhdGVTdG9yZSB9IGZyb20gJ3NyYy9zdGF0ZS9BcHBTdGF0ZS5qcydcbmltcG9ydCB0eXBlIHsgQ29tbWFuZFJlc3VsdERpc3BsYXkgfSBmcm9tICcuLi8uLi9jb21tYW5kcy5qcydcbmltcG9ydCB7IHVzZVNldHRpbmdzQ2hhbmdlIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2V0dGluZ3NDaGFuZ2UuanMnXG5pbXBvcnQgeyBCb3gsIFRleHQgfSBmcm9tICcuLi8uLi9pbmsuanMnXG5pbXBvcnQgeyB1c2VLZXliaW5kaW5nIH0gZnJvbSAnLi4vLi4va2V5YmluZGluZ3MvdXNlS2V5YmluZGluZy5qcydcbmltcG9ydCB7XG4gIGdldEhvb2tFdmVudE1ldGFkYXRhLFxuICBnZXRIb29rc0Zvck1hdGNoZXIsXG4gIGdldE1hdGNoZXJNZXRhZGF0YSxcbiAgZ2V0U29ydGVkTWF0Y2hlcnNGb3JFdmVudCxcbiAgZ3JvdXBIb29rc0J5RXZlbnRBbmRNYXRjaGVyLFxufSBmcm9tICcuLi8uLi91dGlscy9ob29rcy9ob29rc0NvbmZpZ01hbmFnZXIuanMnXG5pbXBvcnQgdHlwZSB7IEluZGl2aWR1YWxIb29rQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMvaG9va3MvaG9va3NTZXR0aW5ncy5qcydcbmltcG9ydCB7XG4gIGdldFNldHRpbmdzX0RFUFJFQ0FURUQsXG4gIGdldFNldHRpbmdzRm9yU291cmNlLFxufSBmcm9tICcuLi8uLi91dGlscy9zZXR0aW5ncy9zZXR0aW5ncy5qcydcbmltcG9ydCB7IHBsdXJhbCB9IGZyb20gJy4uLy4uL3V0aWxzL3N0cmluZ1V0aWxzLmpzJ1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAnLi4vZGVzaWduLXN5c3RlbS9EaWFsb2cuanMnXG5pbXBvcnQgeyBTZWxlY3RFdmVudE1vZGUgfSBmcm9tICcuL1NlbGVjdEV2ZW50TW9kZS5qcydcbmltcG9ydCB7IFNlbGVjdEhvb2tNb2RlIH0gZnJvbSAnLi9TZWxlY3RIb29rTW9kZS5qcydcbmltcG9ydCB7IFNlbGVjdE1hdGNoZXJNb2RlIH0gZnJvbSAnLi9TZWxlY3RNYXRjaGVyTW9kZS5qcydcbmltcG9ydCB7IFZpZXdIb29rTW9kZSB9IGZyb20gJy4vVmlld0hvb2tNb2RlLmpzJ1xuXG50eXBlIFByb3BzID0ge1xuICB0b29sTmFtZXM6IHN0cmluZ1tdXG4gIG9uRXhpdDogKFxuICAgIHJlc3VsdD86IHN0cmluZyxcbiAgICBvcHRpb25zPzogeyBkaXNwbGF5PzogQ29tbWFuZFJlc3VsdERpc3BsYXkgfSxcbiAgKSA9PiB2b2lkXG59XG5cbnR5cGUgTW9kZVN0YXRlID1cbiAgfCB7IG1vZGU6ICdzZWxlY3QtZXZlbnQnIH1cbiAgfCB7IG1vZGU6ICdzZWxlY3QtbWF0Y2hlcic7IGV2ZW50OiBIb29rRXZlbnQgfVxuICB8IHsgbW9kZTogJ3NlbGVjdC1ob29rJzsgZXZlbnQ6IEhvb2tFdmVudDsgbWF0Y2hlcjogc3RyaW5nIH1cbiAgfCB7IG1vZGU6ICd2aWV3LWhvb2snOyBldmVudDogSG9va0V2ZW50OyBob29rOiBJbmRpdmlkdWFsSG9va0NvbmZpZyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBIb29rc0NvbmZpZ01lbnUoeyB0b29sTmFtZXMsIG9uRXhpdCB9OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IFttb2RlU3RhdGUsIHNldE1vZGVTdGF0ZV0gPSB1c2VTdGF0ZTxNb2RlU3RhdGU+KHtcbiAgICBtb2RlOiAnc2VsZWN0LWV2ZW50JyxcbiAgfSlcbiAgLy8gQ2FjaGUgd2hldGhlciBob29rcyBhcmUgZGlzYWJsZWQgYnkgcG9saWN5IHNldHRpbmdzLlxuICAvLyBnZXRTZXR0aW5nc0ZvclNvdXJjZSgpIGlzIGV4cGVuc2l2ZSAoZmlsZSByZWFkICsgSlNPTiBwYXJzZSArIHZhbGlkYXRpb24pLFxuICAvLyBzbyB3ZSBjb21wdXRlIGl0IG9uY2Ugb24gbW91bnQgYW5kIG9ubHkgcmUtY29tcHV0ZSB3aGVuIHBvbGljeSBzZXR0aW5ncyBjaGFuZ2UuXG4gIC8vIFNob3J0LWNpcmN1aXQgZXZhbHVhdGlvbiBlbnN1cmVzIHdlIHNraXAgdGhlIGV4cGVuc2l2ZSBjaGVjayB3aGVuIGhvb2tzIGFyZW4ndCBkaXNhYmxlZC5cbiAgY29uc3QgW2Rpc2FibGVkQnlQb2xpY3ksIHNldERpc2FibGVkQnlQb2xpY3ldID0gdXNlU3RhdGUoKCkgPT4ge1xuICAgIGNvbnN0IHNldHRpbmdzID0gZ2V0U2V0dGluZ3NfREVQUkVDQVRFRCgpXG4gICAgY29uc3QgaG9va3NEaXNhYmxlZCA9IHNldHRpbmdzPy5kaXNhYmxlQWxsSG9va3MgPT09IHRydWVcbiAgICByZXR1cm4gKFxuICAgICAgaG9va3NEaXNhYmxlZCAmJlxuICAgICAgZ2V0U2V0dGluZ3NGb3JTb3VyY2UoJ3BvbGljeVNldHRpbmdzJyk/LmRpc2FibGVBbGxIb29rcyA9PT0gdHJ1ZVxuICAgIClcbiAgfSlcblxuICAvLyBDaGVjayBpZiBob29rcyBhcmUgcmVzdHJpY3RlZCB0byBtYW5hZ2VkLW9ubHkgYnkgcG9saWN5XG4gIGNvbnN0IFtyZXN0cmljdGVkQnlQb2xpY3ksIHNldFJlc3RyaWN0ZWRCeVBvbGljeV0gPSB1c2VTdGF0ZSgoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGdldFNldHRpbmdzRm9yU291cmNlKCdwb2xpY3lTZXR0aW5ncycpPy5hbGxvd01hbmFnZWRIb29rc09ubHkgPT09IHRydWVcbiAgICApXG4gIH0pXG5cbiAgLy8gVXBkYXRlIGNhY2hlZCB2YWx1ZXMgd2hlbiBwb2xpY3kgc2V0dGluZ3MgY2hhbmdlXG4gIHVzZVNldHRpbmdzQ2hhbmdlKHNvdXJjZSA9PiB7XG4gICAgaWYgKHNvdXJjZSA9PT0gJ3BvbGljeVNldHRpbmdzJykge1xuICAgICAgY29uc3Qgc2V0dGluZ3MgPSBnZXRTZXR0aW5nc19ERVBSRUNBVEVEKClcbiAgICAgIGNvbnN0IGhvb2tzRGlzYWJsZWQgPSBzZXR0aW5ncz8uZGlzYWJsZUFsbEhvb2tzID09PSB0cnVlXG4gICAgICBzZXREaXNhYmxlZEJ5UG9saWN5KFxuICAgICAgICBob29rc0Rpc2FibGVkICYmXG4gICAgICAgICAgZ2V0U2V0dGluZ3NGb3JTb3VyY2UoJ3BvbGljeVNldHRpbmdzJyk/LmRpc2FibGVBbGxIb29rcyA9PT0gdHJ1ZSxcbiAgICAgIClcbiAgICAgIHNldFJlc3RyaWN0ZWRCeVBvbGljeShcbiAgICAgICAgZ2V0U2V0dGluZ3NGb3JTb3VyY2UoJ3BvbGljeVNldHRpbmdzJyk/LmFsbG93TWFuYWdlZEhvb2tzT25seSA9PT0gdHJ1ZSxcbiAgICAgIClcbiAgICB9XG4gIH0pXG5cbiAgLy8gRXh0cmFjdCBjb21tb25seSB1c2VkIHZhbHVlcyBmcm9tIG1vZGVTdGF0ZSBmb3IgY29udmVuaWVuY2VcbiAgY29uc3QgbW9kZSA9IG1vZGVTdGF0ZS5tb2RlXG4gIGNvbnN0IHNlbGVjdGVkRXZlbnQgPSAnZXZlbnQnIGluIG1vZGVTdGF0ZSA/IG1vZGVTdGF0ZS5ldmVudCA6ICdQcmVUb29sVXNlJ1xuICBjb25zdCBzZWxlY3RlZE1hdGNoZXIgPSAnbWF0Y2hlcicgaW4gbW9kZVN0YXRlID8gbW9kZVN0YXRlLm1hdGNoZXIgOiBudWxsXG5cbiAgY29uc3QgbWNwID0gdXNlQXBwU3RhdGUocyA9PiBzLm1jcClcbiAgY29uc3QgYXBwU3RhdGVTdG9yZSA9IHVzZUFwcFN0YXRlU3RvcmUoKVxuICBjb25zdCBjb21iaW5lZFRvb2xOYW1lcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gWy4uLnRvb2xOYW1lcywgLi4ubWNwLnRvb2xzLm1hcCh0b29sID0+IHRvb2wubmFtZSldLFxuICAgIFt0b29sTmFtZXMsIG1jcC50b29sc10sXG4gIClcblxuICBjb25zdCBob29rc0J5RXZlbnRBbmRNYXRjaGVyID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgZ3JvdXBIb29rc0J5RXZlbnRBbmRNYXRjaGVyKGFwcFN0YXRlU3RvcmUuZ2V0U3RhdGUoKSwgY29tYmluZWRUb29sTmFtZXMpLFxuICAgIFtjb21iaW5lZFRvb2xOYW1lcywgYXBwU3RhdGVTdG9yZV0sXG4gIClcblxuICBjb25zdCBzb3J0ZWRNYXRjaGVyc0ZvclNlbGVjdGVkRXZlbnQgPSB1c2VNZW1vKFxuICAgICgpID0+IGdldFNvcnRlZE1hdGNoZXJzRm9yRXZlbnQoaG9va3NCeUV2ZW50QW5kTWF0Y2hlciwgc2VsZWN0ZWRFdmVudCksXG4gICAgW2hvb2tzQnlFdmVudEFuZE1hdGNoZXIsIHNlbGVjdGVkRXZlbnRdLFxuICApXG5cbiAgY29uc3QgaG9va3NGb3JTZWxlY3RlZE1hdGNoZXIgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBnZXRIb29rc0Zvck1hdGNoZXIoXG4gICAgICAgIGhvb2tzQnlFdmVudEFuZE1hdGNoZXIsXG4gICAgICAgIHNlbGVjdGVkRXZlbnQsXG4gICAgICAgIHNlbGVjdGVkTWF0Y2hlcixcbiAgICAgICksXG4gICAgW2hvb2tzQnlFdmVudEFuZE1hdGNoZXIsIHNlbGVjdGVkRXZlbnQsIHNlbGVjdGVkTWF0Y2hlcl0sXG4gIClcblxuICAvLyBIYW5kbGVyIGZvciBleGl0aW5nIHRoZSBkaWFsb2dcbiAgY29uc3QgaGFuZGxlRXhpdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBvbkV4aXQoJ0hvb2tzIGRpYWxvZyBkaXNtaXNzZWQnLCB7IGRpc3BsYXk6ICdzeXN0ZW0nIH0pXG4gIH0sIFtvbkV4aXRdKVxuXG4gIC8vIEVzY2FwZSBoYW5kbGluZyBmb3Igc2VsZWN0LWV2ZW50IG1vZGUgLSBleGl0IHRoZSBtZW51XG4gIHVzZUtleWJpbmRpbmcoJ2NvbmZpcm06bm8nLCBoYW5kbGVFeGl0LCB7XG4gICAgY29udGV4dDogJ0NvbmZpcm1hdGlvbicsXG4gICAgaXNBY3RpdmU6IG1vZGUgPT09ICdzZWxlY3QtZXZlbnQnLFxuICB9KVxuXG4gIC8vIEVzY2FwZSBoYW5kbGluZyBmb3Igc2VsZWN0LW1hdGNoZXIgbW9kZSAtIGdvIHRvIHNlbGVjdC1ldmVudFxuICB1c2VLZXliaW5kaW5nKFxuICAgICdjb25maXJtOm5vJyxcbiAgICAoKSA9PiB7XG4gICAgICBzZXRNb2RlU3RhdGUoeyBtb2RlOiAnc2VsZWN0LWV2ZW50JyB9KVxuICAgIH0sXG4gICAge1xuICAgICAgY29udGV4dDogJ0NvbmZpcm1hdGlvbicsXG4gICAgICBpc0FjdGl2ZTogbW9kZSA9PT0gJ3NlbGVjdC1tYXRjaGVyJyxcbiAgICB9LFxuICApXG5cbiAgLy8gRXNjYXBlIGhhbmRsaW5nIGZvciBzZWxlY3QtaG9vayBtb2RlIC0gZ28gdG8gc2VsZWN0LW1hdGNoZXIgb3Igc2VsZWN0LWV2ZW50XG4gIHVzZUtleWJpbmRpbmcoXG4gICAgJ2NvbmZpcm06bm8nLFxuICAgICgpID0+IHtcbiAgICAgIGlmICgnZXZlbnQnIGluIG1vZGVTdGF0ZSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZ2V0TWF0Y2hlck1ldGFkYXRhKG1vZGVTdGF0ZS5ldmVudCwgY29tYmluZWRUb29sTmFtZXMpICE9PSB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0TW9kZVN0YXRlKHsgbW9kZTogJ3NlbGVjdC1tYXRjaGVyJywgZXZlbnQ6IG1vZGVTdGF0ZS5ldmVudCB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldE1vZGVTdGF0ZSh7IG1vZGU6ICdzZWxlY3QtZXZlbnQnIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGNvbnRleHQ6ICdDb25maXJtYXRpb24nLFxuICAgICAgaXNBY3RpdmU6IG1vZGUgPT09ICdzZWxlY3QtaG9vaycsXG4gICAgfSxcbiAgKVxuXG4gIC8vIEVzY2FwZSBoYW5kbGluZyBmb3Igdmlldy1ob29rIG1vZGUgLSBnbyB0byBzZWxlY3QtaG9va1xuICB1c2VLZXliaW5kaW5nKFxuICAgICdjb25maXJtOm5vJyxcbiAgICAoKSA9PiB7XG4gICAgICBpZiAobW9kZVN0YXRlLm1vZGUgPT09ICd2aWV3LWhvb2snKSB7XG4gICAgICAgIGNvbnN0IHsgZXZlbnQsIGhvb2sgfSA9IG1vZGVTdGF0ZVxuICAgICAgICBzZXRNb2RlU3RhdGUoe1xuICAgICAgICAgIG1vZGU6ICdzZWxlY3QtaG9vaycsXG4gICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgbWF0Y2hlcjogaG9vay5tYXRjaGVyIHx8ICcnLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgY29udGV4dDogJ0NvbmZpcm1hdGlvbicsXG4gICAgICBpc0FjdGl2ZTogbW9kZSA9PT0gJ3ZpZXctaG9vaycsXG4gICAgfSxcbiAgKVxuXG4gIGNvbnN0IGhvb2tFdmVudE1ldGFkYXRhID0gZ2V0SG9va0V2ZW50TWV0YWRhdGEoY29tYmluZWRUb29sTmFtZXMpXG5cbiAgLy8gQ2hlY2sgaWYgaG9va3MgYXJlIGRpc2FibGVkXG4gIGNvbnN0IHNldHRpbmdzID0gZ2V0U2V0dGluZ3NfREVQUkVDQVRFRCgpXG4gIGNvbnN0IGhvb2tzRGlzYWJsZWQgPSBzZXR0aW5ncz8uZGlzYWJsZUFsbEhvb2tzID09PSB0cnVlXG5cbiAgLy8gQ291bnQgaG9va3MgcGVyIGV2ZW50IGZvciB0aGUgZXZlbnQtc2VsZWN0aW9uIHZpZXcsIGFuZCB0aGUgdG90YWwuXG4gIGNvbnN0IHsgaG9va3NCeUV2ZW50LCB0b3RhbEhvb2tzQ291bnQgfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGJ5RXZlbnQ6IFBhcnRpYWw8UmVjb3JkPEhvb2tFdmVudCwgbnVtYmVyPj4gPSB7fVxuICAgIGxldCB0b3RhbCA9IDBcbiAgICBmb3IgKGNvbnN0IFtldmVudCwgbWF0Y2hlcnNdIG9mIE9iamVjdC5lbnRyaWVzKGhvb2tzQnlFdmVudEFuZE1hdGNoZXIpKSB7XG4gICAgICBjb25zdCBldmVudENvdW50ID0gT2JqZWN0LnZhbHVlcyhtYXRjaGVycykucmVkdWNlKFxuICAgICAgICAoc3VtLCBob29rcykgPT4gc3VtICsgaG9va3MubGVuZ3RoLFxuICAgICAgICAwLFxuICAgICAgKVxuICAgICAgYnlFdmVudFtldmVudCBhcyBIb29rRXZlbnRdID0gZXZlbnRDb3VudFxuICAgICAgdG90YWwgKz0gZXZlbnRDb3VudFxuICAgIH1cbiAgICByZXR1cm4geyBob29rc0J5RXZlbnQ6IGJ5RXZlbnQsIHRvdGFsSG9va3NDb3VudDogdG90YWwgfVxuICB9LCBbaG9va3NCeUV2ZW50QW5kTWF0Y2hlcl0pXG5cbiAgLy8gSWYgaG9va3MgYXJlIGRpc2FibGVkLCBzaG93IGFuIGluZm9ybWF0aW9uYWwgc2NyZWVuLlxuICAvLyBUaGUgbWVudSBpcyByZWFkLW9ubHksIHNvIHdlIGRvbid0IG9mZmVyIGEgcmUtZW5hYmxlIGJ1dHRvbiDigJRcbiAgLy8gdXNlcnMgY2FuIGVkaXQgc2V0dGluZ3MuanNvbiBvciBhc2sgQ2xhdWRlIGluc3RlYWQuXG4gIGlmIChob29rc0Rpc2FibGVkKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxEaWFsb2dcbiAgICAgICAgdGl0bGU9XCJIb29rIENvbmZpZ3VyYXRpb24gLSBEaXNhYmxlZFwiXG4gICAgICAgIG9uQ2FuY2VsPXtoYW5kbGVFeGl0fVxuICAgICAgICBpbnB1dEd1aWRlPXsoKSA9PiA8VGV4dD5Fc2MgdG8gY2xvc2U8L1RleHQ+fVxuICAgICAgPlxuICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBnYXA9ezF9PlxuICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgIEFsbCBob29rcyBhcmUgY3VycmVudGx5IDxUZXh0IGJvbGQ+ZGlzYWJsZWQ8L1RleHQ+XG4gICAgICAgICAgICAgIHtkaXNhYmxlZEJ5UG9saWN5ICYmICcgYnkgYSBtYW5hZ2VkIHNldHRpbmdzIGZpbGUnfS4gWW91IGhhdmV7JyAnfVxuICAgICAgICAgICAgICA8VGV4dCBib2xkPnt0b3RhbEhvb2tzQ291bnR9PC9UZXh0PiBjb25maWd1cmVkeycgJ31cbiAgICAgICAgICAgICAge3BsdXJhbCh0b3RhbEhvb2tzQ291bnQsICdob29rJyl9IHRoYXR7JyAnfVxuICAgICAgICAgICAgICB7cGx1cmFsKHRvdGFsSG9va3NDb3VudCwgJ2lzJywgJ2FyZScpfSBub3QgcnVubmluZy5cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDxCb3ggbWFyZ2luVG9wPXsxfT5cbiAgICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+V2hlbiBob29rcyBhcmUgZGlzYWJsZWQ6PC9UZXh0PlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICA8VGV4dCBkaW1Db2xvcj7CtyBObyBob29rIGNvbW1hbmRzIHdpbGwgZXhlY3V0ZTwvVGV4dD5cbiAgICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPsK3IFN0YXR1c0xpbmUgd2lsbCBub3QgYmUgZGlzcGxheWVkPC9UZXh0PlxuICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgICAgIMK3IFRvb2wgb3BlcmF0aW9ucyB3aWxsIHByb2NlZWQgd2l0aG91dCBob29rIHZhbGlkYXRpb25cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgICB7IWRpc2FibGVkQnlQb2xpY3kgJiYgKFxuICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgICAgIFRvIHJlLWVuYWJsZSBob29rcywgcmVtb3ZlICZxdW90O2Rpc2FibGVBbGxIb29rcyZxdW90OyBmcm9tXG4gICAgICAgICAgICAgIHNldHRpbmdzLmpzb24gb3IgYXNrIENsYXVkZS5cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICApfVxuICAgICAgICA8L0JveD5cbiAgICAgIDwvRGlhbG9nPlxuICAgIClcbiAgfVxuXG4gIHN3aXRjaCAobW9kZVN0YXRlLm1vZGUpIHtcbiAgICBjYXNlICdzZWxlY3QtZXZlbnQnOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFNlbGVjdEV2ZW50TW9kZVxuICAgICAgICAgIGhvb2tFdmVudE1ldGFkYXRhPXtob29rRXZlbnRNZXRhZGF0YX1cbiAgICAgICAgICBob29rc0J5RXZlbnQ9e2hvb2tzQnlFdmVudH1cbiAgICAgICAgICB0b3RhbEhvb2tzQ291bnQ9e3RvdGFsSG9va3NDb3VudH1cbiAgICAgICAgICByZXN0cmljdGVkQnlQb2xpY3k9e3Jlc3RyaWN0ZWRCeVBvbGljeX1cbiAgICAgICAgICBvblNlbGVjdEV2ZW50PXtldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZ2V0TWF0Y2hlck1ldGFkYXRhKGV2ZW50LCBjb21iaW5lZFRvb2xOYW1lcykgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBzZXRNb2RlU3RhdGUoeyBtb2RlOiAnc2VsZWN0LW1hdGNoZXInLCBldmVudCB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2V0TW9kZVN0YXRlKHsgbW9kZTogJ3NlbGVjdC1ob29rJywgZXZlbnQsIG1hdGNoZXI6ICcnIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICBvbkNhbmNlbD17aGFuZGxlRXhpdH1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICBjYXNlICdzZWxlY3QtbWF0Y2hlcic6XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U2VsZWN0TWF0Y2hlck1vZGVcbiAgICAgICAgICBzZWxlY3RlZEV2ZW50PXttb2RlU3RhdGUuZXZlbnR9XG4gICAgICAgICAgbWF0Y2hlcnNGb3JTZWxlY3RlZEV2ZW50PXtzb3J0ZWRNYXRjaGVyc0ZvclNlbGVjdGVkRXZlbnR9XG4gICAgICAgICAgaG9va3NCeUV2ZW50QW5kTWF0Y2hlcj17aG9va3NCeUV2ZW50QW5kTWF0Y2hlcn1cbiAgICAgICAgICBldmVudERlc2NyaXB0aW9uPXtob29rRXZlbnRNZXRhZGF0YVttb2RlU3RhdGUuZXZlbnRdLmRlc2NyaXB0aW9ufVxuICAgICAgICAgIG9uU2VsZWN0PXttYXRjaGVyID0+IHtcbiAgICAgICAgICAgIHNldE1vZGVTdGF0ZSh7XG4gICAgICAgICAgICAgIG1vZGU6ICdzZWxlY3QtaG9vaycsXG4gICAgICAgICAgICAgIGV2ZW50OiBtb2RlU3RhdGUuZXZlbnQsXG4gICAgICAgICAgICAgIG1hdGNoZXIsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25DYW5jZWw9eygpID0+IHtcbiAgICAgICAgICAgIHNldE1vZGVTdGF0ZSh7IG1vZGU6ICdzZWxlY3QtZXZlbnQnIH0pXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICBjYXNlICdzZWxlY3QtaG9vayc6XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U2VsZWN0SG9va01vZGVcbiAgICAgICAgICBzZWxlY3RlZEV2ZW50PXttb2RlU3RhdGUuZXZlbnR9XG4gICAgICAgICAgc2VsZWN0ZWRNYXRjaGVyPXttb2RlU3RhdGUubWF0Y2hlcn1cbiAgICAgICAgICBob29rc0ZvclNlbGVjdGVkTWF0Y2hlcj17aG9va3NGb3JTZWxlY3RlZE1hdGNoZXJ9XG4gICAgICAgICAgaG9va0V2ZW50TWV0YWRhdGE9e2hvb2tFdmVudE1ldGFkYXRhW21vZGVTdGF0ZS5ldmVudF19XG4gICAgICAgICAgb25TZWxlY3Q9e2hvb2sgPT4ge1xuICAgICAgICAgICAgc2V0TW9kZVN0YXRlKHtcbiAgICAgICAgICAgICAgbW9kZTogJ3ZpZXctaG9vaycsXG4gICAgICAgICAgICAgIGV2ZW50OiBtb2RlU3RhdGUuZXZlbnQsXG4gICAgICAgICAgICAgIGhvb2ssXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25DYW5jZWw9eygpID0+IHtcbiAgICAgICAgICAgIC8vIEdvIGJhY2sgdG8gbWF0Y2hlciBzZWxlY3Rpb24gb3IgZXZlbnQgc2VsZWN0aW9uXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGdldE1hdGNoZXJNZXRhZGF0YShtb2RlU3RhdGUuZXZlbnQsIGNvbWJpbmVkVG9vbE5hbWVzKSAhPT1cbiAgICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgc2V0TW9kZVN0YXRlKHtcbiAgICAgICAgICAgICAgICBtb2RlOiAnc2VsZWN0LW1hdGNoZXInLFxuICAgICAgICAgICAgICAgIGV2ZW50OiBtb2RlU3RhdGUuZXZlbnQsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzZXRNb2RlU3RhdGUoeyBtb2RlOiAnc2VsZWN0LWV2ZW50JyB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgY2FzZSAndmlldy1ob29rJzpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxWaWV3SG9va01vZGVcbiAgICAgICAgICBzZWxlY3RlZEhvb2s9e21vZGVTdGF0ZS5ob29rfVxuICAgICAgICAgIGV2ZW50U3VwcG9ydHNNYXRjaGVyPXtcbiAgICAgICAgICAgIGdldE1hdGNoZXJNZXRhZGF0YShtb2RlU3RhdGUuZXZlbnQsIGNvbWJpbmVkVG9vbE5hbWVzKSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2FuY2VsPXsoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGV2ZW50LCBob29rIH0gPSBtb2RlU3RhdGVcbiAgICAgICAgICAgIHNldE1vZGVTdGF0ZSh7XG4gICAgICAgICAgICAgIG1vZGU6ICdzZWxlY3QtaG9vaycsXG4gICAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgICBtYXRjaGVyOiBob29rLm1hdGNoZXIgfHwgJycsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFDOUIsU0FBU0MsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3RELGNBQWNDLFNBQVMsUUFBUSxrQ0FBa0M7QUFDakUsU0FBU0MsV0FBVyxFQUFFQyxnQkFBZ0IsUUFBUSx1QkFBdUI7QUFDckUsY0FBY0Msb0JBQW9CLFFBQVEsbUJBQW1CO0FBQzdELFNBQVNDLGlCQUFpQixRQUFRLGtDQUFrQztBQUNwRSxTQUFTQyxHQUFHLEVBQUVDLElBQUksUUFBUSxjQUFjO0FBQ3hDLFNBQVNDLGFBQWEsUUFBUSxvQ0FBb0M7QUFDbEUsU0FDRUMsb0JBQW9CLEVBQ3BCQyxrQkFBa0IsRUFDbEJDLGtCQUFrQixFQUNsQkMseUJBQXlCLEVBQ3pCQywyQkFBMkIsUUFDdEIseUNBQXlDO0FBQ2hELGNBQWNDLG9CQUFvQixRQUFRLG9DQUFvQztBQUM5RSxTQUNFQyxzQkFB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
|
|
579
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsInVzZVN0YXRlIiwiSG9va0V2ZW50IiwidXNlQXBwU3RhdGUiLCJ1c2VBcHBTdGF0ZVN0b3JlIiwiQ29tbWFuZFJlc3VsdERpc3BsYXkiLCJ1c2VTZXR0aW5nc0NoYW5nZSIsIkJveCIsIlRleHQiLCJ1c2VLZXliaW5kaW5nIiwiZ2V0SG9va0V2ZW50TWV0YWRhdGEiLCJnZXRIb29rc0Zvck1hdGNoZXIiLCJnZXRNYXRjaGVyTWV0YWRhdGEiLCJnZXRTb3J0ZWRNYXRjaGVyc0ZvckV2ZW50IiwiZ3JvdXBIb29rc0J5RXZlbnRBbmRNYXRjaGVyIiwiSW5kaXZpZHVhbEhvb2tDb25maWciLCJnZXRTZXR0aW5nc19ERVBSRUNBVEVEIiwiZ2V0U2V0dGluZ3NGb3JTb3VyY2UiLCJwbHVyYWwiLCJEaWFsb2ciLCJTZWxlY3RFdmVudE1vZGUiLCJTZWxlY3RIb29rTW9kZSIsIlNlbGVjdE1hdGNoZXJNb2RlIiwiVmlld0hvb2tNb2RlIiwiUHJvcHMiLCJ0b29sTmFtZXMiLCJvbkV4aXQiLCJyZXN1bHQiLCJvcHRpb25zIiwiZGlzcGxheSIsIk1vZGVTdGF0ZSIsIm1vZGUiLCJldmVudCIsIm1hdGNoZXIiLCJob29rIiwiSG9va3NDb25maWdNZW51IiwidDAiLCIkIiwiX2MiLCJ0MSIsIlN5bWJvbCIsImZvciIsIm1vZGVTdGF0ZSIsInNldE1vZGVTdGF0ZSIsImRpc2FibGVkQnlQb2xpY3kiLCJzZXREaXNhYmxlZEJ5UG9saWN5IiwiX3RlbXAiLCJyZXN0cmljdGVkQnlQb2xpY3kiLCJzZXRSZXN0cmljdGVkQnlQb2xpY3kiLCJfdGVtcDIiLCJ0MiIsInNvdXJjZSIsInNldHRpbmdzXzAiLCJob29rc0Rpc2FibGVkXzAiLCJzZXR0aW5ncyIsImRpc2FibGVBbGxIb29rcyIsImFsbG93TWFuYWdlZEhvb2tzT25seSIsInNlbGVjdGVkRXZlbnQiLCJzZWxlY3RlZE1hdGNoZXIiLCJtY3AiLCJfdGVtcDMiLCJhcHBTdGF0ZVN0b3JlIiwidDMiLCJ0b29scyIsIm1hcCIsIl90ZW1wNCIsImNvbWJpbmVkVG9vbE5hbWVzIiwidDQiLCJnZXRTdGF0ZSIsImhvb2tzQnlFdmVudEFuZE1hdGNoZXIiLCJ0NSIsInNvcnRlZE1hdGNoZXJzRm9yU2VsZWN0ZWRFdmVudCIsInQ2IiwiaG9va3NGb3JTZWxlY3RlZE1hdGNoZXIiLCJ0NyIsImhhbmRsZUV4aXQiLCJ0OCIsInQ5IiwiY29udGV4dCIsImlzQWN0aXZlIiwidDEwIiwidDExIiwidDEyIiwidDEzIiwidW5kZWZpbmVkIiwidDE0IiwidDE1IiwidDE2IiwidDE3IiwidDE4IiwidDE5IiwiaG9va0V2ZW50TWV0YWRhdGEiLCJzZXR0aW5nc18xIiwiaG9va3NEaXNhYmxlZF8xIiwidDIwIiwiYnlFdmVudCIsInRvdGFsIiwiZXZlbnRfMCIsIm1hdGNoZXJzIiwiT2JqZWN0IiwiZW50cmllcyIsImV2ZW50Q291bnQiLCJ2YWx1ZXMiLCJyZWR1Y2UiLCJfdGVtcDUiLCJob29rc0J5RXZlbnQiLCJ0b3RhbEhvb2tzQ291bnQiLCJob29rc0Rpc2FibGVkIiwidDIxIiwidDIyIiwidDIzIiwidDI0IiwidDI1IiwidDI2IiwidDI3IiwidDI4IiwidDI5IiwidDMwIiwidDMxIiwidDMyIiwidDMzIiwidDM0IiwiX3RlbXA2IiwiZXZlbnRfMiIsImRlc2NyaXB0aW9uIiwiaG9va18xIiwiZXZlbnRfMSIsImhvb2tfMCIsInN1bSIsImhvb2tzIiwibGVuZ3RoIiwidG9vbCIsIm5hbWUiLCJzIl0sInNvdXJjZXMiOlsiSG9va3NDb25maWdNZW51LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEhvb2tzQ29uZmlnTWVudSBpcyBhIHJlYWQtb25seSBicm93c2VyIGZvciBjb25maWd1cmVkIGhvb2tzLlxuICpcbiAqIFVzZXJzIGNhbiBkcmlsbCBpbnRvIGVhY2ggaG9vayBldmVudCwgc2VlIGNvbmZpZ3VyZWQgbWF0Y2hlcnMgYW5kIGhvb2tzXG4gKiAob2YgYW55IHR5cGU6IGNvbW1hbmQsIHByb21wdCwgYWdlbnQsIGh0dHApLCBhbmQgdmlldyBpbmRpdmlkdWFsIGhvb2tcbiAqIGRldGFpbHMuIFRvIGFkZCBvciBtb2RpZnkgaG9va3MsIHVzZXJzIHNob3VsZCBlZGl0IHNldHRpbmdzLmpzb24gZGlyZWN0bHlcbiAqIG9yIGFzayBDbGF1ZGUg4oCUIHRoZSBtZW51IGRpcmVjdHMgdGhlbSB0aGVyZS5cbiAqXG4gKiBUaGUgbWVudSBpcyByZWFkLW9ubHkgYmVjYXVzZSB0aGUgb2xkIGVkaXRpbmcgVUkgb25seSBzdXBwb3J0ZWRcbiAqIGNvbW1hbmQtdHlwZSBob29rcyBhbmQgZHVwbGljYXRpbmcgdGhlIHNldHRpbmdzLmpzb24gZWRpdGluZyBzdXJmYWNlXG4gKiBpbi1tZW51IGZvciBhbGwgZm91ciB0eXBlcyB3b3VsZCBiZSBhIG1haW50ZW5hbmNlIGJ1cmRlbi5cbiAqL1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgSG9va0V2ZW50IH0gZnJvbSAnc3JjL2VudHJ5cG9pbnRzL2FnZW50U2RrVHlwZXMuanMnXG5pbXBvcnQgeyB1c2VBcHBTdGF0ZSwgdXNlQXBwU3RhdGVTdG9yZSB9IGZyb20gJ3NyYy9zdGF0ZS9BcHBTdGF0ZS5qcydcbmltcG9ydCB0eXBlIHsgQ29tbWFuZFJlc3VsdERpc3BsYXkgfSBmcm9tICcuLi8uLi9jb21tYW5kcy5qcydcbmltcG9ydCB7IHVzZVNldHRpbmdzQ2hhbmdlIH0gZnJvbSAnLi4vLi4vaG9va3MvdXNlU2V0dGluZ3NDaGFuZ2UuanMnXG5pbXBvcnQgeyBCb3gsIFRleHQgfSBmcm9tICcuLi8uLi9pbmsuanMnXG5pbXBvcnQgeyB1c2VLZXliaW5kaW5nIH0gZnJvbSAnLi4vLi4va2V5YmluZGluZ3MvdXNlS2V5YmluZGluZy5qcydcbmltcG9ydCB7XG4gIGdldEhvb2tFdmVudE1ldGFkYXRhLFxuICBnZXRIb29rc0Zvck1hdGNoZXIsXG4gIGdldE1hdGNoZXJNZXRhZGF0YSxcbiAgZ2V0U29ydGVkTWF0Y2hlcnNGb3JFdmVudCxcbiAgZ3JvdXBIb29rc0J5RXZlbnRBbmRNYXRjaGVyLFxufSBmcm9tICcuLi8uLi91dGlscy9ob29rcy9ob29rc0NvbmZpZ01hbmFnZXIuanMnXG5pbXBvcnQgdHlwZSB7IEluZGl2aWR1YWxIb29rQ29uZmlnIH0gZnJvbSAnLi4vLi4vdXRpbHMvaG9va3MvaG9va3NTZXR0aW5ncy5qcydcbmltcG9ydCB7XG4gIGdldFNldHRpbmdzX0RFUFJFQ0FURUQsXG4gIGdldFNldHRpbmdzRm9yU291cmNlLFxufSBmcm9tICcuLi8uLi91dGlscy9zZXR0aW5ncy9zZXR0aW5ncy5qcydcbmltcG9ydCB7IHBsdXJhbCB9IGZyb20gJy4uLy4uL3V0aWxzL3N0cmluZ1V0aWxzLmpzJ1xuaW1wb3J0IHsgRGlhbG9nIH0gZnJvbSAnLi4vZGVzaWduLXN5c3RlbS9EaWFsb2cuanMnXG5pbXBvcnQgeyBTZWxlY3RFdmVudE1vZGUgfSBmcm9tICcuL1NlbGVjdEV2ZW50TW9kZS5qcydcbmltcG9ydCB7IFNlbGVjdEhvb2tNb2RlIH0gZnJvbSAnLi9TZWxlY3RIb29rTW9kZS5qcydcbmltcG9ydCB7IFNlbGVjdE1hdGNoZXJNb2RlIH0gZnJvbSAnLi9TZWxlY3RNYXRjaGVyTW9kZS5qcydcbmltcG9ydCB7IFZpZXdIb29rTW9kZSB9IGZyb20gJy4vVmlld0hvb2tNb2RlLmpzJ1xuXG50eXBlIFByb3BzID0ge1xuICB0b29sTmFtZXM6IHN0cmluZ1tdXG4gIG9uRXhpdDogKFxuICAgIHJlc3VsdD86IHN0cmluZyxcbiAgICBvcHRpb25zPzogeyBkaXNwbGF5PzogQ29tbWFuZFJlc3VsdERpc3BsYXkgfSxcbiAgKSA9PiB2b2lkXG59XG5cbnR5cGUgTW9kZVN0YXRlID1cbiAgfCB7IG1vZGU6ICdzZWxlY3QtZXZlbnQnIH1cbiAgfCB7IG1vZGU6ICdzZWxlY3QtbWF0Y2hlcic7IGV2ZW50OiBIb29rRXZlbnQgfVxuICB8IHsgbW9kZTogJ3NlbGVjdC1ob29rJzsgZXZlbnQ6IEhvb2tFdmVudDsgbWF0Y2hlcjogc3RyaW5nIH1cbiAgfCB7IG1vZGU6ICd2aWV3LWhvb2snOyBldmVudDogSG9va0V2ZW50OyBob29rOiBJbmRpdmlkdWFsSG9va0NvbmZpZyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBIb29rc0NvbmZpZ01lbnUoeyB0b29sTmFtZXMsIG9uRXhpdCB9OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IFttb2RlU3RhdGUsIHNldE1vZGVTdGF0ZV0gPSB1c2VTdGF0ZTxNb2RlU3RhdGU+KHtcbiAgICBtb2RlOiAnc2VsZWN0LWV2ZW50JyxcbiAgfSlcbiAgLy8gQ2FjaGUgd2hldGhlciBob29rcyBhcmUgZGlzYWJsZWQgYnkgcG9saWN5IHNldHRpbmdzLlxuICAvLyBnZXRTZXR0aW5nc0ZvclNvdXJjZSgpIGlzIGV4cGVuc2l2ZSAoZmlsZSByZWFkICsgSlNPTiBwYXJzZSArIHZhbGlkYXRpb24pLFxuICAvLyBzbyB3ZSBjb21wdXRlIGl0IG9uY2Ugb24gbW91bnQgYW5kIG9ubHkgcmUtY29tcHV0ZSB3aGVuIHBvbGljeSBzZXR0aW5ncyBjaGFuZ2UuXG4gIC8vIFNob3J0LWNpcmN1aXQgZXZhbHVhdGlvbiBlbnN1cmVzIHdlIHNraXAgdGhlIGV4cGVuc2l2ZSBjaGVjayB3aGVuIGhvb2tzIGFyZW4ndCBkaXNhYmxlZC5cbiAgY29uc3QgW2Rpc2FibGVkQnlQb2xpY3ksIHNldERpc2FibGVkQnlQb2xpY3ldID0gdXNlU3RhdGUoKCkgPT4ge1xuICAgIGNvbnN0IHNldHRpbmdzID0gZ2V0U2V0dGluZ3NfREVQUkVDQVRFRCgpXG4gICAgY29uc3QgaG9va3NEaXNhYmxlZCA9IHNldHRpbmdzPy5kaXNhYmxlQWxsSG9va3MgPT09IHRydWVcbiAgICByZXR1cm4gKFxuICAgICAgaG9va3NEaXNhYmxlZCAmJlxuICAgICAgZ2V0U2V0dGluZ3NGb3JTb3VyY2UoJ3BvbGljeVNldHRpbmdzJyk/LmRpc2FibGVBbGxIb29rcyA9PT0gdHJ1ZVxuICAgIClcbiAgfSlcblxuICAvLyBDaGVjayBpZiBob29rcyBhcmUgcmVzdHJpY3RlZCB0byBtYW5hZ2VkLW9ubHkgYnkgcG9saWN5XG4gIGNvbnN0IFtyZXN0cmljdGVkQnlQb2xpY3ksIHNldFJlc3RyaWN0ZWRCeVBvbGljeV0gPSB1c2VTdGF0ZSgoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIGdldFNldHRpbmdzRm9yU291cmNlKCdwb2xpY3lTZXR0aW5ncycpPy5hbGxvd01hbmFnZWRIb29rc09ubHkgPT09IHRydWVcbiAgICApXG4gIH0pXG5cbiAgLy8gVXBkYXRlIGNhY2hlZCB2YWx1ZXMgd2hlbiBwb2xpY3kgc2V0dGluZ3MgY2hhbmdlXG4gIHVzZVNldHRpbmdzQ2hhbmdlKHNvdXJjZSA9PiB7XG4gICAgaWYgKHNvdXJjZSA9PT0gJ3BvbGljeVNldHRpbmdzJykge1xuICAgICAgY29uc3Qgc2V0dGluZ3MgPSBnZXRTZXR0aW5nc19ERVBSRUNBVEVEKClcbiAgICAgIGNvbnN0IGhvb2tzRGlzYWJsZWQgPSBzZXR0aW5ncz8uZGlzYWJsZUFsbEhvb2tzID09PSB0cnVlXG4gICAgICBzZXREaXNhYmxlZEJ5UG9saWN5KFxuICAgICAgICBob29rc0Rpc2FibGVkICYmXG4gICAgICAgICAgZ2V0U2V0dGluZ3NGb3JTb3VyY2UoJ3BvbGljeVNldHRpbmdzJyk/LmRpc2FibGVBbGxIb29rcyA9PT0gdHJ1ZSxcbiAgICAgIClcbiAgICAgIHNldFJlc3RyaWN0ZWRCeVBvbGljeShcbiAgICAgICAgZ2V0U2V0dGluZ3NGb3JTb3VyY2UoJ3BvbGljeVNldHRpbmdzJyk/LmFsbG93TWFuYWdlZEhvb2tzT25seSA9PT0gdHJ1ZSxcbiAgICAgIClcbiAgICB9XG4gIH0pXG5cbiAgLy8gRXh0cmFjdCBjb21tb25seSB1c2VkIHZhbHVlcyBmcm9tIG1vZGVTdGF0ZSBmb3IgY29udmVuaWVuY2VcbiAgY29uc3QgbW9kZSA9IG1vZGVTdGF0ZS5tb2RlXG4gIGNvbnN0IHNlbGVjdGVkRXZlbnQgPSAnZXZlbnQnIGluIG1vZGVTdGF0ZSA/IG1vZGVTdGF0ZS5ldmVudCA6ICdQcmVUb29sVXNlJ1xuICBjb25zdCBzZWxlY3RlZE1hdGNoZXIgPSAnbWF0Y2hlcicgaW4gbW9kZVN0YXRlID8gbW9kZVN0YXRlLm1hdGNoZXIgOiBudWxsXG5cbiAgY29uc3QgbWNwID0gdXNlQXBwU3RhdGUocyA9PiBzLm1jcClcbiAgY29uc3QgYXBwU3RhdGVTdG9yZSA9IHVzZUFwcFN0YXRlU3RvcmUoKVxuICBjb25zdCBjb21iaW5lZFRvb2xOYW1lcyA9IHVzZU1lbW8oXG4gICAgKCkgPT4gWy4uLnRvb2xOYW1lcywgLi4ubWNwLnRvb2xzLm1hcCh0b29sID0+IHRvb2wubmFtZSldLFxuICAgIFt0b29sTmFtZXMsIG1jcC50b29sc10sXG4gIClcblxuICBjb25zdCBob29rc0J5RXZlbnRBbmRNYXRjaGVyID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgZ3JvdXBIb29rc0J5RXZlbnRBbmRNYXRjaGVyKGFwcFN0YXRlU3RvcmUuZ2V0U3RhdGUoKSwgY29tYmluZWRUb29sTmFtZXMpLFxuICAgIFtjb21iaW5lZFRvb2xOYW1lcywgYXBwU3RhdGVTdG9yZV0sXG4gIClcblxuICBjb25zdCBzb3J0ZWRNYXRjaGVyc0ZvclNlbGVjdGVkRXZlbnQgPSB1c2VNZW1vKFxuICAgICgpID0+IGdldFNvcnRlZE1hdGNoZXJzRm9yRXZlbnQoaG9va3NCeUV2ZW50QW5kTWF0Y2hlciwgc2VsZWN0ZWRFdmVudCksXG4gICAgW2hvb2tzQnlFdmVudEFuZE1hdGNoZXIsIHNlbGVjdGVkRXZlbnRdLFxuICApXG5cbiAgY29uc3QgaG9va3NGb3JTZWxlY3RlZE1hdGNoZXIgPSB1c2VNZW1vKFxuICAgICgpID0+XG4gICAgICBnZXRIb29rc0Zvck1hdGNoZXIoXG4gICAgICAgIGhvb2tzQnlFdmVudEFuZE1hdGNoZXIsXG4gICAgICAgIHNlbGVjdGVkRXZlbnQsXG4gICAgICAgIHNlbGVjdGVkTWF0Y2hlcixcbiAgICAgICksXG4gICAgW2hvb2tzQnlFdmVudEFuZE1hdGNoZXIsIHNlbGVjdGVkRXZlbnQsIHNlbGVjdGVkTWF0Y2hlcl0sXG4gIClcblxuICAvLyBIYW5kbGVyIGZvciBleGl0aW5nIHRoZSBkaWFsb2dcbiAgY29uc3QgaGFuZGxlRXhpdCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBvbkV4aXQoJ0hvb2tzIGRpYWxvZyBkaXNtaXNzZWQnLCB7IGRpc3BsYXk6ICdzeXN0ZW0nIH0pXG4gIH0sIFtvbkV4aXRdKVxuXG4gIC8vIEVzY2FwZSBoYW5kbGluZyBmb3Igc2VsZWN0LWV2ZW50IG1vZGUgLSBleGl0IHRoZSBtZW51XG4gIHVzZUtleWJpbmRpbmcoJ2NvbmZpcm06bm8nLCBoYW5kbGVFeGl0LCB7XG4gICAgY29udGV4dDogJ0NvbmZpcm1hdGlvbicsXG4gICAgaXNBY3RpdmU6IG1vZGUgPT09ICdzZWxlY3QtZXZlbnQnLFxuICB9KVxuXG4gIC8vIEVzY2FwZSBoYW5kbGluZyBmb3Igc2VsZWN0LW1hdGNoZXIgbW9kZSAtIGdvIHRvIHNlbGVjdC1ldmVudFxuICB1c2VLZXliaW5kaW5nKFxuICAgICdjb25maXJtOm5vJyxcbiAgICAoKSA9PiB7XG4gICAgICBzZXRNb2RlU3RhdGUoeyBtb2RlOiAnc2VsZWN0LWV2ZW50JyB9KVxuICAgIH0sXG4gICAge1xuICAgICAgY29udGV4dDogJ0NvbmZpcm1hdGlvbicsXG4gICAgICBpc0FjdGl2ZTogbW9kZSA9PT0gJ3NlbGVjdC1tYXRjaGVyJyxcbiAgICB9LFxuICApXG5cbiAgLy8gRXNjYXBlIGhhbmRsaW5nIGZvciBzZWxlY3QtaG9vayBtb2RlIC0gZ28gdG8gc2VsZWN0LW1hdGNoZXIgb3Igc2VsZWN0LWV2ZW50XG4gIHVzZUtleWJpbmRpbmcoXG4gICAgJ2NvbmZpcm06bm8nLFxuICAgICgpID0+IHtcbiAgICAgIGlmICgnZXZlbnQnIGluIG1vZGVTdGF0ZSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZ2V0TWF0Y2hlck1ldGFkYXRhKG1vZGVTdGF0ZS5ldmVudCwgY29tYmluZWRUb29sTmFtZXMpICE9PSB1bmRlZmluZWRcbiAgICAgICAgKSB7XG4gICAgICAgICAgc2V0TW9kZVN0YXRlKHsgbW9kZTogJ3NlbGVjdC1tYXRjaGVyJywgZXZlbnQ6IG1vZGVTdGF0ZS5ldmVudCB9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldE1vZGVTdGF0ZSh7IG1vZGU6ICdzZWxlY3QtZXZlbnQnIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgIGNvbnRleHQ6ICdDb25maXJtYXRpb24nLFxuICAgICAgaXNBY3RpdmU6IG1vZGUgPT09ICdzZWxlY3QtaG9vaycsXG4gICAgfSxcbiAgKVxuXG4gIC8vIEVzY2FwZSBoYW5kbGluZyBmb3Igdmlldy1ob29rIG1vZGUgLSBnbyB0byBzZWxlY3QtaG9va1xuICB1c2VLZXliaW5kaW5nKFxuICAgICdjb25maXJtOm5vJyxcbiAgICAoKSA9PiB7XG4gICAgICBpZiAobW9kZVN0YXRlLm1vZGUgPT09ICd2aWV3LWhvb2snKSB7XG4gICAgICAgIGNvbnN0IHsgZXZlbnQsIGhvb2sgfSA9IG1vZGVTdGF0ZVxuICAgICAgICBzZXRNb2RlU3RhdGUoe1xuICAgICAgICAgIG1vZGU6ICdzZWxlY3QtaG9vaycsXG4gICAgICAgICAgZXZlbnQsXG4gICAgICAgICAgbWF0Y2hlcjogaG9vay5tYXRjaGVyIHx8ICcnLFxuICAgICAgICB9KVxuICAgICAgfVxuICAgIH0sXG4gICAge1xuICAgICAgY29udGV4dDogJ0NvbmZpcm1hdGlvbicsXG4gICAgICBpc0FjdGl2ZTogbW9kZSA9PT0gJ3ZpZXctaG9vaycsXG4gICAgfSxcbiAgKVxuXG4gIGNvbnN0IGhvb2tFdmVudE1ldGFkYXRhID0gZ2V0SG9va0V2ZW50TWV0YWRhdGEoY29tYmluZWRUb29sTmFtZXMpXG5cbiAgLy8gQ2hlY2sgaWYgaG9va3MgYXJlIGRpc2FibGVkXG4gIGNvbnN0IHNldHRpbmdzID0gZ2V0U2V0dGluZ3NfREVQUkVDQVRFRCgpXG4gIGNvbnN0IGhvb2tzRGlzYWJsZWQgPSBzZXR0aW5ncz8uZGlzYWJsZUFsbEhvb2tzID09PSB0cnVlXG5cbiAgLy8gQ291bnQgaG9va3MgcGVyIGV2ZW50IGZvciB0aGUgZXZlbnQtc2VsZWN0aW9uIHZpZXcsIGFuZCB0aGUgdG90YWwuXG4gIGNvbnN0IHsgaG9va3NCeUV2ZW50LCB0b3RhbEhvb2tzQ291bnQgfSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGJ5RXZlbnQ6IFBhcnRpYWw8UmVjb3JkPEhvb2tFdmVudCwgbnVtYmVyPj4gPSB7fVxuICAgIGxldCB0b3RhbCA9IDBcbiAgICBmb3IgKGNvbnN0IFtldmVudCwgbWF0Y2hlcnNdIG9mIE9iamVjdC5lbnRyaWVzKGhvb2tzQnlFdmVudEFuZE1hdGNoZXIpKSB7XG4gICAgICBjb25zdCBldmVudENvdW50ID0gT2JqZWN0LnZhbHVlcyhtYXRjaGVycykucmVkdWNlKFxuICAgICAgICAoc3VtLCBob29rcykgPT4gc3VtICsgaG9va3MubGVuZ3RoLFxuICAgICAgICAwLFxuICAgICAgKVxuICAgICAgYnlFdmVudFtldmVudCBhcyBIb29rRXZlbnRdID0gZXZlbnRDb3VudFxuICAgICAgdG90YWwgKz0gZXZlbnRDb3VudFxuICAgIH1cbiAgICByZXR1cm4geyBob29rc0J5RXZlbnQ6IGJ5RXZlbnQsIHRvdGFsSG9va3NDb3VudDogdG90YWwgfVxuICB9LCBbaG9va3NCeUV2ZW50QW5kTWF0Y2hlcl0pXG5cbiAgLy8gSWYgaG9va3MgYXJlIGRpc2FibGVkLCBzaG93IGFuIGluZm9ybWF0aW9uYWwgc2NyZWVuLlxuICAvLyBUaGUgbWVudSBpcyByZWFkLW9ubHksIHNvIHdlIGRvbid0IG9mZmVyIGEgcmUtZW5hYmxlIGJ1dHRvbiDigJRcbiAgLy8gdXNlcnMgY2FuIGVkaXQgc2V0dGluZ3MuanNvbiBvciBhc2sgQ2xhdWRlIGluc3RlYWQuXG4gIGlmIChob29rc0Rpc2FibGVkKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxEaWFsb2dcbiAgICAgICAgdGl0bGU9XCJIb29rIENvbmZpZ3VyYXRpb24gLSBEaXNhYmxlZFwiXG4gICAgICAgIG9uQ2FuY2VsPXtoYW5kbGVFeGl0fVxuICAgICAgICBpbnB1dEd1aWRlPXsoKSA9PiA8VGV4dD5Fc2MgdG8gY2xvc2U8L1RleHQ+fVxuICAgICAgPlxuICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBnYXA9ezF9PlxuICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgIEFsbCBob29rcyBhcmUgY3VycmVudGx5IDxUZXh0IGJvbGQ+ZGlzYWJsZWQ8L1RleHQ+XG4gICAgICAgICAgICAgIHtkaXNhYmxlZEJ5UG9saWN5ICYmICcgYnkgYSBtYW5hZ2VkIHNldHRpbmdzIGZpbGUnfS4gWW91IGhhdmV7JyAnfVxuICAgICAgICAgICAgICA8VGV4dCBib2xkPnt0b3RhbEhvb2tzQ291bnR9PC9UZXh0PiBjb25maWd1cmVkeycgJ31cbiAgICAgICAgICAgICAge3BsdXJhbCh0b3RhbEhvb2tzQ291bnQsICdob29rJyl9IHRoYXR7JyAnfVxuICAgICAgICAgICAgICB7cGx1cmFsKHRvdGFsSG9va3NDb3VudCwgJ2lzJywgJ2FyZScpfSBub3QgcnVubmluZy5cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDxCb3ggbWFyZ2luVG9wPXsxfT5cbiAgICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+V2hlbiBob29rcyBhcmUgZGlzYWJsZWQ6PC9UZXh0PlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgICA8VGV4dCBkaW1Db2xvcj7CtyBObyBob29rIGNvbW1hbmRzIHdpbGwgZXhlY3V0ZTwvVGV4dD5cbiAgICAgICAgICAgIDxUZXh0IGRpbUNvbG9yPsK3IFN0YXR1c0xpbmUgd2lsbCBub3QgYmUgZGlzcGxheWVkPC9UZXh0PlxuICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgICAgIMK3IFRvb2wgb3BlcmF0aW9ucyB3aWxsIHByb2NlZWQgd2l0aG91dCBob29rIHZhbGlkYXRpb25cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgICB7IWRpc2FibGVkQnlQb2xpY3kgJiYgKFxuICAgICAgICAgICAgPFRleHQgZGltQ29sb3I+XG4gICAgICAgICAgICAgIFRvIHJlLWVuYWJsZSBob29rcywgcmVtb3ZlICZxdW90O2Rpc2FibGVBbGxIb29rcyZxdW90OyBmcm9tXG4gICAgICAgICAgICAgIHNldHRpbmdzLmpzb24gb3IgYXNrIENsYXVkZS5cbiAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICApfVxuICAgICAgICA8L0JveD5cbiAgICAgIDwvRGlhbG9nPlxuICAgIClcbiAgfVxuXG4gIHN3aXRjaCAobW9kZVN0YXRlLm1vZGUpIHtcbiAgICBjYXNlICdzZWxlY3QtZXZlbnQnOlxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFNlbGVjdEV2ZW50TW9kZVxuICAgICAgICAgIGhvb2tFdmVudE1ldGFkYXRhPXtob29rRXZlbnRNZXRhZGF0YX1cbiAgICAgICAgICBob29rc0J5RXZlbnQ9e2hvb2tzQnlFdmVudH1cbiAgICAgICAgICB0b3RhbEhvb2tzQ291bnQ9e3RvdGFsSG9va3NDb3VudH1cbiAgICAgICAgICByZXN0cmljdGVkQnlQb2xpY3k9e3Jlc3RyaWN0ZWRCeVBvbGljeX1cbiAgICAgICAgICBvblNlbGVjdEV2ZW50PXtldmVudCA9PiB7XG4gICAgICAgICAgICBpZiAoZ2V0TWF0Y2hlck1ldGFkYXRhKGV2ZW50LCBjb21iaW5lZFRvb2xOYW1lcykgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICBzZXRNb2RlU3RhdGUoeyBtb2RlOiAnc2VsZWN0LW1hdGNoZXInLCBldmVudCB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2V0TW9kZVN0YXRlKHsgbW9kZTogJ3NlbGVjdC1ob29rJywgZXZlbnQsIG1hdGNoZXI6ICcnIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfX1cbiAgICAgICAgICBvbkNhbmNlbD17aGFuZGxlRXhpdH1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICBjYXNlICdzZWxlY3QtbWF0Y2hlcic6XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U2VsZWN0TWF0Y2hlck1vZGVcbiAgICAgICAgICBzZWxlY3RlZEV2ZW50PXttb2RlU3RhdGUuZXZlbnR9XG4gICAgICAgICAgbWF0Y2hlcnNGb3JTZWxlY3RlZEV2ZW50PXtzb3J0ZWRNYXRjaGVyc0ZvclNlbGVjdGVkRXZlbnR9XG4gICAgICAgICAgaG9va3NCeUV2ZW50QW5kTWF0Y2hlcj17aG9va3NCeUV2ZW50QW5kTWF0Y2hlcn1cbiAgICAgICAgICBldmVudERlc2NyaXB0aW9uPXtob29rRXZlbnRNZXRhZGF0YVttb2RlU3RhdGUuZXZlbnRdLmRlc2NyaXB0aW9ufVxuICAgICAgICAgIG9uU2VsZWN0PXttYXRjaGVyID0+IHtcbiAgICAgICAgICAgIHNldE1vZGVTdGF0ZSh7XG4gICAgICAgICAgICAgIG1vZGU6ICdzZWxlY3QtaG9vaycsXG4gICAgICAgICAgICAgIGV2ZW50OiBtb2RlU3RhdGUuZXZlbnQsXG4gICAgICAgICAgICAgIG1hdGNoZXIsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25DYW5jZWw9eygpID0+IHtcbiAgICAgICAgICAgIHNldE1vZGVTdGF0ZSh7IG1vZGU6ICdzZWxlY3QtZXZlbnQnIH0pXG4gICAgICAgICAgfX1cbiAgICAgICAgLz5cbiAgICAgIClcbiAgICBjYXNlICdzZWxlY3QtaG9vayc6XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U2VsZWN0SG9va01vZGVcbiAgICAgICAgICBzZWxlY3RlZEV2ZW50PXttb2RlU3RhdGUuZXZlbnR9XG4gICAgICAgICAgc2VsZWN0ZWRNYXRjaGVyPXttb2RlU3RhdGUubWF0Y2hlcn1cbiAgICAgICAgICBob29rc0ZvclNlbGVjdGVkTWF0Y2hlcj17aG9va3NGb3JTZWxlY3RlZE1hdGNoZXJ9XG4gICAgICAgICAgaG9va0V2ZW50TWV0YWRhdGE9e2hvb2tFdmVudE1ldGFkYXRhW21vZGVTdGF0ZS5ldmVudF19XG4gICAgICAgICAgb25TZWxlY3Q9e2hvb2sgPT4ge1xuICAgICAgICAgICAgc2V0TW9kZVN0YXRlKHtcbiAgICAgICAgICAgICAgbW9kZTogJ3ZpZXctaG9vaycsXG4gICAgICAgICAgICAgIGV2ZW50OiBtb2RlU3RhdGUuZXZlbnQsXG4gICAgICAgICAgICAgIGhvb2ssXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH19XG4gICAgICAgICAgb25DYW5jZWw9eygpID0+IHtcbiAgICAgICAgICAgIC8vIEdvIGJhY2sgdG8gbWF0Y2hlciBzZWxlY3Rpb24gb3IgZXZlbnQgc2VsZWN0aW9uXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGdldE1hdGNoZXJNZXRhZGF0YShtb2RlU3RhdGUuZXZlbnQsIGNvbWJpbmVkVG9vbE5hbWVzKSAhPT1cbiAgICAgICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgc2V0TW9kZVN0YXRlKHtcbiAgICAgICAgICAgICAgICBtb2RlOiAnc2VsZWN0LW1hdGNoZXInLFxuICAgICAgICAgICAgICAgIGV2ZW50OiBtb2RlU3RhdGUuZXZlbnQsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBzZXRNb2RlU3RhdGUoeyBtb2RlOiAnc2VsZWN0LWV2ZW50JyB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApXG4gICAgY2FzZSAndmlldy1ob29rJzpcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxWaWV3SG9va01vZGVcbiAgICAgICAgICBzZWxlY3RlZEhvb2s9e21vZGVTdGF0ZS5ob29rfVxuICAgICAgICAgIGV2ZW50U3VwcG9ydHNNYXRjaGVyPXtcbiAgICAgICAgICAgIGdldE1hdGNoZXJNZXRhZGF0YShtb2RlU3RhdGUuZXZlbnQsIGNvbWJpbmVkVG9vbE5hbWVzKSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2FuY2VsPXsoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGV2ZW50LCBob29rIH0gPSBtb2RlU3RhdGVcbiAgICAgICAgICAgIHNldE1vZGVTdGF0ZSh7XG4gICAgICAgICAgICAgIG1vZGU6ICdzZWxlY3QtaG9vaycsXG4gICAgICAgICAgICAgIGV2ZW50LFxuICAgICAgICAgICAgICBtYXRjaGVyOiBob29rLm1hdGNoZXIgfHwgJycsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sS0FBS0EsS0FBSyxNQUFNLE9BQU87QUFDOUIsU0FBU0MsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3RELGNBQWNDLFNBQVMsUUFBUSxrQ0FBa0M7QUFDakUsU0FBU0MsV0FBVyxFQUFFQyxnQkFBZ0IsUUFBUSx1QkFBdUI7QUFDckUsY0FBY0Msb0JBQW9CLFFBQVEsbUJBQW1CO0FBQzdELFNBQVNDLGlCQUFpQixRQUFRLGtDQUFrQztBQUNwRSxTQUFTQyxHQUFHLEVBQUVDLElBQUksUUFBUSxjQUFjO0FBQ3hDLFNBQVNDLGFBQWEsUUFBUSxvQ0FBb0M7QUFDbEUsU0FDRUMsb0JBQW9CLEVBQ3BCQyxrQkFBa0IsRUFDbEJDLGtCQUFrQixFQUNsQkMseUJBQXlCLEVBQ3pCQywyQkFBMkIsUUFDdEIseUNBQXlDO0FBQ2hELGNBQWNDLG9CQUFvQixRQUFRLG9DQUFvQztBQUM5RSxTQUNFQyxzQkFB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
|