mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-20 10:10:56 -07:00
feat(cli): enhance tool confirmation UI and selection layout (#24376)
This commit is contained in:
@@ -48,15 +48,18 @@ index 0000000..e69de29
|
||||
},
|
||||
);
|
||||
await waitFor(() =>
|
||||
expect(mockColorizeCode).toHaveBeenCalledWith({
|
||||
code: 'print("hello world")',
|
||||
language: 'python',
|
||||
availableHeight: undefined,
|
||||
maxWidth: 80,
|
||||
theme: undefined,
|
||||
settings: expect.anything(),
|
||||
disableColor: false,
|
||||
}),
|
||||
expect(mockColorizeCode).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
code: 'print("hello world")',
|
||||
language: 'python',
|
||||
availableHeight: undefined,
|
||||
maxWidth: 80,
|
||||
theme: undefined,
|
||||
settings: expect.anything(),
|
||||
disableColor: false,
|
||||
paddingX: 0,
|
||||
}),
|
||||
),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -83,15 +86,18 @@ index 0000000..e69de29
|
||||
},
|
||||
);
|
||||
await waitFor(() =>
|
||||
expect(mockColorizeCode).toHaveBeenCalledWith({
|
||||
code: 'some content',
|
||||
language: null,
|
||||
availableHeight: undefined,
|
||||
maxWidth: 80,
|
||||
theme: undefined,
|
||||
settings: expect.anything(),
|
||||
disableColor: false,
|
||||
}),
|
||||
expect(mockColorizeCode).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
code: 'some content',
|
||||
language: null,
|
||||
availableHeight: undefined,
|
||||
maxWidth: 80,
|
||||
theme: undefined,
|
||||
settings: expect.anything(),
|
||||
disableColor: false,
|
||||
paddingX: 0,
|
||||
}),
|
||||
),
|
||||
);
|
||||
});
|
||||
|
||||
@@ -114,15 +120,18 @@ index 0000000..e69de29
|
||||
},
|
||||
);
|
||||
await waitFor(() =>
|
||||
expect(mockColorizeCode).toHaveBeenCalledWith({
|
||||
code: 'some text content',
|
||||
language: null,
|
||||
availableHeight: undefined,
|
||||
maxWidth: 80,
|
||||
theme: undefined,
|
||||
settings: expect.anything(),
|
||||
disableColor: false,
|
||||
}),
|
||||
expect(mockColorizeCode).toHaveBeenCalledWith(
|
||||
expect.objectContaining({
|
||||
code: 'some text content',
|
||||
language: null,
|
||||
availableHeight: undefined,
|
||||
maxWidth: 80,
|
||||
theme: undefined,
|
||||
settings: expect.anything(),
|
||||
disableColor: false,
|
||||
paddingX: 0,
|
||||
}),
|
||||
),
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ export function parseDiffWithLineNumbers(diffContent: string): DiffLine[] {
|
||||
for (const line of lines) {
|
||||
const hunkMatch = line.match(hunkHeaderRegex);
|
||||
if (hunkMatch) {
|
||||
currentOldLine = parseInt(hunkMatch[1], 10);
|
||||
currentOldLine = parseInt(hunkMatch[1], 10);
|
||||
currentNewLine = parseInt(hunkMatch[2], 10);
|
||||
inHunk = true;
|
||||
@@ -89,6 +90,7 @@ interface DiffRendererProps {
|
||||
terminalWidth: number;
|
||||
theme?: Theme;
|
||||
disableColor?: boolean;
|
||||
paddingX?: number;
|
||||
}
|
||||
|
||||
const DEFAULT_TAB_WIDTH = 4; // Spaces per tab for normalization
|
||||
@@ -101,6 +103,7 @@ export const DiffRenderer: React.FC<DiffRendererProps> = ({
|
||||
terminalWidth,
|
||||
theme,
|
||||
disableColor = false,
|
||||
paddingX = 0,
|
||||
}) => {
|
||||
const settings = useSettings();
|
||||
|
||||
@@ -122,11 +125,7 @@ export const DiffRenderer: React.FC<DiffRendererProps> = ({
|
||||
|
||||
if (parsedLines.length === 0) {
|
||||
return (
|
||||
<Box
|
||||
borderStyle="round"
|
||||
borderColor={semanticTheme.border.default}
|
||||
padding={1}
|
||||
>
|
||||
<Box padding={1}>
|
||||
<Text dimColor>No changes detected.</Text>
|
||||
</Box>
|
||||
);
|
||||
@@ -162,12 +161,14 @@ export const DiffRenderer: React.FC<DiffRendererProps> = ({
|
||||
theme,
|
||||
settings,
|
||||
disableColor,
|
||||
paddingX,
|
||||
});
|
||||
} else {
|
||||
const key = filename ? `diff-box-${filename}` : undefined;
|
||||
|
||||
return (
|
||||
<MaxSizedBox
|
||||
paddingX={paddingX}
|
||||
maxHeight={availableTerminalHeight}
|
||||
maxWidth={terminalWidth}
|
||||
key={key}
|
||||
@@ -194,6 +195,7 @@ export const DiffRenderer: React.FC<DiffRendererProps> = ({
|
||||
settings,
|
||||
tabWidth,
|
||||
disableColor,
|
||||
paddingX,
|
||||
]);
|
||||
|
||||
return renderedOutput;
|
||||
@@ -239,12 +241,7 @@ export const renderDiffLines = ({
|
||||
|
||||
if (displayableLines.length === 0) {
|
||||
return [
|
||||
<Box
|
||||
key="no-changes"
|
||||
borderStyle="round"
|
||||
borderColor={semanticTheme.border.default}
|
||||
padding={1}
|
||||
>
|
||||
<Box key="no-changes" padding={1}>
|
||||
<Text dimColor>No changes detected.</Text>
|
||||
</Box>,
|
||||
];
|
||||
|
||||
@@ -42,6 +42,7 @@ describe('ToolConfirmationMessage Redirection', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={100}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -88,6 +89,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -111,6 +113,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -140,6 +143,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -169,6 +173,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -197,6 +202,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -225,6 +231,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -253,6 +260,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
await result.waitUntilReady();
|
||||
@@ -338,6 +346,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -361,6 +370,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -396,6 +406,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
{
|
||||
settings: createMockSettings({
|
||||
@@ -423,6 +434,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
{
|
||||
settings: createMockSettings({
|
||||
@@ -474,6 +486,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -505,6 +518,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -536,6 +550,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -562,6 +577,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -607,6 +623,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -638,6 +655,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
@@ -672,13 +690,14 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={40}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
await waitUntilReady();
|
||||
|
||||
const outputLines = lastFrame().split('\n');
|
||||
// Should use the entire terminal height minus 1 line for the "Press Ctrl+O to show more lines" hint
|
||||
expect(outputLines.length).toBe(39);
|
||||
// Should use the entire terminal height
|
||||
expect(outputLines.length).toBe(40);
|
||||
|
||||
await expect({ lastFrame, generateSvg }).toMatchSvgSnapshot();
|
||||
unmount();
|
||||
@@ -712,13 +731,14 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={40}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
await waitUntilReady();
|
||||
|
||||
const outputLines = lastFrame().split('\n');
|
||||
// Should use the entire terminal height minus 1 line for the "Press Ctrl+O to show more lines" hint
|
||||
expect(outputLines.length).toBe(39);
|
||||
// Should use the entire terminal height
|
||||
expect(outputLines.length).toBe(40);
|
||||
|
||||
await expect({ lastFrame, generateSvg }).toMatchSvgSnapshot();
|
||||
unmount();
|
||||
@@ -761,6 +781,7 @@ describe('ToolConfirmationMessage', () => {
|
||||
getPreferredEditor={vi.fn()}
|
||||
availableTerminalHeight={30}
|
||||
terminalWidth={80}
|
||||
toolName="shell"
|
||||
/>,
|
||||
);
|
||||
|
||||
|
||||
@@ -24,13 +24,14 @@ import {
|
||||
RadioButtonSelect,
|
||||
type RadioSelectItem,
|
||||
} from '../shared/RadioButtonSelect.js';
|
||||
import { MaxSizedBox, MINIMUM_MAX_HEIGHT } from '../shared/MaxSizedBox.js';
|
||||
import { MaxSizedBox } from '../shared/MaxSizedBox.js';
|
||||
import {
|
||||
sanitizeForDisplay,
|
||||
stripUnsafeCharacters,
|
||||
} from '../../utils/textUtils.js';
|
||||
import { useKeypress } from '../../hooks/useKeypress.js';
|
||||
import { theme } from '../../semantic-colors.js';
|
||||
import { themeManager } from '../../themes/theme-manager.js';
|
||||
import { useSettings } from '../../contexts/SettingsContext.js';
|
||||
import { Command } from '../../key/keyMatchers.js';
|
||||
import { formatCommand } from '../../key/keybindingUtils.js';
|
||||
@@ -44,6 +45,7 @@ import {
|
||||
type DeceptiveUrlDetails,
|
||||
} from '../../utils/urlSecurityUtils.js';
|
||||
import { useKeyMatchers } from '../../hooks/useKeyMatchers.js';
|
||||
import { isShellTool } from './ToolShared.js';
|
||||
|
||||
export interface ToolConfirmationMessageProps {
|
||||
callId: string;
|
||||
@@ -53,13 +55,9 @@ export interface ToolConfirmationMessageProps {
|
||||
isFocused?: boolean;
|
||||
availableTerminalHeight?: number;
|
||||
terminalWidth: number;
|
||||
toolName: string;
|
||||
}
|
||||
|
||||
const REDIRECTION_WARNING_NOTE_LABEL = 'Note: ';
|
||||
const REDIRECTION_WARNING_NOTE_TEXT =
|
||||
'Command contains redirection which can be undesirable.';
|
||||
const REDIRECTION_WARNING_TIP_LABEL = 'Tip: '; // Padded to align with "Note: "
|
||||
|
||||
export const ToolConfirmationMessage: React.FC<
|
||||
ToolConfirmationMessageProps
|
||||
> = ({
|
||||
@@ -70,6 +68,7 @@ export const ToolConfirmationMessage: React.FC<
|
||||
isFocused = true,
|
||||
availableTerminalHeight,
|
||||
terminalWidth,
|
||||
toolName,
|
||||
}) => {
|
||||
const keyMatchers = useKeyMatchers();
|
||||
const { confirm, isDiffingEnabled } = useToolActions();
|
||||
@@ -152,6 +151,7 @@ export const ToolConfirmationMessage: React.FC<
|
||||
}, []);
|
||||
|
||||
const settings = useSettings();
|
||||
const activeTheme = themeManager.getActiveTheme();
|
||||
const allowPermanentApproval =
|
||||
settings.merged.security.enablePermanentToolApproval &&
|
||||
!config.getDisableAlwaysAllow();
|
||||
@@ -254,8 +254,6 @@ export const ToolConfirmationMessage: React.FC<
|
||||
return true;
|
||||
}
|
||||
if (keyMatchers[Command.QUIT](key)) {
|
||||
// Return false to let ctrl-C bubble up to AppContainer for exit flow.
|
||||
// AppContainer will call cancelOngoingRequest which will cancel the tool.
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
@@ -398,7 +396,6 @@ export const ToolConfirmationMessage: React.FC<
|
||||
key: 'No, suggest changes (esc)',
|
||||
});
|
||||
} else if (confirmationDetails.type === 'mcp') {
|
||||
// mcp tool confirmation
|
||||
options.push({
|
||||
label: 'Allow once',
|
||||
value: ToolConfirmationOutcome.ProceedOnce,
|
||||
@@ -449,40 +446,66 @@ export const ToolConfirmationMessage: React.FC<
|
||||
|
||||
// Calculate the vertical space (in lines) consumed by UI elements
|
||||
// surrounding the main body content.
|
||||
const PADDING_OUTER_Y = 1; // Main container has `paddingBottom={1}`.
|
||||
const HEIGHT_QUESTION = 1; // The question text is one line.
|
||||
const MARGIN_QUESTION_BOTTOM = 1; // Margin on the question container.
|
||||
const SECURITY_WARNING_BOTTOM_MARGIN = 1; // Margin on the securityWarnings container.
|
||||
const SHOW_MORE_LINES_HEIGHT = 1; // The "Press Ctrl+O to show more lines" hint.
|
||||
const PADDING_OUTER_Y = 0;
|
||||
const HEIGHT_QUESTION = 1;
|
||||
const MARGIN_QUESTION_TOP = 0;
|
||||
const MARGIN_QUESTION_BOTTOM = 1;
|
||||
const SECURITY_WARNING_BOTTOM_MARGIN = 1;
|
||||
const SHOW_MORE_LINES_HEIGHT = 1;
|
||||
|
||||
const optionsCount = getOptions().length;
|
||||
|
||||
// The measured height includes the margin inside WarningMessage (1 line).
|
||||
// We also add 1 line for the marginBottom on the securityWarnings container.
|
||||
const securityWarningsHeight = deceptiveUrlWarningText
|
||||
? measuredSecurityWarningsHeight + SECURITY_WARNING_BOTTOM_MARGIN
|
||||
: 0;
|
||||
|
||||
let extraInfoLines = 0;
|
||||
if (confirmationDetails.type === 'sandbox_expansion') {
|
||||
const { additionalPermissions } = confirmationDetails;
|
||||
if (additionalPermissions?.network) extraInfoLines++;
|
||||
extraInfoLines += additionalPermissions?.fileSystem?.read?.length || 0;
|
||||
extraInfoLines += additionalPermissions?.fileSystem?.write?.length || 0;
|
||||
} else if (confirmationDetails.type === 'exec') {
|
||||
const executionProps = confirmationDetails;
|
||||
const commandsToDisplay =
|
||||
executionProps.commands && executionProps.commands.length > 0
|
||||
? executionProps.commands
|
||||
: [executionProps.command];
|
||||
const containsRedirection = commandsToDisplay.some((cmd) =>
|
||||
hasRedirection(cmd),
|
||||
);
|
||||
const isAutoEdit =
|
||||
config.getApprovalMode() === ApprovalMode.YOLO ||
|
||||
config.getApprovalMode() === ApprovalMode.AUTO_EDIT;
|
||||
if (containsRedirection && !isAutoEdit) {
|
||||
extraInfoLines = 1; // Warning line
|
||||
}
|
||||
}
|
||||
|
||||
const surroundingElementsHeight =
|
||||
PADDING_OUTER_Y +
|
||||
HEIGHT_QUESTION +
|
||||
MARGIN_QUESTION_TOP +
|
||||
MARGIN_QUESTION_BOTTOM +
|
||||
SHOW_MORE_LINES_HEIGHT +
|
||||
optionsCount +
|
||||
securityWarningsHeight;
|
||||
securityWarningsHeight +
|
||||
extraInfoLines;
|
||||
|
||||
return Math.max(availableTerminalHeight - surroundingElementsHeight, 1);
|
||||
return Math.max(availableTerminalHeight - surroundingElementsHeight, 2);
|
||||
}, [
|
||||
availableTerminalHeight,
|
||||
handlesOwnUI,
|
||||
getOptions,
|
||||
measuredSecurityWarningsHeight,
|
||||
deceptiveUrlWarningText,
|
||||
confirmationDetails,
|
||||
config,
|
||||
]);
|
||||
|
||||
const { question, bodyContent, options, securityWarnings, initialIndex } =
|
||||
useMemo<{
|
||||
question: string;
|
||||
question: React.ReactNode;
|
||||
bodyContent: React.ReactNode;
|
||||
options: Array<RadioSelectItem<ToolConfirmationOutcome>>;
|
||||
securityWarnings: React.ReactNode;
|
||||
@@ -490,7 +513,7 @@ export const ToolConfirmationMessage: React.FC<
|
||||
}>(() => {
|
||||
let bodyContent: React.ReactNode | null = null;
|
||||
let securityWarnings: React.ReactNode | null = null;
|
||||
let question = '';
|
||||
let question: React.ReactNode = '';
|
||||
const options = getOptions();
|
||||
|
||||
let initialIndex = 0;
|
||||
@@ -519,6 +542,8 @@ export const ToolConfirmationMessage: React.FC<
|
||||
securityWarnings = <WarningMessage text={deceptiveUrlWarningText} />;
|
||||
}
|
||||
|
||||
const bodyHeight = availableBodyContentHeight();
|
||||
|
||||
if (confirmationDetails.type === 'ask_user') {
|
||||
bodyContent = (
|
||||
<AskUserDialog
|
||||
@@ -530,7 +555,7 @@ export const ToolConfirmationMessage: React.FC<
|
||||
handleConfirm(ToolConfirmationOutcome.Cancel);
|
||||
}}
|
||||
width={terminalWidth}
|
||||
availableHeight={availableBodyContentHeight()}
|
||||
availableHeight={bodyHeight}
|
||||
/>
|
||||
);
|
||||
return {
|
||||
@@ -563,7 +588,7 @@ export const ToolConfirmationMessage: React.FC<
|
||||
handleConfirm(ToolConfirmationOutcome.Cancel);
|
||||
}}
|
||||
width={terminalWidth}
|
||||
availableHeight={availableBodyContentHeight()}
|
||||
availableHeight={bodyHeight}
|
||||
/>
|
||||
);
|
||||
return {
|
||||
@@ -578,85 +603,109 @@ export const ToolConfirmationMessage: React.FC<
|
||||
if (confirmationDetails.type === 'edit') {
|
||||
if (!confirmationDetails.isModifying) {
|
||||
question = `Apply this change?`;
|
||||
}
|
||||
} else if (confirmationDetails.type === 'sandbox_expansion') {
|
||||
question = `Allow sandbox expansion for: '${sanitizeForDisplay(confirmationDetails.rootCommand)}'?`;
|
||||
} else if (confirmationDetails.type === 'exec') {
|
||||
const executionProps = confirmationDetails;
|
||||
|
||||
if (executionProps.commands && executionProps.commands.length > 1) {
|
||||
question = `Allow execution of ${executionProps.commands.length} commands?`;
|
||||
} else {
|
||||
question = `Allow execution of: '${sanitizeForDisplay(executionProps.rootCommand)}'?`;
|
||||
}
|
||||
} else if (confirmationDetails.type === 'info') {
|
||||
question = `Do you want to proceed?`;
|
||||
} else if (confirmationDetails.type === 'mcp') {
|
||||
// mcp tool confirmation
|
||||
const mcpProps = confirmationDetails;
|
||||
question = `Allow execution of MCP tool "${sanitizeForDisplay(mcpProps.toolName)}" from server "${sanitizeForDisplay(mcpProps.serverName)}"?`;
|
||||
}
|
||||
|
||||
if (confirmationDetails.type === 'edit') {
|
||||
if (!confirmationDetails.isModifying) {
|
||||
bodyContent = (
|
||||
<DiffRenderer
|
||||
diffContent={stripUnsafeCharacters(confirmationDetails.fileDiff)}
|
||||
filename={sanitizeForDisplay(confirmationDetails.fileName)}
|
||||
availableTerminalHeight={availableBodyContentHeight()}
|
||||
terminalWidth={terminalWidth}
|
||||
/>
|
||||
<>
|
||||
<Box
|
||||
borderStyle="round"
|
||||
borderColor={theme.border.default}
|
||||
paddingX={1}
|
||||
paddingY={0}
|
||||
marginBottom={0}
|
||||
>
|
||||
<DiffRenderer
|
||||
diffContent={stripUnsafeCharacters(
|
||||
confirmationDetails.fileDiff,
|
||||
)}
|
||||
filename={sanitizeForDisplay(confirmationDetails.fileName)}
|
||||
availableTerminalHeight={
|
||||
bodyHeight !== undefined
|
||||
? Math.max(bodyHeight - 2, 2)
|
||||
: undefined
|
||||
}
|
||||
terminalWidth={Math.max(terminalWidth, 1) - 4}
|
||||
/>
|
||||
</Box>
|
||||
</>
|
||||
);
|
||||
}
|
||||
} else if (confirmationDetails.type === 'sandbox_expansion') {
|
||||
const { additionalPermissions } = confirmationDetails;
|
||||
const { additionalPermissions, command, rootCommand } =
|
||||
confirmationDetails;
|
||||
const readPaths = additionalPermissions?.fileSystem?.read || [];
|
||||
const writePaths = additionalPermissions?.fileSystem?.write || [];
|
||||
const network = additionalPermissions?.network;
|
||||
const isShell = isShellTool(toolName);
|
||||
|
||||
const rootCmds = rootCommand
|
||||
.split(',')
|
||||
.map((c) => c.trim().split(/\s+/)[0])
|
||||
.filter((c) => c && !c.startsWith('redirection'));
|
||||
const commandNames = Array.from(new Set(rootCmds)).join(', ');
|
||||
question = '';
|
||||
|
||||
bodyContent = (
|
||||
<Box flexDirection="column" padding={1}>
|
||||
<Text color={theme.text.secondary} italic>
|
||||
The agent is requesting additional sandbox permissions to execute
|
||||
this command:
|
||||
</Text>
|
||||
<Box paddingY={1}>
|
||||
<Text color={theme.text.secondary}>
|
||||
{sanitizeForDisplay(confirmationDetails.command)}
|
||||
</Text>
|
||||
<>
|
||||
<Box
|
||||
borderStyle="round"
|
||||
borderColor={theme.border.default}
|
||||
paddingX={1}
|
||||
paddingY={0}
|
||||
marginBottom={0}
|
||||
>
|
||||
{colorizeCode({
|
||||
code: command.trim(),
|
||||
language: 'bash',
|
||||
maxWidth: Math.max(terminalWidth, 1) - 6,
|
||||
settings,
|
||||
theme: activeTheme,
|
||||
hideLineNumbers: true,
|
||||
availableHeight:
|
||||
bodyHeight !== undefined
|
||||
? Math.max(bodyHeight - 2, 2)
|
||||
: undefined,
|
||||
})}
|
||||
</Box>
|
||||
{network && (
|
||||
<Box>
|
||||
<Text color={theme.status.warning}>• Network Access</Text>
|
||||
</Box>
|
||||
)}
|
||||
{readPaths.length > 0 && (
|
||||
<Box flexDirection="column">
|
||||
<Text color={theme.status.success}>• Read Access:</Text>
|
||||
{readPaths.map((p, i) => (
|
||||
<Text key={i} color={theme.text.secondary}>
|
||||
{' '}
|
||||
{sanitizeForDisplay(p)}
|
||||
</Text>
|
||||
))}
|
||||
</Box>
|
||||
)}
|
||||
{writePaths.length > 0 && (
|
||||
<Box flexDirection="column">
|
||||
<Text color={theme.status.error}>• Write Access:</Text>
|
||||
{writePaths.map((p, i) => (
|
||||
<Text key={i} color={theme.text.secondary}>
|
||||
{' '}
|
||||
{sanitizeForDisplay(p)}
|
||||
</Text>
|
||||
))}
|
||||
</Box>
|
||||
)}
|
||||
</Box>
|
||||
<Box flexDirection="column">
|
||||
<Text>
|
||||
To run{' '}
|
||||
<Text
|
||||
color={isShell ? theme.status.warning : undefined}
|
||||
bold={isShell}
|
||||
>
|
||||
[{sanitizeForDisplay(commandNames)}]
|
||||
</Text>
|
||||
, allow access to the following?
|
||||
</Text>
|
||||
{network && (
|
||||
<Text>
|
||||
<Text color={isShell ? theme.status.warning : undefined} bold>
|
||||
• Network:
|
||||
</Text>{' '}
|
||||
All Urls
|
||||
</Text>
|
||||
)}
|
||||
{writePaths.length > 0 && (
|
||||
<Text>
|
||||
<Text color={isShell ? theme.status.warning : undefined} bold>
|
||||
• Write:
|
||||
</Text>{' '}
|
||||
{writePaths.map((p) => sanitizeForDisplay(p)).join(', ')}
|
||||
</Text>
|
||||
)}
|
||||
{readPaths.length > 0 && (
|
||||
<Text>
|
||||
<Text color={isShell ? theme.status.warning : undefined} bold>
|
||||
• Read:
|
||||
</Text>{' '}
|
||||
{readPaths.map((p) => sanitizeForDisplay(p)).join(', ')}
|
||||
</Text>
|
||||
)}
|
||||
</Box>
|
||||
</>
|
||||
);
|
||||
} else if (confirmationDetails.type === 'exec') {
|
||||
const executionProps = confirmationDetails;
|
||||
|
||||
const isShell = isShellTool(toolName);
|
||||
const commandsToDisplay =
|
||||
executionProps.commands && executionProps.commands.length > 1
|
||||
? executionProps.commands
|
||||
@@ -664,80 +713,96 @@ export const ToolConfirmationMessage: React.FC<
|
||||
const containsRedirection = commandsToDisplay.some((cmd) =>
|
||||
hasRedirection(cmd),
|
||||
);
|
||||
const isAutoEdit =
|
||||
config.getApprovalMode() === ApprovalMode.YOLO ||
|
||||
config.getApprovalMode() === ApprovalMode.AUTO_EDIT;
|
||||
|
||||
let bodyContentHeight = availableBodyContentHeight();
|
||||
let warnings: React.ReactNode = null;
|
||||
|
||||
const isAutoEdit = config.getApprovalMode() === ApprovalMode.AUTO_EDIT;
|
||||
if (containsRedirection && !isAutoEdit) {
|
||||
// Calculate lines needed for Note and Tip
|
||||
const safeWidth = Math.max(terminalWidth, 1);
|
||||
const noteLength =
|
||||
REDIRECTION_WARNING_NOTE_LABEL.length +
|
||||
REDIRECTION_WARNING_NOTE_TEXT.length;
|
||||
const tipText = `Toggle auto-edit (${formatCommand(Command.CYCLE_APPROVAL_MODE)}) to allow redirection in the future.`;
|
||||
const tipLength =
|
||||
REDIRECTION_WARNING_TIP_LABEL.length + tipText.length;
|
||||
|
||||
const noteLines = Math.ceil(noteLength / safeWidth);
|
||||
const tipLines = Math.ceil(tipLength / safeWidth);
|
||||
const spacerLines = 1;
|
||||
const warningHeight = noteLines + tipLines + spacerLines;
|
||||
|
||||
if (bodyContentHeight !== undefined) {
|
||||
bodyContentHeight = Math.max(
|
||||
bodyContentHeight - warningHeight,
|
||||
MINIMUM_MAX_HEIGHT,
|
||||
);
|
||||
}
|
||||
|
||||
const tipText = `To auto-accept, press ${formatCommand(Command.CYCLE_APPROVAL_MODE)}`;
|
||||
warnings = (
|
||||
<>
|
||||
<Box height={1} />
|
||||
<Box>
|
||||
<Text color={theme.text.primary}>
|
||||
<Text bold>{REDIRECTION_WARNING_NOTE_LABEL}</Text>
|
||||
{REDIRECTION_WARNING_NOTE_TEXT}
|
||||
</Text>
|
||||
</Box>
|
||||
<Box>
|
||||
<Text color={theme.border.default}>
|
||||
<Text bold>{REDIRECTION_WARNING_TIP_LABEL}</Text>
|
||||
{tipText}
|
||||
</Text>
|
||||
</Box>
|
||||
</>
|
||||
<Box flexDirection="column" marginBottom={0}>
|
||||
<Text color={theme.text.primary}>
|
||||
Redirection detected.{' '}
|
||||
<Text color={theme.text.secondary}>{tipText}</Text>
|
||||
</Text>
|
||||
</Box>
|
||||
);
|
||||
}
|
||||
|
||||
bodyContent = (
|
||||
<Box flexDirection="column">
|
||||
<MaxSizedBox
|
||||
maxHeight={bodyContentHeight}
|
||||
maxWidth={Math.max(terminalWidth, 1)}
|
||||
const commandNames = Array.from(
|
||||
new Set(
|
||||
commandsToDisplay
|
||||
.map((cmd) => cmd.trim().split(/\s+/)[0])
|
||||
.filter(Boolean),
|
||||
),
|
||||
).join(', ');
|
||||
|
||||
const allowQuestion = (
|
||||
<Text>
|
||||
Allow execution of{' '}
|
||||
<Text
|
||||
color={isShell ? theme.status.warning : undefined}
|
||||
bold={isShell}
|
||||
>
|
||||
<Box flexDirection="column">
|
||||
{commandsToDisplay.map((cmd, idx) => (
|
||||
<Box
|
||||
key={idx}
|
||||
flexDirection="column"
|
||||
paddingBottom={idx < commandsToDisplay.length - 1 ? 1 : 0}
|
||||
>
|
||||
{colorizeCode({
|
||||
code: cmd,
|
||||
language: 'bash',
|
||||
maxWidth: Math.max(terminalWidth, 1),
|
||||
settings,
|
||||
hideLineNumbers: true,
|
||||
})}
|
||||
</Box>
|
||||
))}
|
||||
</Box>
|
||||
</MaxSizedBox>
|
||||
[{sanitizeForDisplay(commandNames)}]
|
||||
</Text>
|
||||
{'?'}
|
||||
</Text>
|
||||
);
|
||||
|
||||
question = (
|
||||
<Box flexDirection="column">
|
||||
{allowQuestion}
|
||||
{warnings}
|
||||
</Box>
|
||||
);
|
||||
|
||||
bodyContent = (
|
||||
<>
|
||||
<Box
|
||||
borderStyle="round"
|
||||
borderColor={theme.border.default}
|
||||
paddingX={1}
|
||||
paddingY={0}
|
||||
marginBottom={0}
|
||||
>
|
||||
<MaxSizedBox
|
||||
maxHeight={
|
||||
bodyHeight !== undefined
|
||||
? Math.max(bodyHeight - 2, 2)
|
||||
: undefined
|
||||
}
|
||||
maxWidth={Math.max(terminalWidth, 1) - 4}
|
||||
>
|
||||
<Box flexDirection="column">
|
||||
{commandsToDisplay.map((cmd, idx) => (
|
||||
<Box
|
||||
key={idx}
|
||||
flexDirection="column"
|
||||
paddingBottom={idx < commandsToDisplay.length - 1 ? 1 : 0}
|
||||
>
|
||||
{colorizeCode({
|
||||
code: cmd.trim(),
|
||||
language: 'bash',
|
||||
maxWidth: Math.max(terminalWidth, 1) - 6,
|
||||
settings,
|
||||
theme: activeTheme,
|
||||
hideLineNumbers: true,
|
||||
availableHeight:
|
||||
bodyHeight !== undefined
|
||||
? Math.max(bodyHeight - 2, 2)
|
||||
: undefined,
|
||||
})}
|
||||
</Box>
|
||||
))}
|
||||
</Box>
|
||||
</MaxSizedBox>
|
||||
</Box>
|
||||
</>
|
||||
);
|
||||
} else if (confirmationDetails.type === 'info') {
|
||||
question = `Do you want to proceed?`;
|
||||
const infoProps = confirmationDetails;
|
||||
const displayUrls =
|
||||
infoProps.urls &&
|
||||
@@ -768,8 +833,8 @@ export const ToolConfirmationMessage: React.FC<
|
||||
</Box>
|
||||
);
|
||||
} else if (confirmationDetails.type === 'mcp') {
|
||||
// mcp tool confirmation
|
||||
const mcpProps = confirmationDetails;
|
||||
question = `Allow execution of MCP tool "${sanitizeForDisplay(mcpProps.toolName)}" from server "${sanitizeForDisplay(mcpProps.serverName)}"?`;
|
||||
|
||||
bodyContent = (
|
||||
<Box flexDirection="column">
|
||||
@@ -790,7 +855,26 @@ export const ToolConfirmationMessage: React.FC<
|
||||
(press {expandDetailsHintKey} to collapse MCP tool
|
||||
details)
|
||||
</Text>
|
||||
<Text color={theme.text.link}>{mcpToolDetailsText}</Text>
|
||||
<Box
|
||||
borderStyle="round"
|
||||
borderColor={theme.border.default}
|
||||
paddingX={1}
|
||||
paddingY={0}
|
||||
marginBottom={0}
|
||||
>
|
||||
{colorizeCode({
|
||||
code: mcpToolDetailsText || '',
|
||||
language: 'json',
|
||||
maxWidth: Math.max(terminalWidth, 1) - 4,
|
||||
settings,
|
||||
theme: activeTheme,
|
||||
hideLineNumbers: true,
|
||||
availableHeight:
|
||||
bodyHeight !== undefined
|
||||
? Math.max(bodyHeight - 2, 2)
|
||||
: undefined,
|
||||
})}
|
||||
</Box>
|
||||
</>
|
||||
) : (
|
||||
<Text color={theme.text.secondary}>
|
||||
@@ -819,7 +903,9 @@ export const ToolConfirmationMessage: React.FC<
|
||||
isTrustedFolder,
|
||||
allowPermanentApproval,
|
||||
settings,
|
||||
activeTheme,
|
||||
config,
|
||||
toolName,
|
||||
]);
|
||||
|
||||
const bodyOverflowDirection: 'top' | 'bottom' =
|
||||
@@ -827,6 +913,30 @@ export const ToolConfirmationMessage: React.FC<
|
||||
? 'bottom'
|
||||
: 'top';
|
||||
|
||||
const renderRadioItem = useCallback(
|
||||
(
|
||||
item: RadioSelectItem<ToolConfirmationOutcome>,
|
||||
{ titleColor }: { titleColor: string },
|
||||
) => {
|
||||
if (item.value === ToolConfirmationOutcome.ProceedAlwaysAndSave) {
|
||||
return (
|
||||
<Text color={titleColor} wrap="truncate">
|
||||
{item.label}{' '}
|
||||
<Text color={theme.text.secondary}>
|
||||
~/.gemini/policies/auto-saved.toml
|
||||
</Text>
|
||||
</Text>
|
||||
);
|
||||
}
|
||||
return (
|
||||
<Text color={titleColor} wrap="truncate">
|
||||
{item.label}
|
||||
</Text>
|
||||
);
|
||||
},
|
||||
[],
|
||||
);
|
||||
|
||||
if (confirmationDetails.type === 'edit') {
|
||||
if (confirmationDetails.isModifying) {
|
||||
return (
|
||||
@@ -849,13 +959,8 @@ export const ToolConfirmationMessage: React.FC<
|
||||
}
|
||||
|
||||
return (
|
||||
<Box
|
||||
flexDirection="column"
|
||||
paddingTop={0}
|
||||
paddingBottom={handlesOwnUI ? 0 : 1}
|
||||
>
|
||||
{/* System message from hook */}
|
||||
{confirmationDetails.systemMessage && (
|
||||
<Box flexDirection="column" paddingTop={0} paddingBottom={0}>
|
||||
{!!confirmationDetails.systemMessage && (
|
||||
<Box marginBottom={1}>
|
||||
<Text color={theme.status.warning}>
|
||||
{confirmationDetails.systemMessage}
|
||||
@@ -867,7 +972,11 @@ export const ToolConfirmationMessage: React.FC<
|
||||
bodyContent
|
||||
) : (
|
||||
<>
|
||||
<Box flexGrow={1} flexShrink={1} overflow="hidden">
|
||||
<Box
|
||||
flexShrink={1}
|
||||
overflow="hidden"
|
||||
marginBottom={!question && !securityWarnings ? 1 : 0}
|
||||
>
|
||||
<MaxSizedBox
|
||||
maxHeight={availableBodyContentHeight()}
|
||||
maxWidth={terminalWidth}
|
||||
@@ -887,9 +996,15 @@ export const ToolConfirmationMessage: React.FC<
|
||||
</Box>
|
||||
)}
|
||||
|
||||
<Box marginBottom={1} flexShrink={0}>
|
||||
<Text color={theme.text.primary}>{question}</Text>
|
||||
</Box>
|
||||
{!!question && (
|
||||
<Box marginBottom={1} flexShrink={0}>
|
||||
{typeof question === 'string' ? (
|
||||
<Text color={theme.text.primary}>{question}</Text>
|
||||
) : (
|
||||
question
|
||||
)}
|
||||
</Box>
|
||||
)}
|
||||
|
||||
<Box flexShrink={0}>
|
||||
<RadioButtonSelect
|
||||
@@ -897,6 +1012,7 @@ export const ToolConfirmationMessage: React.FC<
|
||||
onSelect={handleSelect}
|
||||
isFocused={isFocused}
|
||||
initialIndex={initialIndex}
|
||||
renderItem={renderRadioItem}
|
||||
/>
|
||||
</Box>
|
||||
</>
|
||||
|
||||
@@ -50,11 +50,8 @@ exports[`<OverflowProvider><DiffRenderer /></OverflowProvider> > with useAlterna
|
||||
`;
|
||||
|
||||
exports[`<OverflowProvider><DiffRenderer /></OverflowProvider> > with useAlternateBuffer = false > should handle diff with only header and no changes 1`] = `
|
||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||
│ │
|
||||
│ No changes detected. │
|
||||
│ │
|
||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
||||
"
|
||||
No changes detected.
|
||||
"
|
||||
`;
|
||||
|
||||
@@ -143,11 +140,8 @@ exports[`<OverflowProvider><DiffRenderer /></OverflowProvider> > with useAlterna
|
||||
`;
|
||||
|
||||
exports[`<OverflowProvider><DiffRenderer /></OverflowProvider> > with useAlternateBuffer = true > should handle diff with only header and no changes 1`] = `
|
||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||
│ │
|
||||
│ No changes detected. │
|
||||
│ │
|
||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
||||
"
|
||||
No changes detected.
|
||||
"
|
||||
`;
|
||||
|
||||
|
||||
+5
-5
@@ -1,11 +1,11 @@
|
||||
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
||||
|
||||
exports[`ToolConfirmationMessage Redirection > should display redirection warning and tip for redirected commands 1`] = `
|
||||
"echo "hello" > test.txt
|
||||
|
||||
Note: Command contains redirection which can be undesirable.
|
||||
Tip: Toggle auto-edit (Shift+Tab) to allow redirection in the future.
|
||||
Allow execution of: 'echo, redirection (>)'?
|
||||
"╭──────────────────────────────────────────────────────────────────────────────────────────────────╮
|
||||
│ echo "hello" > test.txt │
|
||||
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
|
||||
Allow execution of [echo]?
|
||||
Redirection detected. To auto-accept, press Shift+Tab
|
||||
|
||||
● 1. Allow once
|
||||
2. Allow for this session
|
||||
|
||||
+465
-416
@@ -1,468 +1,517 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="920" height="666" viewBox="0 0 920 666">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="920" height="683" viewBox="0 0 920 683">
|
||||
<style>
|
||||
text { font-family: Consolas, "Courier New", monospace; font-size: 14px; dominant-baseline: text-before-edge; white-space: pre; }
|
||||
</style>
|
||||
<rect width="920" height="666" fill="#000000" />
|
||||
<rect width="920" height="683" fill="#000000" />
|
||||
<g transform="translate(10, 10)">
|
||||
<text x="0" y="2" fill="#afafaf" textLength="405" lengthAdjust="spacingAndGlyphs">... first 9 lines hidden (Ctrl+O to show) ...</text>
|
||||
<rect x="0" y="17" width="9" height="17" fill="#005f00" />
|
||||
<rect x="9" y="17" width="9" height="17" fill="#005f00" />
|
||||
<text x="9" y="19" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">5</text>
|
||||
<rect x="18" y="17" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="17" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="19" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="36" y="17" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="17" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="19" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="17" width="108" height="17" fill="#005f00" />
|
||||
<text x="90" y="19" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> newLine5 = </text>
|
||||
<rect x="198" y="17" width="36" height="17" fill="#005f00" />
|
||||
<text x="198" y="19" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="234" y="17" width="9" height="17" fill="#005f00" />
|
||||
<text x="234" y="19" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="34" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="9" y="34" width="9" height="17" fill="#5f0000" />
|
||||
<text x="9" y="36" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">6</text>
|
||||
<text x="0" y="2" fill="#333333" textLength="720" lengthAdjust="spacingAndGlyphs">╭──────────────────────────────────────────────────────────────────────────────╮</text>
|
||||
<text x="0" y="19" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="19" fill="#afafaf" textLength="234" lengthAdjust="spacingAndGlyphs">... 10 hidden (Ctrl+O) ...</text>
|
||||
<text x="711" y="19" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="36" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="34" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="34" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="36" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<text x="27" y="36" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">6</text>
|
||||
<rect x="36" y="34" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="34" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="36" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="34" width="108" height="17" fill="#5f0000" />
|
||||
<text x="90" y="36" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> oldLine6 = </text>
|
||||
<rect x="198" y="34" width="36" height="17" fill="#5f0000" />
|
||||
<text x="198" y="36" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="234" y="34" width="9" height="17" fill="#5f0000" />
|
||||
<text x="234" y="36" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="51" width="9" height="17" fill="#005f00" />
|
||||
<rect x="9" y="51" width="9" height="17" fill="#005f00" />
|
||||
<text x="9" y="53" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">6</text>
|
||||
<rect x="45" y="34" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="36" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="34" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="34" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="36" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="34" width="108" height="17" fill="#5f0000" />
|
||||
<text x="108" y="36" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> oldLine6 = </text>
|
||||
<rect x="216" y="34" width="36" height="17" fill="#5f0000" />
|
||||
<text x="216" y="36" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="252" y="34" width="9" height="17" fill="#5f0000" />
|
||||
<text x="252" y="36" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="36" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="53" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="51" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="51" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="53" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<text x="27" y="53" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">6</text>
|
||||
<rect x="36" y="51" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="51" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="53" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="51" width="108" height="17" fill="#005f00" />
|
||||
<text x="90" y="53" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> newLine6 = </text>
|
||||
<rect x="198" y="51" width="36" height="17" fill="#005f00" />
|
||||
<text x="198" y="53" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="234" y="51" width="9" height="17" fill="#005f00" />
|
||||
<text x="234" y="53" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="68" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="9" y="68" width="9" height="17" fill="#5f0000" />
|
||||
<text x="9" y="70" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">7</text>
|
||||
<rect x="45" y="51" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="53" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="51" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="51" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="53" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="51" width="108" height="17" fill="#005f00" />
|
||||
<text x="108" y="53" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> newLine6 = </text>
|
||||
<rect x="216" y="51" width="36" height="17" fill="#005f00" />
|
||||
<text x="216" y="53" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="252" y="51" width="9" height="17" fill="#005f00" />
|
||||
<text x="252" y="53" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="53" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="70" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="68" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="68" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="70" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<text x="27" y="70" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">7</text>
|
||||
<rect x="36" y="68" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="68" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="70" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="68" width="108" height="17" fill="#5f0000" />
|
||||
<text x="90" y="70" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> oldLine7 = </text>
|
||||
<rect x="198" y="68" width="36" height="17" fill="#5f0000" />
|
||||
<text x="198" y="70" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="234" y="68" width="9" height="17" fill="#5f0000" />
|
||||
<text x="234" y="70" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="85" width="9" height="17" fill="#005f00" />
|
||||
<rect x="9" y="85" width="9" height="17" fill="#005f00" />
|
||||
<text x="9" y="87" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">7</text>
|
||||
<rect x="45" y="68" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="70" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="68" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="68" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="70" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="68" width="108" height="17" fill="#5f0000" />
|
||||
<text x="108" y="70" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> oldLine7 = </text>
|
||||
<rect x="216" y="68" width="36" height="17" fill="#5f0000" />
|
||||
<text x="216" y="70" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="252" y="68" width="9" height="17" fill="#5f0000" />
|
||||
<text x="252" y="70" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="70" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="87" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="85" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="85" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="87" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<text x="27" y="87" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">7</text>
|
||||
<rect x="36" y="85" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="85" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="87" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="85" width="108" height="17" fill="#005f00" />
|
||||
<text x="90" y="87" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> newLine7 = </text>
|
||||
<rect x="198" y="85" width="36" height="17" fill="#005f00" />
|
||||
<text x="198" y="87" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="234" y="85" width="9" height="17" fill="#005f00" />
|
||||
<text x="234" y="87" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="102" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="9" y="102" width="9" height="17" fill="#5f0000" />
|
||||
<text x="9" y="104" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">8</text>
|
||||
<rect x="45" y="85" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="87" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="85" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="85" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="87" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="85" width="108" height="17" fill="#005f00" />
|
||||
<text x="108" y="87" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> newLine7 = </text>
|
||||
<rect x="216" y="85" width="36" height="17" fill="#005f00" />
|
||||
<text x="216" y="87" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="252" y="85" width="9" height="17" fill="#005f00" />
|
||||
<text x="252" y="87" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="87" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="104" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="102" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="102" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="104" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<text x="27" y="104" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">8</text>
|
||||
<rect x="36" y="102" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="102" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="104" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="102" width="108" height="17" fill="#5f0000" />
|
||||
<text x="90" y="104" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> oldLine8 = </text>
|
||||
<rect x="198" y="102" width="36" height="17" fill="#5f0000" />
|
||||
<text x="198" y="104" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="234" y="102" width="9" height="17" fill="#5f0000" />
|
||||
<text x="234" y="104" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="119" width="9" height="17" fill="#005f00" />
|
||||
<rect x="9" y="119" width="9" height="17" fill="#005f00" />
|
||||
<text x="9" y="121" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">8</text>
|
||||
<rect x="45" y="102" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="104" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="102" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="102" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="104" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="102" width="108" height="17" fill="#5f0000" />
|
||||
<text x="108" y="104" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> oldLine8 = </text>
|
||||
<rect x="216" y="102" width="36" height="17" fill="#5f0000" />
|
||||
<text x="216" y="104" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="252" y="102" width="9" height="17" fill="#5f0000" />
|
||||
<text x="252" y="104" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="104" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="121" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="119" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="119" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="121" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<text x="27" y="121" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">8</text>
|
||||
<rect x="36" y="119" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="119" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="121" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="119" width="108" height="17" fill="#005f00" />
|
||||
<text x="90" y="121" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> newLine8 = </text>
|
||||
<rect x="198" y="119" width="36" height="17" fill="#005f00" />
|
||||
<text x="198" y="121" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="234" y="119" width="9" height="17" fill="#005f00" />
|
||||
<text x="234" y="121" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="136" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="9" y="136" width="9" height="17" fill="#5f0000" />
|
||||
<text x="9" y="138" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">9</text>
|
||||
<rect x="45" y="119" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="121" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="119" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="119" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="121" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="119" width="108" height="17" fill="#005f00" />
|
||||
<text x="108" y="121" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> newLine8 = </text>
|
||||
<rect x="216" y="119" width="36" height="17" fill="#005f00" />
|
||||
<text x="216" y="121" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="252" y="119" width="9" height="17" fill="#005f00" />
|
||||
<text x="252" y="121" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="121" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="138" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="136" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="136" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="138" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<text x="27" y="138" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">9</text>
|
||||
<rect x="36" y="136" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="136" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="138" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="136" width="108" height="17" fill="#5f0000" />
|
||||
<text x="90" y="138" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> oldLine9 = </text>
|
||||
<rect x="198" y="136" width="36" height="17" fill="#5f0000" />
|
||||
<text x="198" y="138" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="234" y="136" width="9" height="17" fill="#5f0000" />
|
||||
<text x="234" y="138" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="153" width="9" height="17" fill="#005f00" />
|
||||
<rect x="9" y="153" width="9" height="17" fill="#005f00" />
|
||||
<text x="9" y="155" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">9</text>
|
||||
<rect x="45" y="136" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="138" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="136" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="136" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="138" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="136" width="108" height="17" fill="#5f0000" />
|
||||
<text x="108" y="138" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> oldLine9 = </text>
|
||||
<rect x="216" y="136" width="36" height="17" fill="#5f0000" />
|
||||
<text x="216" y="138" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="252" y="136" width="9" height="17" fill="#5f0000" />
|
||||
<text x="252" y="138" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="138" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="155" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="153" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="153" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="155" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<text x="27" y="155" fill="#afafaf" textLength="9" lengthAdjust="spacingAndGlyphs">9</text>
|
||||
<rect x="36" y="153" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="153" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="155" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="153" width="108" height="17" fill="#005f00" />
|
||||
<text x="90" y="155" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> newLine9 = </text>
|
||||
<rect x="198" y="153" width="36" height="17" fill="#005f00" />
|
||||
<text x="198" y="155" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="234" y="153" width="9" height="17" fill="#005f00" />
|
||||
<text x="234" y="155" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="170" width="18" height="17" fill="#5f0000" />
|
||||
<text x="0" y="172" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">10</text>
|
||||
<rect x="18" y="170" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="170" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="172" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="45" y="153" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="155" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="153" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="153" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="155" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="153" width="108" height="17" fill="#005f00" />
|
||||
<text x="108" y="155" fill="#e5e5e5" textLength="108" lengthAdjust="spacingAndGlyphs"> newLine9 = </text>
|
||||
<rect x="216" y="153" width="36" height="17" fill="#005f00" />
|
||||
<text x="216" y="155" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="252" y="153" width="9" height="17" fill="#005f00" />
|
||||
<text x="252" y="155" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="155" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="172" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="170" width="18" height="17" fill="#5f0000" />
|
||||
<text x="18" y="172" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">10</text>
|
||||
<rect x="36" y="170" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="170" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="172" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="170" width="117" height="17" fill="#5f0000" />
|
||||
<text x="90" y="172" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine10 = </text>
|
||||
<rect x="207" y="170" width="36" height="17" fill="#5f0000" />
|
||||
<text x="207" y="172" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="170" width="9" height="17" fill="#5f0000" />
|
||||
<text x="243" y="172" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="187" width="18" height="17" fill="#005f00" />
|
||||
<text x="0" y="189" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">10</text>
|
||||
<rect x="18" y="187" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="187" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="189" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="45" y="170" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="172" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="170" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="170" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="172" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="170" width="117" height="17" fill="#5f0000" />
|
||||
<text x="108" y="172" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine10 = </text>
|
||||
<rect x="225" y="170" width="36" height="17" fill="#5f0000" />
|
||||
<text x="225" y="172" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="170" width="9" height="17" fill="#5f0000" />
|
||||
<text x="261" y="172" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="172" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="189" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="187" width="18" height="17" fill="#005f00" />
|
||||
<text x="18" y="189" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">10</text>
|
||||
<rect x="36" y="187" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="187" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="189" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="187" width="117" height="17" fill="#005f00" />
|
||||
<text x="90" y="189" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine10 = </text>
|
||||
<rect x="207" y="187" width="36" height="17" fill="#005f00" />
|
||||
<text x="207" y="189" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="187" width="9" height="17" fill="#005f00" />
|
||||
<text x="243" y="189" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="204" width="18" height="17" fill="#5f0000" />
|
||||
<text x="0" y="206" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">11</text>
|
||||
<rect x="18" y="204" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="204" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="206" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="45" y="187" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="189" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="187" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="187" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="189" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="187" width="117" height="17" fill="#005f00" />
|
||||
<text x="108" y="189" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine10 = </text>
|
||||
<rect x="225" y="187" width="36" height="17" fill="#005f00" />
|
||||
<text x="225" y="189" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="187" width="9" height="17" fill="#005f00" />
|
||||
<text x="261" y="189" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="189" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="206" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="204" width="18" height="17" fill="#5f0000" />
|
||||
<text x="18" y="206" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">11</text>
|
||||
<rect x="36" y="204" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="204" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="206" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="204" width="117" height="17" fill="#5f0000" />
|
||||
<text x="90" y="206" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine11 = </text>
|
||||
<rect x="207" y="204" width="36" height="17" fill="#5f0000" />
|
||||
<text x="207" y="206" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="204" width="9" height="17" fill="#5f0000" />
|
||||
<text x="243" y="206" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="221" width="18" height="17" fill="#005f00" />
|
||||
<text x="0" y="223" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">11</text>
|
||||
<rect x="18" y="221" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="221" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="223" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="45" y="204" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="206" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="204" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="204" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="206" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="204" width="117" height="17" fill="#5f0000" />
|
||||
<text x="108" y="206" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine11 = </text>
|
||||
<rect x="225" y="204" width="36" height="17" fill="#5f0000" />
|
||||
<text x="225" y="206" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="204" width="9" height="17" fill="#5f0000" />
|
||||
<text x="261" y="206" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="206" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="223" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="221" width="18" height="17" fill="#005f00" />
|
||||
<text x="18" y="223" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">11</text>
|
||||
<rect x="36" y="221" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="221" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="223" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="221" width="117" height="17" fill="#005f00" />
|
||||
<text x="90" y="223" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine11 = </text>
|
||||
<rect x="207" y="221" width="36" height="17" fill="#005f00" />
|
||||
<text x="207" y="223" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="221" width="9" height="17" fill="#005f00" />
|
||||
<text x="243" y="223" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="238" width="18" height="17" fill="#5f0000" />
|
||||
<text x="0" y="240" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">12</text>
|
||||
<rect x="18" y="238" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="238" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="240" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="45" y="221" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="223" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="221" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="221" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="223" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="221" width="117" height="17" fill="#005f00" />
|
||||
<text x="108" y="223" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine11 = </text>
|
||||
<rect x="225" y="221" width="36" height="17" fill="#005f00" />
|
||||
<text x="225" y="223" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="221" width="9" height="17" fill="#005f00" />
|
||||
<text x="261" y="223" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="223" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="240" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="238" width="18" height="17" fill="#5f0000" />
|
||||
<text x="18" y="240" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">12</text>
|
||||
<rect x="36" y="238" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="238" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="240" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="238" width="117" height="17" fill="#5f0000" />
|
||||
<text x="90" y="240" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine12 = </text>
|
||||
<rect x="207" y="238" width="36" height="17" fill="#5f0000" />
|
||||
<text x="207" y="240" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="238" width="9" height="17" fill="#5f0000" />
|
||||
<text x="243" y="240" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="255" width="18" height="17" fill="#005f00" />
|
||||
<text x="0" y="257" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">12</text>
|
||||
<rect x="18" y="255" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="255" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="257" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="45" y="238" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="240" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="238" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="238" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="240" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="238" width="117" height="17" fill="#5f0000" />
|
||||
<text x="108" y="240" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine12 = </text>
|
||||
<rect x="225" y="238" width="36" height="17" fill="#5f0000" />
|
||||
<text x="225" y="240" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="238" width="9" height="17" fill="#5f0000" />
|
||||
<text x="261" y="240" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="240" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="257" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="255" width="18" height="17" fill="#005f00" />
|
||||
<text x="18" y="257" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">12</text>
|
||||
<rect x="36" y="255" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="255" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="257" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="255" width="117" height="17" fill="#005f00" />
|
||||
<text x="90" y="257" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine12 = </text>
|
||||
<rect x="207" y="255" width="36" height="17" fill="#005f00" />
|
||||
<text x="207" y="257" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="255" width="9" height="17" fill="#005f00" />
|
||||
<text x="243" y="257" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="272" width="18" height="17" fill="#5f0000" />
|
||||
<text x="0" y="274" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">13</text>
|
||||
<rect x="18" y="272" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="272" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="274" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="45" y="255" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="257" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="255" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="255" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="257" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="255" width="117" height="17" fill="#005f00" />
|
||||
<text x="108" y="257" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine12 = </text>
|
||||
<rect x="225" y="255" width="36" height="17" fill="#005f00" />
|
||||
<text x="225" y="257" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="255" width="9" height="17" fill="#005f00" />
|
||||
<text x="261" y="257" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="257" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="274" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="272" width="18" height="17" fill="#5f0000" />
|
||||
<text x="18" y="274" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">13</text>
|
||||
<rect x="36" y="272" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="272" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="274" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="272" width="117" height="17" fill="#5f0000" />
|
||||
<text x="90" y="274" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine13 = </text>
|
||||
<rect x="207" y="272" width="36" height="17" fill="#5f0000" />
|
||||
<text x="207" y="274" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="272" width="9" height="17" fill="#5f0000" />
|
||||
<text x="243" y="274" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="289" width="18" height="17" fill="#005f00" />
|
||||
<text x="0" y="291" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">13</text>
|
||||
<rect x="18" y="289" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="289" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="291" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="45" y="272" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="274" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="272" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="272" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="274" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="272" width="117" height="17" fill="#5f0000" />
|
||||
<text x="108" y="274" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine13 = </text>
|
||||
<rect x="225" y="272" width="36" height="17" fill="#5f0000" />
|
||||
<text x="225" y="274" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="272" width="9" height="17" fill="#5f0000" />
|
||||
<text x="261" y="274" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="274" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="291" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="289" width="18" height="17" fill="#005f00" />
|
||||
<text x="18" y="291" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">13</text>
|
||||
<rect x="36" y="289" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="289" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="291" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="289" width="117" height="17" fill="#005f00" />
|
||||
<text x="90" y="291" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine13 = </text>
|
||||
<rect x="207" y="289" width="36" height="17" fill="#005f00" />
|
||||
<text x="207" y="291" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="289" width="9" height="17" fill="#005f00" />
|
||||
<text x="243" y="291" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="306" width="18" height="17" fill="#5f0000" />
|
||||
<text x="0" y="308" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">14</text>
|
||||
<rect x="18" y="306" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="306" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="308" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="45" y="289" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="291" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="289" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="289" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="291" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="289" width="117" height="17" fill="#005f00" />
|
||||
<text x="108" y="291" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine13 = </text>
|
||||
<rect x="225" y="289" width="36" height="17" fill="#005f00" />
|
||||
<text x="225" y="291" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="289" width="9" height="17" fill="#005f00" />
|
||||
<text x="261" y="291" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="291" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="308" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="306" width="18" height="17" fill="#5f0000" />
|
||||
<text x="18" y="308" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">14</text>
|
||||
<rect x="36" y="306" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="306" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="308" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="306" width="117" height="17" fill="#5f0000" />
|
||||
<text x="90" y="308" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine14 = </text>
|
||||
<rect x="207" y="306" width="36" height="17" fill="#5f0000" />
|
||||
<text x="207" y="308" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="306" width="9" height="17" fill="#5f0000" />
|
||||
<text x="243" y="308" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="323" width="18" height="17" fill="#005f00" />
|
||||
<text x="0" y="325" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">14</text>
|
||||
<rect x="18" y="323" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="323" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="325" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="45" y="306" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="308" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="306" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="306" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="308" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="306" width="117" height="17" fill="#5f0000" />
|
||||
<text x="108" y="308" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine14 = </text>
|
||||
<rect x="225" y="306" width="36" height="17" fill="#5f0000" />
|
||||
<text x="225" y="308" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="306" width="9" height="17" fill="#5f0000" />
|
||||
<text x="261" y="308" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="308" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="325" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="323" width="18" height="17" fill="#005f00" />
|
||||
<text x="18" y="325" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">14</text>
|
||||
<rect x="36" y="323" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="323" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="325" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="323" width="117" height="17" fill="#005f00" />
|
||||
<text x="90" y="325" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine14 = </text>
|
||||
<rect x="207" y="323" width="36" height="17" fill="#005f00" />
|
||||
<text x="207" y="325" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="323" width="9" height="17" fill="#005f00" />
|
||||
<text x="243" y="325" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="340" width="18" height="17" fill="#5f0000" />
|
||||
<text x="0" y="342" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">15</text>
|
||||
<rect x="18" y="340" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="340" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="342" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="45" y="323" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="325" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="323" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="323" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="325" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="323" width="117" height="17" fill="#005f00" />
|
||||
<text x="108" y="325" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine14 = </text>
|
||||
<rect x="225" y="323" width="36" height="17" fill="#005f00" />
|
||||
<text x="225" y="325" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="323" width="9" height="17" fill="#005f00" />
|
||||
<text x="261" y="325" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="325" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="342" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="340" width="18" height="17" fill="#5f0000" />
|
||||
<text x="18" y="342" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">15</text>
|
||||
<rect x="36" y="340" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="340" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="342" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="340" width="117" height="17" fill="#5f0000" />
|
||||
<text x="90" y="342" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine15 = </text>
|
||||
<rect x="207" y="340" width="36" height="17" fill="#5f0000" />
|
||||
<text x="207" y="342" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="340" width="9" height="17" fill="#5f0000" />
|
||||
<text x="243" y="342" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="357" width="18" height="17" fill="#005f00" />
|
||||
<text x="0" y="359" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">15</text>
|
||||
<rect x="18" y="357" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="357" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="359" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="45" y="340" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="342" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="340" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="340" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="342" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="340" width="117" height="17" fill="#5f0000" />
|
||||
<text x="108" y="342" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine15 = </text>
|
||||
<rect x="225" y="340" width="36" height="17" fill="#5f0000" />
|
||||
<text x="225" y="342" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="340" width="9" height="17" fill="#5f0000" />
|
||||
<text x="261" y="342" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="342" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="359" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="357" width="18" height="17" fill="#005f00" />
|
||||
<text x="18" y="359" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">15</text>
|
||||
<rect x="36" y="357" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="357" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="359" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="357" width="117" height="17" fill="#005f00" />
|
||||
<text x="90" y="359" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine15 = </text>
|
||||
<rect x="207" y="357" width="36" height="17" fill="#005f00" />
|
||||
<text x="207" y="359" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="357" width="9" height="17" fill="#005f00" />
|
||||
<text x="243" y="359" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="374" width="18" height="17" fill="#5f0000" />
|
||||
<text x="0" y="376" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">16</text>
|
||||
<rect x="18" y="374" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="374" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="376" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="45" y="357" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="359" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="357" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="357" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="359" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="357" width="117" height="17" fill="#005f00" />
|
||||
<text x="108" y="359" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine15 = </text>
|
||||
<rect x="225" y="357" width="36" height="17" fill="#005f00" />
|
||||
<text x="225" y="359" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="357" width="9" height="17" fill="#005f00" />
|
||||
<text x="261" y="359" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="359" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="376" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="374" width="18" height="17" fill="#5f0000" />
|
||||
<text x="18" y="376" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">16</text>
|
||||
<rect x="36" y="374" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="374" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="376" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="374" width="117" height="17" fill="#5f0000" />
|
||||
<text x="90" y="376" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine16 = </text>
|
||||
<rect x="207" y="374" width="36" height="17" fill="#5f0000" />
|
||||
<text x="207" y="376" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="374" width="9" height="17" fill="#5f0000" />
|
||||
<text x="243" y="376" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="391" width="18" height="17" fill="#005f00" />
|
||||
<text x="0" y="393" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">16</text>
|
||||
<rect x="18" y="391" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="391" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="393" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="45" y="374" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="376" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="374" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="374" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="376" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="374" width="117" height="17" fill="#5f0000" />
|
||||
<text x="108" y="376" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine16 = </text>
|
||||
<rect x="225" y="374" width="36" height="17" fill="#5f0000" />
|
||||
<text x="225" y="376" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="374" width="9" height="17" fill="#5f0000" />
|
||||
<text x="261" y="376" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="376" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="393" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="391" width="18" height="17" fill="#005f00" />
|
||||
<text x="18" y="393" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">16</text>
|
||||
<rect x="36" y="391" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="391" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="393" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="391" width="117" height="17" fill="#005f00" />
|
||||
<text x="90" y="393" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine16 = </text>
|
||||
<rect x="207" y="391" width="36" height="17" fill="#005f00" />
|
||||
<text x="207" y="393" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="391" width="9" height="17" fill="#005f00" />
|
||||
<text x="243" y="393" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="408" width="18" height="17" fill="#5f0000" />
|
||||
<text x="0" y="410" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">17</text>
|
||||
<rect x="18" y="408" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="408" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="410" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="45" y="391" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="393" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="391" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="391" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="393" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="391" width="117" height="17" fill="#005f00" />
|
||||
<text x="108" y="393" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine16 = </text>
|
||||
<rect x="225" y="391" width="36" height="17" fill="#005f00" />
|
||||
<text x="225" y="393" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="391" width="9" height="17" fill="#005f00" />
|
||||
<text x="261" y="393" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="393" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="410" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="408" width="18" height="17" fill="#5f0000" />
|
||||
<text x="18" y="410" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">17</text>
|
||||
<rect x="36" y="408" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="408" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="410" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="408" width="117" height="17" fill="#5f0000" />
|
||||
<text x="90" y="410" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine17 = </text>
|
||||
<rect x="207" y="408" width="36" height="17" fill="#5f0000" />
|
||||
<text x="207" y="410" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="408" width="9" height="17" fill="#5f0000" />
|
||||
<text x="243" y="410" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="425" width="18" height="17" fill="#005f00" />
|
||||
<text x="0" y="427" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">17</text>
|
||||
<rect x="18" y="425" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="425" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="427" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="45" y="408" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="410" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="408" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="408" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="410" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="408" width="117" height="17" fill="#5f0000" />
|
||||
<text x="108" y="410" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine17 = </text>
|
||||
<rect x="225" y="408" width="36" height="17" fill="#5f0000" />
|
||||
<text x="225" y="410" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="408" width="9" height="17" fill="#5f0000" />
|
||||
<text x="261" y="410" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="410" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="427" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="425" width="18" height="17" fill="#005f00" />
|
||||
<text x="18" y="427" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">17</text>
|
||||
<rect x="36" y="425" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="425" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="427" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="425" width="117" height="17" fill="#005f00" />
|
||||
<text x="90" y="427" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine17 = </text>
|
||||
<rect x="207" y="425" width="36" height="17" fill="#005f00" />
|
||||
<text x="207" y="427" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="425" width="9" height="17" fill="#005f00" />
|
||||
<text x="243" y="427" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="442" width="18" height="17" fill="#5f0000" />
|
||||
<text x="0" y="444" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">18</text>
|
||||
<rect x="18" y="442" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="442" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="444" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="45" y="425" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="427" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="425" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="425" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="427" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="425" width="117" height="17" fill="#005f00" />
|
||||
<text x="108" y="427" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine17 = </text>
|
||||
<rect x="225" y="425" width="36" height="17" fill="#005f00" />
|
||||
<text x="225" y="427" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="425" width="9" height="17" fill="#005f00" />
|
||||
<text x="261" y="427" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="427" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="444" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="442" width="18" height="17" fill="#5f0000" />
|
||||
<text x="18" y="444" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">18</text>
|
||||
<rect x="36" y="442" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="442" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="444" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="442" width="117" height="17" fill="#5f0000" />
|
||||
<text x="90" y="444" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine18 = </text>
|
||||
<rect x="207" y="442" width="36" height="17" fill="#5f0000" />
|
||||
<text x="207" y="444" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="442" width="9" height="17" fill="#5f0000" />
|
||||
<text x="243" y="444" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="459" width="18" height="17" fill="#005f00" />
|
||||
<text x="0" y="461" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">18</text>
|
||||
<rect x="18" y="459" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="459" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="461" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="45" y="442" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="444" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="442" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="442" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="444" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="442" width="117" height="17" fill="#5f0000" />
|
||||
<text x="108" y="444" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine18 = </text>
|
||||
<rect x="225" y="442" width="36" height="17" fill="#5f0000" />
|
||||
<text x="225" y="444" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="442" width="9" height="17" fill="#5f0000" />
|
||||
<text x="261" y="444" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="444" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="461" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="459" width="18" height="17" fill="#005f00" />
|
||||
<text x="18" y="461" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">18</text>
|
||||
<rect x="36" y="459" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="459" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="461" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="459" width="117" height="17" fill="#005f00" />
|
||||
<text x="90" y="461" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine18 = </text>
|
||||
<rect x="207" y="459" width="36" height="17" fill="#005f00" />
|
||||
<text x="207" y="461" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="459" width="9" height="17" fill="#005f00" />
|
||||
<text x="243" y="461" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="476" width="18" height="17" fill="#5f0000" />
|
||||
<text x="0" y="478" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">19</text>
|
||||
<rect x="18" y="476" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="476" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="478" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="45" y="459" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="461" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="459" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="459" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="461" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="459" width="117" height="17" fill="#005f00" />
|
||||
<text x="108" y="461" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine18 = </text>
|
||||
<rect x="225" y="459" width="36" height="17" fill="#005f00" />
|
||||
<text x="225" y="461" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="459" width="9" height="17" fill="#005f00" />
|
||||
<text x="261" y="461" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="461" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="478" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="476" width="18" height="17" fill="#5f0000" />
|
||||
<text x="18" y="478" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">19</text>
|
||||
<rect x="36" y="476" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="476" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="478" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="476" width="117" height="17" fill="#5f0000" />
|
||||
<text x="90" y="478" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine19 = </text>
|
||||
<rect x="207" y="476" width="36" height="17" fill="#5f0000" />
|
||||
<text x="207" y="478" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="476" width="9" height="17" fill="#5f0000" />
|
||||
<text x="243" y="478" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="493" width="18" height="17" fill="#005f00" />
|
||||
<text x="0" y="495" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">19</text>
|
||||
<rect x="18" y="493" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="493" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="495" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="45" y="476" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="478" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="476" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="476" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="478" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="476" width="117" height="17" fill="#5f0000" />
|
||||
<text x="108" y="478" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine19 = </text>
|
||||
<rect x="225" y="476" width="36" height="17" fill="#5f0000" />
|
||||
<text x="225" y="478" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="476" width="9" height="17" fill="#5f0000" />
|
||||
<text x="261" y="478" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="478" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="495" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="493" width="18" height="17" fill="#005f00" />
|
||||
<text x="18" y="495" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">19</text>
|
||||
<rect x="36" y="493" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="493" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="495" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="493" width="117" height="17" fill="#005f00" />
|
||||
<text x="90" y="495" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine19 = </text>
|
||||
<rect x="207" y="493" width="36" height="17" fill="#005f00" />
|
||||
<text x="207" y="495" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="493" width="9" height="17" fill="#005f00" />
|
||||
<text x="243" y="495" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="510" width="18" height="17" fill="#5f0000" />
|
||||
<text x="0" y="512" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">20</text>
|
||||
<rect x="18" y="510" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="27" y="510" width="9" height="17" fill="#5f0000" />
|
||||
<text x="27" y="512" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="45" y="493" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="495" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="493" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="493" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="495" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="493" width="117" height="17" fill="#005f00" />
|
||||
<text x="108" y="495" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine19 = </text>
|
||||
<rect x="225" y="493" width="36" height="17" fill="#005f00" />
|
||||
<text x="225" y="495" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="493" width="9" height="17" fill="#005f00" />
|
||||
<text x="261" y="495" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="495" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="512" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="510" width="18" height="17" fill="#5f0000" />
|
||||
<text x="18" y="512" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">20</text>
|
||||
<rect x="36" y="510" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="45" y="510" width="45" height="17" fill="#5f0000" />
|
||||
<text x="45" y="512" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="510" width="117" height="17" fill="#5f0000" />
|
||||
<text x="90" y="512" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine20 = </text>
|
||||
<rect x="207" y="510" width="36" height="17" fill="#5f0000" />
|
||||
<text x="207" y="512" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="510" width="9" height="17" fill="#5f0000" />
|
||||
<text x="243" y="512" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<rect x="0" y="527" width="18" height="17" fill="#005f00" />
|
||||
<text x="0" y="529" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">20</text>
|
||||
<rect x="18" y="527" width="9" height="17" fill="#005f00" />
|
||||
<rect x="27" y="527" width="9" height="17" fill="#005f00" />
|
||||
<text x="27" y="529" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="45" y="510" width="9" height="17" fill="#5f0000" />
|
||||
<text x="45" y="512" fill="#ff87af" textLength="9" lengthAdjust="spacingAndGlyphs">-</text>
|
||||
<rect x="54" y="510" width="9" height="17" fill="#5f0000" />
|
||||
<rect x="63" y="510" width="45" height="17" fill="#5f0000" />
|
||||
<text x="63" y="512" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="510" width="117" height="17" fill="#5f0000" />
|
||||
<text x="108" y="512" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> oldLine20 = </text>
|
||||
<rect x="225" y="510" width="36" height="17" fill="#5f0000" />
|
||||
<text x="225" y="512" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="510" width="9" height="17" fill="#5f0000" />
|
||||
<text x="261" y="512" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="512" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="529" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<rect x="18" y="527" width="18" height="17" fill="#005f00" />
|
||||
<text x="18" y="529" fill="#afafaf" textLength="18" lengthAdjust="spacingAndGlyphs">20</text>
|
||||
<rect x="36" y="527" width="9" height="17" fill="#005f00" />
|
||||
<rect x="45" y="527" width="45" height="17" fill="#005f00" />
|
||||
<text x="45" y="529" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="90" y="527" width="117" height="17" fill="#005f00" />
|
||||
<text x="90" y="529" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine20 = </text>
|
||||
<rect x="207" y="527" width="36" height="17" fill="#005f00" />
|
||||
<text x="207" y="529" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="243" y="527" width="9" height="17" fill="#005f00" />
|
||||
<text x="243" y="529" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="0" y="546" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Apply this change?</text>
|
||||
<rect x="0" y="578" width="9" height="17" fill="#001a00" />
|
||||
<text x="0" y="580" fill="#00cd00" textLength="9" lengthAdjust="spacingAndGlyphs">●</text>
|
||||
<rect x="9" y="578" width="9" height="17" fill="#001a00" />
|
||||
<rect x="18" y="578" width="18" height="17" fill="#001a00" />
|
||||
<text x="18" y="580" fill="#00cd00" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text>
|
||||
<rect x="36" y="578" width="9" height="17" fill="#001a00" />
|
||||
<rect x="45" y="578" width="90" height="17" fill="#001a00" />
|
||||
<text x="45" y="580" fill="#00cd00" textLength="90" lengthAdjust="spacingAndGlyphs">Allow once</text>
|
||||
<rect x="135" y="578" width="153" height="17" fill="#001a00" />
|
||||
<text x="18" y="597" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">2.</text>
|
||||
<text x="45" y="597" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Allow for this session</text>
|
||||
<text x="18" y="614" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">3.</text>
|
||||
<text x="45" y="614" fill="#ffffff" textLength="243" lengthAdjust="spacingAndGlyphs">Modify with external editor</text>
|
||||
<text x="18" y="631" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">4.</text>
|
||||
<text x="45" y="631" fill="#ffffff" textLength="225" lengthAdjust="spacingAndGlyphs">No, suggest changes (esc)</text>
|
||||
<rect x="45" y="527" width="9" height="17" fill="#005f00" />
|
||||
<text x="45" y="529" fill="#d7ffd7" textLength="9" lengthAdjust="spacingAndGlyphs">+</text>
|
||||
<rect x="54" y="527" width="9" height="17" fill="#005f00" />
|
||||
<rect x="63" y="527" width="45" height="17" fill="#005f00" />
|
||||
<text x="63" y="529" fill="#0000ee" textLength="45" lengthAdjust="spacingAndGlyphs">const</text>
|
||||
<rect x="108" y="527" width="117" height="17" fill="#005f00" />
|
||||
<text x="108" y="529" fill="#e5e5e5" textLength="117" lengthAdjust="spacingAndGlyphs"> newLine20 = </text>
|
||||
<rect x="225" y="527" width="36" height="17" fill="#005f00" />
|
||||
<text x="225" y="529" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">true</text>
|
||||
<rect x="261" y="527" width="9" height="17" fill="#005f00" />
|
||||
<text x="261" y="529" fill="#e5e5e5" textLength="9" lengthAdjust="spacingAndGlyphs">;</text>
|
||||
<text x="711" y="529" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="546" fill="#333333" textLength="720" lengthAdjust="spacingAndGlyphs">╰──────────────────────────────────────────────────────────────────────────────╯</text>
|
||||
<text x="0" y="563" fill="#ffffff" textLength="162" lengthAdjust="spacingAndGlyphs">Apply this change?</text>
|
||||
<rect x="0" y="595" width="9" height="17" fill="#001a00" />
|
||||
<text x="0" y="597" fill="#00cd00" textLength="9" lengthAdjust="spacingAndGlyphs">●</text>
|
||||
<rect x="9" y="595" width="9" height="17" fill="#001a00" />
|
||||
<rect x="18" y="595" width="18" height="17" fill="#001a00" />
|
||||
<text x="18" y="597" fill="#00cd00" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text>
|
||||
<rect x="36" y="595" width="9" height="17" fill="#001a00" />
|
||||
<rect x="45" y="595" width="90" height="17" fill="#001a00" />
|
||||
<text x="45" y="597" fill="#00cd00" textLength="90" lengthAdjust="spacingAndGlyphs">Allow once</text>
|
||||
<rect x="135" y="595" width="153" height="17" fill="#001a00" />
|
||||
<text x="18" y="614" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">2.</text>
|
||||
<text x="45" y="614" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Allow for this session</text>
|
||||
<text x="18" y="631" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">3.</text>
|
||||
<text x="45" y="631" fill="#ffffff" textLength="243" lengthAdjust="spacingAndGlyphs">Modify with external editor</text>
|
||||
<text x="18" y="648" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">4.</text>
|
||||
<text x="45" y="648" fill="#ffffff" textLength="225" lengthAdjust="spacingAndGlyphs">No, suggest changes (esc)</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 42 KiB |
+145
-81
@@ -1,87 +1,151 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="920" height="666" viewBox="0 0 920 666">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="920" height="683" viewBox="0 0 920 683">
|
||||
<style>
|
||||
text { font-family: Consolas, "Courier New", monospace; font-size: 14px; dominant-baseline: text-before-edge; white-space: pre; }
|
||||
</style>
|
||||
<rect width="920" height="666" fill="#000000" />
|
||||
<rect width="920" height="683" fill="#000000" />
|
||||
<g transform="translate(10, 10)">
|
||||
<text x="0" y="2" fill="#afafaf" textLength="414" lengthAdjust="spacingAndGlyphs">... first 18 lines hidden (Ctrl+O to show) ...</text>
|
||||
<text x="0" y="19" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="19" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 19"</text>
|
||||
<text x="0" y="36" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="36" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 20"</text>
|
||||
<text x="0" y="53" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="53" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 21"</text>
|
||||
<text x="0" y="70" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="70" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 22"</text>
|
||||
<text x="0" y="87" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="87" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 23"</text>
|
||||
<text x="0" y="104" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="104" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 24"</text>
|
||||
<text x="0" y="121" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="121" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 25"</text>
|
||||
<text x="0" y="138" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="138" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 26"</text>
|
||||
<text x="0" y="155" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="155" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 27"</text>
|
||||
<text x="0" y="172" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="172" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 28"</text>
|
||||
<text x="0" y="189" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="189" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 29"</text>
|
||||
<text x="0" y="206" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="206" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 30"</text>
|
||||
<text x="0" y="223" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="223" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 31"</text>
|
||||
<text x="0" y="240" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="240" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 32"</text>
|
||||
<text x="0" y="257" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="257" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 33"</text>
|
||||
<text x="0" y="274" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="274" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 34"</text>
|
||||
<text x="0" y="291" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="291" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 35"</text>
|
||||
<text x="0" y="308" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="308" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 36"</text>
|
||||
<text x="0" y="325" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="325" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 37"</text>
|
||||
<text x="0" y="342" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="342" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 38"</text>
|
||||
<text x="0" y="359" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="359" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 39"</text>
|
||||
<text x="0" y="376" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="376" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 40"</text>
|
||||
<text x="0" y="393" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="393" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 41"</text>
|
||||
<text x="0" y="410" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="410" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 42"</text>
|
||||
<text x="0" y="427" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="427" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 43"</text>
|
||||
<text x="0" y="444" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="444" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 44"</text>
|
||||
<text x="0" y="461" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="461" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 45"</text>
|
||||
<text x="0" y="478" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="478" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 46"</text>
|
||||
<text x="0" y="495" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="495" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 47"</text>
|
||||
<text x="0" y="512" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="512" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 48"</text>
|
||||
<text x="0" y="529" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="529" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 49"</text>
|
||||
<text x="0" y="546" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="546" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 50"</text>
|
||||
<text x="0" y="563" fill="#ffffff" textLength="243" lengthAdjust="spacingAndGlyphs">Allow execution of: 'echo'?</text>
|
||||
<rect x="0" y="595" width="9" height="17" fill="#001a00" />
|
||||
<text x="0" y="597" fill="#00cd00" textLength="9" lengthAdjust="spacingAndGlyphs">●</text>
|
||||
<rect x="9" y="595" width="9" height="17" fill="#001a00" />
|
||||
<rect x="18" y="595" width="18" height="17" fill="#001a00" />
|
||||
<text x="18" y="597" fill="#00cd00" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text>
|
||||
<rect x="36" y="595" width="9" height="17" fill="#001a00" />
|
||||
<rect x="45" y="595" width="90" height="17" fill="#001a00" />
|
||||
<text x="45" y="597" fill="#00cd00" textLength="90" lengthAdjust="spacingAndGlyphs">Allow once</text>
|
||||
<rect x="135" y="595" width="135" height="17" fill="#001a00" />
|
||||
<text x="18" y="614" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">2.</text>
|
||||
<text x="45" y="614" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Allow for this session</text>
|
||||
<text x="18" y="631" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">3.</text>
|
||||
<text x="45" y="631" fill="#ffffff" textLength="225" lengthAdjust="spacingAndGlyphs">No, suggest changes (esc)</text>
|
||||
<text x="0" y="2" fill="#333333" textLength="720" lengthAdjust="spacingAndGlyphs">╭──────────────────────────────────────────────────────────────────────────────╮</text>
|
||||
<text x="0" y="19" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="19" fill="#afafaf" textLength="234" lengthAdjust="spacingAndGlyphs">... 19 hidden (Ctrl+O) ...</text>
|
||||
<text x="711" y="19" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="36" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="36" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="36" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 20"</text>
|
||||
<text x="711" y="36" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="53" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="53" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="53" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 21"</text>
|
||||
<text x="711" y="53" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="70" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="70" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="70" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 22"</text>
|
||||
<text x="711" y="70" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="87" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="87" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="87" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 23"</text>
|
||||
<text x="711" y="87" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="104" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="104" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="104" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 24"</text>
|
||||
<text x="711" y="104" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="121" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="121" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="121" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 25"</text>
|
||||
<text x="711" y="121" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="138" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="138" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="138" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 26"</text>
|
||||
<text x="711" y="138" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="155" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="155" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="155" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 27"</text>
|
||||
<text x="711" y="155" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="172" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="172" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="172" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 28"</text>
|
||||
<text x="711" y="172" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="189" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="189" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="189" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 29"</text>
|
||||
<text x="711" y="189" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="206" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="206" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="206" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 30"</text>
|
||||
<text x="711" y="206" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="223" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="223" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="223" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 31"</text>
|
||||
<text x="711" y="223" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="240" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="240" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="240" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 32"</text>
|
||||
<text x="711" y="240" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="257" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="257" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="257" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 33"</text>
|
||||
<text x="711" y="257" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="274" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="274" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="274" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 34"</text>
|
||||
<text x="711" y="274" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="291" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="291" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="291" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 35"</text>
|
||||
<text x="711" y="291" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="308" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="308" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="308" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 36"</text>
|
||||
<text x="711" y="308" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="325" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="325" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="325" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 37"</text>
|
||||
<text x="711" y="325" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="342" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="342" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="342" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 38"</text>
|
||||
<text x="711" y="342" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="359" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="359" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="359" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 39"</text>
|
||||
<text x="711" y="359" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="376" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="376" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="376" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 40"</text>
|
||||
<text x="711" y="376" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="393" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="393" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="393" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 41"</text>
|
||||
<text x="711" y="393" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="410" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="410" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="410" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 42"</text>
|
||||
<text x="711" y="410" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="427" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="427" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="427" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 43"</text>
|
||||
<text x="711" y="427" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="444" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="444" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="444" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 44"</text>
|
||||
<text x="711" y="444" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="461" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="461" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="461" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 45"</text>
|
||||
<text x="711" y="461" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="478" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="478" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="478" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 46"</text>
|
||||
<text x="711" y="478" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="495" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="495" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="495" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 47"</text>
|
||||
<text x="711" y="495" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="512" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="512" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="512" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 48"</text>
|
||||
<text x="711" y="512" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="529" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="529" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="529" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 49"</text>
|
||||
<text x="711" y="529" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="546" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="546" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="546" fill="#cdcd00" textLength="81" lengthAdjust="spacingAndGlyphs">"Line 50"</text>
|
||||
<text x="711" y="546" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="563" fill="#333333" textLength="720" lengthAdjust="spacingAndGlyphs">╰──────────────────────────────────────────────────────────────────────────────╯</text>
|
||||
<text x="0" y="580" fill="#ffffff" textLength="900" lengthAdjust="spacingAndGlyphs">Allow execution of [echo]? </text>
|
||||
<rect x="0" y="612" width="9" height="17" fill="#001a00" />
|
||||
<text x="0" y="614" fill="#00cd00" textLength="9" lengthAdjust="spacingAndGlyphs">●</text>
|
||||
<rect x="9" y="612" width="9" height="17" fill="#001a00" />
|
||||
<rect x="18" y="612" width="18" height="17" fill="#001a00" />
|
||||
<text x="18" y="614" fill="#00cd00" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text>
|
||||
<rect x="36" y="612" width="9" height="17" fill="#001a00" />
|
||||
<rect x="45" y="612" width="90" height="17" fill="#001a00" />
|
||||
<text x="45" y="614" fill="#00cd00" textLength="90" lengthAdjust="spacingAndGlyphs">Allow once</text>
|
||||
<rect x="135" y="612" width="135" height="17" fill="#001a00" />
|
||||
<text x="18" y="631" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">2.</text>
|
||||
<text x="45" y="631" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Allow for this session</text>
|
||||
<text x="18" y="648" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">3.</text>
|
||||
<text x="45" y="648" fill="#ffffff" textLength="225" lengthAdjust="spacingAndGlyphs">No, suggest changes (esc)</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 15 KiB |
+36
-26
@@ -1,32 +1,42 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="920" height="173" viewBox="0 0 920 173">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="920" height="207" viewBox="0 0 920 207">
|
||||
<style>
|
||||
text { font-family: Consolas, "Courier New", monospace; font-size: 14px; dominant-baseline: text-before-edge; white-space: pre; }
|
||||
</style>
|
||||
<rect width="920" height="173" fill="#000000" />
|
||||
<rect width="920" height="207" fill="#000000" />
|
||||
<g transform="translate(10, 10)">
|
||||
<text x="0" y="2" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="45" y="2" fill="#cdcd00" textLength="63" lengthAdjust="spacingAndGlyphs">"hello"</text>
|
||||
<text x="0" y="19" fill="#0000ee" textLength="27" lengthAdjust="spacingAndGlyphs">for</text>
|
||||
<text x="27" y="19" fill="#e5e5e5" textLength="27" lengthAdjust="spacingAndGlyphs"> i </text>
|
||||
<text x="54" y="19" fill="#0000ee" textLength="18" lengthAdjust="spacingAndGlyphs">in</text>
|
||||
<text x="72" y="19" fill="#e5e5e5" textLength="72" lengthAdjust="spacingAndGlyphs"> 1 2 3; </text>
|
||||
<text x="144" y="19" fill="#0000ee" textLength="18" lengthAdjust="spacingAndGlyphs">do</text>
|
||||
<text x="18" y="36" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="36" fill="#cd00cd" textLength="18" lengthAdjust="spacingAndGlyphs">$i</text>
|
||||
<text x="0" y="53" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">done</text>
|
||||
<text x="0" y="70" fill="#ffffff" textLength="243" lengthAdjust="spacingAndGlyphs">Allow execution of: 'echo'?</text>
|
||||
<rect x="0" y="102" width="9" height="17" fill="#001a00" />
|
||||
<text x="0" y="104" fill="#00cd00" textLength="9" lengthAdjust="spacingAndGlyphs">●</text>
|
||||
<rect x="9" y="102" width="9" height="17" fill="#001a00" />
|
||||
<rect x="18" y="102" width="18" height="17" fill="#001a00" />
|
||||
<text x="18" y="104" fill="#00cd00" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text>
|
||||
<rect x="36" y="102" width="9" height="17" fill="#001a00" />
|
||||
<rect x="45" y="102" width="90" height="17" fill="#001a00" />
|
||||
<text x="45" y="104" fill="#00cd00" textLength="90" lengthAdjust="spacingAndGlyphs">Allow once</text>
|
||||
<rect x="135" y="102" width="135" height="17" fill="#001a00" />
|
||||
<text x="18" y="121" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">2.</text>
|
||||
<text x="45" y="121" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Allow for this session</text>
|
||||
<text x="18" y="138" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">3.</text>
|
||||
<text x="45" y="138" fill="#ffffff" textLength="225" lengthAdjust="spacingAndGlyphs">No, suggest changes (esc)</text>
|
||||
<text x="0" y="2" fill="#333333" textLength="720" lengthAdjust="spacingAndGlyphs">╭──────────────────────────────────────────────────────────────────────────────╮</text>
|
||||
<text x="0" y="19" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="19" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="63" y="19" fill="#cdcd00" textLength="63" lengthAdjust="spacingAndGlyphs">"hello"</text>
|
||||
<text x="711" y="19" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="36" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="36" fill="#0000ee" textLength="27" lengthAdjust="spacingAndGlyphs">for</text>
|
||||
<text x="45" y="36" fill="#e5e5e5" textLength="27" lengthAdjust="spacingAndGlyphs"> i </text>
|
||||
<text x="72" y="36" fill="#0000ee" textLength="18" lengthAdjust="spacingAndGlyphs">in</text>
|
||||
<text x="90" y="36" fill="#e5e5e5" textLength="72" lengthAdjust="spacingAndGlyphs"> 1 2 3; </text>
|
||||
<text x="162" y="36" fill="#0000ee" textLength="18" lengthAdjust="spacingAndGlyphs">do</text>
|
||||
<text x="711" y="36" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="53" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="36" y="53" fill="#00cdcd" textLength="36" lengthAdjust="spacingAndGlyphs">echo</text>
|
||||
<text x="81" y="53" fill="#cd00cd" textLength="18" lengthAdjust="spacingAndGlyphs">$i</text>
|
||||
<text x="711" y="53" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="70" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="18" y="70" fill="#0000ee" textLength="36" lengthAdjust="spacingAndGlyphs">done</text>
|
||||
<text x="711" y="70" fill="#333333" textLength="9" lengthAdjust="spacingAndGlyphs">│</text>
|
||||
<text x="0" y="87" fill="#333333" textLength="720" lengthAdjust="spacingAndGlyphs">╰──────────────────────────────────────────────────────────────────────────────╯</text>
|
||||
<text x="0" y="104" fill="#ffffff" textLength="900" lengthAdjust="spacingAndGlyphs">Allow execution of [echo]? </text>
|
||||
<rect x="0" y="136" width="9" height="17" fill="#001a00" />
|
||||
<text x="0" y="138" fill="#00cd00" textLength="9" lengthAdjust="spacingAndGlyphs">●</text>
|
||||
<rect x="9" y="136" width="9" height="17" fill="#001a00" />
|
||||
<rect x="18" y="136" width="18" height="17" fill="#001a00" />
|
||||
<text x="18" y="138" fill="#00cd00" textLength="18" lengthAdjust="spacingAndGlyphs">1.</text>
|
||||
<rect x="36" y="136" width="9" height="17" fill="#001a00" />
|
||||
<rect x="45" y="136" width="90" height="17" fill="#001a00" />
|
||||
<text x="45" y="138" fill="#00cd00" textLength="90" lengthAdjust="spacingAndGlyphs">Allow once</text>
|
||||
<rect x="135" y="136" width="135" height="17" fill="#001a00" />
|
||||
<text x="18" y="155" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">2.</text>
|
||||
<text x="45" y="155" fill="#ffffff" textLength="198" lengthAdjust="spacingAndGlyphs">Allow for this session</text>
|
||||
<text x="18" y="172" fill="#ffffff" textLength="18" lengthAdjust="spacingAndGlyphs">3.</text>
|
||||
<text x="45" y="172" fill="#ffffff" textLength="225" lengthAdjust="spacingAndGlyphs">No, suggest changes (esc)</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 4.0 KiB |
+97
-88
@@ -3,52 +3,53 @@
|
||||
exports[`ToolConfirmationMessage > enablePermanentToolApproval setting > should show "Allow for all future sessions" when trusted 1`] = `
|
||||
"╭──────────────────────────────────────────────────────────────────────────────╮
|
||||
│ │
|
||||
│ No changes detected. │
|
||||
│ No changes detected. │
|
||||
│ │
|
||||
╰──────────────────────────────────────────────────────────────────────────────╯
|
||||
Apply this change?
|
||||
|
||||
● 1. Allow once
|
||||
● 1. Allow once
|
||||
2. Allow for this session
|
||||
3. Allow for this file in all future sessions
|
||||
3. Allow for this file in all future sessions ~/.gemini/policies/auto-saved.toml
|
||||
4. Modify with external editor
|
||||
5. No, suggest changes (esc)
|
||||
"
|
||||
`;
|
||||
|
||||
exports[`ToolConfirmationMessage > height allocation and layout > should expand to available height for large edit diffs 1`] = `
|
||||
"... first 9 lines hidden (Ctrl+O to show) ...
|
||||
5 + const newLine5 = true;
|
||||
6 - const oldLine6 = true;
|
||||
6 + const newLine6 = true;
|
||||
7 - const oldLine7 = true;
|
||||
7 + const newLine7 = true;
|
||||
8 - const oldLine8 = true;
|
||||
8 + const newLine8 = true;
|
||||
9 - const oldLine9 = true;
|
||||
9 + const newLine9 = true;
|
||||
10 - const oldLine10 = true;
|
||||
10 + const newLine10 = true;
|
||||
11 - const oldLine11 = true;
|
||||
11 + const newLine11 = true;
|
||||
12 - const oldLine12 = true;
|
||||
12 + const newLine12 = true;
|
||||
13 - const oldLine13 = true;
|
||||
13 + const newLine13 = true;
|
||||
14 - const oldLine14 = true;
|
||||
14 + const newLine14 = true;
|
||||
15 - const oldLine15 = true;
|
||||
15 + const newLine15 = true;
|
||||
16 - const oldLine16 = true;
|
||||
16 + const newLine16 = true;
|
||||
17 - const oldLine17 = true;
|
||||
17 + const newLine17 = true;
|
||||
18 - const oldLine18 = true;
|
||||
18 + const newLine18 = true;
|
||||
19 - const oldLine19 = true;
|
||||
19 + const newLine19 = true;
|
||||
20 - const oldLine20 = true;
|
||||
20 + const newLine20 = true;
|
||||
"╭──────────────────────────────────────────────────────────────────────────────╮
|
||||
│ ... 10 hidden (Ctrl+O) ... │
|
||||
│ 6 - const oldLine6 = true; │
|
||||
│ 6 + const newLine6 = true; │
|
||||
│ 7 - const oldLine7 = true; │
|
||||
│ 7 + const newLine7 = true; │
|
||||
│ 8 - const oldLine8 = true; │
|
||||
│ 8 + const newLine8 = true; │
|
||||
│ 9 - const oldLine9 = true; │
|
||||
│ 9 + const newLine9 = true; │
|
||||
│ 10 - const oldLine10 = true; │
|
||||
│ 10 + const newLine10 = true; │
|
||||
│ 11 - const oldLine11 = true; │
|
||||
│ 11 + const newLine11 = true; │
|
||||
│ 12 - const oldLine12 = true; │
|
||||
│ 12 + const newLine12 = true; │
|
||||
│ 13 - const oldLine13 = true; │
|
||||
│ 13 + const newLine13 = true; │
|
||||
│ 14 - const oldLine14 = true; │
|
||||
│ 14 + const newLine14 = true; │
|
||||
│ 15 - const oldLine15 = true; │
|
||||
│ 15 + const newLine15 = true; │
|
||||
│ 16 - const oldLine16 = true; │
|
||||
│ 16 + const newLine16 = true; │
|
||||
│ 17 - const oldLine17 = true; │
|
||||
│ 17 + const newLine17 = true; │
|
||||
│ 18 - const oldLine18 = true; │
|
||||
│ 18 + const newLine18 = true; │
|
||||
│ 19 - const oldLine19 = true; │
|
||||
│ 19 + const newLine19 = true; │
|
||||
│ 20 - const oldLine20 = true; │
|
||||
│ 20 + const newLine20 = true; │
|
||||
╰──────────────────────────────────────────────────────────────────────────────╯
|
||||
Apply this change?
|
||||
|
||||
● 1. Allow once
|
||||
@@ -59,40 +60,41 @@ Apply this change?
|
||||
`;
|
||||
|
||||
exports[`ToolConfirmationMessage > height allocation and layout > should expand to available height for large exec commands 1`] = `
|
||||
"... first 18 lines hidden (Ctrl+O to show) ...
|
||||
echo "Line 19"
|
||||
echo "Line 20"
|
||||
echo "Line 21"
|
||||
echo "Line 22"
|
||||
echo "Line 23"
|
||||
echo "Line 24"
|
||||
echo "Line 25"
|
||||
echo "Line 26"
|
||||
echo "Line 27"
|
||||
echo "Line 28"
|
||||
echo "Line 29"
|
||||
echo "Line 30"
|
||||
echo "Line 31"
|
||||
echo "Line 32"
|
||||
echo "Line 33"
|
||||
echo "Line 34"
|
||||
echo "Line 35"
|
||||
echo "Line 36"
|
||||
echo "Line 37"
|
||||
echo "Line 38"
|
||||
echo "Line 39"
|
||||
echo "Line 40"
|
||||
echo "Line 41"
|
||||
echo "Line 42"
|
||||
echo "Line 43"
|
||||
echo "Line 44"
|
||||
echo "Line 45"
|
||||
echo "Line 46"
|
||||
echo "Line 47"
|
||||
echo "Line 48"
|
||||
echo "Line 49"
|
||||
echo "Line 50"
|
||||
Allow execution of: 'echo'?
|
||||
"╭──────────────────────────────────────────────────────────────────────────────╮
|
||||
│ ... 19 hidden (Ctrl+O) ... │
|
||||
│ echo "Line 20" │
|
||||
│ echo "Line 21" │
|
||||
│ echo "Line 22" │
|
||||
│ echo "Line 23" │
|
||||
│ echo "Line 24" │
|
||||
│ echo "Line 25" │
|
||||
│ echo "Line 26" │
|
||||
│ echo "Line 27" │
|
||||
│ echo "Line 28" │
|
||||
│ echo "Line 29" │
|
||||
│ echo "Line 30" │
|
||||
│ echo "Line 31" │
|
||||
│ echo "Line 32" │
|
||||
│ echo "Line 33" │
|
||||
│ echo "Line 34" │
|
||||
│ echo "Line 35" │
|
||||
│ echo "Line 36" │
|
||||
│ echo "Line 37" │
|
||||
│ echo "Line 38" │
|
||||
│ echo "Line 39" │
|
||||
│ echo "Line 40" │
|
||||
│ echo "Line 41" │
|
||||
│ echo "Line 42" │
|
||||
│ echo "Line 43" │
|
||||
│ echo "Line 44" │
|
||||
│ echo "Line 45" │
|
||||
│ echo "Line 46" │
|
||||
│ echo "Line 47" │
|
||||
│ echo "Line 48" │
|
||||
│ echo "Line 49" │
|
||||
│ echo "Line 50" │
|
||||
╰──────────────────────────────────────────────────────────────────────────────╯
|
||||
Allow execution of [echo]?
|
||||
|
||||
● 1. Allow once
|
||||
2. Allow for this session
|
||||
@@ -101,12 +103,14 @@ Allow execution of: 'echo'?
|
||||
`;
|
||||
|
||||
exports[`ToolConfirmationMessage > should display multiple commands for exec type when provided 1`] = `
|
||||
"echo "hello"
|
||||
|
||||
ls -la
|
||||
|
||||
whoami
|
||||
Allow execution of 3 commands?
|
||||
"╭──────────────────────────────────────────────────────────────────────────────╮
|
||||
│ echo "hello" │
|
||||
│ │
|
||||
│ ls -la │
|
||||
│ │
|
||||
│ whoami │
|
||||
╰──────────────────────────────────────────────────────────────────────────────╯
|
||||
Allow execution of [echo, ls, whoami]?
|
||||
|
||||
● 1. Allow once
|
||||
2. Allow for this session
|
||||
@@ -138,16 +142,17 @@ Do you want to proceed?
|
||||
`;
|
||||
|
||||
exports[`ToolConfirmationMessage > should render multiline shell scripts with correct newlines and syntax highlighting 1`] = `
|
||||
"echo "hello"
|
||||
for i in 1 2 3; do
|
||||
echo $i
|
||||
done
|
||||
Allow execution of: 'echo'?
|
||||
"╭──────────────────────────────────────────────────────────────────────────────╮
|
||||
│ echo "hello" │
|
||||
│ for i in 1 2 3; do │
|
||||
│ echo $i │
|
||||
│ done │
|
||||
╰──────────────────────────────────────────────────────────────────────────────╯
|
||||
Allow execution of [echo]?
|
||||
|
||||
● 1. Allow once
|
||||
2. Allow for this session
|
||||
3. No, suggest changes (esc)
|
||||
"
|
||||
3. No, suggest changes (esc)"
|
||||
`;
|
||||
|
||||
exports[`ToolConfirmationMessage > should strip BiDi characters from MCP tool and server names 1`] = `
|
||||
@@ -165,7 +170,7 @@ Allow execution of MCP tool "testtool" from server "testserver"?
|
||||
exports[`ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should NOT show "allow always" when folder is untrusted 1`] = `
|
||||
"╭──────────────────────────────────────────────────────────────────────────────╮
|
||||
│ │
|
||||
│ No changes detected. │
|
||||
│ No changes detected. │
|
||||
│ │
|
||||
╰──────────────────────────────────────────────────────────────────────────────╯
|
||||
Apply this change?
|
||||
@@ -179,7 +184,7 @@ Apply this change?
|
||||
exports[`ToolConfirmationMessage > with folder trust > 'for edit confirmations' > should show "allow always" when folder is trusted 1`] = `
|
||||
"╭──────────────────────────────────────────────────────────────────────────────╮
|
||||
│ │
|
||||
│ No changes detected. │
|
||||
│ No changes detected. │
|
||||
│ │
|
||||
╰──────────────────────────────────────────────────────────────────────────────╯
|
||||
Apply this change?
|
||||
@@ -192,8 +197,10 @@ Apply this change?
|
||||
`;
|
||||
|
||||
exports[`ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should NOT show "allow always" when folder is untrusted 1`] = `
|
||||
"echo "hello"
|
||||
Allow execution of: 'echo'?
|
||||
"╭──────────────────────────────────────────────────────────────────────────────╮
|
||||
│ echo "hello" │
|
||||
╰──────────────────────────────────────────────────────────────────────────────╯
|
||||
Allow execution of [echo]?
|
||||
|
||||
● 1. Allow once
|
||||
2. No, suggest changes (esc)
|
||||
@@ -201,8 +208,10 @@ Allow execution of: 'echo'?
|
||||
`;
|
||||
|
||||
exports[`ToolConfirmationMessage > with folder trust > 'for exec confirmations' > should show "allow always" when folder is trusted 1`] = `
|
||||
"echo "hello"
|
||||
Allow execution of: 'echo'?
|
||||
"╭──────────────────────────────────────────────────────────────────────────────╮
|
||||
│ echo "hello" │
|
||||
╰──────────────────────────────────────────────────────────────────────────────╯
|
||||
Allow execution of [echo]?
|
||||
|
||||
● 1. Allow once
|
||||
2. Allow for this session
|
||||
|
||||
+2
-5
@@ -16,11 +16,8 @@ exports[`ToolResultDisplay > renders ANSI output result 1`] = `
|
||||
`;
|
||||
|
||||
exports[`ToolResultDisplay > renders file diff result 1`] = `
|
||||
"╭─────────────────────────────────────────────────────────────────────────╮
|
||||
│ │
|
||||
│ No changes detected. │
|
||||
│ │
|
||||
╰─────────────────────────────────────────────────────────────────────────╯
|
||||
"
|
||||
No changes detected.
|
||||
"
|
||||
`;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user