import { c as _c } from "react/compiler-runtime"; import React, { useMemo } from 'react'; import type { DeepImmutable } from 'src/types/utils.js'; import { useElapsedTime } from '../../hooks/useElapsedTime.js'; import type { KeyboardEvent } from '../../ink/events/keyboard-event.js'; import { Box, Text, useTheme } from '../../ink.js'; import { useKeybindings } from '../../keybindings/useKeybinding.js'; import { getEmptyToolPermissionContext } from '../../Tool.js'; import type { LocalAgentTaskState } from '../../tasks/LocalAgentTask/LocalAgentTask.js'; import { getTools } from '../../tools.js'; import { formatNumber } from '../../utils/format.js'; import { extractTag } from '../../utils/messages.js'; import { Byline } from '../design-system/Byline.js'; import { Dialog } from '../design-system/Dialog.js'; import { KeyboardShortcutHint } from '../design-system/KeyboardShortcutHint.js'; import { UserPlanMessage } from '../messages/UserPlanMessage.js'; import { renderToolActivity } from './renderToolActivity.js'; import { getTaskStatusColor, getTaskStatusIcon } from './taskStatusUtils.js'; type Props = { agent: DeepImmutable; onDone: () => void; onKillAgent?: () => void; onBack?: () => void; }; export function AsyncAgentDetailDialog(t0) { const $ = _c(54); const { agent, onDone, onKillAgent, onBack } = t0; const [theme] = useTheme(); let t1; if ($[0] === Symbol.for("react.memo_cache_sentinel")) { t1 = getTools(getEmptyToolPermissionContext()); $[0] = t1; } else { t1 = $[0]; } const tools = t1; const elapsedTime = useElapsedTime(agent.startTime, agent.status === "running", 1000, agent.totalPausedMs ?? 0); let t2; if ($[1] !== onDone) { t2 = { "confirm:yes": onDone }; $[1] = onDone; $[2] = t2; } else { t2 = $[2]; } let t3; if ($[3] === Symbol.for("react.memo_cache_sentinel")) { t3 = { context: "Confirmation" }; $[3] = t3; } else { t3 = $[3]; } useKeybindings(t2, t3); let t4; if ($[4] !== agent.status || $[5] !== onBack || $[6] !== onDone || $[7] !== onKillAgent) { t4 = e => { if (e.key === " ") { e.preventDefault(); onDone(); } else { if (e.key === "left" && onBack) { e.preventDefault(); onBack(); } else { if (e.key === "x" && agent.status === "running" && onKillAgent) { e.preventDefault(); onKillAgent(); } } } }; $[4] = agent.status; $[5] = onBack; $[6] = onDone; $[7] = onKillAgent; $[8] = t4; } else { t4 = $[8]; } const handleKeyDown = t4; let t5; if ($[9] !== agent.prompt) { t5 = extractTag(agent.prompt, "plan"); $[9] = agent.prompt; $[10] = t5; } else { t5 = $[10]; } const planContent = t5; const displayPrompt = agent.prompt.length > 300 ? agent.prompt.substring(0, 297) + "\u2026" : agent.prompt; const tokenCount = agent.result?.totalTokens ?? agent.progress?.tokenCount; const toolUseCount = agent.result?.totalToolUseCount ?? agent.progress?.toolUseCount; const t6 = agent.selectedAgent?.agentType ?? "agent"; const t7 = agent.description || "Async agent"; let t8; if ($[11] !== t6 || $[12] !== t7) { t8 = {t6} ›{" "}{t7}; $[11] = t6; $[12] = t7; $[13] = t8; } else { t8 = $[13]; } const title = t8; let t9; if ($[14] !== agent.status) { t9 = agent.status !== "running" && {getTaskStatusIcon(agent.status)}{" "}{agent.status === "completed" ? "Completed" : agent.status === "failed" ? "Failed" : "Stopped"}{" \xB7 "}; $[14] = agent.status; $[15] = t9; } else { t9 = $[15]; } let t10; if ($[16] !== tokenCount) { t10 = tokenCount !== undefined && tokenCount > 0 && <> · {formatNumber(tokenCount)} tokens; $[16] = tokenCount; $[17] = t10; } else { t10 = $[17]; } let t11; if ($[18] !== toolUseCount) { t11 = toolUseCount !== undefined && toolUseCount > 0 && <>{" "}· {toolUseCount} {toolUseCount === 1 ? "tool" : "tools"}; $[18] = toolUseCount; $[19] = t11; } else { t11 = $[19]; } let t12; if ($[20] !== elapsedTime || $[21] !== t10 || $[22] !== t11) { t12 = {elapsedTime}{t10}{t11}; $[20] = elapsedTime; $[21] = t10; $[22] = t11; $[23] = t12; } else { t12 = $[23]; } let t13; if ($[24] !== t12 || $[25] !== t9) { t13 = {t9}{t12}; $[24] = t12; $[25] = t9; $[26] = t13; } else { t13 = $[26]; } const subtitle = t13; let t14; if ($[27] !== agent.status || $[28] !== onBack || $[29] !== onKillAgent) { t14 = exitState => exitState.pending ? Press {exitState.keyName} again to exit : {onBack && }{agent.status === "running" && onKillAgent && }; $[27] = agent.status; $[28] = onBack; $[29] = onKillAgent; $[30] = t14; } else { t14 = $[30]; } let t15; if ($[31] !== agent.progress || $[32] !== agent.status || $[33] !== theme) { t15 = agent.status === "running" && agent.progress?.recentActivities && agent.progress.recentActivities.length > 0 && Progress{agent.progress.recentActivities.map((activity, i) => {i === agent.progress.recentActivities.length - 1 ? "\u203A " : " "}{renderToolActivity(activity, tools, theme)})}; $[31] = agent.progress; $[32] = agent.status; $[33] = theme; $[34] = t15; } else { t15 = $[34]; } let t16; if ($[35] !== displayPrompt || $[36] !== planContent) { t16 = planContent ? : Prompt{displayPrompt}; $[35] = displayPrompt; $[36] = planContent; $[37] = t16; } else { t16 = $[37]; } let t17; if ($[38] !== agent.error || $[39] !== agent.status) { t17 = agent.status === "failed" && agent.error && Error{agent.error}; $[38] = agent.error; $[39] = agent.status; $[40] = t17; } else { t17 = $[40]; } let t18; if ($[41] !== t15 || $[42] !== t16 || $[43] !== t17) { t18 = {t15}{t16}{t17}; $[41] = t15; $[42] = t16; $[43] = t17; $[44] = t18; } else { t18 = $[44]; } let t19; if ($[45] !== onDone || $[46] !== subtitle || $[47] !== t14 || $[48] !== t18 || $[49] !== title) { t19 = {t18}; $[45] = onDone; $[46] = subtitle; $[47] = t14; $[48] = t18; $[49] = title; $[50] = t19; } else { t19 = $[50]; } let t20; if ($[51] !== handleKeyDown || $[52] !== t19) { t20 = {t19}; $[51] = handleKeyDown; $[52] = t19; $[53] = t20; } else { t20 = $[53]; } return t20; } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJEZWVwSW1tdXRhYmxlIiwidXNlRWxhcHNlZFRpbWUiLCJLZXlib2FyZEV2ZW50IiwiQm94IiwiVGV4dCIsInVzZVRoZW1lIiwidXNlS2V5YmluZGluZ3MiLCJnZXRFbXB0eVRvb2xQZXJtaXNzaW9uQ29udGV4dCIsIkxvY2FsQWdlbnRUYXNrU3RhdGUiLCJnZXRUb29scyIsImZvcm1hdE51bWJlciIsImV4dHJhY3RUYWciLCJCeWxpbmUiLCJEaWFsb2ciLCJLZXlib2FyZFNob3J0Y3V0SGludCIsIlVzZXJQbGFuTWVzc2FnZSIsInJlbmRlclRvb2xBY3Rpdml0eSIsImdldFRhc2tTdGF0dXNDb2xvciIsImdldFRhc2tTdGF0dXNJY29uIiwiUHJvcHMiLCJhZ2VudCIsIm9uRG9uZSIsIm9uS2lsbEFnZW50Iiwib25CYWNrIiwiQXN5bmNBZ2VudERldGFpbERpYWxvZyIsInQwIiwiJCIsIl9jIiwidGhlbWUiLCJ0MSIsIlN5bWJvbCIsImZvciIsInRvb2xzIiwiZWxhcHNlZFRpbWUiLCJzdGFydFRpbWUiLCJzdGF0dXMiLCJ0b3RhbFBhdXNlZE1zIiwidDIiLCJ0MyIsImNvbnRleHQiLCJ0NCIsImUiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZUtleURvd24iLCJ0NSIsInByb21wdCIsInBsYW5Db250ZW50IiwiZGlzcGxheVByb21wdCIsImxlbmd0aCIsInN1YnN0cmluZyIsInRva2VuQ291bnQiLCJyZXN1bHQiLCJ0b3RhbFRva2VucyIsInByb2dyZXNzIiwidG9vbFVzZUNvdW50IiwidG90YWxUb29sVXNlQ291bnQiLCJ0NiIsInNlbGVjdGVkQWdlbnQiLCJhZ2VudFR5cGUiLCJ0NyIsImRlc2NyaXB0aW9uIiwidDgiLCJ0aXRsZSIsInQ5IiwidDEwIiwidW5kZWZpbmVkIiwidDExIiwidDEyIiwidDEzIiwic3VidGl0bGUiLCJ0MTQiLCJleGl0U3RhdGUiLCJwZW5kaW5nIiwia2V5TmFtZSIsInQxNSIsInJlY2VudEFjdGl2aXRpZXMiLCJtYXAiLCJhY3Rpdml0eSIsImkiLCJ0MTYiLCJ0MTciLCJlcnJvciIsInQxOCIsInQxOSIsInQyMCJdLCJzb3VyY2VzIjpbIkFzeW5jQWdlbnREZXRhaWxEaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgdHlwZSB7IERlZXBJbW11dGFibGUgfSBmcm9tICdzcmMvdHlwZXMvdXRpbHMuanMnXG5pbXBvcnQgeyB1c2VFbGFwc2VkVGltZSB9IGZyb20gJy4uLy4uL2hvb2tzL3VzZUVsYXBzZWRUaW1lLmpzJ1xuaW1wb3J0IHR5cGUgeyBLZXlib2FyZEV2ZW50IH0gZnJvbSAnLi4vLi4vaW5rL2V2ZW50cy9rZXlib2FyZC1ldmVudC5qcydcbmltcG9ydCB7IEJveCwgVGV4dCwgdXNlVGhlbWUgfSBmcm9tICcuLi8uLi9pbmsuanMnXG5pbXBvcnQgeyB1c2VLZXliaW5kaW5ncyB9IGZyb20gJy4uLy4uL2tleWJpbmRpbmdzL3VzZUtleWJpbmRpbmcuanMnXG5pbXBvcnQgeyBnZXRFbXB0eVRvb2xQZXJtaXNzaW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL1Rvb2wuanMnXG5pbXBvcnQgdHlwZSB7IExvY2FsQWdlbnRUYXNrU3RhdGUgfSBmcm9tICcuLi8uLi90YXNrcy9Mb2NhbEFnZW50VGFzay9Mb2NhbEFnZW50VGFzay5qcydcbmltcG9ydCB7IGdldFRvb2xzIH0gZnJvbSAnLi4vLi4vdG9vbHMuanMnXG5pbXBvcnQgeyBmb3JtYXROdW1iZXIgfSBmcm9tICcuLi8uLi91dGlscy9mb3JtYXQuanMnXG5pbXBvcnQgeyBleHRyYWN0VGFnIH0gZnJvbSAnLi4vLi4vdXRpbHMvbWVzc2FnZXMuanMnXG5pbXBvcnQgeyBCeWxpbmUgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL0J5bGluZS5qcydcbmltcG9ydCB7IERpYWxvZyB9IGZyb20gJy4uL2Rlc2lnbi1zeXN0ZW0vRGlhbG9nLmpzJ1xuaW1wb3J0IHsgS2V5Ym9hcmRTaG9ydGN1dEhpbnQgfSBmcm9tICcuLi9kZXNpZ24tc3lzdGVtL0tleWJvYXJkU2hvcnRjdXRIaW50LmpzJ1xuaW1wb3J0IHsgVXNlclBsYW5NZXNzYWdlIH0gZnJvbSAnLi4vbWVzc2FnZXMvVXNlclBsYW5NZXNzYWdlLmpzJ1xuaW1wb3J0IHsgcmVuZGVyVG9vbEFjdGl2aXR5IH0gZnJvbSAnLi9yZW5kZXJUb29sQWN0aXZpdHkuanMnXG5pbXBvcnQgeyBnZXRUYXNrU3RhdHVzQ29sb3IsIGdldFRhc2tTdGF0dXNJY29uIH0gZnJvbSAnLi90YXNrU3RhdHVzVXRpbHMuanMnXG5cbnR5cGUgUHJvcHMgPSB7XG4gIGFnZW50OiBEZWVwSW1tdXRhYmxlPExvY2FsQWdlbnRUYXNrU3RhdGU+XG4gIG9uRG9uZTogKCkgPT4gdm9pZFxuICBvbktpbGxBZ2VudD86ICgpID0+IHZvaWRcbiAgb25CYWNrPzogKCkgPT4gdm9pZFxufVxuXG5leHBvcnQgZnVuY3Rpb24gQXN5bmNBZ2VudERldGFpbERpYWxvZyh7XG4gIGFnZW50LFxuICBvbkRvbmUsXG4gIG9uS2lsbEFnZW50LFxuICBvbkJhY2ssXG59OiBQcm9wcyk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gIGNvbnN0IFt0aGVtZV0gPSB1c2VUaGVtZSgpXG5cbiAgLy8gR2V0IHRvb2xzIGZvciByZW5kZXJpbmcgYWN0aXZpdHkgbWVzc2FnZXNcbiAgY29uc3QgdG9vbHMgPSB1c2VNZW1vKCgpID0+IGdldFRvb2xzKGdldEVtcHR5VG9vbFBlcm1pc3Npb25Db250ZXh0KCkpLCBbXSlcblxuICBjb25zdCBlbGFwc2VkVGltZSA9IHVzZUVsYXBzZWRUaW1lKFxuICAgIGFnZW50LnN0YXJ0VGltZSxcbiAgICBhZ2VudC5zdGF0dXMgPT09ICdydW5uaW5nJyxcbiAgICAxMDAwLFxuICAgIGFnZW50LnRvdGFsUGF1c2VkTXMgPz8gMCxcbiAgKVxuXG4gIC8vIFJlc3RvcmUgY29uZmlybTp5ZXMgKEVudGVyL3kpIGRpc21pc3NhbCDigJQgRGlhbG9nIGhhbmRsZXMgY29uZmlybTpubyAoRXNjKVxuICAvLyBpbnRlcm5hbGx5IGJ1dCBkb2VzIE5PVCBhdXRvLXdpcmUgY29uZmlybTp5ZXMuXG4gIHVzZUtleWJpbmRpbmdzKFxuICAgIHtcbiAgICAgICdjb25maXJtOnllcyc6IG9uRG9uZSxcbiAgICB9LFxuICAgIHsgY29udGV4dDogJ0NvbmZpcm1hdGlvbicgfSxcbiAgKVxuXG4gIC8vIENvbXBvbmVudC1zcGVjaWZpYyBzaG9ydGN1dHMgc2hvd24gaW4gVUkgaGludHMgKHg9c3RvcCkgYW5kXG4gIC8vIG5hdmlnYXRpb24ga2V5cyAoc3BhY2U9ZGlzbWlzcywgbGVmdD1iYWNrKS4gVGhlc2UgYXJlIGNvbnRleHQtZGVwZW5kZW50XG4gIC8vIGFjdGlvbnMgdGllZCB0byBhZ2VudCBzdGF0ZSwgbm90IHN0YW5kYXJkIGRpYWxvZyBrZXliaW5kaW5ncy5cbiAgLy8gTm90ZTogRGlhbG9nIGNvbXBvbmVudCBhbHJlYWR5IGhhbmRsZXMgRVNDIHZpYSBjb25maXJtOm5vIGtleWJpbmRpbmc7XG4gIC8vIGNvbmZpcm06eWVzIChFbnRlci95KSBpcyBoYW5kbGVkIGJ5IHVzZUtleWJpbmRpbmdzIGFib3ZlLlxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICBpZiAoZS5rZXkgPT09ICcgJykge1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBvbkRvbmUoKVxuICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09ICdsZWZ0JyAmJiBvbkJhY2spIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgb25CYWNrKClcbiAgICB9IGVsc2UgaWYgKGUua2V5ID09PSAneCcgJiYgYWdlbnQuc3RhdHVzID09PSAncnVubmluZycgJiYgb25LaWxsQWdlbnQpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgb25LaWxsQWdlbnQoKVxuICAgIH1cbiAgfVxuXG4gIC8vIEV4dHJhY3QgcGxhbiBmcm9tIHByb21wdCAtIGlmIHByZXNlbnQsIHdlIHNob3cgdGhlIHBsYW4gaW5zdGVhZCBvZiB0aGUgcHJvbXB0XG4gIGNvbnN0IHBsYW5Db250ZW50ID0gZXh0cmFjdFRhZyhhZ2VudC5wcm9tcHQsICdwbGFuJylcblxuICBjb25zdCBkaXNwbGF5UHJvbXB0ID1cbiAgICBhZ2VudC5wcm9tcHQubGVuZ3RoID4gMzAwXG4gICAgICA/IGFnZW50LnByb21wdC5zdWJzdHJpbmcoMCwgMjk3KSArICfigKYnXG4gICAgICA6IGFnZW50LnByb21wdFxuXG4gIC8vIEdldCB0b2tlbnMgYW5kIHRvb2wgdXNlcyAoZnJvbSByZXN1bHQgaWYgY29tcGxldGVkLCBvdGhlcndpc2UgZnJvbSBwcm9ncmVzcylcbiAgY29uc3QgdG9rZW5Db3VudCA9IGFnZW50LnJlc3VsdD8udG90YWxUb2tlbnMgPz8gYWdlbnQucHJvZ3Jlc3M/LnRva2VuQ291bnRcbiAgY29uc3QgdG9vbFVzZUNvdW50ID1cbiAgICBhZ2VudC5yZXN1bHQ/LnRvdGFsVG9vbFVzZUNvdW50ID8/IGFnZW50LnByb2dyZXNzPy50b29sVXNlQ291bnRcblxuICBjb25zdCB0aXRsZSA9IChcbiAgICA8VGV4dD5cbiAgICAgIHthZ2VudC5zZWxlY3RlZEFnZW50Py5hZ2VudFR5cGUgPz8gJ2FnZW50J30g4oC6eycgJ31cbiAgICAgIHthZ2VudC5kZXNjcmlwdGlvbiB8fCAnQXN5bmMgYWdlbnQnfVxuICAgIDwvVGV4dD5cbiAgKVxuXG4gIC8vIEJ1aWxkIHN1YnRpdGxlIHdpdGggc3RhdHVzIGFuZCBzdGF0c1xuICBjb25zdCBzdWJ0aXRsZSA9IChcbiAgICA8VGV4dD5cbiAgICAgIHthZ2VudC5zdGF0dXMgIT09ICdydW5uaW5nJyAmJiAoXG4gICAgICAgIDxUZXh0IGNvbG9yPXtnZXRUYXNrU3RhdHVzQ29sb3IoYWdlbnQuc3RhdHVzKX0+XG4gICAgICAgICAge2dldFRhc2tTdGF0dXNJY29uKGFnZW50LnN0YXR1cyl9eycgJ31cbiAgICAgICAgICB7YWdlbnQuc3RhdHVzID09PSAnY29tcGxldGVkJ1xuICAgICAgICAgICAgPyAnQ29tcGxldGVkJ1xuICAgICAgICAgICAgOiBhZ2VudC5zdGF0dXMgPT09ICdmYWlsZWQnXG4gICAgICAgICAgICAgID8gJ0ZhaWxlZCdcbiAgICAgICAgICAgICAgOiAnU3RvcHBlZCd9XG4gICAgICAgICAgeycgwrcgJ31cbiAgICAgICAgPC9UZXh0PlxuICAgICAgKX1cbiAgICAgIDxUZXh0IGRpbUNvbG9yPlxuICAgICAgICB7ZWxhcHNlZFRpbWV9XG4gICAgICAgIHt0b2tlbkNvdW50ICE9PSB1bmRlZmluZWQgJiYgdG9rZW5Db3VudCA+IDAgJiYgKFxuICAgICAgICAgIDw+IMK3IHtmb3JtYXROdW1iZXIodG9rZW5Db3VudCl9IHRva2VuczwvPlxuICAgICAgICApfVxuICAgICAgICB7dG9vbFVzZUNvdW50ICE9PSB1bmRlZmluZWQgJiYgdG9vbFVzZUNvdW50ID4gMCAmJiAoXG4gICAgICAgICAgPD5cbiAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICDCtyB7dG9vbFVzZUNvdW50fSB7dG9vbFVzZUNvdW50ID09PSAxID8gJ3Rvb2wnIDogJ3Rvb2xzJ31cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgIDwvVGV4dD5cbiAgICA8L1RleHQ+XG4gIClcblxuICByZXR1cm4gKFxuICAgIDxCb3hcbiAgICAgIGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIlxuICAgICAgdGFiSW5kZXg9ezB9XG4gICAgICBhdXRvRm9jdXNcbiAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICA+XG4gICAgICA8RGlhbG9nXG4gICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgc3VidGl0bGU9e3N1YnRpdGxlfVxuICAgICAgICBvbkNhbmNlbD17b25Eb25lfVxuICAgICAgICBjb2xvcj1cImJhY2tncm91bmRcIlxuICAgICAgICBpbnB1dEd1aWRlPXtleGl0U3RhdGUgPT5cbiAgICAgICAgICBleGl0U3RhdGUucGVuZGluZyA/IChcbiAgICAgICAgICAgIDxUZXh0PlByZXNzIHtleGl0U3RhdGUua2V5TmFtZX0gYWdhaW4gdG8gZXhpdDwvVGV4dD5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPEJ5bGluZT5cbiAgICAgICAgICAgICAge29uQmFjayAmJiA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCLihpBcIiBhY3Rpb249XCJnbyBiYWNrXCIgLz59XG4gICAgICAgICAgICAgIDxLZXlib2FyZFNob3J0Y3V0SGludCBzaG9ydGN1dD1cIkVzYy9FbnRlci9TcGFjZVwiIGFjdGlvbj1cImNsb3NlXCIgLz5cbiAgICAgICAgICAgICAge2FnZW50LnN0YXR1cyA9PT0gJ3J1bm5pbmcnICYmIG9uS2lsbEFnZW50ICYmIChcbiAgICAgICAgICAgICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJ4XCIgYWN0aW9uPVwic3RvcFwiIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L0J5bGluZT5cbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgID5cbiAgICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCI+XG4gICAgICAgICAgey8qIFJlY2VudCBhY3Rpdml0aWVzIGZvciBydW5uaW5nIGFnZW50cyAqL31cbiAgICAgICAgICB7YWdlbnQuc3RhdHVzID09PSAncnVubmluZycgJiZcbiAgICAgICAgICAgIGFnZW50LnByb2dyZXNzPy5yZWNlbnRBY3Rpdml0aWVzICYmXG4gICAgICAgICAgICBhZ2VudC5wcm9ncmVzcy5yZWNlbnRBY3Rpdml0aWVzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICAgICAgICA8VGV4dCBib2xkIGRpbUNvbG9yPlxuICAgICAgICAgICAgICAgICAgUHJvZ3Jlc3NcbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAge2FnZW50LnByb2dyZXNzLnJlY2VudEFjdGl2aXRpZXMubWFwKChhY3Rpdml0eSwgaSkgPT4gKFxuICAgICAgICAgICAgICAgICAgPFRleHRcbiAgICAgICAgICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgICAgICAgICBkaW1Db2xvcj17aSA8IGFnZW50LnByb2dyZXNzIS5yZWNlbnRBY3Rpdml0aWVzIS5sZW5ndGggLSAxfVxuICAgICAgICAgICAgICAgICAgICB3cmFwPVwidHJ1bmNhdGUtZW5kXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2kgPT09IGFnZW50LnByb2dyZXNzIS5yZWNlbnRBY3Rpdml0aWVzIS5sZW5ndGggLSAxXG4gICAgICAgICAgICAgICAgICAgICAgPyAn4oC6ICdcbiAgICAgICAgICAgICAgICAgICAgICA6ICcgICd9XG4gICAgICAgICAgICAgICAgICAgIHtyZW5kZXJUb29sQWN0aXZpdHkoYWN0aXZpdHksIHRvb2xzLCB0aGVtZSl9XG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICAgKX1cblxuICAgICAgICAgIHsvKiBQbGFuIHNlY3Rpb24gKGlmIHByZXNlbnQpIC0gc2hvd24gaW5zdGVhZCBvZiBwcm9tcHQgKi99XG4gICAgICAgICAge3BsYW5Db250ZW50ID8gKFxuICAgICAgICAgICAgPEJveCBtYXJnaW5Ub3A9ezF9PlxuICAgICAgICAgICAgICA8VXNlclBsYW5NZXNzYWdlIGFkZE1hcmdpbj17ZmFsc2V9IHBsYW5Db250ZW50PXtwbGFuQ29udGVudH0gLz5cbiAgICAgICAgICAgIDwvQm94PlxuICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAvKiBQcm9tcHQgc2VjdGlvbiAtIG9ubHkgc2hvd24gd2hlbiBubyBwbGFuICovXG4gICAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBtYXJnaW5Ub3A9ezF9PlxuICAgICAgICAgICAgICA8VGV4dCBib2xkIGRpbUNvbG9yPlxuICAgICAgICAgICAgICAgIFByb21wdFxuICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIDxUZXh0IHdyYXA9XCJ3cmFwXCI+e2Rpc3BsYXlQcm9tcHR9PC9UZXh0PlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIHsvKiBFcnJvciBkZXRhaWxzIGlmIGZhaWxlZCAqL31cbiAgICAgICAgICB7YWdlbnQuc3RhdHVzID09PSAnZmFpbGVkJyAmJiBhZ2VudC5lcnJvciAmJiAoXG4gICAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBtYXJnaW5Ub3A9ezF9PlxuICAgICAgICAgICAgICA8VGV4dCBib2xkIGNvbG9yPVwiZXJyb3JcIj5cbiAgICAgICAgICAgICAgICBFcnJvclxuICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwiZXJyb3JcIiB3cmFwPVwid3JhcFwiPlxuICAgICAgICAgICAgICAgIHthZ2VudC5lcnJvcn1cbiAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgPC9Cb3g+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9Cb3g+XG4gICAgICA8L0RpYWxvZz5cbiAgICA8L0JveD5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsS0FBSyxJQUFJQyxPQUFPLFFBQVEsT0FBTztBQUN0QyxjQUFjQyxhQUFhLFFBQVEsb0JBQW9CO0FBQ3ZELFNBQVNDLGNBQWMsUUFBUSwrQkFBK0I7QUFDOUQsY0FBY0MsYUFBYSxRQUFRLG9DQUFvQztBQUN2RSxTQUFTQyxHQUFHLEVBQUVDLElBQUksRUFBRUMsUUFBUSxRQUFRLGNBQWM7QUFDbEQsU0FBU0MsY0FBYyxRQUFRLG9DQUFvQztBQUNuRSxTQUFTQyw2QkFBNkIsUUFBUSxlQUFlO0FBQzdELGNBQWNDLG1C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